If you are still using the old URL (datacrystal.romhacking.net), please update your bookmarks! The old URL may stop working soon.
The current URL is datacrystal.tcrf.net.
The current URL is datacrystal.tcrf.net.
Mega Man 2/ROM map: Difference between revisions
Jump to navigation
Jump to search
Ice Ranger (talk | contribs) (Finished formatting) |
Ice Ranger (talk | contribs) (added some routines (Heat Man, Flash Man behaviors; some weapon behavior) - ASM stuff) |
||
Line 57: | Line 57: | ||
* 0x03565E - Palette and mirroring 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 | * 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==== | ====Extra Lives Symbol==== | ||
* 0x035660 - Y position for NW PPU graphic head in menu | * 0x035660 - Y position for NW PPU graphic head in menu | ||
Line 166: | Line 181: | ||
* 0x03C298 - Item # from Crash Man | * 0x03C298 - Item # from Crash Man | ||
====Arm Cannon==== | ====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 | |||
$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 | * 0x03DA91 - Sound for Mega Man shooting normal shot | ||
====Air==== | ====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==== | ====Bubble==== | ||
Line 176: | Line 242: | ||
* 0x03DB3D - Number of Bubble Lead to use before reducing power | * 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 | * 0x03DB6F - Sound effect for Quick Boomerang | ||
* 0x03DB78 - Number of Quick Boomerangs to use before reducing power | * 0x03DB78 - Number of Quick Boomerangs to use before reducing power | ||
====Crash==== | ====Crash Bomb==== | ||
* 0x03DBA6 - Sound effect for Crash Bomb | * 0x03DBA6 - Sound effect for Crash Bomb | ||
* 0x03DB99 - Number of power to remove for 1 Crash Bomb | * 0x03DB99 - Number of power to remove for 1 Crash Bomb | ||
====Metal==== | ===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 | * 0x03DBC9 - Sound effect for Metal Blade | ||
* 0x03DBD2 - Number of Metal Blades to use before reducing power | * 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==== | ====Heat==== | ||
Line 229: | Line 407: | ||
* 0x03EDCD - Wood Man's Shield | * 0x03EDCD - Wood Man's Shield | ||
* 0x03EDCE - Falling Leafs from Wood Man | * 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 |
Revision as of 21:34, 7 May 2006
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
- 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 $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