Metroid Fusion/RAM map

From Data Crystal
Jump to navigation Jump to search

Chip tiny.png The following article is a RAM map for Metroid Fusion.

RAM Information
2000000-FFFF --Unknown--
2010000-0FFF Decompressed Bg2 map
2011000-25FFF --Unknown--
2026000-8FFF Decompressed clipdata
2029000-BFFF Decompressed foreground map
202C000-EFFF Decompressed level map
202F000-31FFF Decompressed backLevel map
2032000-2FFF Decompressed background map
2033000-3FFF Unused
2034000-47FF Map data
2034800-4FFF Decompressed map data
2035000-53FF --Unknown--
2035400-55FF Background palette
2035600-57FF Sprite palette
2035800-7BFF --Unknown--
2036000-63FB No respawn blocks 1
2037200-73FF No respawn blocks 2 (there's a difference)
2037C00-7FFF Map explored
2038000-807F 000-07F of SRAM
2038080-80FF Copy of above
2038100-81FF Unused
2038200-93FF Slot A SRAM
2039400-A5FF Slot A SRAM backup
203A600-B7FF Slot B SRAM
203B800-C9FF Slot B SRAM backup
203CA00-DBFF Slot C SRAM
203DC00-EE00 Slot C SRAM backup
203EE00-F03F 0x6E00-0x703F of SRAM
203F040-F0BF Clear
203F0C0-FFFF 0x70C0-0x7FFF of SRAM
3000000 X-Parasite Target display flag
3000002 16-bit frame counter
3000004 Written to 4000052 (BLDALPHA, alpha blending coefficients)
3000006 Written to 4000050 (BLDCNT, color special effects selection)
3000008 Written to 4000000 (DISPCNT, LCD control)
300000C Written to 4000049 (WININ-high, inside of window 1)
300000D Written to 400004A (WINOUT-low, outside of windows)
300000E Written to 5000000 (Transparent colour)
3000010 Copied to 203800A
3000011 Language
  • 00 Japanese
  • 01 Japanese (no difference in US release)
  • 02 English
  • 03 German
  • 04 French
  • 05 Italian
  • 06 Spanish
3000014 Completed game flag
3000015 Intro story played flag
3000018 Fades backgrounds to black or white
  • 00/FF Nothing
  • 02 Fade to white
  • All others fade to black
3000019 Which background's position is written to 400001C/1E (BG3HOFS/BG3VOFS, BG3 X-Offset/BG3 Y-Offset)
300001A Puts Samus always on top of the background
300001B Most recent (in game's order) ability recovered
300001C To which security level doors will flash
  • 00-04 Doors up to level 0-4 flash
  • FF No doors flash
300001D Back-up of 0300131D (Security status), during power cut
0z0300001E Which demo is playing
  • 00 TRO, demonstrating bomb jumping
  • 01 ARC, demonstrating ice missiles
  • 02 AQA, demonstrating pseudo-screw-attack
  • 03 Main Deck, demonstrating eye-door
  • 04 SRX, demonstrating wall-jumping
  • 05 TRO, demonstrating shinesparking
  • 06 AQA, demonstrating chain blocks
  • 07 ARC, demonstrating power bombs
  • 08 PYR, demonstrating diagonal sparking
  • 09 NOC, demonstrating diffusion missiles
  • 0A Main Deck, demonstrating boss formation
  • 0B SRX, demonstrating screw attack
300001F Demo is playing flag
3000020 Reboots the game
3000025 Disables soft-resets
300002C Current area
  • 00 Main Deck
  • 01 SRX
  • 02 TRO
  • 03 PYR
  • 04 AQA
  • 05 ARC
  • 06 NOC
  • 07 Debug1
  • 08 Debug2
  • 09 Debug3
300002D Current room
300002E Current/last travelled door
300002F Current/last travelled door properties
3000030 Bit6 of above, displays new area pop-up
3000031 Map X coordinate
3000032 Map Y coordinate
300003B Main Deck Percentage
300003C Current SRX Percentage
300003D Current TRO Percentage
300003E Current PYR Percentage
300003F Current AQA Percentage
3000040 Current ARC Percentage
3000041 Current NOC Percentage
3000043 Foreground effect
  • 00 Nothing
  • 01 Red gradient background
  • 02 Soda/(electric)water room
  • 03 Heat room
  • 04 Atmospheric stabaliser room
  • 06 Ceiling lights room
  • 07 Nightmare's room
  • 08 Power bomb exploding
  • 09 Power bomb imploding
3000044 Y-position of above
3000052 Spriteset
3000054 Which spriteset entry was used
3000058 Which animated level tiles to use
3000060 Sub-event counter
3000070 Back-up of 4000000 (DISPCNT, LCD control), during non-gameplay
3000072 Back-up of 4000050 (BLDCNT, color special effects selection), during non-gameplay
3000074 Back-up of 4000052 (BLDALPHA, alpha blending coefficients), during non-gameplay
3000076 Back-up of 4000049 (WININ-high, inside of window 1), during non-gameplay
3000077 Back-up of 400004A (WINOUT-low, outside of windows), during non-gameplay
3000078 Back-up of 4000008 (BG0CNT, BG0 control), written to only
300007A Back-up of 400000A (BG1CNT, BG1 control)
300007C Back-up of 400000C (BG2CNT, BG2 control)
300007E Back-up of 400000E (BG3CNT, BG3 control)
3000080 Back-up of 4000008 (BG0CNT, BG0 control)
3000084 Pointer to decompressed foreground
3000088 Width of foreground in blocks
300008A Height of foreground in blocks
300008C Pointer to decompressed level
3000090 Width of level in blocks
3000092 Height of level in blocks
3000094 Pointer to decompressed back-level
3000098 Width of back-level in blocks
300009A Height of back-level in blocks
300009C Pointer to decompressed clipdata
30000A0 Width of clipdata in blocks
30000A2 Height of clipdata in blocks
30000A4 Tileset
30000A5 Foreground properties
  • 00 None
  • 10 RLE compressed
  • 12 Escape rooms
  • 13 Elevator hall
  • 14 Nettori power rooms / Restricted Lab rooms
  • 40 LZ77 compressed
  • 41 Nightmare's room
  • 43 Dark rooms
  • 44 SA-X rooms
  • 45 Dark rooms? (First ones on Main Deck)
  • 46 Electric water
  • 47 Atmospheric stabaliser rooms
  • 48 ??? (Loadsa PYR rooms, all navagation/elevator rooms)
  • 49 Nightmare background
  • 4A Omega Metroid room
30000A6 Level properties
30000A7 Back-Level properties
30000A8 Background properties
30000AA Method of BG3 scrolling
  • 00 Type 0 0
  • 01 Type 2 0
  • 02 Type 0 2
  • 03 Type 2 2
  • 04 Type 1 2
  • 05 Type 2 1
  • 06 Type 1 1
  • 07 Type 1 0
  • 08 Type 1 0
  • 09 Type 3 0
  • 0A Type 1 1
  • X
  • 0 Scroll [Bg3 X velocity] every frame
  • 1 Scroll relative to Bg0
  • 2 Scroll relative to the screen/2 + [Bg3 X velocity]
  • 3 Scroll relative to the screen/4 + [Bg3 X velocity]
  • Y
  • 0 Don't scroll
  • 1 Scroll relative to Bg0
  • 2 Scroll relative to Bg0/2
30000AB Transparency
30000AC Pointer to room's enemy data
30000B0 Event to use the first spriteset
30000B1 Event to use the second spriteset
30000B2 Room's map X coordinate
30000B3 Room's map Y coordinate
30000B4 Room effect
  • 00 None
  • 01 Water
  • 02 Lava
  • 03 Heat room
  • 04 Soda
  • 05 Cold room
  • 06 Cold room, no knockback
  • 07 Unused
  • 08 Ceiling light
  • 09 Red gradient
  • 0A Unused
30000B6 Room effect Y position
30000BA Music track
30000BC Foreground size
  • 00 256x256
  • 01 512x256
  • 02 256x512
30000BD Background size
30000BE Animated tileset
30000BF Extra palette
30000C8 Bg0 X position
30000CA Bg0 Y position
30000CC Bg1 X position
30000CE Bg1 Y position
30000D0 Bg2 X position
30000D2 Bg2 Y position
30000D4 Bg3 X position
30000D6 Bg3 Y position
3000110 Power bomb animation frame
3000111 Power bomb animation counter
3000112 Power bomb semi-minor axis
3000114 Power bomb X position
3000116 Power bomb Y position
3000118 Power bomb left boundary offset
300011A Power bomb right boundary offset
300011C Power bomb top boundary offset
300011E Power bomb bottom boundary offset
3000124 Screen X position
3000128 Screen Y position
300012A Screen X velocity
300012B Screen Y velocity
3000138 In-game timer
  • + 0 Hours (stops at 99)
  • + 1 Minutes (loops at 60)
  • + 2 Seconds (loops at 60)
  • + 3 Frames (loops at 63)
  • + 4 Stop flag, set once max in-game time has been reached
3000140-067F Enemy data, (24 slots of 0x38 bytes)
3000680-068E Spriteset Enemy IDs
300068F-069D Spriteset Enemy GFX slots
30006BC Enemy orientation
30006BE Enemy Y position
30006C0 Enemy X position
30006C2 Enemy Y position spawn
30006C4 Enemy X position spawn
30006C6 Enemy top boundary offset
30006C8 Enemy bottom boundary offset
30006CA Enemy left boundary offset
30006CC Enemy right boundary offset
30006D0 Enemy health
30006D2 Enemy animation
30006D4 Enemy graphic pointer
30006D8 Enemy animation counter
30006D9 Enemy id
30006DA Enemy spriteset slot
30006DB Enemy spriteset gfx slot
30006DC Enemy palette
30006DD Unknown (used in spritedata routine)
30006DE Unknown (used in spritedata routine)
30006DF Enemy slot
30006E0 Enemy pose
30006E1 Unknown
30006E2 Enemy timer for something
30006E4 Unknown
30006E6 Unknown (used in spritedata routine)
30006E8 Enemy invincibility timer
30006E9 Unknown (used in spritedata routine)
30006EA Enemy respawn timer
30006EB Enemy attached enemy slot
30006EC Unknown
30006EE Enemy freeze timer
30006F0 Enemy collision properties
30006F1 Unknown (used in spritedata routine)
30006F2 Unknown (used in spritedata routine)
030006F4 - 0773 Particle Data (8 slots of 0x10 bytes)
03000774 Particle Graphic Pointer
03000778 Particle Animation
0300077A Particle Y Position
0300077C Particle X Position
0300077E Particle Animation Counter
0300077F Particle Orientation
  • 0: Does Not Exist
  • 1: Does Exist
03000780 Particle Collision Properties
  • 0x80: No-Clip
  • 0x00: Solid
03000781 Particle Timer
30008D9 Escape timer
  • + 0 6th digit
  • + 1 5th digit
  • + 2 4th digit
  • + 3 3rd digit
  • + 4 2nd digit
  • + 5 1st digit
3000960-0B5F Projectile slots (16 slots of 0x20 bytes)
3000B60 Projectile rotation
3000B64 Projectile graphic pointer
3000B68 Projectile Y position
3000B6A Projectile X position
3000B6C Projectile animation frame
3000B6E Projectile animation counter
3000B6F Projectile type
  • 00 Beam
  • 01 Charge beam
  • 02 Wide beam
  • 03 Plasma beam
  • 04 Wave beam
  • 05 Charged beam
  • 06 Charged charge beam
  • 07 Charged wide beam
  • 08 Charged plasma beam
  • 09 Charged wave beam
  • 0A Missile
  • 0B Super missile
  • 0C Ice missile
  • 0D Diffusion missile
  • 0E Charged diffusion missile
  • 0F Flare
  • 10 Bomb
  • 11 Power bomb
  • 12 Diffusion ice spread
3000B70 Projectile orientation
3000B72 Projectile momentum
3000B73 Projectile part
3000B76 Projectile top boundary offset
3000B78 Projectile bottom boundary offset
3000B7A Projectile left boundary offset
3000B7C Projectile right boundary offset
3000B7E Projectile bomb timer
3000B7F Projectile slot
3000B80 Arm Cannon Y position
3000B82 Arm Cannon X position
3000B84 Sub-game mode B84
3000B87 Event counter
3000B8B Type of save room
  • 00 Navigation room
  • 01 Save room
3000B8D Most recent save slot
3000B8E SRAM corrupt flag
3000B94 Slot A data
3000B95 Slot A corrupt
  • 00 Not corrupt
  • 01 Main save data corrupt
  • 02 Main save data and save back-up data corrupt
3000BA4 Slot A game completed flag
3000BA5 Slot A save exists flag
3000BA8 Slot B data
8000BBC Slot C data
3000BDE Game mode
  • 00 Title
  • 01 In-game
  • 02 Reboot
  • 03 Map
  • 04 Most cut-scenes
  • 05 SA-X close-up
  • 06 Erase SRAM menu
  • 07 Intro
  • 08 Game over
  • 09 Ending
  • 0A Died from SR388 collision
  • 0B Credits
  • 0C Demo
  • 0D --Unknown--
  • 0E Nothing
3000BE0 Sub-game mode 2
3000BE2 Sub-game mode 1
3000BE4 Cleared every frame
3000BE5 8-Bit frame counter
3000BE6 V-Blank request flag
3000BE8-0DE7 Interrupt code
3000DE8-11E7 OAM data
30011E8 Button input
30011EA New input
30011EC Changed input
30011EE Next OAM slot
300120C Written to bits 4.. of 400004C (MOSAIC, mosaic size)
300120E Written to 400004C (MOSAIC, mosaic size)
300121E Written to 4000054 (BLDY, brightness coefficient)
3001224 Bg0 X position
3001226 Bg0 Y position
3001228 Bg1 X position
300122A Bg1 Y position
300122C Bg2 X position
300122E Bg2 Y position
3001230 Bg3 X position
3001232 Bg3 Y position
3001243 Pose lock
  • 00 Free
  • 80 Locked
3001245 Current pose
  • 00 Standing
  • 01 Turning around
  • 02 Shooting
  • 03 Running
  • 04 Jumping/falling
  • 05 Turning around and jumping/falling
  • 06 Landing
  • 07 Ducking
  • 08 Turning around and ducking
  • 09 Shooting and ducking
  • 0A Starting a spin-jump
  • 0B Spinning
  • 0C Morphing
  • 0D Morphball
  • 0E Rolling
  • 0F Unmorphing
  • 10 Jumping/falling in morphball
  • 11 Getting hurt
  • 12 Getting hurt in morphball
  • 13 Getting knocked back
  • 14 Getting knocked back in morphball
  • 15 Starting a wall-jump
  • 16 Wall-jumping
  • 17 Using an elevator
  • 18 Hanging on a ledge
  • 19 Pulling yourself up from hanging
  • 1A Pulling yourself forward from hanging
  • 1B Pulling yourself into a morphball tunnel
  • 1C Pulling yourself down to start hanging???
  • 1D Space-jumping
  • 1E Screw-attacking
  • 1F Skidding
  • 20 On a save pad
  • 21 On a recharge/security pad
  • 22 Turning around to be recharged
  • 23 Delay before shinesparking
  • 24 Shinesparking
  • 25 Delay after shinesparking
  • 26 Hanging from a vertical ladder
  • 27 Starting to hold your arm cannon out on a vertical ladder
  • 28 Holding your arm cannon out on a vertical ladder
  • 29 Shooting on a vertical ladder
  • 2A Starting to put away your arm cannon on a vertical ladder
  • 2B Handing on a horizontal ladder
  • 2C Moving on a horizontal ladder
  • 2D Turning around on a horizontal ladder
  • 2E Delay after shooting on a horizontal ladder
  • 2F Shooting on a horizontal ladder
  • 30 Frozen
  • 31 Frozen and falling
  • 32 Frozen in morphball
  • 33 Frozen in morphball and falling
  • 34 Unlocking security
  • 35 Saving/loading game
  • 36 On a navigation pad
  • 37 Downloading an ability
  • 38 Being recharged
  • 39 Facing the foreground
  • 3A Facing the background
  • 3B Unlocking the habitations deck
  • 3C --Unknown--
  • 3D Being loaded by the gunship
  • 3E Dying
  • 3F Hit by Omega Metroid
  • 40 Grabbed by Yakuza
3001246 Turning flag
3001247 Bouncing flag / wall-jumping flag / shinespark angle
  • 00 Not bouncing/wall-jumping / sparking upwards
  • 01 Bouncing/wall-jumping / sparking sidewards
  • 02 Sparking diagonally
  • 14 Jumping when bouncing
  • 15 Jumping when bouncing
  • 16 Jumping when bouncing
3001248 Wall-jump timer
3001249 Invincibility timer
300124A Speed boosting flag
300124B Arm Cannon direction
  • 00 None
  • 01 Forward
  • 02 Diagonally upwards
  • 03 Diagonally downwards
  • 04 Upwards
  • 05 Downwards
300124C Missiles selected flag
300124D Projectile type
  • 01 Beam
  • 02 Missile
  • 03 Unused
  • 04 Bomb
  • 05 Charged beam
  • 06 Power bomb
300124E Cooldown timer
3001250 Charge beam counter
3001252 Arm running animation flag
3001253 Speed boost counter/knock-back counter
3001254 Wall-jump direction
  • 10 Rightwards
  • 20 Leftwards
3001256 Direction
  • 10 Rightwards
  • 20 Leftwards
300125A X position

Uses quarter pixels

300125C Y position

Uses quarter pixels

300125E X velocity

Uses 32ths of a pixel

3001260 Y velocity

Uses 32ths of a pixel

3001262 Current Slope Type
  • 00 Flat
  • 11 Steep right
  • 12 Gentle right
  • 21 Steep left
  • 22 Gentle left
3001264 Animation type
3001265 Animation counter
3001266 Current animation
3001268 Left boundary offset
300126A Top boundary offset
300126C Right boundary offset
300126E Bottom boundary offset
3001270-129B Mirrors 0x03001244-126F when changing pose
30012DC Shinespark timer
30012F0 Trail FX Type Slot 1
  • 00 None
  • 01 Slight splash
  • 03 Slight dust cloud
  • 04 Slight big dust cloud
  • 05 Water surface splash
  • 06 Slight water surface splash
  • 07 Lava bubbles
  • 08 Splash
  • 09 Bubbles
  • 0A Dust cloud
  • 0B Big dust cloud
  • 0D Skidding
  • 0E Air bubbles
30012F1 Trail FX Timer Slot 1
30012F2 Trail FX Status Slot 1
30012F3 X Absorption Timer
30012F8 Trail FX Horizontal Position Slot 1
30012FA Trail FX Vertical Position Slot 1
30012FC Trail FX ROM Data Pointer Slot 1
3001300 Trail FX Type Slot 2
3001301 Trail FX Timer Slot 2
3001302 Trail FX Status Slot 2
3001308 Trail FX Horizontal Position Slot 2
300130A Trail FX Vertical Position Slot 2
300130C Trail FX ROM Data Pointer Slot 2
3001310 Current health
3001312 Health capacity
3001314 Current missiles
3001316 Missiles capacity
3001318 Current power bombs
3001319 Power bomb capacity
300131A Beam status
  • 00 None
  • 01 Charge beam
  • 02 Wide beam
  • 04 Plasma beam
  • 08 Wave beam
  • 10 Ice beam
300131B Missile + Bomb status
  • 00 None
  • 01 Missile
  • 02 Super missile
  • 04 Ice missile
  • 08 Diffusion missile
  • 10 Bomb
  • 20 Power bomb
300131C Suit + Misc. status
  • 00 None
  • 01 Hi-jump
  • 02 Speed booster
  • 04 Space jump
  • 08 Screw attack
  • 10 Varia suit
  • 20 Gravity suit
  • 40 Morph ball
  • 80 Omega suit
300131D Security status
  • 00 White doors
  • 01 Blue doors
  • 02 Green doors
  • 03 Yellow doors
  • 04 Red doors
  • FF None
300131E Downloaded map status
  • 00 None
  • 01 Main Deck
  • 02 SRX
  • 04 TRO
  • 08 PYR
  • 10 AQA
  • 20 ARC
  • 40 NOC
300131F Low health flag
3001329 Samus-clip collision type
  • 00 Standing
  • 01 In air
  • 02 Ducking
  • 04 Spinning
  • 05 Ball
  • 06 Ball in air
300132C Horizontal Wall Collision Detection
  • 00 None of Samus
  • 01 Top of Samus
  • 02 Middle of Samus
  • 04 Bottom of Samus
3001330 Slow speed flag (such as Nightmare's gravity)
3001332 Y acceleration
3001334 Y velocity cap
3001336 In-air X acceleration
3001338 In-air X velocity cap
300133A In-air Morphball X velocity cap
300133C X acceleration
300133E X velocity cap
3001342 Previous X position
3001344 Previous Y position
3001346 Underwater flag
300134C Previous 64 X positions
30013CC Previous 64 Y positions
3001484-1703 Clipdata handling code
30016CD Current BSL location (on mission briefing screen)
  • 00 No area highlighted
  • 01 Operations Deck highlighted
  • 02 Docking Bays highlighted
  • 03 Habitation Deck highlighted
  • 04 Main Deck highlighted
  • 05 Reactor Silo highlighted
  • 06 Restricted Zone highlighted
  • 07 Sector 1 (SRX) highlighted
  • 08 Sector 2 (TRO) highlighted
  • 09 Sector 3 (PYR) highlighted
  • 0A Sector 4 (AQA) highlighted
  • 0B Sector 5 (ARC) highlighted
  • 0C Sector 6 (NOC) highlighted
30019C4 Pointer to V-Blank code
30019C8 Pointer to H-Blank code
30019CC Pointer to V-Count code
30019DE Music length
30019E0 Current music position
30019EC Music slot 1
30019EE Music slot 2
30019F0 Slot switch
  • 0 Slot 2
  • 1 Slot 1
3001A74 Interlaced PCM data
30025F4 Sound channel A data
3002BF4 Sound channel B data
3003654 Pointer to sound code A
3003658-3CAF Sound code A
3003CB0 Pointer to sound code B
3003CB4-3D57 Sound code B
3003D58 Pointer to sound code C
3003D5C-3EBB Sound code C
3004D28 Suit colour
3004D90 SA-X suit colour
3004DDC Pointer to tile parts
3004DE4 Pointer to (related to NoRespawnBlocks)
3004DE8 Current music track
3004DEC 1st door rype
  • 0x Left facing white door
  • 1x Right facing white door
  • 2x Left facing blue door
  • 3x Right facing blue door
  • 4x Left facing green door
  • 5x Right facing green door
  • 6x Left facing yellow door
  • 7x Right facing yellow door
  • 8x Left facing red door
  • 9x Right facing red door
  • Ax Left facing grey door
  • Bx Right facing grey door
  • x1 Inactive
  • x3 About to open
  • x5 1st frame of opening/closing
  • x7 2nd frame of opening/closing
  • x9 last fame of opening/closing
3004DED 1st door animation
  • 0 Closed
  • 1 Open bottom half of door
  • 2 Opened
  • 3 Close bottom half of door
  • 9 Open top half of door
  • B Close top half of door
  • 11 Increase door type by 2
  • 13 Increase door type by 2
3004DEE 1st Door X position

Uses 17 pixels

3004DEF 1st Door Y position

Uses 17 pixels

3004DF0 2nd Door type
3004DF1 2nd Door animation
3004DF2 2nd Door X Position
3004DF3 2nd Door Y Position
3004DF4 3rd Door type
3004DF5 3rd Door animation
3004DF6 3rd Door X Position
3004DF7 3rd Door Y Position
3004DF8 4th Door type
3004DF9 4th Door animation
3004DFA 4th Door X Position
3004DFB 4th Door Y Position
3004DFC 5th Door type
3004DFD 5th Door animation
3004DFE 5th Door X Position
3004DFF 5th Door Y Position
3004E00 6th Door type
3004E01 6th Door animation
3004E02 6th Door X Position
3004E03 6th Door Y Position
3004E04 7th Door type
3004E05 7th Door animation
3004E06 7th Door X Position
3004E07 7th Door Y Position
3004E08 8th Door type
3004E09 8th Door animation
3004E0A 8th Door X Position
3004E0B 8th Door Y Position
3004E28 Tileset's transparent colour
3004FC8 Extra palette
3004FC9 Animated tileset
3005318 Pointer to clipdata handling code
300531C-53DC Animated tileset data
6000000-0FFF Foreground map
6001000-1FFF Level map
6002000-2FFF Back-level map
6003000-3FFF Background map
6004000-7FFF Level tiles
6008000-FFFF Background tiles
6010000-7FFF Sprite tiles