Sonic Spinball Research Disassemblies

Discussion in 'Showroom' started by BetaFilter, Apr 4, 2022.

  1. BetaFilter

    BetaFilter Newcomer Member

    Joined:
    Jul 28, 2021
    Messages:
    14
    Location:
    Canada
    I've noticed that not a lot of people talk about Sonic Spinball, and barely any of it has been properly documented either. I've decided to take a look at Sonic Spinball and document anything I can find. I'll highlight the most important finds first.

    So first off, inside the Sonic Spinball August 1993 Prototype contains a screen from the group PREMIERE from the old BBS scene group, and inside of that it says that the prototype was supplied by Winston (who seems to have gotten quite a bit of the Sonic Prototypes from the BBS back in the early 1990s). This screen is located at 0x103400 in the ROM, and at 0x120000 is the start of 8kb EPROMs from a July Prototype of Sub-Terrania dumped by FAIRLIGHT. Huge thanks goes out to ValleyBell and their GEMS tools, their tools are amazing! While using their tools, I got to find that there are actually quite a few sounds and songs in this prototype that were never properly documented, such as the incomplete version of The Machine (which is ID 00 in GEMS). The disassembly can be found here.

    Now onto the content that is non-prototype. First of all, the disassembly on Sonic Retro is very outdated, and I don't recommend using it as it wasn't disassembled properly as stated in the readme. I am making a disassembly of my own, which is going to disassemble each version of the game. Most of what I disassembled in IDA Pro is mainly code pointing towards text and pausing the game, as well as some other routines I will look into later. Majority of the non-disassembled code is hard-coded in C, which will be fun to disassemble. Yet again, huge thanks to ValleyBell and their GEMS tools, as the drivers are fully split and disassembled now. I've also heard that there is two compression formats in Sonic Spinball, those being referred to as C1 (which is already cracked by drx) and C2 (not yet cracked). If you'd like to look into this disassembly, go here.

    Important Note: These disassemblies will take a lot of time to complete, and they probably will never be complete, these are mainly here for research purposes.
     
    badnest likes this.
  2. NortonicVulkan

    NortonicVulkan Newcomer Member

    Joined:
    Nov 21, 2021
    Messages:
    22
    Location:
    Brazil
    Hearing that there may be a possibility to some type of Sonic Spinball disasm is nice. If we get to hack Spinball, we're done... right?

    Not like we can just go and.... hack Sonic Xtreme.... r i g h t ?
     
    BetaFilter likes this.
  3. badnest

    badnest Newcomer Member

    Joined:
    Dec 3, 2019
    Messages:
    20
    Location:
    Brazil Bad Future
    I actually enjoy Spinball. It'd be really fun to hack. Though there is one thing that always keeps me from fully enjoying the game: 30fps gameplay. I don't know how they even managed to need double the cpu time to process such a simple game. My guess is that it probably can run at 40/50-some frames per second max but they capped it at 30 so it doesn't look choppy. I'd also bet that with some optimizations we'd be able to get it running at fullspeed.

    Hey, could you please elaborate on the "hard-coded in C" part?
     
    BetaFilter likes this.
  4. BetaFilter

    BetaFilter Newcomer Member

    Joined:
    Jul 28, 2021
    Messages:
    14
    Location:
    Canada
    Basically the whole Sonic Spinball project was done using C, so there's a lot of commands like pea and link which IDA Pro does not like to work with, which is why I'm doing this disassembly without auto analysis. Oddly enough, chunks in Sonic Spinball are crunched down to 64x64 (which is half the size of the chunks in Sonic 2/3K). I'm assuming blocks were kept the same as all other Sonic Mega Drive titles, which is 16x16. Plenty of code in Sonic Spinball can be optimized to it's full potential, and there appears to be a bunch of duplicated code in the same area (probably used as padding).
     
    badnest likes this.
  5. Jareth247

    Jareth247 Well-Known Member Member

    Joined:
    Nov 17, 2011
    Messages:
    136
    I'd personally totally *ahem* with a Spinball hack. Years ago, I came up with an idea to turn Sonic 2 into a sequel of sorts. Basically just redo the levels as giant pinball areas. Since I never had any hacking skills, serving more as a patron of sorts, the idea never got past a vague concept.

    I went with *ahem* because I don't remember if we can say the f-word or not.

    ROSE NYLUND: Which f-word?
    DOROTHY ZBORNAK: FARFIGNEWTON, ROSE!