About... zxsp

zxsp with all the debugger windows open

zxsp is a simulator for the Sinclair ZX Spectrum, Sinclair ZX81, Jupiter ACE and, in the near future, Timex Sinclair home computer families from the 80's of the last century for Mac OSX. Versions for classic MacOS and old versions of Mac OS X are also available from the download page.

Loading Atic Atac from Tape
 zxsp simulates the black&white models ZX80 and ZX81, the Jupiter Ace, the ZX Spectrum models with 16K and 48K ram, the Spanish clone from Inves, the +128, +2, and the +2A/+2B including the Spanish and French localised versions. If you still own one of the emulated machines and find that the simulation does not match the original, you are welcome to contact me for further improvement. Just keep the original thing ready for testing. :-)

Manic Miner – One of my favourite games
zxsp can load from and save to a built-in virtual tape recorder or a real-world cassette recorder or a real-world computer. It also can dup real-world cassette tapes to ".tap" files or vice versa.

Screenshot from the Sound Tracker scene demo
zxsp supports ".sna" and ".z80" snapshot files, ".tap", ".tzx", ".80", ".81", ".o", ".p" tape files, ".scr" and ".gif" animated screenshots, excellent sound, precise screen and border effects, joysticks, a virtual tape recorder and virtual keyboards.

Space Invades on the ZX80
zxsp comes with a debugger with register edit for the main chips, single stepper and memory disassembly. The machine can be throttled down to 1 Hz or overdrived to 20 MHz cpu clock.

