I just released a "Bugfix & Polish" hack of TMNT2 for NES, as well as hacks that lets the player switch the turtle they're playing by pressing Select for both TMNT2 and 3.
The TMNT2 bugfix hack already has 100 downloads in less than a day, so if the download counters are reliable (bots?), I thought some people might be interested in further details.
Links for reference:
TMNT2 Bugfix & Polish: http://www.romhacking.net/hacks/5722/
TMNT2 Turtle Swap: http://www.romhacking.net/hacks/5723/
TMNT3 Turle Swap: http://www.romhacking.net/hacks/5725/
TMNT4 run with L/R: http://www.romhacking.net/hacks/5812/
TMNT4 Balance Tweaks: http://www.romhacking.net/hacks/5820/
I know that TMNT3 already had two hacks that let players switch turtles, and credits go to them for doing it first, but they didn't change the palette nor the face/name on the hud, and considering that each turtle has different attributes (attack range, attack speed, etc) I thought it would be important to make a full character swap. My version also lets both players pick the same turtle if they want to.
As a side note, I also added some unused graphics on TMNT2's TCRF page and made these:
TMNT2 (uncomplete) RAM map:http://www.romhacking.net/documents/834/
TMNT3 character FAQ:https://gamefaqs.gamespot.com/nes/563469-teenage-mutant-ninja-turtles-iii-the-manhattan-project/faqs/79064
TMNT4 Character FAQ:https://gamefaqs.gamespot.com/snes/588779-teenage-mutant-ninja-turtles-iv-turtles-in-time/faqs/79134
TMNT THH Character FAQ:https://gamefaqs.gamespot.com/genesis/563348-teenage-mutant-ninja-turtles-the-hyperstone-heist/faqs/79141
Anyway - the meat of this is the bugfix hack for TMNT2.
I played this game a lot and I always felt that something was "off" about it but I could never put my finger on what it was, until I actually took the time to look at the game in details... turns out that a LOT of small things were off, mostly graphical issues with sprites: wrong tiles being used, tiles being misplaced, missing tiles, etc
My gut feeling tells me that development of the game ended before they had time to finish their bugfix & polish pass, the two mains clues to support this theory are the Footsoldiers, and the palette flickering for enemies. It's also worth noting that a tiny bit more polish was done in the Jap version, but even then not a lot and there were even mistakes in what was "polished" in that version.
Here is how it works: each different type of Footsoldier uses two sprite banks: one of those sprite banks (# 29, which goes from 04A410 to 04A800 if you want to look in YYCHR, you need to use FC/NES x16 pattern) is shared between all Footsoldiers and contains tiles which they all have in common: dmg'd frame, defeated frame, explosion, but also feet. Then, each Footsoldier variant also uses its own specific sprite bank on top of that. For instance, the "basic" purple Footsoldier, first one you encounter in the game uses bank #28 (04A010 to 04A400).
A polish pass on those footsoldiers was started by the devs of the game, but never finished, so some Footsoldiers used "final" tiles, but others used "beta" tiles. Most of the enemies in the first stage had that polish pass (basic purple Foot, knife throwing Foot, star throwing Foot), and most of the others didn't.
Now, the sprite bank that is shared between all Footsoldiers did get the polish pass, which is where the most obvious looking issues came from: indeed that bank has the feet for everyone, so in other words, most Footsoldiers used polished feet in combination with beta tiles for the rest of their bodies. This resulted in obvious discrepencies in the leg/knees areas. Here is an example, the gif compares the original game with the polish that I did:
In this case, the polish consisted in taking the polished tiles from the polished Foots and simplying copy-pasting onto the non-polished ones, because in a lot of cases there are a lot of tiles that are identical even in the non shared banks, indeed this Foot behaves mostly like the regular one, just with one less move, and the only reason it uses another bank is because they need the space to put the objects the player can interact with (the parking meter in this case).
However, in a lot of cases (gun Foot, spear Foot, hammer Foot, etc) some extra work was needed even after replacing the beta tiles.
As a side-note, here is an interesting case with the Katana Foot, check the section about him on TCRF: https://tcrf.net/Teenage_Mutant_Ninja_Turtles_II:_The_Arcade_Game#Katana_Foot_Soldier
The NTSC-U version uses polished tiles, but has the missing sword bit.
The Japanese version is not missing the sword bit, but uses beta tiles.
The interesting thing is that the Japanese version came out later. What I think happened: for the NTSC-U version, someone updated the Kanata's tiles to the polished version by copy-pasting the polished tiles in his bank, which erased the sword bit (indeed, the two sprites are identical except for that sword bit which is easy to miss). Then, the person who did the extra polish for the Japanese version wanted to fix that missing sword bit, so he reverted to the previous tiles, and thus gave him back his beta tiles in the process... of course it's also possible that the devs had two builds even before the NTSC-U release, and that the Kanata Foot was updated in the NTSC-U version and not in the Jap one, but considering the Jap version has some other extra fixes and features, I think my theory holds.
Now, the best part in all that, is that either version isn't completely proper. On TCRF, in the first frame notice the empty space above the backleg but also the wrong knee and shadow on that same leg in the second frame. That was an error with the sprite definition, some sprites of the upper body were offset 1 pixel too much to the left. This is actually the case for a couple of other Foot variants, so my theory is those definitions were fine for the complete beta Foot (which we don't know what they look like since we don't have the beta feet), and weren't updated even in the cases were the sprites were.
Anyway, I made a version of the Kanata guy that uses the polished tiles for everything, has the sword bit, but also fixes those offset sprites. I also did a small pixel fix on the shape of the kanata near the handle on one of the frames.
As I said, the second thing that tells me the game started having a polish pass which was never completed, is the palette flickering for bosses (and some enemies) when they get hit and are low on HP.
For about half of those bosses, the palette flickering behaves like this: PAL 3 -> PAL 2 -> PAL 3 -> PAL 2
But for the other halfs and all the enemies that have the flickering: PAL 3 -> PAL 2 -> PAL 3 -> PAL 1
Pal 3 is the enemies original palette, pal 2 is the red/orange palette, and pal 1 is the 2nd player's palette, which is where things look wrong. Indeed that palette not only looks terrible on enemies, but the colours also differs depending on which turtle the 2nd player has selected.
Here is a comparison, PAL1 on the left (notice that it matches Donatello), PAL2 on the right:
The point is, the fact that some bosses had the fixed pal cycle and some didn't, is the clue that the polish pass wasn't finished. It's also worth noting that not all enemies use the same code for this, some simply AND or EOR the value, some load the pal slot number from a small bank (which isn't always the same bank for all enemies due to different PRG banks, even though they could have fit those 4 bytes in the main PRG bank that is active at all time but let's not nitpick too much).
I'll spare you a copy-pasting of the long list of fixes and polish I did, you can find it in the readme. I also included a bunch of screenshots and gifs, here is one of the first and most obvious I did (top= original, bottom = fixed):
Last thing I'd like to share is that there is a bit of un-used content in the rom that afaik wasn't known about (it's not on TCRF at least), one I found completely by accident: I was working on the continue screen in order to add the missing sound (the title screen has a second when you go from one option to the other, but the continue screen didn't). I wanted to verify that the turtle face used as a cursor was indeed a sprite, I saw the number 74 in the RAM addresses for frame numbers, replaced that by 75 just to see if it would do something to the face... and suddenly the face was grinning at me. Obviously this is meant to happen when you press A/Start to select something so I added it in:
I found at least one other piece of un-used content that I'd like to share, but I need to present it properly and also check if there is more un-used stuff in there.
Thanks to SCD and rainponcho for their "Revamped" hack of TMNT2. I didn't use anything from their hack (everything we have in common but both took from the Jap version), but I did look at how they handled the Bebop defeated frame which in a way helped me a bit (even though I went for a completely different solution). My bugfix&polish hack is also compatible with Revamped, so if you want the extras from Revamped and these fixes, you can apply bugfix&polish onto Revamped.
Thanks to to Anonymous (?) and Ilya Indigo for their "weapons select" hacks for TMNT3. Again I didn't use anything from them but they deserve the credit for doing it first.