Here's a mildly amusing case of a NES bootleg. As you may recall the original Japanese Super Mario Bros 2 was only released in Japan on the Famicom Disk System. It was, however, heavily bootlegged on cartridge and on multicarts. One such bootleg can be seen running on hardware here: SMB2 (LE10). You'll observe something strange right away: the status bar at the top scrolls with the game! Additionally if you make it to the end of the video you'll see the game apparently freeze on a black screen.

Now, this title has run in various emulators for years (in MAME sadly it's always been just a grey screen) and none of them AFAIK exhibit the real hardware bugs; the status bar stays nicely fixed, and players talented enough to make it to World 4-4 are pleasantly greeted by World 5-1 after finding out their princess is in another castle. Why? Because, not knowing how the cart actually behaves, clever folks deduced that the number of CPU cycles between VBLANK and the end of the status bar was about 5750. At least that got the game running smoothly so all was good.

Your humble narrator comes into the story at this point. In an attempt to get this game running in MAME I *also* mucked around with values around 5750 and had it running smoothly. I almost submitted a patch with a nice formula: PPU cycles * (# of lines after VBLANK + status bar height) per 3 CPU cycles etc etc. It occurred to me though, all the other bootlegs of this game have 12-bit IRQ counters. It further occurred to me that bootleggers like to borrow the work of other bootleggers. It further further occurred to me that bootleggers don't typically take pride in polishing up their handiwork and may not even had somebody around who was good enough at this tough little game to play test to the end of 4-4, even with warps!

It may not be the final word on this bootleg, maybe krzysiobal over at NesDev will give us a nice schematic someday soon, but in the meantime—with any luck and the blessing of the MAME devs—enjoy a nice SMB2 bootleg, 12-bit IRQ counter, broken status bar, and crashing at the end of 4-4 like the bootleggers...intended?

Last edited by kmg; 07/26/21 06:26 AM.