Wario Land: Super Mario Land 3/RAM map

From Data Crystal
< Wario Land: Super Mario Land 3
Revision as of 20:51, 7 January 2013 by Tigrou (talk | contribs) (small fix)
Jump to navigation Jump to search
RAM Purpose
A200-A2FF 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.

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)
A80B rice beach completion.

each bit indicate if a specific level have been completed

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
A8C4 control level transition
      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
A911-A912 player position y
A913-A914 player position x
A915 player animation (walking, swimming etc...)
A916 player h/v orientation / invert palette
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
AD00-AEFF this array maps level 16x16 blocks to hardware 8x8 tiles.

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.