Wario Land: Super Mario Land 3:RAM map
|A100-A1FF||related to active actors on screen like A200-A2FF|
|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.
actors slots that are not used anymore (status = 00) are reused 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 (player is teleported to bonus screen)|
|A376||indicate if level exit (skull) is open (00 : closed, 01 : rising up, 02 : open)|
|A600-A6??||trigger sound effects and music|
|A79C|| current map
02 : kitchen island 04 : rice beach 06 : mt. teapot 0A : stove canyon 0E : parsely woods 0C : syrup castle 10 : ss tea cup 12 : sherbet land
|A79E||wario position on current world map. there is a unique value for each course.|
|A79F|| wario position on kitchen island
00 : rice beach 01 : mt. teapot 02 : stove canyon 03 : parsely woods 04 : ss tea cup 05 : sherbet land 06 : syrup castle
|A7D9||wario X position on map|
|A7DE||wario Y position on map|
|A805-A807||total player money|
|A80A||wario status (00 : small, 01 : normal, 02 : bull, 03 : eagle, 04 : dragon)|
|A80B|| rice beach completion.
each bit indicate if a specific level of the map 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 (shown on pipe at file selection screen)|
|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 (skull) has been activated (00 : inactive, 01 : active). to use with A816.|
|A816||this value is overwritten everytime a level check point is activated. value seems to be unique and different for each level.|
|A817||indicate if game have been completed at least once (pipe at file selection screen will blink)|
|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)
|A8C7||indicate if debug mode is enabled|
|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 shaking countdown timer|
|A94B||wario invicibility countdown timer|
|A964-A965||remaining level time|
|A97A-A97B||level coins collected|
|A998||wario flying countdown timer|
|AA0A||flame thrower countdown timer|
|AC88||level animation counter (moving platform, water, ...)|
|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.
|AF00-AFFF|| 8x8 visible sprites for actors (4 bytes for each). wario seems to be always the first.
+00 : x position +01 : y position +02 : sprite index +03 : h/v flip / palette
|C000-DFFF||all indexes of 16x16 blocks (for current level) are decompressed here. level is 256 x 32 blocks.|