Mega Man (NES)/RAM map

From Data Crystal
< Mega Man (NES)(Redirected from Mega Man/RAM map)
Jump to navigation Jump to search

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


Player Variables

Input

RAM Function Details
0x0014 Controller 1 buttons held
0x0015 Controller 2 buttons held
0x0016 Controller 1 buttons held (clone of 0x0014?)
0x0017 Controller 2 buttons held (clone of 0x0015?)
0x0018 Controller 1 buttons tapped
0x0019 Controller 2 buttons tapped

Camera & Position

RAM Function Details
0x001A Camera X position
0x001B Camera X screen Increases by $01 when 0x001A > $FF(255)
0x001C Camera state
$00 Default
$01 Changing the nametable (scrolling, pause menu, blinking stage select,…)
$02 Freeze before and after scrolling to a new area
$40 Scrolling to a new area
0x001E Camera Y position
0x0020 Mega Man's X screen Increases by $01 when 0x0022 > $FF(255)
0x0021-22 Mega Man's X position 0x0021=sub-pixel, 0x0022=pixel
0x0024-25 Mega Man's Y position 0x0024=sub-pixel, 0x0025=pixel

Life & Health

RAM Function Details
0x006A Mega Man Life Bar Value $1C(28)-Full, $00-Empty
0x0055 Mega Man's I-frame Counter Counts down from $6F(111) $01/frame after taking damage
0x00A6 Lives Max $80(128); bit 7 = Game Over; game will not raise past $63(99)

Score

RAM Function Details
0x0072-78 Score Each byte represents one digit in BCD. Starts with ones digit (0x0072)
0x00AE Bonus Number of energy balls collected ×1000 at level end


Weapons & Abilities

Weapon Energy

RAM Function Details
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

Weapon Select

RAM Function Details
0x005F Weapon Select (pause only)
$00 Mega Buster
$01 Hyper Bomb
$02 Thunder Beam
$03 Super Arm
$04 Ice Slasher
$05 Rolling Cutter
$06 Fire Storm
$07 Magnet Beam
0x0060 Are Mega Man's bullets on-screen $C0(192)=yes, $00=no

Miscellaneous

RAM Function Details
0x0023 Timer Increases $01/frame; pauses don’t affect menu display
0x002C Type of object Mega Man is touching from the top $00-Air, $01-Solid, $02-Ladder, $03-Spike, $04-Ice, $05-Water
0x0094 Type of object Mega Man is touching from the sides $00-Air, $01-Solid, $02-Ladder, $03-Spike, $04-Ice, $05-Water
0x0031 Stage ID $00-Cut Man … $0B(11)-Ending BG
0x0100-FF Stack RAM used by CPU stack
0x0200-FF Sprite Data 256 bytes transferred via DMA to PPU during NMI
0x03D0-DF Palette Data Background palette, 16 bytes
0x0440 Mega Man's Blink Timer Counts $01/frame pseudo base 9; eyes close at $A2 for 9 frames
0x0500-7F Sound Values Pulse1, Pulse2, Triangle, Noise channels
$00 Note ID
$01 Music Pattern?
$02-03 Countdown for note end (frame quarters)
$06 Vibrato Speed
$0A Note Pitch ID
$0E Frames since note started
$14 Vibrato bend direction
$1D Frames since note/silence started
0x06C1 Boss Energy $1C(28)-Full, $00-Empty