This article needs some TLC. Read at your own risk.


The ZXSpectrum is a range of models of 8-bit computers developed by Sinclair. It was first released in April 1982, and the last model was discontinued in 1992.

During development, the ZX Spectrum was referred to as the ZX81 Colour and the ZX82. The rename to Spectrum was done to highlight the machine's new color capabilities.

The Spectrum was released as eight different models with different capabilities for their budget, going from the entry-level model only having 16KB RAM to the high-end +3 with 128KB RAM and built-in floppy disk drive.

Model list:

  • ZX Spectrum 16K
  • ZX Spectrum 48K
  • ZX Spectrum+
  • ZX Spectrum 128
  • ZX Spectrum+2
  • ZX Spectrum+2A
  • ZX Spectrum+3
  • ZX Spectrum+2B
  • ZX Spectrum+3B

The Spectrum was a cultural phenomena to British culture. The Spectrum's creator, Clive Sinclair, was knighted in 1983 for his services to the British industry. Spectrum game development continues to this very day.

This system scrapes metadata for the “zxspectrum” group and loads the zxspectrum set from the currently selected theme, if available.

  • Emulator: RetroArch
  • Folder: /userdata/roms/zxspectrum
  • Accepted ROM formats: .tzx, .tap, .z80, .rzx, .scl, .trd, .zip, .7z

No ZXSpectrum emulator in Batocera needs a BIOS file to run.

Place your ZXSpectrum ROMs in /userdata/roms/zxspectrum.

RetroArch (formerly SSNES), is a ubiquitous frontend that can run multiple “cores”, which are essentially the emulators themselves. The most common cores use the libretro API, so that's why cores run in RetroArch in Batocera are referred to as “libretro: (core name)”. RetroArch aims to unify the feature set of all libretro cores and offer a universal, familiar interface independent of platform.

RetroArch configuration

RetroArch offers a Quick Menu accessed by pressing [HOTKEY] + South button (B SNES) which can be used to alter various things like RetroArch and core options, and controller mapping. Most RetroArch related settings can be altered from Batocera's EmulationStation.

Standardized features available to all libretro cores: zxspectrum.videomode, zxspectrum.ratio, zxspectrum.smooth, zxspectrum.shaders, zxspectrum.decoration, zxspectrum.game_translation

ES setting name batocera.conf_key Description ⇒ ES option key_value
Settings that apply to all cores of this emulator
GRAPHICS API zxspectrum.gfxbackend Choose which graphics API library to use. Vulkan is better, when supported.
⇒ OpenGL opengl, Vulkan vulkan.
AUDIO LATENCY zxspectrum.audio_latency In milliseconds. Can reduce crackling/cutting out.
⇒ 256 256, 192 192, 128 128, 64 64, 32 32, 16 16, 8 8.
THREADED VIDEO zxspectrum.video_threaded Improves performance at the cost of latency and more video stuttering.
⇒ On true, Off false.

libretro: fuse

libretro: fuse configuration
ES setting name batocera.conf_key Description ⇒ ES option key_value
Settings that apply to all systems this core supports
ZOOM (HIDE BORDERS) global.fuse_hide_border Hides borders on many games. Some games used the borders.
⇒ Off disabled, On enabled.

All other configuration must be done using RetroArch's Quick Menu ([HOTKEY] + South button (B SNES)).

There are seven types of joysticks emulated:

  • Cursor
  • Kempston
  • Sinclair 1
  • Sinclair 2
  • Timex 1
  • Timex 2
  • Fuller Joystick

Users 1 and 2 can choose any of the joysticks as their device types, user 3 can only choose the Sinclair Keyboard.

Batocera RetroPad Joystick
South button (B SNES) Fire
East button (A SNES) Fire
West button (Y SNES) Fire
North button (X SNES) Up arrow
[L1] Return
[R1] Space
[SELECT] On-screen keyboard

There are some conflicts in the way the input devices interact because of the use of the physical keyboard keys as joystick buttons. For a good gaming experience, set the user device types as follows:

  • For joystick games: Set user 1 to a joystick type. Optionally, set user 2 to another joystick type (local cooperative games). Set user 3 to none.
  • For keyboard games: Set users 1 and 2 to none, and user 3 to Sinclair Keyboard. You won't have any joystick and the embedded keyboard won't work, but the entire physical keyboard will be available for you to type in those text adventure commands.

What does the following part even mean?

If you set a joystick along with the keyboard, the joystick will work just fine except for the bindings to Return and Space keys, and the keyboard won't register the keys assigned to the Cursor joystick, or to the [L1] and [R1] buttons for all other joystick types.

Here are the default ZXSpectrum's controls shown on a Batocera RetroPad:

For further troubleshooting, refer to the generic support pages.

  • systems/zxspectrum.txt
  • Last modified: 16 months ago
  • by atari