Es.pectrum is an emulator of Spectrum machines. Actually, it does emulate 52 different models. It is also capable of emulating additional hardware, different options and configurations, etc.

This manual is always for the most current version of the emulator.



Legal stuff:

  1. I do not assume any responsibility.
  2. You can do whatever you want with this program.
  3. All product names, logos, trademarks and registered trademarks are property of their respective owners.

Installation and use:


This emulator does not need any installation, simply unzip the contents of the ZIP file in a folder and proceed to execute it.

Additionally, the program supports open files through the command line, so the user can associate file extensions with it, use it with launchers, etc.

Snapshots & cartridges:

A snapshot file is a complete state of the machine (including memory, hardware status, and sometimes other things like disc content, etc.) along with metadata about the emulated machine.

They can be open from the menu, or simply dragged over the window.

Cartridges can be considered as snapshots, they change the machine state at insertion.


An actions file is a snapshot together with additional data describing the events that happened after that moment. It is useful to save tutorials or play sessions in a more compact way than a video.

They can be open from the menu, or simply dragged over the window.


A Tape file is the representation of the digital data contained in an audio tape, used as storage medium.

They can be open from the menu, or simply dragged over the window.

It is also supported direct audio capture from the PC soundcard.


A disc file contains the user data of a physical discette, along with some of its geometric information.

The emulator works with disc images in memory, with the option to dump them back when extracted. You also have the option to insert them write protected.

They can be open from the menu, or simply dragged over the window; they always mount on the first unit.


The emulator allows video recording, registering exactly what is showed on the emulated screen and the audio.

This option requires Windows 7 or superior, and a computer capable of real time video compression. If the option doesn't appears on a N edition, the "Media feature pack" from Microsoft should be installed.


The emulator allows mapping each PC key to any on the Spectrum, and optionally also Caps shift and Symbol shift.

By default, the emulator maps the keys to their equivalents, more or less. Numbers, letters, space and enter are in the same position, both Control are Symbol and both Shifts are Caps.

There are also keys that, for convenience, cause more than one keystroke: Tab is Caps + Symbol (extra), Backspace is Caps + 0 (delete), and also comma and dot are Symbol + N y M respectively.

In the case of the Orel there extra keys, with their names between parentheses.

In addition, you can emulate a joystick if you do not have one connected to the PC ("keys" in square brackets), by default PC cursors are used for directions and the numeric keyboard 0 and enter for fire 1 and 2.


The emulator recognizes any joystick / pad that Windows recognizes, by directly mapping the X, Y axis (or alternatively the first POV) and the first two buttons to the emulated joystick (Cursor, Sinclair 1, Sinclair 2, Fuller, Kempston), and converting the signal to digital if needed.


The emulator is capable of emulating a Kempston mouse. To be able to handle the pointer in the emulated Spectrum the pointer must be captured, which is done by clicking with the right button on the emulated screen. To release it, just press the escape key.

Light guns:

The emulator is capable of emulating a Gunstick or Lightgun (Sinclair, Trojan) light gun using the mouse. The instructions are the same as in the previous case.

In the case of the Gunstick, it connects to Kempston, Sinclair 1 (by specifically selecting them) or Sinclair 2 (by default) depending on the joystick option.

Additionally, it will show a special cursor on the screen to see its current position.

Mass storage:

The emulator is capable of emulating several mass storage devices. You can use both raw images and HDF files that include geometric information of the disc.

Given the size of these files, its information is not stored in the snapshots, but a link to the file that contains it.


The emulator is capable of emulating various MIDI interfaces, as well as redirecting their inputs and outputs to real or virtual devices connected to the PC.

For quality issues and interference with the volume control, the software synthesizer integrated in Windows is not recommended. Personally I recommend VirtualMIDISynth with the SoundFont of your choice.


While windowed, the following elements are available:


At the top there is the title bar, typical of every Windows application.

It includes the application title and also the selected Spectrum model, current tape file and current disc file.

Finally, there are the icons for minimize, maximize and close window, with the usual behaviour except for maximize: it is used to make the emulator go full screen, which can be reverted pressing Escape.



Under the menus we have the bar, which is divided into three sections:


This section represents the emulated computer screen, rendered with its selected video options.

Allows for file dropping of snapshots, actions, tapes, discs and cartridges.


In this window you can choose the hardware options to emulate. The acceptance of them will cause a reset of the emulation. The options are divided into several tabs:


