Mega Man 2:ROM map
Revision as of 14:22, 25 February 2011 by Insectduel (talk | contribs) (→Sound Effects during Stage)
Stage Select
- 0x02EE10 - 0x02F1CF - Screen Layout
- 0x0340D8 - routine for checking if a level has been cleared
- 0x0340E3 - First level of Wily's castle
- 0x0340EC - 0x0340EF - routine for checking if a level has been cleared
- 0x0340F6 - Confirming selection
- 0x0341BA - Preview boss music
- 0x0342ED - Selection for Bubble Man cursor
- 0x0344A9 - 0x0344B8 - Palette background for Stage Select Screen
- 0x0344B9 - 0x0344C8 - Palette foreground for Stage Select Screen
- 0x034551 - Beginning of Sprites for Stage Select Screen
- 0x03462E - Cursor position for Bubble Man Y position
- 0x034637 - Cursor position for Bubble Man X position
- 0x03464F - Lines for Boss posing screen Last byte (reverse order)
- 0x03466E - Lines for Boss posing screen First byte (reverse order)
- 0x034670 - Pointer for Bubble Man Stage from selection
- 0x034671 - Pointer for Air Man Stage from selection
- 0x034672 - Pointer for Quick Man Stage from selection
- 0x034673 - Pointer for Wood Man Stage from selection
- 0x034674 - Pointer for Crash Man Stage from selection
- 0x034675 - Pointer for Flash Man Stage from selection
- 0x034676 - Pointer for Metal Man Stage from selection
- 0x034677 - Pointer for Heat Man Stage from selection
- 0x038076 - 0x03807D - routine to see all weapons gained to go to Wily when selecting Start
- 0x03C264 - 0x03C269 - routine to see all weapons gained to go to Wily after gaining a weapon
HP
- 0x038315 - Maximum Energy for Mega Man
- 0x03CF79 - X position for energy bar
- 0x03CF8F - X position for weapon bar
- 0x03CFB1 - X position for boss bar
- 0x03CFD8 - Graphics for Energy Bar
- 0x03CFF5 - Y position for 1/7 energy
- 0x03CFF6 - Y position for 2/7 energy
- 0x03CFF7 - Y position for 3/7 energy
- 0x03CFF8 - Y position for 4/7 energy
- 0x03CFF9 - Y position for 5/7 energy
- 0x03CFFA - Y position for 6/7 energy
- 0x03CFFB - Y position for 7/7 energy
Sound Effects during Stage
- 0x03524E - changing selections in menu, Mega Man forming
- 0x0381E0-0x0381ED - Music played for each level
- 0x038685 - Sound for Mega Man landing
- 0x03C59F - Sound for entering menu screen during action
- 0x03C802 - Sound effect for Mega Man beamed down
Menu Screen
- 0x0352AC - Energy Compare for Energy Tank
- 0x03539E - Sound effect for turning off menu during action
- 0x03565C - Y position for E symbol for energy tanks
- 0x03565D - PPU graphic for E symbol for energy tanks
- 0x03565E - Palette and mirroring for E symbol for energy tanks
- 0x03565F - X position for E symbol for energy tank
Weapon Gained Screens
Mega Man
- 0x0249FE - 0x024A8A (0x8D) - data
- 0x0249FF - Y position
- 0x024A00 - PPU Tile
- 0x024A01 - Palette, Mirroring
- 0x024A02 - X position
format repeats
Dr. Light
0x024A8B - 0x024AD7 (0x4D) - data
- 0x024A8C - Y position
- 0x024A8D - PPU Tile
- 0x024A8E - Palette, Mirroring
- 0x024A8F - X position
format repeats
Extra Lives Symbol
- 0x035660 - Y position for NW PPU graphic head in menu
- 0x035661 - NW PPU graphic for head in menu
- 0x035662 - Palette and mirroring for NW PPU graphic of head in menu
- 0x035663 - X position for NW PPU graphic head in menu
- 0x035664 - Y position for NE PPU graphic head in menu
- 0x035665 - NE PPU graphic for head in menu
- 0x035666 - Palette and mirroring for NE PPU graphic of head in menu
- 0x035667 - X position for NE PPU graphic head in menu
- 0x035668 - Y position for SW PPU graphic head in menu
- 0x035669 - SW PPU graphic for head in menu
- 0x03566A - Palette and mirroring for SW PPU graphic of head in menu
- 0x03566B - X position for SW PPU graphic head in menu
- 0x03566C - Y position for SE PPU graphic head in menu
- 0x03566D - SE PPU graphic for head in menu
- 0x03566E - Palette and mirroring for SE PPU graphic of head in menu
- 0x03566F - X position for SE PPU graphic head in menu
Title
- 0x036235 - Sound effect for switching Normal and Difficult on Title
- 0x0362D4 - Graphic to flash for selection Normal on Title
- 0x0362D5 - Graphic to flash for selection Difficult on Title
- 0x036322 - Removes all power ups and $00FD
- 0x03686D - Sprite 1 for Title
- 0x036877 - Sprite 2 for Title
- 0x036AAF - 0x036ABE - Palette for sprites on Title
- 0x036ACF - 0x036ADE - Palette background for Title
- 0x037341 - Title Screen Last byte (reversed order)
- 0x037700 - Title Screen First byte (reversed order)
Password Stuff
- 0x03700B - Password Y position (A,1)
- 0x03700C - Password Y position (A,2)
- 0x03700D - Password Y position (A,3)
- 0x03700E - Password Y position (A,4)
- 0x03700F - Password Y position (A,5)
- 0x037010 - Password Y position (B,1)
- 0x037011 - Password Y position (B,2)
- 0x037012 - Password Y position (B,3)
- 0x037013 - Password Y position (B,4)
- 0x037014 - Password Y position (B,5)
- 0x037015 - Password Y position (C,1)
- 0x037016 - Password Y position (C,2)
- 0x037017 - Password Y position (C,3)
- 0x037018 - Password Y position (C,4)
- 0x037019 - Password Y position (C,5)
- 0x03701A - Password Y position (D,1)
- 0x03701B - Password Y position (D,2)
- 0x03701C - Password Y position (D,3)
- 0x03701D - Password Y position (D,4)
- 0x03701E - Password Y position (D,5)
- 0x03701F - Password Y position (E,1)
- 0x037020 - Password Y position (E,2)
- 0x037021 - Password Y position (E,3)
- 0x037022 - Password Y position (E,4)
- 0x037023 - Password Y position (E,5)
- 0x037024 - Password X position (A,1)
- 0x037025 - Password X position (A,2)
- 0x037026 - Password X position (A,3)
- 0x037027 - Password X position (A,4)
- 0x037028 - Password X position (A,5)
- 0x037029 - Password X position (B,1)
- 0x03702A - Password X position (B,2)
- 0x03702B - Password X position (B,3)
- 0x03702C - Password X position (B,4)
- 0x03702D - Password X position (B,5)
- 0x03702E - Password X position (C,1)
- 0x03702F - Password X position (C,2)
- 0x037030 - Password X position (C,3)
- 0x037031 - Password X position (C,4)
- 0x037032 - Password X position (C,5)
- 0x037033 - Password X position (D,1)
- 0x037034 - Password X position (D,2)
- 0x037035 - Password X position (D,3)
- 0x037036 - Password X position (D,4)
- 0x037037 - Password X position (D,5)
- 0x037038 - Password X position (E,1)
- 0x037039 - Password X position (E,2)
- 0x03703A - Password X position (E,3)
- 0x03703B - Password X position (E,4)
- 0x03703C - Password X position (E,5)
- 0x037056 - Password related (A,1)
- 0x03709B - Password related (E,5)
Items
- 0x0380D5 - Beginning amount of Health
- 0x0382FD - Amount of HP large Energy returns
- 0x038301 - Amount of HP small Energy returns
Power Ups
- 0x03C289 - Power Up from Heat Man
- 0x03C28A - Power Up from Air Man
- 0x03C28B - Power Up from Wood Man
- 0x03C28C - Power Up from Bubble Man
- 0x03C28D - Power Up from Quick Man
- 0x03C28E - Power Up from Flash Man
- 0x03C28F - Power Up from Metal Man
- 0x03C290 - Power Up from Crash Man
- 0x03C291 - Item # from Heat Man
- 0x03C292 - Item # from Air Man
- 0x03C293 - Item # from Wood Man
- 0x03C294 - Item # from Bubble Man
- 0x03C295 - Item # from Quick Man
- 0x03C296 - Item # from Flash Man
- 0x03C297 - Item # from Metal Man
- 0x03C298 - Item # from Crash Man
Arm Cannon
Normal Arm Cannon
- 0x03DA7C - 0x03DA8F (0x14) - routine
$DA6C:A5 27 LDA $0027 = #$00 $DA6E:29 02 AND #$02 $DA70:F0 2B BEQ $DA9D $DA72:A2 04 LDX #$04 $DA74:BD 20 04 LDA $0420,X @ $0460 = #$42 $DA77:10 07 BPL $DA80 $DA79:CA DEX $DA7A:E0 01 CPX #$01 $DA7C:D0 F6 BNE $DA74 $DA7E:F0 1D BEQ $DA9D $DA80:A9 24 LDA #$24 (Sound effect) $DA82:20 51 C0 JSR $C051 $DA85:A0 00 LDY #$00 $DA87:20 E0 D3 JSR $D3E0 $DA8A:A9 0F LDA #$0F $DA8C:85 36 STA $0036 = #$00 $DA8E:A9 01 LDA #$01 $DA90:85 3D STA $003D = #$00 $DA92:A6 2C LDX $002C = #$03 $DA94:18 CLC $DA95:7D D4 D3 ADC $D3D4,X @ $D414 = #$AD $DA98:8D 00 04 STA $0400 = #$00 $DA9B:18 CLC $DA9C:60 RTS
- 0x03DA91 - Sound for Mega Man shooting normal shot
Air
0x03DAC3 - 0x03DAF5 (0x33) - routine
$DAB3:A5 27 LDA $0027 = #$00 $DAB5:29 02 AND #$02 $DAB7:F0 2B BEQ $DAE4 $DAB9:A2 04 LDX #$04 $DABB:BD 20 04 LDA $0420,X @ $0480 = #$40 $DABE:30 24 BMI $DAE4 $DAC0:CA DEX $DAC1:E0 01 CPX #$01 $DAC3:D0 F6 BNE $DABB $DAC5:A2 04 LDX #$04 $DAC7:86 01 STX $0001 = #$74 $DAC9:A0 02 LDY #$02 $DACB:20 E0 D3 JSR $D3E0 $DACE:A6 01 LDX $0001 = #$74 $DAD0:CA DEX $DAD1:E0 01 CPX #$01 $DAD3:D0 F2 BNE $DAC7 $DAD5:A9 3F LDA #$3F ;Sound Effect $DAD7:20 51 C0 JSR $C051 ;play SFX $DADA:38 SEC $DADB:A5 9D LDA $009D = #$16 ;take from bar count $DADD:E9 02 SBC #$02 ;amount to use $DADF:85 9D STA $009D = #$16 $DAE1:4C 8A DA JMP $DA8A $DAE4:38 SEC $DAE5:60 RTS
Bubble
- 0x03DB34 - Sound effect for Bubble Lead
- 0x03DB3D - Number of Bubble Lead to use before reducing power
Quick Boomerang
- 0x03DB4B - 0x03DB89 (0x3F) - routine
$DB3B:A5 27 LDA $0027 = #$00 $DB3D:29 02 AND #$02 $DB3F:D0 0A BNE $DB4B $DB41:A5 AB LDA $00AB = #$03 $DB43:C9 0B CMP #$0B ;Frequency to have Boomerangs shoot $DB45:F0 04 BEQ $DB4B $DB47:E6 AB INC $00AB = #$03 $DB49:18 CLC $DB4A:60 RTS $DB4B:A2 05 LDX #$05 $DB4D:BD 20 04 LDA $0420,X @ $0425 = #$C3 $DB50:10 07 BPL $DB59 $DB52:CA DEX $DB53:E0 01 CPX #$01 $DB55:D0 F6 BNE $DB4D $DB57:F0 1F BEQ $DB78 $DB59:A0 05 LDY #$05 $DB5B:20 E0 D3 JSR $D3E0 $DB5E:A9 24 LDA #$24 $DB60:20 51 C0 JSR $C051 $DB63:E6 AC INC $00AC = #$04 $DB65:A5 AC LDA $00AC = #$04 $DB67:C9 08 CMP #$08 $DB69:D0 06 BNE $DB71 $DB6B:A9 00 LDA #$00 $DB6D:85 AC STA $00AC = #$04 $DB6F:C6 A0 DEC $00A0 = #$09 $DB71:A9 00 LDA #$00 $DB73:85 AB STA $00AB = #$03 $DB75:4C 8A DA JMP $DA8A $DB78:38 SEC $DB79:60 RTS
- 0x03DB6F - Sound effect for Quick Boomerang
- 0x03DB78 - Number of Quick Boomerangs to use before reducing power
Crash Bomb
- 0x03DBA6 - Sound effect for Crash Bomb
- 0x03DB99 - Number of power to remove for 1 Crash Bomb
Flash Stopper
- 0x03DC41 - 0x03DC5C (0x1C) - routine
$DC31:A5 27 LDA $0027 = #$00 $DC33:29 02 AND #$02 $DC35:F0 1F BEQ $DC56 $DC37:A2 02 LDX #$02 $DC39:AD 22 04 LDA $0422 = #$00 $DC3C:30 18 BMI $DC56 $DC3E:A0 08 LDY #$08 $DC40:20 E0 D3 JSR $D3E0 $DC43:A9 01 LDA #$01 $DC45:8D A6 05 STA $05A6 = #$01 $DC48:A9 21 LDA #$21 ;SFX to use $DC4A:20 51 C0 JSR $C051
Metal Blade
- 0x03DC5D - 0x03DC65 (0x9) - routine
$DC4D:A9 0F LDA #$0F $DC4F:85 36 STA $0036 = #$00 $DC51:A9 03 LDA #$03 $DC53:4C 90 DA JMP $DA90 $DC56:38 SEC $DC57:60 RTS
- 0x03DBC9 - Sound effect for Metal Blade
- 0x03DBD2 - Number of Metal Blades to use before reducing power
Quick Boomerang Mechanics
- 0x03DFDE - 0x03E025 (0x48) - routine
$DFCE:BD E0 04 LDA $04E0,X @ $04E3 = #$0D $DFD1:C9 12 CMP #$12 ;how far to fly out $DFD3:B0 14 BCS $DFE9 $DFD5:38 SEC $DFD6:BD 60 06 LDA $0660,X @ $0663 = #$DB $DFD9:E9 4B SBC #$4B $DFDB:9D 60 06 STA $0660,X @ $0663 = #$DB $DFDE:BD 40 06 LDA $0640,X @ $0643 = #$FE $DFE1:E9 00 SBC #$00 $DFE3:9D 40 06 STA $0640,X @ $0643 = #$FE $DFE6:4C 0F E0 JMP $E00F $DFE9:D0 08 BNE $DFF3 $DFEB:BD 20 04 LDA $0420,X @ $0423 = #$C3 $DFEE:49 40 EOR #$40 ;how far to fly down before coming up $DFF0:9D 20 04 STA $0420,X @ $0423 = #$C3 $DFF3:BD E0 04 LDA $04E0,X @ $04E3 = #$0D $DFF6:C9 23 CMP #$23 ;how far to fly back $DFF8:D0 04 BNE $DFFE $DFFA:5E 20 04 LSR $0420,X @ $0423 = #$C3 $DFFD:60 RTS $DFFE:18 CLC $DFFF:BD 60 06 LDA $0660,X @ $0663 = #$DB $E002:69 4B ADC #$4B $E004:9D 60 06 STA $0660,X @ $0663 = #$DB $E007:BD 40 06 LDA $0640,X @ $0643 = #$FE $E00A:69 00 ADC #$00 $E00C:9D 40 06 STA $0640,X @ $0643 = #$FE $E00F:FE E0 04 INC $04E0,X @ $04E3 = #$0D $E012:20 EF EE JSR $EEEF $E015:60 RTS
Flash Stopper Mechanics
- 0x03E168 - 0x03E19F (0x38) - routine
$E158:DE 20 06 DEC $0620,X @ $0680 = #$03 $E15B:D0 15 BNE $E172 $E15D:A9 0F LDA #$0F ;Frequency to use $E15F:9D 20 06 STA $0620,X @ $0680 = #$03 $E162:C6 A1 DEC $00A1 = #$1C $E164:D0 0C BNE $E172 $E166:5E 20 04 LSR $0420,X @ $0480 = #$00 $E169:A9 00 LDA #$00 $E16B:85 AA STA $00AA = #$00 $E16D:A9 01 LDA #$01 $E16F:85 50 STA $0050 = #$00 $E171:60 RTS $E172:A9 01 LDA #$01 ;Freeze enemies $E174:85 AA STA $00AA = #$00 ;Does Freeze enemies $E176:A9 00 LDA #$00 $E178:85 50 STA $0050 = #$00 $E17A:85 4F STA $004F = #$00 $E17C:A9 80 LDA #$80 $E17E:9D A0 04 STA $04A0,X @ $0500 = #$A6 $E181:18 CLC $E182:65 1F ADC $001F = #$00 $E184:9D 60 04 STA $0460,X @ $04C0 = #$00 $E187:AD 40 04 LDA $0440 = #$00 $E18A:69 00 ADC #$00 $E18C:9D 40 04 STA $0440,X @ $04A0 = #$B4 $E18F:60 RTS
Heat
- 0x03DE45 - Sound for Heat charge?
Wood
- 0x03DF0D - Sound for Wood Shield turning
- 0x03DF1F - Sound for Wood Shield appearing
- 0x03DF72 - Number of power to remove for 1 Wood Shield
Crash
- 0x03E089 - Sound effect for Crash Bomb clasping wall
- 0x03E0DA - Sound effect for Crash Bomb exploding
Attack Power Table
- 0x02E9C4 - Wood Man's body attack
- 0x02E9C8 - Flash Man's body attack
- 0x03ED76 - Shelled Fish's attack
- 0x03ED78 - Large Frog's attack
- 0x03ED79 - Small Frog's attack
- 0x03ED82 - (16) Ball Bat attack
- 0x03ED83 - (17) Rabbit attack
- 0x03ED84 - (18) Rabbit's projectile attack (carrot)
- 0x03ED85 - (19) Dog's attack
- 0x03ED87 - (1B) Dog's fire projectile attack
- 0x03ED89 - (1D) Ape's attack
- 0x03ED8B - (1F) Chicken's attack
- 0x03EDA1 - (35) Sniper Joe's projectile attack (round ball)
- 0x03EDA4 - (38) Large Bird's attack
- 0x03EDA6 - (3A) Large Bird's egg attack
- 0x03EDA8 - (3C) Small Bird's attack
- 0x03EDB7 - One arm shooter's attack
- 0x03EDB9 - One arm shooter's projectile attack (pellet)
- 0x03EDBA - Body of Sniper Joe's machine attack
- 0x03EDBB - Sniper Joe's attack
- 0x03EDBC - (50) Snake-like Pod's attack
- 0x03EDBD - Snake-like Pod's projectile attack (snake rod)
- 0x03EDCD - Wood Man's Shield
- 0x03EDCE - Falling Leafs from Wood Man
Boss Behavior
Heat Man's routine for attack
- 0x02C16E - 0x02C1FE
0x02C1BB - projectile
Flash Man's routine for attack
- 0x02C966 - 0x02CAF8
0x02C98B - Frequency for Flash Stopper 0x02CA71 - projectile