Commit Graph
10 Commits
Author SHA1 Message Date
Abdessamad Derraz a8af82c2d5 fix: leave wpcap.dll to the Npcap install
xemu loads wpcap.dll with a plain LoadLibrary (winpcap-loader/loader.c),
and it works only with the Npcap driver, whose installer puts it on the
DLL search path. The schema has no marker for a file a separate system
install provides, so the entry is unsourceable with that reason. The
copy at the BIOS root of RetroBat, RetroDECK and eight other platform
lists, which no search order reaches, leaves them.
2026-11-10 02:41:52 +01:00
Abdessamad Derraz ffb3cbfed3 fix: place Xbox files where RetroBat reads them
Each Cxbx build reads its data from the folder its settings.ini sits
in, which RetroBat writes beside the binary: the three profiles name
Settings::GetDataLocation, so keys.bin, EmuDisk and EmuMediaBoard go to
emulators/<folder> on RetroBat instead of the BIOS root. RetroBat writes
cxbx-reloaded's EEPROM.bin and xemu's eeprom.bin and xbox_hdd.qcow2
itself (installed_on), and mounts an .iso with its own tool, so Cxbx's
dokan2.dll is never loaded there (unread_on).
2026-11-10 02:36:02 +01:00
Abdessamad Derraz 2eca218535 fix: fill a launcher name listed under another
RetroPie lists KS 1.3 as kick34005.A500, and its fs-uae launcher
passes $biosdir/kick13.rom. The listed copy settles fs-uae's entry by
content, so the launcher layer never offered it, and kick13.rom
reached the pack only as a copy of UAE4All2's amiga/kick13.rom: the
x86 boards, without UAE4All2, lost it. An entry the list settles under
another name now answers the launcher's place by its own name.
2026-11-10 02:08:16 +01:00
Abdessamad Derraz 7f20702b48 fix: one omission for a place two builds read
RetroPie builds amiberry 5.7.2 and 6.3.3, one per board, both in
$md_inst of its amiberry package. Each build recorded roms/kick.rom
and whdboot/AmiQuit in the emulator's folder apart, and
install/retropie.json listed both destinations twice. A file read
outside the BIOS tree is now keyed by the folder the platform installs
the listed name into, and one omission names every core reading it.
2026-11-10 02:06:44 +01:00
Abdessamad Derraz 7e22c38113 feat: place shadps4 files below the configs root
Batocera and KNULLI start shadPS4 from CONFIGS/shadps4, so its user
folder sits below /userdata/system/configs. The scrapers read that root
from batoceraPaths and write configs_root with its source_ref. The
manifest names it configs_directory, and install.py honours it through
the same checks as roms_directory: character rules, at most two ups,
the ancestor match and the lexical bound.
2026-11-09 19:53:49 +01:00
Abdessamad Derraz 3db2819150 refactor: read the roms root from romfolders
platforms/romfolders/<platform>.yml records the roms root from the OS's
own source (roms_root path and from_bios), the same fact the registry's
roms_directory restated for ROCKNIX alone. The manifest's roms_directory
now carries from_bios, which the installer follows from a BIOS folder of
the platform's name, and the registry key is gone. A list that installs
above its BIOS folder (AmberELEC) holds its roms root in the install
tree: a file a launcher runs from there is a plain dest. emulators_directory
stays in the registry: no rom folders file names emulator folders.
2026-11-09 19:03:49 +01:00
Abdessamad Derraz c8fe8d914d feat: install files into retrobat emulator folders
RetroBat's Pico8 generator runs pico8.exe from AppConfig.GetFullPath:
the emulatorLauncher.cfg key, else the first existing of four folders of
the RetroBat install. The registry describes that search
(emulators_directory) and the manifest writes such a file as
root: emulators. The installer places it only when the BIOS folder sits
beside RetroBat's launcher config and the config does not move the
folder, and names it no_emulators_directory otherwise. Packs skip it as
they skip root: roms.

The PICO-8 0.2.7 Windows build (pico8.exe, SDL2.dll) is collected from
the archive.org copy of pico-8_0.2.7_windows.zip, its pico8.dat being
the 0.2.7 one already held.
2026-11-09 18:55:49 +01:00
Abdessamad Derraz f47c8b8e5a fix: profile voxatron apart from pico-8
lexaloffle documented two programs, so every platform naming PICO-8
received Voxatron's files: ROCKNIX, RetroDECK and RetroBat run PICO-8
only. Voxatron is its own profile, named vox_official. A platform also
runs the emulators its standalone_cores list names: Batocera and KNULLI
list lexaloffle there and nowhere else.
2026-11-09 18:48:13 +01:00
Abdessamad Derraz 65e1db9fe1 feat: place files outside the bios tree
A platform that binds part of a standalone layout leaves the entries no
binding covers in a folder outside the BIOS tree: they are no longer
packed at the BIOS root, and the manifest names them (root: emulator,
outside_bios_folder). A launcher that executes a profile's file binds
the program folder: in the BIOS tree, below the roms directory a registry
entry names (root: roms, installed into the folder holding the BIOS
folder), or nowhere a pack reaches. A moved entry resolves by its own
path as well as by its destination.

uae4all gains kick.rom and rom.key in its working directory and loses a
not_bundled_on that named Recalbox, which runs uae4all-rpi. lexaloffle
declares that its programs read beside their executable, lists the
Windows build RetroBat runs and the pico8_dyn ROCKNIX runs on x86_64.
2026-11-09 18:22:34 +01:00
Abdessamad Derraz 6a9700489d feat: place standalone files through links
standalone_bindings maps each subfolder of a standalone layout to the
folder of the BIOS tree a platform's links and passed directories give
it, followed through a working directory. platform_layouts applies it,
so the pack, the manifest, verify and slots read one destination.

uae4all paths are now what the emulator reads, kickstarts/<name> below
its working directory, and RetroPie still receives them in amiga/.
2026-11-09 17:28:00 +01:00