Commit Graph
1194 Commits
Author SHA1 Message Date
Abdessamad Derraz ee98949d2c 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).
2026-11-09 18:19:47 +01:00
Abdessamad Derraz 315dab82b7 feat: give each set its requirement and one pick
Three changes to the search-list model, one commit because the readers
and the profiles must move together for the schema to hold.

Set requirement in a groups map. pom2 falls back on apple2.rom for the
][ and the ][+, and on apple2e.rom for the //e it boots and for the
unenhanced //e: one required on the file could not say both. A profile
now declares groups: {name: {required}}, a member writes no required
of its own (schema and validate_schemas refuse one) and load_emulator_
profiles derives it, true when one of its sets is. group takes a name,
a list, or a map from set to rank where the rank differs per set. pom2
is grouped from SystemProfile.cpp and MainWindow.cpp:246-296 at its pin.

One member per required set under --required-only. The pick is the
first the code reads among the held members the region filter leaves,
by rank then declaration order; a set the platform declares a member
of is carried by that declaration. The emulator pack, verify
--emulator, the platform pack, its manifest and verify --platform read
alternatives.required_only_spares or core_file_spares.

variant_group is now selection_slot: files a core chooses between by
a rule other than first found (disc territory for PicoDrive and
Pizza Boy SC, the o2em_bios option, a WebAssembly probe in SWF
Player). Where the code takes any one, the field became a group:
ARMSX1 (ArmSxBackend.java:149-157, name order), ePSXe (load_bios
0x433540-0x433621 of the 2.0.5 Linux x64 binary, one configured path,
HLE when BiosHLE is set), FPse and FPse-NG, DXX-Rebirth's HOGs
(inferno.cpp:472-512). odin and zesarux carried it with no effect.
slot.py compares ranks only between candidates that share a set.
2026-11-09 18:19:32 +01:00
Abdessamad Derraz 1e12d9fe38 feat: group the first-found BIOS lists
Each list read at the profile's pin, every member required: true where
the code needs one of the set, the order left in priority.

- yabause, yabasanshiro, kronos: libretro.c tries saturn_bios.bin,
  sega_101.bin, mpr-17933.bin (yabause 1035-1049, yabasanshiro
  1048-1071, kronos 1619-1638 after kronos/saturn_bios.bin). kronos
  also reads saturn_bios.bin at the system root, now its own entry.
  yabasanshiro refuses the game with no file even under forced HLE
  (1064-1071), so its hle_fallback is gone.
- yabadabadoo: bios_for_region (libretro.c:262-284) takes any of the
  three in an order the disc region picks. One group, no priority:
  region keeps that order, no single rank would be true.
- ymir libretro: kBiosFilenames (libretro.cpp:305-309), region first,
  else the first found, no game without one (1231-1236).
- duckstation: FindBIOSImageInDirectory (bios.cpp:397-450) keeps any
  image of the right size, a region mismatch only warns: one set.
- picodrive: find_bios walks one list per disc region
  (libretro.c:1272-1336), three groups.
- px68k: BIOSFILE then cgrom.dat or cgrom.tmp (libretro.c:984-1032).
- px68k-sdl: BIOSFILE and FONTFILE lists (winx68k.cpp:277-331).
- numero: ti83se, ti83plus, ti83 (libretronew.cpp:575-594), no ROM
  leaves a blank screen.
- freechaf: sl90025 then sl31253, HLE without either
  (libretro.c:186-199), optional set.
- pcsx1: scph1001, scph5501, scph7001 then any scph* (libretro.c:1229),
  HLE without, optional set.
- odin: three boot ROMs inside hikaru.zip.
2026-11-09 17:40:00 +01:00
Abdessamad Derraz a40f8416e1 chore: merge yabadabadoo profile 2026-11-09 17:14:16 +01:00
Abdessamad Derraz a1f1fd0bab feat: add yabadabadoo profile 2026-11-09 17:12:50 +01:00
Abdessamad Derraz 0a618d0a05 chore: merge batocera lexaloffle launcher 2026-11-09 17:06:33 +01:00
Abdessamad Derraz fed8bdddd8 feat: read the lexaloffle launcher for batocera
Batocera's lexaloffleGenerator runs bios/pico-8/pico8 and
bios/voxatron/vox, raises when the binary is missing or not
executable, and puts each folder on LD_LIBRARY_PATH. The new
extractor records both per system from the AST, with the lines
of batocera-43.1 that say it.
2026-11-09 17:06:09 +01:00
Abdessamad Derraz ca11e7c502 chore: merge platnotes-1 2026-11-09 17:01:32 +01:00
Abdessamad Derraz e77636c0b9 docs: list oricutron 8dos.rom
pravetz8drom takes roms/8dos as its other value (oricutron.cfg:44), read as <path>.rom, 512 bytes. Hashes of the 1.2 Windows archive copy.
2026-11-09 17:00:59 +01:00
Abdessamad Derraz 11e6b879d3 docs: splitwolf checks vgahead size, no hash 2026-11-09 17:00:14 +01:00
Abdessamad Derraz ecc10f1d1c chore: merge platnotes-3 2026-11-09 16:59:10 +01:00
Abdessamad Derraz 45c409966b chore: merge platnotes-2 2026-11-09 16:59:10 +01:00
Abdessamad Derraz 4303c52012 docs: cite mame4droid files.zip for hiscore.dat 2026-11-09 16:57:52 +01:00
Abdessamad Derraz e09d28c7c1 docs: rocknix dropped aethersx2 in 20261101 2026-11-09 16:56:58 +01:00
Abdessamad Derraz 9a1f0346e1 docs: drop libretro aliases from blastem defaults 2026-11-09 16:55:16 +01:00
Abdessamad Derraz 32fefebc90 docs: read the xemu hdd name as a label 2026-11-09 16:55:04 +01:00
Abdessamad Derraz e31051f253 docs: triforce runs games without segaboot 2026-11-09 16:53:51 +01:00
Abdessamad Derraz 76314e0521 docs: read chihiro files beside their bios 2026-11-09 16:52:58 +01:00
Abdessamad Derraz ac4bb87714 docs: record retropie install of uqm addons 2026-11-09 16:52:06 +01:00
Abdessamad Derraz 18c9db12b0 docs: zesarux esxdos handler reads no firmware 2026-11-09 16:51:04 +01:00
Abdessamad Derraz 7013af615b docs: name the pcsx bios entry as a label 2026-11-09 16:49:38 +01:00
Abdessamad Derraz d37d8ff8cd docs: drop retrobat from the uzdoom.pk3 note 2026-11-09 16:49:19 +01:00
Abdessamad Derraz 7476579c35 docs: cite rpix86 binary offsets for 4dos 2026-11-09 16:48:43 +01:00
Abdessamad Derraz 334b1e4b7b docs: tie iortcw mp_bin0 to its pak checksum 2026-11-09 16:47:54 +01:00
Abdessamad Derraz e459ff2247 docs: describe ines CART.NES by its code only 2026-11-09 16:47:36 +01:00
Abdessamad Derraz f25247d7d5 docs: take groovymame hiscore.dat from its tree 2026-11-09 16:46:48 +01:00
Abdessamad Derraz 4d8fa39493 docs: cite the dolphin gecko handler checks 2026-11-09 16:46:18 +01:00
Abdessamad Derraz 4ae7576116 docs: read dsperate bios names as labels 2026-11-09 16:45:43 +01:00
Abdessamad Derraz 9449cab7ab docs: say how darkplaces mounts dopa 2026-11-09 16:44:44 +01:00
Abdessamad Derraz 464c8501d1 docs: tie ppsspp atlas hashes to the tree 2026-11-09 16:44:31 +01:00
Abdessamad Derraz 4140fbe72c docs: cite trx 1.12 zips for the tr1 demo 2026-11-09 16:43:56 +01:00
Abdessamad Derraz 90a1244b89 docs: cite the linapple install for its data 2026-11-09 16:43:54 +01:00
Abdessamad Derraz ad66fa6ed1 docs: say where lzdoom looks for fm banks 2026-11-09 16:43:03 +01:00
Abdessamad Derraz ca9a493c08 docs: cite scummvm build flags for vkeybd files 2026-11-09 16:42:37 +01:00
Abdessamad Derraz 9416816897 docs: cite the amiberry aros lookup and install 2026-11-09 16:42:24 +01:00
Abdessamad Derraz af014d50c9 docs: cite the eduke32 rts loader 2026-11-09 16:41:54 +01:00
Abdessamad Derraz 5f716b2cc7 docs: cite the chihiro-ds package for its files 2026-11-09 16:40:36 +01:00
Abdessamad Derraz 1dd40e1c66 docs: source oricutron hashes to its archives 2026-11-09 16:40:20 +01:00
Abdessamad Derraz 9610bad08d docs: list every file pico-8 and voxatron open
Traced runs of the 0.2.7 binaries, the raspi readme and the manual: settings, controller maps, favourites and the Voxatron cart list and player profile, all written by the program. Binary notes say what each build links.
2026-11-09 16:39:12 +01:00
Abdessamad Derraz 3761d17f0c docs: drop archive hashes from wolf4sdl data 2026-11-09 16:38:28 +01:00
Abdessamad Derraz c4006ae32f docs: mark splitwolf lwmp as a retropie install 2026-11-09 16:38:07 +01:00
Abdessamad Derraz 7f60480081 docs: read phoenix bios names as labels 2026-11-09 16:37:58 +01:00
Abdessamad Derraz 934dd4c0f9 docs: read voxatron files from its binaries
vox.dat is fatal when absent; libHoloPlayCore.so is never linked, named or opened by vox or vox_dyn, so it is optional.
2026-11-09 16:33:41 +01:00
Abdessamad Derraz 80a3139a19 docs: cite the pico-8 binary for pico8.dat
PICO-8 0.2.7 names pico8.dat itself and quits without it. The binaries are the emulator; launchers only pick which one runs.
2026-11-09 16:26:48 +01:00
Abdessamad Derraz 104f33f2d6 feat: profile pico-8 from platform launchers
One entry per file a launcher reads: pico8 per architecture, pico8_64,
pico8_dyn, pico8_gpio and pico8.dat, read in Batocera, KNULLI, Recalbox,
ROCKNIX, AmberELEC, EmuELEC, RetroDECK, ArkOS and ES-DE launchers.
2026-11-09 15:12:12 +01:00
Abdessamad Derraz 8499881424 docs: name the code's aliases in their notes 2026-11-09 12:16:02 +01:00
Abdessamad Derraz 7d217c0598 fix: identify linapple.conf, follow master 2026-11-09 12:11:53 +01:00
Abdessamad Derraz 0652bb692f fix: reach the held Quadra 800 ROM for basiliskii 2026-11-09 09:29:55 +01:00
Abdessamad Derraz d3136db265 chore: merge xenia update and blastem names 2026-11-09 08:59:59 +01:00
Abdessamad Derraz 705a617dcd chore: merge profile batch four 2026-11-09 08:28:45 +01:00