don't click here

Sonic Advance 2 decompilation

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

  1. freshollie

    freshollie

    Member
    21
    158
    28
    Hi all,

    To update, the game is now ~80% decompiled. However, the number of non matching functions has been increasing as we are forced to decompile more complex parts of the rom.

    The majority of the remaining code is from bosses, so I'm focusing on tackling those at the moment. I expect to reach 100% matching by the summer, but that totally depends on how much external help we get with matching the growing list of non matching functions.

    SA1 is also being worked on by Jace, the repo for that is here https://github.com/SAT-R/sa1
     
  2. Iko MattOrr

    Iko MattOrr

    Member
    64
    29
    18
    I'm happy that the decompilation is making progresses and it's now shiftable, though I feel a bit sad that I was unable to help you. I really wanted to learn and do something to help.

    I still love this game and I'm still very interested in this project, I'm sorry for leaving the discord all of a sudden... I mean, it's not even that it was too hard for me, I was actually learning, slowly (I still have some of those tabs about assembly open in my browser)... it's just that real life stuff got in my way and I lost track of what I was doing, after months of hiatus.

    I'm still looking into making my own levels for this game some day. Thank you for this great work!
     
  3. freshollie

    freshollie

    Member
    21
    158
    28
    Long time with no update, apologies but I've had a pretty busy year.

    We are at 99.2% progress with (possibly 95% matching). The game now compiles for PC (thanks mostly to Jace) so some of you may have seen some special screenshots posted over the last couple of weeks.

    Screenshot 2024-10-17 at 01.51.44.png

    Stage speedrun video here: https://xcancel.com/grinderskyy/status/1846704723191075304
     
    Last edited: Oct 17, 2024
  4. PsychoSk8r

    PsychoSk8r

    PsychedelAnt | Tone Turner Oldbie
    2,693
    96
    28
    Birmingham, UK
    30 Day Project: Revisited.A New Release!
    Ooo hi-res Advance 2 is gonna make a lot of people pretty happy.

    Screen crunch was quite a common complaint IIRC
     
  5. MBeca

    MBeca

    Member
    29
    37
    13
    Outstanding work, I'm super excited! You're making a lot of people's dream a reality
     
  6. sayonararobocop

    sayonararobocop

    Member
    347
    123
    43
    Without the screen crunch it's like a different game!
     
    Last edited: Nov 3, 2024
  7. I'm very excited for this. :O
     
  8. LordOfSquad

    LordOfSquad

    bobs over baghdad Member
    5,270
    306
    63
    Winnipeg, MB
    making cool music no one gives a shit about
    Me too. Expanded camera and the prospect of new (better?) levels is a dream come true. Very impressive work.
     
  9. freshollie

    freshollie

    Member
    21
    158
    28
    Jace got audio working, so some more footage. Also lots more matching improvements so the levels are very playable now.

     
  10. Snowbound

    Snowbound

    Member
    932
    767
    93
    This is mind blowing!!!! The decomp team is doing fantastic work!
     
  11. McAleeCh

    McAleeCh

    Oldbie
    1,562
    591
    93
    Looking great so far, keep up the good work! The more I see of this, the more I feel Sonic Advance 2's level design benefits greatly from having a much wider viewing area; it looks like it allows players time to react to hazards etc. which in the original version just felt plain unfair.

    I hope the addition of audio means there'll eventually be a way to swap out the music for high-quality versions; I know someone who goes by Nuclear was tracking down the original high-quality samples with the goal of eventually remastering the Sonic Advance trilogy's soundtrack, though I don't know if the project is still ongoing. They definitely got at least a few tracks done from the first and second game; here's their take on Hot Crater Act 2, a link to download the other tracks they've completed can be found in the video's description:


    That was posted on the "Church of Kondo" channel, but it looks like there's a link to their own YouTube in the description too - could be worth giving them a shout, showing them what you've been working on, and asking if the music remaster project is still ongoing. = )
     
    • Like Like x 2
    • Agree Agree x 2
    • List
  12. freshollie

    freshollie

    Member
    21
    158
    28
    The project is using the original sound engine code, and emulates some of the GBA hardware used for wave sound effects. The instrument samples used in the original songs can in theory be swapped out for high quality samples.

    The samples used in the game are all stored here: https://github.com/SAT-R/sa2/tree/main/sound/direct_sound_samples, we have attempted to name them based off the research by Nuclear and others.
     
    • Informative Informative x 5
    • List
  13. Battons

    Battons

    Shining Force Fan Member
    Excellent work, glad to see you’re still making significant progress on this. Can’t wait to give it a shot as the small screen size is what killed this game for me.
     
  14. Iko MattOrr

    Iko MattOrr

    Member
    64
    29
    18
    This is great, impressive!
    The extended camera makes the levels look less linear and also less unfair indeed, it would be great for exploration, especially the SP rings hunt.

    I'd like to ask if is now possible to move water blocks? I would like to experiment with water at some point, it's so underused in the original game.
     
  15. Azookara

    Azookara

    yup Member
    This project is awesome, I'm really excited to try Sadv2 with all the QoL updates.

    Question though: Is there going to be options to change the screen resolution to what you'd like? Because while I found the original screen to be far too crunched, this honestly seems a bit far away. I'd wanna play in a resolution closer to the classics / Mania's sprite proportions.

    [​IMG]
    Like this mockup, I guess.
     
  16. Snowbound

    Snowbound

    Member
    932
    767
    93
    I’ve been seeing people post widescreen videos of Sonic Advance 2 on twitter. I went to this project’s github page which says the “The build is 100% from C files with 80 functions which currently don’t match”. It seems there is still work to be done on “The "sub games" (Chao Garden and Collect The Rings) {which} have been disassembled but not yet decompiled”

    I am in absolute awe of this team. The videos I’m seeing are incredible and I’m looking forward to the decomp/port being completed. I’m not a tech person so I apologize if I misunderstood any of the github comments
     
  17. Epsilonsama

    Epsilonsama

    THE FASTEST TAPE ALIVE! Member
    694
    44
    28
    Earth
    Gotta say, this is an amazing work. The fact that we have a working PC port is outstanding. I compiled and tested the windows version and it runs pretty great. There's graphical glitches and the Special Stages and Final Stage dont really work well but what we have here so far is great.

    sadv2cmz.png
     
    • Like Like x 2
    • Informative Informative x 2
    • List
  18. With the decompilation also done, I think it's the perfect time to bring attention to the fact that a prototype build of Sega Rally Championship has half of an unfinished Advance 2 European prototype in it, starting at 0x800000 in the ROM. It's possible to import the data into a final European copy, although it causes severe graphical issues. Maybe one day it can also be ripped apart?
     
    • Informative Informative x 3
    • List
  19. freshollie

    freshollie

    Member
    21
    158
    28
    I was curious, so I did an investigation. Indeed, the rally prototype does contain the end of the rodata from the sonic advance 2 europe rom. However, there isn't much evidence to indicate that this is a sa2 prototype: https://github.com/SAT-R/sa2/blob/main/docs/PROTOTYPES.md

    The differences when compared to the actual rom seem to be as a result of the corruption which somehow meant this rom ended at the end of the rally prototype.

    Maybe this prototype cartriage was used for multiple games and they didn't wipe it between uses.

    The fact the addresses align perfectly with the europe rom, aside from the corrupted segments, and the collect the rings sub rom matches at the end of the rom. And also the "corrupted" segments sit on specific memory boundaries.

    I could dive deeper into the differences. But it's very likely that a prototype rom wouldn't have exactly the same memory addresses as the released rom.
     
    • Informative Informative x 5
    • List