mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-13 12:22:33 -05:00
Every profile now has: - profiled_date: date of source code analysis - core_version: version from libretro-core-info .info files - display_name: human-readable name from .info files 260/260 profiles complete. 294/294 libretro cores covered. Standalone emulators (cemu, rpcs3, xemu, vita3k) versioned manually.
53 lines
1.9 KiB
YAML
53 lines
1.9 KiB
YAML
emulator: EightyOne
|
|
type: libretro
|
|
source: "https://github.com/libretro/81-libretro"
|
|
profiled_date: "2026-03-18"
|
|
core_version: "1.0a"
|
|
display_name: "Sinclair - ZX 81 (EightyOne)"
|
|
cores:
|
|
- 81
|
|
systems:
|
|
- sinclair-zx81
|
|
|
|
notes: |
|
|
EightyOne is a Sinclair ZX81 emulator ported to libretro. Also supports
|
|
ZX80, Jupiter ACE, TS1500, Lambda, R470, TK85, and ZX97LE machines, but
|
|
the libretro port hardcodes MACHINEZX81 in retro_load_game (libretro.cpp:393).
|
|
|
|
ROM loading is in snap.c:487-512. The memory_load() function matches the
|
|
requested ROM filename against a compiled-in table and copies from embedded
|
|
byte arrays generated by xxd -i at build time (Makefile.libretro:519-522).
|
|
Only two ROMs are embedded: zx81.rom (the ZX81 8K BASIC ROM) and dkchr.rom
|
|
(dK'tronics character ROM). Any other ROM name logs an error and returns 0.
|
|
|
|
The core never calls RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY, never opens
|
|
files from the filesystem for ROM data, and need_fullpath is set to false
|
|
(libretro.cpp:308). All ROM data is baked into the compiled .so/.dll.
|
|
|
|
No external BIOS or firmware files are needed.
|
|
|
|
files: []
|
|
|
|
analysis:
|
|
embedded_roms:
|
|
zx81_rom:
|
|
variable: bin_ROM_zx81_rom
|
|
source_file: "bin/ROM/zx81.rom"
|
|
build_step: "xxd -i -> C array"
|
|
source_ref: "snap.c:489-498"
|
|
dkchr_rom:
|
|
variable: bin_ROM_dkchr_rom
|
|
source_file: "bin/ROM/dkchr.rom"
|
|
build_step: "xxd -i -> C array"
|
|
source_ref: "snap.c:499-508"
|
|
machine_roms:
|
|
notes: |
|
|
eo.c sets CurRom based on machine type. The libretro port forces
|
|
MACHINEZX81 (eo.c:39-41), so CurRom is always zx81.ROM81 which
|
|
defaults to "zx81.rom". Other machine ROMs (zx80, ace, ts1500,
|
|
lambda, zx97le, ringo470, tk85) are referenced but only zx81.rom
|
|
and dkchr.rom are embedded. Selecting other machines would log
|
|
"ROM not found" and load nothing.
|
|
filesystem_access: false
|
|
system_directory_used: false
|