Commit Graph
4871 Commits
Author SHA1 Message Date
Abdessamad Derraz 56ed37c3f0 chore: merge launcher placement 2026-11-09 18:23:46 +01:00
Abdessamad Derraz cf6eb412f1 feat: bind emudeck links for switch and 3ds
yuzu, eden, Ryujinx and Azahar declare the data directories their code
reads, so EmuDeck's links place their keys in bios/<emulator>/keys and
leave the 3DS NAND files it links nowhere named, not at the BIOS root.
2026-11-09 18:22:39 +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 b5ee4ab09e feat: read pico-8 launchers of rocknix, retrobat
ROCKNIX's start_pico8.sh runs pico8_64 or pico8_dyn from
/storage/roms/pico-8 and RetroBat's Pico8 generator runs pico8.exe from
its pico8 emulator folder. Both are recorded as exec records, read from
the scripts at the revisions the platform files pin.
2026-11-09 18:22:26 +01:00
Abdessamad Derraz 5073e4ea85 chore: merge knulli and amberelec launchers 2026-11-09 18:04:36 +01:00
Abdessamad Derraz 25e515f982 docs: quote the -rp flag in amberelec_launchers 2026-11-09 18:03:08 +01:00
Abdessamad Derraz 7ca7872fdc feat: record knulli's macintosh boot disk
MAME and libretro MAME pass /userdata/bios/<bootdisk>.img with -flop1
when the option is in the generator's list, else <bootdisk>.chd with
-hard. Each branch is a {bootdisk} template: the list the code tests
for the floppy, and for the hard disk the choices es_features.yml
offers that the list does not take. The menu offers macos3 while the
code tests macos30, so System 3.0 is passed as macos3.chd.
2026-11-09 18:03:08 +01:00
Abdessamad Derraz f0289e3624 feat: record pcsx2's relative bios folder
configureINI writes [Folders] Bios = ../../../bios/ps2 into
inis/PCSX2.ini, which PCSX2 and AetherSX2 resolve against the config
folder configgen hands it. relative_folders reads the call, the ini
path and the value, and records the resolved /userdata/bios/ps2 as a
passes_path for pcsx2 and aethersx2.
2026-11-09 17:59:09 +01:00
Abdessamad Derraz cedeee2254 refactor: one meaning for copy records
A copies record names its files under search_dir, the folder the code
copies from, and passes_to is the target, as the schema and RetroPie,
RetroDECK and AmberELEC already write it. KNULLI listed patches.zip
under the BIOS folder it is copied into, and KNULLI and RetroBat wrote
the target as prose with the condition. The condition of a copy now
goes in depends_on_option. Only launcher records change in knulli.yml
and retrobat.yml.
2026-11-09 17:58:37 +01:00
Abdessamad Derraz ffad06487c feat: read the amberelec launcher layer
amberelec_launchers reads runemu.py with ast and, at the commit the
scraper pins, the scripts its standalone table runs and the configs
their packages install: RetroArch and retrorun directories, the MAME
-rp path, atari800.cfg, Hatari's default TOS, amiberry's kickstarts
link and defaults, yabasanshiro, PICO-8, piemu, scummvm, freej2me and
easyrpg. 17 records.

