fondo de menu

${PROGRAM_PICTURE_ALT} Current version: 4.0.0

FBZX is a Sinclair Spectrum emulator, designed to work at full screen using the FrameBuffer or under X-Windows. Its main features are:

  • emulates acurately the Original spectrum (both issue 2 and issue 3), the classic 128K, the Amstrad Plus 2, the Amstrad Plus 2A and the Spanish 128K. This include screen, keyboard and sound (both speaker and AY-3-8912 chip).
  • Screen emulation is extremely acurate, so it can emulate border efects and even atribute efects.
  • Supports Z80 snapshots, both loading and saving, and loading .SNA snapshots.
  • Supports TAP and TZX (both read and write) tape files, supporting normal speed loading and fast speed loading.
  • Emulates joysticks: kempston, cursor and sinclair.
  • Emulates Kempston Mouse.
  • Emulates the Interface I and Microdrive.
  • Emulates the ULAPlus
  • Based in a new, fully free, Z80 emulator (Z80Free).
  • Is distributed under GPLv3 license.

FBZX uses the SDL libpulse0 and libasound2 libraries, so you need them to be able to run the emulator (unless you recompile it; in that case you can choose which of them to use).

Download zone

GIT Repository

Package for Debian sid 64bit (109 Kbytes)

Package for Debian sid 32bit (122 Kbytes)

Package for Debian stretch 64bit (111 Kbytes)

Package for Debian stretch 32bit (119 Kbytes)

Package for Ubuntu xenial 64bit (109 Kbytes)

Package for Ubuntu xenial 32bit (110 Kbytes)

Package for Ubuntu bionic 64bit (110 Kbytes)

Package for Ubuntu bionic 32bit (120 Kbytes)

Package for fedora28 64bit (123 Kbytes)

Package for fedora28 32bit (126 Kbytes)

