From 50f9b642a0f98b1b91a167d67d1f0bf10bddcade Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Mon, 9 Nov 2026 18:32:53 +0100 Subject: [PATCH] fix: group the boot ROM slot Pizza Boy SC fills Read while walking the profile checklist on the profiles the variant_group conversion touched. - pizza-boy-sc: the core holds one Mega CD slot and one Master System slot, filled through the document picker under any name, and tests only the Mega CD length (libsc.so frontend/android/src/lib.rs:475, 569-648, megacd_main_machine.rs:169-178). Nothing picks by territory, so the three images of each are a group, not a selection slot: megacd-boot-rom required, mastersystem-boot-rom optional. - fpse, fpse-ng: the BIOS note pointed at "the other images of the group", a set the profile does not list. It now says any 524288-byte PlayStation image fills the slot. --- emulators/fpse-ng.yml | 2 +- emulators/fpse.yml | 2 +- emulators/pizza-boy-sc.yml | 24 ++++++++++++------------ 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/emulators/fpse-ng.yml b/emulators/fpse-ng.yml index 9cbf99479..9897c8943 100644 --- a/emulators/fpse-ng.yml +++ b/emulators/fpse-ng.yml @@ -149,7 +149,7 @@ files: md5: 924e392ed05558ffdb115408c263dccf sha1: 10155d8d6e6e832d6ea66db9bc098321fb5e8ebf description: "SCPH-1001, DTL-H1201, DTL-H3001 (v2.2 12-04-95 A)" - note: "The only image the code identifies, and it identifies it by a checksum of its own rather than by a hash it spells out: the 524288 bytes summed as signed bytes, accepted at 85958. The md5 and sha1 here are the dump that reproduces that sum. Selecting a BIOS by hand takes any .bin of exactly 524288 bytes, so the other images of the group fill the slot without being recognised by name or by sum." + note: "The only image the code identifies, and it identifies it by a checksum of its own rather than by a hash it spells out: the 524288 bytes summed as signed bytes, accepted at 85958. The md5 and sha1 here are the dump that reproduces that sum. Selecting a BIOS by hand takes any .bin of exactly 524288 bytes, so any other PlayStation image of that size fills the slot without being recognised by name or by sum." source_ref: "Main.java:24466-24487, Main.java:9945-9952, Main.java:30177-30192, Main.java:5392-5396, libfpse.so 0x70e20-0x70ed0" - name: kanji.rom diff --git a/emulators/fpse.yml b/emulators/fpse.yml index d395957e1..6386b8238 100644 --- a/emulators/fpse.yml +++ b/emulators/fpse.yml @@ -121,7 +121,7 @@ files: md5: 924e392ed05558ffdb115408c263dccf sha1: 10155d8d6e6e832d6ea66db9bc098321fb5e8ebf description: "SCPH-1001, DTL-H1201, DTL-H3001 (v2.2 12-04-95 A)" - note: "The only image the code identifies, and it identifies it by a checksum of its own rather than by a hash it spells out: the 524288 bytes summed as signed bytes, accepted at 85958. The md5 and sha1 here are the dump that reproduces that sum. Selecting a BIOS by hand takes any file ending in .bin that is exactly 524288 bytes, so the other images of the group fill the slot without being recognised by name or by sum." + note: "The only image the code identifies, and it identifies it by a checksum of its own rather than by a hash it spells out: the 524288 bytes summed as signed bytes, accepted at 85958. The md5 and sha1 here are the dump that reproduces that sum. Selecting a BIOS by hand takes any file ending in .bin that is exactly 524288 bytes, so any other PlayStation image of that size fills the slot without being recognised by name or by sum." source_ref: "Main.java:4159-4175, Main.java:5919, Main.java:25217, res/raw/fpse.ini BiosName" - name: LibPS.exe diff --git a/emulators/pizza-boy-sc.yml b/emulators/pizza-boy-sc.yml index 734be75ef..2d5558357 100644 --- a/emulators/pizza-boy-sc.yml +++ b/emulators/pizza-boy-sc.yml @@ -85,12 +85,17 @@ notes: | box art, cheat, layout, sticker and per-ROM databases are created by their own CREATE TABLE. +groups: + megacd-boot-rom: + required: true + mastersystem-boot-rom: + required: false + files: - name: bios_CD_U.bin system: sega-megacd - required: true + group: megacd-boot-rom agnostic: true - selection_slot: "megacd-boot-rom" size: 131072 validation: [size] description: "Sega CD boot ROM" @@ -114,9 +119,8 @@ files: - name: bios_CD_E.bin system: sega-megacd - required: true + group: megacd-boot-rom agnostic: true - selection_slot: "megacd-boot-rom" size: 131072 validation: [size] description: "Mega CD boot ROM" @@ -127,9 +131,8 @@ files: - name: bios_CD_J.bin system: sega-megacd - required: true + group: megacd-boot-rom agnostic: true - selection_slot: "megacd-boot-rom" size: 131072 validation: [size] description: "Mega CD boot ROM (Japan)" @@ -140,9 +143,8 @@ files: - name: bios_U.sms system: sega-mastersystem - required: false + group: mastersystem-boot-rom agnostic: true - selection_slot: "mastersystem-boot-rom" description: "Master System boot ROM" note: >- Picked and stored like the Mega CD image and handed to the machine as a path. @@ -155,9 +157,8 @@ files: - name: bios_E.sms system: sega-mastersystem - required: false + group: mastersystem-boot-rom agnostic: true - selection_slot: "mastersystem-boot-rom" description: "Master System boot ROM (Europe)" note: "Same slot and same absence of tests as the other Master System boot ROMs." source_ref: "Pizza Boy SC Basic 1.2.14 libsc.so frontend/android/src/lib.rs:590, @@ -165,9 +166,8 @@ files: - name: bios_J.sms system: sega-mastersystem - required: false + group: mastersystem-boot-rom agnostic: true - selection_slot: "mastersystem-boot-rom" description: "Master System boot ROM (Japan)" note: "Same slot and same absence of tests as the other Master System boot ROMs." source_ref: "Pizza Boy SC Basic 1.2.14 libsc.so frontend/android/src/lib.rs:590,