Skip to content

Fuse emulates Sinclair ZX Spectrum. It reads 37 files, none of them required: it starts games without them.

About this profile
Detail Value
Type libretro
Classification Community fork
Source https://github.com/libretro/fuse-libretro
Upstream https://sourceforge.net/projects/fuse-emulator/
Version 1.6.0, stated in fuse/configure.ac
Revision libretro/fuse-libretro@e997e2bc32c8
Profiled 2026-03-23
Profile YAML, JSON
Cores fuse, fuse_libretro
Systems Sinclair ZX Spectrum
Install this emulator's files

The installer finds your setup and its BIOS folder, then downloads only the files this emulator reads there and checks each one.

Open the Start menu. Type PowerShell and open it. Paste the line. Press Enter.

PowerShell
&([scriptblock]::Create((irm https://abdess.github.io/retrobios/i.ps1))) --emulator fuse
Platform details
  1. Check mem_entries[] (18 embedded ROMs compiled as .h arrays)
  2. If not found, try {system_dir}/fuse/{filename} on filesystem The path is constructed by concatenating system_dir + "/fuse" + path where path includes the leading slash from fuse's internal path.
  • embedded_roms:

    • source_ref: src/compat/file.c:55-73
    • note: 18 ROMs embedded in the binary via .h headers generated from .rom files: 48.rom, 128-0.rom, 128-1.rom, plus2-0.rom, plus2-1.rom, plus3-0/1/2/3.rom, plus3e-0/1/2/3.rom, se-0.rom, se-1.rom, tc2048.rom, tc2068-0.rom, tc2068-1.rom. disciple.rom, plusd.rom, speccyboot-1.4.rom are present in the repo fuse/roms/ directory but NOT in mem_entries[], so they are loaded from the filesystem only.
  • machine_rom_map:

    • source_ref: fuse/settings.c:209-260, fuse/machines/spec48.c, fuse/machines/spec128.c
    • note: Spectrum 16K: 48.rom (1 ROM) Spectrum 48K: 48.rom (1 ROM) Spectrum 48K NTSC: 48.rom (1 ROM) Spectrum 128K: 128-0.rom, 128-1.rom (2 ROMs) Spectrum +2: plus2-0.rom, plus2-1.rom (2 ROMs) Spectrum +2A: plus3-0.rom, plus3-1.rom, plus3-2.rom, plus3-3.rom (4 ROMs) Spectrum +3: plus3-0.rom, plus3-1.rom, plus3-2.rom, plus3-3.rom (4 ROMs) Spectrum +3e: plus3e-0/1/2/3.rom (4 ROMs) Spectrum SE: se-0.rom, se-1.rom (2 ROMs) Timex TC2048: tc2048.rom (1 ROM) Timex TC2068: tc2068-0.rom, tc2068-1.rom (2 ROMs) Timex TS2068: tc2068-0.rom, tc2068-1.rom (2 ROMs, same files) Pentagon 128K: 128p-0.rom, 128p-1.rom, trdos.rom (3 ROMs) Pentagon 512K: 128p-0.rom, 128p-1.rom, trdos.rom, gluck.rom (4 ROMs) Pentagon 1024: 128p-0.rom, 128p-1.rom, trdos.rom, gluck.rom (4 ROMs) Scorpion 256K: 256s-0.rom, 256s-1.rom, 256s-2.rom, 256s-3.rom (4 ROMs)
  • rom_copyright:

    • source_ref: fuse/roms/README.copyright
    • note: Most ROMs are copyright Amstrad. Amstrad allows free distribution but retains copyright. Selling ROMs standalone is not permitted. SE ROMs are GPLv2+. DISCiPLE/+D ROMs are copyright Datel, distribution allowed. SpeccyBoot ROM is MIT licensed.
Technical notes

Fuse (Free Unix Spectrum Emulator) ported to libretro. Emulates the ZX Spectrum family: 16K, 48K, 48K NTSC, 128K, +2, +2A, +3, +3e, SE, Timex TC2048, TC2068, TS2068, Pentagon 128K/512K/1024, and Scorpion 256K.

ROM loading is in src/compat/file.c:91-118. The core first checks an internal table of embedded ROMs (mem_entries[]). If the ROM filename is not found there, it falls back to the filesystem at {system_dir}/fuse/{rom_filename} (src/compat/file.c:160-175).

Embedded ROMs cover 48K-family, 128K, +2, +3, +3e, SE, TC2048, TC2068. Pentagon, Scorpion, and peripheral ROMs are NOT embedded and must be placed in {system_dir}/fuse/ by the user.

Default ROM filenames are set in fuse/settings.c:209-260. Each machine type loads its ROMs during reset via machine_load_rom() calls in the fuse/machines directory. All ROMs are size-validated at load time (fuse/machine.c:287).

The +2A reuses the +3 ROMs (plus3-0/1/2/3.rom) per fuse/settings.c:234-237. The TS2068 reuses TC2068 ROMs (tc2068-0/1.rom) per fuse/settings.c:257-258. Spectrum 16K uses 48.rom per fuse/settings.c:211.

Upstream FUSE 1.7.0 has SP0256 speech chip (sp0256-al2.rom) and Currah uSpeech (uspeech.rom) peripherals not ported to libretro.

37 files: 0 required, 37 optional. 18 have an HLE fallback.

In this collection: 37 in repo and 0 missing.

37 rows
FileStatusHash

fuse/48.rom

Hashes, validation and source
in repo HLE fallbackMD5 4c42a2f07521

fuse/128-0.rom

Hashes, validation and source
in repo HLE fallbackMD5 b4d2692115a9

fuse/128-1.rom

Hashes, validation and source
in repo HLE fallbackMD5 6e09e5d3c4ae

fuse/plus2-0.rom

Hashes, validation and source
in repo HLE fallbackMD5 4ed7af463630

fuse/plus2-1.rom

Hashes, validation and source
in repo HLE fallbackMD5 b3db95931cc8

fuse/plus3-0.rom

Hashes, validation and source
in repo HLE fallbackMD5 9833b8b73384

fuse/plus3-1.rom

Hashes, validation and source
in repo HLE fallbackMD5 0f711ceb5ab8

fuse/plus3-2.rom

Hashes, validation and source
in repo HLE fallbackMD5 3b6dd659d5e4

fuse/plus3-3.rom

Hashes, validation and source
in repo HLE fallbackMD5 a148bcc575e5

fuse/plus3e-0.rom

Hashes, validation and source
in repo HLE fallbackMD5 bc123f625e24

fuse/plus3e-1.rom

Hashes, validation and source
in repo HLE fallbackMD5 617364264c58

fuse/plus3e-2.rom

Hashes, validation and source
in repo HLE fallbackMD5 c363e95dcd0a

fuse/plus3e-3.rom

Hashes, validation and source
in repo HLE fallbackMD5 a148bcc575e5

fuse/se-0.rom

Hashes, validation and source
in repo HLE fallbackMD5 fb3f86eb1e5a

fuse/se-1.rom

Hashes, validation and source
in repo HLE fallbackMD5 88de4a312908

fuse/tc2048.rom

Hashes, validation and source
in repo HLE fallbackMD5 9dd7ecf784a6

fuse/tc2068-0.rom

Hashes, validation and source
in repo HLE fallbackMD5 55d462fccc6c

fuse/tc2068-1.rom

Hashes, validation and source
in repo HLE fallbackMD5 575d203c6e15

fuse/128p-0.rom

Validation and source
in repo-

fuse/128p-1.rom

Validation and source
in repo-

fuse/trdos.rom

Validation and source
in repo-

fuse/gluck.rom

Validation and source
in repo-

fuse/256s-0.rom

Validation and source
in repo-

fuse/256s-1.rom

Validation and source
in repo-

fuse/256s-2.rom

Validation and source
in repo-

fuse/256s-3.rom

Validation and source
in repo-

fuse/if1-2.rom

Validation and source
in repo-

fuse/disciple.rom

  • System: Sinclair ZX Spectrum
  • DISCiPLE disk interface ROM. Bundled in repo but not in mem_entries[].
Hashes, validation and source
in repoMD5 78e61a2a0212

fuse/plusd.rom

Hashes, validation and source
in repoMD5 42e5de16fb5e

fuse/didaktik80.rom

Validation and source
in repo-

fuse/opus.rom

Validation and source
in repo-

fuse/mf1.rom

Validation and source
in repo-

fuse/mf128.rom

Validation and source
in repo-

fuse/mf3.rom

Validation and source
in repo-

fuse/speccyboot-1.4.rom

Hashes, validation and source
in repoMD5 c54aa8f374b0

fuse/ttx2000s.rom

Validation and source
in repo-

fuse/usource.rom

Validation and source
in repo-
.