Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Branch for Sonic 2 betas ? #11

Open
GabrielRavier opened this issue Nov 22, 2017 · 3 comments
Open

Branch for Sonic 2 betas ? #11

GabrielRavier opened this issue Nov 22, 2017 · 3 comments

Comments

@GabrielRavier
Copy link
Contributor

GabrielRavier commented Nov 22, 2017

Should we do a branch for the Sonic 2 protos ?

@Clownacy
Copy link
Member

There are already disassemblies for many of the betas, just not on this repo. The problem is the process of merging them. It's basically impossible without starting over from scratch (and depending on which beta we're talking about, even that may be completely unfeasible).

If we're going to incorporate other disassemblies, I think it's only right to match them to the current disassembly's style. Makes it easier to spot the differences, you know? Not to mention, it helps with compatibility, and avoids the fragmentation that comes with every disassembly having a different style.

Problem is, overhauling a disassembly to closely resemble this one is a crazy task. I remember just overhauling Sonic 1's sound driver from Hivebrain to Git-style being an absolute nightmare of tedium.

That's why, when I came to add REV00 and REV02 disassemblies to this, I started from scratch, using a binary diff on two ROMs, and gradually editing the existing REV01 disassembly until it matched. Even then, this was only feasible because the three revisions are very similar (even if REV02 had me manually adjusting thousands of different bits of machine-generated linker data).

Imagine the amount of work needed to diff Sonic 2 Final from Sonic 2 Nick Arcade? That thing still used Sonic 1's driver: imagine how much else is just from Sonic 1. REV02 pales in comparision to that, and that thing took what felt like weeks of just changing short branches to long jumps, removing JmpTos, and padding dc.b instructions.

I've even been putting off making a 'Knuckles in Sonic 2' branch, because of how much work it would take. Not to toot my own horn, but looking at the commit history, I feel like I'm one of the only people that work on this disassembly anymore, and I'm pretty sure if I were to take on something that makes REV02 look tame, it would probably kill me.

@GabrielRavier
Copy link
Contributor Author

Randomly stumbled upon this 6 years later - I guess you might as well just close this as a WONTFIX if it'll never happen.

@Clownacy
Copy link
Member

Randomly stumbled upon this 6 years later - I guess you might as well just close this as a WONTFIX if it'll never happen.

WONTFIX, eh? After nearly 7 years, I've finally added a branch for Beta 8! The next time that I have the motivation, I can chip-away away at the earlier betas too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants