I've been impressed with both your changes made to the game itself and with your patcher. As an experiment of sorts, I've migrated my modifications to the game (along with some by other authors) into the ZPS file, and had good results getting everything working. Buuut, I have lots of questions about the ZPS file's format, so I guess I'll go from top to bottom:
1) How are options in the [Options] section at the top of the file defined?
2) In the block of text that defines the checkboxes, the first number indicates whether the checkbox is visible, the second whether it defaults to on or off (though this seems to not work if the checkbox is visible, only if invisible). What is the third number?
3) What assembler syntax is this? I've figured it out well enough to use, but if documentation exists somewhere, it'd be nice to be able to reference. Searching the internet has only yielded 65c816 ASM with fairly different syntax than occurs in your ZPS file.
4) Do DEF's in the assembly code work? They don't seem to...
5) Is ? the only comment character?
6) Does your original ASM have comments that were stripped during ZPS concatenation and that's why there are huge blank areas?
7) Like RAW and ADR, is there an assembler directive (or pseudo-opcode, or whatever) for ASCII text (or other data not in hex form)?
8) In MULTI_gameplayControls(), what were you trying to do with WDM? Those instructions crash the Canoe emulator, so I had to burn some time figuring out why an SNES Classic was imploding after trying to start a New Game. After figuring that out though, your mod works beautifully on it.
9) Does anything rely on FPS_DEBUG? I'd like to disable it without side-effects, and I'll eventually double check any variables it sets, but figured I'd ask to save myself the trouble.
10) What's the purpose of the SRAM Checksum Bypass? With it enabled, any empty saves show garbage (and hang if you try and load one). Disabling it has seemed harmless, but also figured I'd just ask.
Some bug reports for the patcher:
1) IPS patching (via your patcher) seems timing sensitive: sometimes IPS files applied after the ASM patch fail to apply, sometimes if applying IPS files before the ASM patch causes the ASM patch an access denied issue, etc.
2) Setting a checkbox to initially unchecked (1 0 X) doesn't seem to work.
3) Changing the FREE_BLOCK value value doesn't seem to work well.
And bug reports for the mod (some of which I've fixed for myself but I don't really have stuff in a state to share yet, unless you want a real mess of a ZPS file):
1) [Strong_And_Weak_Attacks] don't honor status effects that disable the character. For example, if you're engulfed, you can still press a direction and attack, but it scrambles graphics. Axe Thrusts also lack a sound (I suggest 4C).
2) [Better_CPU_Allies] don't seem to use the weapon charge level defined in ACT settings. They also don't seem to honor status effects that disable (though I haven't double-checked that, it may just be related to attack code).
3) [Run_Freely] doesn't honor status effects that disable the character, or even the basic stunned by damage state. If you get hit while sprinting, you'll keep sliding along the ground while playing the animation for taking damage.
4) [Equip_2nd_Weapon] always uses the Boy's weapon levels. In equipWeaponFully(), add:
(which are lines 14 and 15 of the function, so near the beginning)
It also lacks a sound effect when setting in the menu (not really a bug, but trivial to change and a good usability improvement).
5) charControl_confirmSpell() seems to be missing a SEP #20 before STA+X char.DPAD_needRelease. It doesn't seem to break anything, but I think it's technically wrong, unless I'm just confused or it was intentional.
To what degree are you okay with a mod release (by me, in this case) that includes most of your work? It would include your patcher as well as your modifications to the game (with minor alterations, primarily involving a difference in hotkeys). If that's not okay, no big deal, I'll just keep it to myself; if it is, I want to start getting attributions in order so the proper people are credited for what they did. What I'm envisioning is each option in the patcher listing its author, with patches divided up into categories (Combat, Balance, Quality of Life, Bug Fixes, Text Changes, etc.). I already did an initial pass on categories using dummy checkboxes for section headers and blank lines; would be even better if the patcher lets checkboxes be inactive (or where the text shows but the checkbox itself isn't visible).