Some general remarks

This is the documentation for `Z80', a Sinclair ZX Spectrum 48/128 emulator. This program turns your PC into a Spectrum. To make you read on...
 The program emulates a Spectrum 48K model 2 or 3 or Spectrum 128K, is highly compatible with the real machines, includes the Interface I, supports Microdrives, tape files, the RS232 channel, '128 sound through internal speaker or Adlib compatible soundcard, able to save and load every Spectrum program directly to and from tape, even able to load speed-saved programs, supporting digital and analogue PC joysticks and four common Spectrum joysticks, Z80 processor emulation including the R register, inofficial opcodes and flags, accurate timing of individual instructions, control over the emulated Spectrum's speed, and all that while requiring only a PC-XT with 512K with CGA, Hercules, EGA or VGA; offering conversion programs to convert between various emulators' Snapshot formats and to read from Disciple and Plus D diskettes, to create .PCX and .GIF files of Spectrum screen dumps, an English manual,...

There is much to tell and explain in this documentation. First of all the emulator itself must run, and uses your PC's resources. It is not really a demanding program, but there are some things that need attention. These technicalities are dealt with in section 2.1.

Some general things about the emulator are explained in section 2.2. If you read 2.1 and 2.2, you'll be able to do most of the things you probably ever want to do. But to exploit all of its possibilities (and oh, it can do so much!), you will really have to read it all.

The Spectrum has a number of ways to communicate with the outside world, like the obvious keyboard and the screen, but also the microdrives, the tape interface, the beeper, the sound chip of the Spectrum 128, the Kempston joystick, and the RS232 channel of the Interface I and Spectrum 128. All these channels can be used to communicate with PC channels in some way; for instance the keyboard is connected to the PC keyboard (sounds obvious) and the tape I/O can be routed to a file, as well as to a physical tape recorder. All these things are explained in the rest of chapter 2. Paragraph 8 of that chapter contains a number of suggestions how to transfer Spectrum programs to the PC.

For our own Spectrums Johan Muizelaar and I built a piece of hardware we called the SamRam (which has nothing to do with the SAM coupe, by the way!). It contains a monitor program and software to make snapshots of programs. It's still very useful and I still use it a lot, although the physical SamRam doesn't work anymore. An explanation of its functions is to be found in chapter 3.

Some things peculiar to the Spectrum, not specific to this program but useful to know are collected in chapter 4. It contains for instance a table of Spectrum keywords and the key combination to get it; unfortunately this information is not printed on standard PC keyboards!

There are some interesting, rather unknown technical facts about the Spectrum that I discovered while debugging the emulator. As much as I could think of is contained in the final chapter. You don't need to read this chapter to use the emulator; if you don't find it interesting then skip it, but I think programmers will like it.

A remark about copyrights. The source files are not public domain, and you may not use them in other PC-based Spectrum emulators. Also, the information in this documentation file, especially the info in the final chapter (except for the file-format info in the final section) may not be used for that purpose. But you're free to use the info for Spectrum emulators for other machines, provided that whenever you do so you should name the source.

For Spectrum software, utilities, other emulators for PC's as well as other computers, and other Spectrum related software, you can call the Spectrum Emulator support BBS in Groningen:
 Tatort BBS Groningen
050-264840
(+31-50-264840)
v22, v22bis, v32, v32bis, MNP2-5, v42, v42bis (300-14400 baud)
At the time of writing the BBS is open 24 hours a day, but this is subject to change. Please try calling between 22:00 and 9:00 local time first.

If you have access to Internet, you can find several Spectrum emulators in a directory of for instance wuarchive.wustl.edu (take a look in .../systems/sinclair and .../msdos/emulators) or nic.funet.fi. And if you want to get in touch with me, my email address is gerton@rcondw.rug.nl.