Commit Graph
1 Commits
Author SHA1 Message Date
Joseph MattielloandClaude Sonnet 5.5 d4242dc295 feat(app): BIOS choice, boot and import
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]>
2026-10-13 19:26:41 -04:00