Animated GIF created with zxsp
The latest versions of zxsp require Intel Macs. They are compiled for Mac OS X 10.6 (Snow Leopard), Mac OS X 10.7 (Lion), Mac OS X 10.8 (Mountain Lion) and Mac OS X 10.9 (Mavericks). Versions for classic MacOS and old versions of Mac OS X are still available from the download page.


  1. zxsp needs to be improved, there's no option to disable instant loading of regular header/data blocks.

    1. for the current tape:
      open tape recorder window: CMD-"T" and right-click for context menu
      Or change the default settings:
      in preferences CMD-","

  2. Thanks the emulator looks awesome! Will it be able to connect to the recreated zx spectrum bluetooth keyboard?

    1. Hi,

      I’ve got one of these - bought it from Amazon for £50 (The price fluctuates a lot).

      SUMMARY: ZXSP does work with QWERTY mode (Layer B) once unlocked, but really requires support for Game Mode (Layer A)

      Sadly the tablet and web app has been taken offline but I knew this before I bought it … It would be wonderful for it to be properly supported under ZXSP in the game mode :-)

      Unlocking QWERTY mode will be a problem for this keyboard without the App but there is an easy way to run the Javascript to fix this stupid locked mode [8]. It’s a pity, but not entirely surprising. It works ok in this QWERTY mode, but it’s not as good as it could be.

      The Full User Guide has some information about the two modes - game and QWERTY [4] - but not enough to really code for it. (But see [8] - although I wonder if it’s accurate - see below).

      ZXSP does work with QWERTY mode, but because the two shift keys are overloaded in QWERTY mode, I don’t think this is going to be ideal for Spectrum games. Additionally SYMBOL-SHIFT Q, W, E generate two keys (most of the time) rather than SYMBOL-W key-combos - obviously.

      The game mode is interesting - and uses a unique printable character for each of the keys. I guess this is so that it can interact with the web app (and tablet apps) very easily.

      The keyboard mapping is pretty simple:

      Key Push+Release
      1 ab
      2 cd
      3 ef
      4 gh
      5 ij
      6 kl
      7 mn
      8 op
      9 qr
      0 st
      Q uv
      W wx
      E yz
      R AB
      T CD
      Y EF
      U GH
      I IJ
      O KL
      P MN
      A OP
      S QR
      D ST
      F UV
      G WX
      H YZ
      J 01
      K 23
      L 45
      ENTER 67
      CAP SHIFT 89
      Z <>
      X -=
      C []
      V ;:
      B ,.
      N /?
      M {} See note [6]
      SYMBOL SHIFT !$ See Note [6]
      BREAK SPACE %^

      So when key 1 is pressed, we get an ‘a’ and when released we get a ‘b’.


      P.S. Kio, If you want more info, email me.

      [1] Main link: http://sinclair.recreatedzxspectrum.com/

      [2] Main support link: http://sinclair.recreatedzxspectrum.com/support.php

      [3] Quick Start: http://sinclair.recreatedzxspectrum.com/downloads/recreated_zx_spectrum_user_guide_quick_start_draft_23_i15_v1_0.pdf

      [4] Full User Guide: http://sinclair.recreatedzxspectrum.com/downloads/recreated_zx_spectrum_user_guide_l15_v1_0_3.pdf

      [5] QWERTY Keyboard shortcuts: http://sinclair.recreatedzxspectrum.com/downloads/recreated_zx_spectrum_keyboard_shortcuts_label_draft_2_g15_v1_0.pdf

      [6] There appears to be some conflict here - it might be related to which keyboard you have the Spectrum keyboard selected as - this technical document seems to cover this this … but I didn’t get any difference if I selected ISO or ANSI in my keyboard settings on my Mac http://sinclair.recreatedzxspectrum.com/downloads/recreated_sinclair_zx_spectrum_developer_guide_placeholder_ZX%20Keyboard%20Technical%20Document_a15_v1_1a.pdf

      [7] For recent update customers of the Kickstart see https://www.kickstarter.com/projects/952953995/bluetooth-zx-spectrum-recreating-the-sinclair-zx-s/comments

      [8] set to Layer A. Then open Web browser and go to: archive.org In the search box go to sinclair.recreatedzxspectrum.com. The code to unlock it is relatively trivial.

    2. http://sinclair.recreatedzxspectrum.com/downloads/ZX%20Keyboard%20Technical%20Document%202015_05_13.pdf

    3. i'll see what i can do.
      when i visited the kickstarter page it was all about refund... :-/
      the problem is that zxsp is currently not very stable and i hesitate to release a new version, but its now for such a long time i could do it anyway.
      the "game" mode of the recreated keyboard is a little bit odd.
      Kio !

  3. Thanks for a great emulator! I just finished a full disassembly of Space Raiders, using zxsp. The graphical memory really helped to speed things up!
    My wish list would help future disassemblies:
    - decimal view in the debugger
    - export disassembly from debugger (now I used ZX Spin on a PC)
    - export of graphical elements (sprites, UDG) from memory to bmp or png, or copy to clipboard so I can paste in a Word file.

    But thanks for the great emulator already!

    1. When i work on the memory views again, i will take this into account. Currently they are a little bit broken, especially the disassembler view, and it probably won't be fixed in the next version. So i don't know whether the next version is a good choice for you. :-) But it will have rzx recording/playback. hmm, hopefully.

  4. Hi there.. I need some help, I've been trying to run this program: http://www.boriel.com/wiki/en/index.php/ZX_BASIC:Snake.Bas but when I get to line 71 I can't seem to input the DIM command, I get a question mark right after the udg declaration... Do I need to alter the command to enter it in to your emulator? Thanks!

    1. Hi Peter. The program is no ZX Spectrum Basic. maybe it's Beta Basic, a commercial add-on to the native Spectrum Basic, but i don't know. Take a look at http://www.worldofspectrum.org/sinclairbasic/

    2. Thanks Gunter, it helps to know that it's not me that can't input the commands correctly! :-)

  5. This comment has been removed by the author.

  6. For the next beta release add also a built-in POKE editor and support for TR-DOS, Pentagon, ZS Scorpion and Didactic Compact.

    The disassembler is a bit complex to alter the RAM values because of the hexadecimal algorithm. With the POKE editor changing the RAM values are much easier due to the decimal algorithm from BASIC, making game trainers a breeze.

  7. Hi, the keyboard does'nt respond in +2, +3 and +2A models. Any idea of what can happen? I use OSX El Capitan. Thanks.

    1. I can't test it on El Capitan. It works on my version of OSX. I can't imagine why the +2/+2A/+3 keyboard do not work while other do. We should investigate this further.

    2. i have updated to Sierra and tested the keyboards again.
      they work for me.
      If your problem persists, please contact me with email.
      thanks, Kio !