TMNT 1989 Classic Arcade (XBLA)
Since the Cowabunga Collection omitted the opening theme on the ROM of the first TMNT arcade game and Teenage Mutant Ninja Turtles 2: Battle Nexus removed the original music and voice sample altogether, I've been thinking about how to obtain a (mostly?) unaltered ROM of the game, and I remembered that it was released on XBLA at some point. It got delisted fairly quickly, but I managed to find a prototype version. I don't know if prototypes are allowed around here, so I won't post the link. But that website is a real hidden palace for prototypes and unreleased games.
From what I can tell, this is a standard Backbone re-release of an arcade game, meaning there's a file named tmnt.rom which should contain the individual files required to build a ROM. Same as some of the other Konami games on XBLA, such as Track & Field. In theory, the ROM should be extractable using tools such as BSwap and bcut. I tried to compare the files extracted from the Cowabunga Collection against tmnt.rom in a hex editor, but none of them were a match. Does anyone have any advice on how I could extract a working ROM from that file?
Edit: Here's the link to the prototype: https://hiddenpalace.org/TMNT_1989_Classic_Arcade_(Feb_27,_2007_prototype)
Prototypes and unreleased games are definitely allowed here 🙂
After you extract the files using WxPirs, open the tmnt.rom file with a hex editor (I recommend hexedit). Use binman which you can download here https://jammarcade.net/programs/ Also use a site like luckyrabbit mame as a reference: https://mame.spludlow.co.uk/Machine.aspx?name=tmnt Follow these directions: 1)From address at 0-262,144 copy the data and paste it to a new file. Then save it. Now open the file in binman. Deinterleave the file and you will get the roms 963-x23.j17and 963-x24.k17 2) From address at 262,144 to 393,216 copy the data and paste it to a new file. Then save it. Now open the file in binman. Deinterleave the file and you will get the roms 963-x21.j15 and 963-x22.k15 3) From address at 393,216 to 425,984 copy the data and paste it to a new file. Then save it. This is the audio cpu and name it 963e20.g13 4) From address 425,984 to 950,272 copy the data and paste it to a new file. Then save it. This is rom 963a28.h27 5) From address 950,272 to 1,474,560 copy the data and paste it to a new file. Then save it. This is rom 963a29.k27 6) From address 1,474,560 to 1,998,848 copy the data and paste it to a new file. Then save it. This is rom 963a17.h4 7) From address 1,998,848 to 2,523,136 copy the data and paste it to a new file. Then save it. This is rom 963a18.h6 8) From address 2,523,136 to 3,047,424 copy the data and paste it to a new file. Then save it. This is rom 963a15.k4 9) From address 3,047,424 to 3,571,712 copy the data and paste it to a new file. Then save it. This is rom 963a16.k6 10) From address 3,571,712 to 4,096,000 copy the data and paste it to a new file. Then save it. This is rom 963a25.d5 11) From address 4,096,000 to 4,227,072 copy the data and paste it to a new file. Then save it. This is rom 963a26.c13 12) From address 4,227,072 to 4,358,144 copy the data and paste it to a new file. Then save it. This is rom 963a27.d18 13) From address 4,358,144 to 4,358,400 (end of file) copy the data and paste it to a new file. Then save it. This is the prom 963a30.g7 14) There is no data for the other prom so just make a dummy file that is 256 bytes long and name it 963a31.g19 15) Put all of the files into a folder named tmnt and put it in your roms folder. Then try playing the game.
I have uploaded a python file that chatgpt made for me. It works by playing it in thonny. Just make sure that tmnt.rom is in the same directory as the script tmntextract.py when you run it. tmntextract.zip
Thank you for the thorough explanation and the script!
Just to understand the process behind it, how would I go about identifying the necessary chunks of data in the ROM file, is it just trial and error or are there any resources? And how do you identify which chunks of data need to be deinterleaved?
We know from looking at the lucky rabbit mame site that the first two CPU chips are 131,072 bytes and they have an offset 0 and 1. Since they are CPU chips they are probably interleaved in the tmnt.rom file. So we write a python script to pull the first 262,144 bytes and deinterleave them. The next two files are CPU files and the lucky rabbit mame site shows that they are 65,536 in size. Let's assume they are interleaved in the tmnt.rom file. So pull 131,072 bytes from the next file and deinterleave. The rest of the files are simply a matter of copying and pasting the correct rom size to new files. Use the python script that I wrote for the code. Hope this helps.