Tweaks and emulator mode crashes - #275
Conversation
Get out of emulation mode ASAP and mark it with an E to the left of BRK/COP
Eliminates the last of the vanilla calls
Two of the old bitmasks could no longer be toggled individually, and the third was never used
|
I meant to revert the change in |
|
You're talking about the NOP : NOP replaced by BRA $00, yeah I saw that and debated if I should bring it up... it's barely a change but it's also an unnecessary change... I would be in favor of NOP : NOP just to not change it but I'm not that opposed to BRA $00 there either. Otherwise the PR looks good (at least what I saw initially; I assume there wasn't that much to fix after merging down master) |
|
The merge was clean. Just had to fix the line that triggered the error and double check that there weren't anymore defines I hadn't seen. I'd like to get a little more testing in today, but this pull can sit on the back burner until there's something meaningful to include for players. |
Not worth figuring out how to balance it in artificial lag, and nobody cares anyway Also revert bank $00 orgs in crash.asm
Update defines.asm
Press A or Y on HUD mode choice menus to open submenu list
|
|
Fix missing # on HUD Mode defines Fix 8bit PEI Fix shifted lines in choice menu
a74653e to
7fac033
Compare
|
As discussed with idle, the freespace prints have been expanded. It now prints used and total bytes per bank, and prints for all banks that have valid freespace. I had to modify create_names.py and create_clear_enemies_data.py to write manual orgs instead of freespace macros. Before and after examples below.
|
Add bytes used and total freespace per bank Force printing for all banks that have valid freespace Modified create_names.py and create_clear_enemies_data.py to write a manual orgs instead of freespace macros
01e316c to
498578e
Compare
The only user-facing change in this pull should be in the crash handler. The rest is a bunch of things I wanted to do while reviewing code.
The crash handler now supports crashes in emulation mode and will print
Eabove the stack dump. NMI is disabled ASAP, although this will likely have little to no effect based on how NMI is handled during a crash. I removed the call to vanilla code in the crash handler's CGRAM transfer, and adjusted some BRB/crop code that called its routine.InfoHUD modes, room strats, and SuperHUD menu options now have their indices updated automatically. The tables in
infohudmodes.asmare a little uglier, but it's way easier to rearrange or add new entries.!BRB_TOTAL_SCREENSwas also automated. Remember to use .w/.b with these defines, since asar has to calculate the result and we can't rely on it assembling to 16bit anymore.Use a lookup table instead of compare ladder on Zeb and Metroid event numfields.
Added a macro for the music toggle code in the menu. It's duplicated in another bank and this will make sure it's always in sync if it changes.
Replaced old compressed data bitmasks since they're no longer individually toggleable.
Found a few more places to use the PEI instruction. Also got reminded that it always pushes 16bits, like PEA, so don't try to use it in 8bit mode.
This is a re-pull of #274 with a fix for my stale branch and initial feedback.