mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-11 14:03:23 -05:00
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1062 lines
35 KiB
YAML
1062 lines
35 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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
size: 8192
|
|
validation: [size]
|
|
required: true
|
|
bundled: true
|
|
system: colecovision
|
|
source_ref: "src/cpu.c:3385-3387, src/utils.c:4120"
|
|
|
|
- name: "sg1000.rom"
|
|
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"
|
|
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"
|
|
size: 32768
|
|
validation: [size]
|
|
required: true
|
|
bundled: true
|
|
system: msx
|
|
source_ref: "src/cpu.c:3397-3399, src/utils.c:4126"
|
|
|
|
- name: "svi.rom"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
size: 524288
|
|
required: false
|
|
bundled: true
|
|
system: cambridge-z88
|
|
source_ref: "src/ALTERNATEROMS:83-92, src/start.c:4876-4880"
|
|
|
|
- name: "Z88OZ441.rom"
|
|
size: 524288
|
|
required: false
|
|
bundled: true
|
|
system: cambridge-z88
|
|
source_ref: "src/ALTERNATEROMS:83-92, src/start.c:4876-4880"
|
|
|
|
- name: "Z88OZ45.rom"
|
|
size: 524288
|
|
required: false
|
|
bundled: true
|
|
system: cambridge-z88
|
|
source_ref: "src/ALTERNATEROMS:83-92, src/start.c:4876-4880"
|
|
|
|
- name: "Z88OZ46.rom"
|
|
size: 524288
|
|
required: false
|
|
bundled: true
|
|
system: cambridge-z88
|
|
source_ref: "src/ALTERNATEROMS:83-92, src/start.c:4876-4880"
|
|
|
|
- name: "Z88UK220.rom"
|
|
size: 131072
|
|
required: false
|
|
bundled: true
|
|
system: cambridge-z88
|
|
source_ref: "src/ALTERNATEROMS:83-92, src/start.c:4876-4880"
|
|
|
|
- name: "Z88UK300.rom"
|
|
size: 131072
|
|
required: false
|
|
bundled: true
|
|
system: cambridge-z88
|
|
source_ref: "src/ALTERNATEROMS:83-92, src/start.c:4876-4880"
|
|
|
|
- name: "Z88UK400.rom"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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."
|