If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Proto:Teenage Mutant Ninja Turtles (NES)

From The Cutting Room Floor
Jump to navigation Jump to search

This page details one or more prototype versions of Teenage Mutant Ninja Turtles (NES).

Hiddenpalace.org logo.png  This prototype is documented on Hidden Palace.

The US prototype of Teenage Mutant Ninja Turtles was found on a Famicom cartridge, in the possession of a former Sunsoft of America employee. Stranger things have happened.

It appears to be identical to the final release, save for the addition of a simple level select screen.


(Prototype source: Nintendo Player)

Level Select

TMNT NES proto stage select.png

At the title screen, hold A and press Start to access the level select. 1 through 5 start you on the respective level's overworld area, while 6 places you inside the Technodrome.

The level select menu's cursor has 8 locations defined, but only the first 6 are used.

Oddities

The level select menu is only present at all in the prototype; in the final, its associated game state (04:01) simply increments the substate and returns. The definitions for the menu screen and cursor locations were also removed.

RAM $0082

Memory address $0082 in the prototype is used for unknown purposes and seems to be a leftover with no clear purpose. Code at 4:$9855 (ROM offset 11865)) changes this value based on if the player is currently moving upwards or not, but uses buggy math from not initializing the carry register. The only known effect is, if this value is zero when returning from off the top of the screen (e.g. from Area 3's roof section), the player turtle will lose all collision, become invisible, and fall off the bottom of the screen, softlocking the game. (see this Bluesky video post)

In the final game, this value is only written once (at 7:$E828, ROM offset 1E838), initializing it to 01, and it is never read.

Technodrome location

In the final game, the Technodrome's position in Area 5 is chosen when the game starts from the title screen (7:$CB3E). In the prototype, this initialization is done in the level select instead (6:$BD96); starting the game normally leaves its value uninitialized.

A failsafe present in both the prototype (7:$E74E) and final (7:$E72F) will reset the location of the Technodrome if it is not one of the three valid options (2, 3, or 4), and will set it to either 2 (if it was ≥ 5) or 4 (if ≤ 1); in the prototype, starting the game normally will always place the Technodrome in the bottom left underground area.

End-of-bank signature

At the end of every program bank is a header, between the bank reset routine ($BFD8) and a copy of the CPU vectors ($BFFA):

Proto Final
"TMNTSAMP", 88-12-08
00 00 00 54 4D 4E 54 53 41 4D 50
08 08 01 02 00 08
"STINGER", (unknown)
53 54 49 4E 47 45 52 00 00 00 00
38 02 01 06 A4 1B

While the prototype appears to have a date code, it is not known what the final's data represents, if anything.


(Source: Original TCRF research)