Menu

Tree [57cbfc] 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 [fa36b0] Replace |& with 2>&1 | and drop brew install ba...
 compat 22 hours ago Fredrick Meunier Fredrick Meunier [17b86e] Fix strerror( -errno ) to strerror( errno ) in ...
 data 2026-06-09 Alberto Garcia Alberto Garcia [1215cf] gtk3: Don't set the window aspect hint
 debugger 7 days ago Fredrick Meunier Fredrick Meunier [b36027] Add const to event/sysvar helper functions and ...
 hacking 2026-07-15 Fredrick Meunier Fredrick Meunier [f9a165] Update hacking/unittests.txt to reflect current...
 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 2026-06-27 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 2026-06-28 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 21 hours ago Fredrick Meunier Fredrick Meunier [3c9bbf] Fix strerror() calls with wrong arguments in sd...
 timer 2026-06-15 Fredrick Meunier Fredrick Meunier [1c9767] Updates for copyright headers
 ui 5 days ago Fredrick Meunier Fredrick Meunier [8cdd16] Blend PAL composite scaler chroma across lines
 unittests 22 hours ago Fredrick Meunier Fredrick Meunier [6c7c5a] Extend scalerexpandtest to cover all four expan...
 z80 2026-06-27 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 5 days ago Fredrick Meunier Fredrick Meunier [8cdd16] Blend PAL composite scaler chroma across lines
 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 2026-06-27 Fredrick Meunier Fredrick Meunier [54de01] Remove deprecated AC_C_CONST and AC_C_INLINE ma...
 display.c 4 days ago Fredrick Meunier Fredrick Meunier [0c3651] Add DISPLAY_PIXEL_BYTES, DISPLAY_ATTR_BYTES, an...
 display.h 4 days ago Fredrick Meunier Fredrick Meunier [0c3651] Add DISPLAY_PIXEL_BYTES, DISPLAY_ATTR_BYTES, an...
 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-07-05 Fredrick Meunier Fredrick Meunier [00c19c] Skip symbol characters on Wii UI (fixes bug #26...
 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 22 hours ago Fredrick Meunier Fredrick Meunier [c80090] Replace magic screen size literals with named c...
 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 2026-06-27 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 4 days ago Fredrick Meunier Fredrick Meunier [0c3651] Add DISPLAY_PIXEL_BYTES, DISPLAY_ATTR_BYTES, an...
 screenshot.h 22 hours ago Fredrick Meunier Fredrick Meunier [c80090] Replace magic screen size literals with named c...
 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 2026-06-28 Fredrick Meunier Fredrick Meunier [21411d] Fall back to defaults if loading a settings fil...
 slt.c 22 hours ago Fredrick Meunier Fredrick Meunier [c80090] Replace magic screen size literals with named c...
 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 22 hours ago Fredrick Meunier Fredrick Meunier [42a443] Simplify ay_do_tone() by removing redundant els...
 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-07-15 Fredrick Meunier Fredrick Meunier [5f82f2] Fix off-by-one in svg_startcapture allocation
 svg.h 2016-10-24 Fredrick Meunier Fredrick Meunier [5de510] Retire legacy RCS tags
 tape.c 21 hours ago Fredrick Meunier Fredrick Meunier [57cbfc] Decode tape header names with libspectrum_zx_st...
 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
Monday.com Logo