AMPS in Sonic 3 & Knuckles
AMPS in Sonic 3 & Knuckles is more or less what the title says: I’ve added AMPS to Sonic 3 & Knuckles. AMPS is a sound engine designed to have a lot of useful features, fix bugs and do it while being less demanding on the hardware. AMPS provides very clean sample playback on the Mega Drive, courtesy of the Dual PCM sample driver. AMPS is based on SMPS sound engines (Sonic games use different variations of SMPS), but improves upon them. AMPS is designed to be compatible with all different SMPS sound engines to a reasonable extent, so any music can be ported nearly perfectly! This ROM hack provides custom music edits on top of the Sonic 3 & Knuckles and Sonic 3D sound tracks. In total, there are 95 music tracks in here! I spent a lot of time setting all this up, including some time spent actually working on the disassembly because of a few issues with it. A lot of this stuff is still work in progress, so expect sound issues and general bugs! For more ranting and raving about the project, see the text after credits.
- AURORA☆FIELDS – The creator and main programmer behind AMPS, sound porting and other work.
- Nat The Porcupine – Help with the documentation, hardware testing, sound porting and other work.
- MarkeyJester – The creator of Dual PCM FlexEd, help with documentation for Sonic 1’s sound driver, helping with bug fixes, documentation, hardware testing, and creating the logo.
- ValleyBell – Provided the code for underwater mode, and is the creator of SMPS Research Pack.
- Vladikcomper – The creator of the error debugger used for AMPS, and for helping me learn about sound drivers.
- LuigiXHero – Help with porting many new additions between branches.
- Stardust Gear – Small additions and bug fixes.
- ralakimus – Help with bug fixes.
- FoxConED – Playtesting and suggestions, teaser video, hardware testing.
- VAdaPEGA – MDDC screen art, suggestions and helping with documentation.
- Hyper – Helping with documentation.
- Selbi – Help with the documentation.
- Ozaleto – Help with testing and documentation.
- Kurk – Help with testing.
- AkumaYin – Help with testing.
- SEGA & Sonic Team – Original Sound-Source 68k driver that AMPS is based upon.
Porting AMPS to Sonic 3 & Knuckles was one of the most difficult games to port. The disassembly was severely lacking in support for this kind of work. Some RAM addresses were not equated, none of the music was equated, there were several mistakes splattered around the disassembly that prevented me from installing AMPS. Because I needed to make room for the sound engines in RAM, I had to sort these issues out before I was able to make this space available. Even then, it was really difficult moving bits about to get a continuous block of RAM large enough to actually house the data, and fixing any glitches that came from this. I also had to document palette rotation scripts entirely to make them dynamically update palette addresses. Special stages were a mess of poorly or mistakenly documented addresses. Oh boy what a mess!
Deapite all this fun stuff, I made it work, qnd of course committed the updates back to skdisasm. You can thank me for making it slightly more usable. I wanted to show off AMPS a little more this year by filling it with lots of music from various games. Since porting everything from S3K and modifying AMPS to work with S3K, I already had the knowledge to port Sobic 3D stuff, which I did in a few days. Nat The Porcupine helped me a lot with corrections and all the sound effects, because now they sound great and correct. He also ported the Sonic 3D sound effects, not shown on the ROM itself. With only few days to go dor the actual contest deadline, I wanted to port Chaotix music. Originally combining 4 PWM channels by hand, it fell very out of sync and I gave up, so instead I wrote a tool to do it for me. It works almost perfectly, but I have to hand optimize every single track. Still, much better than expected!
I’ve now been ROM hacking for 9 years, and out of that, I’ve worked on SMPS stuff for almost 5, and AMPS for about 3 years. I feel like after a few things I have in my mind, and porting Chaotix music and sfx fully, I don’t have a lot to look forward to. I’ve kind of done everything I can think of, that wouldn’t drive me insane (AMPS music editor has always interested me but I can’t see working on something like that on my own). I clearly need some people who can work alongside me on this project, people who knows how stuff works and is willing to learn further. I’ve worked on all the new stuff in this ROM hack for hundreds of hours in total, and SMPS stuff in general a few thousand. I feel the results speak for themselves, but really without all the people who care about the project and want to help have been invaluable to me. Thank you, all!
Releasing AMPS in Sonic 3 & Knuckles will take quite a bit more time, as this was a hastily put together prototype. There is a lot of work to be done to support Sonic & Knuckles and Sonic 3 Alone builds. There are also unser the hood improvements dor both the games and AMPS needing to be done. Stay tuned for 2.2!