This how-to explains how to download and install the Free Unix Spectrum Emulator (FUSE) on the default Xandros Linux distro. The information comes from a post I made on the same subject : here.
This procedure is not for newbies. If you are unfamiliar with downloading and compiling source code, please do not attempt it. I am not responsible if you damage your eee PC software setup.
Project home page : fuse-emulator.sourceforge.net
Location of just about every Spectrum program ever written : www.worldofspectrum.org
- You need the extra Debian repositories setup (see wiki entry).
- You need the g++ compiler installed (see wiki entry).
First, create a working directory (eg /home/user/speccy). I assume here your home directory is /home/user; that is the default. Download the three parts of the emulator source from
ftp://ftp.worldofspectrum.org/pub/sinclair/emulators/unix/libspectrum-0.3.0.1.tar.gz
ftp://ftp.worldofspectrum.org/pub/sinclair/emulators/unix/fuse-utils-0.8.0.1.tar.gz
ftp://ftp.worldofspectrum.org/pub/sinclair/emulators/unix/fuse-0.8.0.1.tar.gz
Alternate Dowload Site:
http://sourceforge.net/projects/fuse-emulator/files/libspectrum/0.3.0.1/libspectrum-0.3.0.1.tar.gz/download
http://sourceforge.net/projects/fuse-emulator/files/fuse-utils/0.8.0.1/fuse-utils-0.8.0.1.tar.gz/download
http://sourceforge.net/projects/fuse-emulator/files/fuse/0.8.0.1/fuse-0.8.0.1.tar.gz/download
Copy the downloaded files into your /home/user/speccy directory (not My Documents!).
The following steps all take place inside a shell window. Type CTRL-ALT-T to get one.
Now unzip the downloaded files.
cd /home/user/speccy for file in *.tar.gz do tar xzf $file done
Alternatively untar each of the three files one at a time using the following commands:
tar xzf fuse-utils-0.8.0.1.tar tar xzf fuse-0.8.0.1.tar tar xzf libspectrum-0.3.0.1.tar
N.B. There will be no screen output as the files are extracted!
You now have to correct an error in one of the source files.
cd fuse-0.8.0.1/ui/scaler
edit scalers.c and change line 43 from
#define ABS(a) ((x)>=0?(x):-(x))
to
#define ABS(x) ((x)>=0?(x):-(x))
OK, now build and install the spectrum library first:
cd /home/user/speccy/libspectrum-0.3.0.1/ ./configure make sudo make install
Next, the fuse utilities (I think you can skip this step if you only want to run Speccy games on it):
cd /home/user/speccy/fuse-utils-0.8.0.1/ ./configure make sudo make install
Finally, the emulator itself:
cd /home/user/speccy/fuse-0.8.0.1/ ./configure make sudo make install
If it complains about missing Xlib.h, you should install libx11-dev. Execute the following command, and repeat the step that failed compilation (from and including ”./configure”)
sudo apt-get install libx11-dev
The last thing you need to do is to create links from /usr/lib to /usr/local/lib for the (compiled) Spectrum libraries :
cd /usr/lib sudo ln -s /usr/local/lib/libspectrum.so.5 libspectrum.so.5 sudo ln -s /usr/local/lib/libspectrum.so libspectrum.so
Alternatively, if you expect to compile other libraries, you could update the configuration of the library loader (ld.so) by adding either one line to /etc/ld.so.conf or (better, since it won't get overwritten by updates) adding a file with an extension of '.conf' to the directory /etc/ld.so.conf.d. You just need one line giving the new directory to search for shared objects:
sudo echo /usr/local/lib>/etc/ld.so.conf.d/locallib.conf
Don't forget to tell the loader about the new configuration by calling ldconfig
sudo ldconfig
Now find out all about what you have installed.
man fuse
(Press Q to exit the manual pages)
(Or type “fuse” to see it working. You can resize the window, but you should move it to the top left hand corner of the screen first. The best it'll do is 2×2 which is just right for the eee display. Press F1 to see the FUSE menu, from where you can specify machine type, load Speccy game files, etc.)
As long as it starts up, you can remove the /home/user/speccy directory (unless you fancy hacking with the source files a bit).
Jon Bradbury 27 Dec 2007