2009-10-25

HAZE MAME (2009/10/24) PART1

Hang-On a Second

The developer said:

One of the more interesting things that the Dumping Union turned up and dumped recently was an alt. version of the Sega classic ‘Super Hang-On’
It had been common knowledge for a while that there was an undumped variant of the game because the bootleg that was supported in MAME was clearly derived from an undumped set running on Hang-On hardware. It was also clear that the undumped version should use an encrypted FD1094 CPU on the sub-cpu as there were remnants of encryption state changing code in the bootleg ROMs.

What we didn’t expect to see was a game that played in a significantly different way to the existing sets.

Initially I thought it was going to be bad news as far as emulation of this new set was concerned, I’d hooked it up in the driver making a few changes in the process as all the existing system-16 games have the main CPU encrypted rather than the sub-cpu, but there was a problem.

The code simply crashed on what looked like an attempt to take the interrupt routine and a quick romcmp on the encryption key revealed a ‘fixed bits’ problem (which is often an indication of a bad rom dump) At this point I feared the worst, a bad key could indeed cause the decryption to fail, which matched with what I was seeing.

Luckily it turned out to be something less severe than that, I’d mistaken the CPU being reset for an interrupt being taken (both cause the CPU to jump to a new address). The problem was that when the CPU was being reset the FD1094’s encryption state wasn’t being; this was the first game we’d seen where another CPU could reset the encrypted one, and thus that case wasn’t handled.
After fixing that the game booted, and the differences were surprising.

In Super Hang-On the main gameplay difference is the introduction of the Super Charger, which allows your bike to go from ~280KMph to ~325KMph when activated, with flames coming out the exhaust.

Oddly, in playing the new version I was able to reach ~325KMph without the use of the Super Charger, the top speed of the bike under normal conditions was effectively much higher and pressing the Super Charger button had no effect at all. A quick look at the test mode showed that S.C (Super Charger) wasn’t even listed in this version, instead two new inputs, Foot Switch Left / Right were. I mapped these wondering if they’d have a similar effect to the Super Charger, but they didn’t, actually oddly enough they don’t seem to do anything.

With this changed gameplay the new version of Super Hang-On that was dumped plays much closer to the original Hang-On, and that is probably the secret behind the changes seen in it. This version was almost certainly designed as a Hang-On conversion, and the Hang-On sit-down cabinet doesn’t have a Super Charger button. In order for the conversion to work it was required that Sega modified the game in order to not require the Super Charger to play hence the changes seen.

For whatever reason the bootleg version based on this has the Super Charger behaviour restored, but I’m at a loss to explain the bootleggers thought process in this case, there were unprotected versions of Super Hang-On anyway, so bootlegging the Hang-On conversion, which was protected seems like a less obvious choice than bootlegging those; I can only assume they wanted to sell their own upgrade kits, but then that doesn’t make sense due to the Super Charger being enabled in the bootleg. There are some things that we’ll probably never know.

Both this version and the bootleg have a slight scrolling glitch on the right hand side, visible when you start the race and on some corners. I don’t know if this is an emulation glitch, or a limitation of the Hang-On hardware / bug in the conversion (there are some obvious bugs in some other Sega conversions such as the System16A Tetris).

Anyway, it’s good to see this rare version of Super Hang-On emulated, so a big thanks goes out to the Dumping Union and all those who contributed towards finding it, and buying it so that it could be studied.
EmuCR:HAZE MAME (2009/10/24) PART1I’ve also been helping TDU with a few other things, but this one struck me as really worth writing about.


Source:http://mamedev.emulab.it/haze/

0 Comments

Post a Comment