Proof of Concept Hack: Hyper Sonic in Sonic 3

While this is essentially a 'random hack' that could have been posted in the RH/MP thread, from what I've seen, there's only been one plain Sonic 3 hack made, and it was back in 2002. Therefore, I don't think anyone will fault me for giving it a thread of its own.

Download (w/ source).NOTE: Doesn't work in Fusion, no clue why. Works fine in Regen, and I wasn't really interested in working on it any longer. Installed Flamewing's debugger to try and find out what was wrong with it, and it wouldn't even display a message from an 'illegal' opcode, in contrast to Regen.

Thought I would include the source to show how I did it. I downloaded a plain S3 ROM, found the relevant addresses and patched them to jump to address $204000; the first free address in Sonic 3 (and following that, whatever free space I needed after $204000). After that, I incbin'd the ROM and aligned the addresses to the addresses I had previously patched. From there, I could include my own addresses in assembly. Do note that I haven't really bugtested it beyond some simple tests for crashes in Angel Island zone. Enjoy!

Credits:

Flamewing - Debugger

EDIT: Forgot to tell you how to play:

When Sonic zooms in during the title screen, when you'd put in the level select, press any button. This will unlock the level select, debug and Hyper Sonic. Remember to press A and Start when a level loads. Collect 50 rings at any time, and you can transform into Hyper Sonic. If you don't, Super Sonic will appear when you collect the seven emeralds.