Sonic Advance 2 decompilation

Discussion in 'Engineering & Reverse Engineering' started by freshollie, May 7, 2022.

  1. freshollie

    freshollie

    Member
    4
    31
    13
    Hey!

    I've been working on a decompilation of Sonic Advance 2 for a few months now: https://github.com/freshollie/sa2

    The original game was written in C, and we have all the tooling in place to build GBA games from their original C source, so the goal of this project is to produce an entirely matching copy of Sonic Advance 2.

    Current status

    - The game has already been fully disassembled to Arm assembly
    - MIDI copies of all the songs have been extracted and are compiled to match the originals and packed into the ROM
    - Currently in the process of producing matching C code for the original assembly (5% done)
    - The repo already produces a matching copy of Sonic Advance 2 (USA)

    What help is needed?

    C source decompilation: Anyone with knowledge of reverse engineering, and specifically producing matching C source from assembly functions. I've learnt a lot over the past few months, but my pace of function matching is slow. It would be good to have more people onboard who have either are already familiar with this stuff or have a good background in programming and are willing to learn.

    Data analysis: At the moment lots of the data is referenced from the original rom (Mostly the graphics assets). People who have specific knowledge on how to extract these to matching PNGs and PAL files would be great!

    Why Advance 2?

    It's the game I played as a child, and already owned a copy of, but it's also the game which had already been disassembled by another GitHub member (credits in repo) which meant I was able to start off without having to completely start from scratch.

    The advance series likely share a large amount of the same sourcecode, so starting with any of the games will help produce a match for the others in the series.

    So you are interested?

    Great! I'm new to this community, so it would be good to know where communication takes place (discord, IRC etc) for collaboration.
     
    Last edited: May 7, 2022
  2. Alex Field

    Alex Field

    シュート! カオス・エメラルド・ザが消えようとしている! Member
    175
    108
    43
    Downunda, Mobius
    Sonic the Hedgehog 2+, Sonic the Hedgehog 3+
    Pretty cool; the Advance games really don't have much in the researching and ROM hacking scene (the only hack of the series I could find was one of Advance 3 that changes the text... and that was all).
     
  3. Hivebrain

    Hivebrain

    Administrator
    2,958
    71
    28
    53.4N, 1.5W
    HiveView
    This could open the possibility of ports of Sonic Advance 2, maybe even to the Mega Drive.
     
  4. MrMechanic

    MrMechanic

    Member
    181
    156
    43
    Someone page the Vita homebrew community...

    Sonic Advance on the Vita as an actual port would be very nice.
     
  5. Spanner

    Spanner

    The Tool Member
    3,335
    137
    43
    United Kingdom
    Sonic Hacking Contest
  6. Starduster

    Starduster

    The next stage of evolution for himbos Member
    909
    513
    93
    Britain
    Art...always art...
    This is immensely exciting! Sonic Advance 2 was also one of my formative Sonic games and I think cracking this open will lead to fantastic places. Obviously, the most immediate of those would be a PC port of the game in widescreen, perhaps even cleaning up some of the more unfortunate level design snafus, but imagine character mods! Imagine an accessible level creation tool that could bring about a dedicated Advance 2 hacking scene! Advance 2 in particular is a game that has never really been done again, particularly with regards to the simple yet wonderfully freeform trick system that affords players so many movement options. I hope this'll lead to fan projects that wring every last drop of potential out of Advance 2's gameplay.
     
  7. biggestsonicfan

    biggestsonicfan

    Model2wannaB Tech Member
    1,435
    301
    63
    ALWAYS Sonic the Fighters
    As someone working on their own disassembly (and to a much lesser extent a decomp) this is impressive stuff! Well done!
     
  8. freshollie

    freshollie

    Member
    4
    31
    13
    Thanks for the feedback all. Good to hear others are really interested. It's gonna be a really long process but let's see where it goes!
     
  9. Jeffery Mewtamer

    Jeffery Mewtamer

    Blind Bookworm Member
    1,674
    11
    18
    Considering Sonic Advance 2 is the one game I ever seriously Speed ran, it's great to hear it finally getting some attention from hackers... and now I wish I could fire up VBA to play this game again... Or still had my original cart and DS and could play them.
     
  10. Aerosol

    Aerosol

    Not here. Moderator
    10,947
    304
    63
    Not where I want to be.
    Sonic (?): Coming summer of 2055...?
    This is very relevant to my interests.
     
  11. Dark Sonic

    Dark Sonic

    Member
    13,939
    1,101
    93
    Working on my art!
    Same. So with this could it be possible to maybe port this to PC with more screen space visible so maybe said game would be more playable?

    That's the dream right there (oh that and a mod that overhauls the bullshit emerald system that game had. Literally the ONLY Advance game that made you get the the emeralds as every character and they were basically impossible to get to unless you memorized the level)
     
  12. freshollie

    freshollie

    Member
    4
    31
    13
    Once the whole game is decompiled it may be possible to port but I wouldn't know how. Remember that these games were designed specifically for the GBA hardware, so lots of code is hard coded for the GBA screen sizes and uses specific registries which would render to screen etc
     
    • Like Like x 1
    • Informative Informative x 1
    • List