Metroid II: Return of Samus/RAM map

From Data Crystal
Jump to navigation Jump to search

Chip tiny.png The following article is a RAM map for Metroid II: Return of Samus.

Check out the disassembly! https://github.com/alex-west/M2RoS

0xCEC1 sound effect ID
0xCEC3 sound effect timer
0xCEE4 sound effect ID clone
0xCF36 ch4 music note length timer
0xCF3F ch1 music note length timer
0xCF48 ch2 music note length timer
0xCF51 ch3 music note length timer
0xCFE9 health alarm timer

0xD00D auto-fire timer
0xD020 samus pose (see https://github.com/alex-west/M2RoS/blob/main/SRC/constants.asm for possibilities)
0xD023 jump/spinjump timer ($21 to $8E, used for space jump table (rom0:1899) to check if you can space jump. you can from $6C to $7F)
0xD027 X position within area (pixels)
0xD028 X position within area (screen)
0xD029 Y position within area (pixels)
0xD02A Y position within area (screen)
0xD02B side samus is facing
0xD045 current major upgrades
0xD048 related to interacting with water
0xD04D current beam
0xD050 current e-tanks
0xD051 current hp
0xD052 current full e-tanks
0xD053 current missiles
0xD064 number of sprites onscreen?
0xD066 2byte timer (used for powerup get, samus appearing, gameover screen...)
0xD06E number of sprites onscreen? clone
0xD081 current missile capacity 
0xD084 displayed hp
0xD086 displayed missiles
0xD088 save station "save completed" message timer
0xD08D are there too many bullet onscreen to shoot again ($FF = no, $00 = yes)
0xD09A global metroids remaining
0xD09E room transition pause flag?
0xD0A0 debug mode flag
0xD0A2 current measure (music)
0xD0A7 local metroids remaining

0xDD0X bullet1
0xDD1X bullet2
0xDD2X bullet3 (missile)
-----0 bullet type ($FF = none, $00 = power beam, $08 = missile...)
-----1 bullet direction ($01 = right, $02 = left, $04 = up, $08 = down)
-----2 bullet X position within area (pixels)
-----3 bullet Y position within area (pixels)
-----4 ??? (changes from $00 to $08 sometimes)
-----5 bullet age in frames

0xDFF3-DFF6 current note of channel? (music)