od-unix: mirror Windows GUI option gating in Qt launcher
Bring the Qt launcher's control enablement to parity with the Windows
GUI's enable_for_*dlg/values_from_cpudlg logic, with the constraining
option always acting as master:
- Gate Z3 Fast, Z3 Chip, processor slot RAM and Z3 mapping mode by the
24-bit addressing checkbox (enable_for_memorydlg). Previously a 68000
could be combined with Z3 RAM and the config booted with it.
- Stop force-unchecking 24-bit addressing when a Z3 RTG board is
selected, and stop writing cpu_24bit_addressing=false into the config
whenever a Z3 RTG board is present.
- Apply CPU selection side effects: 68000/68010 force 24-bit addressing
on, 68030+ force it off; FPU selection is remapped on user-driven CPU
changes (external to internal at 68040+, internal to 68881 below,
None on 68000/68010 with More compatible or memory cycle-exact).
- Enable FPU radios per Windows rules; block JIT while an MMU is
selected; disable More compatible under memory cycle-exact; disable
the CPU speed slider under full cycle-exact; gate the CPU frequency
controls.
- Chipset page: clear and disable Wait for Blitter under Immediate
Blitter or memory cycle-exact with 68000/68010; force NKRO on for UAE
and A2000-8039 keyboard modes; disable the DMA/memory cycle-exact
checkbox below 68020.
- Advanced chipset page: disable all manual controls while Compatible
Settings is checked (enable_for_chipsetdlg2); 1M chip jumper also
requires 512 KB chip RAM.
- Display page: disable resolution and line-mode controls while
autoresolution is active, keep interlaced modes tied to the line-mode
split, gate VGA autoswitch by hires or better with line doubling, and
disable frame skipping under memory cycle-exact.
- Re-run all gating after loading a configuration file.
The sound page and accelerator board controls already follow the same
Windows gating rules, so leave them unchanged.