From ee98949d2c14d205c6293bdf28468f28fbdc5944 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Mon, 9 Nov 2026 18:19:47 +0100 Subject: [PATCH] fix: profile the zip and hog probes at the pin Read while walking the profile checklist on the grouped profiles. - picodrive: find_bios tries each stem as .bin then as .zip (platform/libretro/libretro.c:1316-1326), and pm_open reads the first entry of at least 32 KB or with a ROM extension (pico/cart.c:122-158). The twelve .zip names join their region's set, ranked right after the .bin of the same stem. - dxx-rebirth: the HOG entries cite the mount and the error that stops the game without one (similar/main/inferno.cpp:472, 476, 500-512). --- emulators/dxx-rebirth.yml | 8 +-- emulators/picodrive.yml | 147 +++++++++++++++++++++++++++++++++----- 2 files changed, 132 insertions(+), 23 deletions(-) diff --git a/emulators/dxx-rebirth.yml b/emulators/dxx-rebirth.yml index 917f7760e..5e0ab4998 100644 --- a/emulators/dxx-rebirth.yml +++ b/emulators/dxx-rebirth.yml @@ -82,7 +82,7 @@ files: validation: [size] description: "Descent 1 PC shareware v1.4 HOG" note: "freely redistributable (icculus.org/d2x/data/desc14sw.tar.gz)" - source_ref: "similar/main/mission.cpp:80; common/main/mission.h:67" + source_ref: "similar/main/mission.cpp:80; common/main/mission.h:67; similar/main/inferno.cpp:472, 500-512" - name: descent.pig installed_on: [retropie] @@ -103,7 +103,7 @@ files: validation: [size] description: "Descent 1 PC retail v1.5 HOG (GOG)" note: "commercial, alternative sizes 6856183 (v1.5 alt), 7261423 (v1.0), 7456179 (Mac retail)" - source_ref: "common/main/mission.h:61-64" + source_ref: "common/main/mission.h:61-64; similar/main/inferno.cpp:472, 500-512" - name: descent.pig path: descent.pig @@ -125,7 +125,7 @@ files: validation: [size] description: "Descent 2 PC shareware HOG" note: "freely redistributable (icculus.org/d2x/data/d2shar10.tar.gz)" - source_ref: "similar/main/mission.cpp:107-108; common/main/mission.h:71" + source_ref: "similar/main/mission.cpp:107-108; common/main/mission.h:71; similar/main/inferno.cpp:476, 500-512" - name: d2demo.pig installed_on: [retropie] @@ -156,7 +156,7 @@ files: validation: [size] description: "Descent 2 PC full v1.1-1.2 HOG (GOG)" note: "commercial, alternative sizes 7107354 (v1.0), 7110007 (Mac full), 6132957 (OEM v1.1), 4292746 (Mac shareware)" - source_ref: "common/main/mission.h:73-76" + source_ref: "common/main/mission.h:73-76; similar/main/inferno.cpp:476, 500-512" - name: descent2.ham path: descent2.ham diff --git a/emulators/picodrive.yml b/emulators/picodrive.yml index 30631927b..9d79e521a 100644 --- a/emulators/picodrive.yml +++ b/emulators/picodrive.yml @@ -35,7 +35,8 @@ notes: | and uses the first file found. If no BIOS is found, CD games fail to load with PM_BAD_CD_NO_BIOS. MSU-MD games can run without BIOS. - BIOS filename search order (platform/libretro/libretro.c:1272-1336): + BIOS filename search order (platform/libretro/libretro.c:1272-1336), each + stem tried as .bin then .zip: US: us_scd2_9306, SegaCDBIOS9303, us_scd1_9210, bios_CD_U EU: eu_mcd2_9306, eu_mcd2_9303, eu_mcd1_9210, bios_CD_E JP: jp_mcd2_921222, jp_mcd1_9112, jp_mcd1_9111, bios_CD_J @@ -85,32 +86,59 @@ files: note: "US Sega CD Model 2 BIOS (September 1993). First in US search order. The US list serves every disc whose security byte is neither 0x64 nor 0xa1 (pico/cd/cd_image.c:190, 247-248)." source_ref: "source platform/libretro/libretro.c:1273" - - name: "SegaCDBIOS9303.bin" + - name: "us_scd2_9306.zip" system: sega-megacd selection_slot: "mega-cd-bios" region: [north-america, latin-america] group: mega-cd-us priority: 2 - size: 131072 - note: "US Sega CD BIOS (March 1993). Second in US search order." - source_ref: "source platform/libretro/libretro.c:1273" + note: "A ZIP of the same stem, probed right after us_scd2_9306.bin. pm_open reads its first entry of at least 32 KB or with a ROM extension." + source_ref: "source platform/libretro/libretro.c:1323-1326, source pico/cart.c:122-158" - - name: "us_scd1_9210.bin" + - name: "SegaCDBIOS9303.bin" system: sega-megacd selection_slot: "mega-cd-bios" region: [north-america, latin-america] group: mega-cd-us priority: 3 size: 131072 + note: "US Sega CD BIOS (March 1993). Second in US search order." + source_ref: "source platform/libretro/libretro.c:1273" + + - name: "SegaCDBIOS9303.zip" + system: sega-megacd + selection_slot: "mega-cd-bios" + region: [north-america, latin-america] + group: mega-cd-us + priority: 4 + note: "A ZIP of the same stem, probed right after SegaCDBIOS9303.bin. pm_open reads its first entry of at least 32 KB or with a ROM extension." + source_ref: "source platform/libretro/libretro.c:1323-1326, source pico/cart.c:122-158" + + - name: "us_scd1_9210.bin" + system: sega-megacd + selection_slot: "mega-cd-bios" + region: [north-america, latin-america] + group: mega-cd-us + priority: 5 + size: 131072 note: "US Sega CD Model 1 BIOS (October 1992). Third in US search order." source_ref: "source platform/libretro/libretro.c:1273" + - name: "us_scd1_9210.zip" + system: sega-megacd + selection_slot: "mega-cd-bios" + region: [north-america, latin-america] + group: mega-cd-us + priority: 6 + note: "A ZIP of the same stem, probed right after us_scd1_9210.bin. pm_open reads its first entry of at least 32 KB or with a ROM extension." + source_ref: "source platform/libretro/libretro.c:1323-1326, source pico/cart.c:122-158" + - name: "bios_CD_U.bin" system: sega-megacd selection_slot: "mega-cd-bios" region: [north-america, latin-america] group: mega-cd-us - priority: 4 + priority: 7 size: 131072 note: "US Sega CD BIOS (generic name). Last in US search order." source_ref: "source platform/libretro/libretro.c:1273" @@ -118,6 +146,15 @@ files: # ------------------------------------------------------- # Mega CD / Sega CD - EU region # ------------------------------------------------------- + + - name: "bios_CD_U.zip" + system: sega-megacd + selection_slot: "mega-cd-bios" + region: [north-america, latin-america] + group: mega-cd-us + priority: 8 + note: "A ZIP of the same stem, probed right after bios_CD_U.bin. pm_open reads its first entry of at least 32 KB or with a ROM extension." + source_ref: "source platform/libretro/libretro.c:1323-1326, source pico/cart.c:122-158" - name: "eu_mcd2_9306.bin" system: sega-megacd selection_slot: "mega-cd-bios" @@ -128,32 +165,59 @@ files: note: "EU Mega CD Model 2 BIOS (June 1993). First in EU search order, used when security byte 0x20b is 0x64, the only PAL branch for Australian discs (pico/media.c:243-247, platform/libretro/libretro.c:1306-1308)." source_ref: "source platform/libretro/libretro.c:1276" - - name: "eu_mcd2_9303.bin" + - name: "eu_mcd2_9306.zip" system: sega-megacd selection_slot: "mega-cd-bios" region: [europe, oceania] group: mega-cd-eu priority: 2 - size: 131072 - note: "EU Mega CD Model 2 BIOS (March 1993). Second in EU search order." - source_ref: "source platform/libretro/libretro.c:1276" + note: "A ZIP of the same stem, probed right after eu_mcd2_9306.bin. pm_open reads its first entry of at least 32 KB or with a ROM extension." + source_ref: "source platform/libretro/libretro.c:1323-1326, source pico/cart.c:122-158" - - name: "eu_mcd1_9210.bin" + - name: "eu_mcd2_9303.bin" system: sega-megacd selection_slot: "mega-cd-bios" region: [europe, oceania] group: mega-cd-eu priority: 3 size: 131072 + note: "EU Mega CD Model 2 BIOS (March 1993). Second in EU search order." + source_ref: "source platform/libretro/libretro.c:1276" + + - name: "eu_mcd2_9303.zip" + system: sega-megacd + selection_slot: "mega-cd-bios" + region: [europe, oceania] + group: mega-cd-eu + priority: 4 + note: "A ZIP of the same stem, probed right after eu_mcd2_9303.bin. pm_open reads its first entry of at least 32 KB or with a ROM extension." + source_ref: "source platform/libretro/libretro.c:1323-1326, source pico/cart.c:122-158" + + - name: "eu_mcd1_9210.bin" + system: sega-megacd + selection_slot: "mega-cd-bios" + region: [europe, oceania] + group: mega-cd-eu + priority: 5 + size: 131072 note: "EU Mega CD Model 1 BIOS (October 1992). Third in EU search order." source_ref: "source platform/libretro/libretro.c:1276" + - name: "eu_mcd1_9210.zip" + system: sega-megacd + selection_slot: "mega-cd-bios" + region: [europe, oceania] + group: mega-cd-eu + priority: 6 + note: "A ZIP of the same stem, probed right after eu_mcd1_9210.bin. pm_open reads its first entry of at least 32 KB or with a ROM extension." + source_ref: "source platform/libretro/libretro.c:1323-1326, source pico/cart.c:122-158" + - name: "bios_CD_E.bin" system: sega-megacd selection_slot: "mega-cd-bios" region: [europe, oceania] group: mega-cd-eu - priority: 4 + priority: 7 size: 131072 note: "EU Mega CD BIOS (generic name). Last in EU search order." source_ref: "source platform/libretro/libretro.c:1276" @@ -161,6 +225,15 @@ files: # ------------------------------------------------------- # Mega CD / Sega CD - JP region # ------------------------------------------------------- + + - name: "bios_CD_E.zip" + system: sega-megacd + selection_slot: "mega-cd-bios" + region: [europe, oceania] + group: mega-cd-eu + priority: 8 + note: "A ZIP of the same stem, probed right after bios_CD_E.bin. pm_open reads its first entry of at least 32 KB or with a ROM extension." + source_ref: "source platform/libretro/libretro.c:1323-1326, source pico/cart.c:122-158" - name: "jp_mcd2_921222.bin" system: sega-megacd selection_slot: "mega-cd-bios" @@ -171,32 +244,59 @@ files: note: "JP Mega CD Model 2 BIOS (December 1992). First in JP search order." source_ref: "source platform/libretro/libretro.c:1279" - - name: "jp_mcd1_9112.bin" + - name: "jp_mcd2_921222.zip" system: sega-megacd selection_slot: "mega-cd-bios" region: [japan] group: mega-cd-jp priority: 2 - size: 131072 - note: "JP Mega CD Model 1 BIOS (December 1991). Second in JP search order." - source_ref: "source platform/libretro/libretro.c:1279" + note: "A ZIP of the same stem, probed right after jp_mcd2_921222.bin. pm_open reads its first entry of at least 32 KB or with a ROM extension." + source_ref: "source platform/libretro/libretro.c:1323-1326, source pico/cart.c:122-158" - - name: "jp_mcd1_9111.bin" + - name: "jp_mcd1_9112.bin" system: sega-megacd selection_slot: "mega-cd-bios" region: [japan] group: mega-cd-jp priority: 3 size: 131072 + note: "JP Mega CD Model 1 BIOS (December 1991). Second in JP search order." + source_ref: "source platform/libretro/libretro.c:1279" + + - name: "jp_mcd1_9112.zip" + system: sega-megacd + selection_slot: "mega-cd-bios" + region: [japan] + group: mega-cd-jp + priority: 4 + note: "A ZIP of the same stem, probed right after jp_mcd1_9112.bin. pm_open reads its first entry of at least 32 KB or with a ROM extension." + source_ref: "source platform/libretro/libretro.c:1323-1326, source pico/cart.c:122-158" + + - name: "jp_mcd1_9111.bin" + system: sega-megacd + selection_slot: "mega-cd-bios" + region: [japan] + group: mega-cd-jp + priority: 5 + size: 131072 note: "JP Mega CD Model 1 BIOS (November 1991). Third in JP search order." source_ref: "source platform/libretro/libretro.c:1279" + - name: "jp_mcd1_9111.zip" + system: sega-megacd + selection_slot: "mega-cd-bios" + region: [japan] + group: mega-cd-jp + priority: 6 + note: "A ZIP of the same stem, probed right after jp_mcd1_9111.bin. pm_open reads its first entry of at least 32 KB or with a ROM extension." + source_ref: "source platform/libretro/libretro.c:1323-1326, source pico/cart.c:122-158" + - name: "bios_CD_J.bin" system: sega-megacd selection_slot: "mega-cd-bios" region: [japan] group: mega-cd-jp - priority: 4 + priority: 7 size: 131072 note: "JP Mega CD BIOS (generic name). Last in JP search order." source_ref: "source platform/libretro/libretro.c:1279" @@ -204,6 +304,15 @@ files: # ------------------------------------------------------- # Sega 32X - HLE available, no frontend loads these # ------------------------------------------------------- + + - name: "bios_CD_J.zip" + system: sega-megacd + selection_slot: "mega-cd-bios" + region: [japan] + group: mega-cd-jp + priority: 8 + note: "A ZIP of the same stem, probed right after bios_CD_J.bin. pm_open reads its first entry of at least 32 KB or with a ROM extension." + source_ref: "source platform/libretro/libretro.c:1323-1326, source pico/cart.c:122-158" - name: "32X_G_BIOS.BIN" system: sega-32x required: false