fix: state why WinUAE needs the CD extended ROMs

A missing extended ROM only raises a notice (memory.cpp:1833-1849), but
the machine then runs on the Kickstart alone. cdstrap, cd.device,
cdtv.device and cdfs.library are resident modules of the CD32 and CDTV
extended ROMs and absent from their Kickstarts, the CD32 and base CDTV
models have no floppy drive (cfgfile.cpp:9375-9379, 9405-9406), so no CD
is read or booted. Both entries stay required. The AROS replacement
stands in only for a missing Kickstart (memory.cpp:3055-3063), so the
CDTV entry loses hle_fallback.
This commit is contained in:
Abdessamad Derraz committed 2026-10-21 06:06:35 +02:00
1 parent d678e6acfa
commit 7056dd84ea
2 files changed
+28 -2

No files matched your search

+18
View File
@@ -6147,5 +6147,23 @@ class SkipPacksHelpSaysWhatRuns(unittest.TestCase):
self.assertEqual(skipped, {"4", "4b", "4c", "6"})
class AmigaCdDriversLiveInTheExtendedRom(unittest.TestCase):
"""WinUAE starts without the CD32 or CDTV extended ROM, but cd.device,
cdtv.device, cdfs.library and cdstrap are resident modules of those ROMs
and the Kickstarts carry none. Its AROS replacement stands in only for a
missing Kickstart (memory.cpp:3055-3063), so the CDTV ROM has no
fallback to downgrade its absence."""
def test_both_extended_roms_are_required_without_fallback(self):
profile = yaml.safe_load(
(ROOT / "emulators" / "winuae.yml").read_text(encoding="utf-8")
)
entries = {f["name"]: f for f in profile["files"]}
for name in ("amiga-ext-310-cd32.rom", "amiga-ext-130-cdtv.rom"):
with self.subTest(name=name):
self.assertIs(entries[name]["required"], True)
self.assertNotIn("hle_fallback", entries[name])
if __name__ == "__main__":
unittest.main()