The freej2me-lr.jar and pico8_64 notes now name the file in a sentence
about the emulator, as test_launcher_aliases asks once a launcher
records it.
2026-11-09 17:47:23 +01:00
Abdessamad Derraz c65ed9d69d chore: merge fluidsynth profile 2026-11-09 17:47:16 +01:00
Abdessamad Derraz 2c58f50a2d feat: read the knulli launcher layer
knulli_launchers reads KNULLI's configgen and the PICO-8 installer at
the tag the scraper pins: Batocera's extractors where the generator is
still Batocera's code, KNULLI's own for lexaloffle, libretroOptions and
knulli-install-pico8, and one AST reader for the BIOS paths the other
generators pass on a command line, in a config key or the environment,
copy or test for. 52 records.
2026-11-09 17:47:16 +01:00
Abdessamad Derraz 10e4d925d0 refactor: root the configgen reader at a package
Configgen takes the configgen package path and whether the importer has
a legacy map, so KNULLI's copy at package/system/knulli-configgen reads
with the same extractors. hatari accepts the bare filename KNULLI builds
and joins to BIOS, and options read by subscript or isOptSet. melonds
accepts a console type read by subscript. Batocera's records are
unchanged at batocera-43.1.
2026-11-09 17:47:09 +01:00
Abdessamad Derraz 4fe2d14832 docs: profile fluidsynth as emuelec runs it
FluidSynth 2.0.6 (EmuELEC fluidsynth-git, PKG_SHA256 matched) loads
any argument whose header is RIFF sfbk and names no SoundFont.
SC-55.sf2 is named only by emuelec-utils:67 and no EmuELEC package
or script installs or fetches it, so the entry is unsourceable: user
supplied, no canonical file.
2026-11-09 17:45:53 +01:00
Abdessamad Derraz 768cc9fd6f chore: merge origin/main 2026-11-09 17:43:44 +01:00
Abdessamad Derraz f81688d2d4 chore: merge dsi boot blobs 2026-11-09 17:35:38 +01:00
Abdessamad Derraz b5c517b07a feat: add dsi boot blobs cut from the dsi nands
Each blob is TWLCFG 0x88-0x1AF, HWINFO_N 0x88-0x9B and HWINFO_S 0x88-0x9F, read from a retail NAND dump by DSperate's own nand_boot_blobs at ddf2910e. The primary comes from dsi_nand.bin, the seven others from the regional dumps and the dsi_nand.bin variant.
2026-11-09 17:35:05 +01:00
Abdessamad Derraz 7f04ed8096 chore: merge emuelec launchers 2026-11-09 17:34:40 +01:00
Abdessamad Derraz 82a6b2f833 feat: read the emuelec launchers
emuelec_launchers.py reads emuelecRunEmu.sh and the scripts and
configs it starts at the tag batocera-systems is read at (v4.8): 36
records for RetroArch, retrorun, freej2me, MAME, PICO-8, Flycast,
Amiberry, DuckStation, Yabasanshiro, jzIntv, Mupen64Plus, Hatari,
AdvanceMAME, ScummVM, Dolphin and the MIDI synths.
2026-11-09 17:34:03 +01:00
Abdessamad Derraz 7aacbbe214 docs: name the jar the freej2me core joins
The note named freej2me-lr.jar only in its ROCKNIX sentence, so a
launcher record naming the jar read as a platform choice.
freej2me_libretro.c:488 joins it to the system directory.
2026-11-09 17:34:03 +01:00
Abdessamad Derraz 024032ab89 chore: merge fix-profiles 2026-11-09 17:28:10 +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
Abdessamad Derraz a2bf1c6f8e feat: record the uae4all working directory
RetroPie starts UAE4All2 with pushd $md_inst, the directory whose
kickstarts folder it links to BIOS/amiga. The scriptmodule reader now
emits that working directory as it does for DraStic.
2026-11-09 17:28:00 +01:00
Abdessamad Derraz a22d9fd499 docs: add the dsperate-headless dsi boot blob
dsperate-headless reads a 0x154-byte console data blob through --dsi-boot and stops on any other size. The flag has no default, so the name is a label. Without it the bytes come from the NAND's TWLCFG and HWINFO files, are generated for DSiWare run without a NAND, or stay zero in card mode.
2026-11-09 17:27:48 +01:00
Abdessamad Derraz 3d662cbd15 docs: read the triforce font load from code
LoadFileToIPL reads a standalone font with no size check, keeping what fits in the IPL image. The sizes stay as the IPL dump fonts' lengths and the notes say so. No HLE stands in for a missing font: the IPL read raises an alert and the game runs on, so hle_fallback goes.
2026-11-09 17:25:10 +01:00
Abdessamad Derraz d9aaa9bdba docs: split xemu system files by build
The standalone runs without the MCPX ROM and the disk image, queuing an error, and stops only without a flash ROM: vl.c clears autostart. bootrom_path, flashrom_path and hdd_path have no default, so their names are labels and the standalone entries lose path. The core still refuses to load without the MCPX ROM or the flash.
2026-11-09 17:23:08 +01:00
Abdessamad Derraz da9808e26e docs: restore installer prose lost in a merge
The merge of 6c1446886 took one side of wiki/installer.md for its generated samples and dropped four hand-written changes from the other (folder browser text, --restore row, muOS card text, a kept-file sample). Redone as a three-way merge, samples regenerated.
2026-11-09 17:21:09 +01:00
Abdessamad Derraz eb75c2d1f5 docs: read uqm content checks from the engine
The engine checks no hash: only the Windows installer compares the packages.nsh MD5s, so validation and verification go. The content pack stays required from LoadKernel, which exits without a .rmp index at the content root and names the pack.
2026-11-09 17:19:16 +01:00
Abdessamad Derraz b270a24d7b feat: take a platform's own libretro builds
A list naming retroarch now takes the libretro profiles whose built_by names the platform: ROCKNIX ships yabadabadoo with its RetroArch and named it nowhere, so its files never reached the ROCKNIX pack. Only change across the registry: rocknix + yabadabadoo. Also quotes the installer's current unproven-drive message.
2026-11-09 17:18:44 +01:00
Abdessamad Derraz 2377985df7 docs: read the dsperate font check from code
prepare_dsi_hle refuses a TWLFontTable.dat under 256 bytes and reads its layout from bytes 0x84 and 0x86, warning on a mismatch. No hash is checked, so the three retail NAND sha1s go, and one entry states the size floor and the three layouts.
2026-11-09 17:16:29 +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 f04c2d7f7a feat: collect mame4droid hiscore.dat
plugins/hiscore/hiscore.dat from res/raw/files.zip at 32d78192, sha1 6f730abe (CRLF copy of MAME 0.289's file).
2026-11-09 17:04:29 +01:00
Abdessamad Derraz 8364c7f145 chore: rescrape rocknix and retropie targets
ROCKNIX at 20261101 (aethersx2 and freechaf gone), RetroPie gains fake08 on seven targets.
2026-11-09 17:03:53 +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 63d94b9415 feat: collect splitwolf lwmp tree
lwmp.zip from the project's downloads (sha1 1145464c), 2308 files read by path. Equal files sit in one folder per rotation, so the tree is kept out of dedup.
2026-11-09 16:55:31 +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