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

FastROM? #514

Open
CPColin opened this issue May 25, 2024 · 3 comments
Open

FastROM? #514

CPColin opened this issue May 25, 2024 · 3 comments

Comments

@CPColin
Copy link
Collaborator

CPColin commented May 25, 2024

I'll probably hate myself for filing this, but what would it take to make the Z3 side act like it's on FastROM? It sounds like banks $80-$FF get the fast access. Z3 lives in banks $00-$1E, according to this disassembly. Vanilla SM has free banks in $E0-$FF, according to this disassembly. Per this thread, patching Z3 involves updating the address of every JML and JSL instruction and some addresses in lookup tables. Per this patch for the ALttPR ROM, bank $1F is in play, too.

For our purposes, we'd also have to update addresses of any patches we're applying to Z3 to support SMZ3. We'd also have to make sure we're not clobbering any of the SMZ3 code, if it lives in the banks we need. It might be doable! But it might also drive me insane and be terrible!

@MattEqualsCoder
Copy link
Collaborator

From my understanding, the way SMZ3 is currently coded doesn't work for making Z3 compatible with FastROM unfortunately. At least that's according to Total on the mainline SMZ3 discord.

I had a brief discussion with him about the new Z1M1Z3M3 project which is compatible with Z3 FastROM, and according to him a lot of the cross game stuff for that is done via SA-1. My best guess as to why the current SMZ3 is incompatible is due to how it manages some of the cross game code, but that's just a theory.

So it's probably doable, but would involve some rework.

@CPColin
Copy link
Collaborator Author

CPColin commented May 25, 2024

Yeah, looking at transition.asm, they are indeed using a bunch of those banks already. Maybe we wait until Z1M1Z3M3 matures and then re-fork off that?

@MattEqualsCoder
Copy link
Collaborator

Yeah, that's sort of my gut feeling as well. We'll just need to port a lot of the stuff over, but it might not be a bad opportunity to re-organize and restructure a lot.

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

No branches or pull requests

2 participants