History of versions

  • version 4.0.0 (2018/08/11)
  • Now fullscreen works fine with Wayland (ported to SDL2)
  • version 3.9.1 (2018/05/01)
  • Removed unused printfs
  • version 3.9.0 (2018/05/01)
  • Added letter and number key handling for file selector (thanks to Adrian Castravete)
  • version 3.8.0 (2017/03/06)
  • Updated the Z80 emulator and the screen emulation, which now is so precise that can run flawlessly the SHOCK demo both in 48K and +3 mode
  • Removed the code that removed the DC in the audio output, because the sound was really ugly
  • version 3.7.0 (2017/03/04)
  • Now the interrupt line is kept low exactly 32tstates
  • Now the EI as prefix works fine
  • version 3.6.0 (2017/02/14)
  • Fixed timing bug
  • version 3.5.0 (2017/02/13)
  • Even better adjusted the memory contention
  • version 3.4.0 (2017/02/13)
  • Slightly better adjusted the memory contention
  • version 3.3.0 (2017/02/13)
  • Fixed the Fast Load
  • Now the tape is paused automatically when it reachs the end
  • version 3.2.0 (2017/02/12)
  • Better memory contention
  • Fixed pause block in TZX files
  • version 3.1.0 (2016/12/16)
  • Added Kempston Mouse emulation
  • Added block 30 support for TZX files
  • version 3.0.0 (2015/04/01)
  • Now allows to run in TURBO mode when the tape is playing, and return to NORMAL mode when the tape is paused
  • Sorts the files and folders alphabetically
  • Allows to use fast-load with some parts of TZX files
  • Allows to save data both in TAP and TZX files
  • Allows to do FAST-SAVE in +3 mode
  • Allows to create TZX files
  • New fonts for menus
  • Fixed an stupid bug in the FAST LD_BYTES code that avoided it to work as expected
  • Supports new TZX blocks, like "pause if 48K mode"
  • Refactorized in C++
  • version 2.11.0 (2015/03/31)
  • Allows to play and pause the tape even with the FAST LOAD mode enabled
  • Adds some noise in the tape bit to ensure that the user knows when a program is waiting to load from tape
  • version 2.10.0 ()
  • Fixed CPIR, CPDR, INI, INIR, IND, INDR, OUTI, OTIR, OUTD and OTDR instructions
  • Fixed RETI and RETN instructions to better mimic the original behaviour
  • Big rewrote of the AY-3-8912 code, greatly improving the emulation
  • version 2.9.0 ()
  • Fixed CPIR and CPDR, so now Ant Attack works fine (thanks to Fabio Olimpieri)
  • Now CPIR and CPDR sets the N bit
  • Access to the ULAPLUS registers now produces memory contention, as it should be (thanks to Fabio Olimpieri)
  • Now initializates some registers when loading a .sna snapshot (thanks to Fabio Olimpieri)
  • version 2.8.0 ()
  • Fixed OUTI, OTIR, OUTD and OTDR: now decrements B before doing OUT (thanks to Fabio Olimpieri)
  • Now the snapshot management functions doesn't use so many stack memory (thanks to Fabio Olimpieri)
  • Fixed a bug in screen painting with big endian machines (thanks to Fabio Olimpieri)
  • Fixed key order for Sinclair Joystick #2 (thanks to Fabio Olimpieri)
  • Fixed the Z80 emulator tests for big endian machines (thanks to Fabio Olimpieri)
  • Removed anoying sound when reseting the emulator
  • version 2.7.0 ()
  • Fixed a bug that prevented FBZX to store the current mode
  • Now supports 320x240 mode
  • version 2.6.0 ()
  • ULAPlus support
  • Fixed a little bug in the ROM loading
  • Allows to go to TAP/Snapshots/etc menus from HELP menu
  • version 2.5.0 (2011/04/07)
  • Allows to set POKEs
  • Emulates B&W sets
  • Allows to load and save SCR snapshots
  • version 2.4.3 ()
  • Fixed a bug with the double-scan flag
  • version 2.4.2 ()
  • Fixed a bug with alsa sound
  • version 2.4.1 ()
  • Now will work fine under all 64bit systems
  • version 2.4.0 ()
  • Fixed a bug in SNA loader (thanks to Jose Luis)
  • Added a DC filter in PulseAudio sound, to avoid losing the sound when
  • Added a help message at startup
  • version 2.3.0 ()
  • Added support for PulseAudio
  • Allows to selectively compile the audio backend (useful for Gentoo users)
  • version 2.2.0 ()
  • Several bugfixes in the Z80 emulator, giving a much more accurate
  • version 2.1b ()
  • Directory ROMS in TAR.BZ2 package renamed to SPECTRUM-ROMS to allow FBZX
  • version 2.1 ()
  • Changed the ROM format for compatibility with files in
  • Added new icon (thanks to Paulo Silva)
  • version 2.0 ()
  • 100% Free code (under GPL3) due to a rewriten Z80 emulator
  • Emulates the Spanish 128K (thanks to J. Baltasar)
  • Can use ALSA or OSS to sound output
  • Stores the volume settings
  • Fixed a bug in the sound with some soundcards
  • Can be run from the local directory, without installing in /usr
  • version 1.10 ()
  • Allows to switch between full screen and window mode
  • Added Turbo mode, to load TZX files faster (both thanks to a patch
  • Shows FBZX as window name
  • version 1.9 ()
  • Stores the current mode before exiting, so if you was playing in 128K
  • Allows to show the screen with or without scanline emulation
  • Shows the OSD in the bottom of the screen
  • Clicking on the X button in the window bar closes the emulator
  • version 1.8 ()
  • Fixed a bug when loading .Z80 snapshots
  • Added support for .SNA snapshots
  • Added support for Joysticks
  • Now creates an entry in the GNOME/KDE menus
  • Can load snapshots or tapes from the command line
  • Allows to asociate to it the file extensions .SNA, .Z80, .TAP and TZX so
  • version 1.7 ()
  • Fixed a bug in the creation of 128K snapshots
  • Fixed the memory access ports in 128K mode
  • version 1.6 ()
  • Fixed an stupid bug that can crash FBZX
  • Added support for rotated, 480x640 screens (like PDAs)
  • Direct support for 8, 16, 24 and 32 bpp (more performance)
  • Added contended memory emulation
  • Added support for ',' and '.' keys
  • Added FullScreen mode in XWindows
  • Added a picture with the keyboard layout
  • Added support for computers without function keys
  • Asks for confirmation before exiting
  • Fixed the version number
  • version 1.5 ()
  • Direct compilation under BIG ENDIAN arquitectures (eg. PowerPC).
  • version 1.4 ()
  • Added the ability to create .TAP files and save to them.
  • Added Interface I and Microdrive emulation (read and write).
  • Added emulation of DELETE key.
  • Added emulation of SNOW effect.
  • Fixed a little bug in the fast-TAP loader.
  • Fixed a speed problem when used without sound.
  • version 1.3 ()
  • Added support for more TZX tape files (thanks to Daley Thompson :)
  • version 1.2 ()
  • Added support for TZX tape files.
  • Fixed a bug in the file selector.
  • Added right emulation of register R.
  • Added a digital low-pass filter to enhace the 48K sound.
  • version 1.1 ()
  • Changed the sound system. Now it uses OSS instead the SDL API. This fixes a
  • Now can be used without sound card (run it with '-nosound' parameter).
  • version 1.0.1 ()
  • Very little fixes to remove some innocent warnings during compilation. Thanks
  • version 1.0 ()
  • First public release.