Files
libretro/emulators/81.yml
T
Abdessamad Derraz b3b3880c19 chore: say which repository each source_ref cites
Profiles that read two repositories, a libretro port and its upstream,
now prefix each citation with source or upstream, decided by which tree
carries the cited value at its pin. The emulator pages use the word to
tell libretro glue, emulator code as the port carries it, and the
upstream emulator apart.
2026-10-20 09:23:41 +02:00

612 lines
18 KiB
YAML

emulator: EightyOne
type: standalone + libretro
core_classification: community_fork
source: "https://github.com/libretro/81-libretro"
upstream: "https://github.com/charlierobson/EightyOne"
profiled_date: "2026-03-22"
source_commit: "fa7094910d040baa5fd8b11dbf6a1a618330ecd9"
core_version: "1.0a"
display_name: "Sinclair - ZX 81 (EightyOne)"
cores: ["81"]
systems:
- sinclair-zx81
- sinclair-zx80
- sinclair-zx-spectrum
- jupiter-ace
- timex-ts1500
- timex-tc2048
- timex-ts2068
- lambda-8300
- ringo-r470
- microdigital-tk85
notes: |
Libretro port embeds zx81.rom and dkchr.rom as C arrays (xxd -i).
Core never accesses filesystem for ROMs. Hardcodes MACHINEZX81.
ref: 81-libretro/81/zx81/snap.c:487-508, src/libretro.cpp:393
Original EightyOne supports 15+ machines, loads ROMs from ROM/ directory.
ref: EightyOne/Source/zx81/zx81.cpp:309, EightyOne/Source/HW_.cpp:2734
.info has no firmware declarations (firmware_count absent).
files:
# --- Machine ROMs ---
# All mode: standalone, the libretro core embeds what it needs
# All shipped under ROMs/ in the EightyOne V1.41 release zip
# ZX81 (default machine for both libretro and standalone)
- name: zx81.edition3.rom
aliases: [zx81.rom]
system: sinclair-zx81
required: true
bundled: true
mode: standalone
size: 8192
md5: db398d4e4e93a6d4dee3bfe146918219
note: "ZX81 8K BASIC ROM (edition 3, default). Embedded in libretro core as zx81.rom."
source_ref: "upstream Source/zx81config.cpp:260, source 81/zx81/snap.c:489"
- name: zx81.edition1.rom
system: sinclair-zx81
required: false
bundled: true
mode: standalone
size: 8192
md5: 56efa70bbaf311915c56cfdc70584e96
source_ref: "upstream Source/HW_.cpp:2747"
- name: zx81.edition2.rom
system: sinclair-zx81
required: false
bundled: true
mode: standalone
size: 8192
md5: b9fd58d324b6297f2a696d40722f95dc
source_ref: "upstream Source/HW_.cpp:2748"
# ZX80
- name: zx80.rom
system: sinclair-zx80
required: true
bundled: true
mode: standalone
size: 4096
md5: e03bd725f98be45aac39c85f7fd41ce4
source_ref: "upstream Source/zx81config.cpp:259, upstream Source/HW_.cpp:2741"
# ZX97LE
- name: zx97.rom
system: sinclair-zx81
required: false
bundled: true
mode: standalone
size: 32768
md5: cc69fdd6195acdfd1e533b2eb4c2a632
source_ref: "upstream Source/zx81config.cpp:281, upstream Source/HW_.cpp:2792"
# Jupiter ACE
- name: jupiterace.rom
system: jupiter-ace
required: true
bundled: true
mode: standalone
size: 8192
md5: db6efdfd82cebdfbb493d85b1a5efc3c
source_ref: "upstream Source/zx81config.cpp:279, upstream Source/HW_.cpp:2787"
# Timex TS1500
- name: ts1500.rom
system: timex-ts1500
required: true
bundled: true
mode: standalone
size: 8192
md5: dea07eb23c5768ddf3ed90740eab85cb
source_ref: "upstream Source/zx81config.cpp:271, upstream Source/HW_.cpp:2764"
# Timex TS2068
- name: ts2068.rom
system: timex-ts2068
required: true
bundled: true
mode: standalone
size: 24576
md5: 9194283503a105f3f3dfba13e61e993f
source_ref: "upstream Source/zx81config.cpp:274-275, upstream Source/HW_.cpp:2884-2886"
# Lambda 8300
- name: lambda8300colour.rom
system: lambda-8300
required: true
bundled: true
mode: standalone
size: 8192
md5: 03aeea3abc7b1ca5f241935477ce71be
note: "Lambda 8300 colour version (default ROM for Lambda machine)."
source_ref: "upstream Source/zx81config.cpp:276, upstream Source/HW_.cpp:2771"
- name: lambda8300.rom
system: lambda-8300
required: false
bundled: true
mode: standalone
size: 8192
md5: e232dfce1dcae65953583f66af146232
note: "Lambda 8300 non-colour version (alternative)."
source_ref: "upstream Source/HW_.cpp:2770"
- name: lambda8300characterset.bin
system: lambda-8300
required: false
bundled: true
mode: standalone
size: 512
md5: be906890c4bf42dd99f1a3bcb6003647
note: "Lambda 8300 external font. Loaded when extfont is enabled."
source_ref: "upstream Source/zx81/zx81.cpp:312"
# Ringo R470
- name: ringo470.rom
system: ringo-r470
required: true
bundled: true
mode: standalone
size: 8192
md5: a70bbb0dfe4bb8556e74258062766f5d
source_ref: "upstream Source/zx81config.cpp:277, upstream Source/HW_.cpp:2777"
# Microdigital TK85
- name: tk85.rom
system: microdigital-tk85
required: true
bundled: true
mode: standalone
size: 10240
md5: b301cdad72448d92598197b45bead8fe
source_ref: "upstream Source/zx81config.cpp:278, upstream Source/HW_.cpp:2782"
# Timex TC2048
- name: tc2048.rom
system: timex-tc2048
required: true
bundled: true
mode: standalone
size: 16384
md5: 9dd7ecf784a6c04265c073c236f5fadb
source_ref: "upstream Source/zx81config.cpp:272, upstream Source/HW_.cpp:2874-2876"
# --- Graphics board ROMs ---
# Loaded by zx81_initialise() when corresponding hardware is selected
- name: dktronicsgraphics.rom
aliases: [dkchr.rom]
system: sinclair-zx81
required: false
bundled: true
mode: standalone
size: 4096
md5: 5cba3a306fbb94454811ba262b27c958
note: "dK'tronics character ROM. Embedded in libretro core as dkchr.rom."
source_ref: "upstream Source/zx81/zx81.cpp:316, upstream Source/zx81config.cpp:195-196"
- name: kaydegraphics.rom
system: sinclair-zx81
required: false
bundled: true
mode: standalone
size: 4096
md5: 4944facea84bea43f4495eaca19006d0
note: "Kayde character ROM."
source_ref: "upstream Source/zx81/zx81.cpp:320, upstream Source/zx81config.cpp:197-198"
- name: memotechhrg.rom
system: sinclair-zx81
required: false
bundled: true
mode: standalone
size: 2048
md5: 70320cad0ab528e62dcc2ca847870995
note: "Memotech HRG ROM."
source_ref: "upstream Source/zx81/zx81.cpp:334, upstream Source/zx81config.cpp:201-202"
- name: quicksilvahires.rom
system: sinclair-zx81
required: false
bundled: true
mode: standalone
size: 2048
md5: 1e7408a9a6d329751acc9d0810fd633d
note: "Quicksilva Hi-Res ROM."
source_ref: "upstream Source/zx81/zx81.cpp:338, upstream Source/zx81config.cpp:203-204"
- name: g007hrg.rom
system: sinclair-zx81
required: false
bundled: true
mode: standalone
size: 2048
md5: 7f59a979b1332a168d2efbc971ce1df0
note: "G007 HRG ROM."
source_ref: "upstream Source/zx81/zx81.cpp:343, upstream Source/zx81config.cpp:199-200"
# --- Interface ROMs ---
# Loaded by zx81_initialise() when corresponding hardware is selected
- name: z80assembler.rom
system: sinclair-zx81
required: false
bundled: true
mode: standalone
size: 4096
md5: b1581a2fcf4e5083d5fd92a1da373efa
source_ref: "upstream Source/zx81/zx81.cpp:348, upstream Source/zx81config.cpp:206"
- name: memocalc.rom
system: sinclair-zx81
required: false
bundled: true
mode: standalone
size: 4096
md5: fae8c8cd2cef2ca6b72be5b1cd8509d8
source_ref: "upstream Source/zx81/zx81.cpp:352, upstream Source/zx81config.cpp:207-208"
# --- FDC ROMs ---
# Loaded by zx81_initialise() (larken81) or spec48_initialise() (others)
- name: larken81.rom
system: sinclair-zx81
required: false
bundled: true
mode: standalone
size: 2048
md5: dec8c7f864c209db4defcfbe0774e220
note: "Larken 81 floppy controller ROM."
source_ref: "upstream Source/zx81/zx81.cpp:361, upstream Source/zx81config.cpp:171-172"
- name: interface1.edition2.rom
system: sinclair-zx-spectrum
required: false
bundled: true
mode: standalone
size: 8192
md5: 31b704ae925305e74f50699271fddd9a
note: "ZX Interface 1 ROM (default edition 2)."
source_ref: "upstream Source/zx81config.cpp:174-175"
- name: interface1.edition1.rom
system: sinclair-zx-spectrum
required: false
bundled: true
mode: standalone
size: 8192
md5: 5c11c61a2dd2ca4bf39328d9ff42d289
source_ref: "upstream EightyOne/Source/ROMs/FDCs/interface1.edition1.rom"
- name: "+d.g+dos.v1-a.rom"
system: sinclair-zx-spectrum
required: false
bundled: true
mode: standalone
size: 8192
md5: 42e5de16fb5e50082bb954ec7ce45851
note: "Plus D G+DOS ROM (default v1-a)."
source_ref: "upstream Source/zx81config.cpp:163-164"
- name: disciple.gdos.v3.rom
system: sinclair-zx-spectrum
required: false
bundled: true
mode: standalone
size: 16384
md5: 2b0c5e2fa87e0b641bdb26634faea234
note: "DISCiPLE GDOS ROM v3."
source_ref: "upstream Source/zx81config.cpp:165-166"
- name: discovery.v2-22.rom
system: sinclair-zx-spectrum
required: false
bundled: true
mode: standalone
size: 8192
md5: 3beeddbf0aa716b7aba7deec2bfb3028
note: "Opus Discovery DOS ROM (default v2-22)."
source_ref: "upstream Source/zx81config.cpp:167-168"
- name: beta128.trdos.v5-03.rom
system: sinclair-zx-spectrum
required: false
bundled: true
mode: standalone
size: 16384
md5: 0da70a5d2a0e733398e005b96b7e4ba6
note: "Beta 128 TR-DOS ROM (default v5-03)."
source_ref: "upstream Source/zx81config.cpp:169-170"
# --- IDE ROMs ---
# Loaded by zx81_initialise() (mwcfide) or spec48 peripherals (others)
- name: mwcfide.rom
system: sinclair-zx81
required: false
bundled: true
mode: standalone
size: 14648
md5: d02ed1b39669c9b163f1fa2b1ffb41ee
note: "MWCF IDE ROM."
source_ref: "upstream Source/zx81/zx81.cpp:381, upstream Source/zx81config.cpp:183-184"
- name: zxcflba.rom
system: sinclair-zx81
required: false
bundled: true
mode: standalone
size: 16384
md5: e518c0736cb4ce0484ac8091f5ea3e01
note: "ZXCF CompactFlash IDE ROM."
source_ref: "upstream Source/zx81config.cpp:181-182"
- name: zx8blbs.rom
system: sinclair-zx81
required: false
bundled: true
mode: standalone
size: 16384
md5: d8f203d2bebfe57d725b0d1067f3b92d
note: "Simple 8-bit IDE ROM."
source_ref: "upstream Source/zx81config.cpp:177-178"
- name: zxidelbs.rom
system: sinclair-zx81
required: false
bundled: true
mode: standalone
size: 16384
md5: 6cfbf044b8f435b7f70eae37d9ee5c28
note: "Simple 16-bit IDE ROM."
source_ref: "upstream Source/zx81config.cpp:179-180"
# --- Spectrum peripheral ROMs ---
# Loaded by spec48_initialise() or Spectrum peripheral code
- name: uspeech.rom
system: sinclair-zx81
required: false
bundled: true
mode: standalone
size: 2048
md5: 052f6af718337e35e76693723e1d73e3
note: "Currah uSpeech ROM."
source_ref: "upstream Source/Spectrum/spec48.cpp:344, upstream Source/zx81config.cpp:186-187"
- name: usource.rom
system: sinclair-zx81
required: false
bundled: true
mode: standalone
size: 8192
md5: ebe1490920cbb62bde7282ae24928d95
note: "Currah uSource ROM."
source_ref: "upstream Source/Spectrum/spec48.cpp:350, upstream Source/zx81config.cpp:188-189"
- name: multiface128.rom
system: sinclair-zx-spectrum
required: false
bundled: true
mode: standalone
size: 8192
md5: c420ef03f6e0c477d9474efe3441a556
note: "Multiface 128 ROM."
source_ref: "upstream Source/zx81config.cpp:190-191"
- name: multiface3.rom
system: sinclair-zx-spectrum
required: false
bundled: true
mode: standalone
size: 8192
md5: afe2218c3a6a43f1854fe824424d4167
note: "Multiface 3 ROM."
source_ref: "upstream Source/zx81config.cpp:192-193"
# --- Digitalker speech ROMs ---
# Loaded by Digitalk::Init() when Digitalker speech is selected
- name: SSR1.bin
system: sinclair-zx81
required: false
bundled: true
mode: standalone
size: 8192
md5: 864beefecf0021fa6b0f5a5aff55c167
note: "Digitalker speech ROM bank 1a."
source_ref: "upstream Source/Digitalker/Digitalkdrv.cpp:40-45"
- name: SSR2.bin
system: sinclair-zx81
required: false
bundled: true
mode: standalone
size: 8192
md5: d3924ecc0efda0a58c4bda43044061e4
note: "Digitalker speech ROM bank 1b."
source_ref: "upstream Source/Digitalker/Digitalkdrv.cpp:49-54"
- name: SSR5.bin
system: sinclair-zx81
required: false
bundled: true
mode: standalone
size: 8192
md5: dd2793938c50217c0e5e8aef75b98856
note: "Digitalker speech ROM bank 2a."
source_ref: "upstream Source/Digitalker/Digitalkdrv.cpp:58-63"
- name: SSR6.bin
system: sinclair-zx81
required: false
bundled: true
mode: standalone
size: 8192
md5: 5d6ee8cdf1b12816c4f152b5a1e13977
note: "Digitalker speech ROM bank 2b."
source_ref: "upstream Source/Digitalker/Digitalkdrv.cpp:67-72"
# --- ZXpand overlay ROMs (standalone only) ---
# Loaded when ZXpand SD card interface is enabled
- name: zx81.zxpand.ovl
system: sinclair-zx81
required: false
bundled: true
mode: standalone
size: 8192
md5: 49b1bd3485d080bb242e94fd698f028d
source_ref: "upstream Source/zx81/zx81.cpp:298-303"
- name: zx80.zxpand.ovl
system: sinclair-zx80
required: false
bundled: true
mode: standalone
size: 8192
md5: 37cea5c1e7144de898a7dc4b102fb7fd
source_ref: "upstream Source/zx81/zx81.cpp:304-305"
- name: ts1500.zxpand.ovl
system: timex-ts1500
required: false
bundled: true
mode: standalone
size: 8192
md5: 49b1bd3485d080bb242e94fd698f028d
source_ref: "upstream Source/zx81/zx81.cpp:298-303"
# --- ZX Spectrum machine ROMs (standalone mode) ---
- name: spectrum48.rom
system: sinclair-zx-spectrum
required: false
bundled: true
mode: standalone
size: 16384
md5: 4c42a2f075212361c3117015b107ff68
note: "Spectrum 48K."
source_ref: "upstream Source/zx81config.cpp:261-263, upstream Source/HW_.cpp:2800-2807"
- name: spectrum48.spanish.rom
system: sinclair-zx-spectrum
required: false
bundled: true
mode: standalone
size: 16384
md5: 60e1bd8b4d59b55e5b2175126239517f
source_ref: "upstream Source/HW_.cpp:2812"
- name: spectrum48.arabic.rom
system: sinclair-zx-spectrum
required: false
bundled: true
mode: standalone
size: 16384
md5: 9f6f56003307b9d55be96f406fdbf2b1
source_ref: "upstream EightyOne/Source/ROMs/spectrum48.arabic.rom"
- name: spectrum48.arabic.version1.rom
system: sinclair-zx-spectrum
required: false
bundled: true
mode: standalone
size: 16384
md5: a6a1e3a68bb5523997103c3925a46fe4
source_ref: "upstream Source/HW_.cpp:2813, upstream Source/HW_.cpp:2820"
- name: spectrum48.arabic.version2.rom
system: sinclair-zx-spectrum
required: false
bundled: true
mode: standalone
size: 16384
md5: fac3d08455328c34f0d06344d89cec0e
source_ref: "upstream Source/HW_.cpp:2828, upstream Source/HW_.cpp:2837"
- name: spectrum48.nordic.rom
system: sinclair-zx-spectrum
required: false
bundled: true
mode: standalone
size: 16384
md5: f058f27ae61af225fe5baacc1d89adfc
source_ref: "upstream Source/HW_.cpp:2806"
- name: spectrum128.rom
system: sinclair-zx-spectrum
required: false
bundled: true
mode: standalone
size: 32768
md5: 85fede415f4294cc777517d7eada482e
note: "Spectrum 128K."
source_ref: "upstream Source/zx81config.cpp:264, upstream Source/HW_.cpp:2817-2821"
- name: spectrum128.spanish.rom
system: sinclair-zx-spectrum
required: false
bundled: true
mode: standalone
size: 32768
md5: 84aef735da122d55e41a33455c7c3506
source_ref: "upstream Source/HW_.cpp:2819"
- name: spectrum+2.rom
system: sinclair-zx-spectrum
required: false
bundled: true
mode: standalone
size: 32768
md5: 238f77692156a5c49d20c0aa2862e8bb
note: "Spectrum +2."
source_ref: "upstream Source/zx81config.cpp:266, upstream Source/HW_.cpp:2824-2829"
- name: spectrum+2.french.rom
system: sinclair-zx-spectrum
required: false
bundled: true
mode: standalone
size: 32768
md5: 1fff14aeca8e1dd3670142982cc6bb36
source_ref: "upstream Source/HW_.cpp:2826"
- name: spectrum+2.spanish.rom
system: sinclair-zx-spectrum
required: false
bundled: true
mode: standalone
size: 32768
md5: 43cf648e27efc9be8186bb7049505d79
source_ref: "upstream Source/HW_.cpp:2827"
- name: spectrum+3.version4-0.rom
system: sinclair-zx-spectrum
required: false
bundled: true
mode: standalone
size: 65536
md5: 05de80a055b5e7866f55769db0584d6e
note: "Spectrum +3."
source_ref: "upstream Source/HW_.cpp:2833, upstream Source/HW_.cpp:2854"
- name: spectrum+3.version4-0.spanish.rom
system: sinclair-zx-spectrum
required: false
bundled: true
mode: standalone
size: 65536
md5: 990dfe9d37b48595f5befe0e4ff4b7c6
source_ref: "upstream Source/HW_.cpp:2835, upstream Source/HW_.cpp:2856"
- name: spectrum+3.version4-1.rom
system: sinclair-zx-spectrum
required: false
bundled: true
mode: standalone
size: 65536
md5: 7e00ed3562abfd188d0d4da03e80bc0a
note: "Spectrum +3 (default for +2A and +3)."
source_ref: "upstream Source/zx81config.cpp:267-268, upstream Source/HW_.cpp:2834, upstream Source/HW_.cpp:2855"
- name: spectrum+3.version4-1.spanish.rom
system: sinclair-zx-spectrum
required: false
bundled: true
mode: standalone
size: 65536
md5: 52d130178c1106fef765b5f119fb43bc
source_ref: "upstream Source/HW_.cpp:2836, upstream Source/HW_.cpp:2857"
- name: spectrum+3.arabic3-a.english4-0.rom
system: sinclair-zx-spectrum
required: false
bundled: true
mode: standalone
size: 131072
md5: 30316fa0ed7ee6682933960e11b48d60
source_ref: "upstream Source/HW_.cpp:2858"
- name: tk90.rom
system: sinclair-zx-spectrum
required: false
bundled: true
mode: standalone
size: 16384
md5: b7893ad25728fbf6410f08eddd4a1cad
note: "Microdigital TK90X (Spectrum clone)."
source_ref: "upstream EightyOne/Source/ROMs/tk90.rom"
- name: tk95.rom
system: sinclair-zx-spectrum
required: false
bundled: true
mode: standalone
size: 16384
md5: b7893ad25728fbf6410f08eddd4a1cad
note: "Microdigital TK95 (Spectrum clone)."
source_ref: "upstream EightyOne/Source/ROMs/tk95.rom"