Files
libretro/emulators/81.yml
Abdessamad Derraz 846640dd7c feat: emulator mode field, archive ZX81 standalone ROMs
emulator profiles support mode: standalone | libretro | both.
cross_reference.py skips standalone-only files for libretro platforms.
81.yml: type standalone + libretro, upstream ref added, files listed
with mode: standalone and source_refs to both codebases.
bios/Sinclair/ZX 81/: zx81.rom (8K) and dkchr.rom (4K) archived.
2026-03-18 17:37:01 +01:00

45 lines
1.6 KiB
YAML

emulator: EightyOne
type: standalone + libretro
source: "https://github.com/libretro/81-libretro"
upstream: "https://github.com/charlierobson/EightyOne"
profiled_date: "2026-03-18"
core_version: "1.0a"
display_name: "Sinclair - ZX 81 (EightyOne)"
cores:
- 81
systems:
- sinclair-zx81
notes: |
Libretro core embeds zx81.rom and dkchr.rom as C arrays (xxd -i at build).
Core never calls RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY.
Standalone EightyOne loads ROMs from filesystem (cwd/ROM/<filename>).
Original emulator supports ~15 machines (ZX80, ZX81, Jupiter ACE, TS1500,
Lambda, R470, TK85, ZX97LE, Spectrum variants). Libretro port hardcodes
MACHINEZX81 — only zx81.rom and dkchr.rom are embedded.
files:
# mode: standalone = only needed when running as standalone emulator
# mode: libretro = only needed when running as libretro core
# mode: both (default if absent) = needed in both modes
# ref: 81-libretro/81/zx81/snap.c:37,489-496 — embedded as bin_ROM_zx81_rom
# ref: EightyOne/Source/zx81/snap.cpp:1219-1279 — open(cwd/ROM/zx81.rom)
- name: zx81.rom
system: sinclair-zx81
required: true
mode: standalone
size: 8192
note: "ZX81 8K BASIC ROM. Embedded in libretro core, external for standalone."
source_ref: "EightyOne/Source/zx81/snap.cpp:1264, 81-libretro/81/zx81/snap.c:489"
# ref: 81-libretro/81/zx81/snap.c:38,499-508 — embedded as bin_ROM_dkchr_rom
- name: dkchr.rom
system: sinclair-zx81
required: false
mode: standalone
size: 4096
note: "dK'tronics character ROM. Embedded in libretro core."
source_ref: "81-libretro/81/zx81/snap.c:499"