Teenage Mutant Ninja Turtles III: The Manhattan Project

From NES Hacker Wiki
Jump to: navigation, search

Teenage Mutant Ninja Turtles III: The Manhattan Project is the third game in the TMNT line for the NES. It features game play very similar to Teenage Mutant Ninja Turtles II: The Arcade Game.

Easy Cheats

See the guide on Easy Cheats to find out how to use these.

006A - 09 - P1 Infinite Lives
04F1 - 7F - P1 Infinite Hit Points
04FF - 01 - P1 Invulnerable (Must jump out of pits)

006B - 09 - P2 Infinite Lives
04F2 - 7F - P2 Infinite Hit Points
0500 - 01 - P2 Invulnerable (Must jump out of pits)

0621 - 01 - Enemies Take 1 Hit (1/8) (Must turn off for stone warriors)
0622 - 01 - Enemies Take 1 Hit (2/8)
0623 - 01 - Enemies Take 1 Hit (3/8)
0624 - 01 - Enemies Take 1 Hit (4/8)
0625 - 01 - Enemies Take 1 Hit (5/8)
0626 - 01 - Enemies Take 1 Hit (6/8)
0627 - 01 - Enemies Take 1 Hit (7/8)
0628 - 01 - Enemies Take 1 Hit (8/8)

North America

Teenage Mutant Ninja Turtles III - The Manhattan Project.png

Memory Addresses

0053 - Time (00-FF)
0058 - Internal Stage 
006A - P1 Lives (00-09)
006B - P2 Lives (00-09)
006C - P1 Score: 99xx00
006D - P1 Score: xx9900
006E - P2 Score: 99xx00
006F - P2 Score: xx9900
0200-02FF - PPU Memory

04F1 - P1 Hit Points (00-7F)
04F2 - P2 Hit Points (00-7F)

050B - P1 Holding Delay / Respawn Delay (00-7F)
050C - P2 Holding Delay / Respawn Delay (00-7F)

0621-0628 - Enemy Hit Points

Code

Load Stage's Time

This routine loads the current stage's time from the Time Table.

CF7C:A4 58     LDY $0058        ; Load Y with Internal Stage.
CF7E:B9 96 CF  LDA $CF96,Y      ; Load A from Time Table, offset by stage.
CF81:AC B2 07  LDY $07B2        ; Load Y with $07B2
CF84:F0 07     BEQ $CF8D        ; If $07B2 was #00, goto $CF8D.
CF86:18        CLC              ; Clear Carry
CF87:65 53     ADC $0053        ; Add A to $0053
CF89:90 02     BCC $CF8D        ; 
CF8B:A9 FF     LDA #$FF         ; Load #FF into A.
CF8D:85 53     STA $0053        ; Store A into Time.
CF8F:A9 00     LDA #$00         ; 
CF91:85 41     STA $0041        ; Store #00 into $0041
CF93:E6 40     INC $0040        ; Increment $0040
CF95:60        RTS

Time Table

Starts at $CF96. Note that the Internal Stage increments after every section, not a full stage. The #00 values in the table are never read.

96, C8, 00, C8, C8, 00, C8, 00, C8, 00, C8, 00, C8, 00, 00, 00

Decrement Time

This is an excerpt from the routine that decrements the time.

FABE:C6 53     DEC $0053        ; Decrement Time.


Text

After two games with over used character sets, the programming team for TMNT 3 actually wised up and used a single character set for the entire game. It's alpha numeric with some added symbols.

00= 
81=1
82=2
83=3
84=4
85=5
86=6
87=7
88=8
89=9
8E=>
90=A
91=B
92=C
93=D
94=E
95=F
96=G
97=H
98=I
99=J
9A=K
9B=L
9C=M
9D=N
9E=O
9F=P
A0=Q
A1=R
A2=S
A3=T
A4=U
A5=V
A6=W
A7=X
A8=Y
A9=Z
AA=!
AB=.
AC=,
AD='
AE=-
AF=®
B0==
B1=°
B2=‚
B3=·
B4=:
B5="
B6=?
B7=©
B8=8