Files
libretro/emulators/zesarux.yml
T

1171 lines
40 KiB
YAML

emulator: ZEsarUX
type: standalone
core_classification: other
source: "https://github.com/chernandezba/zesarux"
upstream: "https://github.com/chernandezba/zesarux"
source_commit: "8e1e8f3fcb5a8e677984df7aeaff30667682ab56"
profiled_date: "2026-09-17"
core_version: "13.1-SN"
display_name: "Sinclair - ZX Spectrum and clones (ZEsarUX)"
verification: existence
cores: [zesarux]
systems:
- sinclair-zx-spectrum
- sinclair-zx-spectrum-next
- sinclair-zx80
- sinclair-zx81
- sinclair-ql
- cambridge-z88
- jupiter-ace
- timex-ts1500
- timex-tc2048
- timex-ts2068
- microdigital-tk85
- amstrad-cpc
- pcw
- sam-coupe
- colecovision
- sg-1000
- sega-mastersystem
- msx
- spectravideo
- science-of-cambridge-mk14
notes: |
Multi-machine Sinclair emulator. Every ROM is read from disk at run time;
none is compiled into the binary. `rom_load` (src/cpu.c:3268-3868) maps
`current_machine_type` to a filename through a switch, then resolves it with
`find_sharedfile` (src/utils.c:1314-1352), which searches the current directory,
`../Resources/`, `INSTALL_PREFIX/share/zesarux/` and the directory holding the
binary, in that order.
ZEsarUX ships these files and installs them next to the binary: `src/configure:1921`
lists `*.rom`, `zxuno.flash`, `zxmmcplus.flash`, `tbblue.mmc`, `pcw_8x_boot*dsk`,
`mantransfev3.bin` and `alternate_roms` in COMMONFILES. A normal install
therefore already carries every entry below, which is why they are marked
`bundled: true`.
A missing machine ROM is not fatal: `rom_load` logs an error and returns
(src/cpu.c:3530-3538), the panic having been removed deliberately. The machine then
runs on uninitialised memory, so the ROMs the switch names are marked required
for the machine they serve. The one hard failure is `prism_failsafe.rom`, which
`prism_load_failsafe_rom` loads through its own path and which calls `cpu_panic`
when missing or short (src/machines/prism.c:581-590).
The emulator verifies no hash on any of these files. It does check size: the
machine ROMs are compared against `get_rom_size` (src/utils.c:4084-4158) and the
interface ROMs against their own `*_ROM_SIZE` constants, with a mismatch logged
as an error. `validation: [size]` is set only where the code makes that
comparison.
`--romfile` (src/start.c:4876-4880) overrides the machine ROM with any file the user
picks (src/cpu.c:3520-3523); the ROMs under `alternate_roms/` and the extra
variants in the install root exist for that path and are documented in the
shipped src/ALTERNATEROMS file. Interface ROMs are equally overridable
(`--divide-rom`, `--divmmc-rom`, `--dandanator-rom`, `--ifrom-rom`,
`--kartusho-rom`), and each falls back to the bundled default named here.
ES-DE drives ZEsarUX for its `zxnext` system with `--machine tbblue
--tbblue-fast-boot-mode --enable-esxdos-handler`. Fast boot swaps
`tbblue_loader.rom` for `48.rom` (src/cpu.c:3373-3374), and the esxdos handler needs
the divMMC firmware `esxmmc085.rom`, so that path loads `48.rom`, `esxmmc085.rom`
and the `tbblue.mmc` card image rather than a dedicated Next ROM.
ZEsarUX also loads UI and bundled-software resources through the same
`find_sharedfile` path: `keyboards/*.bmp` on-screen keyboard art
(src/menu/menu_items.c:19480, 21784, 21805), `z88_shortcuts.bmp`
(src/video/screen.c:11254), the `my_soft/` homebrew collection
(src/menu/menu_items.c:32497, 32258; src/menu/menu_items_storage.c:582), the
`copiers/*.zsf` tape copier snapshots (src/menu/menu_items_storage.c:666, 742) and
`editionnamegame.tzx` (src/cpu.h:73, src/utils.c:17885). They are application
resources rather than system firmware and carry no entry below.
`PrismChime.bin` sits in the source tree but no code reads it and COMMONFILES
does not install it.
files:
# ============================================================
# ZX Spectrum and clones - machine ROMs
# rom_load switch, src/cpu.c:3212-3451
# ============================================================
- name: "48.rom"
sha1: "5ea7c2b824672e914525d1d5c419d71b84a426a2"
size: 16384
validation: [size]
required: true
bundled: true
system: sinclair-zx-spectrum
fast_boot: "tbblue"
source_ref: "src/cpu.c:3278-3287 (16K/48K, CZ 2000, CZ Spectrum), src/cpu.c:3373 (tbblue fast boot), src/utils.c:4098 (size)"
note: "48K BASIC. Also loaded four times over as the TBBlue fast-boot image (src/cpu.c:3653-3662)."
- name: "48es.rom"
sha1: "9e535e2e24231ccb65e33d107f6d0ceb23e99477"
size: 16384
validation: [size]
required: true
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/cpu.c:3377-3379, src/utils.c:4098"
note: "Spanish 48K+ ROM, selected for MACHINE_ID_SPECTRUM_48_PLUS_SPA."
- name: "inves.rom"
sha1: "d020440638aff4d39467128413ef795677be9c23"
size: 16384
validation: [size]
required: true
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/cpu.c:3289-3292, src/utils.c:4098"
note: "Investronica Inves Spectrum+. Loaded at memoria_spectrum[65536] (src/cpu.c:3551-3557)."
- name: "128.rom"
sha1: "16375d42ea109b47edded7a16028de7fdb3013a1"
size: 32768
validation: [size]
required: true
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/cpu.c:3312-3314, src/utils.c:4100"
- name: "128s.rom"
sha1: "57c0b6681224378ce1d279fde13d644478423783"
size: 32768
validation: [size]
required: true
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/cpu.c:3316-3318, src/utils.c:4100"
- name: "p2.rom"
sha1: "8cafb292af58617907b9e6b9093d3588a75849b8"
size: 32768
validation: [size]
required: true
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/cpu.c:3323-3325, src/utils.c:4100"
note: "ZX Spectrum +2."
- name: "p2f.rom"
sha1: "8a5be00921afd4e2c74059c217b31b9fb51c3d41"
size: 32768
validation: [size]
required: true
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/cpu.c:3327-3329, src/utils.c:4100"
- name: "p2s.rom"
sha1: "baca5d798b3e786078feded19486d9fc29dbd4b7"
size: 32768
validation: [size]
required: true
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/cpu.c:3331-3333, src/utils.c:4100"
- name: "p2a40.rom"
sha1: "929bf1a5e5687ebd8d7245f9b513a596c0ec21a4"
size: 65536
validation: [size]
required: true
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/cpu.c:3337-3340, src/utils.c:4102"
note: "+2A/+3 ROM v4.0."
- name: "p2a41.rom"
sha1: "500c0945760abeefcbd08bc22c0d07b14b336cf0"
size: 65536
validation: [size]
required: true
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/cpu.c:3342-3345, src/utils.c:4102"
note: "+2A/+3 ROM v4.1."
- name: "p2as.rom"
sha1: "a4b311135ccbe010318dcb872dae2c8f078c7447"
size: 65536
validation: [size]
required: true
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/cpu.c:3347-3350, src/utils.c:4102"
- name: "pentagon.rom"
sha1: "a584272f21dc82c14b7d4f1ed440e23a976e71f0"
size: 32768
validation: [size]
required: true
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/cpu.c:3381-3383, src/utils.c:4100 (MACHINE_IS_SPECTRUM_128_P2 covers Pentagon, src/cpu.h:545)"
- name: "se.rom"
sha1: "14321f2092b8af21b52b35c1518d9a753d6618d4"
size: 32768
validation: [size]
required: true
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/cpu.c:3357-3360, src/utils.c:4106"
note: "Chloe 140SE/280SE, SE Basic IV."
- name: "chrome.rom"
sha1: "fb305656769765224c58ca02445d4bf041891d18"
size: 65536
validation: [size]
required: true
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/cpu.c:3406-3408, src/utils.c:4112"
- name: "prism.rom"
sha1: "6e03d87f868c40d5662ef6906931c77ba1b8b2c2"
size: 327680
validation: [size]
required: true
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/cpu.c:3368-3370, src/utils.c:4108"
note: "20 pages of 16K. Page map documented at src/cpu.c:3622-3638."
- name: "prism_failsafe.rom"
sha1: "d020440638aff4d39467128413ef795677be9c23"
size: 16384
validation: [size]
required: true
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/machines/prism.h:61, src/machines/prism.c:581-590, src/cpu.c:3646"
note: "Loaded straight after prism.rom by prism_load_failsafe_rom(). The only ROM whose absence is fatal: the loader calls cpu_panic both when the file is missing and when the read is not 16384 bytes."
- name: "zxuno_bootloader.rom"
sha1: "0afcb798128e6587e7ea0787714568f7b68be012"
size: 8126
required: true
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/cpu.c:3353-3355, src/cpu.c:3596-3600"
size_note: "Read caps at 8192 bytes and only errors when fewer than 1 byte is read, so no exact size check. get_rom_size returns 214 for ZX-Uno (src/utils.c:4104) but that value is unused on this path."
- name: "zxevo_tsconf.rom"
sha1: "2551026b7d63a2627f79701e26688a7d715dc96a"
size: 524288
validation: [size]
required: true
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/cpu.c:3410-3412, src/utils.c:4114"
- name: "zxevo_baseconf.rom"
sha1: "1570048704f11dc239060ee4f63190d199c94987"
size: 524288
validation: [size]
required: true
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/cpu.c:3414-3416, src/utils.c:4116"
note: "ZX Evolution BaseConf ROM set. The 13.1 tree ships the Turbo 2+/PentEvo build with New ROM boot v1.06; the 13.0 release shipped the PentEvo edition 2013 image of the same size."
# ============================================================
# ZX Spectrum Next (TBBlue)
# ============================================================
- name: "tbblue_loader.rom"
sha1: "8b2e927d0523bc27bffcc34c39527ab0d2362e0c"
size: 8192
validation: [size]
required: true
bundled: true
system: sinclair-zx-spectrum-next
source_ref: "src/cpu.c:3372-3375, src/cpu.c:3663-3669, src/utils.c:4110"
note: "FPGA loader, mirrored to 16K at src/cpu.c:3665. Bypassed when --tbblue-fast-boot-mode selects 48.rom instead."
- name: "tbblue.mmc"
sha1: "e838e1d63dc9c1e518a79195c9512042dffb765f"
size: 67108864
required: false
bundled: true
system: sinclair-zx-spectrum-next
source_ref: "src/menu/menu_items_storage.c:12092-12110, src/configure:1921"
note: "SD card image carrying the Next system software. Assigned as MMC card 0 by the local-tbblue menu action; the emulator reports 'tbblue.mmc image not found' when absent."
size_note: "64 MB, so it needs storage: large_file once the image is acquired and uploaded as a release asset."
# ============================================================
# Microdigital and Czerweny Spectrum clones
# ============================================================
- name: "tk90x.rom"
sha1: "9a943a008be13194fb006bddffa7d22d2277813f"
size: 16384
validation: [size]
required: true
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/cpu.c:3294-3296, src/utils.c:4098"
- name: "tk90xs.rom"
sha1: "a9421b9e3a17689b7392da1f72dc71dd46e09ab1"
size: 16384
validation: [size]
required: true
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/cpu.c:3298-3300, src/utils.c:4098"
- name: "tk95.rom"
sha1: "94edc401d43b0e9a9cdc1d35de4b6462dc414ab3"
size: 16384
validation: [size]
required: true
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/cpu.c:3302-3304, src/utils.c:4098"
- name: "tk95es.rom"
sha1: "54f3445374d1758a3133232672e8783cb4fc7a32"
size: 16384
validation: [size]
required: true
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/cpu.c:3306-3308, src/utils.c:4098"
# ============================================================
# Timex
# ============================================================
- name: "tc2048.rom"
sha1: "febb2d495b6eda7cdcb4074935d6e9d9f328972d"
size: 16384
validation: [size]
required: true
bundled: true
system: timex-tc2048
source_ref: "src/cpu.c:3418-3420, src/utils.c:4098 (TC2048 falls under MACHINE_IS_SPECTRUM_16_48, src/cpu.h:543)"
- name: "ts2068.rom"
sha1: "34cd8113bf75b65a4da6eea355f9d46ad635f7e4"
size: 24576
validation: [size]
required: true
bundled: true
system: timex-ts2068
source_ref: "src/cpu.c:3363-3366, src/cpu.c:3699-3713, src/utils.c:4118"
note: "Read as two blocks: 16384 into the main ROM table, then 8192 into the EX ROM table. Serves TS2068 and TC2068."
- name: "ts1500.rom"
sha1: "3eb437359221b4406d236085ec66fa02278e7495"
size: 8192
validation: [size]
required: true
bundled: true
system: timex-ts1500
source_ref: "src/cpu.c:3442-3446, src/utils.c:4134"
# ============================================================
# ZX80 / ZX81 family
# ============================================================
- name: "zx80.rom"
sha1: "b6769a3197c77009e0933e038c15b43cf4c98c7a"
size: [4096, 8192]
validation: [size]
required: true
bundled: true
system: sinclair-zx80
source_ref: "src/cpu.c:3422-3427, src/cpu.c:3754-3764, src/utils.c:4130"
note: "Serves ZX80, TK80 and TK82. An 8192-byte file is accepted as-is so the ZX81 ROM can run on a ZX80 (src/cpu.c:3758)."
- name: "zx81.rom"
sha1: "7b143ee964e9ada89d1f9e88f0bd48d919184cfc"
size: 8192
validation: [size]
required: true
bundled: true
system: sinclair-zx81
source_ref: "src/cpu.c:3429-3440, src/utils.c:4134"
note: "Serves ZX81, Timex TS1000, TK82C, TK83 and the Czerweny CZ 1000/1500 models."
- name: "tk85.rom"
sha1: "7b961a1733fc047eb682150a32e17bca10a018d2"
size: 10240
validation: [size]
required: true
bundled: true
system: microdigital-tk85
source_ref: "src/cpu.c:3448-3452, src/utils.c:4132"
note: "The TK85 test precedes the generic ZX81 test in get_rom_size, so 10240 wins over 8192."
- name: "zxpand_zx81.rom"
sha1: "3bdbf55720cf9623431a4d4017fa8f165aac4a66"
size: 8192
validation: [size]
required: false
bundled: true
system: sinclair-zx81
source_ref: "src/storage/zxpand.c:71, src/storage/zxpand.c:240, src/storage/zxpand.c:246-254"
note: "ZXpand interface firmware. A short read disables ZXpand emulation."
- name: "zxpand_zx80.rom"
sha1: "8968261beab240e8a06e8cfe9e070987d860064b"
size: 8192
validation: [size]
required: false
bundled: true
system: sinclair-zx80
source_ref: "src/storage/zxpand.c:72, src/storage/zxpand.c:240, src/storage/zxpand.c:246-254"
- name: "ace.rom"
sha1: "597ba8a15a292688333c84dc9fd35172abe5e7e6"
size: 8192
validation: [size]
required: true
bundled: true
system: jupiter-ace
source_ref: "src/cpu.c:3454-3458, src/utils.c:4136"
# ============================================================
# Sinclair QL, Cambridge Z88, MK14
# ============================================================
- name: "ql_js.rom"
sha1: "6e1e3cae275d0cd58977258c0b13480c8e910138"
size: 49152
min_size: 16384
validation: [size]
required: true
bundled: true
system: sinclair-ql
source_ref: "src/cpu.c:3489-3494, src/cpu.c:3829-3838"
size_note: "Reads up to 131072 bytes and errors only below 16384, so the check is a minimum rather than an exact size."
- name: "ql_jm.rom"
sha1: "6a8468dcdb27dc1b194febba8c957c4ef4313538"
size: 49152
required: false
bundled: true
system: sinclair-ql
source_ref: "src/cpu.c:3493 (commented alternative), src/start.c:4876-4880"
note: "JM release. Reachable through --romfile; the switch selects ql_js.rom."
- name: "tkii220.rom"
sha1: "f364472a81352479290e388e9a5afb57a0de8249"
size: 16384
required: false
bundled: true
system: sinclair-ql
source_ref: "src/machines/ql.c:1348-1375, src/start.c:5627-5652, src/cpu.c:3862-3866"
note: "QJUMP Toolkit II 2.20, the ROM ql.c names as the example for --ql-rom-c000-file. ql_load_extra_roms() runs after the system ROM and reads 16K into memoria_ql at 0xC000 from the path the option gives; the read count is not checked."
- name: "qsound_V1.94.rom"
sha1: "622a81dce98524148f067780c17eddbaf46e27f6"
aliases: ["Qsound_V1.94.rom"]
size: 8192
required: false
bundled: true
system: sinclair-ql
source_ref: "src/soundchips/qsound.h:50, src/soundchips/qsound.c:329-369, src/start.c:6799-6806, src/cpu.c:3863-3866"
note: "QL Qsound firmware, read into memoria_ql at 0xC0000 once --ql-qsound-enabled is set; the read count is not checked and --ql-qsound-rom points the loader at another file. QSOUND_ROM_FILE is spelled qsound_V1.94.rom while the shipped file is Qsound_V1.94.rom, so the default only resolves on a case-insensitive filesystem."
- name: "Z88OZ47.rom"
sha1: "35e528e81d8f4e5860adf4160a3da0926525c8fa"
size: 524288
required: true
bundled: true
system: cambridge-z88
source_ref: "src/cpu.c:3460-3465, src/cpu.c:3785-3795"
size_note: "Reads up to 512K and errors only when nothing is read; z88_internal_rom_size is derived from the byte count, so any size is accepted."
- name: "mk14.rom"
sha1: "802dc637ce5391a2a6627f76f919b12a869b56ef"
size: 512
validation: [size]
required: true
bundled: true
system: science-of-cambridge-mk14
source_ref: "src/cpu.c:3496-3498, src/utils.c:4148"
# ============================================================
# Amstrad CPC and PCW
# ============================================================
- name: "cpc464.rom"
sha1: "56d39c463da60968d93e58b4ba0e675829412a20"
size: 32768
validation: [size]
required: true
bundled: true
system: amstrad-cpc
source_ref: "src/cpu.c:3468-3474, src/utils.c:4140"
note: "Serves CPC 464 and CPC 4128."
- name: "cpc664.rom"
sha1: "4a38f7f5bf7fd0a95cf882433c69e67251a46868"
size: 49152
validation: [size]
required: true
bundled: true
system: amstrad-cpc
source_ref: "src/cpu.c:3476-3478, src/utils.c:4142"
- name: "cpc6128.rom"
sha1: "29dd0487dc5a96cd00966d074de8700ddd4ee18b"
size: 49152
validation: [size]
required: true
bundled: true
system: amstrad-cpc
source_ref: "src/cpu.c:3480-3482, src/utils.c:4142"
- name: "pcw_boot.rom"
sha1: "245a173cfc7976a4cae8d255f3d1422aeaf5f09a"
size: 275
validation: [size]
required: true
bundled: true
system: pcw
source_ref: "src/cpu.c:3500-3506, src/cpu.c:3850-3856, src/utils.c:4150"
note: "Boot block the PCW pulls into RAM rather than a mapped ROM (src/cpu.c:3849). Serves PCW 8256 and 8512."
- name: "pcw_8x_boot1.dsk"
sha1: "3be724b3bfa01d03931463b8501ffb5c3f3621b7"
size: 194864
required: false
bundled: true
system: pcw
source_ref: "src/machines/pcw.c:1432-1470"
note: "LocoScript boot disc, inserted by pcw_boot_locoscript()."
- name: "pcw_8x_boot2.dsk"
sha1: "4c13bba076897076322b375e34f87306640cf0d6"
size: 194864
required: false
bundled: true
system: pcw
source_ref: "src/machines/pcw.c:1432-1475"
note: "CP/M boot disc, inserted by pcw_boot_cpm() with boot end address 0x607."
# ============================================================
# SAM Coupe
# ============================================================
- name: "samcoupe.rom"
sha1: "c86601633fb61a8c517f7657aad9af4e6870f2ee"
size: 32768
validation: [size]
required: true
bundled: true
system: sam-coupe
source_ref: "src/cpu.c:3484-3487, src/utils.c:4144"
- name: "atomlite.rom"
sha1: "b2303b7200f5a17b54b841af9f0604db7bbdd1ab"
size: 32768
validation: [size]
required: false
bundled: true
system: sam-coupe
source_ref: "src/cpu.c:3485, src/utils.c:4144"
note: "Replaces samcoupe.rom when Atom Lite emulation is on."
- name: "samram.rom"
sha1: "acac00b8b342d19ce9bb35a8744a9c0060d5eedd"
size: 32768
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/storage/samram.c:46, src/storage/samram.c:482-484, src/storage/samram.c:497-500"
note: "SamRam interface firmware, opened from a path the user selects."
- name: "samram_eng.rom"
sha1: "5344ee16523862fa66e9397d1f8cfa2b2cbaf341"
size: 32768
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/storage/samram.c:482-484, src/storage/samram.c:497-500"
note: "English SamRam firmware, same user-selected path."
# ============================================================
# Consoles and other 8-bit machines
# ============================================================
- name: "coleco.rom"
sha1: "99ba9be24ada3e86e5c17aeecb7a2d68c5edfe59"
size: 8192
validation: [size]
required: true
bundled: true
system: colecovision
source_ref: "src/cpu.c:3385-3387, src/utils.c:4120"
- name: "sg1000.rom"
sha1: "fdea3168fda81e5f25f7dee3a7231192a492836e"
size: 155
required: true
bundled: true
system: sg-1000
source_ref: "src/cpu.c:3389-3391, src/cpu.c:3723-3727"
size_note: "Nothing is read from this file. The SG-1000 branch is empty and the source comment states the file only has to exist for the open to succeed."
- name: "sms.rom"
sha1: "c315672807d8ddb8d91443729405c766dd95cae7"
size: 8192
validation: [size]
required: true
bundled: true
system: sega-mastersystem
source_ref: "src/cpu.c:3393-3395, src/utils.c:4124"
- name: "msx.rom"
sha1: "e998f0c441f4f1800ef44e42cd1659150206cf79"
size: 32768
validation: [size]
required: true
bundled: true
system: msx
source_ref: "src/cpu.c:3397-3399, src/utils.c:4126"
- name: "svi.rom"
sha1: "7d8daf52f78371ca2c9443e04827c8e1f98c8f2c"
size: 32768
validation: [size]
required: true
bundled: true
system: spectravideo
source_ref: "src/cpu.c:3401-3404, src/utils.c:4128"
note: "Serves SVI-318 and SVI-328."
# ============================================================
# Storage interfaces
# ============================================================
- name: "esxmmc085.rom"
sha1: "aa4c31dc9b08d80d0107b580d5a9216d23214776"
size: 8192
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/storage/divmmc.c:45, src/storage/divmmc.c:95-103, src/storage/diviface.h:27, src/storage/diviface.c:778-800"
note: "divMMC esxdos firmware, the default when --divmmc-rom is unset. Needed by --enable-esxdos-handler, which the ES-DE zxnext command line sets."
- name: "esxide085.rom"
sha1: "178bae9e9209c43282e12c09884562e4ddf07e68"
size: 8192
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/storage/divide.c:40, src/storage/divide.c:93, src/storage/diviface.h:27, src/storage/diviface.c:778-800"
note: "divIDE esxdos firmware, the default when --divide-rom is unset."
- name: "unodos3.rom"
sha1: "cdb90bd05b073ec7a5f875444e29ab0f6bcee9ac"
size: 8192
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/storage/divmmc.c:96-99, src/storage/diviface.h:27, src/storage/diviface.c:778-800"
note: "divMMC firmware substituted for esxmmc085.rom on Chloe machines."
- name: "trdos.rom"
sha1: "0a74bd34538a03d0e1d214b425d95c14ad10c8c4"
size: 16384
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/storage/betadisk.c:67, src/storage/betadisk.c:401, src/storage/betadisk.h:27, src/storage/betadisk.c:408-420"
note: "Beta Disk / TR-DOS firmware."
- name: "if1-v1.rom"
sha1: "4ffd9ed9c00cdc6f92ce69fdd8b618ef1203f48e"
size: [8192, 16384]
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/storage/if1.c:57, src/storage/if1.c:336-340, src/storage/if1.c:369, src/storage/if1.c:381"
note: "Interface 1 firmware version 1, selected when if1_rom_version is 1. The load accepts 8192 or 16384 bytes and disables Interface 1 emulation otherwise."
- name: "if1-v2.rom"
sha1: "5cfb6bca4177c45fefd571734576b55e3a127c08"
size: [8192, 16384]
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/storage/if1.c:58, src/storage/if1.c:336-340, src/storage/if1.c:369, src/storage/if1.c:381"
note: "Interface 1 firmware version 2, the default branch of if1_return_rom_name()."
- name: "hilow_datadrive.rom"
sha1: "fd3f165860c2564847805cfa7a7f769a627a687c"
size: 8192
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/storage/hilow_datadrive.h:27, src/storage/hilow_datadrive.h:30, src/storage/hilow_datadrive.c:1722"
note: "HiLow Data Drive firmware."
- name: "zxmmcplus.flash"
sha1: "9f0697c261c37e92bf2e488e3db223443c341b9d"
size: 1048576
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/storage/zxmmcplus.h:30, src/start.c:5956-5959, src/storage/zxmmcplus.c:756-778"
note: "ZXMMC+ flash ROM image, the default for --zxmmcplus-flash-file."
size_note: "The image holds ROM and RAM together, so the check is ZXMMCPLUS_FLASHROM_SIZE + ZXMMCPLUS_RAM_SIZE, not the 512K ROM constant alone."
- name: "zxuno.flash"
sha1: "bb6740f15b5ed8d1d60f7f61f0737f769215ca57"
size: 4194304
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/machines/zxuno.h:29, src/machines/zxuno.h:80, src/start.c:4916-4919, src/cpu.c:3604, src/machines/zxuno.c:1186-1208"
note: "ZX-Uno SPI flash image, loaded by zxuno_load_spi_flash() right after the bootloader. Default for --zxunospifile. ZXUNO_SPI_SIZE is 4096 KB."
# ============================================================
# Copier and utility interfaces
# ============================================================
- name: "mf1.rom"
sha1: "ba28754a3cc31a4ca579829ed4310c313409cf5d"
size: 8192
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/copy_interfaces/multiface.c:224, src/copy_interfaces/multiface.c:232-242, src/menu/menu_items.c:42575-42580"
note: "Multiface One. The file selector rejects anything that is not exactly 8 KB."
- name: "mf128.rom"
sha1: "f03f4ecbcf4a654f4775d16bda0d4cc47f884379"
size: 8192
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/copy_interfaces/multiface.c:224, src/copy_interfaces/multiface.c:232-242, src/menu/menu_items.c:42575-42580"
note: "Multiface 128."
- name: "mf3.rom"
sha1: "5d74d2e2e5a537639da92ff120f8a6d86f474495"
size: 8192
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/copy_interfaces/multiface.c:224, src/copy_interfaces/multiface.c:232-242, src/menu/menu_items.c:42575-42580"
note: "Multiface 3."
- name: "specmate.rom"
sha1: "c8f128610eeb5142d4d80f28e5dd07b7a5ab6b84"
size: 8192
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/copy_interfaces/specmate.h:27, src/copy_interfaces/specmate.h:29, src/copy_interfaces/specmate.c:189-205"
- name: "phoenix3.rom"
sha1: "d4f01500e0383a1cf34683fb30d96230c14c7da3"
size: 16384
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/copy_interfaces/phoenix.h:27, src/copy_interfaces/phoenix.h:29, src/copy_interfaces/phoenix.c:142"
- name: "defcon.rom"
sha1: "4c7d702e295a3383326606b805eab74affc501ba"
size: 16384
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/copy_interfaces/defcon.h:27, src/copy_interfaces/defcon.h:29, src/copy_interfaces/defcon.c:139"
- name: "dinamid3.rom"
sha1: "9ee4ca7abee12ba6fb34aede2185f6aa3cb2800b"
size: 2048
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/copy_interfaces/dinamid3.h:27, src/copy_interfaces/dinamid3.h:29, src/copy_interfaces/dinamid3.c:142"
- name: "interface007.rom"
sha1: "81af60ecd412854069227487417eb80b6c89934d"
size: 2048
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/copy_interfaces/interface007.h:27, src/copy_interfaces/interface007.h:29, src/copy_interfaces/interface007.c:143"
- name: "ramjet2.rom"
sha1: "a3852ee24ab57e0e1d800c9d99cd244f7363449b"
size: 16384
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/copy_interfaces/ramjet.h:27, src/copy_interfaces/ramjet.h:28-30, src/copy_interfaces/ramjet.c:165"
- name: "ramjet3.rom"
sha1: "362589adb01ebbf006a162e76062921c03ceb26e"
size: 16384
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/copy_interfaces/ramjet.h:28, src/copy_interfaces/ramjet.c:165"
- name: "transtape2.rom"
sha1: "45d3e32d58b1c405b75ee72d80153dd0305bbd9d"
size: 16384
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/copy_interfaces/transtape.h:27, src/copy_interfaces/transtape.h:31, src/copy_interfaces/transtape.c:354, src/copy_interfaces/transtape.c:360"
note: "Selected when transtape_version is 2."
- name: "transtape3-vC.rom"
sha1: "b7ec72fa0a55243a53c55d649e0555acea25d0c1"
size: 16384
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/copy_interfaces/transtape.h:28, src/copy_interfaces/transtape.c:355, src/copy_interfaces/transtape.c:360"
note: "Default for Transtape version 3."
- name: "transtape3-vA.rom"
sha1: "c627527551e441a000184565a72df8ff37fce891"
size: 16384
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/copy_interfaces/transtape.c:349-350, src/copy_interfaces/transtape.c:360-375"
note: "Revision A, reached through the user-set transtape_rom_filename and loaded by the same size-checked path as the defaults."
- name: "transtape3-vB.rom"
sha1: "82bf848bac698d1ffd9ca809c4293f004152645a"
size: 16384
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/copy_interfaces/transtape.c:349-350, src/copy_interfaces/transtape.c:360-375"
note: "Revision B, reached through the user-set transtape_rom_filename."
- name: "hilow_barbanegra.rom"
sha1: "3b3862943758ad35f340537b742ca25a8286267a"
size: 8192
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/copy_interfaces/hilow_barbanegra.h:27, src/copy_interfaces/hilow_barbanegra.h:30, src/copy_interfaces/hilow_barbanegra.c:282"
- name: "mhpokeador.rom"
sha1: "557f91755ede646a89e1146904a6d713f38d6b05"
size: 1024
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/copy_interfaces/mhpokeador.h:27, src/copy_interfaces/mhpokeador.h:39, src/copy_interfaces/mhpokeador.c:264"
- name: "mhpokeador-transfer.rom"
sha1: "4099c5d8f65a25bc0053e5730b7c40a29bcfb614"
size: 1024
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/copy_interfaces/mhpokeador.h:28, src/copy_interfaces/mhpokeador.c:264"
- name: "mhpokeador-salvapan.rom"
sha1: "4e438541ec2da0c3b9cf2cbf0cc3f5bc6cfb295e"
size: 1024
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/copy_interfaces/mhpokeador.h:29, src/copy_interfaces/mhpokeador.c:264"
- name: "mantransfev3.bin"
sha1: "e134a38468ed84d53df164d97fa24990aa557da3"
size: 200
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/menu/menu_items.c:42119-42145"
note: "Spectrum program the emulator injects to dump RAM to tape."
# ============================================================
# Sound
# ============================================================
- name: "gs105a.rom"
sha1: "1ba78923dc7d803e7995c165992e14e4608c2153"
size: 32768
validation: [size]
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/soundchips/gs.h:34, src/soundchips/gs.h:29, src/soundchips/gs.c:525-545"
note: "General Sound firmware v1.05a. GS_ROM_SIZE is in KB and the read is GS_ROM_SIZE*1024."
- name: "gs104.rom"
sha1: "c865121306eb3a7d811d82fbcc653b4dc1d6fa3d"
size: 32768
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/configure:1921"
note: "General Sound firmware v1.04. Shipped alongside gs105a.rom, but GS_ROM_NAME is fixed and there is no option to point the loader elsewhere, so it is usable only in place of gs105a.rom."
# ============================================================
# Alternate machine ROMs, selectable with --romfile (src/start.c:4870-4874,
# loaded at src/cpu.c:3455-3458). Documented in the shipped src/ALTERNATEROMS.
# ============================================================
- name: "80-lec.rom"
sha1: "bb7a77d66e95d2e28ebb610e543c065e0d428619"
size: 16384
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/start.c:4876-4880, src/cpu.c:3520-3523"
- name: "tk90x_v1br.rom"
sha1: "eab2eab803d8ec717b55a915de3bcb931b410a2f"
size: 16384
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/ALTERNATEROMS:97, src/start.c:4876-4880, src/cpu.c:3520-3523"
- name: "tk90x_v2es.rom"
sha1: "a9af9c4d38882e2bd85086fc0c2d8d9afe90afad"
size: 16384
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/ALTERNATEROMS:98, src/start.c:4876-4880, src/cpu.c:3520-3523"
note: "Corrected TK90X ROM."
- name: "tk95es_modif.rom"
sha1: "1dd39ee98e236389467e91a86cf5d8ed52583ba5"
size: 16384
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/ALTERNATEROMS:101-106, src/start.c:4876-4880, src/cpu.c:3520-3523"
note: "TK95 Spanish ROM with message and symbol fixes by Rodolfo Edison Guerra."
- name: "Z88OZ431.rom"
sha1: "82e12674ba91eb85d4904c3948e4167aea6fd1b7"
size: 524288
required: false
bundled: true
system: cambridge-z88
source_ref: "src/ALTERNATEROMS:83-92, src/start.c:4876-4880"
- name: "Z88OZ441.rom"
sha1: "778d188c201bd9eb6bf795e0cc8344a87600cd45"
size: 524288
required: false
bundled: true
system: cambridge-z88
source_ref: "src/ALTERNATEROMS:83-92, src/start.c:4876-4880"
- name: "Z88OZ45.rom"
sha1: "aecf46de3563c6c6443e9780d633d7b7507e79ef"
size: 524288
required: false
bundled: true
system: cambridge-z88
source_ref: "src/ALTERNATEROMS:83-92, src/start.c:4876-4880"
- name: "Z88OZ46.rom"
sha1: "9e0e29baa3720abcbb8006cda8f19ea365faf20e"
size: 524288
required: false
bundled: true
system: cambridge-z88
source_ref: "src/ALTERNATEROMS:83-92, src/start.c:4876-4880"
- name: "Z88UK220.rom"
sha1: "5d89e8d98d2cc0acb8cd42dbfca601b7bd09c51e"
size: 131072
required: false
bundled: true
system: cambridge-z88
source_ref: "src/ALTERNATEROMS:83-92, src/start.c:4876-4880"
- name: "Z88UK300.rom"
sha1: "ceb688025b79454cf229cae4dbd0449df2747f79"
size: 131072
required: false
bundled: true
system: cambridge-z88
source_ref: "src/ALTERNATEROMS:83-92, src/start.c:4876-4880"
- name: "Z88UK400.rom"
sha1: "23c63ceced72d0a9031cba08d2ebc72ca336921d"
size: 131072
required: false
bundled: true
system: cambridge-z88
source_ref: "src/ALTERNATEROMS:83-92, src/start.c:4876-4880"
- name: "aszmice07.rom"
path: "alternate_roms/aszmice07.rom"
sha1: "7a37a248572689c8ac226c082b7026972d399b1c"
size: 8192
required: false
bundled: true
system: sinclair-zx81
source_ref: "src/ALTERNATEROMS:4-5, src/start.c:4876-4880"
note: "ASZMIC E07 replacement ROM with assembler and debugger. The 4K image is stored twice to reach 8K."
- name: "sp-rom.rom"
path: "alternate_roms/sp-rom.rom"
sha1: "ef4b575b5b5cc18a3e6c71c241c65aa18957e2d5"
size: 4096
required: false
bundled: true
system: sinclair-zx81
source_ref: "src/ALTERNATEROMS:7-9, src/start.c:4876-4880"
note: "Comprocsys SP ROM add-on card, loaded at address 2000H."
- name: "ace.rom"
path: "alternate_roms/ace.rom"
sha1: "6e5c9416a1cc89fe4012627f496f71ff2bb07b81"
size: 8192
required: false
bundled: true
system: jupiter-ace
variant_group: "jupiter-ace-rom"
source_ref: "src/ALTERNATEROMS:11-12, src/start.c:4876-4880"
note: "Jupiter Ace ROM patched by Dutra Lacerda, distinct from the root ace.rom."
- name: "opense.rom"
path: "alternate_roms/opense.rom"
sha1: "24a339c5c163a687a8fed50f93714c6450e2562d"
size: 16384
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/ALTERNATEROMS:14-15, src/start.c:4876-4880"
note: "OpenSE BASIC 3.1.2 for the 48K."
- name: "sebasic4_rom1.rom"
path: "alternate_roms/sebasic4_rom1.rom"
sha1: "d7092d6d55ee8280057399362b5798d1f65d8eeb"
size: 16384
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/ALTERNATEROMS:18-19, src/start.c:4876-4880"
note: "SE BASIC 4.1.0 standalone ROM 1 for the 48K."
- name: "derby_p_32K.rom"
path: "alternate_roms/derby_p_32K.rom"
sha1: "f9c337782f9a4781548528841babd5bd13f2b745"
size: 32768
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/ALTERNATEROMS:21-23, src/start.c:4876-4880"
note: "Derby+ for 128K machines with 32K of ROM."
- name: "derby_pp_64K.rom"
path: "alternate_roms/derby_pp_64K.rom"
sha1: "7eaaf1ff19f74d5449033bacce9834d7b13022a9"
size: 65536
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/ALTERNATEROMS:21-23, src/start.c:4876-4880"
note: "Derby++ for 128K machines with 64K of ROM."
- name: "plus2c.rom"
path: "alternate_roms/plus2c.rom"
sha1: "98effb0e2dc4ecf6e9f70be9828a688341396c0c"
size: 32768
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/ALTERNATEROMS:40-41, src/start.c:4876-4880"
note: "Unofficial +2C ROM by Andrew Owen, for 128K/+2."
- name: "plus2b.rom"
path: "alternate_roms/plus2b.rom"
sha1: "420d8f1cd7bd75a79803eaa49e191d90cfd24f38"
size: 65536
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/ALTERNATEROMS:46-76, src/start.c:4876-4880"
note: "+2B ROM set for +2A/+3: 128 editor, 48K BASIC, BBC BASIC, OpenSE BASIC 3.1.1."
- name: "plus3e_mmcen3eE.rom"
path: "alternate_roms/plus3e_mmcen3eE.rom"
sha1: "a579f9c3571669294dad37b04dcb889a9c147d94"
size: 65536
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/cpu.h:369, src/menu/menu_items.c:30976-30986, src/ALTERNATEROMS:26-30"
note: "+3e v1.38 English for MMC. Resolved by name through find_sharedfile for the +2e/+3e MMC machine preset."
- name: "plus3e_mmces3eE.rom"
path: "alternate_roms/plus3e_mmces3eE.rom"
sha1: "44e98a3dfc966f7c8725c252487a44a2c0b450d6"
size: 65536
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/ALTERNATEROMS:26-30, src/start.c:4876-4880"
note: "+3e v1.38 Spanish for MMC."
- name: "plus3e_sm8en3eE.rom"
path: "alternate_roms/plus3e_sm8en3eE.rom"
sha1: "89b6227798a88a6ad0e3b9e58db979694912ee04"
size: 65536
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/ALTERNATEROMS:32-36, src/start.c:4876-4880"
note: "+3e v1.38 English for simple 8-bit IDE."
- name: "plus3e_sm8es3eE.rom"
path: "alternate_roms/plus3e_sm8es3eE.rom"
sha1: "a5b62b647ccaec4af9989b8fd7857d5f6426ae5d"
size: 65536
required: false
bundled: true
system: sinclair-zx-spectrum
source_ref: "src/ALTERNATEROMS:32-36, src/start.c:4876-4880"
note: "+3e v1.38 Spanish for simple 8-bit IDE."