R-Tape wrote: ↑Thu Apr 09, 2020 7:34 pm
BTW—if I wanted to make enhanced ULA "OFF" as the default in the advanced settings, is there a value I can easily change on the SD card? (It's because I'm loading a lot of AGD games, and it automatically triggers ULA+, even though the game usually doesn't have a palette set for it.)
The short answer is no, you can't do a global disable in NextZXOS. In the bleeding edge stuff on gitlab there is a new config.ini option to globally disable it, but that's for the legacy machine personalities, as NextZXOS re-enables it on every boot. If you wanted to load your ULAplus games in legacy personalities, this would be the simplest option.
For NextZXOS you can turn it off in autoexec.bas, but the tap/tzx loaders turn it back on again when they initialise.
You could modify the tap/tzx loaders (they're just BASIC programs) but you will find that some AGD games like Nixy actually require ULAplus because they have carefully defined 64 colour palettes, and look terrible with flashing attributes if you disable ULAplus.
For now, the best thing to do is prepend a short BASIC program to all your dodgy AGD game TAPs, which disables ULAplus and then does LOAD "".
You can disable ULAplus in NextBASIC with:
Where REG reads and writes nextreg values, % specifies an integer expression (needed because REG returns an integer), & is a bitwise AND, and @ is a binary literal prefix.
For standard 48K BASIC it becomes more complicated, because you have to use an OUT/IN port combination to read nextregs, and you don't have a bitwise AND or binary literals either. I don't feel like working that one out unless you really need it
Thanks to Garry L and Allen A, who helped with this answer when I got stuck.