Sonic and Sega Retro Message Board: Sonic 2 REV02 - Sonic and Sega Retro Message Board

Jump to content

Hey there, Guest!  (Log In · Register) Help
  • 2 Pages +
  • 1
  • 2
    Locked
    Locked Forum

Sonic 2 REV02

#16 User is offline Sodaholic 

Posted 15 November 2018 - 10:58 AM

  • frog blast the vent core
  • Posts: 1150
  • Joined: 05-September 04
  • Gender:Male
  • Location:Lh'owon
Very interesting stuff, I had no idea there were so many variants, or that the sprite flipping bug was exclusive to the Classics version.

As for why S&K would support REV02 even without an apparent standalone release, it would make sense that they'd include it anyway because the people working on it probably had no idea whether the revision would be released standalone (and they probably just assumed that it would be or already was). That, and I imagine REV02 would already be used internally, superseding any use of prior revisions (short of testing for compatibilty, ofc).

This is probably going to sound silly and dumb, but I wonder if there's a way to use that checksum to somehow isolate binary differences until you get a ROM with the same checksum, even if only theoretically.
This post has been edited by Sodaholic: 15 November 2018 - 11:00 AM

#17 User is offline Wafer 

Posted 17 November 2018 - 02:29 AM

  • Posts: 9
  • Joined: 28-November 17

View PostSodaholic, on 15 November 2018 - 10:58 AM, said:

This is probably going to sound silly and dumb, but I wonder if there's a way to use that checksum to somehow isolate binary differences until you get a ROM with the same checksum, even if only theoretically.

I haven't tried, but assuming that the checksum of a REV02 built from the disasm falls short of the listed checksum, then you could just pad the ROM with junk data to make up the difference, so long as it's nowhere that the working game code could run into. If OTOH the listed checksum falls short of a disasm build, the task is maybe harder because you've got to try and lower the resulting checksum without sacrificing necessary code.

As I understand it, the checksum is only adding words up without any multiplication, so I don't think there's enough information there to try and derive anything close to the actual "intended" build for REV02. Because each word is added straight up regardless of position, there's nothing to derive the position of where the word was in the binary.

A = 1 + 2
B = 2 + 1
C = 3
If D = 3, you still don't know whether it's a result of A, B or C.

Just basing this on what I've read about the checksum and some highschool maths, so take it all with a pinch of salt.
This post has been edited by Wafer: 17 November 2018 - 02:47 AM

  • 2 Pages +
  • 1
  • 2
    Locked
    Locked Forum

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users