don't click here

Sonic CD Hacking

Discussion in 'Engineering & Reverse Engineering' started by Kharen, Jul 22, 2012.

  1. I was thinking about the different processes behind hacking Sonic CD, or at least what I've managed to pick up from reading different conversations about the topic on this site, and had a couple questions I'd like to ask. I recall reading that each level is programmed as though it is its own game, and that you can change things on a per-level basis. If I were to make it so there would be different levels where you play as Sonic, levels you play as Tails, and levels you play as Knuckles, could I just copy and paste the character code after implementing it once, or are there individual things that I would need to set and have to manually go into each one and do every single level by hand?

    My other question is if it's a difficult process to rearrange levels. I was thinking about removing the time travel gimmick and using each version of each level as its own unique level, to add length to the game. (Actually, I wanted to do things like Sonic Adventure, where each character has their own unique story, and they go through different levels when you play as them, but simple ideas first.) I've never hacked a Sonic game before, and this would probably be a casual spare-time project instead of trying to produce something all at once. (5 minutes here and there, doing things as the ideas come to me instead of having everything planned out at once), so most of what I want to know is just idle curiosity, not preparing for some huge crazy project. Still, for some reason it's bugging me and I would like to know.
     
  2. Ravenfreak

    Ravenfreak

    2 Edgy 4 U Tech Member
    3,091
    187
    43
    O'Fallon Mo
    Sonic 1 Game Gear Disassembly
    I've only hacked Sonic CD a tad bit, but you're right about how each MMD file is a different level. And there's code for Sonic in every single MMD file, so it's possible to change that code. However, it'll have to be done in hex only, as there is no disassembly. I'd probably wait for a disassembly of Sonic CD to modify it, if you're not familiar with hex. It's not a simple copy and paste task, you'll have to go in and alter some RAM addresses, which there's not too many documented atm. And there's tons of MMD files for every level, so you'd have to find Sonic's code in each of them to even modify it. As for rearranging levels, that also won't be so easy. You'd have to find the time travel flag, and disable it. (Of course disabling it won't be difficult, however finding the flag could take a while...) and then, you'll have to modify the next act/level code to even load the past and present levels. I suggest that if you really want to hack a Sonic game, start with Sonic 1 since it's been heavily documented and there's plenty of tools you could use. But if you really want to hack Sonic CD, start small. Also qiuu and snkenjoi are the ones behind Sonic CD ++, so if you ever do hack Sonic CD and run into some problems you could ask them, since they seem to know a bit about the game. I hope this helps. :)