From 31a5381b65eb34f63d4b8293d55a60c9ac6217f4 Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Wed, 6 Aug 2025 20:50:18 +0300 Subject: [PATCH] Fix 1M CD32 lower/upper swapped loading and 1M CD32 ROM quickstart selection. --- memory.cpp | 5 +++++ od-win32/win32gui.cpp | 4 ++-- rommgr.cpp | 4 ++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/memory.cpp b/memory.cpp index b4a7536c..4e0a1cff 100644 --- a/memory.cpp +++ b/memory.cpp @@ -2104,6 +2104,11 @@ static int load_kickstart (void) } if (filesize >= ROM_SIZE_512 * 2) { struct romdata *rd = getromdatabyzfile(f); + // CD32 with swapper upper and lower 512k? + if (rd && (rd->type & ROMTYPE_KICKCD32) && rd->size == ROM_SIZE_512) { + kspos = 0; + extpos = ROM_SIZE_512; + } zfile_fseek(f, kspos, SEEK_SET); } if (filesize >= ROM_SIZE_512 * 4) { diff --git a/od-win32/win32gui.cpp b/od-win32/win32gui.cpp index 0b97793f..67f93ea3 100644 --- a/od-win32/win32gui.cpp +++ b/od-win32/win32gui.cpp @@ -1879,12 +1879,12 @@ static void show_rom_list (void) 59, 71, 61, -1, -1, // A3000 16, 46, 31, 13, 12, -1, -1, // A4000 17, -1, -1, // A4000T - 18, -1, 19, -1, -1, // CD32 + 18, 64, -1, 19, 64, -1, -1, // CD32 20, 21, 22, -1, 6, 32, -1, -1, // CDTV 9, 10, -1, 107, 108, -1, -1, // CDTV-CR 49, 50, 75, 51, 76, 77, -1, 5, 4, -1, -2, // ARCADIA - 18, -1, 19, -1, 74, 23, -1, -1, // CD32 FMV + 18, 64, -1, 19, 64, -1, 74, 23, -1, -1, // CD32 FMV 69, 67, 70, 115, -1, -1, // nordic power 65, 68, -1, -1, // x-power diff --git a/rommgr.cpp b/rommgr.cpp index 0d8b35e6..8500f4aa 100644 --- a/rommgr.cpp +++ b/rommgr.cpp @@ -315,10 +315,10 @@ static struct romdata roms[] = { 0x87746be2, 0x5BEF3D62,0x8CE59CC0,0x2A66E6E4,0xAE0DA48F,0x60E78F7F, NULL, NULL, 1 }, /* plain CD32 rom */ - { _T("CD32 ROM (KS + extended)"), 3, 1, 40, 60, _T("CD32\0"), 2 * 524288, 64, 1, 0, ROMTYPE_CD32, 0, 0, NULL, + { _T("CD32 ROM (KS + extended)"), 3, 1, 40, 60, _T("CD32\0"), 2 * 524288, 64, 1, 0, ROMTYPE_CD32 | ROMTYPE_KICKCD32 | ROMTYPE_EXTCD32, 0, 0, NULL, 0xf5d4f3c8, 0x9fa14825,0xc40a2475,0xa2eba5cf,0x325bd483,0xc447e7c1, NULL, NULL, 1 }, /* real CD32 rom dump 391640-03 */ - ALTROMPN(64, 1, 1, 2 * 524288, ROMTYPE_CD32, _T("391640-03"), 0xa4fbc94a, 0x816ce6c5,0x07787585,0x0c7d4345,0x2230a9ba,0x3a2902db ) + ALTROMPN(64, 1, 1, 2 * 524288, ROMTYPE_CD32 | ROMTYPE_KICKCD32 | ROMTYPE_EXTCD32, _T("391640-03"), 0xa4fbc94a, 0x816ce6c5,0x07787585,0x0c7d4345,0x2230a9ba,0x3a2902db ) { _T("CD32 Full Motion Video Cartridge ROM"), 3, 1, 40, 30, _T("CD32FMV\0"), 262144, 23, 1, 0, ROMTYPE_CD32CART, 0, 0, NULL, 0xc35c37bf, 0x03ca81c7,0xa7b259cf,0x64bc9582,0x863eca0f,0x6529f435, NULL, NULL, 3 }, -- 2.47.3