Yeah, this is a great example of taking advantage of the amount of space I have lying around after the expansion! I'm betting a lot of people using real hardware are going to be excited to see this roll out.
I don't use the ExHiROM portion of the physical address at all. I do keep them in the HiROM section, which can benefit from a FastROM (banks $80-$BF and $C0-$FF).
This code was designed to run on the original ROM aswell from the start. This is why I'd defined the "EX" macro. You can cross-assemble it on the original ROM by commenting or removing `set DEFINE="EX"` from make.bat and it will run even better than qwertymodo's, assuming you don't care for the FMVs, which my version does not include.
The code size got smaller too after my optimizations, it wasn't just speed. It was taking almost 1200 bytes, now it takes 925 bytes.
If you do not consider how we store the play types, my code might be even smaller than his at this point.
PS: Have you considered changing Magus' line at the End of Time? "You got whacked cuz you're weak" sounds to gangsta too me. Doesn't fit Magus in my opinion.