Ingame screenshot
Download(s) (archive)
Developer(s) Rlyeh
Hermes, Seleuco & Metalbrain
Version 1.7
Status Released

GP2Xpectrum is a Sinclair ZX Spectrum emulator for the GP2X by Hermes. It is based on fZX32 for the GP32 by Rlyeh.

TZX support is not at 100% compatability but all valid Z80 files should work.

The source code for this emulator is included in the distribution.



This emulator features:

As of v1.7:


  • Full tzx support. New tape code for tap and tzx formats.
  • Added Tape sound emulation.
  • "fast loading" option to disable speed emulation, tape sound, and contended mode while the game is loaded.
  • "flash loading" option to flashload tape blocks when possible.
  • "edge loading" option to accelerate game loaders dynamically.
  • "Tape Auto Play/Stop" option to play/stop the tape automatically. Best for multilevel games.
  • A yellow play label is shown on the screen while the tape is playing; if the label is green, the emulator has detected a loader and is applying the "edge loader" algorithm.
  • Auto "full screen off-on" when the tape is playing.
  • Added a Tape browser to view/select tape blocks, play/stop the tape manually and to change the tape without resetting the speccy.
  • Added the possibility to select the file to load from a zip file.
  • Resized the program selection screen to allow longer file names and view the file extensions.


  • Added reset for +2A mode.
  • Fixed a bug when loading .z80 files saved in +2A/+3 mode (the ROM wasn't properly selected).
  • To improve performance, the battery won't get polled on F100 models when battery icon is inactive, and it gets polled less frequently when active.
  • Replaced the text "ROM LIST" with "PROGRAM LIST", and "+3 disc" with "+3 disk".
  • Updated documentation.


  • Compiled with profiling option.

Previous to v1.7:

  • Full speed emulation with sound at 133mhz with monophonic sound at 44KHZ (support of beeper and AY)
  • Allows .z80, .sp, .tap, .tzx, .sna and .dsk (+3 disks - including save states) ZX Spectrum formats
  • Files can be compressed in BZIP2 or ZIP (the first file with valid extension in the zip will be loaded)
  • Allows save states (.sav)
  • Supports TV-Out
  • Virtual keyboard allows assignment keys to the GP2X controls
  • Emulates ZX Spectrum joysticks
  • Full screen mode (removes the border)
  • Battery power monitor
  • Sleep mode
  • POKE manager
  • Photo mode (screen shots)
  • Simulation of the disc LED by means of the battery LED
  • MMU Hack: After applying Squidge's hack, Metalbrain's been able to reduce CPU speed needs to 120MHz (frameskip 1)/166MHz (no frameskip)

Installation And Use

ZX Spectrum game images should be put in: roms/spectrum

The emulator file gp2xpectrum.gpe can go anywhere on your SD card.

On running the emulator a list of games available will appear. Select a game and press the A button. If the game is a tape image (tap or tzx file) the 128K ZX Spectrum start screen will appear and pressing B will load the game. If the game is a snapshot (sna or z80 file) the game will run from the snapshot start point.

Menu Controls

  • X - Select game or option
  • START - Compress all game files (except those already compressed as ZIP files) with BZIP2
  • SELECT - Exit emulator and return to GP2X menu

Game Controls

  • Vol+/- - Adjust volume
  • SELECT - Access configuration menu
  • START - Activate virtual keyboard
  • L + SELECT - Takes a capture of screen which will be placed in the folder roms/spectrum/img
  • Joystick, A, B, X and Y - Can be assigned to values using the virtual keyboard

When a Joystick is being emulated, the A button is assigned as the joystick fire button.

Virtual Keyboard

Press START to activate and de-activate the virtual keyboard.

In the virtual keyboard the L and R buttons are for CAPS SHIFT and SYMBAL SHIFT respectively, and the X button is used to select the keyboard button to input.

To assign a button or joystick direction to a key:

  1. Press START to activate the virtual keyboard
  2. Highlight the virtual keyboard key to be mapped
  3. Press the SELECT button and the highlighted key will flash
  4. Input a joystick direction or press a button (A, B, X, L or R) and this direction or button is now mapped to the selected key

In the virtual keyboard, there are 4 special functions included:

  • RESET - To start again. When resetting a choice of ZX Spectrum models to reset to is available (48K, 128K, PLUS2 and PLUS3). Some games will not run on all four models.
  • LOAD - Inputs the command LOAD "" when in 48K mode to load tape images.
  • KEYBOARD/JOYSTICKS - Assign joystick to a standard ZX Spectrum joystick input scheme. The A button is mapped to the joystick fire button.
  • MULTIKEY - Assign a sequence of up to 8 key presses and delete all the programmed keys.To do this select the desired key and press the A button to add this key to the key program.


While in ZX Spectrum emulation press SELECT to activate the configuration menu. Available configuration options are:

  • Full Screen - Remove screen border and stretch playing area to full screen
  • Load Game State - Load game save state
  • Save Game State - Save the state of the play
  • POKE Manager - Enables cheat codes to be entered
  • Photo Mode - Enable or disable ability to take screen shots
  • Sleep Mode - Turn off screen and reduce processor power
  • Battery Icon - Enable or disable battery power monitor icon
  • Save Keyboard Profile - Save keyboard mappings
  • Game Exit - Return to game select menu
  • Return - Return to ZX Spectrum emulation


POKEs are codes that are typically used to implement cheats in games.

The POKE Manager loads the .pok file corresponding to the game (if the file exists) and shows 5 poke options. These can be edited with the A button and implemented with the X button. The .pok file is stored in /saves/ directory on exiting this menu.

The POKE title editor allows the poke names to be edited, allowing up to 29 characters. Pressing ENT in the vitual keyboard to save the name.

The POKE value editor allows the edition up to 10 POKEs which will be fixed by pushing the X button in the Poke Manager. Values less than 16384 are ignored.


  • GP2XPectrum creates a folder called /mnt/tmp using the GP2x NAND memory. This means that GP2XPectrum will not work with firmware systems where the NAND memory has been set to read only (e.g. Cramfs). A hacked copy of the latest version of GP2XPectrum that runs on Cramfs can be found here. This has been fixed from version 1.2b4.

See Also


Bomb Jack in full screen mode
Manic Miner in full screen mode
Personal tools