fix: drop the Recalbox boot disk from minivmac

Mini vMac opens no MinivMacBootv2.dsk at babdf7b5: disks come from a .cmd
(libretro-core.c:181-195) or disk1.dsk to disk9.dsk
(OSGLUERETRO.c:563-579). The name is the one Recalbox's configgen writes
into its .cmd, already recorded in its launchers: layer. Nine manifests
no longer send the 24 MB image to platforms that never open it.
This commit is contained in:
Abdessamad Derraz committed 2026-11-06 15:25:02 +01:00
1 parent 537f814d4a
commit 7d99685ce1
13 files changed
+90 -183

No files matched your search

+8 -13
View File
@@ -51,19 +51,6 @@ files:
Macintosh IIx ROM image (256 KB). Tried first in the loading sequence.
If present, takes priority over MacII.ROM.
- name: "MinivMacBootv2.dsk"
path: "macintosh/MinivMacBootv2.dsk"
required: false
source_ref: "libretro/libretro-core.c:181-195, libretro/libretro-core.c:396, minivmac/src/OSGLUERETRO.c:521-537, minivmac/src/OSGLUERETRO.c:1545-1547"
note: >
System boot disk. Content given as a .cmd file is read as a command
line, and every argument that is not an option is inserted as a disk,
opened read-write first. Recalbox 10.1.1 writes a .cmd naming
bios/macintosh/MinivMacBootv2.dsk ahead of the game disk. A missing
image raises an open-failure message and the machine starts without it.
ref: recalbox projects/configgen/configgen/recalboxFiles.py:174,
recalbox projects/configgen/configgen/generators/libretro/libretroGenerator.py:877-882
notes:
emulation_target: >
Configured for Macintosh II (kEmMd_II). 68020 CPU, FPU, ADB, VIA2, ASC
@@ -71,3 +58,11 @@ notes:
info_discrepancy: >
.info declares firmware_count=1 (MacII.ROM only). The code also tries
MacIIx.ROM first (OSGLUERETRO.c:778).
disks: >
No disk image has a fixed name. Content given as a .cmd file is read as
a command line, and every argument that is not an option is inserted as
a disk, opened read-write first (libretro/libretro-core.c:181-195,
minivmac/src/OSGLUERETRO.c:521-537). With no disk inserted,
LoadInitialImages tries disk1.dsk to disk9.dsk and stops at the first
missing one (minivmac/src/OSGLUERETRO.c:563-579). A boot disk is
whatever the frontend writes into the .cmd.
+4 -17
View File
@@ -272,10 +272,10 @@
}
}
],
"total_files": 14699,
"total_size": 9868500923,
"pack_files": 18173,
"pack_size": 9954326213,
"total_files": 14698,
"total_size": 9843335099,
"pack_files": 18172,
"pack_size": 9929160389,
"total_omitted": 426,
"omitted_files": [
{
@@ -204302,19 +204302,6 @@
"mesen"
]
},
{
"dest": "macintosh/MinivMacBootv2.dsk",
"sha1": "20bb0271d02b1ab3b4cfe7c8d6b599abdbc5324e",
"sha256": "90dceaece71be101bf709ee20691c9e8486969417ffc51e4d1fb3c11e567f796",
"size": 25165824,
"repo_path": "bios/Apple/Macintosh II/MinivMacBootv2.dsk",
"cores": [
"minivmac"
],
"systems": [
"apple-macintosh-ii"
]
},
{
"dest": "64DD_IPL_JP.n64",
"sha1": "bf861922dcb78c316360e3e742f4f70ff63c9bc3",
+4 -14
View File
@@ -305,10 +305,10 @@
}
}
],
"total_files": 8396,
"total_size": 7816001968,
"pack_files": 14576,
"pack_size": 7943924044,
"total_files": 8395,
"total_size": 7790836144,
"pack_files": 14575,
"pack_size": 7918758220,
"total_omitted": 37,
"omitted_files": [
{
@@ -89455,16 +89455,6 @@
"minivmac"
]
},
{
"dest": "macintosh/MinivMacBootv2.dsk",
"sha1": "20bb0271d02b1ab3b4cfe7c8d6b599abdbc5324e",
"sha256": "90dceaece71be101bf709ee20691c9e8486969417ffc51e4d1fb3c11e567f796",
"size": 25165824,
"repo_path": "bios/Apple/Macintosh II/MinivMacBootv2.dsk",
"cores": [
"minivmac"
]
},
{
"dest": "palmos41-en-m515.rom",
"sha1": "cc4898ee8cae4669fc19e184c5b560c770e731b3",
+4 -17
View File
@@ -29,10 +29,10 @@
}
],
"standalone_copies": [],
"total_files": 9574,
"total_size": 9693164406,
"pack_files": 13218,
"pack_size": 9796721749,
"total_files": 9573,
"total_size": 9667998582,
"pack_files": 13217,
"pack_size": 9771555925,
"total_omitted": 425,
"omitted_files": [
{
@@ -136968,19 +136968,6 @@
"mesen"
]
},
{
"dest": "macintosh/MinivMacBootv2.dsk",
"sha1": "20bb0271d02b1ab3b4cfe7c8d6b599abdbc5324e",
"sha256": "90dceaece71be101bf709ee20691c9e8486969417ffc51e4d1fb3c11e567f796",
"size": 25165824,
"repo_path": "bios/Apple/Macintosh II/MinivMacBootv2.dsk",
"cores": [
"minivmac"
],
"systems": [
"apple-macintosh-ii"
]
},
{
"dest": "64DD_IPL_JP.n64",
"sha1": "bf861922dcb78c316360e3e742f4f70ff63c9bc3",
+4 -17
View File
@@ -20,10 +20,10 @@
}
],
"standalone_copies": [],
"total_files": 8331,
"total_size": 7012087459,
"pack_files": 12472,
"pack_size": 7127206279,
"total_files": 8330,
"total_size": 6986921635,
"pack_files": 12471,
"pack_size": 7102040455,
"total_omitted": 37,
"omitted_files": [
{
@@ -107907,19 +107907,6 @@
"apple-macintosh-ii"
]
},
{
"dest": "macintosh/MinivMacBootv2.dsk",
"sha1": "20bb0271d02b1ab3b4cfe7c8d6b599abdbc5324e",
"sha256": "90dceaece71be101bf709ee20691c9e8486969417ffc51e4d1fb3c11e567f796",
"size": 25165824,
"repo_path": "bios/Apple/Macintosh II/MinivMacBootv2.dsk",
"cores": [
"minivmac"
],
"systems": [
"apple-macintosh-ii"
]
},
{
"dest": "Mupen64plus/font.ttf",
"sha1": "1d7f6fa0c34e3d50be52c16a0816bebac309fe41",
-11
View File
@@ -3474,17 +3474,6 @@
"cores": null,
"systems": [
"macintosh"
],
"alternatives": [
{
"sha1": "20bb0271d02b1ab3b4cfe7c8d6b599abdbc5324e",
"sha256": "90dceaece71be101bf709ee20691c9e8486969417ffc51e4d1fb3c11e567f796",
"size": 25165824,
"repo_path": "bios/Apple/Macintosh II/MinivMacBootv2.dsk",
"cores": [
"minivmac"
]
}
]
},
{
+4 -17
View File
@@ -643,10 +643,10 @@
}
}
],
"total_files": 8339,
"total_size": 7105270311,
"pack_files": 14922,
"pack_size": 7247303675,
"total_files": 8338,
"total_size": 7080104487,
"pack_files": 14921,
"pack_size": 7222137851,
"total_omitted": 37,
"omitted_files": [
{
@@ -108877,19 +108877,6 @@
"apple-macintosh-ii"
]
},
{
"dest": "macintosh/MinivMacBootv2.dsk",
"sha1": "20bb0271d02b1ab3b4cfe7c8d6b599abdbc5324e",
"sha256": "90dceaece71be101bf709ee20691c9e8486969417ffc51e4d1fb3c11e567f796",
"size": 25165824,
"repo_path": "bios/Apple/Macintosh II/MinivMacBootv2.dsk",
"cores": [
"minivmac"
],
"systems": [
"apple-macintosh-ii"
]
},
{
"dest": "Mupen64plus/font.ttf",
"sha1": "1d7f6fa0c34e3d50be52c16a0816bebac309fe41",
+4 -17
View File
@@ -292,10 +292,10 @@
"source": "bios/dc/dc_nvmem.bin"
}
],
"total_files": 8870,
"total_size": 8948017932,
"pack_files": 12783,
"pack_size": 9064705218,
"total_files": 8869,
"total_size": 8922852108,
"pack_files": 12782,
"pack_size": 9039539394,
"total_omitted": 66,
"omitted_files": [
{
@@ -128768,19 +128768,6 @@
"apple-macintosh-ii"
]
},
{
"dest": "bios/macintosh/MinivMacBootv2.dsk",
"sha1": "20bb0271d02b1ab3b4cfe7c8d6b599abdbc5324e",
"sha256": "90dceaece71be101bf709ee20691c9e8486969417ffc51e4d1fb3c11e567f796",
"size": 25165824,
"repo_path": "bios/Apple/Macintosh II/MinivMacBootv2.dsk",
"cores": [
"minivmac"
],
"systems": [
"apple-macintosh-ii"
]
},
{
"dest": "bios/palmos41-en-m515.rom",
"sha1": "cc4898ee8cae4669fc19e184c5b560c770e731b3",
+4 -17
View File
@@ -16,10 +16,10 @@
}
],
"standalone_copies": [],
"total_files": 8684,
"total_size": 8720947634,
"pack_files": 14760,
"pack_size": 8839330716,
"total_files": 8683,
"total_size": 8695781810,
"pack_files": 14759,
"pack_size": 8814164892,
"total_omitted": 347,
"omitted_files": [
{
@@ -113671,19 +113671,6 @@
"apple-macintosh-ii"
]
},
{
"dest": "macintosh/MinivMacBootv2.dsk",
"sha1": "20bb0271d02b1ab3b4cfe7c8d6b599abdbc5324e",
"sha256": "90dceaece71be101bf709ee20691c9e8486969417ffc51e4d1fb3c11e567f796",
"size": 25165824,
"repo_path": "bios/Apple/Macintosh II/MinivMacBootv2.dsk",
"cores": [
"minivmac"
],
"systems": [
"apple-macintosh-ii"
]
},
{
"dest": "vMac.ROM",
"sha1": "32daf772960c7ed31f41b95055968532b81d0896",
+4 -14
View File
@@ -21,10 +21,10 @@
}
],
"standalone_copies": [],
"total_files": 7328,
"total_size": 8216627928,
"pack_files": 13677,
"pack_size": 8360468025,
"total_files": 7327,
"total_size": 8191462104,
"pack_files": 13676,
"pack_size": 8335302201,
"total_omitted": 115,
"omitted_files": [
{
@@ -76010,16 +76010,6 @@
"minivmac"
]
},
{
"dest": "macintosh/MinivMacBootv2.dsk",
"sha1": "20bb0271d02b1ab3b4cfe7c8d6b599abdbc5324e",
"sha256": "90dceaece71be101bf709ee20691c9e8486969417ffc51e4d1fb3c11e567f796",
"size": 25165824,
"repo_path": "bios/Apple/Macintosh II/MinivMacBootv2.dsk",
"cores": [
"minivmac"
]
},
{
"dest": "palmos41-en-m515.rom",
"sha1": "cc4898ee8cae4669fc19e184c5b560c770e731b3",
+2 -12
View File
@@ -6,7 +6,7 @@
"platform": "romm",
"display_name": "RomM",
"version": "5.4.0",
"generated": "2026-11-05T18:33:47Z",
"generated": "2026-11-06T13:49:27Z",
"base_destination": "bios",
"detect": [
{
@@ -26,7 +26,7 @@
"total_size": 872654387,
"pack_files": 467,
"pack_size": 872654387,
"total_omitted": 777,
"total_omitted": 776,
"omitted_files": [
{
"dest": "32X_G_BIOS.BIN",
@@ -3016,16 +3016,6 @@
"mame2003"
]
},
{
"dest": "macintosh/MinivMacBootv2.dsk",
"name": "MinivMacBootv2.dsk",
"system": "",
"required": false,
"reason": "below_platform_folder",
"cores": [
"minivmac"
]
},
{
"dest": "mame2003-plus/artwork/blueshrk.zip",
"name": "blueshrk.zip",
+32 -1
View File
@@ -6,11 +6,14 @@ names live in the platform's ``launchers:`` layer. Copied into a profile as
aliases, they claimed that xemu opens them, and xemu-libretro offers
Complex_4627_v1.03.bin, not Complex_4627v1.03.bin (ui/xemu-libretro.c:115-118).
Two checks read the committed data:
Three checks read the committed data:
- an alias equal to a name a launcher of the same emulator chooses is kept
only when the entry's own note or description names it in a sentence that
speaks of no platform, next to a ``source_ref`` into the emulator's code;
- an entry whose note names its own file only in sentences about a platform
is a launcher's choice: Mini vMac opens no MinivMacBootv2.dsk, the .cmd
Recalbox writes names it;
- no entry cites a platform's launcher script as its source.
"""
@@ -42,6 +45,13 @@ LAUNCHER_REF = re.compile(
r"\bemuDeck\w*\.sh\b|\bscriptmodules/|\(launcher\)",
)
# Entries whose name is the one a platform's launcher picks, kept because
# the code takes any name and the entry needs one.
NAMED_FOR_A_LAUNCHER = {
("pcsx_rearmed_standalone", "SCPH1001.BIN"):
"the code lists any 512 KiB file (frontend/menu.c:2619-2628)",
}
# Profiles whose entries still rest on a launcher, with the fact that blocks
# reading the emulator itself.
LAUNCHER_SOURCED = {
@@ -119,6 +129,27 @@ class ProfileAliasesAreCodeNames(unittest.TestCase):
"code, stated in the entry's note with its source_ref, or removed",
)
def test_an_entry_named_only_by_a_launcher_is_not_the_emulators(self) -> None:
launchers = _launcher_names()
offenders = []
for key, profile in _profiles().items():
emulator_names = {key} | {str(c) for c in profile.get("cores") or []}
for entry in profile.get("files") or []:
name = str(entry.get("name") or "").rsplit("/", 1)[-1]
if (key, name) in NAMED_FOR_A_LAUNCHER or not any(
emulator in emulator_names
for _platform, emulator in launchers.get(name.casefold(), ())
):
continue
prose = _text(entry.get("note")) + " " + _text(entry.get("description"))
if name in prose and not _named_without_platform(name, prose):
offenders.append(f"{key}: {name}")
self.assertEqual(
offenders, [],
"an entry whose own note names it only as a platform's choice "
"belongs to that platform's launchers: layer",
)
def test_rosalies_mupen_gui_names_stay_out_of_mupen64plus(self) -> None:
"""RetroBat's mupen64 generator configures Rosalie's Mupen GUI and
writes IPL_USA.n64 and IPL_DEV.n64 into its config
+16 -16
View File
@@ -410,13 +410,13 @@ A RetroArch dry run into an empty folder, with the list of 2026-11-06, printed t
```
Fetching file index for retroarch...
106 files read from RetroArch's save directory go to a folder per core under /home/me/.config/retroarch/saves
14930 files (6.7 GB)
3260 BIOS files (4.1 GB), 5089 game data files (2.5 GB) and 6581 data files (135.5 MB).
14929 files (6.7 GB)
3259 BIOS files (4.1 GB), 5089 game data files (2.5 GB) and 6581 data files (135.5 MB).
Game data: files a game or a game engine reads, of no use to the other cores. Data files: the files an emulator reads from a data folder of its own, such as Dolphin's Sys and PPSSPP's assets.
Not installable: 37 files are not in the collection, 2 of them required.
Checking existing files...
0 in place, 14930 missing, 0 wrong copies
0 in place, 14929 missing, 0 wrong copies
```
<!-- /generated: dry-run -->
@@ -475,13 +475,13 @@ few minutes on a memory card, because every file is hashed:
```
Fetching file index for batocera...
23 files read from Batocera's save directory go to a folder per system under /userdata/saves
18171 files (9.3 GB)
3155 BIOS files (4.4 GB), 11544 game data files (4.8 GB) and 3472 data files (81.8 MB).
18170 files (9.2 GB)
3154 BIOS files (4.3 GB), 11544 game data files (4.8 GB) and 3472 data files (81.8 MB).
Game data: files a game or a game engine reads, of no use to the other cores. Data files: the files an emulator reads from a data folder of its own, such as Dolphin's Sys and PPSSPP's assets.
Not installable: 426 files are not in the collection, 80 of them required.
Checking existing files...
0 in place, 18171 missing, 0 wrong copies
0 in place, 18170 missing, 0 wrong copies
```
<!-- /generated: run-index -->
@@ -496,10 +496,10 @@ as the log of the run below:
<!-- generated: run-download -->
```
Downloading 14699 files (9.2 GB)...
Downloading 14698 files (9.2 GB)...
Press Ctrl+C to stop. Running the same command again carries on from here.
[1/14699] panafz1.bin ok
[2/14699] panafz10.bin ok
[1/14698] panafz1.bin ok
[2/14698] panafz10.bin ok
```
<!-- /generated: run-download -->
@@ -511,8 +511,8 @@ command again picks up where it stopped.
<!-- generated: run-end -->
```
Done. 18171 files installed.
Installed: 3155 BIOS files, 11544 game data files and 3472 data files.
Done. 18170 files installed.
Installed: 3154 BIOS files, 11544 game data files and 3472 data files.
BIOS folder: /userdata/bios
426 files were not installed: the collection does not hold them, or its copy fails their check.
Needed to start an emulator (1 file):
@@ -566,7 +566,7 @@ The same command with `--check` reads the folder and writes nothing:
```
Checking existing files...
18171 in place, 0 missing, 0 wrong copies
18170 in place, 0 missing, 0 wrong copies
Everything is in place.
```
@@ -760,8 +760,8 @@ by `scripts/generate_installer_doc.py`):
<!-- generated: line-menu -->
```
RetroArch: 14930 files, 6.7 GB.
3260 BIOS files (4.1 GB), 5089 game data files (2.5 GB) and 6581 data files (135.5 MB).
RetroArch: 14929 files, 6.7 GB.
3259 BIOS files (4.1 GB), 5089 game data files (2.5 GB) and 6581 data files (135.5 MB).
Game data: files a game or a game engine reads, of no use to the other cores. Data files: the files an emulator reads from a data folder of its own, such as Dolphin's Sys and PPSSPP's assets.
BIOS folder: /home/me/.config/retroarch/system
Not available here, and needed to start its emulator: sfiii2a.zip (Capcom Cps3). Your own copy goes in the BIOS folder.
@@ -775,8 +775,8 @@ RetroArch: 14930 files, 6.7 GB.
Counted again for your choices. Nothing is written before Enter.
RetroArch: 9841 files, 4.2 GB.
3260 BIOS files (4.1 GB) and 6581 data files (135.5 MB). 5089 game data files left out.
RetroArch: 9840 files, 4.2 GB.
3259 BIOS files (4.1 GB) and 6581 data files (135.5 MB). 5089 game data files left out.
Game data: files a game or a game engine reads, of no use to the other cores. Data files: the files an emulator reads from a data folder of its own, such as Dolphin's Sys and PPSSPP's assets.
BIOS folder: /home/me/.config/retroarch/system
Not available here, and needed to start its emulator: sfiii2a.zip (Capcom Cps3). Your own copy goes in the BIOS folder.