fuse-libretro is an work in progress port of the Fuse Unix Spectrum Emulator to libretro. It's being developed on Windows with MinGW (32 bits) and tested on RetroArch 1.0.0.3 frontend.
The only emulated machine for now is the ZX Spectrum 48K. The port correctly loads and runs some games I have around.
The core options available on the frontend are:
- Tape Fast Load (enabled|disabled): Instantly loads tape files if enabled, or disabled it to see the moving horizontal lines in the video border while the game loads
- Tape Load Sound (enabled|disabled): Outputs the tape sound if fast load is disabled
- Speaker Type (tv speaker|beeper|unfiltered): Applies an audio filter (libretro should allow for audio filters on the frontend)
- AY Stereo Separation (none|acb|abc): The AY sound chip stereo separation (whatever it is)
- Transparent Keyboard Overlay (enabled|disabled): If the keyboard overlay is transparent or opaque
- Time to Release Key in ms (100|300|500|1000): How much time to keep a key pressed before releasing it (used when a key is pressed using the keyboard overlay)
There are seven types of joysticks emulated:
- Cursor
- Kempston
- Sinclair 1
- Sinclair 2
- Timex 1
- Timex 2
- Fuller Joystick
Fuse allows for two joysticks only so it only users one and two can choose their joystick types via the input configuration on the frontend. Actually all users can choose their joystick types, but only users one and two can use theirs in the emulation.
Keyboard is not being emulated right now, but it's on my TODO list. If you need to press keys in a game (i.e. to choose the joystick type) use the keyboard overlay, which is displayed by pressing select on the controller. Don't play games where you have to write a lot yet, nor use this core to write a program for the ZX Spectrum.
Fuse can load a number of different file formats. Fro now, fuse-libretro only loads tzx
, tap
, and z80
files. This decision is arbitrary, so feel free to bug me to add other extensions. Please do so via issues here on GitHub.
Not working yet.
After compiling and copying fuse_libretro.(dll|so)
to the correct place in you frontend folder hierarchy:
- Compile fuse-libretro
- Copy the resulting
fuse_libretro.dll
(orfuse_libretro.so
if you manage to compile it under Linux) into thecores
folder of your libretro frontend - Copy the
fuse_libretro.info
file into the same folder as the previous step - Create a
fuse
folder under thesystem
folder - Create
lib
androms
subfolders insidefuse
- In
lib
, copy all theszx
files found in thelib
folder from a Fuse distribution - In
roms
, copy all the files found in theroms
folder from a Fuse distribution - Copy your games into the
contents
folder - Profit!
Versions that are being used to build and test fuse-libretro:
- Fuse 1.1.1
- libspectrum 1.1.1
- zlib 1.2.8
- bzip2 1.0.6
- Handle a real keyboard
- Support save states
- Emulate other machines
- Have an option to hide the video border so the game can occupy the entire screen
- Open up issues to add other items to this list
Many. Open issues or send pull requests.
GNU GPLv3.0