In this window you can choose the options of the emulator. The acceptance of them will not cause a reset.

Advanced use:

External ROMs:

The emulator includes all the necessary ROMs for emulation in its own executable.

However, they can be replaced externally by putting a file with a specific name and no extension in the emulator folder. Each of these files contains the dump of all its ROMs, in their traditional order.

Computer ROMs:

ComputerNameSize (KB)
16, 48, 48 NTSC, Leningrad-1, Spec256 48n4816
48+ esn48p16
48 seBeckman16
48+ arArab116
128, Spec256 128n12832
128+ esn128p32
+2 esp2e32
+2 frp2f32
+2 arArab316
+3 / +2A/B 4.0i4064
+3 / +2A/B 4.0 ese4064
+3 / +2A/B 4.1i4164
+3 / +2A/B 4.1 ese4164
+2A arArab216
+3e, +2ep3Ei64
+3e es, +2e esp3Ee64
Pentagon, Pentagon 512Penta32
Pentagon esPentaE32
Pentagon 1024 SL v2.xP102464
Scorpion, Scorpion 256 Turbo+Scorp64
Tk95 ptTk95b16
Tk90 ptTk90b16
TC 2048Tc204816
TS 2068 / TC 2068Tc206824
Komputer 2086Uk208624
Tk95 spTk95s16
Tk90 spTk90s16
Orel BK-08Orel16
Dubna 48KDubna16
ATM-Turbo (v1.03rs)ATM164
ATM-Turbo 2+ (v1.07.13)ATM264*
Alf Tv Game (Elf)Elf32*

Peripheral ROMs:

PeripheralNameSize (KB)
Text font ATM2ATMf2
DivMMC (ESXDOS 0.8.8)DivMmc8
Multiface 1Mf18
Multiface 128 (v87.2)Mf1288
Multiface +3 (v3.C)Mf38
Beta disc (v3.0)Beta484
Beta disc plus (v4.12)BetaPlus16
Beta disc 128 (v5.04)Beta12816
Cbi 95Cbi9516
Ids 91Ids9116
Interface I (v2)If116


The debugger is a floating, resizeable window, and always on top of the emulator. As long as it is open, the emulator works in debugging mode.

When executing code, it acquires some transparency to indicate unavailability and to be able to see what it is underneath. Execution can always be stopped with the Escape key.

When not executing code, the current video position will be marked on the Spectrum screen with two red lines.

The window consists of several sections:


This section shows the value of the different Z80 registers, in red if they were modified since the last operation. Their value can be modified directly.

Furthermore you can see the status of the different flags. Double clicking on them changes their value.

Finally, if you are using decimal mode, the values ​​of the registers show their high and low parts separated if the mouse is hovered over it.


This section represents a memory disassembly, by default from the PC register.

Rows with font in red indicate they have a breakpoint; the one for current PC value has also a bisque background. Double-clicking on a row fills in the data to set a breakpoint in that address.

Below are the following buttons:


This section allows you to define breakpoints. Each one has the following properties:

The buttons down below are for add, remove and edit a breakpoint. A double click over an existing one also edits it, and they can also be dragged to reorder the list.

The expression determines which addresses should cause breakpoint. Its syntax is:

Notes on semantics:



Hardware registers:

Here the value of some hardware registers is shown; again, in red those that have changed.


This window represents a memory dump. The value of each position can be changed by writing a new value on its cell.

Below are the following buttons and options:

Furthermore, while in debugging mode, certain special Z80 instructions are supported:

Formato ESP:

The Snapshot ESP format was born from the need to represent everything necessary for emulation (including tapes and discs) in a single file and at the same time to be easily manipulated by the advanced user.

Thus each ESP file is nothing more than a ZIP file, which contains other files inside. In this way it can be manipulated with any compressor application.

There are two types of files inside of it: text (INI, readable and editable with any text editor) and data dumps (other extensions, usually BIN).

There are always a "Config.ini" file (hardware configuration of the emulator), a "Hardware.ini" one (state of said hardware) and "RAM.bin" one (memory dump) present.

Each line in the text files is like "A=B", meaning propery A has value B. Inside "Hardware.ini", the Z80 registers are the "Z80_xxx" properties.

It is not intended to establish a new format, but to offer a comfortable way for the user to represent complete manipulable states. For this reason, it is not detailed in depth.



More information:



© 2002- HabiSoft.