fuse-libretro/fuse
jfroco cad85b7b1b
Floating bus for ZX Spectrum +2A/+3 and alternative palettes (#153)
* Floating bus support for ZX Spectrum +2A/+3

- Add floating bus support for ZX Spectrum +2A/+3
- Games tested:
   - A Yankee in Irak 1.3.3
   - Mr. Kung Fu 1.3 +2a/+3 version
   - MONJAS 1.6 - Spanish
   - MONJAS 1.6 - English
   - Hell Yeah! v210131
   - Sidewize  +2A:+3 fix by Ast. A. Moore

* Alternative palettes

- Add alternative palettes:
   - Fuse original
   - ZX Spectrum (Wikipedia)
   - Black and White TV
   - Green monochrome monitor (from ZXSpin)
   - Ambar monochrome monitor (from ZXSpin)
   - C64-like
   - CGA 4 colours
   - CGA 8 colours
   - CGA 15 colours
   - Inverted colours
2024-11-24 02:44:14 -08:00
..
compat Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
data Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
debugger Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
hacking Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
infrastructure Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
lib Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
m4 Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
machines Floating bus for ZX Spectrum +2A/+3 and alternative palettes (#153) 2024-11-24 02:44:14 -08:00
man Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
peripherals Proper joystick management for snapshot 2023-02-04 16:03:54 +01:00
perl Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
pokefinder Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
roms Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
sound Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
timer Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
ui Proper joystick management for snapshot 2023-02-04 16:03:54 +01:00
unittests Floating bus for ZX Spectrum +2A/+3 and alternative palettes (#153) 2024-11-24 02:44:14 -08:00
z80 Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
.gitignore Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
aclocal.m4 Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
AUTHORS Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
autogen.sh Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
bitmap.h Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
ChangeLog Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
compat.h fixed vita build 2021-04-19 10:45:11 +02:00
config.guess Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
config.h.in Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
config.sub Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
configure Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
configure.ac Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
COPYING Initial commit 2015-02-02 21:50:11 -02:00
depcomp Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
display.c Fix for startup manager on WiiU 2021-05-28 15:53:38 +02:00
display.h Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
event.c Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
event.h Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
fuse.c Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
fuse.font Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
fuse.h Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
input.c Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
input.h Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
INSTALL Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
install-sh Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
keyboard.c Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
keyboard.h Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
keysyms.dat Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
keysyms.pl Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
loader.c Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
loader.h Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
ltmain.sh Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
machine.c Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
machine.h Floating bus for ZX Spectrum +2A/+3 and alternative palettes (#153) 2024-11-24 02:44:14 -08:00
Makefile.am Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
Makefile.in Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
memory_pages.c Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
memory_pages.h Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
mempool.c Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
mempool.h Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
menu_data.dat Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
menu_data.pl Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
menu.c Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
menu.h Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
missing Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
module.c Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
module.h Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
movie_tables.h Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
movie.c Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
movie.h Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
options.h Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
periph.c Floating bus for ZX Spectrum +2A/+3 and alternative palettes (#153) 2024-11-24 02:44:14 -08:00
periph.h Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
phantom_typist.c Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
phantom_typist.h Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
PORTING Initial commit 2015-02-02 21:50:11 -02:00
profile.c Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
profile.h Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
psg.c Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
psg.h Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
README Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
rectangle.c Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
rectangle.h Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
rzx.c Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
rzx.h Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
screenshot.c Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
screenshot.h Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
settings-header.pl Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
settings.c PS3/PSL1GHT build fix 2022-02-12 12:32:54 +01:00
settings.dat Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
settings.h Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
settings.pl Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
slt.c Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
slt.h Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
snapshot.c Fix typo 2024-09-20 03:41:32 +02:00
snapshot.h Fix typo 2024-09-20 03:41:32 +02:00
sound.c fix stereo separation setting 2021-06-04 18:45:42 +02:00
sound.h Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
spectrum.c Floating bus for ZX Spectrum +2A/+3 and alternative palettes (#153) 2024-11-24 02:44:14 -08:00
spectrum.h Floating bus for ZX Spectrum +2A/+3 and alternative palettes (#153) 2024-11-24 02:44:14 -08:00
svg.c Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
svg.h Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
tape.c Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
tape.h Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
THANKS Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
ui.c Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
uidisplay.c Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
uimedia.c Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
utils.c PS3/PSL1GHT build fix 2022-02-12 12:32:54 +01:00
utils.h Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
windres.rc Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00
ylwrap Revert "Revert "Update to Fuse 1.6.0 and libspectrum 1.5.0"" 2021-04-10 15:34:37 +02:00

The Free Unix Spectrum Emulator (Fuse) 1.6.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 Mac OS X, 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, 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
<http://sourceforge.net/p/fuse-emulator/discussion/>.

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

Unix, Linux, BSD, etc.

Required:

* X, SDL, svgalib or framebuffer support. If you have GTK, you'll get
  a (much) nicer user interface under X.
* libspectrum: this is available from
  http://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 http://fuse-emulator.sourceforge.net/ for details.

Mac OS X

* Either the native port by Fredrick Meunier, or the original version
  will compile on OS X 10.3 (Panther) or later.
* On Mac OS X 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:

http://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
http://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,
http://lists.sourceforge.net/lists/listinfo/fuse-emulator-devel
and the Fuse project page on SourceForge,
http://sourceforge.net/projects/fuse-emulator/

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>
27th February, 2021