The desktop app can now choose the exact boot ROM / CD BIOS file the core runs,
boot a BIOS on its own and import a BIOS file.
Root causes (maintainer report: BIOS import/scanning and booting the BIOS for CD
is broken; Auto does not allow booting a local file):
- biosUse() compared names and folders case-sensitively while classifyBios() does
not, so JAGCD.BIN / ATARI - JAGUAR CD/ were labelled 'rename it' on volumes
where the core finds them.
- A BIOS dropped on the window was run as a cartridge; the only BIOS action was a
copy under a fixed name, which a cart boot ROM ignores unless Cart BIOS Type =
Custom and BIOS (Cartridges) = Real.
- CD Boot Mode / BIOS options were reachable only through the generic Core options
tab, which is empty before a load and hides the CD options while a cartridge
runs (update_option_visibility); no-content boot could only enter the CD BIOS.
Adds bios.h/.cpp and bios_ui.cpp (Settings > BIOS, the top of the BIOS & system
tab, tile menu: Use / Boot / Copy), CoreHost support for the new private calls,
config keys bios.cart / bios.cd, drop and dialog import into system/bios/, File >
Boot BIOS, and --boot-bios / --cart-bios / --cd-bios / --expect-bios (headless
BIOS-only boots). Tests: bios_unit, bios_e2e, smoke_boot_cd_bios,
smoke_boot_cart_rom.
Refs #838 Refs #833
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>