The old method used a mix of black attributes and data masking to trim sprites at the screen edges, with every sprite trimmed separately.
The new method no longer uses attributes, so it's compatible with the colour version. It also finds the extent of the trim block for all sprites, for more efficient clearing.
Colour/mono mode can now be changed at any time using the C and M keys.
The implementation uses self-modifying code to reduce the work in mono mode, though the mono-only build (colour=0) is still slightly more efficient.
Using a blue or white maze will automatically flash blue/white at the end of each level, if colour is enabled. Other cases continue to toggle the bright bit.
We now check for Spectranet execution traps being enabled. If found we prompt the user to disable them, and wait until that has been done before we continue.
As a temporary work-around for SpectraNet not working, you can now hold a key on the keyboard to delay the emulation starting. With your other free hand you can change the jumper to disable traps!
Pressing multiple directions now favours the newly pressed direction, to better match the user's expectations.
Added space as credit+start button, to match other joystick behaviour.
The previous release crashes when the DivIDE trap points are hit, despite us running in +3 RAM. To avoid this we need to put the ROM in DivIDE RAM, so it's already paged.
Also corrects the RAM filling, which was setting the fill value before the MSB of the address had been calculated.