Menu

Tree [4f5982] master /
 History

HTTPS access


File Date Author Commit
 .agents 2026-05-17 Fredrick Meunier Fredrick Meunier [fe1d30] Add release process documentation and distribut...
 .beads 2026-05-30 Fredrick Meunier Fredrick Meunier [f7f561] Fixes for GitHub actions builds with new SDL au...
 .github 4 days ago Fredrick Meunier Fredrick Meunier [918493] Use libXML for config files in all Windows rele...
 compat 2026-04-22 Alberto Garcia Alberto Garcia [ee6777] Get rid of UTILS_AUXILIARY_GTK
 data 2026-06-09 Alberto Garcia Alberto Garcia [1215cf] gtk3: Don't set the window aspect hint
 debugger 12 hours ago Fredrick Meunier Fredrick Meunier [4f5982] Add unit tests for user-defined variable expres...
 hacking 2026-06-15 Fredrick Meunier Fredrick Meunier [929737] Add hacking/releasing.md
 infrastructure 2023-07-11 Stuart Brady Stuart Brady [e09eee] Initial support for Currah uSpeech peripheral
 lib 2019-02-09 Sergio Baldoví Sergio Baldoví [a64a8b] Rename keyboard image to keyboard.png
 m4 6 days ago Fredrick Meunier Fredrick Meunier [dc3f1f] Remove unused AX_CREATE_STDINT_H macro file
 machines 2026-03-10 Fredrick Meunier Fredrick Meunier [469125] Update dates for next release.
 man 2026-06-15 Alberto Garcia Alberto Garcia [62241b] gtk3: Enable the full_screen setting in the GTK UI
 peripherals 5 days ago Fredrick Meunier Fredrick Meunier [016b0d] Replace magic ULA bit masks with named constants
 perl 2016-10-24 Fredrick Meunier Fredrick Meunier [5de510] Retire legacy RCS tags
 pokefinder 2026-03-27 Fredrick Meunier Fredrick Meunier [ff4052] Avoid common-symbol alignment warnings on macOS
 roms 2016-11-06 Sergio Baldoví Sergio Baldoví [0748a3] Tweak text as SE roms are covered by GPL
 sound 2026-06-15 Fredrick Meunier Fredrick Meunier [1c9767] Updates for copyright headers
 timer 2026-06-15 Fredrick Meunier Fredrick Meunier [1c9767] Updates for copyright headers
 ui 7 days ago Alberto Garcia Alberto Garcia [ec0e3f] gtk3: Don't leave a thin border around the scal...
 unittests 2026-06-15 Fredrick Meunier Fredrick Meunier [1c9767] Updates for copyright headers
 z80 6 days ago Fredrick Meunier Fredrick Meunier [2f54f9] Replace R register magic numbers with named con...
 .gitattributes 2026-03-29 Fredrick Meunier Fredrick Meunier [09ca6b] Mark source .dat files as text for merges
 .gitignore 2026-06-14 Sergio Baldoví Sergio Baldoví [22e8e6] Ignore .exe files in unittests directory
 AUTHORS 2026-05-30 Fredrick Meunier Fredrick Meunier [90b2d0] Add NTSC TV and replace PAL TV filters (patch #...
 COPYING 2007-05-26 Stuart Brady Stuart Brady [5bed54] Update FSF address in GPL notices, add autogene...
 ChangeLog 2026-06-15 Fredrick Meunier Fredrick Meunier [64e16a] Updates for a "1.9.0" version
 INSTALL 2026-03-26 Fredrick Meunier Fredrick Meunier [ce5dbb] Correct libspectrum DLL version (thanks, Guesser)
 Makefile.am 6 days ago Fredrick Meunier Fredrick Meunier [dc3f1f] Remove unused AX_CREATE_STDINT_H macro file
 PORTING 2008-07-15 Philip Kendall Philip Kendall [b7c924] Add document on what you can and cannot do with...
 README 2026-06-15 Fredrick Meunier Fredrick Meunier [64e16a] Updates for a "1.9.0" version
 THANKS 2021-02-21 Sergio Baldoví Sergio Baldoví [917517] Rename GTK+ to GTK
 autogen.sh 2017-06-10 Fredrick Meunier Fredrick Meunier [b84b3a] Swtich to using autoreconf
 bitmap.h 2016-10-24 Fredrick Meunier Fredrick Meunier [5de510] Retire legacy RCS tags
 compat.h 2026-04-22 Alberto Garcia Alberto Garcia [ee6777] Get rid of UTILS_AUXILIARY_GTK
 configure.ac 6 days ago Fredrick Meunier Fredrick Meunier [54de01] Remove deprecated AC_C_CONST and AC_C_INLINE ma...
 display.c 5 days ago Fredrick Meunier Fredrick Meunier [71ee8a] Cache adjusted/clamped beam coords in display_u...
 display.h 2026-06-15 Fredrick Meunier Fredrick Meunier [1c9767] Updates for copyright headers
 event.c 2026-04-05 Fredrick Meunier Fredrick Meunier [8b7367] Uncrustify event.c
 event.h 2026-03-10 Fredrick Meunier Fredrick Meunier [469125] Update dates for next release.
 fuse.c 2026-06-15 Fredrick Meunier Fredrick Meunier [1c9767] Updates for copyright headers
 fuse.h 2021-03-15 Fredrick Meunier Fredrick Meunier [a44a74] Change libspectrum.h and config.h include style
 input.c 2026-03-10 Fredrick Meunier Fredrick Meunier [469125] Update dates for next release.
 input.h 2016-11-18 BogDan Vatra BogDan Vatra [461390] Remove unused include
 keyboard.c 2026-06-15 Fredrick Meunier Fredrick Meunier [1c9767] Updates for copyright headers
 keyboard.h 2026-06-15 Fredrick Meunier Fredrick Meunier [1c9767] Updates for copyright headers
 keysyms.dat 2016-10-24 Fredrick Meunier Fredrick Meunier [5de510] Retire legacy RCS tags
 keysyms.pl 2026-03-24 Derek Fountain Derek Fountain [d20d05] Remove GTK2 from the build.
 loader.c 2026-03-10 Fredrick Meunier Fredrick Meunier [469125] Update dates for next release.
 loader.h 2026-03-10 Fredrick Meunier Fredrick Meunier [469125] Update dates for next release.
 machine.c 2026-04-10 Fredrick Meunier Fredrick Meunier [9c2e74] Improve isolation of display unit tests
 machine.h 2026-03-10 Fredrick Meunier Fredrick Meunier [469125] Update dates for next release.
 memory_pages.c 6 days ago Fredrick Meunier Fredrick Meunier [ac13d4] Always provide initialised memory in memory_poo...
 memory_pages.h 2026-03-10 Fredrick Meunier Fredrick Meunier [469125] Update dates for next release.
 mempool.c 2026-04-11 Fredrick Meunier Fredrick Meunier [6d4277] Add mempool_strdup NULL guard
 mempool.h 2016-10-24 Fredrick Meunier Fredrick Meunier [5de510] Retire legacy RCS tags
 menu.c 2026-05-12 Fredrick Meunier Fredrick Meunier [0aaf4b] Model SDL2 fullscreen scaler transitions explic...
 menu.h 2026-06-15 Fredrick Meunier Fredrick Meunier [1c9767] Updates for copyright headers
 menu_data.dat 2026-06-15 Alberto Garcia Alberto Garcia [62241b] gtk3: Enable the full_screen setting in the GTK UI
 menu_data.pl 2021-03-15 Fredrick Meunier Fredrick Meunier [a44a74] Change libspectrum.h and config.h include style
 module.c 2021-03-15 Fredrick Meunier Fredrick Meunier [a44a74] Change libspectrum.h and config.h include style
 module.h 2021-03-15 Fredrick Meunier Fredrick Meunier [a44a74] Change libspectrum.h and config.h include style
 movie.c 2021-03-15 Fredrick Meunier Fredrick Meunier [a44a74] Change libspectrum.h and config.h include style
 movie.h 2016-10-24 Fredrick Meunier Fredrick Meunier [5de510] Retire legacy RCS tags
 movie_tables.h 2016-10-24 Fredrick Meunier Fredrick Meunier [5de510] Retire legacy RCS tags
 periph.c 2026-03-10 Fredrick Meunier Fredrick Meunier [469125] Update dates for next release.
 periph.h 2026-03-10 Fredrick Meunier Fredrick Meunier [469125] Update dates for next release.
 phantom_typist.c 2021-03-15 Fredrick Meunier Fredrick Meunier [a44a74] Change libspectrum.h and config.h include style
 phantom_typist.h 2017-11-19 Sergio Baldoví Sergio Baldoví [bf3f3a] Fix implicit declaration warning
 profile.c 2026-03-10 Fredrick Meunier Fredrick Meunier [469125] Update dates for next release.
 profile.h 2016-10-24 Fredrick Meunier Fredrick Meunier [5de510] Retire legacy RCS tags
 psg.c 2026-06-15 Fredrick Meunier Fredrick Meunier [1c9767] Updates for copyright headers
 psg.h 2026-06-15 Fredrick Meunier Fredrick Meunier [1c9767] Updates for copyright headers
 rectangle.c 2026-04-09 Fredrick Meunier Fredrick Meunier [a40dfe] Fix same-x overlap miss in x-dimension merge
 rectangle.h 2026-04-07 Fredrick Meunier Fredrick Meunier [984196] Rectangle merge misses same-y overlap when fram...
 rzx.c 6 days ago Fredrick Meunier Fredrick Meunier [2f54f9] Replace R register magic numbers with named con...
 rzx.h 2021-03-15 Fredrick Meunier Fredrick Meunier [a44a74] Change libspectrum.h and config.h include style
 screenshot.c 2026-06-15 Fredrick Meunier Fredrick Meunier [1c9767] Updates for copyright headers
 screenshot.h 2019-01-06 Sergio Baldoví Sergio Baldoví [42f58d] Allocate buffers dynamically for screenshots
 settings-header.pl 2016-11-18 BogDan Vatra BogDan Vatra [461390] Remove unused include
 settings.dat 2026-06-09 Alberto Garcia Alberto Garcia [1215cf] gtk3: Don't set the window aspect hint
 settings.pl 4 days ago Fredrick Meunier Fredrick Meunier [21411d] Fall back to defaults if loading a settings fil...
 slt.c 2026-03-10 Fredrick Meunier Fredrick Meunier [469125] Update dates for next release.
 slt.h 2021-03-15 Fredrick Meunier Fredrick Meunier [a44a74] Change libspectrum.h and config.h include style
 snapshot.c 2026-06-15 Fredrick Meunier Fredrick Meunier [1c9767] Updates for copyright headers
 snapshot.h 2026-03-10 Fredrick Meunier Fredrick Meunier [469125] Update dates for next release.
 sound.c 2026-06-15 Fredrick Meunier Fredrick Meunier [1c9767] Updates for copyright headers
 sound.h 2026-03-10 Fredrick Meunier Fredrick Meunier [469125] Update dates for next release.
 spectrum.c 2026-03-27 Fredrick Meunier Fredrick Meunier [ff4052] Avoid common-symbol alignment warnings on macOS
 spectrum.h 2021-03-15 Fredrick Meunier Fredrick Meunier [a44a74] Change libspectrum.h and config.h include style
 svg.c 2026-06-14 Sergio Baldoví Sergio Baldoví [4340e2] Use xmlBufferContent to extract XML data
 svg.h 2016-10-24 Fredrick Meunier Fredrick Meunier [5de510] Retire legacy RCS tags
 tape.c 5 days ago Fredrick Meunier Fredrick Meunier [54c562] Replace magic numbers with named constants in t...
 tape.h 2026-03-10 Fredrick Meunier Fredrick Meunier [469125] Update dates for next release.
 ui.c 2026-05-12 Fredrick Meunier Fredrick Meunier [0aaf4b] Model SDL2 fullscreen scaler transitions explic...
 uidisplay.c 2026-03-10 Fredrick Meunier Fredrick Meunier [469125] Update dates for next release.
 uimedia.c 2021-03-15 Fredrick Meunier Fredrick Meunier [a44a74] Change libspectrum.h and config.h include style
 update-release.py 2026-05-17 Fredrick Meunier Fredrick Meunier [fe1d30] Add release process documentation and distribut...
 utils.c 2026-03-10 Fredrick Meunier Fredrick Meunier [469125] Update dates for next release.
 utils.h 2026-03-10 Fredrick Meunier Fredrick Meunier [469125] Update dates for next release.
 windres.rc 2026-03-10 Fredrick Meunier Fredrick Meunier [469125] Update dates for next release.

Read Me

The Free Unix Spectrum Emulator (Fuse) 1.9.0
============================================

Fuse (the Free Unix Spectrum Emulator) was originally, and somewhat
unsurprisingly, an emulator of the ZX Spectrum (a popular 1980s home
computer, especially in the UK) for Unix. However, it has now also
been ported to macOS, which may or may not count as a Unix variant
depending on your advocacy position and Windows which definitely isn't
a Unix variant. Fuse also emulates some of the better-known ZX Spectrum
clones as well.

What Fuse does have:

* Accurate Spectrum 16K/48K/128K/+2/+2A/+3 emulation.
* Working Spectrum +3e and SE, Timex TC2048, TC2068 and TS2068,
  Pentagon 128, "512" (Pentagon 128 with extra memory) and 1024 and
  Scorpion ZS 256 emulation.
* Runs at true Speccy speed on any computer you're likely to try it on.
* Support for loading from .tzx files, including accelerated loading.
* Sound (on systems supporting the Open Sound System, SDL, OpenBSD/
  Solaris's /dev/audio, CoreAudio or PulseAudio).
* Emulation of most of the common joysticks used on the Spectrum
  (including Kempston, Sinclair and Cursor joysticks).
* Emulation of some of the printers you could attach to a Spectrum.
* Support for the RZX input recording file format, including
  rollback and 'competition mode'.
* Emulation of the Currah µSource, Interface 1, Kempston mouse,
  Multiface One/128/3 and TTX2000S interfaces.
* Emulation of the Covox, Currah µSpeech, Fuller audio box, Melodik and
  SpecDrum audio interfaces.
* Emulation of the DivIDE, DivMMC, Spectrum +3e, ZXATASP, ZXCF and ZXMMC
  storage interfaces.
* Emulation of the Beta 128, +D, Didaktik 80/40, DISCiPLE and Opus Discovery
  disk interfaces.
* Emulation of the Spectranet and SpeccyBoot network interfaces.
* Emulation of the TTX2000 S Teletext adapter.
* Support for the Recreated ZX Spectrum Bluetooth keyboard.

Help! <xyz> doesn't work
------------------------

If you're having a problem using/running/building Fuse, the two places
you're most likely to get help are the development mailing list
<fuse-emulator-devel@lists.sf.net> or the official forums at
<https://sourceforge.net/p/fuse-emulator/discussion/>.

What you'll need to run Fuse
----------------------------

Unix, Linux, BSD, etc.

Required:

* X, SDL or framebuffer support. If you have GTK, you'll get
  a (much) nicer user interface under X.
* libspectrum: this is available from
  https://fuse-emulator.sourceforge.net/libspectrum.php

Optional:

* Other libraries will give you some extended functionality:
  * libgcrypt: the ability to digitally sign input recordings (note that
    Fuse requires version 1.1.42 or later).
  * libpng: the ability to save screenshots
  * libxml2: the ability to load and save Fuse's current configuration
  * zlib: support for compressed RZX files

If you've used Fuse prior to version 0.5.0, note that the external
utilities (tzxlist, etc) are now available separately from Fuse
itself. See https://fuse-emulator.sourceforge.net/ for details.

macOS

* Either the native port by Fredrick Meunier, or the original version
  will compile on macOS 10.3 (Panther) or later.
* On macOS Lion you will need to use clang as gcc-llvm-4.2.1 fails to
  correctly compile z80_ops.c.

Windows

* The Win32 and SDL UIs can be used under Windows.
* pthreads-win32 library will give the ability to use posix threads, needed by
  some peripherals.

Building Fuse
-------------

See the file `INSTALL' for more detailed information.

Closing comments
----------------

Fuse has its own home page, which you can find at:

https://fuse-emulator.sourceforge.net/

and contains much of the information listed here. 

News of new versions of Fuse (and other important Fuse-related
announcements) are distributed via the fuse-emulator-announce mailing
list on SourceForge; see
https://lists.sourceforge.net/lists/listinfo/fuse-emulator-announce
for details on how to subscribe and the like.

If you've got any bug reports, suggestions or the like for Fuse, or
just want to get involved in the development, this is coordinated via
the fuse-emulator-devel mailing list,
https://lists.sourceforge.net/lists/listinfo/fuse-emulator-devel
and the Fuse project page on SourceForge,
https://sourceforge.net/projects/fuse-emulator/

Maintainer release notes are in `hacking/releasing.md'.

For Spectrum discussions not directly related to Fuse, visit either the
Usenet newsgroup `comp.sys.sinclair' or the World of Spectrum forums
<http://www.worldofspectrum.org/forums/>.

Philip Kendall <philip-fuse@shadowmagic.org.uk>
15th June, 2026
Auth0 Logo