shawngmc / game-extraction-toolbox

Python tools for extracting ROMs from games and investigating files
MIT License
66 stars 7 forks source link

Future: TMNT Cowabunga Collection #17

Open shawngmc opened 1 year ago

shawngmc commented 1 year ago

Source: https://store.steampowered.com/app/1659600/Teenage_Mutant_Ninja_Turtles_The_Cowabunga_Collection/

Status:

The most likely location for the TMNT1 NES data, based on Process Explorer analysis, is at Offset 0x1E8E7630D, Length 262160 (10 bytes more than the 256KB we would expect for a 256KB NES ROM) It's also unclear what the immeadiate preceding read at 0x1E8E762B7 for 30 bytes is, but it reads a preceding 30 bytes for EVERY file it reads. Is this 30 bytes metadata or a key? These 30 byte chunks, as looked at for a few reads, seem to have even distributions and no recognizaeble structure. Possibly encrypted or a key itself?

Games: • Teenage Mutant Ninja Turtles (Arcade) • Teenage Mutant Ninja Turtles: Turtles in Time (Arcade) • Teenage Mutant Ninja Turtles (N) • Teenage Mutant Ninja Turtles II: The Arcade Game (N) • Teenage Mutant Ninja Turtles III: The Manhattan Project (N) • Teenage Mutant Ninja Turtles: Tournament Fighters (N) • Teenage Mutant Ninja Turtles IV: Turtles in Time (SN) • Teenage Mutant Ninja Turtles: Tournament Fighters (SN) • Teenage Mutant Ninja Turtles: The Hyperstone Heist (SG) • Teenage Mutant Ninja Turtles: Tournament Fighters (SG) • Teenage Mutant Ninja Turtles: Fall of The Foot Clan (GB) • Teenage Mutant Ninja Turtles II: Back From The Sewers (GB) • Teenage Mutant Ninja Turtles III: Radical Rescue (GB)

shawngmc commented 1 year ago

On the plus side, this appears to be feasible via https://github.com/Masquerade64/Cowabunga However, this might fall under decryption.

Feilakas commented 9 months ago

Decrypting the asset.pie works and results in a standard zip file that includes a "roms" subfolder.

The home console roms are immediately functional, however the two "Arcade" roms, found inside the "Konami" folder, are formed in a non-standard way, with files such as ".audiocpu", ".eeprom" ".maincpu" etc.

The following is a bash script that performs the conversion to "proper" ROMs. https://github.com/farmerbb/RED-Project/blob/master/ROM%20Extraction/tmnt-cc-arcade-extract.sh

It also uses the following conversion python tool: https://github.com/twistedsymphony/ts_rom_tool/blob/master/ts_rom_tool.py

Could these be incorporated into this game-extraction-toolbox (or perhaps a separate all-in-one tool specific to this collection because of the need for decrypting)?