Notes:Teenage Mutant Ninja Turtles II: The Arcade Game
This page contains notes for the game Teenage Mutant Ninja Turtles II: The Arcade Game.
RAM map
$002B -> $002E : background banks loaded to PPU
$002F -> $0031 : sprite banks loaded to PPU
$0033: turtle ID (p1)
$0034: turtle ID (p2)
$0038: button press (p1)
$0039: button press (p2)
$003A: button held (p1)
$003B: button held (p2)
$003C: status:
01: stage intro text 02: stage loading 03: gameplay 04: stage end 05: cutscene 06: stage start 07: game over 08: epilogue/credits
$0042: stage number
$0043: 01: p1 initiates scrolling
$0044: 01: p2 initiates scrolling
$0047:
00: singleplayer 01: multiplayer
$0048->$0049: address for PPU bg drawing
$004D: lives (p1)
$004E: lives (p1)
$007E: stage segment
$00B1: scrolling amount
$00B2: scrolling amount
$00B4: screen number in stage segment
$00E0->$01BF: sound stack
$00F5 -> $00F7: stack for bankswitching
$01F0-> $001FF: system stack
$0200 -> $02FF: OAM table
$0300-> ???: stack for background drawning
$03E5: sound number played
$03EA: number of enemies killed (p1). C8 = add 1up and reset counter
$03EB: number of enemies killed (p2). C8 = add 1up and reset counter
$03F0->$03F2: score (p1)
$03F3->$03F5: score (p2)
$03FD->$03FF: hi-score (Jap version only)
$0400->$0411: frame numbers (p1) (exception for $0401 and $0403, where value 15= turtles jumping)
$0412->$0423: Move number (walking, punching, etc) 20 = feet submerged in water
$0424->$0435: offset for frame number drawing
$0436->$0447: sprites state (X/Y flipped) and palette slot used (pal slot does not apply to regular enemies)
$0448->$0459: animation timers
$045A->$046B: frame counter
$046C->$047D: sprite Y pos (low byte)
$047E->$048F: sprite X pos (low byte)
$0490->$04A1: sprite X pos (hi byte)
$04A2->$04B3: sprite Y pos (hi byte 1)
$04B4->$04C5: sprite Y pos (hi byte 2)
$04EA->$04FB: sprite X direction 1
$04FC->$050D: sprite X direction 2
$050E->$051F: sprite Y direction 1
$0520->$0531: sprite Y drection 2
$0556->0567: enemies screen position:
00 = current screen 01= on the right of the screen 02=on the left of the screen
$0568->$0579: HP values
$05B7: Mousers counter
$05DB: used for various things: enemy ID to spawn. Then enemy counter (remaining number of enemies to spawn during counter wave) but also rocket counter (sewer stage). Also used for something else when enemies die that I have yet to identify.
$060D->$0610: sprite banks loaded to the PPU (mirror)
$0612: background animation timer
$061B: 01=stop bg drawing
$061C: stack for bg drawing
$6E0->$6F8: palettes
Note: there is enemies related data in between $0580 and $060D I have yet to identify.