Mega Man (NES)/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
m (Megaman / Mega Man)
m (0x addresses for consistency w/ other RAM maps)
Line 10: Line 10:
|'''RAM'''  || '''Function''' || '''Details'''
|'''RAM'''  || '''Function''' || '''Details'''
|-
|-
| 0020 || Mega Man's X position || High-byte; when $0022 gets larger than $FF(255), this value increases by 1
| 0x0020 || Mega Man's X position || High-byte; when $0022 gets larger than $FF(255), this value increases by 1
|-
|-
| 0022 || Mega Man's X position || Low-byte
| 0x0022 || Mega Man's X position || Low-byte
|-
|-
| 0025 || Mega Man's Y position || Low-byte
| 0x0025 || Mega Man's Y position || Low-byte
|-
|-
| 002C || Type of object that Mega Man is touching from the top || $00-Air, $01-Solid, $02-Ladder, $03-Spike, $04-Ice, $05-Water
| 0x002C || Type of object that Mega Man is touching from the top || $00-Air, $01-Solid, $02-Ladder, $03-Spike, $04-Ice, $05-Water
|-
|-
| 0031 || Stage number || $00-Cut Man, $01-Ice Man, $02-Bomb Man, $03-Fire Man, $04-Elec Man, $05-Guts Man, $06-Wily 1, $07-Wily 2, $08-Wily 3, $09-Wily 4, $0A(10)-Title Screen, $0B(11)-Ending BG
| 0x0031 || Stage number || $00-Cut Man, $01-Ice Man, $02-Bomb Man, $03-Fire Man, $04-Elec Man, $05-Guts Man, $06-Wily 1, $07-Wily 2, $08-Wily 3, $09-Wily 4, $0A(10)-Title Screen, $0B(11)-Ending BG
|-
|-
| 005D || Which ememies have been defeated/Weapons unlocked
| 0x005D || Which ememies have been defeated/Weapons unlocked
{|border="1" cellpadding="1"
{|border="1" cellpadding="1"
|bit 1||Bomb Man/Hyper Bomb
|bit 1||Bomb Man/Hyper Bomb
Line 39: Line 39:
     ||Setting a bit will defeat/unlock the corresponding villain/weapon.  Set this byte to $FE(254) to go directly to Dr. Wily.
     ||Setting a bit will defeat/unlock the corresponding villain/weapon.  Set this byte to $FE(254) to go directly to Dr. Wily.
|-
|-
| 005F || Weapon Select (Works only when pausing, otherwise values will be different.)
| 0x005F || Weapon Select (Works only when pausing, otherwise values will be different.)
{|border="1" cellpadding="1"
{|border="1" cellpadding="1"
|$00||Mega Buster(normal weapon)
|$00||Mega Buster(normal weapon)
Line 60: Line 60:
     || This only controls the weapon function, it will not change his color.  You can select any weapon even if it's still locked.
     || This only controls the weapon function, it will not change his color.  You can select any weapon even if it's still locked.
|-
|-
| 006A || Mega Man Life Bar Value || $1C(28)-Full, $00-Empty
| 0x006A || Mega Man Life Bar Value || $1C(28)-Full, $00-Empty
|-
|-
| 006B || Cut Man Weapon Energy || $1C(28)-Full, $00-Empty
| 0x006B || Cut Man Weapon Energy || $1C(28)-Full, $00-Empty
|-
|-
| 006C || Ice Man Weapon Energy || $1C(28)-Full, $00-Empty
| 0x006C || Ice Man Weapon Energy || $1C(28)-Full, $00-Empty
|-
|-
| 006D || Bomb Man Weapon Energy || $1C(28)-Full, $00-Empty
| 0x006D || Bomb Man Weapon Energy || $1C(28)-Full, $00-Empty
|-
|-
| 006E || Fire Man Weapon Energy || $1C(28)-Full, $00-Empty
| 0x006E || Fire Man Weapon Energy || $1C(28)-Full, $00-Empty
|-
|-
| 006F || Elec Man Weapon Energy || $1C(28)-Full, $00-Empty
| 0x006F || Elec Man Weapon Energy || $1C(28)-Full, $00-Empty
|-
|-
| 0070 || Guts Man Weapon Energy || $1C(28)-Full, $00-Empty
| 0x0070 || Guts Man Weapon Energy || $1C(28)-Full, $00-Empty
|-
|-
| 0071 || Magnet Beam Weapon Energy || $1C(28)-Full, $00-Empty
| 0x0071 || Magnet Beam Weapon Energy || $1C(28)-Full, $00-Empty
|-
|-
| 0072-0078 || Score || Each byte represents one digit in BCD. Starts with ones digit (0072)
| 0x0072-78 || Score || Each byte represents one digit in BCD. Starts with ones digit (0072)
|-
|-
| 0094 || Type of object that Mega Man is touching from the sides || $00-Air, $01-Solid, $02-Ladder, $03-Spike, $04-Ice, $05-Water
| 0x0094 || Type of object that Mega Man is touching from the sides || $00-Air, $01-Solid, $02-Ladder, $03-Spike, $04-Ice, $05-Water
|-
|-
| 00A6 || Lives || Maximum is $80(128). Bit 7 set gives Game Over. Game will not raise it past $63(99).  
| 0x00A6 || Lives || Maximum is $80(128). Bit 7 set gives Game Over. Game will not raise it past $63(99).  
|-
|-
| 00AE || Bonus || Number of bonus energy balls picked up during level.  Is multiplied by 1000 at level completion screen.
| 0x00AE || Bonus || Number of bonus energy balls picked up during level.  Is multiplied by 1000 at level completion screen.
|-
|-
| 0100-01FF || Stack || RAM used by CPU for stack.
| 0x0100-FF || Stack || RAM used by CPU for stack.
|-
|-
| 0200-02FF || Sprite Data || 256 byte block that is transferred via DMA to PPU memory during each NMI Routine.
| 0x0200-FF || Sprite Data || 256 byte block that is transferred via DMA to PPU memory during each NMI Routine.
|-
|-
| 03D0-03DF || Palette Data || The whole BG palette. $10(16) bytes long.
| 0x03D0-DF || Palette Data || The whole BG palette. $10(16) bytes long.
|-
|-
|06C1 || Boss Energy || $1C(28)-Full, $00-Empty
| 0x06C1 || Boss Energy || $1C(28)-Full, $00-Empty
|-
|-
|}
|}
{{Internal Data|game=Mega Man}}
{{Internal Data|game=Mega Man}}

Revision as of 01:23, 25 June 2019

Chip tiny.png The following article is a RAM map for Mega Man (NES).

Note: Memory locations discovered using the 'FCEU' Emulator for Windows.


Given values: $Hexadecimal value(Decimal value), ex. $63(99)

Any values less than $0A(10) will only show the Hex value.


RAM Function Details
0x0020 Mega Man's X position High-byte; when $0022 gets larger than $FF(255), this value increases by 1
0x0022 Mega Man's X position Low-byte
0x0025 Mega Man's Y position Low-byte
0x002C Type of object that Mega Man is touching from the top $00-Air, $01-Solid, $02-Ladder, $03-Spike, $04-Ice, $05-Water
0x0031 Stage number $00-Cut Man, $01-Ice Man, $02-Bomb Man, $03-Fire Man, $04-Elec Man, $05-Guts Man, $06-Wily 1, $07-Wily 2, $08-Wily 3, $09-Wily 4, $0A(10)-Title Screen, $0B(11)-Ending BG
0x005D Which ememies have been defeated/Weapons unlocked
bit 1 Bomb Man/Hyper Bomb
bit 2 Elec Man/Thunder Beam
bit 3 Guts Man/Super Arm
bit 4 Ice Man/Ice Slasher
bit 5 Cut Man/Rolling Cutter
bit 6 Fire Man/Fire Storm
bit 7 Magnet Beam
Setting a bit will defeat/unlock the corresponding villain/weapon. Set this byte to $FE(254) to go directly to Dr. Wily.
0x005F Weapon Select (Works only when pausing, otherwise values will be different.)
$00 Mega Buster(normal weapon)
$01 Hyper Bomb
$02 Thunder Beam
$03 Super Arm
$04 Ice Slasher
$05 Rolling Cutter
$06 Fire Storm
$07 Magnet Beam
This only controls the weapon function, it will not change his color. You can select any weapon even if it's still locked.
0x006A Mega Man Life Bar Value $1C(28)-Full, $00-Empty
0x006B Cut Man Weapon Energy $1C(28)-Full, $00-Empty
0x006C Ice Man Weapon Energy $1C(28)-Full, $00-Empty
0x006D Bomb Man Weapon Energy $1C(28)-Full, $00-Empty
0x006E Fire Man Weapon Energy $1C(28)-Full, $00-Empty
0x006F Elec Man Weapon Energy $1C(28)-Full, $00-Empty
0x0070 Guts Man Weapon Energy $1C(28)-Full, $00-Empty
0x0071 Magnet Beam Weapon Energy $1C(28)-Full, $00-Empty
0x0072-78 Score Each byte represents one digit in BCD. Starts with ones digit (0072)
0x0094 Type of object that Mega Man is touching from the sides $00-Air, $01-Solid, $02-Ladder, $03-Spike, $04-Ice, $05-Water
0x00A6 Lives Maximum is $80(128). Bit 7 set gives Game Over. Game will not raise it past $63(99).
0x00AE Bonus Number of bonus energy balls picked up during level. Is multiplied by 1000 at level completion screen.
0x0100-FF Stack RAM used by CPU for stack.
0x0200-FF Sprite Data 256 byte block that is transferred via DMA to PPU memory during each NMI Routine.
0x03D0-DF Palette Data The whole BG palette. $10(16) bytes long.
0x06C1 Boss Energy $1C(28)-Full, $00-Empty