Hello, I started to have a look at ram values in Super Mario Land 3 (Wario Land).
I wanted to post this in romhacking documents but it seems this kind of document are not accepted : "Documents containing only game specific RAM hacking are out of scope."
Here is what I found so far :
+----------------------------------------------------------------------------------------+
|RAM |Purpose |
|---------+------------------------------------------------------------------------------|
| |active actors on the screen (enemies, bonuses, throwed coins, ...). |
| | |
| |each actor take 32 bytes. there is a maximum of 8 actors. |
| | |
| |enemies with throwable items (eg : boomerang) need a second actor to manage |
| |the item. |
| | |
| |a lot of information is enemy specific. |
| | |
| |actors that are not used anymore (status = 00) are recycled when need of a new|
| |actor. |
|A200-A2FF| |
| |only actors that have status = 02 are drawn. |
| | |
| | +00 : status |
| | 00 : inactive |
| | 01 : out of screen (not visible) but still active |
| | 02 : visible |
| | +01-02 : x position |
| | +03-04 : y position |
| | +0A : y position (relative to screen) |
| | +0B : x position (relative to screen) |
| | +0E : orientation (01 : right - 02 : left) |
| | +0F : animation counter |
|---------+------------------------------------------------------------------------------|
|A375 |writing something here terminate level |
|---------+------------------------------------------------------------------------------|
|A376 |indicate if level exit is open (00 : closed, 01 : rising up, 02 : open) |
|---------+------------------------------------------------------------------------------|
|A600 |writing something here trigger sound effects |
|---------+------------------------------------------------------------------------------|
|A805-A807|total player money |
|---------+------------------------------------------------------------------------------|
|A808 |hearts |
|---------+------------------------------------------------------------------------------|
|A809 |lives |
|---------+------------------------------------------------------------------------------|
|A80A |wario status (00 : small, 01 : normal, 02 : bull, 03 : eagle, 04 : dragon) |
|---------+------------------------------------------------------------------------------|
| |rice beach completion. |
| | |
| |each bit indicate if a specific level have been completed |
|A80B | |
| |total number of bits used can be different for each world. |
| | |
| |last bit generally indicate if world have been completed (a flag is then show |
| |on map) |
|---------+------------------------------------------------------------------------------|
|A80C |mt. teapot completion |
|---------+------------------------------------------------------------------------------|
|A80D |numbers of levels completed |
|---------+------------------------------------------------------------------------------|
|A80E-A80F|treasures collected (1 bit per treasure, since there is 15 treasures one bit |
| |is unused) |
|---------+------------------------------------------------------------------------------|
|A810 |stove canyon completion |
|---------+------------------------------------------------------------------------------|
|A811 |ss tea cup completion |
|---------+------------------------------------------------------------------------------|
|A812 |parsely woods completion |
|---------+------------------------------------------------------------------------------|
|A813 |sherbet land completion |
|---------+------------------------------------------------------------------------------|
|A814 |syrup castle completion |
|---------+------------------------------------------------------------------------------|
|A815 |indicate if level check point has been activated (00 : inactive, 01 : active) |
|---------+------------------------------------------------------------------------------|
|A816 |this value is overwritten everytime a level check point is activated. value is|
| |different for each level. |
|---------+------------------------------------------------------------------------------|
|A817 |indicate if game have been completed at least once |
|---------+------------------------------------------------------------------------------|
| |control level transition |
| | |
|A8C4 | 01 : show level title |
| | 02 : warp player to start of level |
| | 03 : normal gameplay |
| | 0A : warp to last door used (if no door entered, crashes) |
|---------+------------------------------------------------------------------------------|
|A900-A901|level scroll y |
|---------+------------------------------------------------------------------------------|
|A902-A903|level scroll x |
|---------+------------------------------------------------------------------------------|
|A905 |game internal timer |
|---------+------------------------------------------------------------------------------|
|A90F |wario animation frame (when walking, swimming, ...) |
|---------+------------------------------------------------------------------------------|
|A911-A912|player position y |
|---------+------------------------------------------------------------------------------|
|A913-A914|player position x |
|---------+------------------------------------------------------------------------------|
|A915 |player animation frame (walking, swimming etc...) |
|---------+------------------------------------------------------------------------------|
|A916 |player horizontal or vertical flip, invert palette or half visible (bit 4-7) |
|---------+------------------------------------------------------------------------------|
|A917 |player blinking eyes timer (reset to zero if player make any move) |
|---------+------------------------------------------------------------------------------|
|A93A |screen shaker timer |
|---------+------------------------------------------------------------------------------|
|A94B |wario invicibility timer |
|---------+------------------------------------------------------------------------------|
|A964-A965|remaining level time |
|---------+------------------------------------------------------------------------------|
|A97A-A97B|level coins collected |
|---------+------------------------------------------------------------------------------|
|A998 |wario flying timer |
|---------+------------------------------------------------------------------------------|
|AA0A |flame thrower timer |
|---------+------------------------------------------------------------------------------|
|AC88 |level animation counter (moving platform, water, ...) |
|---------+------------------------------------------------------------------------------|
| |this array maps level 16x16 blocks to hardware 8x8 tiles. |
|AD00-AEFF| |
| |there is 128 blocks in total, each defined by the 4 indexes of 8x8 tiles. |
|---------+------------------------------------------------------------------------------|
|C000-DFFF|level 16x16 block indexes are decompressed here. level size is 256 x 32 |
| |blocks. |
+----------------------------------------------------------------------------------------+