Open Clownacy opened 2 years ago
At the same time, if you know what you're doing, much of the code you mentioned can be migrated to ASM68K with little issue (at least SMPS2ASM and the Ultra DMA queue can be).
I actually find the ASM68K version easier to use, since you don't have to worry about recompiling tools with some program if you want to make larger modifications. Maybe this is just me being a noob, though.
EDIT: It took all day, but I managed to port Flamewing's SMPS2ASM back into something that ASM68K can use, maintaining all features yet still assembling bit-perfect Sonic 1 ROMs.
the entire point of using ASW is to not even have to do that. I am fine with that, as long as the asm68k branch just becomes a lesser branch that others can still use if they really want it.
I would say something about how many people hate AS, but I don't think any of them use this disassembly anyway so I guess it really doesn't matter.
Then we come to the whole debate about AS vs ASM68K ultimately. You can't win in the argument because both have some serious flaws. Until we have a better solution (eg someone creates a competent assembler), switching to AS branch as default would be a sensible alternative, provided Flamewing's fixed version of AS is implemented and improved upon, and tutorials are updated to reflect the change.
...I was going to make the change today, but I realised that I don't have the permissions to change the repo's default branch.
@MainMemory, could you do it?
@Clownacy I changed it.
Should we also rename the master
branch to something else, like asm68k
, for clarity?
Yes, I think that's a good idea. Thanks.
Whoops, maybe I should leave this open until the MapMacros and Project Sonic 1: Two Eight branches are rebased on the AS branch.
Also, I just pushed a noop merge to the asm68k branch (from the AS branch) so that changes committed to the AS branch can be merged "more easily" to the asm68k branch. We should no longer merge the asm68k branch into the AS branch.
I will take down all branches except one of my fork once this completes because they will officially be redundant
Perhaps the MapMacros and Project 128 branches should be split into ASM68K and AS versions?
Perhaps the MapMacros and Project 128 branches should be split into ASM68K and AS versions?
that would be a perfect idea, and for Sonic 1: twenty eight as well?
The problem with that is maintenance burden: it's bad enough that I have to keep 4 branches in sync with each other, so I'd really rather not bump that up to 6.
Project 128 is Project Sonic 1: Two Eight; I messed up the name.
Having 6 branches doesn't seem much worse to me, though, than s2disasm's 5 branches (master, megaplay, knuckles, classics, MapMacros). Then again, it's not like I've been able to handle much of the commit history here.
or we can bump it up to 8 if you prefer by adding a megaplay branch in each of the assemblers, or we can drop it to just 4: our as based branches and asm68k branch and if one wants something else,l they just fork it. the forks should still be accessible from the main repository and the one that wants an up to date asm68k sonic 1 with knuckles one, they could just fork the asm68k repository and pull changes into it over time. i.e. if they want 6 branches, they could just do what I was doing over these years, and they could simply just name their fork for an example, s1sidasm-asm68k-mapmacros-with-tails.
I don't want to be a complete repo-dictator, so I want to get some input from users and contributors before making this change.
The master (asm68k) branch is starting to lag quite a bit behind the AS branch: advantages that the AS branch has over the asm68k branch include...
Additionally, AS is the only supported assembler of the Sonic 2 and Sonic 3 & Knuckles disassemblies. Promoting asm68k as the default assembler contributes to fragmentation, making it more difficult for people to share code that works across all Git disassemblies. Examples of this are Flamewing's DMA queue, debugger, and sound driver, which are intended to be ported to either of the three games, but are incompatible with asm68k. I also frequently find myself referring people to the AS branch instead of the asm68k branch whenever I make a tutorial on porting assets from later games back to Sonic 1.
I suppose, if this goes through, then we may have to consider rebasing the MapMacros and Project Sonic 1: Two-Eight branches on the AS branch as well.