mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-12 13:03:54 -06:00
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.
283 lines
15 KiB
YAML
283 lines
15 KiB
YAML
emulator: Lexaloffle
|
|
type: standalone
|
|
core_classification: other
|
|
upstream: "https://www.lexaloffle.com/"
|
|
profiled_date: "2026-11-09"
|
|
core_version: "0.2.7"
|
|
version_basis:
|
|
kind: package
|
|
url: "https://web.archive.org/web/20260105092803id_/https://www.lexaloffle.com/dl/7wdekp/pico-8_0.2.7_raspi.zip"
|
|
pattern: 'pico-8_([0-9.]+[a-z]?)_raspi\.zip'
|
|
artifact: "pico-8_0.2.7_raspi.zip and pico-8_0.2.7_amd64.zip, version string pico-8 0.2.7 in every binary"
|
|
version_source:
|
|
url: "https://www.lexaloffle.com/dl/docs/pico-8_changelog.txt"
|
|
pattern: '^\s*v(0\.\d+\.\d+[a-z]?)\s*$'
|
|
display_name: "Lexaloffle - PICO-8 / Voxatron"
|
|
cores:
|
|
- lexaloffle
|
|
- "pico-8"
|
|
- vox_official
|
|
- "pico8"
|
|
- "Pico-8"
|
|
- "pico_standalone"
|
|
- "float-scaled"
|
|
systems:
|
|
- pico8
|
|
- voxatron
|
|
|
|
notes: |
|
|
Commercial fantasy consoles by Lexaloffle Games LLP, sold as ZIP archives
|
|
per platform. Nothing in either program checks a hash of its own files:
|
|
the hashes below are those of the files in the official 0.2.7 archives.
|
|
|
|
PICO-8 0.2.7 ships five archives. pico-8_0.2.7_amd64.zip holds pico8
|
|
(x86_64, SDL2 linked in) and pico8_dyn (x86_64, system libSDL2).
|
|
pico-8_0.2.7_raspi.zip holds pico8 (armhf, SDL2 linked in, needs the
|
|
Raspberry Pi libbcm_host.so), pico8_dyn (armhf, system libSDL2), pico8_gpio
|
|
(armhf, needs libbcm_host.so and libwiringPi.so) and pico8_64 (aarch64,
|
|
system libSDL2). pico-8_0.2.7_i386.zip holds pico8_32bit and
|
|
pico8_32bit_dyn, pico-8_0.2.7_windows.zip holds pico8.exe and
|
|
pico-8_0.2.7_osx.zip holds PICO-8.app. Each binary opens pico8.dat from its
|
|
own folder and quits when it is absent, and pico8.dat is the same file in
|
|
every archive of one version. The binaries name no other file of the
|
|
archive: which binary runs, and from which folder, is the launcher's choice.
|
|
The amd64 and raspi archives carry pico8.dat 10b39730, byte for byte.
|
|
|
|
Launchers by platform, each read at the revision the platform file pins:
|
|
- Batocera lexaloffleGenerator.py runs bios/pico-8/pico8 and raises when it
|
|
is missing or not executable, with LD_LIBRARY_PATH set to bios/pico-8.
|
|
The name is fixed for every board: an x86_64 board needs the amd64 pico8,
|
|
a Raspberry Pi 32-bit board the raspi pico8, an aarch64 board pico8_64
|
|
renamed.
|
|
- KNULLI knulli-install-pico8 unzips the raspi archive from roms/pico8,
|
|
stops when pico8_64, pico8_dyn, pico8_gpio or pico8.dat is missing, moves
|
|
pico8_64 to bios/pico-8/pico8 and the other three beside it. Its
|
|
lexaloffleGenerator.py runs bios/pico-8/pico8 with no LD_LIBRARY_PATH.
|
|
The RG35XX simplermenu launcher runs pico8_dyn.
|
|
- Recalbox pico8Generator.py moves bios/pico-8 to /overlay/emulator/pico-8
|
|
and renames pico8_64 to pico8 there, then runs it.
|
|
- ROCKNIX start_pico8.sh runs roms/pico-8/pico8_64 on aarch64 and
|
|
roms/pico-8/pico8_dyn on any other HW_ARCH, from roms/pico-8/<HW_ARCH>/
|
|
when that folder exists. ROCKNIX reads nothing from bios/.
|
|
- AmberELEC pico-8.sh runs roms/pico-8/pico8_64 and shows "Missing Pico-8
|
|
binaries!" when pico8_64 or pico8.dat is absent.
|
|
- EmuELEC pico8.sh copies roms/bios/pico-8/* to /emuelec/bin/pico-8 on the
|
|
next start and runs pico8_dyn from there, with no existence check.
|
|
- RetroDECK component_launcher.sh executes bios/pico-8/pico8, and its
|
|
component_manifest.json lists pico8, pico8.dat and pico8_dyn as required.
|
|
- RetroBat Pico8.Generator.cs runs pico8.exe from the folder its config
|
|
names pico8 and returns nothing when pico8.exe is absent. That folder is
|
|
an emulator install, outside the BIOS tree, so no entry below targets it.
|
|
- ArkOS (dArkOS pico8/pico8.sh) prefers roms/pico-8/pico8_64, then
|
|
roms/pico-8/pico8_dyn, then extracts pico8_64 and pico8.dat from a
|
|
*raspi.zip in that folder, and starts Fake08 when the binary or
|
|
pico8.dat is still missing.
|
|
- ES-DE es_find_rules.xml looks for pico8_64 under ~/Applications/pico-8
|
|
and three other home folders on linuxarm, pico8 on linux and unix, and
|
|
pico8.exe on Windows.
|
|
|
|
Voxatron: Batocera's generator runs bios/voxatron/vox with
|
|
LD_LIBRARY_PATH set to bios/voxatron. x86_64 only. vox_dyn is the
|
|
variant linked against the system SDL2. libHoloPlayCore.so is the Looking
|
|
Glass SDK the binary links against.
|
|
|
|
files:
|
|
# -------------------------------------------------------
|
|
# PICO-8 0.2.7
|
|
# -------------------------------------------------------
|
|
- name: pico8
|
|
path: pico-8/pico8
|
|
system: pico8
|
|
required: true
|
|
unread_on: [amberelec, emuelec, knulli, recalbox, retrobat, rocknix]
|
|
size: 9425408
|
|
md5: 0d127838e79459da4ae36bb8b2e576ca
|
|
sha1: 1843e82abc1d068d7602d3ac135b6ad72aaf6c0a
|
|
description: "PICO-8 0.2.7 x86_64 executable, SDL2 linked in"
|
|
note: "The pico8 of pico-8_0.2.7_amd64.zip, an x86_64 ELF that loads no libSDL2. Batocera runs it on x86_64 boards and raises when it is missing or not executable. RetroDECK executes the same path."
|
|
source_ref: "batocera lexaloffleGenerator.py:17, 37, 48-52, 87-90, RetroDECK pico-8/component_launcher.sh:3, RetroDECK pico-8/component_manifest.json:12-17"
|
|
|
|
- name: pico8
|
|
path: pico-8/pico8
|
|
system: pico8
|
|
required: true
|
|
unread_on: [amberelec, emuelec, knulli, recalbox, retrobat, retrodeck, rocknix]
|
|
size: 7895320
|
|
md5: 21d4c4c6d9da8fc2c81aa7a844edee96
|
|
sha1: 946db0633966afecf81d2b33957c7db8fb3a2356
|
|
description: "PICO-8 0.2.7 armhf executable, SDL2 linked in"
|
|
note: "The pico8 of pico-8_0.2.7_raspi.zip, a 32-bit ARM ELF that needs libbcm_host.so, so it runs on Raspberry Pi firmware only. Batocera's fixed path is the one a 32-bit Raspberry Pi board (bcm2835, bcm2836) can run."
|
|
source_ref: "batocera lexaloffleGenerator.py:17, 48-52"
|
|
|
|
- name: pico8
|
|
path: pico-8/pico8
|
|
system: pico8
|
|
required: true
|
|
unread_on: [amberelec, emuelec, recalbox, retrobat, retrodeck, rocknix]
|
|
size: 1640888
|
|
md5: 70ab37eab4e7d162d36d9b2d91b84867
|
|
sha1: 4ed23b6578a2d93d67aa856791dc70e95d68a3f4
|
|
description: "PICO-8 0.2.7 aarch64 executable (pico8_64) under the name pico8"
|
|
note: "The pico8_64 of pico-8_0.2.7_raspi.zip, at the pico8 path. KNULLI's installer moves pico8_64 there and its generator runs it, with no check of the bytes. An aarch64 Batocera board needs the same file at the same path."
|
|
source_ref: "knulli board/fsoverlay/usr/bin/knulli-install-pico8:8, 33-36, 66, 73, knulli lexaloffleGenerator.py:20, 54-59, batocera lexaloffleGenerator.py:17"
|
|
|
|
- name: pico8_64
|
|
path: pico-8/pico8_64
|
|
system: pico8
|
|
required: true
|
|
unread_on: [batocera, emuelec, knulli, retrobat, retrodeck]
|
|
size: 1640888
|
|
md5: 70ab37eab4e7d162d36d9b2d91b84867
|
|
sha1: 4ed23b6578a2d93d67aa856791dc70e95d68a3f4
|
|
description: "PICO-8 0.2.7 aarch64 executable, system libSDL2"
|
|
note: "pico8_64 is only in pico-8_0.2.7_raspi.zip, the build for 64-bit Raspberry Pi OS, linked against the system SDL2. AmberELEC and ROCKNIX run it from roms/pico-8/, not from bios/. AmberELEC stops with a message when it is missing. ROCKNIX picks it when HW_ARCH is aarch64. Recalbox renames bios/pico-8/pico8_64 to pico8 before the first run, and a missing file fails the rename."
|
|
source_ref: "pico-8 0.2.7 raspi readme_raspi.txt:3-11, amberelec packages/amberelec/sources/pico-8.sh:51-54, amberelec packages/amberelec/sources/scripts/runemu.py:123, rocknix projects/ROCKNIX/packages/emulators/standalone/pico-8/scripts/start_pico8.sh:8-17, 35-40, 46-47, recalbox projects/configgen/configgen/generators/pico8/pico8Generator.py:14-19, dArkOS pico8/pico8.sh:47-60, 128-135"
|
|
|
|
- name: pico8_dyn
|
|
path: pico-8/pico8_dyn
|
|
system: pico8
|
|
required: false
|
|
unread_on: [amberelec, emuelec, knulli, recalbox, retrobat, rocknix]
|
|
size: 1805928
|
|
md5: 724435a9e6f3ef8a55c648fc88651826
|
|
sha1: 9b2e573250c70382b4071709a85c8d56c0371d59
|
|
description: "PICO-8 0.2.7 x86_64 executable, system libSDL2"
|
|
note: "The pico8_dyn of pico-8_0.2.7_amd64.zip, the same program linked against the system SDL2. RetroDECK lists it as required in its manifest, but its launcher executes pico8 only. Batocera never runs it."
|
|
source_ref: "pico-8 0.2.7 amd64 pico8_dyn, NEEDED libSDL2-2.0.so.0, RetroDECK pico-8/component_manifest.json:26-32, RetroDECK pico-8/component_launcher.sh:3"
|
|
|
|
- name: pico8_dyn
|
|
path: pico-8/pico8_dyn
|
|
system: pico8
|
|
required: true
|
|
unread_on: [amberelec, batocera, recalbox, retrobat, retrodeck, rocknix]
|
|
size: 1452936
|
|
md5: 867701eff7e82a91985ae1fbe90dbc4a
|
|
sha1: 87ef68e70c53ba209e697bb51de45826e982d92d
|
|
description: "PICO-8 0.2.7 armhf executable, system libSDL2"
|
|
note: "The pico8_dyn of pico-8_0.2.7_raspi.zip, 32-bit, linked against the system SDL2. EmuELEC copies bios/pico-8 to /emuelec/bin/pico-8 and runs pico8_dyn with no existence check. KNULLI's installer stops when the archive lacks it and moves it to bios/pico-8, and the RG35XX simplermenu launcher runs it. ROCKNIX runs a pico8_dyn from roms/pico-8/ on a HW_ARCH other than aarch64, and ArkOS falls back to it when pico8_64 is absent."
|
|
source_ref: "pico-8 0.2.7 raspi readme_raspi.txt:3-11, emuelec packages/sx05re/emuelec/bin/pico8.sh:9-14, 39-43, knulli board/fsoverlay/usr/bin/knulli-install-pico8:9, 38-41, 67, knulli board/actions/atm7039/rg35xx/fsoverlay/usr/share/knulli/datainit/system/configs/simplermenu_plus/launchers/pico8_sa:3, rocknix projects/ROCKNIX/packages/emulators/standalone/pico-8/scripts/start_pico8.sh:14-16, dArkOS pico8/pico8.sh:49-50"
|
|
|
|
- name: pico8_gpio
|
|
path: pico-8/pico8_gpio
|
|
system: pico8
|
|
required: false
|
|
unread_on: [amberelec, batocera, emuelec, recalbox, retrobat, retrodeck, rocknix]
|
|
size: 7898704
|
|
md5: 286ab30756dfc40749ecd72221f0d063
|
|
sha1: df77c64c95695710d23b451277325e0c37e7416e
|
|
description: "PICO-8 0.2.7 armhf executable with GPIO access (wiringPi)"
|
|
note: "Only in pico-8_0.2.7_raspi.zip. The 32-bit build that maps the GPIO pins to 0x5f80..0x5fff, linked against libbcm_host.so and libwiringPi.so. KNULLI's installer stops when the archive lacks it and moves it to bios/pico-8, but no launcher runs it."
|
|
source_ref: "pico-8 0.2.7 raspi readme_raspi.txt:3-11, knulli board/fsoverlay/usr/bin/knulli-install-pico8:10, 43-46, 68"
|
|
|
|
- name: pico8.dat
|
|
path: pico-8/pico8.dat
|
|
system: pico8
|
|
required: true
|
|
unread_on: [retrobat]
|
|
size: 11243101
|
|
md5: 10b397305093c80109096319a538ba56
|
|
sha1: 0f92093752bddb12210c7db6d93af3ba2413cfce
|
|
description: "PICO-8 0.2.7 data file (boot sequence, themes, demo carts)"
|
|
note: "PICO-8 opens it from its own folder and quits with \"couldn't load <folder>/pico8.dat\" when it is absent (the amd64 pico8, run without it). Paired with the binary's own version, identical in pico-8_0.2.7_amd64.zip and pico-8_0.2.7_raspi.zip. AmberELEC and ArkOS check for it before starting PICO-8, and KNULLI's installer stops when the archive lacks it."
|
|
source_ref: "pico-8 0.2.7 amd64 pico8, string pico8.dat at 0x231bc0, pico-8 0.2.7 raspi pico8_64, string pico8.dat at 0x110138, amberelec packages/amberelec/sources/pico-8.sh:51-52, dArkOS pico8/pico8.sh:136-142, knulli board/fsoverlay/usr/bin/knulli-install-pico8:11, 48-51, 69"
|
|
|
|
- name: config.txt
|
|
unsourceable: "written by the emulator on exit, no canonical file"
|
|
system: pico8
|
|
required: false
|
|
description: "PICO-8 settings"
|
|
source_ref: "pico-8 0.2.7 amd64 pico8, string config.txt at 0x244739, pico-8 0.2.7 pico-8_manual.txt:250-259, 284"
|
|
note: "Read beside the binary, then from the -home folder (~/.lexaloffle/pico-8 on Linux), and written there on exit when absent."
|
|
|
|
- name: sdl_controllers.txt
|
|
unsourceable: "user supplied, no canonical file"
|
|
system: pico8
|
|
required: false
|
|
description: "Custom SDL controller mappings, one per line"
|
|
source_ref: "pico-8 0.2.7 amd64 pico8, string sdl_controllers.txt at 0x24c896, pico-8 0.2.7 pico-8_manual.txt:301-302, 4053"
|
|
note: "Processed first when present beside the binary, then read from the -home folder, where PICO-8 writes it when absent."
|
|
|
|
- name: favourites.txt
|
|
unsourceable: "written by the emulator, no canonical file"
|
|
system: pico8
|
|
required: false
|
|
description: "SPLORE favourites list"
|
|
source_ref: "pico-8 0.2.7 amd64 pico8, string favourites.txt at 0x242346"
|
|
note: "Read from the -home folder. The bbs/<listing>.pip.png images beside it are downloaded from the BBS."
|
|
|
|
# -------------------------------------------------------
|
|
# Voxatron
|
|
# -------------------------------------------------------
|
|
- name: vox
|
|
path: voxatron/vox
|
|
system: voxatron
|
|
required: true
|
|
description: "Voxatron main executable"
|
|
source_ref: "batocera lexaloffleGenerator.py:20, 42, 48-52"
|
|
note: "The Voxatron program vox, an x86_64 ELF with SDL2 linked in. Batocera's generator runs bios/voxatron/vox and raises when it is missing or not executable."
|
|
|
|
- name: vox_dyn
|
|
path: voxatron/vox_dyn
|
|
system: voxatron
|
|
required: false
|
|
description: "Voxatron dynamically linked executable"
|
|
source_ref: "voxatron vox_dyn, NEEDED libSDL2-2.0.so.0, batocera lexaloffleGenerator.py:20, 42"
|
|
note: "The same program linked against the system SDL2 (its only extra NEEDED library). Batocera's generator never runs it."
|
|
|
|
- name: vox.dat
|
|
path: voxatron/vox.dat
|
|
system: voxatron
|
|
required: true
|
|
description: "Voxatron data file"
|
|
source_ref: "voxatron vox, string vox.dat at 0x2a58f, voxatron vox_dyn, string vox.dat at 0x1f1af"
|
|
note: "Opened from the folder of the binary that runs. Absent, vox stops with \"FATAL ERROR: could not load vox.dat\"."
|
|
|
|
- name: libHoloPlayCore.so
|
|
path: voxatron/libHoloPlayCore.so
|
|
system: voxatron
|
|
required: false
|
|
description: "Looking Glass holographic display support library"
|
|
source_ref: "voxatron vox, voxatron vox_dyn, batocera lexaloffleGenerator.py:41, 87-90"
|
|
note: "Neither binary links it or names it, and neither opens it in a run (strace, with and without the file). Batocera's generator sets LD_LIBRARY_PATH to bios/voxatron, where it keeps the library."
|
|
|
|
- name: config.txt
|
|
unsourceable: "written by the emulator on exit, no canonical file"
|
|
system: voxatron
|
|
required: false
|
|
description: "Voxatron settings"
|
|
source_ref: "voxatron vox, string config.txt at 0x27bea0"
|
|
note: "Read beside the binary, then from ~/.lexaloffle/Voxatron, and written there when absent."
|
|
|
|
- name: sdl_controllers.txt
|
|
unsourceable: "user supplied, no canonical file"
|
|
system: voxatron
|
|
required: false
|
|
description: "Custom SDL controller mappings"
|
|
source_ref: "voxatron vox, string sdl_controllers.txt at 0x2847f7"
|
|
note: "Read beside the binary, then from ~/.lexaloffle/Voxatron, where Voxatron writes it when absent."
|
|
|
|
- name: favourites.txt
|
|
unsourceable: "written by the emulator, no canonical file"
|
|
system: voxatron
|
|
required: false
|
|
description: "Cart browser favourites list"
|
|
source_ref: "voxatron vox, string favourites.txt at 0x27a39e"
|
|
note: "Read from ~/.lexaloffle/Voxatron."
|
|
|
|
- name: internal_carts.txt
|
|
unsourceable: "written by the emulator, no canonical file"
|
|
system: voxatron
|
|
required: false
|
|
description: "Voxatron internal cart list"
|
|
source_ref: "voxatron vox, string internal_carts.txt at 0x27a446"
|
|
note: "Read from ~/.lexaloffle/Voxatron and written there at startup."
|
|
|
|
- name: player_1.vpp
|
|
path: player/player_1.vpp
|
|
unsourceable: "written by the emulator, no canonical file"
|
|
system: voxatron
|
|
required: false
|
|
description: "Voxatron player profile"
|
|
source_ref: "voxatron vox, string player/player_%d.vpp at 0x273f90"
|
|
note: "Read from ~/.lexaloffle/Voxatron/player, and written there when absent."
|