The Free Unix Spectrum Emulator (Fuse) 0.6.1.1 ============================================== Given the current proliferation of DOS/Windows Speccy emulators, I decided it was time to redress the Unix balance a bit. Therefore, here is Fuse (the Free Unix Spectrum Emulator), version 0.6.1.1. What Fuse does have: * Working 16K/48K/128K/+2/+2A/+3 Speccy, Timex TC2048/TC2068 and Pentagon 128 emulation, running at true Speccy speed on any computer you're likely to try it on. * Support for loading from .tzx files. * Sound (on systems supporting the Open Sound System, something like OpenBSD or Solaris's /dev/audio, or SDL). * Kempston joystick emulation. * Emulation of some of the printers you could attach to a Spectrum. * Support for the RZX input recording file format, including `competition mode'. What Fuse doesn't have: * Emulation of any other peripherals (bar the tape deck) * ... What you'll need to run Fuse: * A version of Unix with any of X, svgalib, framebuffer or SDL support installed. If you have GTK+, you'll get a nicer user interface under X. * libspectrum: this is available from http://www.srcf.ucam.org/~pak21/spectrum/libspectrum.html * If you want +3 support, you'll need John Elliott's lib765 installed; this is available from http://www.seasip.demon.co.uk/Unix/LibDsk/ If you also have libdsk (from the same location) installed, you'll also get support for extended .dsk files (see 'THE .DSK FORMAT' section in fuse(1) for more details on this). * Other libraries will give you some extended functionality: * libgcrypt: the ability to digitally sign input recordings. * 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 up to version 0.5.0, note that the external utilities (tzxlist, etc) are now available separately from Fuse itself. See http://www.srcf.ucam.org/~pak21/spectrum/fuse.html for details. Building Fuse ------------- To compile Fuse (see below for OS X instructions): $ ./configure There are now some options you can give to configure; `configure --help' will list them all, but the most important are: --with-fb Use the framebuffer interface, rather than GTK+. --with-svgalib Use the SVGAlib interface. --without-gtk Use the plain Xlib interface. If glib is installed on your system, Fuse will use this for a couple of things; however, it isn't necessary (unless you're using the GTK+ interface, as GTK+ depends on glib). If you're having problem with your glib setup, you can use the `--without-glib' option to `configure', which will use some simple replacement routines. Another useful option is `--with-local-prefix=DIRECTORY' which allows you to specify that you have some the the libraries needed by Fuse in `<DIRECTORY>/lib' and the necessary header files in `<DIRECTORY>/include'. If you specify the `--prefix' option to tell Fuse to install itself somewhere other than in /usr/local, that directory will automatically be searched as well. Then just: $ make (or `gmake' if that's what GNU Make is called on your system) and then $ make install if you want to place Fuse into the main directories on your system (under /usr/local by default, although you can change this with the --prefix argument to `configure'). You'll probably need to be root to do this bit. Once you've got Fuse configured and built, read the man page :-) Building Fuse on OS X --------------------- It is possible to build and run Fuse on OS X by using the native Cocoa port by fredm@spamcop.net. This comes as a set of ProjectBuilder projects for lib765, libdsk, libspectrum and fuse itself. Directly compiling the Unix version of Fuse on Mac OS X is possible, but would require some porting (there are at least issues with linking the getopt files). Closing comments ---------------- If you have any bug reports, suggestions or (particularly appreciated!) patches for Fuse, mail them to me at pak21-fuse@srcf.ucam.org. For more general Speccy related discussions, visit the Usenet group `comp.sys.sinclair', but do read the FAQ ( http://www.sinclairfaq.com/cssfaq/index.html ) first! Fuse has its own home page, which you can find at: http://www.srcf.ucam.org/~pak21/spectrum/fuse.html or the latest version should be available from the World of Spectrum ( http://www.worldofspectrum.org/ ) FTP site: ftp://ftp.worldofspectrum.org/pub/sinclair/emulators/unix/ Finally, if you're interested in working on Fuse, some documents which may be useful (information on internals, etc) are in the hacking/ directory. Philip Kendall <pak21-fuse@srcf.ucam.org> 30 September 2003 $Id: README,v 1.32.4.3 2003/09/30 11:41:26 pak21 Exp $