                   --===comp.sys.sinclair Spectrum FAQ===--
 

                               comp.sys.sinclair  
                           Sinclair ZX Spectrum FAQ   
                                       
                                       
             This FAQ last updated on 2 January 1999 - What's new?
 
               -Maintained by Philip Kendall [pak21@cam.ac.uk] -
                                       
   This document covers information on the Sinclair ZX Spectrum computer and
  questions that appear frequently on the comp.sys.sinclair USENET newsgroup
 [comp.sys.sinclair] . This Frequently Asked Questions (FAQ) document is based
            on the FAQ as previously maintained by Marat Fayzullin
                 [http://www.komkon.org/fms/] and Damien Burke
                  [http://www.jetman.dircon.co.uk/speccy/] .
                 Also, please read the copyright notice below.
 
                                       
 The latest version of this FAQ is available at the following locations on the
                                   Internet:
 [UK primary site] [http://www.kendalls.demon.co.uk/cssfaq/index.html] [Danish
 mirror] [http://www.tjornov.dk/spectrum/faq/index.html] [Dutch mirror (HTML)]
   [http://www.void.demon.nl/faq/index.html] [Dutch mirror (zipped up HTML)]
   [ftp://ftp.gns.getronics.nl/pub/os/sinclair/specfaq/specfaqh.zip] [Dutch
                         mirror (zipped up text-only)]
  [ftp://ftp.gns.getronics.nl/pub/os/sinclair/specfaq/specfaqt.zip] [Italian
   mirror] [http://www.cassiopea.it/spectrum/index.html] [Norwegian mirror]
     [http://www.nvg.ntnu.no/sinclair/faq/index.html] [Portuguese mirror]
       [http://www.idt.ipp.pt/~rff-ribe/sfq/index.html] [Spanish mirror]
       [http://www.spectrum.sitrantor.es/cssfaq/index.html] [US mirror]
        [http://www.geocities.com/SiliconValley/Park/8193/index.html] 
                                       
                                       

_Copyright:_ this FAQ is  1995-1999 Damien Burke and Philip Kendall.
Permission to include it with emulators is hereby granted, as long as it is
not modified in any manner. If you wish to display this FAQ (in full) on your
own web site (or other media, including CDs), apply to me [pak21@cam.ac.uk] to
become a mirror site. If you wish to display only portions of this FAQ on your
own web site (or other media), you may *not do so* without my specific
permission (and that will only be granted in special circumstances). Sorry to
sound so officious, but there have been a number of uncredited rip-offs of
parts of the FAQ and I'm sick of it. This FAQ may *not* be reproduced on CDs
without my permission. Permission is already granted for the CDs explicitly
mentioned in the second paragraph of question 4 of the FAQ; Permission was
previously granted for the FAQ to be included on "The Encyclopedia of Spectrum
Games - 98" CD from Cameron Lister, intended to be published by Epic
Marketing. However, this project would appear to have collapsed and therefore
permission is withdrawn. Should Epic Marketing publish any product that
includes this FAQ in whole or in part, in any form, they will be in violation
of copyright.
 
 
                     --===Spectrum FAQ - What's New?===--
 

  + _2 January 1999:_ Another update to Question 6 as some people appear to be
convinced that it is legal to distribute most Spectrum programs.
 Split the Resources section into two, found all the broken links and added
all the emulator home pages (amongst others).
 Updated information on x128, WSpecEm, xzx, Warajevo, Mac Spectacle and the
modules for ZX-Spectrum Emulator 128K; fixed the links to Suzanne's Spectrum
Emulator and WinXZX, and added PASMulator (Windows), Speccy (DOS) and CBSpeccy
(Amiga).
 Added information on .DCK, .FDI, .NET, .PAL and .POK files to the File
Formats section, as well as updates to the .Z80 (including correcting bytes 61
and 62), Warajevo .TAP and .MDR formats.
 Added Carlos Leote, John Marshall, Jon Nixon and Rui Tito to the Where Is...?
section.
 Updated the Technical Information on Interrupts with precise timing
information.
 Added a new Question 11, updated the information on the Spectrum Profi Club
in Question 14, added the Argentian (CZ) Spectrum variants to Question 15, and
added _PlayTZX_ to Question 22. 
  + _25 November 1998:_ Updated Question 6 to reflect the latest developments
on copyright issues: _PLEASE READ_ 
  + _31 October 1998:_ Added the QL emulators ZeXceL and ZM/128 (as well as
locations to download them from), the Playstation emulator PS-ZX and the Java
emulator Hob. Updated information on R80, SpecX, Warajevo, x128, xzx, YaSE,
zx32 and ZX Spectrum Simulator.
 Collected all the Technical Information on Interrupts together, updated the R
Register information, restored the information on doubly shifted opcodes which
had gone walkabout, updated the information on ED opcodes and put in lots of
new information about Undocumented Flags.
 Added pointers to the .ZXS and .DSK formats to the File Formats page, as well
as other bits of tidying up on that page.
 As usual, some more new Resources.
 Removed the spam protection from my e-mail address in the FAQ; this is an
experiment, and if I start getting lots of spam, it'll re-appear.
 Added Rafaelle Cecco to the Where Is...? section.
 Changed the copyright notice with respect to the "The Encyclopedia of
Spectrum Games - 98" and where to apply to become a mirror site.
 
  + _8 September 1998:_ Fixed the links to xzx on WoS (Thanks to Martijn van
der Heide). 
  + _6 September 1998:_ Added the new Windows emulator SpecX and the 128K
emulator for the Amiga, Spectrum128; also updated information on a few
emulators, including R80, Spectrum (DOS), ZX-Spectrum Emulator 128K, xzx,
ZX-Spectrum (Amiga) and ZX Spectrum (Mac).
 More new and updated Resources.
 Added Sean Conran, Mike Gerrard, Don Priestley and Jon North to the Where
Is...? section.
 Updated Technical Information on interrupt timings, the 128K/+2 and the
+2A/+3.
 A couple of updates/corrections to the information on the Z80 file format.
 Finally, added the Sinclair Research web site to Question 17. 
                                       
                                       

              --===Spectrum FAQ - Frequently Asked Questions===--
 

                                The Questions!   
                                       

  1. Just what is this newsgroup for? 
  2. Can I post binaries to this group? 
  3. Is there a Spectrum emulator for <whatever machine>? What's the best one? 
  4. Where can I find <whatever game>? 
  5. Is it legal to use ZX-Spectrum ROM images/manuals? 
  6. Is it legal to use snapshots (i.e. games etc.)? 
  7. I have the game I was after, but in a format my emulator can't load. How
do I convert <format> to <different format>? 
  8. I've got a snapshot that won't load into Z80 - it just gives an error
message saying 'plusdrom.bin not found' and exits to DOS. How can I get it to
work? 
  9. What are these .SLT and .TZX files? 
  10. Which ROM files are available? 
  11. How do I make screenshots of Spectrum games? 
  12. Where can I get Microdrive cartridges? 
  13. How do I fix my worn out ZX-Spectrum keyboard/+3 disk drive? 
  14. What's the address of the "Spectrum Profi Club" in Germany? 
  15. What are the differences between the different Spectrum models? 
  16. What peripherals exist? 
  17. Where is Sinclair Research now? Is Clive on email? 
  18. What the hell is a Spectrum? 
  19. Hot damn this sounds good. I want a real one! 
  20. Is the Spectrum better than <other machine>? 
  21. How do I make snapshots or TAP files from my Speccy tapes? 
  22. How do I load snapshots or TAP files into my real Spectrum? 
  23. I have a Mac and can't get any snapshots to work - why? 
  24. I have a question not covered here! 

                                 The Answers!   
                                       

_
  1. Just what is this newsgroup for?_
 This group's charter (from its original formation in December 1993) is "to
provide a forum for the discussion of the various brainchildren of Sir Clive
(born Clive Sinclair) and related computers such as the Jupiter Ace, TK and TS
series, SAM Coup and Thor, software, peripherals, emulators for them,
programming them; playing those wonderful games (6031769, anyone?); and
anything else which interests the Sinclair community. The group is not
moderated."
 
Auctions of Sinclair equipment and software/books for Sinclair machines are
allowed in this group. An auction must follow the following format: a single
message listing the items for sale, with references to email or a web page for
updates. While the auction is in progress, a weekly message may be posted
stating that an auction is going on and referencing email or a web page.
Following the end of the auction, the person running it may post a single
message announcing that the auction is over, but not giving details of who got
what. These details should be emailed to all concerned.
 
In practice, most discussion is Spectrum-related, but there's a fair bit of
SAM Coup, QL, ZX-81, etc. chat as well. This FAQ only covers the Spectrum,
other documents being available separately: e.g. The QL FAQ
[http://www.uni-mainz.de/~roklein/ql/] , QL Faq and Resources Pointer
[http://www.geocities.com/SiliconValley/Bay/2602/ql.html] and The SAM
Coup&eacute; FAQ [http://www.mono.org/~unc/Coupe/FAQ.txt] (though I don't
think this is maintained anymore). To get the ZX81 FAQ, mail the Jarasoft
document server [docserv@jarasoft.xs4all.nl?Subject=zx81] with "zx81" in the
subject line.
 
This FAQ covers technical information, emulator information and resources and
does not attempt to cover Spectrum games and history. There is a game FAQ
available - see Question 24.
 
_
  2. Can I post binaries to this group?_
 NO! The word _binaries_ does *not* appear in the newsgroup title, and this is
a subtle indication that posting binaries is going to make you very unpopular
very quickly. Most people have to pay for their net access, and some do not
have the capability to download only the messages they want to read, so you're
costing them money if you post binaries, which are substantially larger than
most posts. You may also cause news providers to stop carrying the group if
binaries are seen to be posted in it. If you want to distribute something
Sinclair-related, upload it to an FTP site
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/incoming/] or put it on a web page
and post the *address* of the site.
 
_
  3. Is there a Spectrum emulator for <whatever machine>? What's the best one?_
 See the emulators section of this FAQ. It is split up by machine type, and
you should be able to find one you can use. Of course, if you can't get one
for your machine (pretty unlikely now!), you could always write one... ;-) As
for which is best, just read through the emulators listing and decide which
one(s) have the features you think you need, then try them for yourself. Only
*your* opinion matters in the end anyway!
 
_
  4. Where can I find <whatever game>?_
 The game you're after is probably available somewhere on the net. The best
way to search is to use Martijn van der Heide's search engines
[http://www.void.demon.nl/archive.html#search] , which allow you to search
World of Spectrum and NVG by program name. If that doesn't turn up any
results, Hynek Med's snapsearch engine [http://drson.vse.cz/snapsearch/]
(which searches virtually every Speccy-related FTP site) might, but don't hold
out any hopes. There are a few games that are *not* to be found on the net yet
- check out the Missing In Action
[http://www.geocities.com/SiliconValley/Lakes/6142/missing.html] list.
 
Several CDs full of games can be had from companies, but you're better off
going to one of the newsgroup's regulars for a better value CD put together by
people genuinely interested, rather than by commercial companies only
interested in making money from other people's work. Accordingly, try one of
the following: Erik Kunze has compiled a CD based on the NVG FTP site's
contents; see his web
page [http://www.philosys.de/~kunze/cdrom/] .
Craig
Rothwell [crothwell@hotmail.com] has also put together a very good
value CD based on Martijn van der Heide's World of ZX Spectrum
[http://www.void.demon.nl/spectrum.html] archive; see his web
page
[http://www.aditfree.com/mmcd/speccy.html] for details. Finally an 'official'
c.s.s. CD is in the making with Gerard Sweeney [Hackers_Anon@geocities.com] at
the helm, which should be out soon. 

Until recently, a CD called 'Die Speccy' was available quite widely (e.g. from
HMV shops in the UK), but HMV at least have removed it from the shelves after
finding pornographic demos on the CD! Never mind the copyright violations, eh?
If you have bought this and have any problems running Z80, you should buy the
registered version. It is shareware, and you *cannot* expect any support
unless you pay for it. Brian Gaff, the UK registration contact for Z80, has
had quite enough of people ringing up and complaining to him about the
contents of a CD he has had *nothing* to do with!
 
If none of those turn up the game you're after, try asking on the newsgroup
[comp.sys.sinclair] , or (shock) going to a second-hand shop and digging
around in their boxes of old tapes.
 
_
  5. Is it legal to use ZX-Spectrum ROM images/manuals?_
 Yes, it is. Amstrad, who own the copyright for the ROMs, allow free
distribution of ROMs for emulation purposes, although they often apply
stipulations such as not charging money for software that includes these ROMs.
They also allow free distribution of electronic versions of Spectrum hardware
manuals. The manuals are available on NVG, in the docs/manuals
[ftp://ftp.nvg.ntnu.no/pub/sinclair/docs/manuals/] directory, or (in HTML
form) from Pete Robinson's Classic 8-bit Computers Page
[http://www.madhippy.com/8-bit/sinclair.html] . For more details on the ROMs,
see Question 10. 
_
  6. Is it legal to use snapshots (i.e. games etc.)?_
 Despite what various people have claimed on comp.sys.sinclair
[comp.sys.sinclair] , it is still the case that _it is illegal to distribute
almost all Spectrum programs_; therefore, if you use a snapshot/tape
image/disk image without owning the original program, you could in theory end
up in court. Until recently, copyright holders were doing little to enforce
their rights, and games for various systems (including the Spectrum) were
freely available on the Internet.
 
However, in November 1998, Dave's Classics [http://www.davesclassics.com/] ,
which had the biggest selection of arcade machine ROMs on the Internet, was
forced to remove all its ROMs by the IDSA [http://www.idsa.com/] , an
organisation of American software companies. The IDSA has a very restrictive
policy on emulation [http://www.idsa.com/about/faq.htm] , which they may well
apply to Spectrum emulation in the future, despite the exact wording used in
the above link. (Different wordings have been used in interviews given by
members of the IDSA). Also, there is no guarantee that this policy will retain
the same wording in the future, or that European bodies (for example, FAST
[http://www.fast.org.uk/] or ELSPA [http://www.elspa.com/] ) will use exactly
the same policy.
 
More importantly, at least in the short term, for Spectrum emulation is that
IDSA members have forbidden distribution of their old games, and the rights to
old Spectrum games are now owned by ISDA members (for example, Infogrames
recently purchased Ocean).
 
One campaign which has been set up is CLEAR
[http://dialspace.dial.pipex.com/town/estate/dh69/clear/] (The Campaign to
Leave Emulation Alone), but perhaps more important to the Spectrum scene is
persuading companies to release distribution rights for their Spectrum games,
which are commercially dead; Martijn van der Heide has started a project to do
this, details of which are available at World of Spectrum
[http://145.13.42.3/~mheide/permits/permits.html] .
 
_
  7. I have the game I was after, but in a format my emulator can't load. How
do I convert <format> to <different format>?_
 The first thing to realise is that you can't convert from tape files (.TAP,
.TZX, etc) to snapshots (.Z80, .SNA and lots more). These are fundamentally
different things: a tape file is a copy of what was originally stored on a bit
of magnetic tape, whilst a snapshot is a copy of the Spectrum's memory, as
well as the registers and the other things which are necessary to restore the
state of the machine.
 
Conversion between the various snapshot formats is possible though: SPConv,
written by Henk de Groot [hegr@ensae.ericsson.se] and Damien Burke
[http://www.jetman.dircon.co.uk/mail.html] , can convert between a large
number of formats, but cannot handle 128Kb snaps. The most recent version,
v1.10, is available from NVG
[ftp://ftp.nvg.ntnu.no/pub/sinclair/utils/generic/spconv-110.zip] . A version
of SPConv was supplied with JPP, but this is very out of date, and cannot
handle the .Z80 files producted by Z80 v2.01 or greater. Upgrade!
 
For 128Kb snaps, I suggest using SnapConv
[http://www.geocities.com/SiliconValley/Park/5427/snapconv.htm] , written by
me [pak21@cam.ac.uk] ; this can also convert v3 .Z80 files to v2, as some
older emulators cannot handle the latest .Z80 format.
 
For converting one tape format to another, the best program is Taper
[http://www.void.demon.nl/taper.html] , written by Martijn van der Heide
[mheide@gns.getronics.nl] .
 
_
  8. I've got a snapshot that won't load into Z80 - it just gives an error
message saying 'plusdrom.bin not found' and exits to DOS. How can I get it to
work?_
 The snapshot was saved by someone with a registered copy including +D
emulation, in +D mode. The game doesn't actually *need* the +D ROM, so you can
use DEMGT [ftp://ftp.nvg.ntnu.no/pub/sinclair/utils/generic/demgt.zip] to
modify the snapshot so it isn't in +D mode. Or get hold of Z80 v3.04+, which
does not have this problem.
 
_
  9. What are these .SLT and .TZX files?_
 SLTs are an improved type of snapshot that holds all the levels for multiload
games, and are supported only by the newer emulators. See the File Formats
section for more details. They are *not* compatible with .TAP files. You can
read all about them on this page
[http://www.jetman.dircon.co.uk/speccy/edfb.html] too. However, SLTs have less
reason for being used now that TZX has arrived. This is a virtual tape format,
and stores tapes in as close a manner to the real thing as possible, while not
wasting space storing the entire sampled sound of the tape. See the emulators
section to see which emulators support SLT or TZX.
 
_
  10. Which ROM files are available?_
 

    + The original 48K machine had 1 16K ROM
[ftp://ftp.nvg.ntnu.no/pub/sinclair/roms/standard-rom.zip] , of which only one
version was officially produced; some modified versions were made (mostly
bugfixes), for example by Henk de Groot
[ftp://ftp.nvg.ntnu.no/pub/sinclair/roms/groot-rom.zip] and Ian Collier
[ftp://ftp.nvg.ntnu.no/pub/sinclair/roms/imc-rom.zip] . 
    + The TK95X (A Brazilian clone of the Speccy) had 1 16K ROM
[ftp://ftp.nvg.ntnu.no/pub/sinclair/roms/tk95-rom.zip] . 
    + The Interface 1 had at least 3 versions of its 8K ROM. 
    + The 128K Speccy had 2 16K ROMs
[ftp://ftp.nvg.ntnu.no/pub/sinclair/roms/spec128.rom] ; again only one
version. 
    + The +2 again had 2 16K ROMs, available in English
[ftp://ftp.nvg.ntnu.no/pub/sinclair/roms/plus2.rom] , French
[http://http://wwwperso.hol.fr/~ggenty/romsp2/p2romfr.zip] or Spanish
[http://www.geocities.com/SiliconValley/Hills/2099/spec/pl2esp.zip] . 
    + The +2A/+3 shared the same set of 4 16K ROMs, which came in at least two
versions, 4.0 and 4.1; most +3s had v4.0 whilst most +2As had v4.1. A Spanish
version [http://www.geocities.com/SiliconValley/Hills/2099/spec/pl3esp.zip] is
also available. 
    + Various ROM cartridges (eg _Jetpac_, _Planetoids_) were produced for use
with the Interface II. 
    + Mikro-Gen's _Shadow of the Unicorn_ game used its own ROM. 
    + TR-DOS/Betadisk had a large number of versions of its ROM. 

_
  11. How do I make screenshots of Spectrum games?_
 Many emulators have the ability to save the screen out in one form or another
- read the documentation! If this isn't available, pressing _Alt+PrtScr_ will
copy the current window to the Clipboard under any version of Windows, as will
_Apple+Shift+3_ on any Macintosh, from where you can paste it into your
favourite paint program. Under X, various programs (eg xv) can grab an image
of a window, and the Amiga also has facilities for screen grabbing. If none of
the above are possible, SnapConv
[http://www.geocities.com/SiliconValley/Park/5427/snapconv.htm] can extract
the screen image from the most common snapshot formats.
 
A related point here is that some of the above methods will produce a copy of
the Spectrum's screen memory, often called a .SCR file; utilities exist to
convert this into more common graphics formats, for example Martijn van der
Heide's scr2gif [http://www.void.demon.nl/utilities.html#other] or CONVERT,
which is supplied with the registered version of Z80. 
_
  12. Where can I get Microdrive cartridges?_
 Microdrive cartridges (as well as complete Microdrive kits) can be obtained
in the UK from:
 
W.N. Richardson & Co.
 6 Ravensmead
 Chiltern Hill
 Chalfont St Peter,
 Bucks, SL9 0NB
 United Kingdom
 
PHONE/FAX 01494-871319

 
_
  13. How do I fix my worn out ZX-Spectrum keyboard/+3 disk drive?_
 If the connectors on the keyboard PCB have scratched off the silver from the
ribbon, buy some so-called "conductive paint" which is a suspension of fine
silver particles. If you let it dry, it conducts. Use a fine brush to replace
what is scratched off from the ribbons. This paint is available from most
electronics hobbyist stores (for example, from RadioShack in US).
 
A company apparently with a large stock of Speccy spares is:
 Trading Post
 Victoria Road
 Shifnal
 Shropshire
 TF11 8AF
 tel/fax 01952 462135
 email: Tradingpost@btinternet.com [Tradingpost@btinternet.com] , or visit
their Web site [http://www1e.btwebworld.com/tradingpost/spares.htm] .

 New membranes can also be bought from Jean Austermuhle
[joshua@santana.gun.de] in Germany; his postal address is:
 Sternwartstr.69
 D-40223 Dusseldorf.
 Tel: +49 (0)211 395460
 Prices:
 48k rubber board - 10, 48K+/128K - 19, 48K/128K (better quality like
+2/+2A) - 23. Plus postage & packing. Do contact him first.

 There's more on fixing your keyboard in the pinouts section of this FAQ.
 
Also, Didier Duchet [didier.duchet@almac.co.uk] apparently has some Spectrum
and QL spares for sale; ULAs, power supplies and QL keyboard membranes. 

The most common fault with the +3's drive is that the drive belt has failed:
replacements are available from Trading Post (see above), or at 2 from Kevin
Gurd:
 21 Ladycross Road
 Langdown
 Hythe
 Southampton
 SO45 3JR
 (All cheques and money orders should be payable to "K. Gurd")
 
_
  14. What's the address of the "Spectrum Profi Club" in Germany?_
 SPC
 Wolfgang + Monika Haller
 Im Tannenforst 10
 D-51069 Kln
 Germany
 
Note the change in this address; and the club is indeed still going as of
February 1997, and as of late March 1997 they have a Home page
[http://helga.nt-fs.fh-koeln.de/~efmeurer/spc.html] .
 
_
  15. What are the differences between the different Spectrum models?_
 
    + _16K_ - original model. Rubber keys. 
    + _48K_ - (most widespread) original model with RAM extension 
    + _TC2048_ - From Portuguese arm of Timex. Black with grey plastic keys.
Built in Kempston joystick port, some higher resolution screen modes (as in
the TS/TC2068), 48Kb of memory, had a paging system but no actual extra RAM
there to use it. Also blessed with an RGB composite video output and an on/off
switch as well as a built-in speaker of much better quality than the
Spectrum's buzzer. Not fully Spectrum compatible; a few games didn't work,
e.g. Ole Toro and Sidewize. 
    + _TS2068_ - American version from Timex; had an AY-3-8912 sound chip
(same chip as in the Spectrum 128, though it uses different port addresses),
cartridge ports, two joystick ports (not compatible with any other Spectrum
joystick standards) and an additional 8Kb extension ROM with extra BASIC
commands to support these devices. Three extra video modes and a built-in
speaker of much better quality than the Spectrum's buzzer. Not entirely
Spectrum compatible because of ROM changes, but a cartridge based Spectrum
emulator (basically a new ROM) was available and gets most programs to
cooperate. Silver plastic case and plastic keys (with a space bar!). 
    + _TC2068_ - same as TS2068; sold by a Portuguese arm of Timex away from
usual Sinclair markets. 
    + _TK90X_ - Clone of 16/48K by Micro Digital of Brazil, with a built-in
joystick interface (Interface II compatible) and two new BASIC commands -
TRACE, for tracing execution, and UDG for editing UDGs. This modified ROM
caused some compatibility problems. 
    + _TK95_ - as TK90X, but with a real keyboard (not unlike the C64's) and a
more compatible ROM. Apparently a TC2048 in disguise. 
    + _CZ2000_ - made by Czerweny Electrnica in Argentina. A 48K with a few
differences in the case. 
    + _CZ Spectrum_ - again from Czerweny Electrnia; similar to the CZ2000,
but with 2 joystick connectors. 
    + _48K+_ - as 48K, but had "real" keyboard. 
    + _Inves Spectrum 48k+_ - A 48K+ clone from the Investronica company.
Released after Amstrad bought Sinclair Research Ltd. Looked much like a normal
48+. Compatibility problems with some games (Bombjack, Commando, Top Gun,
etc...). 
    + _CZ Spectrum+_ - similar to the CZ2000, but with a Spanish or English
keyboard similar to the 48K+. 
    + _128K_ - 128Kb RAM, AY-3-8912 sound chip, keypad, RS232 port and "real"
keyboard. The last real Sinclair machine. 
    + _+2_ - 128K with built-in tape deck, new (grey) case and keyboard. First
Amstrad-produced model. 
    + _+3_ - 128K with built-in disk drive, new ROMs including a DOS and some
internal changes on the bus. Back to a black case. 
    + _+2A_ - +3 with a tape deck instead of disk drive. 


_
  16. What peripherals exist?_
 This would be a big list, so I'll keep it to what I consider are major ones;
for more, see the Spectrum Hardware site
[http://www.xsite.ltd.uk/pj/index.html] .
 


    + _Interface 1_ - joystick and microdrive interface, network capabilities. 
    + _Interface 2_ - joystick and cartridge interface. 
    + _Microdrive_ - fast tape storage (requires Interface 1). 
    + _ZX Printer_ - thermal printer (aka silver bog roll burner). 
    + _Keypad_ - extension keypad for the 128K models that offered extra
editing facilities in 128K BASIC. 
    + _Multiface_ - Romantic Robot's excellent device to stop the Speccy cold,
enabling you to save the current state of the machine to tape or disk and
enter POKEs. 
    + _Joysticks_ - many interfaces exist; Kempston, AGF/Protek, programmable
interfaces (which mapped joystick positions to keypresses), etc. etc. 
    + _AMX Mouse_ - well, a mouse... 
    + _BetaDisk_ - an interface to enable attachment of a 3.5" drive (also
known as TR-DOS). 
    + _Disciple/+D_ - MGT's interface to enable attachment of a 3.5" drive. 
    + _Wafadrive_ - not unlike a Microdrive. 


_
  17. Where is Sinclair Research now? Is Clive on email?_
 A recent interview in Wired revealed that not only does he not use the
internet, he doesn't even have a computer. He keeps a collection of his old
babies in his office (at Sinclair Research, which he is still chairman of),
but even so he's not particularly interested in them; he could not remember
what the machine that followed the Spectrum was called (it was the QL
Clive...). It's rather a shame for us lot I suppose, but Sir Clive was always
more interested in inventing new bits and pieces than computers in particular.
 
If you have a pressing need to contact the man himself, the current address of
Sinclair Research is:
 Sinclair Research Ltd.,
 The Penthouse,
 York Central,
 70 York Way,
 London
 N1 9AG
 UK
 
Alternatively, you can now visit the Sinclair Research
[http://www.sinclair-research.co.uk/] web site. The only thing Speccy-related
on there is a link to NVG, but it's better than nothing!
 
_
  18. What the hell is a Spectrum?_
 The best home computer of all time. Came out in 1982 from Sinclair Research
Ltd., and proceeded to capture the hearts and minds of millions of people.
Based around a Z80 processor and utilising lots of neat tricks to keep the
cost down, Clive (now *Sir* Clive) Sinclair effectively created the UK
computer industry with his ZX80, ZX81 and ZX Spectrum. If you've never used
one, get hold of an emulator and try out some of the classic games around
(e.g. _Jetpac_) and see what *real* gameplay is about without needing 50 Mb of
hard disk space and the type of processing power that interferes with military
radar.
 
_
  19. Hot damn this sounds good. I want a real one!_
 Buying a Spectrum these days is quite easy, though you'll be buying
second-hand. Frank Davis [fdavis@walnut.holli.com] in the US apparently sells
the US machines (TSxxxx) and also sells US versions of the QL. The SAM Coup,
the Spectrum's spiritual big brother, is still being made in Eastern Europe
and can be found at computer fairs sometimes. It can run a fair bit of
Spectrum software (comes with a Spectrum emulator). Real Sinclair Spectrums
are often to be found at car boot sales, in the classified ads sections of
local papers/dedicated FreeAds type papers and in second-hand shops. People
sometimes offer Sinclair hardware for sale on the newsgroup. Unfortunately
this is often done by an auction, so prices can climb to stupid levels. You're
better off looking in those second-hand shops. Computer Cavern
[http://www.premier.co.uk/~capri/graveyard.htm] in Marlow, Buckingham is one
such place and apparently well worth a visit. Other sources include Trading
Post [http://www1e.btwebworld.com/tradingpost/] (+2As only) and
 Arnold Yates
 12 Frederick Street
 Chorley
 Lancs
 PR6 0QB
 England
 Send an SAE, or visit here [http://www.alchemist.clara.net/wantspec.htm] for
a stock list. 
_
  20. Is the Spectrum better than <other machine>?_
 Choose the answer you prefer:
 A1) Yes.
 A2) Yes, unless the other machine is a QL.
 A3) Yes, unless the other machine is a SAM Coup.
 
_
  21. How do I make snapshots or TAP files from my Speccy tapes?_
 Well, there are a number of ways. The Z80, WSpecEm and Warajevo emulators
(among others) all have means to load from real tapes. Check the Emulators
section of this FAQ to find out what capabilities are available in the
emulators you are able to run. And then *read* the documentation with those
emulators!
 
_
  22. How do I load snapshots or TAP files into my real Spectrum?_
 There are various utilities which can do this; for example, HypraLoader
[ftp://ftp.nvg.ntnu.no/pub/sinclair/utils/pc/HypraLoader.zip] , Taper
[http://www.void.demon.nl/taper.html] , PlayTZX
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/tools/pc/playtzx.zip] (also for
Unix
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/tools/unix/playtzx-0.11.tar.gz] ).
Finally, the registered version of Z80 comes with appropriate utilities. 
Alternatively, if you have a +3 with a 3.5" or 5.25" drive attached, Dominic
Morris has created Slowdos
[http://www.jb.man.ac.uk/~djm/spectrum/slowdos.html] which can read the .TAP
files directly.
 
_
  23. I have a Mac and can't get any snapshots to work - why?_
 The filetype isn't correctly set. You could use ResEdit to change the
filetype but it's easier to get the MacSpeccy emulator - in the file open
dialog there's a box titled 'Fix file types'. Click on that and it will
correctly set the snapshot file's filetypes, and you can then use any of the
Mac emulators to open the snapshot files.
 
_
  24. I have a question not covered here!_
 Well, there are other sources of information; in particular, if the question
is about a particular game, your first stops should be Stephen Smith's Games
FAQ [http://www.jonlan.demon.co.uk/spectrum/gamefaq/] and Sinclair Software
Database [http://www.icemark.ch/zx/SSD-II/] .
 If your question is anything to do with the PC-based emulator Z80 (or indeed
any emulator), then try reading the documentation that comes with it. It is
very full and 99% of questions people ask on the group about it could be
answered if they'd bothered to read the supplied documentation.
 If that's no help, welcome to the group, ask away!
 
                                       
                                       

                      --===Spectrum FAQ - Resources===--
 
If you find an address in here that doesn't work any more, please let me know
- and let me know if you find one that isn't listed here too!
 
This list is ordered by the sites' domain names, so don't feel bad if your
site is listed after one you think isn't as good. If anyone thinks my
description of their site is incorrect or unfair, again, let me know.
 
One thing I have noticed after around three years of monitoring the growth of
Spectrum-related web sites is that an awful lot of people get their net
connection and have the bright idea of making a Speccy web page.
Unfortunately, most of them then soon find the multitude of pages that already
exist, and don't bother to update their own early efforts; not even to remove
the usual promises of future greatness. Therefore, this list now mentions
where a page has not been updated for some time. If I've mistakenly listed
your page as being dead, let me know.
 
In order to keep the size of each individual page down, this section has now
been split into two separate pages, inventively called Part 1 and Part 2.
 
                                       
                                       

 
                  --===Spectrum FAQ - Resources (Part 1)===--
 

                               ESSENTIAL SITES   
                                       

The aim of this section is to put some of the best sites around in an 'quick
reference' section, so newcomers (and others!) don't have to wade through the
listings of all the other sites to find what they're after. Opinions on which
sites should be in this section are welcomed; Mail me [pak21@cam.ac.uk] with
your ideas.
 
  + Martijn van der Heide's World of Spectrum
[http://www.void.demon.nl/spectrum.html] (commonly abbreviated to WoS) has
99.9% of the Spectrum material you'll ever need: the WoS FTP site
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/] has virtually every Spectrum
program ever released, as well as every emulator and a large collection of
utilities. If you don't like FTP, WoS has an HTML front-end for it all, and
search engines [http://www.void.demon.nl/archive.html#search] which allow you
to search WoS, NVG (see below) and other sites; if all that wasn't enough,
there's also a fair amount of Speccy-related documentation, including a mirror
of this FAQ, and Martijn's own utilites (including _Taper_, the best tape file
convertor available and the _Spectrum Games Database_, a powerful program for
organising the enormous collection of stuff you've just downloaded).
 Finally, there is a CD copy of WoS available; visit Craig Rothwell's
Depository [http://www.cdworld.co.uk/mmcd/speccy.html] for details. 
  + Planet Sinclair II [http://www.nvg.ntnu.no/sinclair/] is the biggest
Spectrum related Web site out there, with vast quantities of information about
the Spectrum and its history. Also available is the NVG FTP site
[ftp://ftp.nvg.ntnu.no/pub/sinclair/] which still has a very large amount of
data on it, but is disorganised (multiple copies of the same program, etc) and
hasn't been maintained since mid-1997. 
  + Hackers Anonymous [http://www.geocities.com/SiliconValley/Lakes/4871/]
(run by Gerard Sweeney of YS fame) has two warehouses of information: firstly,
_Hack Attack III_, giving you a poke for almost every Spectrum game and
secondly the _NVG Catalogue_, a (succesful) attempt to bring some order to the
NVG FTP site (see above). 
  + The Sinclair Software Database [http://www.icemark.ch/zx/SSD-II/] (now
onto version 2) is a project to provide documentation for every piece of
Spectrum software ever released. Currently with over 400 entries (mostly
games), but not growing very quickly: it's going to need *your* help, so get
out your cassette inlays/manuals and your scanners or typing fingers! 
  + The Your Sinclair Rock'n'Roll Years
[http://www.the-den.clara.net/ys/cover.htm] is a very well presented site,
which is full of news, reviews, screenshots and cover scans from every issue
of Your Sinclair. 
  + The Sinclair section of Pete Robinson's Classic 8-bit Computers Page
[http://www.madhippy.com/8-bit/sinclair.html] is a great source for
Speccy-related documentation, including, amongst other things, the manual for
all the different Spectrum models. 

                                  FTP SITES   
                                       

If you're after games, emulators or anything Spectrum-related, there are a
number of FTP sites worth visiting, and new ones spring up now and again...
bear in mind that many of the sites containing games are very busy, so you're
better off trying at quieter times (e.g. very late at night in the UK), and
don't use a web browser - use a proper FTP client. This section used to be
considerably larger, but many of the sites no longer existed or no longer
contained the Sinclair-related material that they once had, and have been
removed them from this list.
 
  + ftp.gns.getronics.nl/pub/os/sinclair
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/] and ftp.nvg.ntnu.no/pub/sinclair
[ftp://ftp.nvg.ntnu.no/pub/sinclair/] are *THE* Speccy FTP sites! In fact, you
can probably ignore the rest of them; see the Essential Sites section for more
details. 
  + akira.uc3m.es/pub/sinclair [ftp://akira.uc3m.es/pub/sinclair/] has some
old emulators and snaps. 
  + [NEW] ftp.beamsoft.com/pub/beam/old_games/spectrum/
[ftp://ftp.beamsoft.com/pub/beam/old_games/spectrum/] is Beam Software's FTP
site, and just has their old games on it. 
  + ftp.demon.co.uk/pub/emulators/spectrum
[ftp://ftp.demon.co.uk/pub/emulators/spectrum/] has a very small number of
snapshots, copies of Emulate! and some emulators (old versions though). 
  + ftp.funet.fi/pub/mirrors/ftp.gmd.de/if-archive
[ftp://ftp.funet.fi/pub/mirrors/ftp.gmd.de/if-archive/] is a mirror of the
site below. 
  + ftp.gmd.de/if-archive [ftp://ftp.gmd.de/if-archive/] is an interactive
fiction archive, including Level 9 adventure stuff and some emulators. 
  + ftp.gui.uva.es/sinclair [ftp://ftp.gui.uva.es/sinclair/] is a mirror of
NVG. 
  + ftp.grendel.cz/pub/incoming/zxspectrum/
[ftp://ftp.grendel.cz/pub/incoming/zxspectrum/] is a collection of stuff from
NVG. 
  + ftp.ipp.pt/pub/sinclair/ [ftp://ftp.ipp.pt/pub/sinclair/] is Rui 'WSpecEm'
Ribeiro's FTP site with lots of snapshots etc. 
  + ftp.itu.edu.tr/pub/systems/spectrum
[ftp://ftp.itu.edu.tr/pub/systems/spectrum/] 
  + ftp.lanprojekt.cz/pub/sinclair [ftp://ftp.lanprojekt.cz/pub/sinclair/]
(Didn't respond when tested on 15 May 1998) 
  + ftp.lizard.org/pub/spectrum/ [ftp://ftp.lizard.org/pub/spectrum/] has a
slightly old collection of emulators (eg x128 v 0.61), and a good collection
of (mostly uncompressed) games. 
  + ftp.nat.com.ar/sinclair/ [ftp://ftp.nat.com.ar/sinclair/] is the
Sinclairmanacos BBS FTP site 
  + ftp.ogre2vsk.edu.lv/acid-nature/speccy/
[ftp://ftp.ogre2vsk.edu.lv/acid-nature/speccy/] is a site full of updated etc
games by our Eastern European friends. 
  + ftp.sun.ac.za/pub/misc/sinclair [ftp://ftp.sun.ac.za/pub/misc/sinclair/]
is a mirror of NVG (see also ftp.sun.ac.za/pub/msdos/zx
[ftp://ftp.sun.ac.za/pub/msdos/zx/] ) 
  + [NEW] ftp.ualg.pt/ZXSpectrum/ [ftp://ftp.ualg.pt/ZXSpectrum/] appears to
simply be a copy of what's on the NVG FTP site. 
  + _uhura.ijs.si/pub/zx_ (used to be ftp.ijs.si) was the best FTP site a few
years ago, until it became virtually impossible to log onto, and the FTP site
has now closed completely; however, it is now accessible via the Web, at
www.ijs.si/ftp/zx [http://www.ijs.si/ftp/zx/] , but hasn't been updated, and
now looks somewhat dated. 
  + virgo.inesc.pt/pub/games [ftp://virgo.inesc.pt/pub/games/] 

                              REFERENCE MATERIAL   
                                       

  + Alexander Walz's Sinclair ZX Spectrum
[http://atlas.kawo1.rwth-aachen.de/~afw/sincfo0.htm] pages - technical data,
BASIC reference, memory management, tips & tricks and more. Didn't respond
when tested on 15 May 1998. 
  + John Garner's Spectrum Pages [http://www.breezer.demon.co.uk/spec/] have
moved and are now on Demon; there's also a fair amount of technical
information available here, as well as a list of groups still coding on the
Speccy. 
  + Pera Putnik's ZX Spectrum Hardware DIY
[http://members.tripod.com/~piters/zx.htm] site contains a couple of hardware
projects, and the article he wrote about Port 254 and Issue 2 and 3 Spectrums
for the Technical Information section. 
  + The Speccy Zone
[http://www.fortunecity.com/skyscraper/motorola/134/index.html] contains a
technical FAQ about the Pentagon and Scorpion, two Russian variants of the
Spectrum, as well as a large number of games, demos and Spectrum utilities to
download. 
  + Dan Crow's Lil Old Sinclair Computer Technical Information Repository
[http://www.geocities.com/SiliconValley/Network/6327/index.html] has the
service manual, circuit diagrams, component layouts and part lists for all the
variants of the 48K Speccy, as well as stuff on the ZX81. 
  + Thomas Scherrer-Tangen's Z80 CPU Official Support Page
[http://www.geocities.com/SiliconValley/Peaks/3938/z80_home.htm] has a large
amount of technical information on the Z80. 
  + Damien Burke's Speccy Nostalgia Trip
[http://www.jetman.dircon.co.uk/speccy/] contains a copy of the 128K Spectrum
manual, and information on the Sinclair Radio Watch and the ED FB level loader
trap, amongst other things. 
  + Pete Robinson has a Sinclair section on his Classic 8-bit Computers Page
[http://www.madhippy.com/8-bit/sinclair.html] ; see the Essential Sites
section for details. 
  + The Alternative Rubber Infested Sinclair Archive
[http://www.mono.org/~ritchie/speccy/speccy.html] (previously known as
Sinclair Spectrum Home Pages) - snapshots and technical articles, and letters
from _Your Sinclair_! Not updated since July 1996. 
  + Sean Young's Z80 Undocumented Features
[http://www.msxnet.org/tech/Z80/z80undoc.txt] is certainly worth a read if you
want to know about the dark corners of the Z80. 
  + There is a large collection of info available at Planet Sinclair II
[http://www.nvg.ntnu.no/sinclair/] ; for more info, see the Essential Sites
section. 
  + World Wide Ramsoft [http://www.ramsoft.bbk.org/] has a collection of
Speccy technical information (including information on the +D/Disciple
interface), and also utilities, emulators and the Enlight! 97 demos available
for download. 
  + Geoff Wearmouth's Incomplete Spectrum ROM Assembly
[http://www.wearall.demon.co.uk/] is an attempt to create a documented copy of
the 48K machine's ROM. 
  + Paul Jenkinson's Spectrum Hardware [http://www.xsite.ltd.uk/pj/index.html]
site. A list of all the various Speccy peripherals, with many pictures, and
even a Speccy Heroes screensaver for Windows 95 - well worth getting! 

                                    GAMES   
                                       

  + Harvey Lodder's "Most Wanted"
[http://ds.dial.pipex.com/town/parade/no50/speccy.html] snapshots request
page. 
  + [UPDATED] The Gargoyle Games Appreciation Website
[http://ds.dial.pipex.com/town/park/xhi26/] : go on, guess what that is :-).
Also now appearing here is the 'Crash Smash Cavern', with reviews of Crash's
idea of what the top games were. 
  + The Spectrum section of Emulation Overload
[http://freespace.virgin.net/john.callwood/scott/emu/specy.htm] just has some
games in one 500Kb .ZIP file. 
  + [NEW] Chaos Squad! [http://gollop.homepage.nu/] is Nuno Barros' tribute to
Julian Gollop's games. However, you will need Netscape or Internet Explorer v4
to access it due to its dependence on Javascript :-(. 
  + Steve Jones' Sinclair Spectrum Page [http://ireland.iol.ie/~sjones/] - has
a snapshots requests page, though hasn't been updated since it started a
_long_ time ago - apparently due to worries about copyright violation. 
  + Francisco Cotrina's Spectrum page
[http://lia01.unizar.es/curro/spectrum.htm] - with details of his snapshots
mail server and some emulators to download. Not updated, except for links, for
some time. Didn't respond when tested on 15 May 1998. 
  + Mark Timberlake's Spectrum Heaven [http://come.to/zx-spectrum/] has a
couple of emulators (JPP and the Adlib version of X128) and a small collection
of games for download. 
  + Theo Devil's Spectrum World [http://members.xoom.com/theodevil/index.html]
has a small collection of his own games and demos. 
  + [NEW] Spectrum Screenshot Heaven
[http://skyscraper.fortunecity.com/sun/738/tk/] from Alexandre Luiz B. Moro is
a large collection of screenshots from Speccy games. 
  + Andrew Barker's Spectrum Snapshots
[http://orac.sund.ac.uk/~as0aba/snaps.html] - another requests page. Andy's
site is home of the VOC file really, and has the beginnings of a guide to
making VOC/TZX files here. 
  + [UPDATED] Spechell [http://www.arcticfox.freeserve.co.uk/index.htm] from
Jamie Percival is another games review site, which has at least got past
reviewing 4 games and then giving up; also at this site is the
'Congraturations Archive', a collection of snaps just before the end of games. 
  + [NEW] Beam Software have all their games available on their Web site
[http://www.beam.com.au/play_games.html] . 
  + [NEW] Jon Nixon's cOnvergence
[http://www.bigfoot.com/~jon.nixon/spectrum/] has a couple of his games
(including _Gnasher_ from Mastertronic) available for download. 
  + Rob Uttley has created the Ultimate Play The Game Appreciation Site
[http://www.compulink.co.uk/~robsoft/ultimate/] , which has info on Ultimate
and all their games. 
  + Cowl Innovations, whoever they may be, have just opened up the ZX Spectrum
[http://www.cowl.co.uk/spectrum/index.html] site which has a few games
available, plus a selection of emulators (odd choices - bit out of date). 
  + Dave's Classics [http://www.davesclassics.com/spectrum_emu.html] , which
was one of the biggest general emulator sites until the IDSA got involved (see
Question 6), has a brief mention of the Speccy. 
  + Darren Noyce's DazSoft Speccy Page
[http://www.dazsoft.demon.co.uk/speccy/speccy.html] has games to download and
a Spectrum disk-magazine (which only runs on the Amiga unfortunately).
Annoying advert at the top of the page too. 
  + Brown Software's ZX Spectrum Games [http://www.ed.ac.uk/~epat19/speccy/]
has eight of their old games on it. 
  + Chrysagon has a few demos and the like available from his homepage
[http://www.fi.muni.cz/~xhotarek/] . 
  + Zdenek Svoboda's Golden Archive
[http://www.fi.muni.cz/~xsvobod3/speccy.htm] has his collection of favourite
games, along with a selection of emulators and utilities for download. 
  + Mat Simpson has created a tribute to Starquake
[http://www.fortunecity.com/underworld/pacman/448/] . Looks great, but doesn't
half take long to load! 
  + [UPDATED] Alistair Nelson has a tribute to R-Type [http://fly.to/r-type/]
, as well as his forthcoming Shoot 'Em Up Survey
[http://www.nelsona.freeserve.co.uk/survey.html] . 
  + [NEW] TDM, of the K3L Corporation [http://www.cybernet.cz/zx] demo group,
has some of their stuff on his home page. 
  + Arttu Ylrakkola's Color Clash Forever!
[http://www.evitech.fi/~arttuiy/speccy/index.html] site is an excellently
presented set of stuff including a good number of games, plus info on Imagine,
Sir Clive's life story, fake Speccy screenshots of new PC games and other
stuff. Very nice site! 
  + [UPDATED] Namco has some +3 utilities, a new version of the old _Formula
One_ game by CRL and is working on a new Spectrum operating system; all
available from his Spectrum Page
[http://www.geocities.com/Area51/6184/speccy.html] . 
  + Novikov Sergei's Speccy World! [http://www.geocities.com/Hollywood/8003/]
has lots of seriously hacked games on it - the Russians are really into
updating Speccy games with extra levels, music and so on. All in Hobeta
format, with a Hobeta converter on there too. Some reviews as well. 
  + Matthew Hambleton's Spectrum Review Daily
[http://www.geocities.com/ResearchTriangle/4750/] . Started out with the
ambitious idea of reviewing one game every day. Managed to keep it up for four
days. See what I mean about people starting pages and then forgetting about
them? Had reviewed Kwik Snax, Pacmania, Rodland and Pang (complete with
snapshots available from the page) before he gave up. 
  + Cameron Knight's homage to Ultimate (Play the Game)
[http://www.geocities.com/SiliconValley/Horizon/7601/index.html] contains all
the games, and (almost) all the inlays from the Stamper brothers and their
friends. 
  + Blood's Crap Speccy Page
[http://www.geocities.com/SiliconValley/Lakes/6142/] - home of the
comp.sys.sinclair [comp.sys.sinclair] crap games compilation, the _Manic
Miner_ editor, a list of snapshots that are currently not to be found on the
net (can *you* help?) and other stuff. 
  + A. J. Clark's Spectrum Shrine
[http://www.geocities.com/SiliconValley/Lakes/9323/speccy.html] - just a few
of his favourite games and a copy of WSpecEm. 
  + Ales Vojnar's Sinclair ZX Spectrum CS
[http://www.geocities.com/TimesSquare/Battlefield/1467/spectrum.html] has a
large collection of Czech and Slovak games, including some translations of
other software (eg _Tasword 2_). 
  + [NEW] Another Tribute to ZX Spectrum
[http://www.geocities.com/TimesSquare/Portal/6986/] , by Stefan Andersson, has
a collection of Swedish games and the like. 
  + Marek Sedlar's !!!Spectrum Forever!!!
[http://www.grendel.cz/hry/spectrum/index.html] has info, games (mirrored from
NVG) and links, plus a great picture of our Clive. 
  + [UPDATED] Desert Island Disks [http://www.image.dk/~frankie/] is Michael
Bruhn's creation, and contains extra information about some of the Missing In
Action [http://www.geocities.com/SiliconValley/Lakes/6142/missing.html] games,
as well as an index to the type-in listings from Speccy mags, and some stuff
for sale/swap, a fanzine and a high-score database. 
  + Jamie Stallwood has produced a Manic Miner Map
[http://www.jamies.dircon.co.uk/manic.htm] and placed it on-line for you all
to steal. 
  + [NEW] KF's Games Archive [http://www.kfsdesigns.force9.co.uk/games/]
currently contains only a copy of his game, _League_. 
  + Ben Baylis' Spectrum Stuff [http://www.ndirect.co.uk/~b.baylis/spectrum/]
- requested snapshots page and _YS Smash Tips!_ Not updated for some time. 
  + Golden Reviews [http://www.numb-mh.demon.co.uk/golden/] : another site
which which aimed to do a game review every day, but has so far managed a
grand total of ... one :-(. 
  + [NEW] Paul Wooding has the Ultimate Players Guide to Rebelstar
[http://www.pazman.demon.co.uk/rebel.htm] on his site. 
  + Dave Rushall's Pie Cafe [http://www.piecafe.demon.co.uk/sinc.htm] has a
few of his old games available for download. 
  + Ken's _Spectrum Corner_; link removed because his pages were just a
collection of other people's work available elsewhere. 
  + Rare [http://www.rare.co.uk/] (the current owners of the Ultimate name)
have finally put some stuff on their Web site, including a fair bit of
information about the games from the Ultimate era (not including snaps, though
:-(). 
  + Jordi Perez's Mis Programas [http://www.readysoft.es/home/coding/misprog/]
has 6 games which he wrote during the 1980s. 
  + Karl O'Brien's 48K Heaven - Speccy Spectacular
[http://www.rtc-carlow.ie/student/obrienk/spectrum.html] - has some games and
a copy of Z80 on his page. Updated late in 1996 to give the whole site a nice
new look and some more snapshots. 
  + Russ Juckes' ZX Spectrum Bit [http://www.raiden.demon.co.uk/zx.htm] has a
few games, loading screens and a scan of the back cover of the last issue of
Your Sinclair. 
  + Dave Ealey has been a very busy boy indeed and has hundreds of games
described and available for download at The Spectrum Software Archive
[http://www.soton.ac.uk/~doug1/Spectrum/index.htm] . A very nicely done
collection, and well worth a browse if you don't like FTP sites. 
  + Jacob Munkhammar has a couple of his (Swedish) adventure games at his
Freeware ZX Spectrum Adventures
[http://www.stud.ntnu.no/~jacob/JMUNK/s/SpectrumAdventures.html] page. 
  + Random Rob's page about The World's Greatest Game Machine
[http://www.tau.it/lightsoft/PD/rob/speccy.html] has some *very* brief reviews
of his favourite games. 
  + [NEW] The Omega Haker's Group Homepage is here
[http://www.uic.rnd.runnet.ru/~dkozhevn/] . 
  + The Usagi Yojimbo: Samurai Warrior Video Game Website
[http://www.usagiyojimbo.com/uygame.html] is part of a general _Usagi Yojimbo_
site, and this mention of Firebird's game is pretty brief, despite some
general Speccy emulation information. 
  + Marcus Durham's 8 Bits [http://www.zenn.demon.co.uk/com/index.htm] has
game reviews for the Speccy (cheer!), C64 (spit!) and Amstrad CPC. 
  + Aleksandr Babaylov's ZX Spectrum Software Museum
[http://zx-museum.org.ru/] - a large collection of snapshots and tapes; a lot
of games here, but it can be a slow site and some of the directories don't
actually contain the snapshot itself. Not dead as previously suspected, just
moved! 
  + [NEW] Virtual TR-DOS [http://zx.da.ru/] has a lot of games on it, but all
the text is in Russian, so I can't actually tell you that much about it. 

                        GAMES INFO/HINTS/CHEATS/POKES   
                                       

  + Sinclair Spectrum Hall of Fame
[http://carlton.innotts.co.uk/~silthas/spectrum.html] - screenshots of classic
games. Not updated for some time, but not removed as I'd thought previously. 
  + Cheats Prosper [http://www.doggysoft.co.uk/chzxp.html] - Multiface POKEs -
an impressive list of cheats here. 
  + [UPDATED] Arsen Torbarina's Jet Set Willy Ultimate Fan Page
[http://members.xoom.com/jetsetwilly/] ; covers everything related to *the*
platform game; FAQ, maps, POKEs and cheats, Matthew Smith related stuff,
download service etc. 
  + [UPDATED] Zak Jenning's page [http://www.iowtheme.free-online.co.uk/] has
screen shots, games, a Speccy history page and stuff about his impressive
collection of Sinclair gear. 
  + Ian Preston's Spectrum Adventurer
[http://home.virtual-pc.com/isblpx/index.html] and Spectrum Adventurer II
[http://www.btinternet.com/~phian/index.html] pages. Lots of adventure
solutions, hints etc. plus a load of snapshots too. A must-visit if you're an
adventure fan! Not just text adventures either; arcade adventures too (e.g.
the Dizzy series). 
  + Conor McCarthy's ZX Spectrum page
[http://lurch.ucd.ie/~conormc/zxspectrum/] - home of the Miner Willy Museum
(tours of _Manic Miner_ etc.), and more broken links than you can shake a
stick at - all very much under construction. Not updated since October 1996. 
  + [NEW] If you're stuck whilst playing _Mercenary_, Nikola Alivojvodic's
maps and solution [http://solair.eunet.yu/~johnnya/merc.htm] are just what you
need. 
  + Glenn Flood's House of Flood [http://www.floodnet.demon.co.uk/] has a
collection of his art, including three cassette inlay designs he did for
Quicksilva. 
  + [NEW] Retro Trauma
[http://www.fortunecity.com/victorian/delacroix/184/index.htm] has some
reviews of Speccy games. 
  + The Moon Palace [http://www.gatewest.net/~cpb/gaming/lom/] - a home page
for the _Lords of Midnight_ saga. 
  + The Spectrum Help Zone
[http://www.geocities.com/SiliconValley/Garage/3986/index.html] , created by
the succinctly named Bob, is a collection of hints, tips and cheats for a
large number of games. 
  + Gerard Sweeney, famed YS hacker, has a huge number of POKEs available at
his Hackers Anonymous [http://www.geocities.com/SiliconValley/Lakes/4871/]
page; see the Essential Sites section for details. 
  + Philip Bee's I've Started So I'll Finish
[http://www.geocities.com/TimesSquare/Battlefield/8875/] has a large
collection of interviews with various Spectrum progammers, and also a copy of
Bob Pape's 'Loading a Spectrum Screen' screensaver. 
  + The Knight Lore Maps
[http://www.hermetica.com/technologia/sinclair/knightlore/maps/map.html] page
is a *large* map of (surprise, surprise), Knight Lore. 
  + Ian Armstrong's Dump [http://www.iarmst.demon.co.uk/] , containing a large
number of screenshots, inlay texts and scanned copies of the inlay covers. 
  + Stephen Smith and Benedikt Heinen's Sinclair Software Database
[http://www.icemark.ch/zx/SSD-II/] ; see the Essential Sites section for
details. 
  + Tero Turtiainen's Knight Lore  [http://www.iki.fi/turtiain/knightlore/]
page; a map and other bits of information about Knight Lore (oddly enough). 
  + Stephen Smith's Master Speccy page
[http://www.jonlan.demon.co.uk/spectrum/] - lots of stuff including the
Spectrum Games FAQ. No longer being updated. 
  + Tolkien computer games for the Spectrum
[http://www.lysator.liu.se/tolkien-games/spectrum.html] from Fredrik Ekman. 
  + Kev Watkins' Wally Week Webpage [http://www.soft.net.uk/watkins/wally] is
dedicated to the wonderful Wally series of games from MikroGen. 
  + Paul White's Adventure Alliance [http://www.thezxfiles.demon.co.uk/] has a
fair collection of adventure solutions, as well as back issues of his fanzine,
_The ZX Files_. 

                        EMULATOR/UTILITY/GAME AUTHORS   
                                       

  + [NEW] Nuclear ZX's home page is here
[http://158.195.16.137/~garabik/zx.html] . 
  + Chaga [http://chaga.bears.org/] is an update of _Virus_ for the PC, but it
works only with a 3Dfx Voodoo graphics card, which I'm not fortunate enough to
own :-(. 
  + James Purbrick has created Law
[http://easyweb.easynet.co.uk/~scarecrow/jim/law/index.html] , a Java version
of the classic _Chaos_. 
  + Arsen Torbarina's TapeFix [http://fly.cc.fer.hr/~arsen/tapefix/] - a
program to make your old Speccy tapes readable once more. 
  + Sentry [http://members.aol.com/icarte/sentry.htm] is an update of
Firebird's _Sentinel_ for Win95/98/NT. 
  + Joe Kelleher is writing a freeware 128K emulator for the Archimedes; check
out his progress on the Spec128 Homepage
[http://members.tripod.com/~JoeKelleher/Spec128/index.html] . 
  + [UPDATED] Manic Miner 32 [http://members.xoom.com/manicminer/] is a Win
9x/NT version of... work it out! 
  + Joceyln Gibart has created the Spectrum Tape Reader
[http://perso.club-internet.fr/jgibart/spectl/spectl.html] , a Win95 utility
to take your old Spectrum tapes and convert them into either .TAP or .TZX
files. 
  + [NEW] The R80 Spectrum Emulator
[http://personal.redestb.es/raulgomez/r80.htm] is the home of Ral Gmez
Snchez's R80. 
  + [NEW] 3D Ant Attack [http://shareware.gamespot.com/action/0003vg.html] is
a freeware update of _Ant Attack_ for Windows 3.x (but without any grenades
:-(). 
  + [NEW] Russian Spectrum [http://univer.omsk.su/students/GOBUZOV/rs.htm] is
Arcadiy's homepage, and has _Gun Commander_, a new front-end for TR-DOS. 
  + [NEW] Paul Robson's Sinclair Emulators
[http://users.aol.com/autismuk/sinclair.htm] page has a few emulators on it,
including Spec32. 
  + Anam [http://www.anam.demon.co.uk/spectrum/spectrum.htm] is Chris Wild's
Spectrum page, which has PC conversions of Lords Of Midnight and Doomdark's
Revenge, as well as the Spectrum Games Data Format Service, which contains
information on the data formats used by various games. 
  + Andy's Page [http://www.andyn.demon.co.uk/] has a great version of Manic
Miner for the PC, a preview version of Jet Set Willy, some games, and a
graphics ripping utility. 
  + Chris Young has a whole load of different versions of the fabulous
Advanced Lawnmower Simulator
[http://www.bigfoot.com/~unsatisfactory/als/info/] on his page. 
  + Ian Collier's xz80 homepage
[http://www.comlab.ox.ac.uk/oucl/users/ian.collier/Spectrum/index.html] - home
of xz80, believe it or not, and also has some +3 oddities to amuse you. 
  + Richard Carlsson's home page [http://www.csd.uu.se/~richardc/home.shtml] -
author of Speccylator, a Speccy emulator for the Amiga. You'll find a mention
of it right at the bottom of his page. 
  + Craig Rothwell's Depository [http://www.cdworld.co.uk/] has PC conversions
of _Jet Set Willy_ and the never-released _Great Giana Sisters_, as well as
his 5 CD of World of Spectrum. 
  + Delta 4 [http://www.delta4.demon.co.uk/] now have a web site, and rather
good it is too. Wander round Fergus' domain and marvel at the amount of
substances he must have taken in order to write such weirdness. Site
thankfully not removed as had been thought. 
  + [NEW] John Deverse has the source to his game, _Shadow Skimmer_ available
from his Speccie Game Source Museum
[http://www.deverse.com/Speccie/speccie.html] . 
  + DoggySoft [http://www.doggysoft.co.uk/] have written several Acorn ARM
Spectrum-related utilities. 
  + Igor Eged's Spectrum page [http://www.elf.stuba.sk/~eged/english.html] has
plenty of info about TR-DOS file conversion and he has several utilities for
dealing with this sort of stuff. 
  + [NEW] The PASMulator Home Page [http://www.emulnews.com/pasmulator/] is
the home of PASMulator. 
  + [NEW] The Hob home page [http://www.engis.co.uk/stuff/hob/] is the home of
Nigel Barford's Hob. 
  + Fifth Dimension Software have made a PC port of the Mastertronic game,
Pulsoid [http://www.fd.com.ua/pulsoid/puls.htm] . 
  + [NEW] The SpectrumOS Tech Page
[http://www.geocities.com/ResearchTriangle/4535/] has some details on the new
Spectrum operating system being worked on by Phoenix and Namco. 
  + [UPDATED] The ZX Spectrum Emulator Home
[http://www.geocities.com/SiliconValley/Bay/9932/] is the home of zx32. 
  + Pedro Gimeno's Spectrum Page
[http://www.geocities.com/SiliconValley/Hills/2099/spec/index.htm] is the home
of his Spectrum emulator, as well as some other utilities and the Spanish
versions of the +2/+2A/+3 ROMs. 
  + Ozzy's Computer Emulation Page
[http://www.geocities.com/SiliconValley/9723/sinclair.html] contains ZX-Base,
a Win95 database program for organising your spectrum programs, and a few
links. 
  + The Poke Finder Wizard
[http://www.geocities.com/SiliconValley/Hills/6277/] is an add-on program for
zx32 which helps you to find pokes for games. 
  + Andy Schraepel's pages moved here
[http://www.geocities.com/SiliconValley/Lakes/6144/] a while back, but it
doesn't look like the Spectrum stuff is going to re-appear :-(. 
  + [NEW] Tape Explorer [http://www.geocities.com/SiliconValley/Network/5212/]
, by Dan Fry, is a Win 9x/NT utility which gives you an Explorer-like
interface for viewing and editing .TAP files. 
  + Philip Kendall's Speccy page
[http://www.geocities.com/SiliconValley/Park/5427/spectrum.htm] which has some
FAQs, a Head Over Heels walkthrough, a Lemmings level designer and a snapshot
convertor which can handle the z80 v3 to z80 v2 conversion. 
  + [NEW] The MultiMachine Homepage
[http://www.geocities.com/TimesSquare/Stadium/4428/index.html] is the home of
Paul Hodgson's emulator. 
  + [NEW] James Sutherland's Home Page [http://www.guybrush.demon.co.uk/] is
the home for both his emulators, the DOS/Windows E++ and the Java Spectrum
Emulator. 
  + [NEW] The SimCoupe Homepage [http://www.hep.ucl.ac.uk/~ajs/simcoupe/] is
strongly related to SimCoupe. 
  + Rui Ribeiro's WSpecEm homepage
[http://www.idt.ipp.pt/~rff-ribe/wspecem.html] . It shouldn't tax your
imagination too much to work out what's here :-). 
  + [NEW] Szeredi Miklos' SpectEmu's home is here
[http://www.inf.bme.hu/~mszeredi/spectemu/] . 
  + [NEW] The Official MESS Home Page [http://www.internetter.com/titan/mess/]
claims that Spectrum emulation will be included in the next release of that
emulator. 
  + _HokeyPokey_ is Chris Ainsley's utility for finding pokes for Speccy
games, and is available from his Home Page
[http://www.ipcomputers.clara.net/underwurlde/] . 
  + Dominic Morris's Speccy Page [http://www.jb.man.ac.uk/~djm/spectrum/] has
_DiSCDOS_, a utility to read +D and Disciple discs on a +3, and _Slowdos_, the
same thing for MS-DOS disks. 
  + Stephen Smith, for reasons best known to himself (and probably involving
small furry animals), has knocked up Java Chaos!
[http://www.jonlan.demon.co.uk/games/chaos/] . Yes, you too can battle wizards
just like in, er, Chaos. 
  + Marat Fayzullin's home page [http://www.komkon.org/fms/] - author of
emulators for the MSX, NES, Colecovision, Game Boy etc. and at least one
Spectrum-related utility (Butcher). Spectrum material not updated for some
time; even links to the very old text-only version of the FAQ as maintained by
Marat some time ago. 
  + [NEW] The SPEC homepage [http://www.methedrine.demon.co.uk/spec.html] is
the home of Robin Edwards' SPEC and SpecX emulators. 
  + [NEW] The home of Speculator, the Playstation emulator, is the TRG Home
page [http://www.mmm.it/trg/] . 
  + John Dow has re-written Splat! [http://www.nelefa.org/splat.htm] for
MS-DOS. 
  + [NEW] Majik's PS-ZX emulator for the Playstation is at Net Yaroze Europe
[http://www.netyaroze-europe.com/~majik-zx/] , so you can't access it unless
you are a Net Yaroze member :-(. Some details about it are available though at
Majik's Homepage
[http://mudhole.spodnet.uk.com/~majik/sinclair/emulation/ps-zx.html] . 
  + [NEW] Sinclair Spectrum Emulator, the only Speccy emulator for the Psion,
has its homepage at Palmtop [http://www.palmtop.nl/spectrum.html] . 
  + Erik Kunze's XZX home page [http://www.philosys.de/~kunze/xzx/] . Erik
also now does a CD full of emulators and snapshots etc. 
  + [UPDATED] John Elliot has his 128K version of Jet Set Willy
[http://www.seasip.demon.co.uk/Jsw/index.html] available, along with his level
editor for it. Also available from this site is John's Spectrum TrueType font,
a patch to let xv load SCREEN$ files, a couple of Win9x startup screens, and a
Gooey Blob (from _Chaos_) screensaver. 
  + Adam Davidson & Andrew Pollard's JAVA Spectrum Emulator
[http://www.spectrum.lovely.net/] , complete with numerous snapshots to show
it off. Well worth a look! 
  + [NEW] The Spectrum Graphics Editor
[http://www.spider-man.demon.co.uk/main.htm] is, perhaps not too shockingly, a
utility for DOS and the Amiga which allows you to edit the graphics from
Spectrum snapshots. 
  + [NEW] The home of Christian Hackbart's Yet Another Spectrum Emulator is
here [http://www.tu-ilmenau.de/~hackbart/] . 
  + Pedro Salas' Sinclair home page [http://www.ugr.es/~pedrom/sinclair.htm] -
home of the Sinclair v3.00 emulator. 
  + Martijn van der Heide's has a collection of both his and other people's
utilities on World of Spectrum [http://www.void.demon.nl/spectrum.html] : see
the Essential Sites section for more details. 
  + [NEW] Warajevo has now acquired its own Home Page
[http://www.void.demon.nl/warajevo/index.html] ; there's a good load of stuff
here, other than the obvious download of the emulator itself. Well worth a
visit. 
  + James McKay's X128 - Spectrum Emulator [http://www.void.demon.nl/x128/] -
home of x128, the DOS, UNIX and OS/2 Speccy emulator. 
  + [UPDATED] Stuart Brady's Home Page [http://www.wholehog.demon.co.uk/stu/]
has some information on updated versions of _Manic Miner_ and _Jet Set Willy_,
and also a copy of Andrew Broad's description of the _Manic Miner_ room
format. 
  + Warm Silence Software [http://www.wss.co.uk/] - the producers of Z80Em. 
  + Steve Smith has put a couple of his utilities onto his otherwise pretty
standard Sinclair Spectrum [http://www.zoo.co.uk/~z0001275/spectrum.htm]
pages. 
  + Guillaume Genty's Homepage [http://wwwperso.hol.fr/~ggenty/] (also
available in English [http://wwwperso.hol.fr/~ggenty/indexgb.htm] ) is the
home of _out2ym_, a utility to convert the music from the .OUT files producted
by Z80 to .YM format. 
                                       
                              [Resources Part 2]
 
                                       
                                       

 
                  --===Spectrum FAQ - Resources (Part 2)===--
 

                        SPECCY-RELATED SEARCH ENGINES   
                                       

Note: generic web search engines no longer listed here. There are so many now! 
  + Hynek Med's Spectrum related files search
[http://drson.vse.cz/snapsearch/] - searches over several FTP/WWW sites to
match the filename you give it. Definitely the most useful search engine if
you're after a particular game. If it doesn't respond, check here
[http://manes.vse.cz/~xmedh02/snapsearch/] to find out why. 
  + The Sinclair section of Computing Site
[http://www.computingsite.com/computers/hardware/desktop_computers/sinclair/]
has a searchable selection of links. 
  + The World of Spectrum Search Page
[http://www.void.demon.nl/archive.html#search] allows you to search both the
World of Spectrum FTP site [ftp://ftp.gns.getronics.nl/pub/os/sinclair/] and
the NVG FTP site [ftp://ftp.nvg.ntnu.no/pub/sinclair/] by program name (the
latter thanks to Gerard Sweeney's NVG catalogue
[http://www.geocities.com/SiliconValley/Lakes/4871/] ). 
  + Yahoo's Sinclair page
[http://www.yahoo.com/Computers_and_Internet/Hardware/Personal_Computers/Sincla
ir/] - a few links, many out of date. Spectrum links now on a further page
[http://www.yahoo.com/Computers_and_Internet/Hardware/Personal_Computers/Sincla
ir/Spectrum/] . 
  + You can now search Doug Ealey's Spectrum Software Archive
[http://www.soton.ac.uk/~doug1/Spectrum/index.htm] using this form
[http://www.soton.ac.uk/~doug1/Spectrum/Search.htm] . 


                                  MAGAZINES   
                                       

  + Jonathan Nash has put YS2 [http://dspace.dial.pipex.com/ap2/ys2/] on-line. 
  + [NEW] Retro Classix [http://members.aol.com/RClassix1/INDEX.html] magazine
has some Sinclair-related stuff it in occasionally. 
  + Keith Ainsworth has some Speccy-related stuff on the Retrogamer Fanzine
Homepage [http://retrogamer.merseyworld.com/] . 
  + Unsatisfactory Software have created Your Sinclair: A Celebration
[http://www.bigfoot.com/~ysac/] , which is a collection of articles and
pictures from that magazine. The graphics have now been converted to .GIF
files, so hopefully we can all see them now! 
  + Your Sinclair [http://jumper.mcc.ac.uk/~simonc/ys/] - parts of some of the
later issues up on the web courtesy of Simon Cooke, YS's tech tips editor for
those issues. And he can have my YS badge for a million quid ;-). 
  + Steve Broad has put up Crash's Unclear User
[http://mycat.interspeed.net/billy/unclear.htm] spoof on-line. 
  + Staren Ett's Collection of ZX Spectrum [http://www.algonet.se/~staren/zx/]
has _The Complete Guide to Spectrum Software_, as was published by SU in 1985,
listing all the games which they had reviewed up to that point. 
  + Barry Plewa's Emulate!
[http://www.docbarry.demon.co.uk/sinclair/emulate.htm] is still on the Web,
despite what previous versions of this FAQ said. Emulate! has games, technical
stuff, reviews, chart listings, and much more. The plain text version is
available from ftp.demon.co.uk/pub/emulators/spectrum/magazines/emulate/
[ftp://ftp.demon.co.uk/pub/emulators/spectrum/magazines/emulate/] (though not
the last issue by the looks of things) and
ftp.nvg.ntnu.no/pub/sinclair/snaps/discmag/emulate/
[ftp://ftp.nvg.ntnu.no/pub/sinclair/snaps/discmag/emulate/] .
 Unfortunately, Barry seems to have given up writing Emulate!; he was
certainly getting rid of a load of his Speccy gear, which is bad news at
least. 
  + Crash [http://www.jabba.demon.co.uk/crash/] issue 1 at least; from Robert
Hazelby. Not updated since November 1996. 
  + [NEW] There's a fair chunk of the famous Jetman cartoon strip available at
Jedi's Wonderful World of Jetman [http://www.jediman.demon.co.uk/jetman.htm] . 
  + The CRASH Online Edition [http://www.mjwilson.demon.co.uk/crash/] by
Matthew Wilson has a fair amount of Crash available. 
  + The Nonowt Home Page [http://www.nonowt.demon.co.uk/] has eZine X, a large
collection of hints, reviews, etc from SU, YS and Crash, as well as the covers
of the first 48 issues of Crash. 
  + The Spectrum Oracle on Trumpton [http://www.oasanet.cz/yruarch/] is a
great big index of which magazine issues contained which features, etc. 
  + [NEW] The OS/2 e-Zine [http://www.os2ezine.com/v2n2/spectrum.htm] had a
feature on Thomas Ahn Kolbeck Kjr's x128 for OS/2. 
  + Miodrag Stancevic has put Sinclair User's cover tape from March 1992 on
his Home Page [http://www.sezampro.yu/~mstancevic/] . 
  + The Your Sinclair Rock'n'Roll Years
[http://www.the-den.clara.net/ys/cover.htm] : see the Essential Sites section. 
  + Andy Kavanagh's Spectrum Worship
[http://www.uea.ac.uk/~w9643451/computer/speccy.htm] has Your Sinclair's
'hilarious' "Kindly Leave The Stage", as well as an introduction to the Speccy
emulation scene. 
  + Jim Grimwood's Your Spectrum Unofficial Archive
[http://www.users.globalnet.co.uk/~jimg/] is, well, an unofficial archive of
the _Your Spectrum_ magazine. 
  + [UPDATED] Stewart Edgar has put up Stuart Campbell's Top 100 Spectrum
Games of All Time [http://www.york.ac.uk/~sfe100/spec/] (from YS) up on the
Web. 
  + Classix [http://ourworld.compuserve.com/homepages/wadster/speccypage.htm]
magazine was an A5 paper fanzine, but the author, Alex Waddington
[Wadster@compuserve.com] has run out of time to produce it, and Issue 7 will
be the last paper issue. Alex hopes that it will continue in a limited form
on-line, and he is also working for Alchemist (see below). Anybody who had a
subscription or had ordered Issue 7 is asked to send Alex a note, reminding
him how many issues they had paid for; Alex's postal address is:
 J A Waddington,
 11 Finsbury Drive,
 Wrose,
 Bradford,
 West Yorkshire,
 BD2 1QA.
 
  + _Format_ magazine is another paper magazine. The following is taken from a
posting made on the newsgroup by the people behind Format and implies no
recommendation from myself as I've not seen a single issue myself:
 
If you own a Spectrum (48K, +, 128K, +2, +3), a SAM (Coupe or Elite) then
FORMAT is the magazine for you. Published monthly since 1987 it is the longest
running mag of its type. Packed full of articles on programming and the like
it is a must for every Spectrum or SAM owner.
 
Available by subscription for just 12 per year (going up to 15 very soon so
hurry your order through) - overseas customers please email for rates.
 
Send name and address with cheque/postal order for 12 to:
 
Format Publications,
 34, Bourton Road,
 Gloucester,
 GL4 0LE.
 Phone 01452-412572 (UK)
 Email: FormatPub@aol.com [FormatPub@aol.com] 

Bob Brenchley [BrenchleyR@aol.com] of Format is also after writers for the
magazine, so give him a shout if you think you can write articles on any
subject related to the Spectrum or SAM Coupe.
 
  + There is also _Alchemist News_, a tape-based Spectrum magazine. Past
issues can be found on NVG:
ftp.nvg.ntnu.no/pub/sinclair/snaps/discmag/alchnews/
[ftp://ftp.nvg.ntnu.no/pub/sinclair/snaps/discmag/alchnews/] and you are best
off reading one of them for more information, or heading to their web pages
[http://www.alchemist.clara.net/] . 
  + Crashed [http://www.argonet.co.uk/users/sskardon/] is a paper-based SAM
and Speccy magazine, edited by Stewart Skardon [crashed@argonet.co.uk] and
Mark Sturdy [pyumi@csv.warwick.ac.uk] . The cost is 1.50 for one issue, or 8
for 6. Apparently, if you mention comp.sys.sinclair [comp.sys.sinclair] when
ordering issue 20 (December '97), you can that issue for 1. Send cheques
payable to 'Crashed Magazine' to
 Pear Tree Cottage,
 North Deighton,
 Wetherby,
 LS22 4EN
 Again, I haven't actually seen an issue, so I can't comment on it. 

                                MISCELLANEOUS   
                                       

  + [NEW] Filipe Silva's Spectrum Page
[http://atlantis.fe.up.pt/~ftpmaint/engl/spectrum.html] is just links. 
  + The Sinclair Spectrum Users Club
[http://clubs.yahoo.com/clubs/sinclairspectrumusers] is a Speccy-related
message board on Yahoo!. 
  + There is a page about a _very_ old version of xzx here
[http://eigen.ee.ualberta.ca/hppd/hpux/X11/Misc/xzx-0.5.4/] . 
  + The Spectrum section of EmuSpain [http://emuspain.encomix.es/spectrum.htm]
is just small collection of links. 
  + Andrew Newberry has a list of his retro-computing stuff (including some
Sinclair stuff) on his Web page [http://freespace.virgin.net/andrew.newberry/]
. 
  + [NEW] Tony Brown's Computer Collection
[http://freespace.virgin.net/tony.brown1/computer/] is yet another one with
pictures of various machines on it. 
  + Gozdek's ZX Spectrum Site [http://friko3.onet.pl/wa/gozdekzx/] is all in
Polish, so I don't understand much of it. 
  + Johan Andersson's page [http://ic1.ic.chalmers.se/~johan/speccy.html] -
not much there; he had planned to dedicated the page to Speccy programmers and
hackers and include sections like Peek 'n Pokes, Z80 instructions and timings,
and more, but this has not happened from what I can see. Not updated since he
started it several months ago, and didn't respond when tested on 15 May 1998. 
  + Spectrum Appreciation Society
[http://members.aol.com/jozxyqk/specmain.htm] . Windows version of _Advanced
Lawnmower Simulator_ and a selection of sound samples from Speccy games. 
  + Eidolon's Inn [http://members.tripod.com/~Eidolon77/spec.htm] has a
Spectrum section, but its not much more than a couple of links. 
  + Viking's ZX Spectrum corner
[http://members.tripod.com/~eugenez/spectrum.html] is just a brief description
of his Spectrum history and five links. 
  + There's a selection of Speccy-related icons available on Anton Belenki's
TimexFun Icons [http://members.tripod.com/~timexfun/icons.html] page. 
  + [UPDATED] Borgar Waade has a list of old home computer games (including a
couple of Speccy ones) which have been converted to the PC on his Remakes
[http://w1.2222.telia.com/~u222200549/remakes/] page. 
  + Pavel Riha's ZX Spectrum [http://sorry.vse.cz/~xrihp01/speccy/] page. Once
again, my Czech has let me down, so I can't tell you too much about what's
here ;-(. 
  + Stephen L. Judd's The Fridge
[http://stratus.esam.nwu.edu/~judd/fridge/speccy/] contains "lots of
C64/Spectrum related text files from the great spring 1997 Flamefest". 
  + Bruno Rino's Links page [http://student.dei.uc.pt/~rino/links.html] has a
few Speccy links at the bottom. 
  + Staffan Vilcan's Sinclair Nostalgia Products [http://surf.to/zx/] has a
screensaver, a couple of counters, some MIDI files of Spectrum music and a few
snaps. 
  + Any comments on Vladimr Weinzettl's ZX Spectrum a Didaktik
[http://tokamak.ipp.cas.cz/~vwei/czech/zx/zx.htm] are hampered by the fact
it's in Czech. Anyone? 
  + Tomaz Kac's ZX Corner [http://warez.sd.uni-mb.si/zx/] has very brief
reviews of some of the emulators and utilities available. 
  + Gozar has a Sinclair Spectrum
[http://weber.u.washington.edu/~gozar/emu/spec.html] page with a few emulators
and links on it. 
  + Ixtab's Homepage
[http://www-public.rz.uni-duesseldorf.de/~eymers/main.html] is just some
moderately out-of-date links to emulators and a few sites. 
  + [NEW] Rob Learner has a not particularly large collection of Speccy stuff
for sale or trade listed here
[http://www.angelfire.com/sd/TechnoWonderland/ForSale2.html] . 
  + El Mundo del Spectrum [http://www.arrakis.es/~tecnilin/spectrum.htm] is a
Spanish site with a fair amount of stuff on it, including Miner Willy's life
history, the "Everyone's A Wally" music, demos and some pokes. 
  + Mat Simpson's anally retentives retro games home
[http://www.arrgh.demon.co.uk/index.html] is a general retro games site, but
has some Speccy stuff, including a couple of Mac fonts, an animated .GIF of
Jet Set Willy and some info on some of the people/companies (eg Ultimate and
Imagine). 
  + There is a list of retro-computing stuff for sale (including some Speccy
games) available at 8-bit computers
[http://www.babyspice.demon.co.uk/8bit.html] . 
  + The Spectrum Webring [http://www.breezer.demon.co.uk/spec/webring.html] -
go on, take a guess! A full list
[http://www.webring.org/cgi-bin/webring?ring=spectrum;list] of members is also
available. 
  + The World Centre of Palaeo Computing [http://www.chez.com/cmpi/] is
basically just a list of the old machines collected by a couple of French
guys. 
  + The Timex Sinclair 2068 [http://www.cris.com/~Alxevans/TS2068.html] page
is a brief history of that machine. 
  + The Acorn Emulation Page
[http://www.cybervillage.co.uk/acorn/emulation/spectrum/index.htm] has some
reviews of Speccy emulators for RISC OS. 
  + The Spectrum section of retro gaming
[http://www.diamondblack.demon.co.uk/] has a couple of emulator links, as well
as a brief history of the Speccy. 
  + Lex Klassen's ZX Spectrum Page [http://www.doge.nl/~leks/spectrum.html]
has links to Z80 and zx32 on WoS, as well as some more general Speccy links. 
  + The Digital Century Encyclopedia contains a (rather inaccurate) entry on
Sir Clive [http://www.digitalcentury.com/encyclo/update/timexsin.html] . 
  + Sinclair ZX Spectrum Flyer
[http://www.earth.ox.ac.uk:80/~steve/Spectrum/index.html] - some old
advertising bumph. Not updated for some time. 
  + Retrospectrum [http://www.telegraph.co.uk/] is an article written by David
McCandless for the Daily Telegraph of 17 Sep 1998; the link here is to the
Telegraph main page as that's what the Telegraph webmasters like... the
easiest way to get to the article is to use the search engine for
"retrospectrum". 
  + Lee Friend has produced 100% ZX Spectrum
[http://www.fortunecity.com/skyscraper/pascoe/633/] which has some history and
a couple of downloads. 
  + Den Store PC-Emulatorguiden, del tre
[http://www.games.no/magasin/aktuelt/1997/07/emulator3.html] is an
introduction to the Speccy emulator scene, but it's all in Norwegian(?), so I
can't tell you much more... 
  + [NEW] The Chuckie Egg Appreciation Society
[http://www.geocities.com/SiliconValley/5812/index.html] believe that Chuckie
Egg is the highest quality game ever released. Rather out of date page,
though... 
  + [NEW] La p&aacute;gina del Spectrum
[http://www.geocities.com/SiliconValley/7322/] is some out of date links. 
  + Spectrumania! [http://www.geocities.com/SiliconValley/Lakes/2477/] from
Manuel Milln; info, links and snapshot requests in English and Spanish. 
  + El museo de los 8 bits
[http://www.geocities.com/SiliconValley/Lakes/8403/museo8.htm] has some
pictures of the Spectrum, as well as other 8-bit machines. 
  + Homage to the Sinclair ZX Spectrum
[http://www.geocities.com/SiliconValley/Pines/6024/spect-uk.htm] ; an eloquent
homage to the ol' Speccy from a true fan! 
  + Richard Jeffery's ZX Spectrum Rulez OK?
[http://www.geocities.com/SiliconValley/Pines/6460/] just has some links and
promises of things to come. 
  + The ZX Spectrum Realm [http://www.geocities.com/TimesSquare/Realm/9321/]
is a fairly standard emulators, games and links site. 
  + The UK Classic Collectors Database
[http://www.gyruss.demon.co.uk/ccnuk/index.html] is a listing of people
interested in retro-computing, some of whom purport to be interested in "Home
computers", which may or may not include the good old Speccy. 
  + Kevan's Computer Bits
[http://www.heydon.org/kevan/collection/manufacturer-sinclair/spectrum.html]
is a list of the Sinclair machines which he has collected. 
  + The History of Home Computers
[http://www.hh.schule.de/hhs/computer/english/hc_index.htm] is a long list of
home computers, with info on many of them, including some of the Speccy
variants. 
  + Kev Ellis' pages [http://www.ellis-online.co.uk/sinclair/] have a link to
x128, as well as a list of his top ten games. 
  + Tero Juhani Jyrinki's Spectrum Page
[http://www.hut.fi/~tjyrinki/english/spectrum.html] is a small collection of
links. 
  + Nick Savoiu has a list of links on his Sinclair ZX Spectrum Switchboard
[http://www.ics.uci.edu/~savoiu/spectrum/] that haven't been updated for some
time, and has an animated 'busy' cursor for Windows 95/NT on this page
[http://paul.rutgers.edu/~savoiu/snoware/anima.html] which is quite well done
and worth a go; co-author of WinXZX. 
  + There is now a Spectrum and ZX81 Technical Information Board
[http://www.insidetheweb.com/messageboard/mbs.cgi/mb69423] available. 
  + Maksim Uustalu's ZX Spectrum Rules! [http://www.lai.ut.ee/~madmax/] . Just
a link to NVG's Web pages, as far as I can tell. 
  + The essential beginner's guide to the Spectrum
[http://www.lizard.org/spectrum/] is a nice introduction to the Spectrum, both
in its original and emulated forms. Its related ftp site
[ftp://ftp.lizard.org/pub/spectrum/] has a slightly outdated selection of
emulators, and a nice collection of games (which for some reason are mostly
uncompressed). 
  + Marco Fichera's ZX Spectrum [http://www.mirostudio.com/zx/] pages are a
fairly standard emulators/games/links set, but in Italian for a change :-). 
  + Visit Enrico Tedeschi's Old Radio Digital World
[http://www.ndirect.co.uk/~e.tedeschi/] , where, among all the old radio
stuff, you'll find much on Sinclair memorabilia and details of his book,
Sinclair Archaelogy. 
  + Nick Wittering's _Manic Spectrum Mine_; link removed - most of his site
consists only of a large chunk of this FAQ ripped off uncredited despite
complaints being made to him and his ISP. Twerp. 
  + Adrian Petford's Home Page
[http://www.petford.demon.co.uk/adrian.html#Spectrum] has a few Speccy
resources on it. 
  + Tomasz's Sinclair ZX-Spectrum Page
[http://www.ps.uci.edu/~tomba/spectrum.html] is a pretty out-of-date list of
links, and a couple of screenshots. 
  + Special Reserve's Retro Corner
[http://www.reserve.co.uk/www/public/retro/spectrum.html] is just a quick
explanation of what a Speccy is, and some links. 
  + Sinclair Research [http://www.sinclair-research.co.uk/] now have a small
Web site; it's basically devoted to their current products, but there is at
least a brief mention of the Speccy on the links page. 
  + [NEW] Pel's ZX Spectrum Page [http://www.soton.ac.uk/~pelham/spectrum.htm]
just has a copy of JPP and 4 games on it. 
  + Steve Cooper's Sinclair Page
[http://www.stokesay.demon.co.uk/sinclair.htm] is another one with pictures of
the machines. 
  + The Machine Room [http://www.tardis.ed.ac.uk/~alexios/MACHINE-ROOM/] ,
created by Alexios Chouchoulas, is another collection of pictures of
computers. 
  + Camelot Web's Sinclair ZX Spectrum 48/128
[http://www.telcom.es/camelot/szxspec.htm] section is just a collection of not
particularly up-to-date links. 
  + [NEW] Sren Tjrnov's ZX Spectrum
[http://www.tjornov.dk/spectrum/emulatorer/index.html] site is all in Danish
(apart from a mirror of this FAQ), so I can't tell you much about it :-(. 
  + Christian Champion's Sinclair Emulation Roms and Emulators
[http://www.v-champion.com/sinclair.htm] is another page of out-of-date links. 
  + V&H Accountancy Services [http://www.vandh.demon.co.uk/vh.htm] published a
couple of books related to the Speccy in the early eighties. 
  + Damian Audley's Speccy Page
[http://www.wam.umd.edu/~audley/english/speccy.html] - mostly links for Mac
emulators etc. Looks like he's back to maintaining this page now after a good
few months without any updates. 
  + Marco Vaquier's Speccy Page [http://www.xs4all.nl/~wij2/speccy.html] is
just a few links. 
  + Digitiser, Channel 4's Teletext service, wrote "Hat's Off to Mr Spectrum
[http://www1.teletext.co.uk/digi/memory1.htm] ", a brief look back at the
Speccy, in January 1997. 
  + The Trading Post [http://www1e.btwebworld.com/tradingpost/] has a large
number of Spectrum parts for sale, as well as the +2 and +3 manuals. 
  + Gerard Laures' Sinclair Computers
[http://www2.vo.lu/homepages/gerard.laures/Sinclair/Sinclair.html] is another
one with pictures of the Speccy and its friends. 

                          NEWS GROUPS/MAILING LISTS   
                                       

  + comp.sys.sinclair [comp.sys.sinclair] is the main group for the English
speakers amongst you. 
  + For the Spanish, es.comp.emuladors [es.comp.emuladores] apparently carries
some Sinclair-related traffic. 
  + Whilst the Russians have fido7.zx-spectrum [fido7.zx-spectrum] and [NEW]
relcom.comp.speccy [relcom.comp.speccy] . 
If you don't have Usenet access, comp.sys.sinclair has a mailing list mirror:
 Send mail to lserv@psg.com [lserv@psg.com] with the following in the BODY of
the message:
 
subscribe sincnews yourusername@your.domain
 
Don't put anything else in the body of the message.
 
[NEW] There is also a mailing list for TS2068 users; send a blank, subjectless
e-mail to 2068-request@unixville.com [2068-request@unixville.com] for details
of how to subscribe.
 

                             INTERNET RELAY CHAT   
                                       

The channels #spectrum and #sinclair are now officially registered with
DALnet; here are some DALnet servers:
 
liberator.dal.net (UK) (port 7000)
irc.dal.net (USA) (port 6667)
igc.dal.net (USA) (port 6667)
 
If you are interested, please email Theo Develegas [icarus@acropolis.net] (his
IRC nick is __Wind__), so that he can fix some online meetings (though we
haven't heard from Theo in some time so he may have moved on).
 
Additionally, in Poland the the #z80 channel can be found on the following
servers (default port), and you'll usually find someone about between 12:00
and 16:00 CET:
 
poznan.irc.pl
krakow.irc.pl
warszawa.irc.pl
 

                            BULLETIN BOARD SYSTEMS   
                                       

  + ZX-LAND BBS in Poland: +48 043782892. Up from 22:00 to 00:00 (CET)
weekdays. No software here but you can talk about hardware problems with the
apparently very knowledgeable Jaroslaw Adamski. Use 9600,8,1,n modem settings. 
  + Hernan Lo Iacono [calvo@nat.com.ar] 's BBS is the first Argentine BBS
promoting the user of Sinclair machines and emulators and also has a web page
[http://www.nat.com.ar/sinclair/] and FTP site
[ftp://ftp.nat.com.ar/sinclair/] . 
  + The Bus Stop BBS in England: +44 1273 774121 (go to area 34)
 I had a quick look around this one many moons ago, and it was almost empty. I
took another look in December 1996, and it was still practically empty. Not
worth the phone call in my opinion, unless the sysop actually bothers to add
some files. 
  + Emulator BBS in England: +44 1284 760851
 Allan (aka Fatta Agnus, sysop) has a well-stocked BBS here, with a fair
amount of Speccy stuff as well as stuff for other 8-bit machines; it should
include at least most of World of Spectrum by the time you read this. Users
get to have a 1Mb area to themselves for putting up a virtual homepage - a web
page viewable by other BBS users but not actually on the internet. 
  + Venture BBS in Finland: +358-0-8092126
 Over 600 games, all listed alphabetically with full game name, all working.
Also carries the newest versions of all the major Spectrum emulators. Carries
comp.sys.sinclair [comp.sys.sinclair] . Sysop can be contacted via
pizza@venture.fipnet.fi [pizza@venture.fipnet.fi] , or see his homepage
[http://www.evitech.fi/~arttuiy/] . 
  + Sinclair Computer Connection (SCC) BBS (in the USA?): 305-945-8274 
The following boards are in Spain, the information coming from Eduardo Garca
Gallego's Spectrum page [http://zipi.fi.upm.es/~a920142/spectrum.html] .
Thanks Eduardo! If anyone knows any more about these boards, please let me
know [pak21@cam.ac.uk] .
 
    + Camelot BBS in Spain: +34 1 501-2652
 28.8 and Members Only 
    + Citfi BBS in Spain: +34 1 517-0947 28.8, Free. 
    + EDiSoN's TeMPLe in Spain: +34 1 551-0065 28.8, Free. 
    + Emporium BBS in Spain: +34 1 378-2005 28.8, Free. 
    + Espritu Navideo in Spain: +34 1 693-0276 28.8, Free. 
    + Lim BBX in Spain: +34 42 542496 28.8, Free. 
    + Sakery Fox BBS in Spain: +34 1 413-9855 28.8, Free. 

                                 USER GROUPS   
                                       

  + Greek Spectrum Club [http://users.forthnet.gr/xan/spectrum/main.htm] 
Seem a little crazy but then again we all must be to be playing with Speccies
in this day and age... 
  + _Independent Eight Bit Association (IEBA)_
 Not purely a Sinclair group, their main project is an 8-bit directory, which
aims to list clubs, magazines, repairers, suppliers, etc for all 8-bit
machines. For more information, send your address to the publicity officer,
Brian Watson [brian@spheroid.demon.co.uk] , or at:
 39, High Street,
 Sutton,
 Ely,
 Cambs,
 CB6 2RA. 
  + _Long Island Sinclair Timex Users Group_
 This is a very active user group that supports all the Sinclair and Timex
computers in the USA. They still publish a monthly newsletter, have monthly
meetings and give technical support to Sinclair and Timex users. For further
information and a sample newsletter contact:
 
Long Island Sinclair Timex Users Group (L.I.S.T.)
 c/o Robert Glider
 69 Jefferson Place
 Massapequa, N.Y. 11581
 USA
 
Alternatively, e-mail Fred Stern [timexfs2@aol.com] or Bob Malloy
[bmalloy@chelsea.ios.com] . 
  + Spectrum Profi Club [http://helga.nt-fs.fh-koeln.de/~efmeurer/spc.html] in
Germany. 
  + Spectrum User Club [http://www.online.de/home/sintech/] 
This is also the page of the company SINTECH, who are one of the few companies
left that sell Spectrum software on tape/disk at original prices! They also
sell new/used Spectrum hardware. They are about to join forces with Spectrum
Profi Club. 
                                       
                                       

                      --===Spectrum FAQ - Emulators===--
 
The number of available emulators continues to grow at a surprising rate;
there are now a total of 78 emulators (if you include each incarnation of the
multi-platform ones). As ever, if you know of one not listed here, please 
[pak21@cam.ac.uk] . So far every single update of this FAQ since September
1996 has had new emulators included! I have heard of Speccy emulators for the
Amstrad CPC (possibly called ZXEmu and emulating only a 16Kb Speccy and by
Andy Wright/Betasoft) and the Enterprise but have no details on them. Any info
very welcome.
 
Authors, where known, are in (brackets) after the name of the emulator. PLEASE
don't bother these guys asking for an emulator; there are plenty of places to
get the emulators from, and I list example addresses. 

The features of each emulator are listed in the following set order: 
  1. Emulation: 48/128/+2/+3/Multiface/Disciple/Interface 1/etc. 
  2. Loadable formats - e.g. .SNA, .Z80 etc. 
  3. Saveable formats. 
  4. Real tape loading - type of support offered. 
  5. Requirements - video, processor etc. 
  6. Speed. 
  7. Status: freeware/shareware/commercial/etc. 
  8. Good points. 
  9. Bad points. 
  10. Other comments. 
  11. Site available from. Please note that these are not the *only* places to
get the emulator from; there are many other sites, but the directories may be
different. Try a WWW/FTP search for the name of the archive file if the site
listed is too slow for you. 

                                  BENCHMARKS   
                                       

*[Note: this section is basically out-of-date: many of the emulators listed
below aren't the latest version, and the PC that the PC emulators were tested
on is much less powerful than what I imagine most people are using these days.
However, some of this information may be useful, so I'll leave it here for a
while at least - Phil]*
 
Ribic Samir (PC emulators),  [mackay@sedgehill.lewisham.sch.uk] (most Amiga
emulators) and  [unsatisfactory@bigfoot.com] (Spectrum128) have supplied the
following benchmarks. As these are BASIC programs they are not fully
representative of the speeds of the emulators; some emulators use tricks to
speed up BASIC execution and the variations within machine code programs can
show remarkable differences between emulators running the same game.
 
The DOS/Windows emulators were tested on 486 SX/33 with VGA, no resident
drivers, 48K mode, xz80 by Ian Collier on a Sparc 2, and the Amiga emulators
(except Spectrum128) on an A1200 with a 68030 at 50MHz and 10MB RAM.
Spectrum128 was tested on a 40MHz 68030 with 10MB of RAM. If not otherwise
stated, assume full speed mode. Time is measured in seconds with a wrist watch
(so, accuracy is up to 1 second). Thanks to  [robda@parallel.demon.co.uk] for
trying the benchmarks on a real Spectrum 128 in 48K mode.
 
According to Ian, xz80 times each instruction and gives a close match to the
time a real Speccy should take; accordingly, the times for these tests should
take approximately 49.7, 29.6 and 10.6 seconds. As test 3 should obviously
take 10 seconds, this shows the error factor in xz80's predictions (due
probably to the timing start/stop point being off due to program
loading/finishing delays).
 
1) 10 FOR I=16384 TO 23296
   20 POKE I,255
   30 NEXT I
2) 10 FOR I=16384 TO 23296
   30 NEXT I
3) BEEP 10,0
Emulator         Test 1            Test 2             Test 3  sound quality
Real Speccy 128    51               30.2                  10  clean :)
(in 48K mode)
JPP                14                8                     3  damaged
PJPP               50               29                    10  damaged
Roman ZX           21               13                     4  clean
Sinclair v0.99     22               12                     5  clean
VGASPEC            34               14                     5  bit damaged
SPEC386            21               13                     4  clean
Sinclair 2.0       19               11                     4  clean
SP                 14                8                     3  clean
SpecEm             41               24                    10  damaged
SP_EMU/SP_UKV      18               11                     3  clean
SP105              42               25                    11  very damaged
Warajevo           15                8                     3  clean
Warajevo 128 in 48 18               10                     3  clean
WSpecEm          2:52             1:18                    20  very damaged
Z80 3.05           20               12                     3  damaged
Z80 100% speed     50               29                    10  damaged
SPECEMU          1:15               43                    19  clean
Spectrum128	10:40		  5:21			 N/A  N/A
Spectrum v2.0      40               20                    10  clean
Speculator v1.0    35.2             20                    10  clean
ZX (Garabik)       13                8                     3  clean
ZX (Rindt/Brukner) 17               11                     2  clean
X128             2:29             1:32                    23  damaged
XZ80              40.4              22.3                 7.9  damaged *
ZXAM              48.5		    28		          10  clean
ZXAM (Full speed) 37.8     	    22      		 0.4  damaged
 
* running at top speed. At normal speed it is clean.
 

                              Multiface Problems   
                                       

Some emulators have Multiface [128] emulation, but do not supply the Multiface
ROM because it is copyrighted and the authors require a license fee to be
paid. However, Z80 does include this ROM, because Gerton Lunter has licensed
it. This is really a bit of a silly situation, as Z80 is freely available as
shareware - so the ROM is also then freely available! You can extract the ROM
from the roms.bin file; all you need to know is in the techinfo.doc file that
comes with Z80. It is not something you can do without either a little
programming or a small utility to extract part of a file. Not that I condone
any possible breach of copyright; your use of this utility to extract the ROM
is only permitted if you own a real Multiface. You would be in breach of
Romantic Robot's copyright if you were to extract the ROM without owning the
real thing.
 
                                       
                                       

 
               --===Spectrum FAQ - Emulators - DOS/Windows===--
 
                                       
                             34 emulators listed:
                                       
 [E++] [Elwro] [JPP] [MultiMachine] [Nuclear ZX] [PASMulator] [R80] [Roman ZX]
     [SimCoupe] [Sinbas] [Sinclair] [SP] [SPEC] [Spec32] [Speccy] [SpecX]
  [SPECTRUM] [Spectrum Emulator] [Suzanne's Spectrum Emulator] [UKV Spectrum
Debugger] [Warajevo] [WinXZX] [WSpecEm] [x128] [Yet Another Spectrum Emulator]
  [Z80] [Z80 TR-DOS] [ZX] [ZX32] [ZX Emulator] [ZX-Jam] [ZX Spectrum Emulator
             128K] [ZX-Spectrum Emulator] [ZX Spectrum Simulator] 


          E++ v1.03 (James Sutherland [james@guybrush.demon.co.uk] )   
                                       

  1. Emulates Spectrum 48K with Kempston joystick. 
  2. Loads SNA snapshots (from the command line only). 
  3. No snapshot saving. 
  4. No real tape support. 
  5. Requires VESA 2 compatible video card or drivers (though if you bypass
the menu by giving it a snapshot filename on the command line you can run it
without such drivers). 
  6. Speed acceptable on a P100. 
  7. Freeware, though see the included license. 
  8. Also emulates a number of arcade machines, e.g. Centipede Phoenix,
Invaders, and does them very well. 
  9. Very basic compared to other Speccy emulators. Z80 emulation not entirely
correct; e.g. Commando and Ghosts 'n Goblins do not run correctly (This is an
undocumented flags problem). 
  10. Source released and author welcomes improvements/ports from others. 
  11. Available from E++ homepage
[http://www.guybrush.demon.co.uk/e/index.html] or World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/E103.zip] . 

              Elwro 800-3 Jr v1.0 (Piotr Schmidt & Piotr Wolter)   
                                       

  1. Emulates an Elwro - not 100% compatible with ZX Spectrum (the real Elwro
had problems with JetPac while other games were ok) - with two disk drives
accessed via * commands (e.g. SAVE * "file") with capacity of about 700kB.
These are physically files. 
  2. Loads files from disk. Snapshots/tape files? 
  3. Saves files to disk. Snapshots/tape files? 
  4. Real tape support? 
  5. Requires Hercules, CGA or EGA. 
  6. Speed? 
  7. Commercial only. 
  8. Capable of running CP/M. Changeable interrupt frequency (45, 50, 65, 70
Hz). Comes with utility to read the real Elwro Junior disks on PC. 
  9. Bad points? 
  10. All system messages are in Polish. 
  11. Available from? 

                  JPP (Arnt Gulbrandsen [agulbra@troll.no] )   
                                       

  1. Emulates 48K Spectrum, Kempston joystick (using PC joystick). 
  2. Loads .SNA snapshots and from sampled tapes (.VOC). 
  3. Saves .SNA snapshots. 
  4. Tape support (read-only) via sampled sound files (.VOC). 
  5. Requires VGA. Real-speed version requires 386 or above. 
  6. 386/25MHz or faster is needed for the best perfomance. 486/25MHz or
386/44MHz is needed for good sound emulation. 
  7. Freeware. 
  8. Includes program for reading and converting snapshots from MGT disks.
Also includes a very old version of SPConv. Two versions; JPP and PJPP, the
latter being an exact-speed version. 
  9. Screws up system screen mode on quit. Restore with MODE CO80 command. Z80
emulation - R register imperfectly emulated. 
  10. Two versions supplied; one for slower machines, and one (PJPP) for
faster machines; PJPP has better emulation and emulates the FLASH attribute
and the border. No longer being updated (last version was in 1992). 
  11. Available from NVG
[ftp://ftp.nvg.ntnu.no/pub/sinclair/emulators/spectrum/pc/dos/jpp.zip] or
World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/jpp.zip] . 

  MultiMachine v1.3b (Paul A. Hodgson [paul.hodgson@multi-machine.demon.co.uk]
                                     )   
                                       

  1. Emulates 16/48/128K Spectrum, +2/+2A/+3 and the Timex TS2068. 
  2. Loads .ACH, .PRG, .SNA (both 48K and 128K variants), .SNX, .SP, SLT (and
LLT), .Z80 and .ZX snapshots, from Z80's and Warajevo's .TAP, .TZX and .VOC
tapes and from .DSK disks. 
  3. No saving yet. 
  4. No real tape support. 
  5. Requires Win95/NT and DirectX 5.0 (DirectX 5.0 is currently not available
for WinNT though :-(); ports to other OSs are planned. 
  6. Runs faster than a real Spectrum on this P100. 
  7. Freeware. 
  8. Good contended memory emulation, nice UI and generally well-polished. 
  9. Incomplete Z80 emulation(?): some snaps cause a crash (eg _Match Day
II_); no 'flash' loading of tapes, and loading of 128K .SNA snaps is broken. 
  10. MultiMachine is so called because not only does it emulate all the main
Speccy models, it also emulates the Amstrad CPC 464/664/6128/464+/6128+, the
ZX80/ZX81/TS1000, the Jupiter Ace, the Elan Enterprise, with plans for the
MSX, PCW 8000 and Tandy TRS-80 ranges! 
  11. Available from the MultiMachine Homepage
[http://www.geocities.com/TimesSquare/Stadium/4428/index.html] or World of
Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/windows/MTMW130b.ZIP]
. 

   Nuclear ZX v3.69 (Radovan Garabik [garabik@center.fmph.uniba.sk] , Lubomir
                  Salanci [salanci@center.fmph.uniba.sk] )   
                                       

  1. Emulates 48K Spectrum with ZX printer. 
  2. Loads .SNA and its own .SNP snapshot format and from .TAP and its own
.LTP tape files. 
  3. Saves its own .SNP snapshot format and to .TAP and its own .LTP tape
files. 
  4. Real tape support via external program. 
  5. Requires Hercules, CGA or VGA. 
  6. One of the fastest emulators. 
  7. Freeware. More than $8 or poem about Spectrum for source code. 
  8. Tape file emulation supports some non-standard loaders (even from
ordinary .TAP file). Many Hercules modes supported. Comes with program to
convert .SNP to .Z80, .SNA to .SNP and .TAP to .LTP files and vice versa. Has
a simple debugger. 
  9. R register incorrectly implemented, only one of flash and bright paper
can be displayed at a time, and the flash emulation flashes only the ink, not
the paper colour. 
  10. Previously known as ZXSpectrum_v3.67, and as ZX in this FAQ. 
  11. Available from the author's home page
[http://158.195.16.137/~garabik/zx.html] , as well as World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/nuclear_zx.zip] . 

  [NEW] PASMulator 0.22 (Paulo S&eacute;rgio Cardoso [pscardoso@lme.usp.br] ) 
                                        
                                       

  1. Emulates 48K Spectrum/TK95 (Brazilian Spectrum clone), and a whole load
of arcade machines. 
  2. Loads .SNA files. 
  3. No saving. 
  4. No real tape support. 
  5. Requires Win9x and DirectDraw. 
  6. Speed? 
  7. Freeware? 
  8. Comes with a built in monitor/disassembler; source code (Delphi 2.0) also
available. 
  9. Spectrum emulation is pretty simplistic. 
  10. No other comments. 
  11. Available from the PASMulator Home Page
[http://www.emulnews.com/pasmulator/] . 

          [UPDATED] R80 v 0.06 (Ra&uacute;l G&oacute;mez S&aacute;nchez
                        [raulgomez@mx3.redestb.es] )   
                                       

  1. Emulates 48K, 128K, +2 and +2A Spectrums, Pentagon (Russian Speccy
clone), Multiface 128, and Kempston and Sinclair joysticks. 
  2. Loads from .Z80, .SIT, ..SNA (48K and 128K) and .SP snapshots, from .BLK,
.TAP, .TZX and .VOC tapes, and from .TRD disk files. 
  3. Saves .SNA and .Z80 snapshots, .TAP tapes and .SCR, .PCX or .GRP
screenshots. 
  4. No real tape support. 
  5. Requires a VGA, 486 DX4-100, 2Mb of RAM and an Adlib or GUS soundcard for
128K sound. VESA 2.0 is "highly recommended" (though it runs fine without). 
  6. Runs at normal Spectrum speed on this P100; it did seem to run about 20%
slow on an WinNT 4 machine I tried it on. 
  7. Freeware. 
  8. Now comes with a nice GUI. Has a built-in debugger and you can configure
the keys you want to use to emulate the Speccy joystick. 
  9. The Spectrum's beeper is emulated only via the PC's beeper, and it sounds
pretty horrible! 
  10. No other comments. 
  11. Available from R80 Homepage
[http://personal.redestb.es/raulgomez/r80.htm] or World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/r80v004.zip] . 

                         Roman ZX (Roman & Easy Inc.)   
                                       

  1. Emulates 48K Spectrum. 
  2. Doesn't load snapshots, loads files from .H (header) and .B (bytes)
files. 
  3. Doesn't save snapshots, saves to .H and .B tape files. 
  4. No real tape support. 
  5. Requires CGA. 
  6. Non-graphic applications quite fast but Manic Miner, for instance, is 10
times slower than on Z80. 
  7. Freeware? 
  8. Good points? 
  9. Z80 emulation - bug in IM/2 emulation. Lots of wasted slack space on
disks with large cluster sizes due to tape emulating method using lots of
small files. 
  10. This program appeared on the SEZAM-BBS in Belgrade in the summer of
1991, most probably from Slovenia. It seems, according to one newspaper, that
the author is Peter Kroselj. 
  11. Available from World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/romaneas.zip] . 

             SimCoupe 0.78 (Allan Skillman [ajs@hep.ucl.ac.uk] )   
                                       

  1. Emulates 48K Spectrum and the SAM Coup (as you may have guessed from the
name!). 
  2. Spectrum emulation has no loading ability (Coup can load from either
real disks or images thereof). 
  3. Spectrum emulation has no saving ability (Coup can save to either real
disks or images thereof). 
  4. No real tape support. 
  5. Requires VGA. 
  6. About twice as fast as a real Spectrum on a P100. 
  7. Freeware (available as either source or binary). 
  8. Good points? 
  9. Sound emulation requires use of the SimCoupe Audio Drivers TSR, which is
available from Aley Keprt's [http://www.inf.upol.cz/~keprta/] home page. 
  10. The above is a bit unfair, as this is a Coup emulator first, and a
Spectrum emulator second. Also available for Unix/Linux. 
  11. Version 0.78 is available from the SimCoupe homepage
[http://www.hep.ucl.ac.uk/~ajs/simcoupe/] ; Version 0.72 is available from
World of Spectrum, as either a binary
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/simcbin.zip] or
source
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/simcsrc.zip]
distribution. 

                           Sinbas (Pavel Napravnik)   
                                       

  1. Emulates 48K Spectrum Basic with ZX printer. 
  2. Loads .TAP files, snapshot can be loaded from CONFIG.DAT file, and
screens can be loaded from .SCR or .PCX files. 
  3. Saves .TAP files, snapshot can be saved into CONFIG.DAT file, and screens
can be saved into .SCR or .PCX files. 
  4. No real tape support. 
  5. Requires EGA or VGA. 
  6. Very fast (Author claims it to be twice as fast as Z80). 
  7. Shareware (No specified amount). 
  8. Can create standalone running programs, and has a simple built-in
debugger and online help for Basic commands. 
  9. Requires COMMAND.COM to be in the root directory of current disk.
Documentation and everything is in Czech. Poor user interface. 
  10. Obviously, can't run machine code programs. 
  11. Available from World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/sinbas.zip] . 

          Sinclair v3.00 (Pedro M. R. Salas [pedrom@goliat.ugr.es] )   
                                       

  1. Emulates 48K Spectrum and 128K Spectrum, and Kempston joystick using the
PC joystick. 
  2. Loads .SIT and .Z80 snapshots and from .TAP and .BLK tape files. 
  3. Saves .SIT and .Z80 snapshots and to .TAP and .BLK tape files. (The .Z80
snapshots written are slightly non-standard in that they include the ROM in
the snapshot; some other emulators, eg Warajevo, don't like these). 
  4. Real tape support via a separate program only supplied with registered
version. 
  5. Requires VGA, and an Adlib card for 128K sound. 
  6. Speed quite good on a 486SX/25, very fast on a P100. 
  7. Shareware; unregistered version has nag screen that renders the built-in
debugger practically unusable. Registered version can save Spectrum screen to
.PCX screens and comes with a tape loader program, plus a disk full of games
as .BLK files. 
  8. Built-in debugger (much like Borland's Turbo Debugger) for stepping
through, breakpointing, modifying etc. Z80 code (including the ROM). 128K
sound is very clean. 
  9. Currently available only in Spanish. 
  10. The .BLK file format is the same as Z80's .TAP format, just with a
different name. 
  11. Available from the author's web site
[http://www.ugr.es/~pedrom/sinclair.htm] or World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/sinc300.zip] . 

                       SP (J. Swiatek and K. Makowski)   
                                       

  1. Emulates 48K Spectrum. 
  2. Doesn't load snapshots. Loads from TAPE_ZX.SPC file. 
  3. Doesn't save snapshots. Saves to TAPE_ZX.SPC tape file. 
  4. No real tape support. 
  5. Requires CGA or EGA and a ROM file called ROM.SPC - this file is just a
16Kb ROM dump, identical to the SPECTRUM.ROM file included with JPP and xz80. 
  6. 'One of the fastest emulators' so I'm told. 
  7. Freeware? 
  8. Built in MON-like debugger (press F8) for stepping through Z80 code. 
  9. No accompanying documentation at all. Colour palette a bit odd. The
version available on the net is a 1988 version, probably unfinished, with
dozens of bugs. 
  10. No other comments. 
  11. Available from NVG
[ftp://ftp.nvg.ntnu.no/pub/sinclair/emulators/spectrum/pc/dos/polish.lzh] or
World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/polish.lzh] . 

          SPEC v1.4 (Robin Edwards [robin@methedrine.demon.co.uk] )   
                                       

  1. Emulates 48K Spectrum, Kempston joystick (using PC joystick), cursor
joystick (on cursor keys). 
  2. Loads .SNA snapshots. 
  3. Doesn't save snapshots or files. 
  4. No real tape support. 
  5. Requires VGA, P100+. 
  6. Needs more than a P100 for normal Speccy speed - P120 might do. 
  7. Freeware. 
  8. Undocumented Z80 instructions emulated, doesn't run too fast on fast
machines (goes to maximum of 100% Speccy speed). 
  9. Allows modification of the ROM. Z80 emulation incomplete. No user
interface. Slow. 
  10. Written by the author mostly to learn about writing an emulator! Now
also available for Windows. 
  11. Available from the author's SPEC homepage
[http://www.methedrine.demon.co.uk/spec.html] or World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/spec14w.zip] . 

                   Spec32 (Paul Robson [autismuk@aol.com] )   
                                       

  1. Emulates 48K Spectrum and Kempston joystick. 
  2. Loads .SNA and .Z80 (up to v2) snapshots, and from .TAP tapefiles. 
  3. Saves .SNA snapshots. 
  4. No real tape support. 
  5. Needs a 486-33, 4Mb of RAM, VGA and an OPL2 compatible soundcard at 0388h
for sound. 
  6. Runs fine on this P90; the 486-33 mentioned above is the author's guess
of the machine speed need for true Spectrum speed. 
  7. Freeware (source available). 
  8. Has a built-in debugger. 
  9. Incomplete emulation of bits 3 and 5 of the flags. 
  10. No other comments. 
  11. Available from the author's Sinclair Emulators
[http://users.aol.com/autismuk/sinclair.htm] page or World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/spec32.zip] . 

                     [NEW] Speccy v0.21 (Pawell Kostenko)   
                                       

  1. Emulates Pentagon (Russian Spectrum clone) with TR-DOS. 
  2. Loads from (128K only?) .Z80 snapshots and from .TAP tape files. 
  3. Saves to .Z80 snapshots. 
  4. No real tape support. 
  5. Needs? 
  6. Adjustable; can run much faster than a real Speccy on this PII-233. 
  7. Freeware? 
  8. Attempts to play AY sounds through the PC's speaker if a soundcard is not
available. Built-in debugger. 
  9. Bad points? 
  10. All documentation in Russian. 
  11. Tomaz Kac's ZX Corner [http://warez.sd.uni-mb.si/zx/emulators.html] or
World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/russian/speccy.zip
] . 

  SpecX v1.10 (Robin Edwards [robin@methedrine.demon.co.uk]  & Andrew Murdoch)
                                        
                                       

  1. Emulates 48K Spectrum with Kempston and Cursor joysticks. 
  2. Loads from .SNA snapshots and from .TAP, .RAW and .WAV tape files. 
  3. Saves to .SNA snapshots and .TAP tape files. 
  4. No real tape support. 
  5. Needs Win95/98/NT4, DirectX and a 2Mb graphics card. 
  6. Much faster than a real Spectrum on this P2-233, but can auto-adjust to
real Spectrum speed. Author states that a P133 is required for true speed
emulation. 
  7. Shareware (10); unregistered version times out after 10 minutes and has
no save capabilities. 
  8. Comes with 1x1, 2x2 and full screen modes with and without scanlines. Has
a simple 'Poke memory' option for Multiface pokes. 
  9. Nothing obviously wrong, but there are certainly emulators which more
features available. 
  10. This is basically a port of SPEC to the Windows environment. 
  11. Available from the author's SPEC homepage
[http://www.methedrine.demon.co.uk/spec.html] or World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/windows/SpecX110.exe]
. 

  SPECTRUM v0.99 / VGASPEC / SPEC386 (Pedro Gimeno [pgimeno@geocities.com] )   
                                       

  1. Emulates 16K and 48K Spectrums. 
  2. Loads .SP snapshots (VGASPEC uses a different .SP format) and .TAP tape
files. 
  3. Saves .SP snapshots. 
  4. Loads from tapes through a SoundBlaster card, or a wire connected to the
parallel port. 
  5. Requires VGA and a 286. An enhanced version for 386s and above is also
included. 
  6. Matches a real Spectrum speed on a 386/25, and can be slowed down on
faster machines. 
  7. Freeware. 
  8. Includes diagram for tape interface. Versions from 0.99E onwards also
have R register emulation and some brief English documentation, which was
missing from previous versions. 
  9. Incomplete emulation of undocumented instructions/flags, and no IM 0
emulation. 
  10. VGASPEC emulator is an _illegal_ prerelease of this emulator. All
onscreen messages in Spanish. Previously called 'Sinclair' in this FAQ. 
  11. Available from the author's Spectrum page
[http://www.geocities.com/SiliconValley/Hills/2099/spec/index.htm] or World of
Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/spec099f.zip] . 

               The Spectrum Emulator / SPECEM (Kevin J. Phair)   
                                       

  1. Emulates 48K Spectrum with Multiface 1, Kempston joystick (with cursor
keys and Alt). 
  2. Loads .PRG snapshots and files from 'tape' - i.e. your hard disk. 
  3. Doesn't save snapshots. Saves files to hard disk, but can't cope with
headerless files. 
  4. No real tape support. 
  5. Requires 16MHZ 286, EGA or better. 
  6. Works reasonably fast on 286 and a bit faster than necessary on 386/486
systems. 386/40MHz or 486/25MHz is needed for good sound emulation. 
  7. Freeware, but a donation to the author gets you the source code plus
'various utilities'. 
  8. Includes program for loading snapshots from MGT/Datel Plus-D disks. Comes
with a Z80 disassembler written in BASIC, and a speed testing program. Ran at
least one snapshot (Scumball) that no other emulator could manage (JPP's
documentation makes a mention of this one not working - Arnt thought it was a
bad snapshot). 
  9. Z80 emulation - imperfect R register emulation. Allows modification of
the ROM (though it does get refreshed to normal condition whenever
loading/saving). 
  10. Onscreen display of Z80 registers (can be disabled, but not removed from
the screen). Attributes can be disabled for faster emulation. 
  11. Available from NVG
[ftp://ftp.nvg.ntnu.no/pub/sinclair/emulators/spectrum/pc/dos/irish.zip] or
World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/irish.zip] . 

         [UPDATED] Suzanne's Spectrum Emulator v0.01 (Suzanne Archibald
                          [suzanne@crysalis.com] )   
                                       

  1. Emulates 48K, SpecDrum and the Kempston mouse, with partial emulation of
the 128K/+2. 
  2. Loads from .SP snapshots. 
  3. No save capability. 
  4. No real tape support. 
  5. Requires an Adlib card for 128K sound, and a SoundBlaster for SpecDrum
output. 
  6. Scaled to real Spectrum speed. Runs fine on my P100. 
  7. Freeware. 
  8. Not much at the moment, but this is only version 0.01 :-) 
  9. Biggest problem is that IM2 is not emulated, so many games won't run. 
  10. No longer being developed. 
  11. Available from the author's home page
[http://www.crysalis.com/suzanne/sspec.zip] . 
                     UKV Spectrum Debugger v1.2 (Author?)   
                                       

  1. Emulates 48K/128K Spectrum with TR-DOS (Technology Research Disk
Operating System for the BetaDisk 3.5" disk drive). 
  2. Loads .SNA (both standard 48K and a new 128K version) and 128K .Z80
snapshots, from .TAP and .SPC tape files, from .FDI disk images. 
  3. Saves .SNA (48/128) and 128K .Z80 snapshots, to .TAP and .SPC tape files,
and to .FDI disk images? 
  4. Can read from real TR-DOS disks. 
  5. Requires EGA and 286. 
  6. Much faster than a real Speccy on this P100. 
  7. Cracked version of a shareware release? 
  8. Supports TR-DOS disks with non-standard sector layouts. 
  9. Can't be slowed down? All documentation in Russian. 
  10. No other comments. 
  11. Available from World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/russian/ukv12.zip]
 . 

  [UPDATED] Warajevo v2.51 (Zeljko Juric [ZJuric@utic.net.ba]  and Samir Ribic
                           [Megaribi@hermes.si] )   
                                       

  1. Emulates 48K/128K/+2 Spectrum, TS2068, ZX Printer, Interface 1 (RS232 and
microdrives), Kempston joystick (with cursor keys and + or ~ keys as fire or
with PC joystick or mouse), 128's keypad, MIDI port, the Sinclair network and
supports user devices (e.g. parallel printer). 
  2. Loads .SNA and .Z80 snapshots, standard .TAP and its own virtual tape
format. Supports .MDR microdrive format with slight improvements. Comes with
an environment which allows conversion of almost any format (including .TZX
and .VOC) to supported formats. 
  3. Saves .Z80 snapshots, to .TAP tape files and to .MDR microdrive files. 
  4. Supports loading (including turbo loaders) from real tapes via an RS232
link from a real Spectrum or with external routine for tape interface. 
  5. Requires 286, Hercules, CGA, EGA or VGA, and a SoundBlaster card for MIDI
emulation. An Adlib card allows better 128k sound emulation, and a
SoundBlaster even better. 
  6. Around a 486-33 needed for true speed emulation. 
  7. Freeware, though the authors welcome donations, in return for which you
at least get your name listed in the documentation of the next release; 80 DM
will get you the source code. 
  8. Better AY-sound through PC speaker than any other PC emulator. Built-in
debugger, though not as friendly as the ones in Sinclair v2.00 and UKV
Spectrum Debugger. Can create stand-alone snapshot files that don't need to be
loaded into an emulator (including possible mixing of Z80 and 80x86 code). The
former problems with speed adjustment are much improved in this version. Now
supports rainbowing and changing the colour palette to suit your own taste. 
  9. Slightly slower than versions prior to v2.0. 
  10. Written under very poor conditions during war in Bosnia. Generally
considered one of best DOS-based Speccy emulators on the PC. 
  11. Available from the Warajevo Home Page
[http://www.void.demon.nl/warajevo/index.html] or World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/warsp251.zip] . 

  [UPDATED] WinXZX v2.1.3 beta (Nick Savoiu [savoiu@paul.rutgers.edu] , Razvan
Surdulescu [surdules@fas.harvard.edu] , Erik Kunze [Erik.Kunze@fantasy.muc.de]
                and Des Herriott [des@corp.netcom.net.uk] )   
                                       

  1. Emulates 48/128/+3 with Multiface 128, Interface 1 and Microdrive,
Kempston Joystick. 
  2. Loads .SNA, .Z80, .SLT (LLT also) snapshots and from .TAP, .MDR and .DSK
files. 
  3. Saves to .SNA, .Z80, .SLT, .TAP, .MDR and .DSK files. 
  4. No real tape support. 
  5. Requires MS Windows 9x or NT. 
  6. Around 36% Spectrum speed on a P100; can reach 100% on a PII-233, but the
automatic speed adjustment doesn't work properly. 
  7. Freeware. 
  8. Quick 1, 2 and 3 times normal screen scaling settings. Spectrum screen
can be saved to SCR file or printed. Quite nice GUI. 
  9. Slow. Fiddly to set up tape/disk/microdrives because these are buried in
the options dialog. TAP routines seem buggy (many I tried didn't work or
appeared to have no blocks within them). 
  10. Lots of options to play with, including optional FLASH and border
emulation. Multiface 128 ROM is not included due to copyright problems. Also
available for Unix/Linux. This is a Beta version which has now time-expired,
so you have to set the clock on your machine back if you want to use it. 
  11. Available from the WinXZX Homepage
[http://www.ics.uci.edu/~savoiu/winxzx/] or World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/windows/winxzx-v213b1.
zip] . 

       [UPDATED] WSpecEm v1.31/v1.4b (Rui F. Ribeiro [wspecem@ipp.pt] )   
                                       

  1. Emulates 48K Spectrum with Kempston/Sinclair joystick. 
  2. Loads from .SNA, .SNX, .Z80, .SIT, .SP, .RAW, .PRG, .ACH, .SLT (and LLT)
snapshot files and from .TAP tape images. 
  3. Saves to all the snap formats listed above apart from .SLT, but not to
tape files. 
  4. Real tape support provided via an extra program. 
  5. Requires Windows 3.x/9x/NT and WinG. 
  6. Around 25-30% Spectrum speed on a 486SX/25 @ 800x600 res, 64K colour
Cirrus video card, 8MB machine. Runs at a bit over 100% speed on a P75 with
otherwise identical setup. Note these speeds are for 1x1 scaled window, /3
frame rate. Larger sizes and full frame rate are slower. Runs at over 100%
speed on this PII-233, but can be slowed down. 
  7. Freeware - GPL; all the author wants is a postcard. 
  8. Resizable window, with quick 1, 2 and 3 times normal size settings as
well. Quick save/load function for saving a snapshot and reloading it without
going through a file selector. Drag and drop snapshot loading. Saves Spectrum
screen to SCR and PCX files. Now has a nice installation routine for Win95;
though it registers a lot of extensions (for different snapshots) which may
interfere with other registered extensions (e.g. SIT is also a type of archive
file, PRG is an Atari TOS program, and so on). 
  9. Doesn't save SLT snapshots yet. 
  10. Currently two versions: v1.31 for Win 3.x and v1.4b for 9x/NT; v1.4b
plays the beeper through your soundcard and sounds much better. 
  11. Available from author's web page
[http://www.idt.ipp.pt/~rff-ribe/wspecem.html] ; v1.4b is available from World
of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/windows/w32sp14b.zip]
. 

      [UPDATED] x128 v0.92 (James McKay [jmackay@jmk1.freeserve.co.uk] )   
                                       

  1. Emulates 48K/128K Spectrum, +2A/+3, Kempston/Sinclair/Cursor joysticks,
MGT interface and the Multiface 128, Also has emulation of the Pentagon 128
and (partially) the Scorpion (Russian Spectrum variants). 
  2. Loads .SNA, .Z80 and .SLT snapshots, from .TAP and .TZX tape files (the
latter complete with optional loading noise!), and from .DSK (+3 disk), .TRD
(TR-DOS), .MGT and .IMG (images of MGT disks). 
  3. Saves .SNA, .Z80 and .SLT snapshots, .TAP tapes, .TRD disks and .PCX
screen dumps (including any rainbow effects). 
  4. No real tape support. 
  5. Requires VGA or EGA. 
  6. About normal Spectrum speed on a 486SX/25 thanks to rewritten emulation
and screen update code (now using Intel assembler instead of C). SAOM version
needs a Soundblaster and requires a more high-end 486 or you get fuzzy sound. 
  7. Freeware. 
  8. Hi-res emulation of screen and left & right border allowing colours in an
8x1 block (rainbowing). Has a nice file selector and Z80-like user interface.
Just about perfect 128K sound on the SAOM version, pretty good on the Adlib
version. 
  9. One of the best Spectrum emulators available, even if bits 3 and 5 of the
flags are not completely correct. 
  10. Also available for UNIX/Linux with X, OS/2 and OS/2 XFree86, though
these are now way behind in terms of development. 
  11. Available from the x128 homepage [http://www.void.demon.nl/x128/] or
World of Spectrum (Adlib
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/x128v092a.zip] 
or SoundBlaster
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/x128v092s.zip]
versions). You'll also need the ROMs
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/x128roms.zip] . 

                Yet Another Spectrum Emulator (Christian Hackbart
                [Christian.Hackbart@et.stud.tu-ilmenau.de] )   
                                       

  1. Emulates 48K and 128K Spectrum. 
  2. Loads from .SNA and .Z80 snapshots, .TAP tape files and .TRD disk images. 
  3. No saving. 
  4. No real tape support. 
  5. Requires Turbo Pascal 6 to compile the source. 
  6. Slow: about 40% of real Speccy speed on this P100. 
  7. Freeware (comes with source). 
  8. Good points? 
  9. Flash not correctly emulated. 
  10. The binary is not available; you have to compile it yourself. 
  11. Available from author's home page [http://www.tu-ilmenau.de/~hackbart/] 

               Z80 v3.05 (Gerton Lunter [gerton@math.rug.nl] )   
                                       

  1. Emulates 48K/128K Spectrum with Multiface 1/128, cursor, Sinclair and
Kempston joysticks, AMS Mouse, Disciple disk interface, Interface 1 and
Microdrives, SamRam (author's own ROM with a basic MON-like debugger). 
  2. Loads .SNA, .Z80 and .SLT snapshots, including level-loader support, and
from .TAP tape files and .MDR microdrive files. 
  3. Saves .Z80 snapshots and to .TAP tape and .MDR microdrive files. 
  4. Loads from sample tapes (.VOC) and direct from Sound Blaster MIC input,
or from parallel port using a custom interface (all these only in the
registered version, and the parallel port interface itself costs extra -
though a diagram is provided if you want to build your own). Contrary to what
several people think, this support *does* allow loading of turbo- loaders,
speedlock games, etc. 
  5. Requires Hercules, CGA, EGA or VGA. 
  6. Can be up to 200% Spectrum speed on a 486SX/25, depending on emulation
options chosen. 
  7. Shareware. Registered version has real tape support and speed setting can
be altered (with v3.04+, shareware version has this enabled for only five
minutes; previous versions could not be slowed down unless registered) and
comes with several utilities (for converting from various formats etc.) and
source code (mixture of assembler and C). 
  8. Most user-friendly emulator; very good menu-interface and documentation.
Good high-resolution colour emulation (rainbowing!). Version 3.04 now has much
improved keyboard handling in Windows, and is now actually useable in that
environment as a result; v3.05 has some more general useability improvements
and some bugfixes, including a fix to the dreaded sampled speech playing much
too sloooowly bug. 
  9. 128K sound can be a bit wobbly. 
  10. Considered by many to be the best emulator available for any platform;
certainly one of the best DOS-based ones with features unavailable in other
emulators. Earlier versions were pretty good but do not compete with version
3.04+, which has several useful bugfixes and SLT support. Unregistered copies
of previous version could not be slowed down, so many people used an illegal
copy of 3.02 which was released on a PC Format cover disk (it was effectively
a registered copy). Version 4, which will include TZX support, is currently in
beta (both Windows and DOS versions), and should be available soon. 
  11. Available from NVG
[ftp://ftp.nvg.ntnu.no/pub/sinclair/emulators/spectrum/pc/dos/z80-305.zip] or
World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/z80-305.zip] . 

      Z80-TR-DOS 2.02 (modified version of Z80 3.02 by Vitaliy Mochalin)   
                                       

  1. As Z80, with addition of TR-DOS emulation. 
  2. As Z80. 
  3. As Z80. 
  4. No real tape support; if you want that, you'll need to register a real
version of Z80. 
  5. As Z80. 
  6. As Z80. 
  7. An illegal hack. 
  8. As Z80. Version 3.02 of Z80 had slightly poorer high resolution colour
emulation however; and this hack is the same. 
  9. As Z80. 
  10. This program is an obviously modified copy of Z80 version 3.02 (as
released on a PC Format cover disk) with Russian documentation which has been
kindly translated for me by Kirill Panyushkin. Vitaliy Mochalin has this to
say about this hack of Z80: *"The changes to the original version by
G.A.Lunter do not pursue the aim of copyright infringement. The adaptation has
been made solely for use on the territory of Russia and to add TR-DOS (by
Technology Research) disk system support."* From other comments in the
documentation it appears the price asked for registering Z80 is totally out of
the reach of Russians; it is the equivalent of a month's wages for the average
person. 
  11. Not made available at Gerton's request, nor will I reveal the site I got
it from. 

   ZX (Eduard Rindt [ert@regionet.cz]  & Ludek Brukner [lubr@regionet.cz] )   
                                       

  1. Emulates 48K Spectrum, ZX Printer. 
  2. No snapshot loading. Loads tape files from .001 files, its own tape
format. 
  3. No snapshot saving. Saves tape files to .001 files. 
  4. No real tape support. 
  5. Requires DOS 3.3+, EGA/VGA. 
  6. Very quick. Runs very nicely on my 486SX/25. 
  7. Freeware, though the authors ask that you send them $1 if you like it. 
  8. Very quick; useable on a 286. Comes with a Tape Manager utility to
convert DOS files to .001 tapes and vice versa. Nice keyboard help screen, and
two keyboard access modes; one normal and one which maps PC keys to Spectrum
equivalents (e.g. Shift-2 = Symbol Shift P). 
  9. No speed control; goes way too quick on anything more than a slow 486. 
  10. This was previously a commercial emulator, though I'd never heard of it.
Hynek Med [xmedh02@manes.vse.cz] convinced the authors to make it freeware.
There is a program which converts their special format (extension 001, 002
etc.) to TAP, called KDATEZ80.EXE, which is available from NVG
[ftp://ftp.nvg.ntnu.no/pub/sinclair/snaps/misc/kdatez80.exe] . 
  11. Available from NVG
[ftp://ftp.nvg.ntnu.no/pub/sinclair/emulators/spectrum/pc/dos/zx.zip] or World
of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/zx.zip] . 

     ZX32 / Spectrum Emulator for Win95 v1.03.98.0603 (Vaggelis Kapartzianis
                              [zx32@usa.net] )   
                                       

  1. Emulates 48K/+/128K/+2/+2A/+3/, Kempston/Sinclair/Cursor joysticks and
the Multiface 128. 
  2. Loads .SLT, .Z80, .SNA, .SP and .ZXS snapshots, from .TAP, .BLK, .TZX and
.ZXT tape files, from .CPD, .DSK and .ZXD disk images and from .SCR
screenshots. (The .ZX? formats are zx32's own format). 
  3. Saves .Z80, .SNA and .ZXS snapshots, to .TAP, .TZX and .ZXT tapes, to
.CPD, .DSK and .ZXD disks, and to .SCR screenshots. 
  4. No real tape support. 
  5. Requires DirectX, Windows 95 or NT (4.0 or higher), 486DX2/66, P75
recommended. 
  6. Very fast on a P100 with 32Mb, Cirrus Logic 5446 PCI video card (sets
itself to normal Speccy speed by default, speed adjustable). 
  7. Freeware. 
  8. Fast and very professionally done - help file, install/uninstall
routines. Freely changeable window size, plus fullscreen mode (with rounded
edges and scanline emulation), rainbowing and quite good AY emulation too,
with selectable frequency/volume/noise masking. Can open snapshots/tapes from
within ZIP files without you having to unzip them. Good contended memory
emulation. Automatically starts/stops tape files as needed, and gives a pretty
good approximation of loading noise if you want it. 
  9. Bits 3 and 5 of the flags not perfectly emulated. 
  10. Probably the best Windows emulator currently available. Multiface 128
ROM is not supplied with the distributions. 
  11. Version 1.03 available from the ZX32 homepage
[http://www.geocities.com/SiliconValley/Bay/9932/] or World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/windows/ZX32103A.ZIP]
; the update to 1.03.98.0603 (you need the main file first) is either on the
ZX32 homepage or World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/windows/zx32/tests/zx3
2tg04.zip] . 

                [UPDATED] ZX Emulator v0.31b (Vladimir Yudin)   
                                       

  1. Emulates 48K/128K/Pentagon 128K (Russian Speccy clone). 
  2. Loads from .Z80 and .SNA snapshots and from .TRD and .FDI disk files. 
  3. No saving? 
  4. No real tape support. 
  5. Requires a soundcard to run at all. 
  6. Runs at normal Spectrum speed on this P100. 
  7. Freeware? 
  8. Good points? 
  9. Very flickery when scrolling. 
  10. Original documentation in Russian; an English translation (thanks to Mac
Buster) is available from World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/russian/emul031.tr
ans.zip] . 
  11. Available from Tomaz Kac's ZX Corner
[http://warez.sd.uni-mb.si/zx/emulators.html] or World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/russian/emul031.zi
p] . 

        ZX-Jam v1.12 (Juan Antonio Moreno [jamoreno@mx2.redestb.es] )   
                                       

  1. Emulates 48K/128K Spectrum and has experimental Pentagon 128K support
(Russian Speccy clone). 
  2. Loads .Z80 and .SNA snapshots and from .TAP tape files. 
  3. Saves to .Z80 snapshots and to .TAP tape files. 
  4. No real tape support. 
  5. Requires VGA and a 'fast Pentium'. Best sound produced if you have a GUS;
any OPL-based card (e.g. SB) will produce fairly decent sound though. 
  6. Runs at good speed on a P100; certainly manages full Speccy speed. 
  7. Freeware. 
  8. Unusual screen mode - tries to emulate the TV effect by leaving a blank
line every other scanline, and does quite well! No dot crawl quite yet though
:) Includes built-in Z80 debugger. Some support for rainbowing and border
effects. Nice menuing system. 
  9. Z80 emulation incomplete? (e.g. ICUPS crashes the emulator a lot), only
partial AY emulation. No joystick emulation. File selector finds only .Z80 and
.TAP files, not ones with mixed extensions. 
  10. Improving all the time. Joystick emulation, better AY/beeper emulation
and better rainbowing/border emulation are all on the cards. 
  11. Available from World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/zxjam112.zip] . 

         [UPDATED] ZX-Spectrum Emulator 128K v3.04 (Nikolay Shalaev)   
                                       

  1. Emulates 48K/128K Spectrum with TR-DOS, Kempston mouse, Interface
1/2/Kempston joystick. 
  2. Loads only .TRD (TR-DOS) files (but see below). 
  3. Saves only .TRD files (but see below). 
  4. No real tape support. 
  5. Requires 386, VGA, MS-DOS 5.00 or better, DOS/4GW extender and an Adlib
or SoundBlaster card for 128Kb sound. 
  6. Much faster than a real Speccy on this P100; slowing it down is not
particularly user-friendly, but a couple of utilities to help are provided. 
  7. Shareware. 
  8. Allows writing of TR-DOS disk images. 
  9. No snapshot or tape support in the basic program. 
  10. Has an open architecture which allows other modules to extend the
program: modules to allow the loading of .SNA, .SLT, .TAP and .Z80 files, and
saving of .Z80 files are available from World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/russian/spec304.lo
aders.zip] ; also available on WoS is a patch to translate almost all of the
user interface into English
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/russian/spec304.pa
tch.zip] and translations of the documention for v2.08 and v3.01 into English
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/russian/spec304.tr
ans.zip] . 
  11. Available from World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/russian/spec304.zi
p] . 

             ZX Spectrum-Emulator v1.0s / SPECEMU (Bernd Waschke)   
                                       

  1. Emulates 48K Spectrum, Kempston joystick (using PC's analogue or digital
joystick). 
  2. Loads .SEM snapshots. 
  3. Saves .SEM snapshots. 
  4. Real tape support (registered version only) via a Soundblaster card, but
you have to manually calibrate it with a number. 
  5. Requires 386DX/40 and 1Mb of RAM. 
  6. About 75% of normal Spectrum speed on a 486SX/25. 
  7. Shareware. Some options not present in unregistered version. 
  8. POKE facility. Also has what appears to be a Game-Genie/Game Wizard-like
option to automatically find POKEs (registered version only). 
  9. Z80 emulation - doesn't emulate flags register properly; in particular,
the H flag. BRIGHT attribute not emulated. 
  10. All documentation and onscreen messages in German. Anyone fancy
translating it? 
  11. Available from NVG
[ftp://ftp.nvg.ntnu.no/pub/sinclair/emulators/spectrum/pc/dos/specemu_1_0s.zip]
 or World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/specemu_1_0s.zip]
. 

     ZX Spectrum Simulator v1.02 (Miklos Bartha [miki@lego.soroscj.ro] )   
                                       

  1. Emulates 48K Spectrum. 
  2. Loads .SNA snapshots. 
  3. Saves .SNA snapshots. 
  4. No real tape support. 
  5. Requires Windows 3.11 (with Win32s?) or Win95/NT. 
  6. Selectable speed; can go much faster than a real Spectrum on this P100,
but doesn't auto-adjust to real Spectrum speed (or give an indication of how
fast it is going). 
  7. Freeware? 
  8. Good points? This version is certainly much better than v1.01. 
  9. Bad points? 
  10. I haven't had time to play around much with this version yet, so some of
the above may be untrue. 
  11. Available from SunSite Poland
[ftp://sunsite.icm.edu.pl/pub/delphi/d10free/spectrum.zip] or World of
Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/windows/spectrum.zip]
. 

                                       

                --===Spectrum FAQ - Emulators - UNIX/Linux===--
 
                                       
                              7 emulators listed:
                                       
         [SimCoupe] [SpectEmu] [Spectrum] [x128] [xz80] [xzx] [xzx v2] 


             SimCoupe 0.78 (Allan Skillman [ajs@hep.ucl.ac.uk] )   
                                       

  1. Emulates 48K Spectrum and the SAM Coup (as you may have guessed from the
name!). 
  2. Spectrum emulation has no loading ability (Coup can load from images of
SAM disks, or the Linux version from real disks). 
  3. Spectrum emulation has no saving ability (Coup can save to either images
of SAM disks, or the Linux version to real disks). 
  4. No real tape support. 
  5. Requires X or VGAlib. 
  6. Speed? 
  7. Freeware. 
  8. Good points? 
  9. Bad points? 
  10. The above is a bit unfair, as this is a Coup emulator first, and a
Spectrum emulator second. Also available for DOS. 
  11. Available from the SimCoupe homepage
[http://www.hep.ucl.ac.uk/~ajs/simcoupe/] or World of Spectrum (version 0.72)
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/unix/SimCoupe_0.72.tar.gz
] . 

            SpectEmu v0.94 (Szeredi Miklos [mszeredi@inf.bme.hu] )   
                                       

  1. Emulates 48K Spectrum. 
  2. Loads .Z80 and .SNA snapshots, and from .TAP tapefiles. 
  3. Saves .Z80 and .SNA snapshots. 
  4. Real tape emulation either via emulated I/O ports or .TZX files. 
  5. Requires X11 (also uses MIT-SHM if available) or SVGALIB for Linux
console support. Soundcard for sound emulation. 
  6. Z80 emulation is very fast on intel machines, because it is written in
assembly (on Linux console it uses on average 3% of a P90 CPU). It is also
quite fast on non-Intel machines. 
  7. Copyright under the GNU General Public Licence. 
  8. Good sound emulation (Linux and Sun). Sound with tapefile loading. Good
screen emulation. Border stripes are emulated correctly, and screen timing
sensitive programs look better than on other emulators (e.g. BC's Quest for
Tires). Good keyboard I/O port emulation (e.g. Gunfright) 
  9. Poor user interface. Does not emulate either 128K or IF1 
  10. Distribution includes a full size picture of the ZX Spectrum keyboard,
and a utility to write .TAP or .TZX files to real tape. 
  11. Available from SpectEmu homepage
[http://www.inf.bme.hu/~mszeredi/spectemu/] , or World of Spectrum (as a
source distribution
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/unix/spectemu-0.94.tar.gz
] , Linux binary
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/unix/spectemu-0.94_linux.
tar.gz] or Solaris binary
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/unix/spectemu-0.94_solari
s.tar.gz] .) 

          Spectrum (Jean-Francois Lozevis [lozevis@Email.ENST.Fr] )   
                                       

  1. Emulates 48K Spectrum. 
  2. Loads .SNA and .Z80 snapshots. 
  3. Saves .SNA snapshots. 
  4. No real tape support. 
  5. Requires X-Windows (X11) and Linux with an 80386 processor (or above)
because the emulation code is written in assembler. 
  6. Apparently runs at full speed on a 486DX2/66. 
  7. Public domain. Author allows modification, just wants to retain his
credit as the original author, and wouldn't say no to a postcard. 
  8. Sound support for Linux via /dev/audio. 
  9. Imperfect emulation; Rhino in Sabre Wulf problems (see the Technical
Information section) and some large BASIC programs don't work. Author doesn't
know why. Poor user interface. 
  10. All messages in French. 
  11. Available from NVG
[ftp://ftp.nvg.ntnu.no/pub/sinclair/emulators/spectrum/unix/french_spectrum.zip
] or World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/unix/french_spectrum.zip]
 . 

           x128 v0.5 (James McKay [jmackay@jmk1.freeserve.co.uk] )   
                                       

  1. Emulates 48K/128K Spectrum, Kempston/Sinclair/Cursor joysticks, Multiface
128. 
  2. Loads .SNA, .Z80 and .SLT snapshots, and from Z80's .TAP tape files. 
  3. Saves .Z80 and .SLT snapshots. 
  4. Real tape support via .VOC files. 
  5. Requires X-Windows (X11). MIT-SHM extension also a very good idea. 
  6. Rather slow; about 25-35% of real Spectrum speed on a 486SX/25 Linux box. 
  7. Freeware. 
  8. Hi-res emulation of screen and left & right border allowing colours in an
8x1 block (rainbowing). Has a nice file selector and Z80-like user interface. 
  9. Some changeable options require re-compilation, and the Multiface 128 ROM
is not included due to copyright problems. 
  10. Also available for DOS, OS/2 and OS/2 XFree86. 
  11. Available from the x128 homepage [http://www.void.demon.nl/x128/] or
World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/unix/x128_05.tar.gz] . 

           xz80 v0.1e (Ian Collier [Ian.Collier@comlab.ox.ac.uk] )   
                                       

  1. Emulates 48K Spectrum and ZX Printer (via .XBM image files!). 
  2. Loads .SNA and .Z80 snapshots with level-loader support, tape files from
disk or from Z80's .TAP files. 
  3. Saves .SNA snapshots and tape files to disk or to Z80's .TAP files. 
  4. Real tape support by direct tape input if your machine is fast enough
(e.g. P150 running Linux works fine) or via an audio file. 
  5. Requires X-Windows (X11) or SVGALib (for Linux console version). MIT-SHM
extension also probably a good idea. 
  6. The Linux console version runs at about 35% real Spectrum speed on a
486SX/25. True-speed emulation without hogging the CPU on fast machines. 
  7. Freeware (GNU Public License). 
  8. Realistic sound output via /dev/audio. Emulates 'stripey border' effect -
very important ;-) 
  9. Poor user interface; e.g. no file selector - you have to move to your
terminal window and type in name of snapshots to load/save. 
  10. Version 0.1d is the most recent 'complete' version available; 0.1e only
available as source code. 
  11. Available from author's homepage
[http://www.comlab.ox.ac.uk/oucl/users/ian.collier/Spectrum/index.html] or
World of Spectrum (version 0.1d)
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/unix/zx80-0.1d.tar.gz] . 

              xzx v1.0 (Des Herriott [des@corp.netcom.net.uk] )   
                                       

  1. Emulates 48K/128K/+3 Spectrums, Kempston joystick (with keys). 
  2. Loads .SNA and .Z80 snapshots with level-loader support, tape files from
UNIX files. 
  3. Saves .SNA and .Z80 snapshots, tape files to UNIX files. 
  4. No real tape support. 
  5. Requires X-Windows (X11). Makes heavy use of the MIT-SHM X11 extension,
and works a good deal slower without it. 
  6. Needs approx 486/33 to run at the correct speed (this is from general
impressions, not exact timings). Sparc 10 or DEC Alpha will run it very fast. 
  7. Freeware. 
  8. Sound support for Sparc and NEC EWS workstations via /dev/audio. Sound
support for Linux via direct speaker manipulation. X server bell audio for
most X servers (traps ROM BEEP routine only). 
  9. Poor user interface; e.g. no file selector - you have to move to your
terminal window and type in name of snapshots to load/save. 
  10. Author has resurfaced from the cold wastes of a job without internet
access, but is no longer maintaining or updating xzx. See Erik's modified
version, below. 
  11. Available from NVG
[ftp://ftp.nvg.ntnu.no/pub/sinclair/emulators/spectrum/unix/xzx-1.0.2.tar.gz]
. 

   [UPDATED] XZX v2.7.1 (Erik Kunze [Erik.Kunze@fantasy.muc.de]  &Des Herriott
                         [des@corp.netcom.net.uk] )   
                                       

  1. Emulates 48/128/+3 with Multiface 128, Multiface 3, Interface 1 and
Microdrive, Kempston Joystick and Betadisk/TR-DOS. 
  2. Loads .SNA, .Z80, .SLT (LLT also) snapshots, from .TAP and .TZX tape
files, .MDR microdrive files and .DSK, .TRD and .FDI disk images. 
  3. Saves to .SNA, .Z80, .SLT, .TAP, .MDR, .DSK, .TRD and .FDI files. 
  4. No real tape support. 
  5. Requires X11, with /dev/audio if you want AY emulation; now uses the Open
Sound System to give sound support on a large number of platforms. 
  6. Speed varies with what Spectrum program is doing. Runs at more than 100%
speed on P100 and 8bpp even with magnification by 3. Automatic speed
adjustment for faster machines. Faster than xz80 and x128. 
  7. Shareware: registered version has a better user interface (Motif), and a
few more features. 
  8. By far and away the best emulator for Unix, and one of the best emulators
available for any platform. 
  9. Some changeable options require re-compilation. 
  10. More information from the official XZX home page
[http://www.philosys.de/~kunze/xzx/] . Multiface 128 and TR-DOS ROMs are not
included due to copyright problems. Shareware version has no TR-DOS support,
but now does have rainbowing support. Version 2.1.3 was also available for
Windows. 
  11. Source code, pre-compiled binaries and RPM-packages are available from
the official XZX homepage [http://www.philosys.de/~kunze/xzx/] ; Source code
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/unix/xzx.tar.gz]
(including the rom images) and contrib file
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/unix/xzx-contrib.tar.gz]
are also available from World of Spectrum. 

                                       

                   --===Spectrum FAQ - Emulators - OS/2===--
 
                                       
                              2 emulators listed:
                                       
                           [x128] [x128 for XFree86] 


     x128 v0.5b5 (James McKay [jmackay@jmk1.freeserve.co.uk]  and Thomas Ahn
                Kolbeck Kj&aelig;r [takjaer@daimi.aau.dk] )   
                                       

  1. Emulates 48K/128K Spectrum, Kempston/Sinclair/Cursor joysticks, Multiface
128. 
  2. Loads .SNA, .Z80 and .SLT snapshots, and from Z80's .TAP tape files and
.SCR screenshot files. 
  3. Saves .Z80 and .SLT snapshots. 
  4. Real tape support via .VOC files. 
  5. Requires OS/2 Warp or OS/2 Merlin (it works on the BETA version), DIVE
supported video card, DART or Adlib compatible sound card for AY emulation
(optional), 486DX2-66MHz MINIMUM (486DX4-100 or better recommended). 
  6. Speed? Requirements give you a clue here. 
  7. Freeware. 
  8. Hi-res emulation of screen and left & right border allowing colours in an
8x1 block (rainbowing). Uses OS/2 file selector Runs in a resizeable window.
Supports drag 'n' drop of snapshot and tape files. 
  9. Multiface 128 ROM not included due to copyright problems. 
  10. Also available for DOS, UNIX/Linux with X and XFree86 OS/2. 
  11. Available from NVG
[ftp://ftp.nvg.ntnu.no/pub/sinclair/emulators/spectrum/pc/os2/x128v05b5-OS2.zip
] or World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/os2/x128v05b5-OS2.zip]
 . 

   x128 v0.5 for XFree86 OS/2 (James McKay [jmackay@jmk1.freeserve.co.uk]  and
                    Krister Bergman [bellman@kuai.se] )   
                                       

  1. Emulates 48K/128K Spectrum, Kempston/Sinclair/Cursor joysticks, Multiface
128. 
  2. Loads .SNA, .Z80 and .SLT snapshots, and from Z80's .TAP tape files. 
  3. Saves .Z80 and .SLT snapshots. 
  4. Real tape support via .VOC files. 
  5. Requirements unknown. Presumably needs XFree86! 
  6. Speed? 
  7. Presumably still freeware. 
  8. Hi-res emulation of screen and left & right border allowing colours in an
8x1 block (rainbowing). 
  9. Multiface 128 ROM not included due to copyright problems. 
  10. Also available for DOS, UNIX/Linux with X and plain old OS/2. 
  11. Was available from _http://www.kuai.se/~bellman/html/xfreeapps.html_
(Krister's homepage), but this has now vanished. 

                                       

                   --===Spectrum FAQ - Emulators - Mac===--
 
                                       
                              4 emulators listed:
                                       
           [MacSpeccy] [Mac Spectacle] [PowerSpectrum] [ZX Spectrum] 


            MacSpeccy v1.1 (Danny Keogan [djkeogan@unix2.tcd.ie] )   
                                       

  1. Emulates 48K Spectrum. 
  2. Loads .SNA and (probably) .Z80 snapshots. 
  3. Saves? 
  4. No real tape support? 
  5. Requires 68040. 
  6. Seems to be extremely slow. 
  7. Freeware? 
  8. Allows copying of Spectrum screen to clipboard. 
  9. No flash attribute emulation. 
  10. The oldest emulator for the Mac. 
  11. Available from World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/mac/MacSpeccy1.1.sit.hqx]
 . 

  [UPDATED] Mac Spectacle v1.8.2 (Guenter Woigk [kio@vanilla.nbg.sub.org] )   
                                       

  1. Emulates 48K/128K Spectrum, joystick (type?). 
  2. Loads .SNA and .Z80 snapshots and .SCR screens, tape files from Z80's
.TAP files. 
  3. Saves .SNA and .Z80 snapshots, saves .SCR and .PICT screens. 
  4. No real tape support; but there is a program called ZX-Loader to enable
the use of PowerSpectrum's facilities for this. 
  5. Needs MacOS 7.0 or higher, Color QuickDraw and at least a 68020 CPU or a
PowerMAC. 
  6. Speed? 
  7. Freeware? 
  8. Single/double/quadruple sized window, all monitor depths (2 and 4 bit
slow). High-res screen & border effects. Background or exclusive execution.
Better emulation than other emulators for the Mac - so more games run on this
one than the others. 
  9. Bad points? 
  10. No longer being updated. 
  11. Available from author's FTP area
[ftp://lst.informatik.uni-erlangen.de//incoming/kio/] (get this file first
[ftp://lst.informatik.uni-erlangen.de//incoming/kio/readme] ), NVG
[ftp://ftp.nvg.ntnu.no/pub/sinclair/emulators/spectrum/mac/Spectacle-1.8.2.hqx]
 or World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/mac/Spectacle-1.8.2.hqx]
. ZX-Loader is available from NVG
[ftp://ftp.nvg.ntnu.no/pub/sinclair/utils/mac/ZX_Loader_1.0.4.hqx] . Guenter
is no longer updating Spectacle, but has made the full source code to version
1.8.8 available from World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/mac/Mac_Spectacle_1.8.8_s
ource.zip] . 

           PowerSpectrum v1.0 (Bo Lindbergh [d88-bli@nada.kth.se] )   
                                       

  1. Emulates 48K Spectrum, Kempston joystick. 
  2. Loads .SNA snapshots. 
  3. Saves .SNA snapshots. 
  4. Does realtime tape I/O through the microphone jack (this probably
requires 44 kHz sound hardware). 
  5. Requires a PowerMac - won't run on a 680x0 machine. 
  6. Runs at true Spectrum speed. 
  7. Freeware? 
  8. 1x1, 2x2, 3x3, and 4x4 screen emulation. Has perfect sound. Supports all
undocumented Z80 instructions. 
  9. Bad points? 
  10. No other comments. 
  11. Available from World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/mac/Spectacle-1.8.2.hqx]
. 

            ZX Spectrum 1.0.0 Beta f (Lorenzo Jos Ayuda Serrano)   
                                       

  1. Emulates 48K Spectrum. 
  2. Loads .SNA and .SP snapshots. 
  3. No saving. 
  4. Real tape support? 
  5. Nothing special needed. 
  6. Much faster than MacSpectacle. 
  7. Shareware: $20 or 2000 pesetas. 
  8. Dragging snapshots onto the main application icon will fix the snap type. 
  9. No sound or saving or documentation and is fixed at one window size.
Also, opening a new snap opens a new window, which can be annoying. 
  10. Thanks to Chris Young [unsatisfactory@bigfoot.com] for the above
details. 
  11. Available from World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/mac/Zx_Spectrum_1.0.0b.si
t] . 

                                       

                --===Spectrum FAQ - Emulators - Archimedes===--
 
                                       
                              4 emulators listed:
                                       
                     [!MZX] [!Speccy] [Speculator] [Z80Em] 


                         !MZX v1.0 (Graham Willmott)   
                                       

  1. Emulates 48K Spectrum. 
  2. Loads .SNA snapshots. 
  3. Saves .SNA snapshots. 
  4. No real tape support? 
  5. Requirements? 
  6. Runs at ~60% normal spectrum speed on an ARM2 machine, and considerably
faster on other machines - currently there is no speed control available. 
  7. Freeware? 
  8. Multitasks (can also single task if required). 
  9. Doesn't emulate R register correctly, or certain undocumented
instructions. 
  10. No other comments. 
  11. Available from NVG
[ftp://ftp.nvg.ntnu.no/pub/sinclair/emulators/spectrum/arm/mzx110.spark] or
World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/arm/mzx110.spark] . 

                            !Speccy (Carsten Witt)   
                                       

  1. Emulates 48K/128K Spectrum and Interface 1. 
  2. Doesn't load snapshots. Loads tape files from disk in its own file
format. 
  3. Doesn't save snapshots. Saves tape files from disk in its own file
format. 
  4. Comes with application instructions for transferring tape files to/from
real tapes through the serial port. 
  5. Works best on a mulstiscan monitor if you want to multitask, as the
display is inherently a hires display, and you get extended pixels, (i.e.
twice the height). Does not run on StrongARM / RiscOS3.7, Runs on RO2-3.6. 
  6. Runs at normal Spectrum speed on an ARM2 machine and very fast on an ARM3
machine. The speed is adjustable. For games such as Jet Set Willy & Manic
Miner exact LDIR implementation can be switched, to run the games at the
correct speed. 
  7. Not freeware as previously suspected; cost 25 several years ago; may
have changed now. Updates are free. 
  8. Has an enhanced keyboard layout - there are keyboard short cuts to Caps
Lock, Extended Mode, and also the cursor keys, the keypad, and other symbols
(commas, colons etc.) can be entered easily. 
  9. Doesn't fully implement the R register - however this doesn't affect most
programs. 
  10. Still doesn't load .SNA's. Carsten's format is a compressed type.
!Speccy runs in the desktop very satisfactorily, providing you take into
account the above comment about multiscan monitors. Considered the best of all
Acorn emulators by at least one person. 
  11. Available from the author:
 Carsten Witt
 Rostocker Str. 5
 45739 Oer-Erkenschwick
 Germany 

                          Speculator (Dave Lawrence)   
                                       

  1. Emulates 48K Spectrum. 
  2. Loads in its own file format. 
  3. Saves in its own file format. 
  4. No real tape support. 
  5. Requirements? 
  6. Is extremely fast on an ARM3 machine. To get normal Spectrum speed an
ARM2 machine or an ARM3 machine with the cache turned off is required. 
  7. Status not known - not officially released yet. 
  8. It is possible to return to the desktop from the emulator, and then
re-enter the emulator at the point you left off. 
  9. Bad points? 
  10. Is not officially available at the moment - any copies circulating are
pirate copies. As a result, documentation of the file format is not complete,
and the conversion programs supplied with it do not work correctly. 
  11. Not yet available? 

   Z80Em v1.2 (Michael Borcherds [borchrds.teaching@physics.oxford.ac.uk]  and
                              Anne Borcherds)   
                                       

  1. Emulates 48K and 128K Spectrums with Cursor and Kempston joysticks. 
  2. Loads .RAW, .SNA and .Z80 snapshots with level-loader support. Loads tape
files from Z80's .TAP files. 
  3. Saves .Z80 snapshots and to .TAP tape files. 
  4. Can load/save? from/to? sample tapes (.VOC). 
  5. Requirements? 
  6. Runs a little slowly on an A3010. On a fast enough machine will run at
exact Spectrum speed. 
  7. Commercial - can be bought along with a CD full of games, the CD coming
cheaper this way than if bought separately. However, see question 6 in the
Frequently Asked Questions list. On it's own it costs 15 + VAT. 
  8. Apparently has superb sound emulation, redefinable keymap, POKE feature. 
  9. Level-loader support expects different filenames from the standard -
instead of "GAME1.DAT" it wants just "1", etc. 
  10. A demo version is available, though it runs 'for a few seconds' only. 
  11. Available from Warm Silence Software
[http://www.wss.co.uk/products.html] ; the downloadable demo version is here
[ftp://ftp.comlab.ox.ac.uk/tmp/Robin.Watts/Z80Dem.zip] . Warm Silence's postal
address is:
 Warm Silence Software,
 St Catherine's College,
 Oxford,
 OX1 3UJ
 Tel: 01585 487642 

                                       

                  --===Spectrum FAQ - Emulators - Amiga===--
 
                                       
                             10 emulators listed:
                                       
      [CBSpeccy] [Icarus] [KGB] [Speculator '97] [Speccylator] [Spectrum]
          [Spectrum128] [ZXAM] [ZX-Spectrum] [ZX Spectrum Emulator] 

 Note: All the Aminet links are to the UK site [http://uk.aminet.net/~aminet/]
            . Choose a mirror closer to you for quicker access :-).

 

                 [NEW] CBSpeccy v0.17b (Rst7 and Max Iwamoto)   
                                       

  1. Emulates the Pentagon (Russian Spectrum clone) with TR-DOS and various
joysticks and the Kempston mouse. 
  2. Loads .SNA, .Z80 and possibly other format of snapshots, .TAP tape files
and .TRD and .DSK disk images. (The .DSK format is a different TR-DOS format,
not a +3 disk). 
  3. Saves an unknown snapshot format, .TAP tape files, and to .TRD and .DSK
disk images. 
  4. No real tape support. 
  5. Needs an A1200 with a full 68030 and MMU, and 8Mb RAM. 
  6. Auto-adjusts to real Spectrum speed; speed can't be changed. 
  7. Freeware. 
  8. The best 128K emulator for the Amiga. Disk and tape images cached in
memory, so you can play around with images and not affect the copy on the
Amiga's disk. Two R register modes for compatibility. Has rainbow effects, but
these are for Pentagon timings and so most 128K games will look a bit funny. 
  9. No border emulation. Frequent crashes when going in/out of emulation, and
is very fussy about having a true 68030 with MMU. No 48K sound or AY white
noise. 
  10. Thanks to Chris Young [unsatisfactory@bigfoot.com] and Joe Mackay
[joe.moore2@ukonline.co.uk] for the above comments. 
  11. Available from the CBSpeccy Home Page
[http://www.neworder.spb.ru/cbspeccy/] or World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/amiga/cbsv17b.zip] . 

                        Icarus Spectrum Emulator v1.0   
                                       

  1. Emulates 48K Spectrum (presumably), interface 1 & Microdrives. 
  2. Loads its own format of snapshots (more info welcome). 
  3. Saves its own format of snapshots. 
  4. No real tape support. 
  5. Requirements? Old, so probably just a basic A500. 
  6. Slow. 
  7. Freeware? 
  8. Fully multitasking. 
  9. Microdrive emulation using standard Amiga disks. 
  10. More information on this one welcome; any Amiga owners fancy downloading
it, trying it out and letting me know the results? 
  11. Was available from
_http://www.cybercity.dk/users/ccc14241/icarus10.dms_, but this site has
vanished. Anyone? 

                                   KGB v1.3   
                                       

  1. Emulates 48K Spectrum, cursor joystick (with cursor keys) and Kempston
joystick (with Amiga joyport 2). 
  2. Loads .ZX snapshots. 
  3. Saves .ZX snapshots. 
  4. Loads/saves from/to real tapes via a sound-digitiser. 
  5. Requires monochrome or colour. 
  6. Speed not known. 
  7. Freeware? 
  8. Has a pitch-compensated mode, that transposes the sound two octaves up
(handy on slow Amigas). 
  9. Doesn't multitask. Isn't completely compatible with ZX-Spectrum; several
games don't work, e.g. Chronos, Starstrike II. 
  10. Version 2.0 is due soon, with more snapshot formats supported, better
real tape support, better speed, multitasking, Microdrive emulation and some
bugfixes. 
  11. Available from NVG
[ftp://ftp.nvg.ntnu.no/pub/sinclair/emulators/spectrum/amiga/kgb-1.3.lha] or
World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/amiga/kgb-1.3.lha] . 

                        Speculator '97 (William James)   
                                       

  1. Emulates 48k Spectrum. Can load in 128k .Z80 files, so long as the extra
memory is not used. Supports +D disks (via a supplied DOSDriver) and the
Kempston Joystick. 
  2. Loadable formats: ZX82, KGB, Z80, ZX, SP, SNA. 
  3. Saves custom ZX82 snapshot. 
  4. Can load in normal files through serial port interface. 
  5. Kickstart 2.04 and 68020 or higher required. 
  6. On an A1200 with a 25Mhz MC68030 Viper card + 32Bit Fast RAM, Speculator
will run at around the 100% mark; seems faster than ZXAM on some games. 
  7. Shareware - 10. 
  8. Fastest of the Amiga emulators. Lots of support utilities. Multitasks. 
  9. Emulation is buggy and downright weird in places (Poking 23659,0 in BASIC
doesn't lock up Speccy like it would on real Speccy). No .TAP support. Only
saves in custom format. 
  10. Not updated since early 1997. 
  11. Available from Aminet
[ftp://sunsite.doc.ic.ac.uk/aminet/misc/emu/Speculator.lha] or World of
Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/amiga/speculator.lha] . 

          Speccylator v1.0 (Richard Carlsson [richardc@csd.uu.se] )   
                                       

  1. Emulates 48K Spectrum, Kempston joystick. 
  2. Loads .SNA snapshots, no tape support. 
  3. Saves .SNA snapshots, no tape support. 
  4. No real tape support. 
  5. Requires just any Amiga with Kickstart 2.0 and around 435Kb of free
memory. 
  6. 'Faster than most' - except Peter McGavin's Spectrum on a 68000-based
Amiga. 
  7. Freeware. 
  8. Fully multitasking, nice graphical interface, better sound than Peter
McGavin's Spectrum. Can dump Spectrum screen to an IFF ILBM file. Preferences
can be set globally and for individual snapshots. Better Z80 emulation than
ZXAM. Full BCD flags emulation. 
  9. No particular bad points, unless you count lack of features - e.g. no
file support. 
  10. The idea behind the project was to create a Z80 emulation kernel that
could run on any 68000 machine, i.e. not using any Amiga specifics. The Z80
emulator kernel can therefore be used for an emulator on any other 68000-based
machine, e.g. the Atari ST. Recently updated (September 1996), with Kempston
joystick emulation the next thing on the author's to-do list. 
  11. Available from author's homepage [http://www.csd.uu.se/~richardc/] ,
Aminet [ftp://sunsite.doc.ic.ac.uk/aminet/misc/emu/Speccylator.lha] or World
of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/amiga/speccylator_1_0.lha
] . 

            Spectrum v1.7 (Peter McGavin [p.mcgavin@irl.cri.nz] )   
                                       

  1. Emulates 48K Spectrum, cursor joystick (with cursor keys) and Kempston
joystick (with Amiga joyport 2). 
  2. Loads .SNA snapshots and tape files from separate .header and .bytes
files on Amiga disks. 
  3. Saves .SNA snapshots and tape files to separate .header and .bytes files
on Amiga disks. 
  4. Loads Spectrum files via a parallel port sampler, saves via Amiga audio. 
  5. Works on any OCS, ECS or AGA Amiga from 68000 to 68060 with Kickstart 1.2
and up. 
  6. Is reasonably fast on 68030/25MHz, but slow on 68000/7.14MHz machines. At
least 68020/14MHz (A1200) and FAST RAM are recommended. Not as fast as ZXAM.
Comes with different versions for the 68000/68010/68020, as well as a
'corner-cutting' version for the 68000. 
  7. Freeware? 
  8. Multitasks. 
  9. Colour palette is a bit strange. 
  10. Very old, and not supported any more. There is a version 2.0 around, but
this is a fake: it's just v 1.7 with the version strings changed. 
  11. Available from Aminet
[ftp://sunsite.doc.ic.ac.uk/aminet/misc/emu/spectrum-1.7.lha] or World of
Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/amiga/spectrum-1.7.lha]
. 

                   Spectrum128 v0.1 Beta (Alberto Ordez)   
                                       

  1. Emulates 128K Spectrum. 
  2. Loads .SNA, version 1 .Z80 files, and 128K version 2 and 3 .Z80 files. 
  3. No saving. 
  4. No real tape support. 
  5. None mentioned. 
  6. Very slow on a 68030. 
  7. Freeware. 
  8. First and foremost, emulates the 128K on an Amiga! Can be made slightly
faster by switching to a less compatible mode (interrupts not emulated so
accurately), and also has a simple built-in debugger, mono mode and can
multitask. 
  9. No sound or GUI; keys don't always respond. Monochrome screen is green on
white (!), and the colour palette in general is a bit funny. 
  10. Thanks to Chris Young [unsatisfactory@bigfoot.com] for bringing this to
my attention and reviewing it. 
  11. Available from Aminet
[ftp://sunsite.doc.ic.ac.uk/aminet/misc/emu/Spectrum128.lha] or World of
Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/amiga/Spectrum128.lha] . 

                   ZXAM v2.0 (Toni Pomar [tpomar@jet.es] )   
                                       

  1. Emulates 48K Spectrum, Kempston, Sinclair II and Cursor joysticks. Also
emulates the 128K's AY-8910 sound chip, so 128K-enhanced games that use only
the sound chip and not the extra RAM often work and give better sound. 
  2. Loads .SNA, .SP, KGB and .Z80 snapshots. Can theoretically load any
format via ARexx scripts (a .TAP script is supplied). Loads tape files as
.header and .bytes files from disk, the same as Spectrum v1.7. 
  3. Saves .SNA and .SP snapshots. Once again, can use ARexx scripts to do any
other format (scripts for .Z80 and .TAP are supplied). Saves tape files to
disk as .header and .bytes. 
  4. Real tape support via a custom tape interface (diagram and instructions
to make this are supplied). 
  5. Kickstart 2.04 and 68020 or higher required. 
  6. Runs quite well on a 14MHz A1200. 
  7. Shareware. 
  8. Runs in a window on Workbench screen, on a separate draggable screen, or
in exclusive mode. Automatic speed adjustment for fast machines. Can save
snapshots to a real tape for loading on a real Spectrum. Can load PowerPacked
snapshots if you have the powerpacker.library in the LIBS: drawer. Comes with
an ARexx-based monitor/debugger. 
  9. At least 38 games (including Chronos, Starstrike II and Head over Heels)
do not work; so emulation obviously isn't perfected. 
  10. Not being developed any more. There is a thing called the _ZX Poke
Guide_ which is not an emulator but instead it's an AmigaGuide by Richard
Koerber [rkoerber@tfh.dssd.sub.org] full of POKEs (about 784 games). It uses
the ARexx port of ZXAM to make the pokes and run/stop the emulator from the
AmigaGuide itself. Gerard Sweeney [gss@arts.gla.ac.uk] has brought another
such program to my attention; _Hack Attack III_ which has around 400 more
games than the ZX Poke Guide, 90% of which have been tested by the author
('Rastan'). It is also apparently easier to add more pokes to HA3 than to
ZXPG. 
  11. Available from Aminet
[ftp://sunsite.doc.ic.ac.uk/aminet/misc/emu/ZXAM20b.lha] or World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/amiga/zxam20.lha] .
Aminet has the ZX Poke Guide
[ftp://sunsite.doc.ic.ac.uk/aminet/misc/emu/ZXAMPokeGuide.lha] and Hack Attack
III [ftp://sunsite.doc.ic.ac.uk/aminet/misc/emu/acs-ha3.lha] . 

         ZX-Spectrum v5.0 (Jeroen Kwast [jeroenkw@gns.getronics.nl] )   
                                       

  1. Emulates 48K/80K/128K Spectrum, interface 1, Opus, Specdrum, Currah
uSpeech. 
  2. Loads .SNA and .Z80 snapshots, .TZX tape files and a proprietary snapshot
format also. 
  3. Saves .SNA and .Z80 snapshots, .TZX tape files and a proprietary snapshot
format also. 
  4. Real tape support? 
  5. Requires? 
  6. 25 MHZ 68030 = 48K 100%, 33 MHZ 68030 = 48K 132%, 7 MHZ 68000 = 48K 32%. 
  7. Freeware? 
  8. Good points? 
  9. Bad points? 
  10. No other comments. 
  11. Never going to be publicly released after the author got harrassment
from the emulator scene; the previous version (4.71) is available from NVG
[ftp://ftp.nvg.ntnu.no/pub/sinclair/emulators/amiga/zx-spectrum4.71.lha] or
World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/amiga/zx-spectrum4.71.lha
] . 

             ZX Spectrum Emulator v0.10 (A.Schifano & V.Gervasi)   
                                       

  1. Emulates 48K Spectrum, presumably, and Kempston joystick. 
  2. Loads snapshots (type unknown) and from tape (AmigaDOS files). 
  3. Presumably saves snapshots and to AmigaDOS files. 
  4. Real tape support via a tape interface. 
  5. Requires any Amiga. 
  6. Speed? Has three video modes; monochrome, where you choose the overall
PAPER and INK colour for the screen; colour 1 with limited updates of the
screen and colour 2 with full updates (slower). 
  7. Appears to be a commercial product. The demo does not include tape
support or snapshot support, and resets after a certain amount of time. 
  8. Good points? 
  9. Spectrum ROM doesn't come with the emulator; apparently Amstrad denied
permission (perhaps because this is a commercial product). A hacked version of
the demo does include it, illegally. 
  10. Information here comes from a brief Readme file in a hacked demo version
of the emulator. More information welcome. 
  11. Available from DigiMail in Italy:
 Digimail Srl
 Via Coronelli 10
 20146 Milano
 ITALY
 Phone: ++39-2-427621
 Fax: ++39-2-427768 


                  --===Spectrum FAQ - Emulators - Psion===--
 
                                       
                              1 emulator listed:
                                       
                         [Sinclair Spectrum Emulator] 


    Sinclair Spectrum Emulator 2.00 (Palmtop BV [http://www.palmtop.nl/] )   
                                       

  1. Emulates 48K and 128K Spectrum with Kempston joystick. 
  2. Loads .SNA and .Z80 snapshots and from .TAP tape files. Also loads from
.POK files to enable pokes to be activated in games. 
  3. Saves .SNA snapshots and .SCR screenshots. 
  4. No real tape support. 
  5. Requires an EPOC32 platform (e.g. Psion 5). 
  6. Slow (version 2.00 is apparently 20% faster than previous versions
though). 
  7. Freeware. 
  8. Variable screen sizes and update rates; this does allow some games to be
quite playable. 
  9. Speed varies with what the Spectrum program is doing, and the black and
white Psion screen can make some games confusing. Also, drains the batteries
very quickly (approximately three times normal rate). Allows overwriting of
the ROM? 
  10. Much of the above information is about the previous version (known
either as Version 0.50 Beta or Version 1.00), for which thanks should be sent
to Simon
Jacobs [simon@sjacobs.demon.co.uk] . Any updates welcome. 
  11. Available from Palmtop [http://www.palmtop.nl/spectrum.html] or World of
Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/psion5/spectrum.zip] . 

                                       

               --===Spectrum FAQ - Emulators - Atari ST/TT===--
 
                                       
                              3 emulators listed:
                                       
                         [Specci] [Speccy] [Spectrum] 


           ZX-SPECTRUM Emulator / Specci v2.07 (Christian Gandler)   
                                       

  1. Emulates 48K Spectrum, Interface 1 (Microdrives and RS232), Kempston and
Sinclair joysticks. 
  2. Doesn't load snapshots. Loads tape files from separate files on Atari
disks. 
  3. Doesn't save snapshots. Saves tape files to separate files on Atari
disks. 
  4. No real tape support. 
  5. Requires at 1Mb of memory. 
  6. Speed is around 70% (at best) of real Spectrum on plain STs. 
  7. Freeware? 
  8. Also runs on TTs and Falcons (in ST low/high resolutions). 
  9. Bad points? 
  10. All documentation in German. There is a poorly-translated version of the
documentation supplied (taken from a 'Pompey Pirates' disk that had this
emulator on it) with at least one of the copies on the FTP sites. 
  11. Available from NVG
[ftp://ftp.nvg.ntnu.no/pub/sinclair/emulators/spectrum/atari/zx_sp207.zip] or
World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/atari/zx_sp207.zip] . 

         Speccy (Hansjoerg Oppermann [schorse@nightlife.escape.de] )   
                                       

  1. Emulates? 
  2. Loads? 
  3. Saves? 
  4. Real tape support? 
  5. Requirements? 
  6. Speed? 
  7. Freeware. 
  8. Good points? 
  9. Bad points? 
  10. All three of these emulators where previously included in the entry for
Specci, but they are in fact different emulators. 
  11. Available from NVG
[ftp://ftp.nvg.ntnu.no/pub/sinclair/emulators/spectrum/atari/atari-speccy.zip]
or World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/atari/atari-speccy.zip]
. 

                                 Spectrum (?)   
                                       

  1. Emulates? 
  2. Loads? 
  3. Saves? 
  4. Real tape support? 
  5. Requirements? 
  6. Speed? 
  7. Freeware. 
  8. Good points? 
  9. Bad points? 
  10. All three of these emulators where previously included in the entry for
Specci, but they are in fact different emulators. 
  11. Available from NVG
[ftp://ftp.nvg.ntnu.no/pub/sinclair/emulators/spectrum/atari/atari-spectrum.zip
] or World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/atari/atari-spectrum.zip]
 . 

                                       

                   --===Spectrum FAQ - Emulators - NeXT===--
 
                                       
                              1 emulator listed:
                                       
                                 [NXSpectrum] 


  NXSpectrum (Ian Collier [Ian.Collier@comlab.ox.ac.uk]  and Ian Stephenson)   
                                       

  1. Emulates 48K Spectrum. ZX Printer still? 
  2. As xz80. 
  3. As xz80. 
  4. As xz80. 
  5. Requirements? 
  6. Speed? 
  7. Freeware (GNU Public License). 
  8. Good points as xz80? 
  9. Bad points as xz80? 
  10. This is a quick hack of xz80 to make it run under NeXTStep. And yes,
this is from the same guy who does SoftPC for Insignia! 
  11. Was available from
_ftp://pitcher.peak.org/pub/next/submissions/NXSpectrum.app.NIHS.compressed_
but this site no longer exists. 

                                       

                   --===Spectrum FAQ - Emulators - Java===--
 
                                       
                              3 emulators listed:
                                       
                  [Hob] [JASPER] [Spectrum Emulator for Java] 


          [UPDATED] Hob v0.7.1 (Nigel Barford [nigel@engis.co.uk] )   
                                       

  1. Emulates 48K Spectrum. 
  2. Loads optionally gzipped .SNA and .Z80 snapshots. 
  3. Saves? 
  4. No real tape support. 
  5. Runs on any Java 1.1 system. 
  6. Slow. 
  7. Freeware. 
  8. Good points? 
  9. No sound. 
  10. Other points? 
  11. Available from the Hob home page [http://www.engis.co.uk/stuff/hob/] . 

    JASPER v1.1 (Andrew Pollard [andrew@odie.demon.co.uk]  and Adam Davidson
                         [adam@odie.demon.co.uk] )   
                                       

  1. Emulates 48K Spectrum. 
  2. Loads .Z80 and .SNA files using PgUp or LOAD "snapshot name". 
  3. Saves .Z80 and .SNA files using PgDn if you have downloaded the class
archive. 
  4. No real tape support. 
  5. Runs on any Java system. 
  6. Slow. V1.1 has been improved speedwise and has smaller class files so
will download quicker. 
  7. Freeware. 
  8. Good points - well, it's a nice achievement and very portable but that's
about it really! 
  9. So slow... though hardly the author's fault. 
  10. There is a downloadable class archive so snapshots can be saved and the
emulator used without being online. Source also available. 
  11. Available from the JASPER home page [http://www.spectrum.lovely.net/] . 

  Spectrum Emulator for Java (James Sutherland [james@guybrush.demon.co.uk] ) 
                                        
                                       

  1. Emulates 48K Spectrum. 
  2. Loads .SNA files. 
  3. Saves .SNA files. 
  4. No real tape support. 
  5. Requires a Java SDK (a web browser will not do!) such as Symantec's JIT
2.0, 8Mb RAM, and a '*fast*' computer. 
  6. Apparently almost full Spectrum speed on a P133 with 32Mb RAM running
Symantec JIT 2.0 in Win95. 
  7. Freeware. 
  8. Frame skip and instruction store options (the latter stores emulated
instructions to greatly improve performance when they are needed again, though
this causes games with self-modifying code to fail). Includes a nice-looking
debugger with breakpoints, single stepping, etc. 
  9. Not runnable in a web browser's Java VM. 
  10. No other comments. 
  11. Available from Spectrum Emulator for Java home page
[http://www.guybrush.demon.co.uk/spectrum/index.html] . 

                                       

               --===Spectrum FAQ - Emulators - Playstation===--
 
                                       
                              2 emulators listed:
                                       
                             [PS-ZX] [Speculator] 


                   PS-ZX ( [majik@mudhole.spodnet.uk.com] )   
                                       

  1. Emulates the 48K machine (with _Hungry Horace_ pre-loaded). 
  2. No load capability. 
  3. No save capability. 
  4. No real tape support. 
  5. Requires a Yaroze (programmable Playstation). 
  6. Speed? 
  7. Freeware? 
  8. Good points? 
  9. Plays only _Hungry Horace_. No sound. Available only to Net Yaroze
members. 
  10. Again, I don't have a Playstation, so I haven't actually tried this.
Comments from anyone who has would be welcomed. 
  11. Available from the author's 
[http://www.netyaroze-europe.com/~majik-zx/] (You need to be a Net Yaroze
member to access this). Information available from the author's 
[http://mudhole.spodnet.uk.com/~majik/sinclair/emulation/ps-zx.html] . 

                     Speculator v0.9b ( [ronco@mmm.it] )   
                                       

  1. Emulates the 48K machine. 
  2. Loads from a set of .SNA files in the executable (it is possible to
change these by patching the executable). The next version should be able to
load games from CD. 
  3. No save capability. 
  4. No real tape support. 
  5. Requires a Playstation, a Datel Pro Action Replay with Comm Link
interface and cable, and the EZ-O-RAY action replay rom replacement (available
 [http://www.blackbag.org/psx/] ). The next version should work on a standard
Playstation when burned to a CD. 
  6. Runs at true Spectrum speed. 
  7. May be freely distributed for no commercial purpose in its original
archive. 
  8. Good points? 
  9. Undocumented flags (used by _Sabre Wulf_ and others) and R register not
emulated. 
  10. I don't have a Playstation, so I haven't actually tried this. Comments
from anyone who has would be welcomed. 
  11. Available from the author's  [http://www.mmm.it/trg/] or 
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/playstation/spec09.zip]
. 

                                       

                --===Spectrum FAQ - Emulators - SAM Coupe===--
 
                                       
                              1 emulator listed:
                                       
                                   [Spectre] 


           Spectre v1.0 (James Gasson [james.gasson@clear.net.nz] )   
                                       

  1. 48K Spectrum emulation (via SAM Coup hardware). 
  2. Loads .SNA, Disciple/+D and Multiface tape snapshots, and from .TAP tape
files. 
  3. Saves .SNA, Disciple/+D and Multiface tape snapshots, and to .TAP tape
files. 
  4. Tape support (using the SAM ROM tape routines). 
  5. Works OK with SAM DOS 2.0 and Master DOS 2.1. 
  6. Runs a bit faster than a real Spectrum (due to SAM's faster CPU). 
  7. Freely distributable in original form. 
  8. Pull-down menu interface (kind of). 
  9. Spectrum ROM not included. Some known bugs - listed in the manual. 
  10. To get the program onto a SAM disk, you will need a PC disk reading
progam for SAM, like KE Disk (from the PC->SAM package), or PC Suite. 
  11. Available from NVG
[ftp://ftp.nvg.ntnu.no/pub/sam-coupe/temp/SPECTRE.ZIP] or World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/samcoupe/SPECTRE.ZIP] . 

                                       

                    --===Spectrum FAQ - Emulators - QL===--
 
                                       
                              4 emulators listed:
                                       
                    [Spectator] [Speculator] [ZeXceL] [ZM] 

My thanks to Simon Goodwin [simon@studio.woden.com] for most of the
information below.
 

                        Spectator v1.18 (Carlo Delhez)   
                                       

  1. Emulates 48K Spectrum, Kempston, Protek and Interface 2 joysticks,
Interface 1 and Microdrives. 
  2. Loads .Z80 snapshots. 
  3. Saves .Z80 snapshots. 
  4. No real tape support. 
  5. Requires 256Kb of RAM, needs QRAM or QPAC to multitask. 
  6. Slower than the ZM emulators. 
  7. Shareware - cost 50 Dutch Guilders to register (in 1993, so it may cost
more now). Registration gets you a 720Kb disk full of Speccy software (mostly
games), a printed manual and various utilities to read from +D, Disciple,
Discovery and Beta/Hobbit disks. 
  8. Emulates undocumented Z80 opcodes; runs more Speccy software than the
other QL-based emulators. 
  9. Screen update not immediate; uses a separate task to update the screen
every second or so. FLASH a bit slow as a result. Keyboard handling a bit
weird - QL Caps Lock does not correspond to Spectrum Caps Lock, press F5 for
Extended Mode, etc. 
  10. Sound via the QL NET port or the QL's beeper, which sounds rather
better. 
  11. Shareware version available from QL Public Domain suppliers such as
S.J.P.D. and Qubbesoft, registered version available from author:
 Carlo Delhez,
 Emmastraat 3,
 4651 BV
 Steenbergen,
 Netherlands.
 

                          Speculator (William James)   
                                       

  1. Emulates 48K Spectrum, Kempston and Protek joysticks. 
  2. Loads .Z80 snapshots and files from QL devices. 
  3. Saves snapshot in its own format, saves files to QL devices. 
  4. Comes with Dave Barker's QSPEC, a comprehensive set of QL commands to
load and convert ZX tape files via the QL NET port, but loading is
hit-and-miss as it depends on QL memory and tape speed. Speculator's LOAD
command can use QL drives or a tape player connected to SER2, which can in
theory accept stronger signals than NET. These tape routines assume Mark 1
Trump Card memory. 
  5. Requires 256Kb of RAM. 
  6. Faster for BASIC than the other QL-based emulators (due to replacement of
some of the slow original ROM routines) but slower for machine code programs. 
  7. Public domain; comes with complete source (in assembler). 
  8. Comes with a utilty to enable keyword entry letter-by-letter, useful
seeing as Speccy keywords aren't printed on the QL keyboard. Filenames not
limited to the Speccy's 10 character standard so full 36 letter QL filenames
can be used. 
  9. Doesn't multitask; takes over from SuperBasic. Doesn't emulate
undocumented Z80 opcodes. 
  10. FLASH emulation can be turned off to speed things up. Sound via the QL
NET port; a bit rough and ready, and locks out SER and MDV devices when in
use. 
  11. Available from QL Public Domain suppliers such as Qubbesoft or S.J.P.D.:
 Qubbesoft PD,
 Brunwin Road,
 Rayne,
 Braintree,
 Essex
 CM7 5BU
 UK.
 
SJPD,
 36 Eldwick Street,
 Burnley,
 Lancashire
 BB10 3DZ
 UK. 

                          ZeXceL (Davide Sanchiara)   
                                       

  1. Emulates the 128K Spectrum. 
  2. Loads? 
  3. Saves? 
  4. Real tape support? 
  5. Requires? 
  6. Faster than ZM/128. 
  7. Shareware? 
  8. Good points? 
  9. Bad points? 
  10. Runs under the QL's extended pointer environment; anyone with more info
on this emulator is most welcome to mail me [pak21@cam.ac.uk] 
  11. Available from World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/ql/zexcel.zip] . 

                  ZM/1, 2, 3, hT and 128 (Ergon Development)   
                                       

  1. Emulates 48K Spectrum, 128K Spectrum (ZM/128 only!), Kempston (ZM/2+),
Protek (ZM/2+) and Interface 2 joysticks, Interface 1 and Microdrives (ZM/1
and ZM/2 only). 
  2. Loads .Z80 snapshots (ZM/2+). 
  3. Saves .Z80 snapshots (registered ZM/2+). 
  4. Real tape support with ZM/AC that comes with registered versions of
ZM/2+. 
  5. Requires 512Kb of RAM (640Kb for ZM/hT). 
  6. ZM/hT can out-perform a real Spectrum on a 16MHZ Gold card; other ZM
versions are faster than the other QL-based emulators at least. 
  7. Shareware - cost 60,000 Italian Lire to register (in 1993, so it may cost
more now). Registration gets you full versions of ZM/2 and ZM/3 and a printed
manual plus utilities to read tapes and MGT or Opus disks. Send 90,000 Lire
and you get ZM/HT, a compiling emulator which actually compiles Z80 code into
native 68000 for a big speed increase (though variable speed until it has
compiled all the Z80 code it encounters). Extra cash required for postage. 
  8. ZM/2 includes a Z80 monitor. Definable key layouts. Keyword entry eased
by a menu of keywords you can select from as well as using the keys. Screen
update can be in delayed or immediate modes. Emulates undocumented Z80
opcodes. 
  9. Only ZM/HT can save configuration or save compressed Z80 snapshots. 
  10. Sound via the QL NET port; a bit rough and ready, and locks out SER and
MDV devices when in use. Response to INs from non-existent ports can be set,
which helps with some games. 
  11. Shareware version available from World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/ql/zmx.zip] ; registered
version available from the authors:
 Ergon Development,
 via Emilio De Marchi,
 2,
 42100 Reggio Emilia,
 Italy. 

                                       

                   --===Spectrum FAQ - Emulators - C64===--
 
                                       
                              1 emulator listed:
                                       
                                 [Spectrum 48] 

(Some information from Adam Roach's comp.emulators.misc FAQ)
 

                     Spectrum 48 (Whitby Computers Ltd.)   
                                       

  1. Emulates Sinclair BASIC only - no Z80 emulation, so no machine code
programs work. Microdrive emulated via 1541/1571 disk drive. 
  2. Loads Microdrive files from disk. 
  3. Saves Microdrive files to disk. 
  4. No real tape support. 
  5. Requires just a basic C64. 
  6. Slow - well, it *is* just BASIC and it *is* on a C64! 
  7. Freeware? 
  8. Allows C64 users to see some of the superiority of Sinclair's masterpiece
(well you try and think of a good point!). And Sinclair BASIC is somewhat more
useful than Commodore's attempt. 
  9. Useless for all but the most BASIC of games (pun intended). 
  10. No other comments. 
  11. Available from World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/c64/c642spec.zip]
(ZIPped up .P00 file for use with the PC64 CBM 64 emulator). 

                                       

                   --===Spectrum FAQ - Emulators - MSX===--
 
                                       
                              1 emulator listed:
                                       
                                    [ROMU6] 


                  ROMU6 (Cesar Hernandez and Juan Hernandez)   
                                       

  1. Emulates Spectrum 48K BASIC only. 
  2. No snapshot loading, tape files loaded via normal MSX tape loading. 
  3. No snapshot saving, tape files saved via normal MSX tape saving. 
  4. As the above implies, apparently has real tape support through normal MSX
tape loading. 
  5. Requires an MSX II with 128Kb Memory mapper. Though it will run on an MSX
I with a memory mapper the colours will be wrong. 
  6. Speed? 
  7. Freeware. 
  8. Good points? 
  9. Bad points? 
  10. Max Celedon [i5mceled@loa.disca.utfsm.cl] apparently has something to do
with the authors and may know more. 
  11. Available from World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/msx/msx2spec.zip] . 

                                       

                     --===Spectrum FAQ - Where is...?===--
 
This section is dedicated to information about the whereabouts or current
activities of Sinclair scene personalities. Mostly this means games
programmers or magazine writers. You may also want to visit the Giant List of
Classic Game Programmers [http://www.dadgum.com/giantlist.html] . Information
regarding these people (and especially any not mentioned here) is very
welcome; if you are such a person and would like your entry modified or
removed for privacy reasons, please let me know and I'll do what you require
ASAP.
 
 
                --===Spectrum FAQ - Where is...? (Part 1)===--
 

                                16/48 magazine   
                                       

See Roger Swift.
 

                       Ashby Computers & Graphics (ACG)   
                                       

See Ultimate.
 

                                  Activision   
                                       

See Keith Burkhill, Paul Machacek, and Bob Pape.
 

                               Artic Computing   
                                       

See Jon Ritman and Richard Turner.
 

                 Beam Software [Penetrator, The Hobbit, etc.]   
                                       

Still around and happy to let people grab their old games in snapshot form -
see their website [http://www.beam.com.au/] .
 Info by: Fredrik Ekman.
 

            Binary Design [180, Zub, Amaurote, Glider Rider etc.]   
                                       

See John Pickford and Ste Pickford.
 

                                   Bug Byte   
                                       

See Karl Hampton and Matthew Smith.
 

                                     CCS   
                                       

See R. T. Smith.
 

                                 Codemasters   
                                       

Still going strong, though not doing budget stuff any more. Home page here
[http://www.codemasters.com/] . Also see David Spicer and R. Fred Williams.
 

                                Crash magazine   
                                       

Crashed. Was, to their eternal shame, merged with Sinclair User towards the
end. See Simon Goodwin, Roger Kean, Lloyd Mangram, Jon North, Barnaby Page and
Eddie McKendrick.
 

                                   Delta 4   
                                       

See Fergus McNeill.
 

                                Denton Designs   
                                       

See Dougie Burns, Stuart Fotheringham, Fred Gray, Colin Grunes, John Heap,
Dave Lawson, Ally Noble, Paul Salmon and Steve Wetherill.
 

                                Design Design   
                                       

See Simon Brattel and Graham Stafford.
 

                                  DK'Tronics   
                                       

See Ed Hickman and Don Priestley.
 

                                    Domark   
                                       

See Mark Incley, Richard Naylor and John Pragnell.
 

                               Electric Dreams   
                                       

See Mark A. Jones.
 

                                    Elite   
                                       

See Keith Burkhill, Paul Holmes and Duncan Sinclair.
 

                           Faster Than Light (FTL)   
                                       

See Gargoyle Games.


                       Gargoyle Games/Faster Than Light   
                                       

See Roy Carter.
 

                                  Graftgold   
                                       

See Dominic Robinson.
 

                               Gremlin Graphics   
                                       

Still going strong, though now called Gremlin Interactive
[http://www.gremlin.co.uk/] . Quite happy for their old games to be
distributed, they have a retro page on their web site with some of their games
there plus they've released the rights for official distribution to Alchemist
News.
 Info by: Andy Davis, Russ Juckes.
 

                                    Hewson   
                                       

See Dominic Robinson.
 

                                   Imagine   
                                       

Imagine went bust and the name was bought by Ocean. Used for a good while, the
name eventually disappeared. See Marc Dawson, Alan Fothergill, John Gibson,
John Heap, Ally Noble and Ian Weatherburn.
 

                                  MacMillian   
                                       

See Don Priestley.
 

                                 Mastertronic   
                                       

Mastertronic was bought up by Virgin, becoming Virgin Mastertronic and went on
for a while before disappearing into Virgin Interactive Entertainment
[http://www.vie.co.uk/] . Also see John F. Cain, Ste Cork, David Jones and
Binary Design.
 

                               Melbourne House   
                                       

Still part of Beam Software, but do have their own homepage
[http://www.melbournehouse.com/] .
 

                                  Mikro-Gen   
                                       

See Dave Perry.
 

                                  Mirrorsoft   
                                       

See Keith Burkhill and Robert Erskine.


                                    Ocean   
                                       

Still in existence, have a homepage [http://www.ocean.co.uk/] . See Simon
Butler, Bernie Drummond, Mike Lamb, David Aubrey Jones, Mark R. Jones, Jon
Ritman and Christian Urqhuart. 

                            Odin Computer Graphics   
                                       

See Marc Dawson, Stuart Fotheringham, Colin Grunes, Paul Salmon and Steve
Wetherill. 


                                    Psion   
                                       

The company is still going strong of course, making electronic organizers etc.
Visit their web site [http://www.psion.com/] . See also Steve Kelly and
Stephen Townsend.
 

                                  Quicksilva   
                                       

See Glenn Flood and John Hollis.
 

               Realtime Games Software [aka Realtime Graphics]   
                                       

See Graeme Baird and Ian Oliver.
 

                              Sinclair Research   
                                       

While the 'Sinclair' name was sold to Amstrad (a name now itself defunct),
Sinclair Research continued on, and is still in existence, still being run by
Sir Clive, still producing innovative bits of kit! See also Sir Clive Sinclair
and Rupert Goodwins.
 

                                Sinclair User   
                                       

See Tony Dillon, Jon North and Garth Sumpter.
 

                              Software Creations   
                                       

Still going strong; see their homepage [http://www.creations.co.uk/] (even if
this was a bit empty the last time I checked). Also see Marc Dawson, Mike
Follin and Tim Follin.
 

                              Software Projects   
                                       

See Ste Cork, Marc Dawson, Stuart Fotheringham, Colin Grunes and Matthew Smith.
 

                                 Telecomsoft   
                                       

See Richard Stevenson.
 

                                   Tiertex   
                                       

See Martin Wakeley.
 

                                  Topologika   
                                       

Produced a couple of adventures on the Spectrum, like Return to Doom. Still
going strong as an Acorn educational software house, though they don't do
games any more. See their web site [http://www.topolgka.demon.co.uk/index.htm]
.
 Info by: Richard G. Hallas.
 

                                   Tynesoft   
                                       

See Alan Cox.
 

           Ultimate Play The Game/Ashby Computers & Graphics (ACG)   
                                       

Calling themselves Rare and producing console games for Nintendo
[http://www.nintendo.com/] , e.g. _Donkey Kong Country_ and _Killer Instinct_
for the new Nintendo Ultra 64. Now have some info on their Web site
[http://www.rare.co.uk/] , including stuff on Ultimate, but don't like their
games being distributed.
 Info by: Dylan Cuthbert, Philip Kendall
 

                                  U.S. Gold   
                                       

See Keith Burkhill and Ste Cork.
 

                                Vektor Grafix   
                                       

See Derek Austin, Andy Craven and Ciaran Gultnieks.
 

                                    Virgin   
                                       

See Martin Wheeler.
 

                                    Vortex   
                                       

See Mark Haigh-Hutchinson and Costa Panayi.
 

                            Your Sinclair magazine   
                                       

See Linda Barker, Marcus Berkmann, Matt Bielby, Stuart Campbell, Simon Cooke,
Leigh Loveday, Teresa Maughan, David McCandless, Jonathan Nash, Jon North,
Phil South and David Wilson. 

                               Individuals A-G   
                                       


               Derek Austin [Vektor Grafix artist - Star Wars]   
                                       

Now works for Psygnosis [http://www.psygnosis.com/] . 
Info by: Ciaran Gultnieks.
 

      Graeme Baird [Realtime Games Software - 3D Starstrike/Starglider]   
                                       

Working on new technology for Psygnosis [http://www.psygnosis.com/] in Leeds. 
Info by: Ian Oliver.
 

                     Linda Barker [Your Sinclair editor]   
                                       

Club president of Prism PD. Wrote a bit in PD Power.
 Info by: Robert Cooper (aka Icabod).
 

                       Ian Bell [BBC version of Elite]   
                                       

Now working on a new game of which he is "keeping the details secret". Has a
web page [http://people.netcom.co.uk/i.bell/Default.html] containing some
stuff on _Elite_, amongst other things. (Ian's e-mail address is available
from his web page)
 Info by: Paul Jenkinson, Ian Bell
 

                    Marcus Berkmann [Your Sinclair writer]   
                                       

Now writing for the Mail on Sunday, and also writes the back page in the
sci-fi magazine "Dreamwatch"
 Info by: Keith Willoughby, Chris Young
 

                      Matt Bielby [Your Sinclair writer]   
                                       

Now working for Future Publishing [http://www.futurenet.co.uk/] on SFX
magazine.
 Info by: Chris Muskett.
 

   Simon Brattel [Design Design programmer - Halls of the Things/Dark Star]   
                                       

Runs his own company producing system software.
 Info by: Andrew Toone, Jon Ritman.
 

   Nigel Brown [nigel@ims-bristol.co.uk] [Mirrorsoft/Sales Curve - Andy Capp,
                         Silkworm, Ninja Warriors]   
                                       

Now Research and Development director at an Acorn company, Innovative Media
Solutions Ltd. See their their web site [http://www.ims-cdc.demon.co.uk/]
which has some of his old stuff available for download (in the Psion 5
section!).
 Info by: Richard G. Hallas
 

   Keith Burkhill [keith.burkhill@dial.pipex.com] [Elite - Commando/Ghosts 'n
                           Goblins/Space Harrier]   
                                       

Working freelance (for Probe [http://www.probe.co.uk/] at the moment). From
Keith:
 "[Some of the games] I did were Afterburner Speccy/Amstrad, sold lots, then
Galaxyforce which sold about 30 copies because Activision went bust, there are
probably none left in existence! Also I bet you'v never heard of Gee Bee Air
Rally; Activision gave me about 15 copies which is about how many it sold!
That was a really bad game and I can't understand why they commisioned me to
convert it from the c64. The worst games I did were of course with Probe. Back
to the Future 3 - surely the worst game ever on the Speccy and Master System.
I remember one reviewer saying you would be better off going into the street
and giving 35 to a complete stranger than buying that on the Master System.
Again it was just a conversion from the C64. Then came Alien 3 on MS and GG,
typical Probe platform game, that was done for MirrorSoft and Robert Maxwell
commited suicide half way through the contract (maybe he had seen the game).
Myself and the Genesis programmers were hoping to get out of finishing the
project, but US Gold sensing a tedious platform scroller up for grabs jumped
in and finished it off. Then came Incredible Hulk, typical Probe platform game
again, I was supposed to be converting the Genesis + SNES ones as they went
along but they were so slow I also squeezed in Krustys Fun House on MS + GG
and MK1 on MS and GG in the same time. I did MK2 on the GG and MS too and was
supposed to be doing the Genesis one but for various reasons didn't and lost
out on a fortune in royalties - I'd never have had to work again!
 
I did FIFA 96 and Alien Trilogy on the Saturn (quite good money shame about
the game), F1 on the Saturn (cancelled because the Saturn is not viable
anymore) and that's that. I still have all the old source code and dev kits
right back to Pogo days etc even though some of it was on microdrives so may
be unreadable!"
 Info by: Stephen Smith, Keith Burkhill.
 

                   Dougie Burns [Denton Designs programmer]   
                                       

Last seen in Glasgow as a used car salesman.
 Info by: Stuart Fotheringham, Andrew Toone, Ralph Ferneyhough.
 

     Simon Butler [Ocean artist - Neverending Story/NOMAD/Cosmic Wartoad]   
                                       

Still up in Liverpool and working for a software company.
 Info by: Mark R. Jones.
 

                     John F. Cain [Mastertronic - Booty]   
                                       

Still lives on the Isle of Man, as he did when he wrote Booty. He has a gold
cassette of _Booty_ on his wall!
 Info by: Mark Walker.
 

                       Stuart Campbell [Your Sinclair]   
                                       

Writes "Panel 4" for Digitiser on C4 Teletext once every four weeks.
 Info by: Chris Young.
 

       Roy Carter [Gargoyle Games/FTL - Heavy On The Magick/Lightforce]   
                                       

Roy Carter is a registered user of Z80 and has given spoken permission to
distribute the Gargoyle games. They are (were?) doing things for Psygnosis
[http://www.psygnosis.com/] - not all of them game writing.
 Info by: Brian Gaff, Andrew Toone.
 

             Rafaelle Cecco [Hewson - Exolon/Cybernoid/Stormlord]   
                                       

Still writing games: his latest project is _B Movie_, for his own company,
King of the Jungle.
 Info by: Graham Goring.
 

     Sean Conran [Cascade/Vektor Grafix artist/musician/producer - 19 - Boot
                                   Camp]   
                                       

Worked for Bits (now known as Bits Studios) until 1996; is still working in
computer graphics, and also does stand-up comedy in London. Also, if you have
a copy of Sean's PD ST game _RGB_, soft reset it to get a Spectrum BASIC
emulator :-).
 Info by: Sean Conran.
 

                 Pete Cooke [CRL - Tau Ceti/Academy/Room 10]   
                                       

Did a game called "Tower of Babel" for the ST, Amiga and Archimedes a few
years ago, and more recently he programmed the menu system for F1GP II on the
PC.
 Info by: Tero Turtiainen, Darrel Sinclair, Richard Hewison.
 

     Simon Cooke [simon.cooke@erols.com] [Your Sinclair technical editor]   
                                       

Is alive and well, reads comp.sys.sinclair [comp.sys.sinclair] and is
currently (June 1998) living and working just outside of Washington DC. Is
about to start a new job with Microsoft, perverting the course of Java as we
know it ;-). Has various Sinclair and SAM Coup related bits on his web site
[http://jumper.mcc.ac.uk/~simonc/] .
 Info by: Simon Cooke.
 

  Ste Cork [ste_cork@compuserve.com] [US Gold/Mastertronic/Software Projects -
               Rescue, Wibstars, Psycho Pigs UXB, Star Paws]   
                                       

Now working for Psygnosis [http://www.psygnosis.com/] ; an interview with him
is available here
[http://www.geocities.com/TimesSquare/Battlefield/8875/scork.html] .
 Info by: Ste Cork via Philip Bee.
 

           Alan Cox [Alan.Cox@linux.org] [Tynesoft - Blizzard Pass]   
                                       

Now doing network stuff; has thought about a Linux [http://www.linux.org/]
version of _Blizzard Pass_. He has a home page [http://shadow.cabi.net/] where
you can retrieve some adventure stuff (but not Blizzard Pass itself, as that
is owned by whoever bought the rights from Tynesoft).
 Info by: Alan Cox.
 

                Andy Craven [Vektor Grafix owner - Star Wars]   
                                       

Now has a company producing VR arcade machines. 
Info by: Ciaran Gultnieks.
 

                              Mel Croucher [ID]   
                                       

Writing for magazines; including the *Great Moments In Computing* strip for
Computer Shopper [http://www.compshopper.co.uk/] .
 Info by: Damien Burke.
 

                       Jonathan Davies [Your Sinclair]   
                                       

Now working for the BBC's Top Gear website.
 Info by: Stuart Campbell.
 

     Marc Dawson [m_dawson@creations.co.uk] [Imagine/Software Projects/Odin
                                programmer]   
                                       

(Apparently worked on the never-released Manic Miner 3 with Matthew Smith when
at Software Projects!) Was mostly a C64 programmer; founded Eldritch The Cat
(ST/Amiga software house with Steve Wetherill, now Marc is Senior Projects
Manager at Software Creations [http://www.creations.co.uk/] ; an interview
with him is available here
[http://www.geocities.com/TimesSquare/Battlefield/8875/mdawson.html] .
 Info by: Marc Dawson.
 

                     Tony Dillon [Sinclair User reviewer]   
                                       

Formed a company called 'Reflex Technologies' with Patrick Kelly and worked on
a 'nice 3D car game' for a while. They then wrote the software that is
currently running on the interactive units in the Leeds Royal Armories. The
company went bust due to problems with payments for their game (approx early
1997) and Tony is now working as a freelance multimedia programmer, using
things like Authorware and Director. He now has a Web site
[http://www.kellion.demon.co.uk/index.htm] .
 Info by: Paul Jenkinson.
 

    Bernie Drummond [Ocean - co-author of Matchday/Batman/Head over Heels]   
                                       

Works for a games software company in the UK called Cranberry Source
[http://www.cranberry.co.uk/] , which Jon Ritman is director of.
 Info by: Jon Ritman.
 

    Robert Erskine [robert.erskine@smallworld.co.uk] [Mirrorsoft - Battle of
                                  Britain]   
                                       

Robert wrote Battle of Britain among other stuff and also ran Microgame
Simulations. They published Spec-fx and various books (e.g. "60 Programs for
the Sinclair Spectrum" from Pan). He is now working for Smallworld Cambridge
on GIS.
 Info by: Robert Erskine, Stephen Smith.
 

                               Eugene Evans [?]   
                                       

Currently working in Chicago at Viacom New Media. He's been there for a good
few years before which it was Icom Simulations, Inc. the people who did the
CD-ROM _Sherlock Holmes_ games, _T-MON_ for the Mac, and _Dracula Unleashed_.
 Info by: Brian Leake.


  Glenn Flood [glenn@floodnet.demon.co.uk] [Quicksilva artist - tape inlay art
                        for Astroblaster and others]   
                                       

Programming and drawing still; has a nice web site
[http://www.floodnet.demon.co.uk/] showing off a lot of his artwork.
 Info by: Glenn Flood.
 

    Mike Follin [Mike_Follin@compuserve.com] [Software Creations programmer -
                       Bubble Bobble/Bionic Commando]   
                                       

Working for Psygnosis [http://www.psygnosis.com/] ; an interview with him is
available here
[http://www.geocities.com/TimesSquare/Battlefield/8875/mfollin.html] , and he
has a homepage [http://ourworld.compuserve.com/homepages/Mike_Follin/] .
 Info by: Mike Follin via Philip Bee.
 

   Tim Follin [timfollin@timfollin.demon.co.uk] [Software Creations musician -
                       Bubble Bobble/Bionic Commando]   
                                       

Just finished working on the music for the 'Batman and Robin' game.
 Info by: Mike Follin via Philip Bee, Tim Follin
 

               Alan Fothergill [afotherg@oracle.com] [Imagine]   
                                       

Apparently reads comp.sys.sinclair [comp.sys.sinclair] .
 

  Stuart James Fotheringham [stuarto@stoo.demon.co.uk] [Odin artist - Nodes of
                     Yesod/Robin o' the Wood/Heartland]   
                                       

Got involved with Marc Dawson's Eldritch the Cat software house for a while.
Now reads comp.sys.sinclair [comp.sys.sinclair] . From Stuart himself:
 "From 1984 to 1989 I worked for Software Projects, Odin Computer Graphics,
Denton Designs and then I went freelance. -- in 1989 I left the games industry.
 
From 1990 I programmed analysis tools for an international management
consulting company. I had the opportunity to work in every European and
Scandinavian country, the United States, Saudi Arabia and the Pacific- rim.
 
In 1996 myself and a partner started our own consulting business, we develop
enterprise system solutions for global corporations and financial institutions
in the City.". A further interview with him is available here
[http://www.geocities.com/TimesSquare/Battlefield/8875/stoo.html] .
 Info by: Stuart Fotheringham, Marc Dawson.
 

   Mike Gerrard [mgerrard@netcom.co.uk] [One Of Our Wombats Is Missing/Various
                                 magazines]   
                                       

Is know working as a travel writer, and has a homepage
[http://www.owg.org.uk/mike.gerrard/] related to this.
 Info by: Frederik Ekman, Nick Humphries, Mike Gerrard.
 

              John Gibson [Imagine programmer - ZZoom/Stonkers]   
                                       

Currently working in the Chester office of Psygnosis
[http://www.psygnosis.com/] and has been for some time.
 Info by: Stuart Fotheringham, Andrew Toone, Ralph Ferneyhough.
 

                 Julian Gollop [Chaos, LaserSquad, Rebelstar]   
                                       

Owner of Mythos
Games [http://www.mythosgames.com/] (with Nick Gollop); still
programming (_UFO_, _X-COM_).
 Info by: Miguel Melo.
 

                  Nick Gollop [Chaos, LaserSquad, Rebelstar]   
                                       

Owner of Mythos
Games [http://www.mythosgames.com/] (with Julian Gollop);
still programming (_UFO_, _X-COM_).
 Info by: Miguel Melo.
 

       Simon Goodwin [simon@studio.woden.com] [Crash Tech Tips writer]   
                                       

Was still writing for Sinclair QL World when the final issue (July 94) came
out. Simon Goodwin writes for Amiga magazines (including Amiga Format) and
Computer Shopper [http://www.compshopper.co.uk/] . He was also seen at the
Last Sinclair and SAM show in Gloucester. Messing with both Speccy emulator
for Amiga and hardware Speccy emulation for IBM PC; notably on Speculator '93,
a QL Speccy emulator currently being converted to run on the Amiga. Reads
comp.sys.sinclair.
 Info by: Simon Goodwin, Jenni the Satsuma, Brian Gaff, Chris Young
 

   Rupert Goodwins [Rupert_Goodwins@zd.com] [Sinclair Research programmer]   
                                       

Now technical editor at PC Magazine. From the man himself:
 "I worked on the Spectrum 128, +2 and +3 at Sinclair and Amstrad, writing
increasingly baroque parts of the ROM. The little rainbow flash on the menus
and main screen was mine as was the screen handling code in general together
with paging stuff, bits of the BASIC, initialisation code and the tape
gadgets. There was more, but I mercifully forget what... reading your page of
128K Spectrum quirks brings some of them back, though. VAXNSUZ.$$$ was the
invention of fellow coder Vik Olliver (nickname Vax, whose wife was called
Suz), and the pretty dancing squares sound-to-light was mine. That was one of
the first bits of assembly I wrote, back in the spotty-oik-in-bedroom days,
and got published in Personal Computer News as a Program Card. It was nice to
shoehorn it into the ROM and give it a final resting place...
 
The code was always in a terrible mess, as the original stuff was badly
documented (we ended up using Ian Logan's disassembly book in preference to
the original source at Sinclair); the Spectrum 128 stuff was written on our
VAX cluster - ever seen a VAX run CP/M? - while the Amstrad stuff got written
on an unholy collection of PCW 8256s (really!) and a Minstrel multiuser
8080/TurboDOS machine.
 
...there was infinite insanity in that place, and it was the best job I ever
had..."
 Info by: Rupert Goodwins.
 

                     Fred Gray [Denton Designs musician]   
                                       

Now a Care Worker - works with handicapped people in Liverpool.
 Info by: Marc Dawson.
 

     Colin Grunes [colin@grunes.demon.co.uk] [Odin artist - Nodes of Yesod,
                                 Heartland]   
                                       

From 1984 to 1989: Colin worked for Software Projects, Odin Computer Graphics
and Denton Designs as an excellent graphics artist.
 
From 1991 to present: Colin creates world-class presentations and
communication materials for an international management consulting company. He
has worked all over Europe, but particularly likes Scandinavia.
 Info by: Stuart Fotheringham.
 

  Ciaran Gultnieks [SoftwareRefinery@msn.com] [Vektor Grafix programmer - Star
                                   Wars]   
                                       

Now co-owner of The Software Refinery Ltd, developing games such as Slipstream
5000 and Hardwar for the PC. 
Info by: Ciaran Gultnieks.
 
                               [Individuals H-Z]

 


 
                --===Spectrum FAQ - Where is...? (Part 2)===--
 

     Mark Haigh-Hutchinson [mhh@lucasarts.com] [Vortex - Android/TLL/Highway
                                 Encounter]   
                                       

Working for LucasArts [http://www.lucasarts.com/] , e.g. on _Shadows of the
Empire_ for the Nintendo 64. Mark organises the Vortex Emulation Package
[ftp://ftp.nvg.ntnu.no/pub/sinclair/snaps/games/by-company/vortex/] for
several machines, including the Spectrum. This contains a number of the Vortex
games and is freely distributable; an interview with him is available here
[http://www.geocities.com/TimesSquare/Battlefield/8875/mhh.html] .
 Info by: Arnt Gulbrandsen, Miguel Melo, Mark Haigh-Hutchinson.
 

       Karl Hampton [karl@rico.demon.co.uk] [Bug Byte - Fridge Frenzy]   
                                       

Karl is a registered user of Z80, and supplied the following information about
himself:
 "I had two programs which I thought would be nice to get on a PC for
old-times sake. One was MAX, a windows-type Microdrive utility and the other a
game called Fridge Frenzy. Neither saw the light of day in their true colours;
MAX was shelved by AMS and Fridge Frenzy was probably Bug-Byte's last ever
game, just before they became "technically insolvent"! As such, I thought that
myself and only a handful of other people would have copies. However, the
rather prolific Spectrum community have beat me to it as both are available on
NVG [ftp://ftp.nvg.ntnu.no/pub/sinclair/] . I was gobsmacked!"
 Info by: Karl Hampton.
 

  Peter Harrap [Gremlin Graphics - Monty Mole games/Way of The Tiger/Deathwish
                                    III]   
                                       

Now one of Krisalis [http://www.krisalis.co.uk/] ' directors, doing original
games and conversion for the PC and Playstation.
 Info by: Guillaume Genty.
 

                John Heap [Imagine/Denton Designs programmer]   
                                       

Project Manager at Rage Software PLC after Denton Designs were bought by Rage.
 Info by: Marc Dawson.
 

                 Ed Hickman [DK'Tronics - Apple Jam, Zig Zag]   
                                       

Went on to write the Amiga game Honda RVF for Microprose. After this, whilst
contemplating doing a microlight simulator, he was offered a job in the States
writing for Sega. He promptly packed and left. Two years later he came back
and is still writing software, although no details are available.
 Info by: Paul Jenkinson
 

    Shaun Hollingworth [shaun@moatlane.demon.co.uk] [Gremlin Graphics - Potty
                       Pigeon/Bounder/Future Knight]   
                                       

Went on to work for Teque, now technical director of Krisalis
[http://www.krisalis.co.uk/] . Also a regular on certain newsgroups, including
moaning about the service at Demon, which is always good fun anyway :-). An
interview with his is available here
[http://www.geocities.com/TimesSquare/Battlefield/8875/shworth.html] .
 Info by: Guillaume Genty, Damien Burke.
 

          John Hollis [john@hollis.co.uk] [Quicksilva director - Meteor
                              Storm/Stargate]   
                                       

John Hollis founded Hollis Research, who develop MIDI sequencers (including
_Trackman_ for the Atari ST). From John Hollis himself:
 "I was a director of Quicksilva and wrote most of the early releases for the
ZX81 and Spectrum. I have no objection to people distributing my old games but
I'm not sure exactly what the copyright position is as Quicksilva was sold and
is now defunct. Still, if it's of interest, the Spectrum games I wrote were:
_Space Intruders_, _Meteor Storm_ (first speech in a Speccy game!),
_Time-Gate_ (first 3D star field, sold zillions of copies), _Game Designer_
(DIY game construction kit) and _Aquaplane_ (waterskiing with sharks).
 I'm writing Windows apps at the moment but we have also been designing games
for Sega [http://www.sega.com/] and Hasbro for the last couple of years. Our
homepage is here [http://www.hollis.co.uk/] ".
 Info by: Stephen K. Mulrine, John Hollis.
 

   Paul Holmes [pholmes@unlimited.com] [Elite programmer/designer - Wild West
                         hero/Dustman/Frank Bruno]   
                                       

Reads comp.sys.sinclair [comp.sys.sinclair] . Working on "Video/Multimedia/Web
software and hardware", and also DJing in clubs. An interview with him is
available here
[http://www.geocities.com/TimesSquare/Battlefield/8875/pholmes.html] .
 Info by: Damien Burke, Paul Holmes via Philip Bee
 

  Steve Hughes [steveh@loop.com] [Bedlam, Hocus Focus, Rasterscan, Hyperbowl] 
                                        
                                       

Currently working on N64 games at Zed Two [http://www.zedtwo.com/] with Jon
and Ste Pickford. An interview with him is available here
[http://www.geocities.com/TimesSquare/Battlefield/8875/shughes.html] .
 Info by: Steve Hughes via Philip Bee
 

         Mark Incley [mark@inkland.demon.co.uk] [Domark - Oink!/Klax]   
                                       

Mark is the author of the quite well known _InkUtils_ suite of PC utilities,
and has a web page [http://www.inkland.demon.co.uk/] where these utilities are
available, along with some of the Spectrum games he wrote!
 Info by: Mark Incley.
 

          Bo Jangeborg [softwave@algonet.se] [Fairlight/The Artist]   
                                       

Bo is now working with customer tailored solutions made in database
applications; visit his homepage [http://www.algonet.se/~softwave/] for more
details.
 Info by: Bo Jangeborg, Staffan Vilcans.
 

     David Jones [Mastertronic - Bonkers, Finders Keepers/Spellbound/Knight
                             Tyme/Stormbringer]   
                                       

Now works for Psygnosis [http://www.psygnosis.com/] . From the man himself:
 "I got involved as a director of a small games company and when it crashed in
1991 I went back to college to get a degree. I did a few games during this
time but they were conversions to the PC and to be honest I'd rather keep
quiet about which ones they were because they weren't very good (not my fault
:-)). In 1994 I joined Psygnosis and I've been here ever since. The new game
(Not allowed to say what it's called) will be out for christmas on PC and
PlayStation and it's a good team effort that has been getting a lot of
positive comments. It involves boats and pirates, keep your eye out!
 Info by: Andy Hadlington, David Jones.
 

               David Aubrey Jones [Ocean - Speedlock/Mercenary]   
                                       

Now works for Reflex Magnetic Ltd.
 Info by: Jonathan McCormack.
 

    Mark A. Jones [shitshoes@makj.demon.co.uk] [aka Makky J; Electric Dreams
                              artist - R-Type]   
                                       

Regularly pops up in some newsgroups, including comp.sys.sinclair
[comp.sys.sinclair] occasionally; an interview with him is available here
[http://www.geocities.com/TimesSquare/Battlefield/8875/mak.html] .
 Info by: Mark A. Jones.
 

         Mark R. Jones [MJones@vegetableman.demon.co.uk] [Ocean artist -
                           Wizball/Gryzor/Taipan]   
                                       

Now into the indie music scene, has a home page
[http://www.vegetableman.demon.co.uk/] and has the following to say:
 "I worked at Ocean from 87 to 89 ish and worked on a few games including
Wizball, Gryzor, Dragon Ninja, Arkanoid, Arkanoid II, The Vindicator, Mutants,
Magmax, Tai Pan, Platoon among some others. I went freelance for a while and
worked on the scrapped Speccy version of Total Recall (a nightmare!). I
designed a game for Bullfrog at one point (all we did was nick all the ideas
out of old Speccy games that hadn't been reused, added some cartoon graphics)
who showed the stuff I'd did to Nintendo and they loved it. Unfortunately the
programmer and Bullfrog fell out so I said 'F**k It' and went off to Israel
for a while. Since then I now work in a record shop, DJ at 3 nightclubs and
manage an indie/pop group called 'Glendon' who are just about to be signed and
were recently offered a deal by Nude Records (Suede's record company).
 (I was interviewed by Keith Chegwin once for 'Chegwin Checks It Out' about my
job and was featured working on The Vindicator. It was very embarrasing though
I still have it on video but if anyone digs it out I have to run out the
room!)"
 A longer interview with Mark is available here
[http://www.geocities.com/TimesSquare/Battlefield/8875/mrjones.html] .
 Info by: Mark R. Jones.


                          Roger Kean [Crash editor]   
                                       

Roger was the first editor of Crash and a director of Newsfield, the
magazine's publisher, through its life. He is now a director of Prima Creative
Services, the design arm of the publisher Prima, which produces lots of game
books. See also Lloyd Mangram.
 Info by: Barnaby Page
 

                     Steve Kelly [Psion - Chequered Flag]   
                                       

Has been part of the Bitmap Brothers [http://www.bitmap-brothers.co.uk/] for
some years now, producing games for the Amiga and PC.
 Info by: Stephen Smith.
 

          Balor Knight [bay@probe.co.uk] [1999, Astroball, Dyzonium]   
                                       

Is now working for Probe [http://www.probe.co.uk/] ; an interview with him is
available here
[http://www.geocities.com/TimesSquare/Battlefield/8875/bknight.html] .
 Info by: Chris Pile
 

                   Paul Laidlaw [Cascade - 19 - Boot Camp]   
                                       

Was working for Teeny Weeny Games (see Angela Sutherland) in 1995.
 Info by: Sean Conran
 

      Mike Lamb [mikel1@gte.net] [Ocean - Arkanoid 1 & 2, Renegade, Target
                             Renegade, Robocop]   
                                       

From Mike:
 "I left Ocean to come to the States in 1991. I wrote some boxing games before
setting up Left Field Productions 4 years ago. We've had some ups and downs
but things are going really well now. We're finishing a basketball game for
Nintendo and are going to do a couple more games for them."
 An interview with Mike is available here
[http://www.geocities.com/TimesSquare/Battlefield/8875/mlamb.html] .
 Info by: Mike Lamb via Philip Bee.
 

   Steve Lamb [lambo@climax.co.uk] [Gyroscope, Paperboy, Typhoon, Vendetta]   
                                       

Now working on Playstation games for an independent developer. An interview
with him is available here
[http://www.geocities.com/TimesSquare/Battlefield/8875/slamb.html] .
 Info by: Steve Lamb via Philip Bee.
 

                    Dave Lawson [Denton Designs director]   
                                       

Last seen running Kinetica Software in Birkenhead.
 Info by: Stuart Fotheringham, Andrew Toone, Ralph Ferneyhough.
 

                   Carlos Leote [Alien Evolution - Gremlin]   
                                       

Portugese, despite what some Spectrum mags claimed. After leaving the Speccy
scene, he founded Titus and Portidata (a Portugese software house). Launched
Gambys (a PC puzzle game) in 1995, which apparently has hidden Spectrum
subgames in it. Was married with one son and living in the Algarve.
 Info by: Nuno Barros.
 

          Leigh Loveday [lloveday@rare.co.uk] [Your Sinclair writer]   
                                       

Now works for Rare (who used to be called Ultimate of course) and is a regular
on comp.sys.sinclair [comp.sys.sinclair] .
 Info by: Leigh Loveday.
 

                   Paul Machacek [Activision - Super Hero]   
                                       

Works for Rare [http://www.rare.co.uk/] .
 Info by: Leigh Loveday.
 

     Tony Mack [Gyroscope, Paper Boy, Super Sprint, Championship Sprint]   
                                       

Now writes games for the Sega Saturn (e.g. Cybersled).
 Info by: Mark Gordon.
 

                     Lloyd Mangram [Crash letters editor]   
                                       

Lloyd Mangram didn't actually exist, really. It was just a false name used by
a plethora of journalists at Crash. So it was a big con really! A false
identity! While Roger Kean spent most time acting as Lloyd, two others were
Barnaby Page and Eddie McKendrick.
 Info by: Peter Thomas, Barnaby Page.
 

              John Marshall [johnm@deverse.com] [Shadow Skimmer]   
                                       

Now works for Netscape [http://www.netscape.com/] in Silicon Valley, and has
the source to _Shadow Skimmer_ available on his home page
[http://www.deverse.com/] .
 Info by: John Marshall.
 

               Teresa Maughan [aka T'zer; Your Sinclair editor]   
                                       

Was writing for _The Mac_ magazine, until it folded.
 Info by: Rich, Damien Burke
 

    David McCandless [dmacca@cix.co.uk] [aka Macca; Your Sinclair writer]   
                                       

Now works for PC Zone. From David:
 "Nice to see some people looking after our cultural heritage. Those were the
days."; an interview with him is available here
[http://www.geocities.com/TimesSquare/Battlefield/8875/macca.html] , whilst
his homepage is here [http://www.wakeywakey.com/] .
 Info by: David McCandless, Nick Humphries
 

                      Eddie McKendrick [Crash publisher]   
                                       

Was one of many 'Lloyd Mangram's. Now head of New Media at Nickelodeon UK and
The Paramount Channel. After a spell doing the ITV teletext service known as
Oracle (now sadly missed), he now maintains the Nickelodeon text service known
as NickText, and does web-sites and all sorts for both channels.
Coincidentally, Nickelodeon's offices are at Rathbone Place in London, where
Your Sinclair was based.
 Info by: Peter Thomas.
 

  Fergus McNeill [fergus@delta4.demon.co.uk] [Delta 4 - Bored Of The Rings/The
                                  Boggit]   
                                       

Head of design at Sales Curve Interactive (SCi), ex-Storm. SCi have released a
Point and Click called "Kingdom 'O Magic" which was designed by Fergus. Fergus
has kindly agreed to free distribution of the Delta 4 games, as long as it is
*free* - no money may change hands. He cannot speak for any of his games with
the Abstract Concepts logo, as they are owned by Activision. Delta 4 have a
web site [http://www.delta4.demon.co.uk/] , and an interview with Fergus is
available here
[http://www.geocities.com/TimesSquare/Battlefield/8875/fergus.html] .
 Info by: Chris Wild.


                        Jonathan Nash [Your Sinclair]   
                                       

Pops up on comp.sys.sinclair [comp.sys.sinclair] occasionally, and was also
running AP2 [http://dspace.dial.pipex.com/ap2/] until it got involved in legal
battles. Has recently put YS2 [http://dspace.dial.pipex.com/ap2/ys2/] on-line
as well. (Jonathan's e-mail address is available on the YS2 pages).
 Info by: Jonathan Nash, Philip Kendall
 

                 Richard Naylor [Domark producer - Star Wars]   
                                       

Now runs Revolution Software. 
Info by: Ciaran Gultnieks.
 

            Jon Nixon [jon.nixon@bigfoot.com] [Gnasher/Star Trek]   
                                       

Now working for Cisco Information Systems in the Netherlands, supporting Unix
servers. Has a Home Page [http://www.bigfoot.com/~jon.nixon/] with his games
available on it.
 Info by: Jon Nixon.
 

                  Ally Noble [Imagine/Denton Designs artist]   
                                       

Project Manager at Rage Software PLC after Denton Designs were bought by Rage.
 Info by: Marc Dawson.
 

  Jon North [jon@startracker.demon.co.uk] [Your Sinclair/Sinclair User/Crash] 
                                        
                                       

From Jon himself:
 "I'm still in I.T. I'm a C/C++ contractor. I got out of computing soon after
Zero died because it was getting a bit samey. I got more into my music -
resident DJing, setting up and running a studio, that sort of stuff. Then
about a year ago I taught myself C++ and wandered off to do that."
 Info by: Jon North.
 

      Ian Oliver [ian.oliver@crossprod.co.uk] [Realtime Games Software - 3D
                           Starstrike/Starglider]   
                                       

Running Cross Products [http://www.crossprod.co.uk/] , producers of console
development tools and now owned by Sega [http://www.sega.com/] ; an interview
with Ian is available here
[http://www.geocities.com/TimesSquare/Battlefield/8875/ioliver.html] .
 Info by: Ian Oliver.
 

              Barnaby Page [barnabyp@ecng.co.uk] [Crash editor]   
                                       

Was managing editor of Crash during 1987-88 and is now an editor at Eastern
Counties Newspapers.
 Info by: Barnaby Page
 

            Bob Pape [Activision - R-Type, Rampage, Dragon Breed]   
                                       

Did MENSA Puzzles for the PC, but is currently unemployed :-( An interview
with him is available here
[http://www.geocities.com/TimesSquare/Battlefield/8875/bpape.html] .
 Info by: Mark A. Jones, Bob Pape via Philip Bee
 

       Costa Panayi [Vortex programmer - Android/TLL/Highway Encounter]   
                                       

Doing some consultancy design work for a children's toys company in the south
of England (believed to be Chicco). 
Info by: Arnt Gulbrandsen, Miguel Melo, Mark Haigh-Hutchinson.
 

              Neil Pawson [neil@smallworld.co.uk] [Mighty Magus]   
                                       

Working for Smallworld Cambridge on GIS.
 Info by: Stephen Smith.
 

         Dave Perry [Mikro-Gen - 3 Weeks In Paradise/Stainless Steel]   
                                       

Runs Shiny Entertainment [http://www.shiny.com/] (MDK, Earthworm Jim).
 Info by: Chris Wild, Damien Guard.
 

     John Pickford [Binary Design programmer/designer - Max Headroom, Glider
                           Rider, Zub, Amaurote]   
                                       

Went on to develop games for the Atari ST and Amiga (for Zippo), SNES and more
recently Nintendo 64 (for Software Creations). Has started a games company
called Zed Two with his brother Ste Pickford. See the Zed Two web site
[http://www.zedtwo.com/] for more.
 Info by: Ste Pickford.
 

   Ste Pickford [ste@zedtwo.u-net.com] [Binary Design artist - 180, Zub, Feud,
                                 Amaurote]   
                                       

Went on to do graphics for games for the Atari ST and Amiga (for Zippo),
graphics and design for NES and SNES games (including Rare's Solar Jetman -
spiritually a Speccy game!) and more recently design and direction for
Playstation games (for Software Creations). Has started a games company called
Zed Two with his brother John Pickford. See the Zed Two web site
[http://www.zedtwo.com/] for more. Unfortunately Ste and John don't own the
rights to their old games so cannot give permission to distribute them, but as
Ste says: "We certainly wouldn't have any objection though.". An interview
with Ste is available here
[http://www.geocities.com/TimesSquare/Battlefield/8875/spford.html] .
 Info by: Ste Pickford.
 

           John Pragnell [Domark - Overlords/Orbix The Terrorball]   
                                       

Now into VB, C++ & databases and director of East View Systems Ltd (IT
Consultants). Still writing games - the latest being a 'passable' (his
description!) soccer game called Simsoc (a PC ringer for the speccy Football
Manager) - see his homepage
[http://ourworld.compuserve.com/homepages/john_pragnell/] .
 Info by: John Pragnell.
 

           Don Priestley [DK'Tronics/MacMillian - Popeye, Trapdoor]   
                                       

Now living in Ireland and involved in archery; see here
[http://homepage.tinet.ie/~goto/archery/] for details.
 Info by: Jonathan McCormack.
 

        Dominic Prior [dominic@smallworld.co.uk] [part of Gyron team]   
                                       

Working for Smallworld Cambridge on GIS.
 Info by: Stephen Smith.
 

                            Andy Pugh [Johnny Reb]   
                                       

Now at the University of Sheffield, UK (Mechanical and Process Engineering
dept).
 Info by: Stephen Smith.
 

                              Damon Redmond [?]   
                                       

Was working in the good ol' USA in 1995.
 Info by: Sean Conran.
 

         Jon Ritman [jritman@cix.compulink.co.uk] [Ocean - co-author of
                      Matchday/Batman/Head over Heels]   
                                       

Jon Ritman is reading/posting to comp.sys.sinclair [comp.sys.sinclair] and is
the director of a games software company in the UK called Cranberry Source
[http://www.cranberry.co.uk/] , where Bernie Drummond can also be found.
Contrary to previous assertions in this FAQ, he definitely *didn't* do a
Computer Science degree at UCL [http://www.cs.ucl.ac.uk/] and he and Bernie
Drummond wrote only one Gameboy game (_Monster Max_). Jon doesn't care if you
copy his old games, indeed he thinks it's nice to think of people still
playing the old games. Unfortunately, he doesn't own the rights to them.
However, he has been given verbal permission by John Woods (one of Ocean's
directors) to release them for free on the net. This covers Match Day, Match
Day II, Batman and Head Over Heels. The status of Batman is uncertain as Ocean
no doubt rented the name for a limited time only. Also see the entry for
Richard Turner, below. An interview with Jon is available here
[http://www.geocities.com/TimesSquare/Battlefield/8875/jritman.html] .
 Info by: Vartan Narinian, Peter Watsons, Jon Ritman.
 

          Dominic Robinson [Hewson/Graftgold - Flying Shark/Zynaps]   
                                       

With Psygnosis [http://www.psygnosis.com/] , or at least he was a few months
ago.
 Info by: Chris Wild.


                          Paul Salmon [Odin artist]   
                                       

Paul worked for Odin Computer Graphic and Denton Designs as a graphics artist;
he later set up Rebel City Software. Currently works for BUPA.
 Info by: Stuart Fotheringham.
 

              Sir Clive Sinclair [do I really have to explain?!]   
                                       

Still owns and runs Sinclair Research [http://www.sinclair-research.co.uk/] ,
which these days is into producing gadgets of all types, including tiny
radios, electric bikes, foldaway bikes, etc. Not on the internet (doesn't have
time). In December 1997, was the guest of honour at the launch of
Stringfellows [http://www.stringfellows.co.uk/] web site, where he was
described as "the UK's favourite inventor and entrepreneur", looked _very_
happy, and said "I was honoured to be asked to launch the site. Especially
with all these beautiful girls around". See also question 16 of the Frequently
Asked Questions list.
 Info by: Damien Burke, Paul White
 

             Duncan Sinclair [sinclair@dis.strath.ac.uk] [Tapper]   
                                       

Wrote the music for an unfinished version of _Tapper_ with Paul Holmes, but
never actually worked for Elite, despite what this FAQ used to say.
 Info by: Duncan Sinclair 

         Mike Singleton [Lords Of Midnight, Doomdark's Revenge etc.]   
                                       

Mike Singleton is alive and well and writing Lords Of Midnight games for the
IBM PC, quite possibly for Curved Logic [http://www.curved-logic.com/] .
 Info by: Chris Wild, Philip Gooch
 

  Matthew Smith [Bug Byte/Software Projects - Styx/Manic Miner/Jet Set Willy] 
                                        
                                       

Rumours ranged from him working in some computer store in the south of England
to a motorbike mechanic called Mat living in a commune in the Netherlands; he
mentioned to someone that he "wrote some video games in the 80's, got burnt
out, ended up in a mental institution". There was *a* Matthew Smith
contributing to comp.sys.sinclair [comp.sys.sinclair] , but he's not *the*
Matthew Smith. Or at least that's what he said ;-) There is also now a
page
dedicated to the question of Matthew's whereabouts
[http://www.jonlan.demon.co.uk/spectrum/matsmith/] .
 
Chris Cannon, who worked at Bug-Byte, has now revealed that Matt has changed
his name by deed poll to "Matthew From-Earth"! Also, he has Matt's parents'
phone number, rang them and confirmed that Matt is living in the Netherlands.
 Info by: Stephen Smith, Gilberto Gaudencio, Chris Cannon 

          R. T. Smith [bobsmith@primenet.com] [CCS - Arnhem, Vulcan]   
                                       

From Bob himself:
 My last original game was Armada 2525 published in 1991 by Interstel.
Unfortunately they screwed it up completely, and never paid me for what they
did sell. The financial repercussions of this meant that I no longer had the
money to write original titles. I did some odd contracting work for a few
years, most notably the PC version of Kaiser and Traders for Linel.

 In 1994 I came to California to work for Crystal Dynamics. I worked on Solar
Eclipse which was one of the first Sega Saturn games. Last year I moved to my
current position at Alliance Semiconductor, where I am helping with the design
of their 3D accelerator chips. Our main focus is the game industry, which is
why they hired me.

 I do miss writing my own games, but I make five times more money now than
when I was doing my own thing. I hope I'll get to write some more games one
day, probably as shareware or freeware.

 As regards my old games, I'm delighted that anyone still wants to play them.
I hold all the copyrights (licensing agreements having long since expired),
and am perfectly happy for people to copy them, pass them around, put them on
their web sites etc.

 I'm also intending to put up a couple of PC titles (Ancient Battles and an
enhanced version of 2525) on my web site. Just as soon as I get around to it.

 A longer interview with Bob is available here
[http://www.geocities.com/TimesSquare/Battlefield/8875/bsmith.html] .
 Info by: Bob Smith, thanks also to Stephen Smith.
 

                Phil South [aka Snouty; Your Sinclair writer]   
                                       

Writes for Computer Shopper [http://www.compshopper.co.uk/] magazine, mainly
about Amigas but also various enjoyable rantings; an interview with him is
available here
[http://www.geocities.com/TimesSquare/Battlefield/8875/psouth.html] .
 Info by: Damien Burke.
 

             David Spicer [david@spicer.demon.co.uk] [Codemasters -
             Sgt.Seymour/Robotcop/Adidas Championship Football]   
                                       

From David himself:
 After getting completely p*ssed off with the games industry, I went to Kent
Uni to study VLSI circuit engineering. Once I'd completed my course, I spent 3
months writing Sparcade [*for those who don't know, this is a very good arcade
machine emulator, one of the first that appeared*] with the intention of
developing it commercially as a last "fling" before going into the electronics
industry. However, no software companies were prepared to take it on, all
lacking the foresight to see the imminent flood of interest in retro-gaming.
 
Nowadays I can be found working as a design engineer for a semiconductor
company. Specifics of my work are tied up in company confidentiality, but it's
enough to say that I'm working on a chip which is destined for use in consumer
video hardware.
 
[*Lastly, Dave mentioned that in order to test the Z80 emulation of Sparcade
he coded a SPECCY driver for Sparcade:*]
 
It's almost a full emulation of a Speccy 128, lacking only the ROM and screen
paging. The catch is that there's no facility for loading snapshots, making it
rather useless as an Internet release.
 
[*David WILL NOT send copies of the Speccy Driver for Sparcade to _anyone_, no
matter what, so don't bug him with emails.*]
 Info by: David Spicer via Blood.
 

  Graham Stafford [Design Design programmer - Halls of the Things/Dark Star]   
                                       

Works for Psygnosis [http://www.psygnosis.com/] .
 Info by: Andrew Toone, Jon Ritman.
 

           Richard Stevenson [Telecomsoft - Bombscare, Shorts Fuse]   
                                       

Works for Gremlin Interactive [http://www.gremlin.co.uk/] and has worked on
Zool, Euro '96 etc.
 Info by: Stephen Smith.
 

                     Garth Sumpter [Sinclair User writer]   
                                       

Writes for movie magazine Neon. *(This may explain some of the reviews -
Damien :-))*
 Info by: Stephen Smith.
 

                 Angela Sutherland [Ant Attack/Zombie Zombie]   
                                       

Angela, Sandy White's ex-partner, owns Perfect Entertainment (ex Teeny Weeny
Games).
 Info by: Jon Ritman, Chris Wild.
 

                          Roger Swift [16/48 editor]   
                                       

Works for Applied Industrial Systems Ltd. - has issue one of 16/48 in plastic
mounted on his wall!
 Info by: Fergus Paget.


                     Rui Tito [Alien Evolution - Gremlin]   
                                       

Portugese, despite what various Speccy mags claimed. After leaving the Speccy
scene, he worked with Carlos Leote at both Titus and Portidata.
 Info by: Nuno Barros.
 

       Kevin Toms [kevin@kevintoms.com] [Football Manager - Incentive]   
                                       

Currently working as a Windows consultant/programmer, and has a homepage
[http://www.kevintoms.com/] .
 Info by: Miguel Melo, Chris Young, Kevin Toms
 

                  Stephen Townsend [Psion - Chequered Flag]   
                                       

Now works at Psion on the Series 3.
 Info by: Stephen Smith.
 

                  Richard Turner [Artic Computing director]   
                                       

Richard ran Artic Computing, publishers of Jon Ritman's early games. Artic
ceased trading many years ago and Jon thinks that Richard now sells kitchens
for a living and is unlikely to be chasing people for using those snapshots
(Namtir Raiders, Combat Zone, Cosmic Debris, Bear Bovver and Dimension
Destructors), but this is not certain.
 Info by: Jon Ritman.


      Christian Urqhuart [Ocean - Hunchback/Daley Thompson's Decathlon]   
                                       

Went on to work for Imagitec Design, writing Game Gear stuff. Left there to
work for NMS and was involved in RISC for the PC. Left there and now possibly
partner in a shop in Liverpool that sells computer hardware.
 Info by: Andy Noble.


       Martin Wakeley [Tiertex artist - Rolling Thunder/Street Fighter]   
                                       

Works for Rare [http://www.rare.co.uk/] ; designed Blast Corps.
 Info by: Leigh Loveday.
 

        Ian Weatherburn [Imagine programmer - Alchemist/Bandersnatch]   
                                       

Apparently committed suicide in the early 90's. If so, RIP Ian. 
Info by: Simon Butler via Mark R. Jones.
 

  Steve Wetherill [Denton Designs/Odin programmer - Nodes of Yesod, Heartland]
                                        
                                       

Steve started his programming career at Software Projects where he created Jet
Set Willy II. He then moved to Odin Computer Graphics where he programmed
Nodes Of Yesod, Robin Of The Wood, Heartland, Crosswize and Sidewize. He spent
some time working for Denton Designs on an Amiga/ST game called Gargantuan
before forming Eldritch the Cat with Marc Dawson, where he programmed
Scrollerball for Electronic Arts; after which he went on to become the
Technical Director of Westwood Studios. 
Info by: Marc Dawson, Stuart Fotheringham.
 

  Martin Wheeler [101773.3166@compuserve.com] [Virgin artist - Dan Dare 1 & 2,
                           Action Force 2, Rebel]   
                                       

Now a freelance game and graphics designer - last published game worked on was
Nihilist on PC-CDROM by Bits Studios, released by Philips Media. Designed the
3D models and did some of the sound effects and music tracks on the CD. An
interview with him is available here
[http://www.geocities.com/TimesSquare/Battlefield/8875/mwheeler.html] .
 Info by: Martin Wheeler via Philip Bee.
 

                   Sandy White [Ant Attack, Zombie Zombie]   
                                       

Sandy is working on a super new top secret engine while laying about on a
beach in Greece.
 Info by: Jon Ritman, Chris Wild.
 

             R. Fred Williams [Codemasters - Dizzy & C.J. games]   
                                       

He wrote several of the Dizzy games and both of the CJ games for Code Masters,
and several other things too. You're probably more familiar with the Big Red
name. He may have done some Seymour games, too. He is also an Acorn
enthusiast, and has written just about the nicest version of Sokoban I've ever
seen for RISC OS machines. He only does the odd thing in his spare time, but
he's just converted a Quake file editor, for instance. Pop along to his web
page [http://www.argonet.co.uk/users/rfredw/fishy.html] . You'll also find a
list of things that he's worked on there.
 Info by: Richard G. Hallas


                         David Wilson [Your Sinclair]   
                                       

Believed to be a public relations person for Electronic Arts
[http://www.ea.com/] . David appeared on Channel 5's "Exclusive" during August
1997 talking about the Internet and on-line gaming.
 Info by: Chris Young.
 


                     --===Spectrum FAQ - File Formats===--
 
If you need information on a format which is not documented here, try reading
the documentation which comes with a emulator which supports that format; if
you are looking for some code to load/save these formats, some good sources of
information are SpConv
[ftp://ftp.nvg.ntnu.no/pub/sinclair/utils/generic/spconv-110.zip] (public
domain), and SnapConv
[http://www.geocities.com/SiliconValley/Park/5427/snapconv.htm] (GPL)
 

                                Snapshot Files   
                                       

Those handled by SPConv v1.10 are in *italics*:
 

  *.ACH or .archimedes*  Snapshots used by !Speccy. .ACH is the extension
SPConv uses for these files, so that filename-challenged operating systems
like DOS can handle such files for conversion purposes.
   *.PRG*  Snapshots used by SpecEm.
   *.RAW*  Raw memory dump from a real Spectrum; just the 48Kb of RAM and a
CODE header on the front.
   .SEM  Snapshots used by ZX Spectrum-Emulator.
   *.SIT*  Snapshots used by Sinclair.
   .SLT  Super level loader snapshot. Used by many emulators these days;
basically a v2/3 .Z80 snapshot with level data appended.
   *.SNA or .snap or .snapshot*  Mirage Microdrive snapshot format, used by
most emulators.
   .SNA  128Kb version of SNA. Distinguished by file size of 131103 bytes
instead of 49179 bytes for 48Kb version.
   *.SNX*   Extended version of .SNA, used by Speccy on the Atari ST.
   *.SP*   Snapshots used by Spectrum and it's earlier version, VgaSpec.
   *.Z80*  Snapshots used by Z80 and many other emulators. Three versions in
existence, the latest of which (v3/SLT) is not supported by all emulators.
Very flexible; support for SamRam, 128K snapshots, etc.
   *.ZX*  Snapshots used by KGB.
   .ZXS  Snapshot format used by zx32; .ZXS 'snapshots' can also contain tape
and disk images, but are unrelated to the .ZXS tape format.
   .ZX82  Snapshots used by Speculator '97.
 


For the purposes of these descriptions, the following definitions apply:
 
*byte* = byte-sized variable; *word* = 2 bytes, *long* = 4 bytes. All stored
in little-endian (Intel) format unless otherwise stated.
 

      .SLT (Super Level loader Trap used by x128, WSpecEm, Z80 & others)   
                                       

The level loader trap has one annoying disadvantage; lots of extra files lying
around for each game. The super level loader was thought up (by Damien Burke
[http://www.jetman.dircon.co.uk/speccy/] ) to replace this multi-file format
with a single snapshot file containing all the level data files. It has been
designed in co-operation with James McKay (x128), Gerton Lunter (Z80), Rui
Ribeiro (WSpecEm) and Darren Salt (helping with Z80Em), so is well-supported
already. The format was designed with future expansion in mind, as you will
see.
 
            Size   Description
   ------------------------------------------------------------------------
            varies bytes  Z80 snapshot (version 2+)
            3      bytes  Three null bytes (compatibility; see below)
            3      bytes  "SLT" (signature)
   ---- the following blocks make up a table to access the data files -----
            2      word   data type (0 = end of table, 1 = level data)
            2      word   data identifier (for type 1 this is level number)
            4      long   data length
            2      word   data type (0 = end of table, 1 = level data)
            2      word   data identifier (for type 1 this is level number)
            4      long   data length
            ... and so on
   ---- the following blocks are the data files themselves ----------------
            varies bytes data
            varies bytes data
            ... and so on
   ------------------------------------------------------------------------
 
The three null bytes after the end of the snapshot are for compatibility
reasons; older versions of Z80 would crash if the extra data was just appended
to the snapshot. With these three null bytes, they just complain about an
error in the snapshot file instead. This, of course, presumes you have renamed
the .SLT file to .Z80 and attempted to load it into an older emulator!
 
After the "SLT" signature, there is a table of data types and sizes. Only data
types 0 (end of table) and 1 (level data) are supported at the moment, so if
other values are encountered an emulator should ignore that data block.
 
To read a level data file using .SLT, the emulator should find the correct
entry in the table (type = 1, identifier matching the A register when the
ED/FB instruction was encountered), get its size from the table and calculate
its position from the total of sizes of data blocks previous to the required
one, added to the position of the end of the table. E.g., to load level 2 from
a .SLT snapshot with this table:
 
   Position  Size  Value  Description
   ------------------------------------------------------------------------
   40000     2     1      data type = level data
   40002     2     1      data identifier = level 1
   40004     4     256    data length = 256 bytes
   40008     2     1      data type = level data
   40010     2     2      data identifier = level 2
   40012     4     128    data length = 128 bytes
   40016     2     0      data type = end of table
   40018     2     *      data identifier = unused (may as well be zero)
   40020     4     *      data length =  unused (may as well be zero)
   40024     256   *      data block for level 1
   40280     128   *      data block for level 2
   ------------------------------------------------------------------------
   (* = could be anything)
 
So, the size of level 2 is 128 bytes, and its located at the end of the table
(40024) + the length of all previous blocks (just 256 here) = 40280.
 
Level data is packed in the same way as Z80 snapshot memory banks are.
 
The trainspotter award seekers of you may wonder why a whole word is used for
the data identifier; after all, this is the level number and is held in the A
register, so could be just a byte. For level data, correct. But future
expansion is better served by a word. For the same reasons, the data length is
held as a long word instead of just a word; level data will never exceed 64Kb
(indeed, could not even be as much as 48Kb), but future data types may do so.
One example; embedding a scan of a game's inlay card in the file is possible,
and that file could exceed 64Kb easily.
 
See this page [http://www.jetman.dircon.co.uk/speccy/edfb.html] for Damien
Burke's proposals for future data types for inclusion in .SLT snapshots.
 

  .SNA, .snap or .snapshot (Mirage Microdrive format used by many emulators)   
                                       

This format is the most well-supported of all snapshot formats (though Z80 is
close on its heels) but has a drawback:
 
As the program counter is pushed onto the stack so that a RETN instruction can
restart the program, 2 bytes of memory are overwritten. This will usually not
matter; the game (or whatever) will have stack space that can be used for
this. However, if this space is all in use when the snap is made, memory below
the stack space will be corrupted. According to Rui Ribeiro, the effects of
this can sometimes be avoided by replacing the corrupted bytes with zeros;
e.g. take the PC from the, stack pointer, replace that word with 0000 and then
increment SP. This worked with snapshots of Batman, Bounder and others which
had been saved at critical points. Theoretically, this problem could cause a
complete crash on a real Spectrum if the stack pointer happened to be at
address 16384; the push would try and write to the ROM. How different
emulators handle this is not something I know...
 
When the registers have been loaded, a RETN command is required to start the
program. IFF2 is short for interrupt flip-flop 2, and for all practical
purposes is the interrupt-enabled flag. Set means enabled.
 
   Offset   Size   Description
   ------------------------------------------------------------------------
   0        1      byte   I
   1        8      word   HL',DE',BC',AF'
   9        10     word   HL,DE,BC,IY,IX
   19       1      byte   Interrupt (bit 2 contains IFF2, 1=EI/0=DI)
   20       1      byte   R
   21       4      words  AF,SP
   25       1      byte   IntMode (0=IM0/1=IM1/2=IM2)
   26       1      byte   BorderColor (0..7, not used by Spectrum 1.7)
   27       49152  bytes  RAM dump 16384..65535
   ------------------------------------------------------------------------
   Total: 49179 bytes
 

                        .SNA (128Kb version) (SP_EMU)   
                                       

This is simply the SNA format extended to include the extra memory banks of
the 128K/+2 machines, and fixes the problem with the PC being pushed onto the
stack - now it is located in an extra variable in the file (and is not pushed
onto the stack at all). The first 49179 bytes of the snapshot are otherwise
exactly as described above, so the full description is:
 
   Offset   Size   Description
   ------------------------------------------------------------------------
   0        27     bytes  SNA header (see above)
   27       16Kb   bytes  RAM bank 5 \
   16411    16Kb   bytes  RAM bank 2  } - as standard 48Kb SNA file
   32795    16Kb   bytes  RAM bank n / (currently paged bank)
   49179    2      word   PC
   49181    1      byte   port 7FFD setting
   49182    1      byte   (unknown - padding for above byte?)
   49183    16Kb   bytes  remaining RAM banks in ascending order
   ...
   ------------------------------------------------------------------------
   Total: 131103 or 147487 bytes
 
The third RAM bank saved is always the one currently paged, even if this is
page 5 or 2 - in this case, the bank is actually included twice. The remaining
RAM banks are saved in ascending order - e.g. if RAM bank 4 is paged in, the
snapshot is made up of banks 5, 2 and 4 to start with, and banks 0, 1, 3, 6
and 7 afterwards. If RAM bank 5 is paged in, the snapshot is made up of banks
5, 2 and 5 again, followed by banks 0, 1, 3, 4, 6 and 7.
 

                                .SP (Spectrum)   
                                       
   Offset   Size   Description
   ------------------------------------------------------------------------
   0        2      byte   "SP" (signature)
   2        2      word   Program length in bytes (normally 49152 for 48K
                          snaps, or 16384 for 16K snaps)
   4        2      word   Program location (normally 16384)
   6        8      word   BC,DE,HL,AF
   14       4      word   IX,IY
   18       8      word   BC',DE',HL',AF'
   26       2      byte   R,I
   28       4      word   SP,PC
   32       2      word   0 (reserved for future use)
   34       1      byte   Border color
   35       1      byte   0 (reserved for future use)
   36       2      word   Status word
   ------------------------------------------------------------------------
   Status word:
   Bit     Description
   ------------------------------------------------------------------------
   15-8    Reserved for future use
    7-6    Reserved for internal use (0)
      5    Flash: 0=INK/1=PAPER
      4    Interrupt pending for execution
      3    If 1, IM 0; if 0, bit 1 determines interrupt mode
           (Spectrum v 0.99e had this behaviour reversed, and this
           bit was not used in versions previous to v 0.99e)
      2    IFF2 (internal use)
      1    Interrupt Mode (if bit 3 reset): 0=>IM1, 1=>IM2
      0    IFF1: 0=DI/1=EI
 

                [UPDATED] .Z80 (Z80) [from Z80 documentation]   
                                       

The old .Z80 snapshot format (for version 1.45 and below) looks like this:
 
        Offset  Length  Description
        ---------------------------
        0       1       A register
        1       1       F register
        2       2       BC register pair (LSB, i.e.  C, first)
        4       2       HL register pair
        6       2       Program counter
        8       2       Stack pointer
        10      1       Interrupt register
        11      1       Refresh register (Bit 7 is not significant!)
        12      1       Bit 0  : Bit 7 of the R-register
                        Bit 1-3: Border colour
                        Bit 4  : 1=Basic SamRom switched in
                        Bit 5  : 1=Block of data is compressed
                        Bit 6-7: No meaning
        13      2       DE register pair
        15      2       BC' register pair
        17      2       DE' register pair
        19      2       HL' register pair
        21      1       A' register
        22      1       F' register
        23      2       IY register (Again LSB first)
        25      2       IX register
        27      1       Interrupt flipflop, 0=DI, otherwise EI
        28      1       IFF2 (not particularly important...)
        29      1       Bit 0-1: Interrupt mode (0, 1 or 2)
                        Bit 2  : 1=Issue 2 emulation
                        Bit 3  : 1=Double interrupt frequency
                        Bit 4-5: 1=High video synchronisation
                                 3=Low video synchronisation
                                 0,2=Normal
                        Bit 6-7: 0=Cursor/Protek/AGF joystick
                                 1=Kempston joystick
                                 2=Sinclair 2 Left joystick (or user
                                   defined, for version 3 .Z80 files)
                                 3=Sinclair 2 Right joystick
 
Because of compatibility, if byte 12 is 255, it has to be regarded as being 1.
After this header block of 30 bytes the 48K bytes of Spectrum memory follows
in a compressed format (if bit 5 of byte 12 is one). The compression method is
very simple: it replaces repetitions of at least five equal bytes by a
four-byte code ED ED xx yy, which stands for "byte yy repeated xx times". Only
sequences of length at least 5 are coded. The exception is sequences
consisting of ED's; if they are encountered, even two ED's are encoded into ED
ED 02 ED. Finally, every byte directly following a single ED is not taken into
a block, for example ED 6*00 is not encoded into ED ED ED 06 00 but into ED 00
ED ED 05 00. The block is terminated by an end marker, 00 ED ED 00.
 
That's the format of .Z80 files as used by versions up to 1.45. Starting from
version 2.0, a different format is used, since from then on also 128K
snapshots had to be supported. This new format is used for all snapshots,
either 48K or 128K.
 
Version 2.01 and 3.0 .Z80 files start with the same 30 byte header as old .Z80
files used. Bit 4 and 5 of the flag byte have no meaning anymore, and the
program counter (byte 6 and 7) are zero to signal a version 2.01 or version
3.0 snapshot file.
 
After the first 30 bytes, the additional header follows:
 
        Offset  Length  Description
        ---------------------------
      * 30      2       Length of additional header block (see below)
      * 32      2       Program counter
      * 34      1       Hardware mode (see below)
      * 35      1       If in SamRam mode, bitwise state of 74ls259.
                        For example, bit 6=1 after an OUT 31,13 (=2*6+1)
                        If in 128 mode, contains last OUT to 7ffd
      * 36      1       Contains 0FF if Interface I rom paged
      * 37      1       Bit 0: 1 if R register emulation on
                        Bit 1: 1 if LDIR emulation on
      * 38      1       Last OUT to fffd (soundchip register number)
      * 39      16      Contents of the sound chip registers
        55      2       Low T state counter
        57      1       Hi T state counter
        58      1       Flag byte used by Spectator (QL spec. emulator)
                        Ignored by Z80 when loading, zero when saving
        59      1       0FF if MGT Rom paged
        60      1       0FF if Multiface Rom paged. Should always be 0.
        61      1       0FF if 0-8191 is ROM, 0 if RAM
        62      1       0FF if 8192-16383 is ROM, 0 if RAM
        63      10      5x keyboard mappings for user defined joystick
        73      10      5x ascii word: keys corresponding to mappings above
        83      1       MGT type: 0=Disciple+Epson,1=Disciple+HP,16=Plus D
        84      1       Disciple inhibit button status: 0=out, 0ff=in
        85      1       Disciple inhibit flag: 0=rom pageable, 0ff=not
 
The value of the word at position 30 is 23 for version 2.01 files, and 54 for
version 3.0 files. The starred fields are the ones that constitute the version
2.01 header, and their interpretation has remained unchanged except for byte
34:
 
        Value:          Meaning in v2.01        Meaning in v3.0x
        --------------------------------------------------------
        0               48k                     48k
        1               48k + If.1              48k + If.1
        2               SamRam                  SamRam
        3               128k                    48k + M.G.T.
        4               128k + If.1             128k
        5               -                       128k + If.1
        6               -                       128k + M.G.T.
 
Warajevo writes v2 .Z80 files, but with some extensions to deal with its Timex
2068 emulation:
 
  + Byte 34: 128 signifies Timex 2068 emulation is active. 
  + Byte 35: If Timex 2068 is active, last OUT to port 244. 
  + Byte 36: If Timex 2068 is active, last OUT to port 255. 
xzx always saves the AY registers to .Z80 snapshots, independent of the
emulated machine. Bit 2 of byte 37 being set signifies that this feature is in
use. Also, xzx has extended the format by adding a 55th byte to the header,
which stores the last byte output to #1FFD, and using values of 7 and 8 in the
hardware field to signify a +3 without and with Interface 1 respectively.
 
The documenation for versions 3.00 to 3.02 of Z80 had the entries for 'SamRam'
and '48k + M.G.T.' in the second column of the above table reversed; also
bytes 61 and 62 of the format were wrong up to version 3.04. (The snaps
produced by the older versions of Z80 still follow what is above; the
documentation for the older versions is wrong).
 
The hi T state counter counts up modulo 4. Just after the ULA generates its
once-in-every-20-ms interrupt, it is 3, and is increased by one every 5
emulated milliseconds. In these 1/200s intervals, the low T state counter
counts down from 17471 to 0 (17726 in 128K modes), which make a total of 69888
(70908) T states per frame.
 
The 5 ASCII words (high byte always 0) at 73-82 are the keys corresponding to
the joystick directions left, right, down (!), up (!), fire respectively.
Shift, Symbol Shift, Enter and Space are denoted by [,],/,\ respectively. The
ascii values are used only to display the joystick keys; the information in
the 5 keyboard mapping words determine which key is actually pressed (and
should correspond to the ascii values). The low byte is in the range 0-7 and
determines the keyboard row. The high byte is a mask byte and determines the
column. Enter for example is stored as 0x0106 (row 6 and column 1) and 'g' as
0x1001 (row 1 and column 4).
 
Byte 60 must be zero, because the contents of the Multiface RAM is not saved
in the snapshot file. If the Multiface was paged when the snapshot was saved,
the emulated program will most probably crash when loaded back.
 
Bytes 61 and 62 are a function of the other flags, such as byte 34, 59, 60 and
83.
 
Hereafter a number of memory blocks follow, each containing the compressed
data of a 16K block. The compression is according to the old scheme, except
for the end-marker, which is now absent. The structure of a memory block is:
 
        Byte    Length  Description
        ---------------------------
        0       2       Length of compressed data (without this 3-byte header)
                        If length=0xffff, data is 16384 bytes long and not
compressed
        2       1       Page number of block
        3       [0]     Data
 
The pages are numbered, depending on the hardware mode, in the following way:
 
        Page    In '48 mode     In '128 mode    In SamRam mode
        ------------------------------------------------------
         0      48K rom         rom (basic)     48K rom
         1      Interface I, Disciple or Plus D rom, according to setting
         2      -               rom (reset)     samram rom (basic)
         3      -               page 0          samram rom (monitor,..)
         4      8000-bfff       page 1          Normal 8000-bfff
         5      c000-ffff       page 2          Normal c000-ffff
         6      -               page 3          Shadow 8000-bfff
         7      -               page 4          Shadow c000-ffff
         8      4000-7fff       page 5          4000-7fff
         9      -               page 6          -
        10      -               page 7          -
        11      Multiface rom   Multiface rom   -
 
In 48K mode, pages 4,5 and 8 are saved. In SamRam mode, pages 4 to 8 are
saved. In '128 mode, all pages from 3 to 10 are saved. There is no end marker.
 

                  .ZX (KGB) [Contributed by Troels Norgaard]   
                                       

All values stored in big-endian format; on 680x0 the most significant byte
goes first.
 
   Offset   Size   Description
   ------------------------------------------------------------------------
   0        49284  bytes  RAM dump 16252..65535
   49284    132    bytes  unused, make 0
   49416    10     word   10,10,4,1,1 (different settings)
   49426    1      byte   InterruptStatus (0=DI/1=EI)
   49427    2      byte   0,3
   49429    1      byte   ColorMode (0=BW/1=Color)
   49430    4      long   0
   49434    16     word   BC,BC',DE,DE',HL,HL',IX,IY
   49450    2      byte   I,R
   49452    2      word   0
   49454    8      byte   0,A',0,A,0,F',0,F
   49462    8      word   0,PC,0,SP
   49470    2      word   SoundMode (0=Simple/1=Pitch/2=RomOnly)
   49472    2      word   HaltMode  (0=NoHalt/1=Halt)
   49474    2      word   IntMode   (-1=IM0/0=IM1/1=IM2)
   49476    10     bytes  unused, make 0
   ------------------------------------------------------------------------
   Total: 49486 bytes
 

       .ZX82 (Speculator '97) [Taken from the Speculator documentation]   
                                       

Amiga Speculator has its own file format which I have called ZX82 format
because it contains a file identifier in the first four bytes consisting of
the ASCII characters "ZX82". The format has a 12 byte header which contains
the normal Spectrum type file information like length, type, start etc. as
well as a compression flag which is set if the file is byte run compressed.
Snapshot files have a further 32 bytes of register values and border colour
information. Listed below are the offset definitions taken from the Speculator
source code in case you need to write a conversion utility. All registers and
other values are in Motorola format (High, Low). I have defined everything in
bytes to avoid any possible confusion.
 
* The Standard ZX82 Header
ZX_ID           rs.l    1       Identifier for a Speculator file "ZX82"
ZX_Type         rs.b    1       0:BASIC 1:Numeric 2:String 3:Code 4:Snapshot
ZX_Comp         rs.b    1       Is data block byte run compressed ? $00=No
$FF=Yes
ZX_Length_H     rs.b    1       File length up to 64k (ELINE-PROG for BASIC)
ZX_Length_L     rs.b    1
ZX_Start_H      rs.b    1       Start address for code (AUTOSTART for BASIC)
ZX_Start_L      rs.b    1
ZX_ProgLen_H    rs.b    1       Array name (VARS-PROG for BASIC)
ZX_ProgLen_L    rs.b    1
ZX_ZXHdrLen     rs.b    0       Length of ZX file header
ZX_ZXData       rs.b    0       Start of Data block for standard ZX file
* The extended Snapshot ZX82 Header
ZX_Border       rs.b    1       Border colour
ZX_IntMode      rs.b    1       IntMode over-ride (0=use i_reg, 1=im1 and
2=im2)
ZX_Registers    rs.b    0       Z80 register values for Snapshot Files
ZX_iy_H_reg     rs.b    1       (High then Low i.e. Motorola format)
ZX_iy_L_reg     rs.b    1
ZX_ix_H_reg     rs.b    1
ZX_ix_L_reg     rs.b    1
ZX_de_H_reg     rs.b    1
ZX_de_L_reg     rs.b    1
ZX_bc_H_reg     rs.b    1
ZX_bc_L_reg     rs.b    1
ZX_hl_H_reg     rs.b    1
ZX_hl_L_reg     rs.b    1
ZX_af_H_reg     rs.b    1
ZX_af_L_reg     rs.b    1
ZX_de_H_alt     rs.b    1
ZX_de_L_alt     rs.b    1
ZX_bc_H_alt     rs.b    1
ZX_bc_L_alt     rs.b    1
ZX_hl_H_alt     rs.b    1
ZX_hl_L_alt     rs.b    1
ZX_af_H_alt     rs.b    1
ZX_af_L_alt     rs.b    1
ZX_sp_H_reg     rs.b    1
ZX_sp_L_reg     rs.b    1
ZX_if_H_reg     rs.b    1
ZX_if_L_reg     rs.b    1
ZX_rf_H_reg     rs.b    1
ZX_rf_L_reg     rs.b    1
ZX_pc_H_reg     rs.b    1
ZX_pc_L_reg     rs.b    1
ZX_SnpHdrLen    rs.b    0       Length of Snapshot file header
ZX_SnpData      rs.b    65496   Start of data block for Snapshot type
file
 
The ZX_Type field is derived from the MGT disciple directory MGT_Type-1, so
further file types may be supported in this way in the future.
 
The compression used is the standard byte run compression as used by ILBM IFF
files. The whole 48k data block is compressed as if it were one long row. See
Amiga ROM Kernel Reference Manual: Devices Third Edition, Appendix A - IFF
Specification (P347), Appendix C - Example Packer C code (P538).
 

                                 .ZXS (zx32)   
                                       

The latest specification for .ZXS files can be found on the zx32 Home Page
[http://www.geocities.com/SiliconValley/Bay/9932/] . Note that there is also a
.ZXS tape format (see below), but this is completely unrelated to this format.
 

                                  Tape Files   
                                       


  .BLK  Tape format used by Sinclair; identical to Z80's .TAP files.
   .SPC  Tape format used by the Polish emulator.
   .TAP  Tape format used by Z80 and many others.
   .TAP  Tape format used by Warajevo.
   .TZX  New tape format used to store turbo-loaders, etc.
   .VOC  Straight sound sample of a tape; used by several emulators.
   .ZXS  Very flexible tape format, not actually used by any emulators - used
to store real Spectrum tapes in a digital format. All come from the ZX
Spectrum Software Museum [http://zx-museum.org.ru/] .
 



       .TAP/.BLK (Z80, Sinclair & many others) [from Z80 documentation]   
                                       

The .TAP files contain blocks of tape-saved data. All blocks start with two
bytes specifying how many bytes will follow (not counting the two length
bytes). Then raw tape data follows, including the flag and checksum bytes. The
checksum is the bitwise XOR of all bytes including the flag byte. For example,
when you execute the line SAVE "ROM" CODE 0,2 this will result:
 
             |------ Spectrum-generated data -------|       |---------|
       13 00 00 03 52 4f 4d 7x20 02 00 00 00 00 80 f1 04 00 ff f3 af a3
       ^^^^^...... first block is 19 bytes (17 bytes+flag+checksum)
             ^^... flag byte (A reg, 00 for headers, ff for data blocks)
                ^^ first byte of header, indicating a code block
       file name ..^^^^^^^^^^^^^
       header info ..............^^^^^^^^^^^^^^^^^
       checksum of header .........................^^
       length of second block ........................^^^^^
       flag byte ............................................^^
       first two bytes of rom .................................^^^^^
       checksum (checkbittoggle would be a better name!).............^^
 
Note that it is possible to join .TAP files by simply stringing them together,
for example COPY /B FILE1.TAP + FILE2.TAP ALL.TAP
 
For completeness, I'll include the structure of a tape header. A header always
consists of 17 bytes:
 
        Byte    Length  Description
        ---------------------------
        0       1       Type (0,1,2 or 3)
        1       10      Filename (padded with blanks)
        11      2       Length of data block
        13      2       Parameter 1
        15      2       Parameter 2
 
The type is 0,1,2 or 3 for a Program, Number array, Character array or Code
file. A SCREEN$ file is regarded as a Code file with start address 16384 and
length 6912 decimal. If the file is a Program file, parameter 1 holds the
autostart line number (or a number >=32768 if no LINE parameter was given) and
parameter 2 holds the start of the variable area relative to the start of the
program. If it's a Code file, parameter 1 holds the start of the code block
when saved, and parameter 2 holds 32768. For data files finally, the byte at
position 14 decimal holds the variable name.
 

      [UPDATED] .TAP (Warajevo) [from Samir Ribic [megaribi@hermes.si] ]   
                                       

Warajevo's tape files (TAP) has the format as follows:
 
At the beginning of the file there are four bytes with the pointer to the
first block. Then follow four bytes with pointer to the last block. The next
four bytes contain #FFFFFFFF. So, empty tape has a format:
 
   #04 #00 #00 #00 #00 #00 #00 #00 #FF #FF #FF #FF
 
Sequence #00 #00 #00 #00 #FF #FF #FF #FF is, in fact, a EOF (end of file)
marker. Every block contains following:
 
  + 4 bytes, a pointer to the previous block, which is 0 for first block; 
  + 4 bytes, a pointer to the next block or to the EOF marker for last block; 
  + 2 bytes, block size; 
  + 1 byte, a flag byte; 
  + the data bytes. 
If the block size is 65534, it is a block which contains tone record samples.
The structure is:
 
  + 4 bytes, a pointer to the previous block, which is 0 for first block. 
  + 4 bytes, pointer to the next block, or to the EOF marker for last block. 
  + 2 bytes, value 65534. 
  + 1 byte, a status byte; bits B0-B2 in this byte contain informations which
tell how many bits in the last byte in the block are used (number of used bits
is, in fact, number stored in B0-B2 increased by one), bits B3-B4 contain
informations about sampling frequency (with meaning 00 - 15000 Hz, 01 - 22050
Hz, 10 - 30303 Hz, 11 - 44100 Hz), and bits B5-B7 are not used. 
  + 2 bytes, decompressed (logical) block size. 
  + 2 bytes, compressed (psychical) block size; if these 2 lengths are equal,
the block is not compressed. 
  + 2 bytes, signature length (internal, for compressed blocks). 
  + the samples (binary), 8 samples are packed into one byte (starting from B7
to B0); whole package of such sample bytes may be either compressed or
uncompressed (the last byte need not contain all 8 bits). 
If bytes 9, 10, 11 and 12 into a TAP file are not equal to #FF, this is TAP
file which is not in native Warajevo TAP format. In this case, Warajevo
assumes Z80's .TAP format.
 
If the block size is 65535, it is a compressed block. It looks like:
 
  + 4 bytes, a pointer to the previous block; 
  + 4 bytes, pointer to next block; 
  + 2 bytes, 65535; 
  + 1 byte, a flag byte; 
  + 2 bytes, decompressed size; 
  + 2 bytes, compressed size; 
  + 2 bytes, signature length (internal); 
  + the data bytes. 

Signatures are important for the imploding algorithm used by Warajevo. This
algorithm, when decompressing, copies bytes from the source file, or returns
for a few bytes, and copies some bytes from a destination file.
 
The explaination of compressed data bytes is rather complex. We used format
similar to those in PKLITE, but unlike PKLITE where signature bytes are mixed
with data bytes, authors divided them in two parts, for easier debugging.
 
Remember elements of Imploding (LZ77) algorithm. It depends on copying of some
byte sequences. For example:
 
   3D 18 2E 42 3D 18 2E 15 42 3D 19
 
will be encoded as:
 
   3D 18 2E 42  15  19
 
The archivers differs on way of encoding of this special 'Return for...' code.
 
In Warajevo compressed format, there are two parts: signatures and data. In
our example coding of signatures will be (binary):
 
   00001001 010100xx
 
while data bytes will be
 
   3D 18 2E 42 04 15 05 19
 
The signatures are finite automat that describe what to do with data bytes. If
the bit is 0, this is simple data byte, if the bit is 1 this is code for
returning.
 
In our example, four zeros in signatures means that four bytes can be simply
copied (3D, 18, 2E, 42) to output buffer. The next bit is 1. This means:
Return for xxxx bytes and copy yyyy.
 
The value of yyyy (size of string to be copied) is in signatures if less than
10 or in signatures and data bytes if greater of equal 10.
 
The size depends on next 2-4 signature bits:
 
    010: size=2
     00: size=3
    100: size=4
    101: size=5
    011: size>=10
   1100: size=6
   1101: size=7
   1110: size=8
   1111: size=9
 
If size is greater or equal than 10, the next data byte contains actual
size-10. That means: maximal string size is 265.
 
The next data byte determine lower byte of distance of string to be copied
(lower byte of xxxx). If size=2, higher bit is always zero (so for this size
distance can be maximally 255). If size differs from 2 the next 1-6 signature
bits determine higher byte:
 
        1: higher byte=0
     0000: higher byte=1
     0001: higher byte=2
    00100: higher byte=3
    00101: higher byte=4
    00110: higher byte=5
    00111: higher byte=6
   01nnnn: higher byte=7+nnnn
 
Experiment with some ASCII text compressed. There is algorithm in Pascal for
decompressing to understand the format:
 
procedure decompress_b;
label
  lb,b0,b1,b11,b01,b10,b110,b111,b010,b00,b100,b101,b011,b1100,
  b1101,b1110,b1111,v,v0,v1,v00,v01,v000,v001,v0000,v0001,v00100,v00101,
  v00110,v00111,v0010,v0011,izlaz;
var
  b,put:byte;
  bytes,return_for,i,auxilary:word;
  finished:Boolean;
begin
  OutputBufEnd:=0;
  CurrPosInputBuffer:=SignatureSize+1;
  CurrentSignaturePosition:=0;
  CurrentSignature:=InputBuffer^[CurrentSignaturePosition];
  BitCounter:=0;
  if duzina_ul_dek=0 then finished:=true else finished:=false;
  while not finished do begin
    if nextbit=0 then begin
      TakeFromInputBuffer(b,finished);
      PutToOutputBuffer(b);
    end
     else begin
       {I know, it is  goto, but more readable than
        nested if then else sequences}
        lb: if nextbit=0 then goto b0 else goto b1;
        b0: if nextbit=0 then goto b00 else goto b01;
        b1: if nextbit=0 then goto b10 else goto b11;
        b11: if nextbit=0 then goto b110 else goto b111;
        b01: if nextbit=0 then goto b010 else goto b011;
        b10: if nextbit=0 then goto b100 else goto b101;
        b110: if nextbit=0 then goto b1100 else goto b1101;
        b111: if nextbit=0 then goto b1110 else goto b1111;
        b010: bytes:=2;
          TakeFromInputBuffer(b,finished);
          return_for:=b;
          goto izlaz;
        b00: bytes:=3;goto v;
        b100: bytes:=4;goto v;
        b101: bytes:=5;goto v;
        b011: TakeFromInputBuffer(b,finished);
          bytes:=b+10;goto v;
        b1100: bytes:=6;goto v;
        b1101: bytes:=7;goto v;
        b1110: bytes:=8;goto v;
        b1111: bytes:=9;goto v;
        v: TakeFromInputBuffer(b,finished);
        return_for:=b;
        if nextbit=0 then goto v0 else goto v1;
        v0: if nextbit=0 then goto v00 else goto v01;
        v1:goto izlaz;
        v00: if nextbit=0 then goto v000 else goto v001;
        v01: Auxsilary:=7;
          if nextbit=1 then Auxsilary:=Auxsilary+8;
          if nextbit=1 then Auxsilary:=Auxsilary+4;
          if nextbit=1 then Auxsilary:=Auxsilary+2;
          if nextbit=1 then Auxsilary:=Auxsilary+1;
          return_for:=return_for+256*Auxsilary;
          goto izlaz;
        v000: if nextbit=0 then goto v0000 else goto v0001;
        v001: if nextbit=0 then goto v0010 else goto v0011;
        v0010: if nextbit=0 then goto v00100 else goto v00101;
        v0011: if nextbit=0 then goto v00110 else goto v00111;
        v0000: return_for:=return_for+1*256;goto izlaz;
        v0001: return_for:=return_for+2*256;goto izlaz;
        v00100: return_for:=return_for+3*256;goto izlaz;
        v00101: return_for:=return_for+4*256;goto izlaz;
        v00110: return_for:=return_for+5*256;goto izlaz;
        v00111: return_for:=return_for+6*256;goto izlaz;
        izlaz:
        for i:=1 to bytes do begin
          put:=OutputBuffer^[OutputBufEnd-return_for+1];
          PutToOutputBuffer(put)
        end;
     end {else}
  end {while}
end; {decompress_b}
 
Complex? Yes it is. I spent more than 30 days in developing algorythm,
analysing of some archivers, optimizing compression speed (it is still slow,
but acceptable) , and I worked mostly on paper, because it was in hardest days
of summer 1993, without electric power, water and food (in this time I losed
1kg weekly), when only miracle saved Sarajevo of fall. In this time I had not
leave the army building, and while I waited for a new battle tasks I developed
the compression algorythm.
 

                         .TZX (x128, xzx v2 & others)   
                                       

.TZX files are a format developed by Tomaz Kac to allow the storage of games
with non-standard loaders in a format _much_ smaller than .VOC files. The full
specification can be found at World of Spectrum
[http://www.void.demon.nl/TZXformat.html] .
 

                                  Disk Files   
                                       



  .DSK  Generic disk image format, used for +3 disks by x128, xzx and others. 
  .FDI  Image of a TR-DOS disk, used by UKV Spectrum Debugger. 
  .TRD  Image of a TR-DOS disk, used by x128, xzx and others. 



                         .DSK (x128, xzx v2 & others)   
                                       

See the specification at Kevin Thacker's Unofficial Amstrad WWW Resource
[http://andercheran.aiind.upv.es/~amstrad/File_Formats/dsk_definition.html]
(.DSK files were originally used on some of the Amstrad CPC emulators).
 

                      [NEW] .FDI (UKV Spectrum Debugger)   
                                       

[Translated from UKV Spectrum Debugger's documentation by Mac Buster
[Mac_Buster@usa.net] ]
 
   Offset   Field size    Description  
    0x00       0x03       Text "FDI"
    0x03       0x01       Write protection (0: write enabled; 1: disabled)
    0x04       0x02       Number of cylinders
    0x06       0x02       Number of heads
    0x08       0x02       Offset of disk description
    0x0A       0x02       Data offset
    0x0C       0x02       Length of additional information in header. (UKV
                          uses 00)
    0x0E       (x)        Additional information; length is specified in the
                          previous field.
    0x0E+(x)              Track headers area. This section contains all
                          information on the disk format. This area must
                          contain at least "Number of cylinders"*"Number of
                          heads" headers. The headers are stored in the
                          sequence Cyl 0 Head 0; Cyl 0 Head 1; Cyl 1 Head 0
                          etc.
   (Description offset)   A description of the disk terminated with 0x00 can
                          be placed here; the MAKEFDI utility (supplied by
                          UKV) allows for up to 64 characters, including
                          the terminating null.
   (Data offset)          The actual disk data. The size and sequence depends
                          on the disk format.
 
                              Track header format

 
   Offset   Field size    Description
    0x00       0x04       Track offset: the offset of the track data, relative
                          to the data offset defined above.
    0x04       0x02       (Always 0x0000)
    0x06       0x01       Number of sectors on this track.
    0x07   (Sectors*7)    Sector infomation:
                          Bytes 00-03 give the cylinder number, head number,
			  sector size (00: 128 bytes; 01: 256; 02: 512; 03:
                          1024; 04: 4096) and sector number respectively.
                          Byte 04 contains the flags:
   		            Bits 0-5 are CRC marks: if the CRC was correct for
   			    a sector size 128,256,512,1024 or 4096, then the
			    respective bit will be set. If all bits are 0 then
                            there was a CRC error when this sector was
                            written.
		            Bit 6 is always 0.
		            Bit 7 is 0 for normal data, or 1 for deleted data.
		          Bytes 05-06 give the sector offset, relative to
		          (data offset+track offset)			 
   7*(Sectors+1)          Track header length
 
Note that UKV 1.2 does not use the flag byte.
 

                         .TRD (x128, xzx v2 & others)   
                                       

See the TR-DOS System Info [http://www.ramsoft.bbk.org/tech/tr-info.zip] from
World Wide Ramsoft [http://www.ramsoft.bbk.org/] .
 

                                 Other Files   
                                       



  .DAT  Data files used by level-loader versions of a game (Z80Em does not use
a .DAT extension at all; instead files are just numbered, e.g. "1" instead of
"GAME1.DAT"). 
  .DCK  Used by Warajevo for Timex memory expansions. 
  .MDR  Microdrive cartridge file as used by Z80 and xzx v2 amongst others. 
  .NET  Used by Warajevo for the Interface I Network. 
  .OUT  OUT logs from Z80. 
  .POK  Poke files used by the Spectrum Games Database
[http://www.void.demon.nl/sgd.html] . 
  .SCR  Screendumps from Z80, WSpecEm and others. 



                            [NEW] .DCK (Warajevo)   
                                       

DCK files keeps information about memory content of various Timex memory
expansions, and information which chunks of extra memory are RAM chunks and
which chunks are ROM chunks. Such files have relatively simple format. At the
beginning of a DCK file, a nine-byte header is located. First byte is the bank
ID which has the following meaning:
 
   0:     DOCK bank (the most frequent variant)
   1-253: Reserved for expansions which allow more than three 64 Kb
          banks (currently not implemented)
   254:   EXROM bank (using this ID you may insert RAM or ROM chunks
          into EXROM bank; such hardware exists for the real TS2068)
   255:   HOME bank (mainly useless, HOME content is typically stored in a Z80
          file); however, using this bank ID you may replace content of Timex
          HOME ROM, or turn Timex HOME ROM into RAM
 
This numbering of banks is in according to convention used in various routines
from the TS2068 ROM. After the first byte, following eight bytes corresponds
to eight 8K chunks in the bank. Organization of each byte is as follows:
 
   bit  D0:    0 = read-only chunk, 1 = read/write chunk
   bit  D1:    0 = memory image for corresponding chunk is not present in DCK
               file, 1 = memory image is present in DCK file
   bits D2-D7: reserved (all zeros)                                        
 
To be more precise, these bytes will have the following values:
 
  + 0, for non-existent chunks (reading from such chunks must return default
values for given bank; for example, #FF in DOCK bank, and ghost images of 8K
Timex EXROM in EXROM bank). 
  + 1, for RAM chunks, where initial RAM content is not given (in Warajevo,
such chunks will be initially filled with zeros) 
  + 2, for ROM chunks 
  + 3, for RAM chunks where initial RAM content is given (this is need to
allow saving content of expanded RAM; also this is useful for emulating
non-volatile battery-protected RAM expansions). 
After the header, a pure binary image of each chunk is stored in DCK file.
That's all if only one bank is stored in DCK file. Else, after the memory
image, a new 9-byte header for next bank follows, and so on.
 

        [UPDATED] .MDR (Z80, xzx v2, others) [from Z80 documentation]   
                                       

The following information is adapted from Carlo's documentation. It can also
be found in the 'Spectrum Microdrive Book', by Ian Logan (co-writer of the
excellent 'Complete Spectrum ROM Disassembly').
 
A cartridge file contains 254 'sectors' of 543 bytes each, and a final byte
flag which is non-zero is the cartridge is write protected, so the total
length is 137923 bytes. On the cartridge tape, after a GAP of some time the
Interface I writes 10 zeros and 2 FF bytes (the preamble), and then a fifteen
byte header-block-with-checksum. After another GAP, it writes a preamble
again, with a 15-byte record-descriptor-with-checksum (which has a structure
very much like the header block), immediately followed by the data block of
512 bytes, and a final checksum of those 512 bytes. The preamble is used by
the Interface I hardware to synchronise, and is not explicitly used by the
software. The preamble is not saved to the microdrive file:
 
    Offset Length Name    Contents
    ------------------------------
      0      1   HDFLAG   Value 1, to indicate header block
      1      1   HDNUMB   sector number (values 254 down to 1)
      2      2            not used
      4     10   HDNAME   microdrive cartridge name (blank padded)
     14      1   HDCHK    header checksum (of first 14 bytes)
     15      1   RECFLG   - bit 0: always 0 to indicate record block
                          - bit 1: set for the EOF block
                          - bit 2: reset for a PRINT file
                          - bits 3-7: not used (value 0)
     16      1   RECNUM   data block sequence number (value starts at 0)
     17      2   RECLEN   data block length (

(Actually, this information is 'transparent' to the emulator. All
it does is store 2 times 254 blocks in the .MDR file as it is OUTed,
alternatingly of length 15 and 528 bytes. The emulator does check
checksums, see below; the other fields are dealt with by the emulated
Interface I software.)

A used record block is either an EOF block (bit 1 of RECFLG is 1)
or contains 512 bytes of data (RECLEN=512, i.e.  bit 1 of MSB is
1). An empty record block has a zero in bit 1 of RECFLG and also
RECLEN=0. An unusable block (as determined by the FORMAT command) is
an EOF block with RECLEN=0.

The three checksums are calculated by adding all the bytes together modulo
255; this will never produce a checksum of 255. Possibly, this is the value
that is read by the Interface I if there's no or bad data on the tape.

In normal operation, all first-fifteen-byte blocks of each header or record
block will have the right checksum. If the checksum is not right, the block
will be treated as a GAP. For instance, if you type OUT 239,0 on a normal
Spectrum with interface I, the microdrive motor starts running and the
cartridge will be erased completely in 7 seconds. CAT 1 will respond with
'microdrive not ready'. Try it on the emulator...

Warajevo uses basically the same
format, but ignores the `read-only' final byte (it obtains this
information from the file attributes), and also the files do not have
to contain all 254 sectors.

                            [NEW]  .NET (Warajevo)  
                                       

.NET files are used by Warajevo to emulate the Interface I Network, which
allowed up to 8 different Spectrums to talk to each other.

The format of the network files is very simple. They have 260 bytes
(or more, but excess bytes will not be used), with following
structure:
   Byte    Length  Description
     0       2     Package ID (used for fast checking whether content of the
                   Net file is changed)
     2       2     Reserved; not yet used          
     4     256     Content of the package
 

                            [NEW] .PAL (Warajevo)   
                                       

The WARAJEVO.PAL file is used by Warajevo to set its colour palette. They have
a very simple 48-byte format: the first three bytes correspond to R, G and B
value for color 0, next three bytes correspond to RGB for color 1, etc; the
first 24 bytes are related to BRIGHT 0 colors, and next 24 bytes are related
to BRIGHT 1. All values must be in the range 0-63.
 

    [NEW] .POK (Spectrum Games Database [http://www.void.demon.nl/sgd.html] ,
                        Sinclair Spectrum Emulator)   
                                       

[From Martijn van der Heide]
 
The .POK file format is a proprietary format designed for use with SGD (from
version 1.20) and was originally used to POKE snapshots prior to launching an
emulator to play the specific game. This mechanism works on snapshots only.
 
Each trainer contains one or more POKEs (sometimes a game check needs more
than one poke to acquire a result). All trainers for a game are written after
each other. The first character in a line of the file determines the content
of the line.
 
'N' means: this is the Next trainer,
 'Y' means: this is the last line of the file (the rest of the file is
ignored).
 
After the 'N' follows the name/description of this specific trainer. This
string may be up to 30 characters. There is no space between the 'N' and the
string.
 
The following lines, up to the next 'N' or 'Z' hold the POKEs to be applied
for this specific trainer. Again, the first character determines the content.
 
'M' means: this is not the last POKE (More)
 'Z' means: this is the last POKE
 
The POKE line has the format:
 
   lbbb aaaaa vvv ooo
 
Where l determines the content, bbb is the bank, aaaaa is the address to be
poked with value vvv and ooo is the original value of aaaaa. All values are
decimal, and separated by one or more spaces, apart from between l and bbb;
however, the bank value is never larger than 8, so you will always see 2
spaces in front of the bank.
 
The field bank field is built from
 
bit 0-2 : bank value
      3 : ignore bank (1=yes, always set for 48K games)
 
If the field is in range 0-255, this is the value to be POKEd. If it is 256, a
requester should pop up where the user can enter a value.
 
The 'original' field holds the original value at the address. It is used to
remove a POKE. Normally, when applying a POKE, the original value can be read
from the address. Sometimes however, games as found on the internet are
already POKEd, so the original value can not be read. If this field is filled
in (non-0) you still have the possibility to remove the trainer. (This format
cannot handle the possibility that the original value was 0).
 

                         .SCR (Z80, WSpecEm, others)   
                                       

These files are just Spectrum screen dumps, and are simply the 6912 bytes of
pixel and attribute data found at address 16384, stored on disk in exactly the
same way as they are stored in memory.
 
To elaborate; the Spectrum screen is split into four areas; top third, mid
third, bottom third and attributes (colours). The thirds each consist of 2048
bytes and the attribute area is 768 bytes (32 characters wide x 24 lines). So
the first 6144 bytes are the actual pixel data and the remainder decides what
two colours are used in each 8x8 square.
 
Each third of the screen is laid out unusually; the first 32 bytes are the
pixels for the top row of the first character line, then the next 32 bytes are
the pixels for the top row of the second character line and so on until you
reach the ninth load of 32 bytes, which is the second row of the first
character line. Next 32 bytes is the second row of the second character line,
and so on. It's hard to explain, so the best thing to do is see for yourself;
write a program to POKE data to 16384 up and see how the bytes fill in on the
screen.
 
                                       
                                       

                    --===Spectrum FAQ - Technical Info===--
 
In addition to reading this, if you are interested in lots of technical
information about various aspects of the Spectrum and how to emulate it, you
are strongly advised to read the documentation accompanying Gerton Lunter's
Z80, in particular the techinfo.doc file. Many other emulators also include
useful information in their documentation.
 
This page is based on Gerton's techinfo.doc, with major contributions from
Marat Fayzullin, Ian Collier [Ian.Collier@comlab.ox.ac.uk] , Sean A. Irvine
[sirvine@cs.waikato.ac.nz] (Channels and Streams), Pera Putnik
[piters@EUnet.yu] (Port #FE and the differences between Issue 2 and 3
Spectrums), Pedro Gimeno [pgimeno@geocities.com] (Contended memory timings &
lots more), Jose Luis Sanchez (+2A/+3 contended memory timings) and Sean Young
[sean@msxnet.org] (Undocumented flags & more). Others contributing information
include Alvin Albrecht [aralbrec@concentric.net] , Mac Buster
[Mac_Buster@usa.net] , Damien Guard [damien.guard@nrgi.com] , Erik Kunze
[Erik.Kunze@fantasy.muc.de] , Joe Mackay [joe.moore2@ukonline.co.uk] ,
Malyrules, James McKay [jmackay@jmk1.freeserve.co.uk] , Joseph S. Myers
[jsm28@hermes.cam.ac.uk] and Rui Riberio. 

                                ZILOG Z80 CPU   
                                       

Most Z80 opcodes are one byte long, not counting a possible byte or word
operand. The four opcodes CB, DD, ED and FD are shift opcodes: they change the
meaning of the opcode following them.
 

                                  CB opcodes   
                                       

There are 248 different CB opcodes. The block CB 30 to CB 37 is missing from
the official list. These instructions, usually denoted by the mnemonic SLL,
Shift Left Logical, shift left the operand and make bit 0 always one. These
instructions are quite commonly used. For example, _Bounder_ and _Enduro
Racer_ use them.
 

                                  ED opcodes   
                                       

There are a number of unofficial ED instructions, but none of them are very
useful. The ED opcodes in the range 00-3F and 80-FF (except for the block
instructions of course) do nothing at all but taking up 8 T states and
incrementing the R register by 2. Most of the unlisted opcodes in the range
40-7F do have an effect, however. The complete list:
 (* = not official, i.e. not listed in Zilog documentation)
 
        ED40   IN B,(C)                 ED60   IN H,(C)
        ED41   OUT (C),B                ED61   OUT (C),H
        ED42   SBC HL,BC                ED62   SBC HL,HL
        ED43   LD (nn),BC               ED63   LD (nn),HL
        ED44   NEG                      ED64 * NEG
        ED45   RETN                     ED65 * RETN
        ED46   IM 0                     ED66 * IM 0
        ED47   LD I,A                   ED67   RRD
        ED48   IN C,(C)                 ED68   IN L,(C)
        ED49   OUT (C),C                ED69   OUT (C),L
        ED4A   ADC HL,BC                ED6A   ADC HL,HL
        ED4B   LD BC,(nn)               ED6B   LD HL,(nn)
        ED4C * NEG                      ED6C * NEG
        ED4D   RETI                     ED6D * RETN
        ED4E * IM 0/1                   ED6E * IM 0/1
        ED4F   LD R,A                   ED6F   RLD
        ED50   IN D,(C)                 ED70   IN (C)
        ED51   OUT (C),D                ED71 * OUT (C),0
        ED52   SBC HL,DE                ED72   SBC HL,SP
        ED53   LD (nn),DE               ED73   LD (nn),SP
        ED54 * NEG                      ED74 * NEG
        ED55 * RETN                     ED75 * RETN
        ED56   IM 1                     ED76 * IM 1
        ED57   LD A,I                   ED77 * NOP
        ED58   IN E,(C)                 ED78   IN A,(C)
        ED59   OUT (C),E                ED79   OUT (C),A
        ED5A   ADC HL,DE                ED7A   ADC HL,SP
        ED5B   LD DE,(nn)               ED7B   LD SP,(nn)
        ED5C * NEG                      ED7C * NEG
        ED5D * RETN                     ED7D * RETN
        ED5E   IM 2                     ED7E * IM 2
        ED5F   LD A,R                   ED7F * NOP
 
The ED70 instruction reads from port (C), just like the other instructions,
but throws away the result. It does change the flags in the same way as the
other IN instructions, however. The ED71 instruction OUTs a zero byte to port
(C). These instructions 'should', by regularity of the instruction set, use
(HL) as operand, but since from the processor's point of view accessing memory
or accessing I/O devices is the same thing except for activation of the /IORQ
line instead of the /MREQ line, and since the Z80 cannot access memory twice
in one instruction (disregarding instruction fetch of course), it can't fetch
or store the data byte.
 
The instructions ED 4E and ED 6E are IM 0 equivalents: when FF was put on the
bus (physically) at interrupt time, the Spectrum continued to execute
normally, whereas when an EF (RST #28) was put on the bus it crashed, just as
it does in that case when the Z80 is in the official interrupt mode 0. In IM 1
the Z80 just executes a RST #38 (opcode FF) no matter what is on the bus.
 
All the EDxx RET? instructions copy IFF2 to IFF1, even RETI (ED4D), which the
official documentation does not note. The only difference between RETI and
RETN is that peripheral devices which allow daisy-chaining of interrupts (eg
the Z80 PIO) recognise the ED4D sequence as 'end of interrupt' and then know
that they can allow a further interrupt to be passed to the processor.
 

                              DD and FD opcodes   
                                       

The DD and FD opcodes precede instructions using the IX and IY registers. If
you look at the instructions carefully, you see how they work:
 
    2A nn      LD HL,(nn)
    DD 2A nn   LD IX,(nn)
    7E         LD A,(HL)
    DD 7E d    LD A,(IX+d)
 
A DD opcode simply changes the meaning of HL in the next instruction. If a
memory byte is addressed indirectly via HL, as in the second example, a
displacement byte is added. Otherwise the instruction simply acts on IX
instead of HL (A notational awkwardness, that will only bother assembler and
disassembler writers: JP (HL) is not indirect; it should have been denoted by
JP HL). Instructions which use H or L access the high and low halves of IX;
those which reference both (HL) and either H or L replace HL by (IX+d), but
still use H or L. For example, DD6601 is LD H,(IX+01). Very many programs use
these 'undocumented' IX instructions. FD works in exactly the same way to DD,
but with IY instead of IX. Many DD or FD opcodes after each other will
effectively be NOPs, doing nothing except repeatedly setting the flag "treat
HL as IX" (or IY) and taking up 4 T states (But try to let _MONS_ disassemble
such a block.).
 
It is also possible to have doubly-shifted DDCB and FDCB opcodes (if DD or FD
precedes an ED instruction, the DD or FD is ignored, meaning that the ED
instructions never operate on IX or IY). With the CB instructions, the
situation is more interesting. Every DDCB instruction operates on (IX+nn), but
also copies the result to the register used in the original instruction,
except when it is (HL). For example, 
        CB CE           SET 0,(HL)
        CB C0           SET 0,B
        DD CB nn CE     SET 0,(IX+nn)
        DD CB nn C0     SET 0,(IX+nn) ; copy result to B
 
There is no standard way to denote these doubly shifted opcodes. Also, note
that the offset byte is the third under all circumstances: for the singly
shifted opcodes, the offset byte is after the opcode byte (eg DD 2A nn is LD
HL,(nn)), whilst the doubly shifted opcodes have the offset byte before the
opcode byte.
 

                                The R Register   
                                       

This is not really an undocumented feature, but a thorough description of it
is not easy to find. The R register is a counter that is updated during every
Z80 M1 cycle (approximately equivalent to every instruction), so long as DD,
FD, ED and CB are to be regarded as separate instructions, so shifted
instructions increase R by two. There's an interesting exception:
doubly-shifted opcodes, the DDCB and FDCB ones, also increase R by two. LDI
increases R by two, LDIR increases it by 2 times BC, as does LDDR etcetera. R
is set to zero when the Z80 is reset. 
Both LD A,R and LD R,A use the value of R after it has been increased (eg an
XOR A/LD R,A sequence sets the value of R to zero, and [reset]/DI/LD A,R sets
A to #03).
 
The highest bit of the R register is never changed: this is because in the old
days everyone used 16 Kbit chips. Inside the chip the bits where grouped in a
128x128 matrix, needing a 7 bit refresh cycle. Therefore ZiLOG decided to
count only the lowest 7 bits. You can easily check that the R register is
really crucial to memory refresh. Assemble this program:
 
        ORG 32768
        DI
        LD B,0
    L1: XOR A
        LD R,A
        DEC HL
        LD A,H
        OR L
        JR NZ,L1
        DJNZ L1
        EI
        RET
 
It will take about three minutes to run. Look at the upper 32K of memory, for
instance the UDG graphics. It will have faded. Only the first few bytes of
each 256 byte block will still contain zeros, because they were refreshed
during the execution of the loop. The ULA took care of the refreshing of the
lower 16K (This example won't work on the emulator, of course!).
 
R is increased by 1 during interrupt or NMI acknowledge (ignore the
complicated, incorrect info which was in previous versions of this FAQ).
 

                              Undocumented Flags   
                                       

This undocumented "feature" of Z80 has its effect on programs like _Sabre
Wulf_, _Ghosts'n'Goblins_ and the Speedlock loaders. Bits 3 and 5 of the F
register are not used. They can contain information, as you can readily figure
out by PUSHing AF onto the stack and then POPping some it into another pair of
registers. Furthermore, sometimes their values change. The following empirical
rule (due to Gerton Lunter) gives their values after most instructions:
 
*The values of bits 5 and 3 follow the values of the corresponding bits of the
last 8 bit result of an instruction that changed the usual flags.*
 
For instance, after an ADD A,B those bits will be identical to the bits of the
A register.
 
As well as the two completely undocumented flags, after some instructions, the
official documentation lists the value of some flags as 'undefined'. However,
these flags have predictable values: (In the list below, C is the register and
c is the carry flag) 
_     Instruction                        Non-standard flags_
CP xx                     3 and 5 copied from the argument, not the result
ADD HL,xx                 Consider the instruction being done in two steps:
ADC HL,xx/SBC HL,xx       first the LSBs being added, then the MSBs. The
                          3,H,5 and S flags are set as for the second step,
                          and Z is set only if the entire 16-bit result is
                          zero. (S and Z are not changed by ADD HL,xx).
BIT n,r			  P/V is set to the same value as Z. S is reset
                          unless the instruction is BIT 7,r and bit 7
                          of r is set, in which case S is set.
BIT n,(HL)                3 and 5 are apparently copied from an internal
BIT n,(IX/IY+d)           storage in the Z80; this is set as follows:
                          ADD HL,xx: H before the addition
                          LD r,(IX/IY+d): high byte of IX/IY+d
                          JR d: high byte of the jump target
                          LD r,r': no effect
                          Others have not been tested yet.
SCF/CCF/CPL               3 and 5 copied from A. CCF sets H to the value of
                          c before the instruction is executed.
LDD/LDDR/LDI/LDIR         3 is bit 3 of (copied value+A), whilst 5 is bit 1 of
                          this value.
CPD/CPDR/CPI/CPIR	  3 is bit 3 of (A-(HL)-H); 5 is bit 1 of this value.
                          (HL) is the value of (HL) before the instruction,
			  whilst H is the value of H after the the instruction.
IND/INDR/INI/INIR         S,5 and 3 are affected as DEC B; N is set to bit
OUTD/OTDR/OUTI/OTIR       7 of the value written to/read from the IO port. c
                          is found by taking C, adding one if the instruction
                          increments HL or decrementing it otherwise, then
                          adding the value written/read, and taking the carry
                          of this final sum. H is set to the same value as c.
 P/V for the IN... instructions, can be calculated as follows (behaviour for
OUT... is currently unknown); in the following, x.y refers to bit y of x and
inp is the byte read from the port. Look at bits 0 and 1 of C and inp, and
obtain a temporary result. The first result column should be used for IND/INDR
and the second for INI/INIR:
 
_    C.1   C.0  inp.1 inp.0   Temp1_
     0     0     0     0      0/0
     0     0     0     1      1/0
     0     0     1     0      0/1
     0     0     1     1      0/0
     0     1     0     0      1/0
     0     1     0     1      0/1
     0     1     1     0      0/0
     0     1     1     1      1/1
     1     0     0     0      0/1
     1     0     0     1      0/0
     1     0     1     0      1/1
     1     0     1     1      0/1
     1     1     0     0      0/0
     1     1     0     1      1/1
     1     1     1     0      0/1
     1     1     1     1      1/0
 
Now, calculate Temp2 according to the following pseudo-code:
 
If B.3 == B.2 == B.1 == B.0 == 0 then
  Temp2 = Parity(B) xor (B.4 or (B.6 and not B.5))
else
  Temp2 = Parity(B) xor (B.0 or (B.2 and not B.1))
 (Parity(B) is the standard partity function). Finally, 
P/V = Temp1 xor Temp2 xor C.2 xor inp.2
 

_Ghosts'n'Goblins_ uses the undocumented flag due to a programming error. The
rhino in _Sabre Wulf_ walks backward or keeps running in little circles in a
corner, if the (in this case undocumented) behaviour of the sign flag in the
BIT instruction isn't right. From the code:
 
        AD86    DD CB 06 7E        BIT 7,(IX+6)
        AD8A    F2 8F AD           JP P,#AD8F
 
An amazing piece of code! Speedlock does so many weird things that all must be
exactly right for it to run. Finally, the '128 ROM uses the AF register to
hold the return address of a subroutine for a while.
 

                                  Interrupts   
                                       

The Z80 has three interrupt modes, selected by the instructions IM 0, IM 1 and
IM 2.
 
The first thing which happens after an interrupt occurs is that the running
instruction must be completed. (Note that this means that the start of the
interrupt is fixed relative to the start of the frame only up to the length of
the last instruction in T states; if the processor was executing a HALT (which
is effectively an infinite series of NOPs), the interrupt routine starts at
most 3 T states away from the start of the frame). 
The flip flops IFF1 and IFF2 are simultaneously set or reset by the EI and DI
instructions. IFF1 determines whether interrupts are allowed, but its value
cannot be read. The value of IFF2 is copied to the P/V flag by LD A,I and LD
A,R.
 
Interrupts are trigged via the level-triggered /INT pin on the Z80, which the
ULA on the 48K Spectrum holds low for precisely 32 T-states. This pin is
sampled after every instruction, apart from EI, DI and the IX and IY prefixes
(DD and FD). If the pin goes high again before it is sampled, no interrupt
will occur. The /INT pin must be held low for at least 23 T-states, as some IX
and IY instructions take 23 T-states. If the interrupt routine starts EI/NOP,
this can cause a double interrupt, as the /INT pin will be sampled 19 (for IM
2)+4+4=27 T-states after being first sampled, when it may still be low.
 
In mode 1, the processor simply executes an RST #38 instruction if an
interrupt is requested. This is the mode the Spectrum is initalised to. In
this mode, the processor takes 13 T states to reach #0038: a 7 T state M1
cycle to acknowledge the interrupt and decrement SP, a 3 T state M2 cycle to
write the high byte of PC onto the stack and decrement SP again, and finally a
3 T state M3 cycle to write the low byte onto the stack and to set PC to #0038.
 
The other mode that is commonly used on the Spectrum is IM 2. If an interrupt
is requested, the processor first builds a 16 bit address by combining the I
register (as the high byte) with whatever the interrupting device places on
the data bus. The processor then fetches the 16-bit address at this interrupt
table entry, and finally calls the subroutine at that address. Rodnay Zaks in
his book '*Programming the Z80*' states that only even bytes are allowed as
low index byte, but that isn't true. The normal Spectrum contains no hardware
to place a byte on the bus, and the bus will therefore always read FF (because
the ULA also doesn't read the screen if it generates an interrupt), so the
resulting index address is 256*I+255. However, some not-so-neat hardware
devices put things on the data bus when they shouldn't, so later programs
didn't assume the low index byte was FF. These programs contain a 257 byte
table of equal bytes starting at 256*I, and the interrupt routine is placed at
an address that is a multiple of 257. A useful but not so much used trick on
the Spectrum is to make the table contain FF's (or use the ROM for this) and
put a byte 18 hex, the opcode for JR, at FFFF. The first byte of the ROM is a
DI, F3 hex, so the JR will jump to FFF4, where a long JP to the actual
interrupt routine is put. In IM 2, it takes 19 cycles to get to the interrupt
routine:
 
  + M1: 7 T states: acknowledge interrupt and decrement SP 
  + M2: 3 T states: write high byte and decrement SP 
  + M3: 3 T states: write low byte 
  + M4: 3 T states: read low byte from the interrupt vector 
  + M5: 3 T states: read high byte and jump to interrupt routine 
In interrupt mode 0, the processor executes the instruction that the
interrupting device places on the data bus. On a standard Spectrum this will
be the byte FF, coincidentally (:-)) the opcode for RST #38. But for the same
reasons as above, this is not really reliable. If there is a RST n on the data
bus, it takes 12 cycles to get to 'n': 
  + M1: 6 T states: acknowledge interrupt and decrement SP 
  + M2: 3 T states: write high byte and decrement SP 
  + M3: 3 T states: write low byte and jump to 'n' 
With a CALL nnnn on the data bus, it takes 19 cycles: 
  + M1: 6 T states: acknowledge interrupt 
  + M2: 3 T states: read low byte of 'nnnn' from data bus 
  + M3: 4 T states: read high byte of 'nnnn' and decrement SP 
  + M4: 3 T states: write high byte of PC to the stack and decrement SP 
  + M5: 3 T states: write low byte of PC and jump to 'nnnn'. 
When the /NMI pin goes low, an internal flip-flop in the Z80 is set to note
that an NMI is pending; This flip-flop is sampled at the end of every
instruction, apart from DD/FD and possibly EI/DI.
 
When an NMI occurs, IFF1 is reset, thereby disallowing further maskable
interrupts, but IFF2 is left unchanged. This enables the NMI service routine
to check whether the interrupted program had enabled or disabled maskable
interrupts. The NMI routine should end with a RETN instruction, which in
addition to the usual RET actions copies IFF2 to IFF1, thus restoring the
interrupt state of the interrupted code.
 
When an NMI occurs, it takes 11 T states to get to #0066: a 5 T state M1 cycle
to do an opcode read and decrement SP, a 3 T state M2 cycle to write the high
byte of PC to the stack and decrement SP and finally a 3 T state M3 cycle to
write the low byte of PC and jump to #0066.
 

                              CHANNELS & STREAMS   
                                       
-=Introduction=-
 
The Spectrum has a surprisingly modern system of input and output when the age
of the Spectrum is considered. However, what is more surprising is the fact
that the Spectrum manual barely scratches the surface of what is possible.
 
I/O on the Spectrum is based on channels and streams. Since the standard
Spectrum has only a limited range of I/O devices is makes sense that different
commands are available for each I/O device. For example, PRINT is used to send
output to the screen, whereas LPRINT is used to send output to the printer.
 
The extra devices catered for by Interface 1 (microdrives, RS232, and
networking) reduced the practicality of continuing to invent new commands,
although this was provided for in the case of the microdrives.
 
Streams and channels intuitively correspond to the software and hardware parts
of I/O respectively. That is, a stream should be thought of merely as a
collection of data going to or coming from a piece of hardware, and a channel
should be associated with a particular piece of hardware such as a printer. On
the Spectrum streams are numbered from 0 through 15, and their basic
operations are reading and writing data.
 
The BASIC statement INPUT #s; <input-list> will read data from stream number
s, 0 <= s <= 15, into the variables specified in the input-list. Conversely,
the BASIC statement PRINT #s; <print-list> will write data to stream s, 0 <= s
<= 15. In general both INPUT # and PRINT # can be used in the same way as
their ordinary counterparts INPUT and PRINT. In particular all the normal
complexity of a PRINT statement can be used equally well in a PRINT #
statement. In each case the data sent to the stream is exactly the same as the
data which would be sent to the screen by the PRINT statement. The INPUT #
statement is slightly more complicated in that is can both read and write
data, as in INPUT "What is your name? "; A$. In fact each stream really has
two components, an input stream and an output stream. Data written to the
stream by either PRINT # or INPUT # goes to the output stream while input
comes from the input stream.
 
It is even possible to change streams part way through a PRINT statement, as
in PRINT #3; "hello"; #6; "there". This is obviously fairly confusing though,
so should probably be avoided unless their is a good reason for using this
construct. 
-=Opening and Closing=-
 
How do you know which stream numbers are associated with which channel? Before
a stream is used it must be OPENed. Opening a stream serves two purposes. It
associates the given stream with a particular piece of hardware (the channel),
and actually signals the relevant device that it is going to be used. Stream
are opened in BASIC using the syntax OPEN #s, c where s is the stream number
being opened and c is a string specifying the channel to associate the stream
with. Following this command any data sent to stream s will go to the
specified channel. It is possible to open several streams to the same device,
but each stream can only be associated with a single channel.
 
The statement CLOSE #s, c is used to end the association of stream s with
channel c. It also informs that associated hardware that it is no longer
required by stream s.
 
The unexpanded Spectrum supports four channels: "K" the keyboard channel, "S"
the screen channel, "P" the printer channel, and "R" an internal channel used
by the Spectrum to send data to the edit buffer. In practice the only channel
that has both input and output of these is the keyboard channel. When the
Spectrum is first powered up the following streams are opened automatically:
0: "K", 1: "K", 2: "S", 3: "P". Thus, the command LPRINT is really an
alternative to writing PRINT #3. The "R" channel cannot be opened from BASIC.
It is possible to redefine the standard channels, thus OPEN #2, "P" will cause
output normally sent to the screen to be redirected to the printer.
 
For example, OPEN #5, "K" associates stream 5 with the keyboard, and
thereafter INPUT #5; A$ would behave in an identical manner to INPUT A$.
 
-=Device Independence=-
 
The most important advantage of using streams is in the writing of device
independent programs. Say that you wish to give the user the option of having
all output go to either the screen or to the printer. Without using streams it
is necessary then to have separate output statements for each device, as in
 
IF (output = printer) THEN LPRINT "Hello" ELSE PRINT "Hello"
 
but using streams we can just open a particular stream (say 4) to the desired
output device and thereafter use only one output statement
 
PRINT #4; "Hello"
 
Obviously this will result is a much shorter program, particularly, if there
are many output statements in the program. Further, it is an easy matter to
add even further output devices if they become an option later in the programs
development.
 
-=More Stream Commands=-
 
BASIC also allows LIST and INKEY$ to be used to streams. LIST #s will send a
copy of the program to stream s; e.g. normally LIST #3 is the same thing as
LLIST. However, on the standard Spectrum INKEY$ can only be used with the
keyboard channel.
 
-=Memory Formats=-
 
Technical section for machine code programmers.
 
Knowing about the actually layout of the stream records in memory is useful if
you want to add your own hardware devices to the Spectrum, or if you which to
make you own specialized streams. The information that defines each channel is
stored in the channel information area starting at CHANS and ending at PROG -
2. Each channel record has the following format:
 
two-byte address of the output routine
two-byte address of the input routine
one-byte channel code letter
 
where the input and output routines are address of machine code sub- routines.
The output routine must accept Spectrum character codes passed to it in the A
register. The input routine must return data in the form of Spectrum character
codes, and signal that data is available by setting the carry flag. If no data
is available then this is indicated be resetting both the carry and zero
flags. Stubs should be provided if a channel does not support either input or
output (e.g. the stub may simply call RST 8 with an error code).
 
With Interface 1 attached an extended format is used. The above fields are
followed by
 
two-byte address 8K error routine 40
two-byte address 8K error routine 40
one-byte length of channel descriptor
 
Data about which streams are associated with which channels is in a 38-byte
area of memory starting at STRMS. The table is a series of 16-bit offsets to
the channel record vectored from CHANS. A value of one indicates the channel
record starting at CHANS, and so on. This accounts for 32 bytes of the 38. The
remaining 6 bytes are for three hidden streams (253, 254, 255) used internally
by BASIC. A zero entry in the table indicates a stream not open.
 
It is possible to redirect existing channels to your own I/O routines. This
can be used among other things to cause LPRINT to use your own printer driver
rather than the one provided in the ROM. It allows you to perform I/O for your
own hardware devices, or for you to write your own handlers from PRINT and
INPUT.
 
It is easiest to modify the existing "P" channel record. The "K" channel is
not a good option for modification because its values are restored every time
a INPUT statement is executed. It is possible to create new channel records
elsewhere in memory, e.g. by changing the value of CURCHL. Another difficulty
is that without Interface 1, OPEN will only work with K, S, and P and so it is
necessary to provide some other way of opening your own channels.
 
To make space for a new record a call should be made to the ROM routine at
5717. This will allocate the requested space and alter any system variables
affected by the change. The amount of space required is passed in BC, and the
address of the first location to be allocated is passed in Hl. For example, LD
BC, 100; LD HL, 23700; CALL 5717 will allocate 100 bytes starting at 23700. A
new channel descriptor should start at one less than PROG.
 

                                   HARDWARE   
                                       

At the hardware level, the Spectrum is a very simple machine. There's the 16K
ROM which occupies the lowest part of the address space, and 48K of RAM which
fills up the rest. An ULA which reads the lowest 6912 bytes of RAM to display
the screen, and contains the logic for just one I/O port completes the
machine, from a software point of view at least.
 

                                   Port FE   
                                       

Every even I/O address will address the ULA, but to avoid problems with other
I/O devices only port FE should be used. If this port is written to, bits have
the following meaning:
 
        Bit   7   6   5   4   3   2   1   0
            +-------------------------------+
            |   |   |   | E | M |   Border  |
            +-------------------------------+
 
The lowest three bits specify the border colour; a zero in bit 3 activates the
MIC output, whilst a one in bit 4 activates the EAR output and the internal
speaker. However, the EAR and MIC sockets are connected only by resistors, so
activating one activates the other; the EAR is generally used for output as it
produces a louder sound. The upper two bits are unused.
 
If port FE is read from, the highest eight address lines are important too. A
zero on one of these lines selects a particular half-row of five keys:
 
      IN:    Reads keys (bit 0 to bit 4 inclusive)
      #FEFE  SHIFT, Z, X, C, V            #EFFE  0, 9, 8, 7, 6
      #FDFE  A, S, D, F, G                #DFFE  P, O, I, U, Y
      #FBFE  Q, W, E, R, T                #BFFE  ENTER, L, K, J, H
      #F7FE  1, 2, 3, 4, 5                #7FFE  SPACE, SYM SHFT, M, N, B
 
A zero in one of the five lowest bits means that the corresponding key is
pressed. If more than one address line is made low, the result is the logical
AND of all single inputs, so a zero in a bit means that at least one of the
appropriate keys is pressed. For example, only if each of the five lowest bits
of the result from reading from port 00FE (for instance by XOR A/IN A,(FE)) is
one, no key is pressed. A final remark about the keyboard. It is connected in
a matrix-like fashion, with 8 rows of 5 columns, as is obvious from the above
remarks. Any two keys pressed simultaneously can be uniquely decoded by
reading from the IN ports. However, if more than two keys are pressed decoding
may not be uniquely possible. For instance, if you press Caps shift, B and V,
the Spectrum will think also the Space key is pressed, and react by giving the
"Break into Program" report. Without this matrix behaviour _Zynaps_, for
instance, won't pause when you press 5,6,7,8 and 0 simultaneously.
 
Bit 6 of IN-port FE is the ear input bit. The value read from this port is not
trivial, as can be seen from the following program:
 
      10 OUT 254,BIN 11101111
      20 PRINT IN 254
      30 OUT 254,BIN 11111111
      40 PRINT IN 254
      50 GOTO 10
 
For a correct test do not press any key while running, and have no EAR input.
 
  + If the output is 191,255,191,255 etc, you are on real Spectrum Issue 3. 
  + If output is always 191 or always 255, change the value in line 10 to BIN
11100111. 
  + If output is then 191,255,191,255 etc, then you are on Spectrum Issue 2. 
  + If output is still always 191 or always 255 you are on Spectrum emulator. 
Correctly responding emulators include R80, zx32 and xzx (All of these can do
either Issue 2 or Issue 3 emulation). Also, ZXAM always behaves like an Issue
2 machine.
 
The ULA chip uses the same pin (28) for all of the MIC socket, EAR socket and
the internal speaker, so bits 3 and 4 of an OUT to port #FE will affect bit 6
as read by an IN from port FE. The difference between Issue 2 and 3 machines
is:
 
Value output to bit: 4  3  |  Iss 2  Iss 3   Iss 2 V    Iss 3 V
                     1  1  |    1      1       3.79       3.70
                     1  0  |    1      1       3.66       3.56
                     0  1  |    1      0       0.73       0.66
                     0  0  |    0      0       0.39       0.34
 
Iss 2 is value of bit 6 read by IN 254 after the appropriate OUT from an Issue
2, and Iss 3 is same for an Issue 3. Iss 2 V and Iss 3 V are voltage levels on
pin 28 of the ULA chip after the OUT, with no input signal on the EAR socket.
 
From the above, it is clear that the difference between Issue 2 and 3 is:
 
  + On an Issue 3, an OUT 254 with bit 4 reset will give a reset bit 6 from IN
254. 
  + On an Issue 2, both bits 3 and 4 must be reset for the same effect to
occur. 
Pera Putnik tested the level at pin 28 at which input bit 6 changes from 0 to
1 or reverse. This is exactly 0.70 Volts on both Issue 2 and Issue 3, with no
inverting or hysteresis; this means that bit 6 is 1 if the voltage on pin 28
is over 0.70 V, and otherwise it is 0, on both Issues. At the hardware level,
the only apparent difference between Issue 2 and 3 is that there are slightly
higher voltages from Issue 2 machines. As can be seen from the table, the
input combination '0 1' gives output voltages that are very close to the
crucial 0.7 V.
 
The BASIC program used above is relatively slow, and for faster programs the
situation isn't so simple, as _there is some delay when output bit 4 changes
from 1 to 0_. To illustrate this, here are 2 short assembler routines:
 
       ORG 45000
       LD A,#18
       OR #F8
       OUT (254),A
       LD A,#08
       OR #E8
       OUT (254),A
TIMING LD B,7      ;crucial value
DL     LD IX,0
       DJNZ DL
       IN A,(254)  ;query state
 
In this case IN A,(254), or output of this value sometimes gives 255 and
sometimes 191. If you make the constant in the TIMING line smaller then result
will be always 255, if delay is longer then result will be always 191. Of
course, the effect occurs only for Issue 3 machines.
 
The situation is again slightly different for a longer duration of high output
level on port 254: 
       ORG 50000
       HALT        ;synchronize with interrupts
       LD A,#18
       OUT (254),A
       HALT        ;wait 20ms
       LD A,#08
       OUT (254),A
       LD B,107    ;crucial value
DL     LD IX,0
       DJNZ DL
       IN A,(254)
 
As you can see, after a longer high level duration, the delay is also much
longer. The delay varies from approximately 180 T states (about 50 microsec)
to 2800 T states (about 800 microsec), depending from duration of high level
on port 254. The explanation for this delay is that there are capacitors
connected between pin 28 of the ULA and the EAR and MIC connectors, but note
that _there is no delay when bit 4 changes from 0 to 1_. 
The 'traditional' explanation of the difference between Issue 2 and 3 Spectrum
(from techinfo.doc) is that PRINT IN 254 gives bit 6 reset on an Issue 3 and
set on an Issue 2 machine occurs because, as PRINT IN 254 is typed at a BASIC
prompt, the speaker is called for every keystroke, and the ROM beep routine
contains a OR 8 before OUT (#FE),A, so bit 3 is always set, and therefore an
Issue 2 machine will always return a set bit 6. 
Bits 5 and 7 as read by INning from port #FE are always one. The ULA with the
lower 16K of RAM, and the processor with the upper 32K RAM and 16K ROM are
working independently of each other. The data and address buses of the Z80 and
the ULA are connected by small resistors; normally, these do effectively
decouple the buses. However, if the Z80 wants to read or write the lower 16K,
the ULA halts the processor if it is busy reading, and after it's finished
lets the processor access lower memory through the resistors. A very fast,
cheap and neat design indeed!
 
If you read from a port that activates both the keyboard and a joystick port
(e.g. Kempston), the joystick takes priority. Emulators known to have this
feature correct are SpecEm, WSpecEm, x128 and xzx. This effect can be seen on
_Street Hawk_ and _Command4_.
 

                               The 48K Spectrum   
                                       

If you run a program in the lower 16K of RAM, or read or write in that memory,
the processor is halted sometimes, as the ULA needs to access the video memory
to keep the TV updated; the electron beam can't be interrupted, so the ULA is
given a higher priority to access the contended memory. This part of memory is
therefore somewhat slower than the upper 32K block. This is also the reason
that you cannot write a sound- or save-routine in lower memory; the timing
won't be exact, and the music will sound harsh. Also, INning from port FE will
halt the processor, because the ULA has to supply the result. Therefore,
INning from port FE is a tiny bit slower on average than INning from other
ports; whilst normally an IN A,(nn) instruction would take 11 T states, it
takes slightly longer if nn=FE. See the Contended Memory section for more
exact information.
 
If the processor reads from a non-existing IN port, for instance FF, the ULA
won't stop, but nothing will put anything on the data bus. Therefore, you'll
read a mixture of FFs (idle bus), and screen and ATTR data bytes (the latter
being very scarce, by the way). This will only happen when the ULA is reading
the screen memory, about 60% of the 1/50th second time slice in which a frame
is generated. The other 40% the ULA is building the border or generating a
vertical retrace. This behaviour is actually used in some programs, for
instance, in _Arkanoid_.
 
Finally, there is an interesting bug in the ULA which also has to do with this
split bus. After each instruction fetch cycle of the processor, the processor
puts the I-R register "pair" (not the 8 bit internal Instruction Register, but
the Interrupt and R registers) on the address bus. The lowest 7 bits, the R
register, are used for memory refresh. However, the ULA gets confused if I is
in the range 64-127, because it thinks the processor wants to read from lower
16K ram very, very often. The ULA can't cope with this read-frequency, and
regularly misses a screen byte. Instead of the actual byte, the byte
previously read is used to build up the video signal. The screen seems to be
filled with 'snow'; however, the Spectrum won't crash, and program will
continue to run normally. One program which uses this to generate a nice
effect is _Vectron_ (which has very nice music too, by the way).
 
The 50 Hz interrupt is synchronized with the video signal generation by the
ULA; both the interrupt and the video signal are generated by it. Many
programs use the interrupt to synchronize with the frame cycle. Some use it to
generate fantastic effects, such as full-screen characters, full-screen
horizon (_Aquaplane_) or pixel colour (_Uridium_ for instance). Very many
modern programs use the fact that the screen is "written" (or "fired") to the
CRT in a finite time to do as much time-consuming screen calculations as
possible without causing character flickering: although the ULA has started
displaying the screen for this frame already, the electron beam will for a
moment not "pass" this or that part of the screen so it's safe to change
something there. So the exact time in the 1/50 second time-slice at which the
screen is updated is very important. Each line takes exactly 224 T states.
 
After an interrupt occurs, 64 line times (14336 T states) pass before the byte
16384 is displayed. At least the last 48 of these are actual border-lines; the
others may be either border or vertical retrace.
 
Then the 192 screen+border lines are displayed, followed by 56 border lines
again. Note that this means that a frame is (64+192+56)*224=69888 T states
longs, which means that the '50 Hz' interrupt is actually a 3.5MHz/69888=50.08
Hz interrupt. This fact can be seen by taking a clock program, and running it
for an hour, after which it will be the expected 6 seconds fast. However, on a
real Spectrum, the frequency of the interrupt varies slightly as the Spectrum
gets hot; the reason for this is unknown, but placing a cooler onto the ULA
has been observed to remove this effect.
 
Now for the timings of each line itself: define a screen line to start with
256 screen pixels, then border, then horizontal retrace, and then border
again. All this takes 224 T states. Every half T state a pixel is written to
the CRT, so if the ULA is reading bytes it does so each 4 T states (and then
it reads two: a screen and an ATTR byte). The border is 48 pixels wide at each
side. A video screen line is therefore timed as follows: 128 T states of
screen, 24 T states of right border, 48 T states of horizontal retrace and 24
T states of left border.
 
Now when to OUT to the border to change it at the place you want? First of
all, you cannot change the border within a "byte", an 8-pixel chunk. If we
forget about the screen for a moment, if you OUT to port FE after 14336 to
14339 T states (including the OUT) from the start of the IM 2 interrupt
routine, the border will change at exactly the position of byte 16384 of the
screen. The other positions can be computed by remembering that 8 pixels take
4 T states, and a line takes 224 T states. However, there are complications
due to the fact that port FE is contended (as the ULA must supply the result);
see the Contended Memory section for details.
 

                               Contended Memory   
                                       

When the ULA is drawing the screen, it needs to access video memory; the RAM
cannot be read by two devices (the ULA and the processor) at once, and the ULA
is given higher priority (as the electron beam cannot be interrupted), so
programs which run in the contended memory (from #4000 to #7FFF) or try to
read from port #FE (when the ULA must supply the result) will be slowed if the
ULA is reading the screen. Note this effect occurs only when the actual screen
is being drawn; when the border is being drawn, the ULA supplies the result
and no delays occur. The precise details are as follows:
 
  + At cycle #14335 (just one cycle before the top left corner is reached) the
delay is 6 cycles. 
  + At cycle #14336 the delay is 5 cycles, and so on according to the
following table: 
      Cycle #    Delay
      -------    -----
       14335       6 (until 14341)
       14336       5 (  "     "  )
       14337       4 (  "     "  )
       14338       3 (  "     "  )
       14339       2 (  "     "  )
       14340       1 (  "     "  )
       14341   No delay
       14342   No delay
       14343       6 (until 14349)
       14344       5 (  "     "  )
       14345       4 (  "     "  )
       14346       3 (  "     "  )
       14347       2 (  "     "  )
       14348       1 (  "     "  )
       14349   No delay
       14350   No delay
 
etc., until the cycle #14463 (always relative to the start of the interrupt),
in which the electron beam reaches the border again for 96 more cycles. And at
cycle #14559 the same situation repeats. This is valid for all 192 lines of
screen data. While the ULA is updating the border the delay does not happen at
any time.
 
When counting cycles several things must be taken into account. One is the
interrupt setup time; another one is the precise moment within an instruction
in which the R/W or I/O operation is performed (see the table below). And one
more thing: the fact that an interrupt can't happen in the middle of a
instruction (and a HALT counts as many NOPs), so some cycles may be lost while
waiting for the current instruction to end. That's an additional difficulty
e.g. for byte-precision colour changes.
 
Now all that remains is to know exactly in which point(s) within an
instruction is the R/W or I/O operation acting, to know where to apply the
delay. That depends on each instruction. For those one-byte ops which do not
perform memory or I/O access, the only affected point is the opcode fetch
which happens at the first cycle of the instruction, and the address to test
for contention is the current value of the program counter PC.
 
For example, for a NOP (4 cycles), only the first cycle will be affected and
only if PC lies within the contended memory range. So if it's executed in
contended memory at cycle #14334, no delay will happen and the next
instruction will (try to) be executed at cycle #14338, but if the NOP is
executed at cycle #14335, it will be delayed for 6 cycles thus taking 6+4=10
cycles so the next instruction will (try to) be executed at cycle #14345. This
case will be annotated in the table below as pc:4, meaning that if PC lies
within contended memory then the first cycle will be subject to delay and the
remaining three will be free of delays.
 
The "try to" in the above paragraph is because, unless the NOP is at PC=32767,
the next instruction will be subject to another delay when its opcode is
fetched (the first cycle in an opcode fetch is always subject to delays) since
the cycle number relative to the start of the frame is also delayed.
 
So an entry like 'hl+1:3' means that if HL+1 is in range 16384-32767 and the
current cycle number is subject to delays, then the delay corresponding to the
current cycle must be inserted before the number of T-states that figure after
the colon.
 
Things get a bit more difficult with more-than-one-byte-long instructions.
Here's the sample pseudocode to apply delays to an instruction with an entry
in the table which reads 'pc:4,hl:3' (e.g. LD (HL),A):
 
  If 16384<=PC<=32767 then
     <Insert the delay corresponding to the current cycle,
     relative to the start of the frame> (according to the above
     table).
  (end if)
  Delay for 4 cycles (time after 'pc:').
  If 16384<=HL<=32767 then
     <Insert the delay corresponding to the current cycle...>
  (end if)
  Store A into (HL)
  Delay for 3 cycles (time taken to store A)
 
_Example 1_: if PC = 25000 and HL = 26000 and the instruction at address 25000
is LD (HL),A and we're in cycle #14335:
 
  + Insert 6 cycles (count for cycle #14335) going to #14341. 
  + Read the opcode. 
  + Insert 4 cycles (opcode fetch). We're at cycle #14345. 
  + Insert 4 cycles (count for cycle #14345). We're at #14349. 
  + Store the byte. 
  + Insert 3 cycles (write to (HL)). 
Next opcode will be read at cycle #14352 (and 5 cycles will be inserted then
for sure because PC=25001).
 
_Example 2_: same but PC=40000 (not contended):
 
  + Read the opcode. 
  + Insert 4 cycles (opcode fetch). We're at cycle #14339. 
  + Insert 2 cycles (count for cycle #14339). We're at #14341. 
  + Store the byte. 
  + Insert 3 cycles (write to (HL)). 
If an entry in the table has something like 'io:5', it means that if the I/O
port is even (bit 0 = 0, like port FEh) then it counts exactly like an address
lying in contended memory.
 
The values for the registers listed in the table below are relative to the
starting value of the register when the instruction is about to be executed.
 
In the table below:
 
  + dd is any of the registers BC,DE,HL,SP 
  + qq is any of the registers BC,DE,HL,AF 
  + ss is any of the registers BC,DE,HL 
  + cc is any (applicable) condition NZ,Z,NC,C,PO,PE,P,M 
  + nn is a 16-bit number 
  + n is an 8-bit number 
  + b is a number from 0 to 7 (BIT/SET/RES instructions) 
  + r and r' are any of the registers A,B,C,D,E,H,L 
  + alo is an arithmetic or logical operation: ADD/ADC/SUB/SBC/AND/XOR/OR/CP 
  + sro is a shift/rotate operation: RLC/RRC/RL/RR/SLA/SRA/SRL and SLL
(undocumented) 
For conditional instructions, entries in {} mean that they have only to be
applied if the condition is met. If the instruction is not conditional (e.g.
CALL nn) the entries in {} should be ignored.
 
The CB/ED/DD/FD prefixes count always as pc:4. It will not be counted in each
instruction. Also, in places where HL appears we assume that it may be
replaced by IX or IY (same for H and L alone) when valid. Timings for
instructions with an operand of the form (IX/IY+n) have not been thoroughly
tested.
 
In some read-modify-write operations (like INC (HL)), the write operation is
always the last one. That may be important to know the exact point in which
video is updated, for example. In such instructions that point is annotated
for clarity as "(write)" after the address.
 
    Instruction    Breakdown
    -----------    ---------
    NOP;           pc:4
    CB prefix;
    ED prefix;
    DD prefix;
    FD prefix;
    LD r,r';
    alo A,r;
    sro r;
    BIT b,r;
    SET b,r;
    RES b,r;
    INC/DEC r;
    EXX;
    EX AF,AF';
    EX DE,HL;
    DAA;
    CPL;
    NEG;
    IM 0/1/2;
    CCF;
    SCF;
    DI;
    EI;
    RLA;
    RRA;
    RLCA;
    RRCA;
    JP (HL)
    LD A,I;        pc:5
    LD A,R;
    LD I,A;
    LD R,A
    INC/DEC dd;    pc:6
    LD SP,HL
    ADD HL,dd;     pc:11
    ADC HL,dd;
    SBC HL,dd
    LD r,n;        pc:4,pc+1:3
    alo A,n
    LD r,(ss);     pc:4,ss:3
    LD (ss),r
    alo A,(HL)     pc:4,hl:3
    BIT b,(HL)     pc:4,hl:4
    LD dd,nn;      pc:4,pc+1:3,pc+2:3
    JP nn;
    JP cc,nn
    LD (HL),n      pc:4,pc+1:3,hl:3
    LD A,(nn);     pc:4,pc+1:3,pc+2:3,nn:3
    LD (nn),A
    LD dd,(nn);    pc:4,pc+1:3,pc+2:3,nn:3,nn+1:3
    LD (nn),dd
    INC/DEC (HL);  pc:4,hl:4,hl(write):3
    SET b,(HL);
    RES b,(HL);
    sro (HL)
    POP dd;        pc:4,sp:3,sp+1:3
    RET;
    RETI;
    RETN
    RET cc         pc:5,{sp:3,sp+1:3}
    PUSH dd;       pc:5,sp-1:3,sp-2:3
    RST n
    CALL nn;       pc:4,pc+1:3,pc+2:3,{pc+2:1,
    CALL cc,nn     sp-1:3,sp-2:3}
    JR n;          pc:4,pc+1:3,{pc+1:1,pc+1:1,pc+1:1,
    JR cc,n        pc+1:1,pc+1:1}
    DJNZ n         pc:5,pc+1:3,{pc+1:1,pc+1:1,pc+1:1,
                   pc+1:1,pc+1:1}
    RLD;           pc:4,hl:7,hl(write):3
    RRD
    IN A,(n);      pc:4,pc+1:4,io:3
    OUT (n),A
    IN r,(C);      pc:5,io:3
    OUT (C),r
    EX (SP),HL     pc:4,sp:3,sp+1:4,sp(write):3,sp+1(write):5
    LDI/LDIR;      pc:4,hl:3,de:3,de:1,de:1,{de:1,de:1,de:1,
    LDD/LDDR       de:1,de:1}
    CPI/CPIR;      pc:4,hl:3,hl:1,hl:1,hl:1,hl:1,hl:1,{hl:1,
    CPD/CPDR       hl:1,hl:1,hl:1,hl:1}
    INI/INIR;      pc:6,io:3,hl:3,{hl:1,hl:1,hl:1,hl:1,hl:1}
    IND/INDR
    Note: The next instruction is not very clear because of its
    complexity - help on confirmation would be appreciated:
    OUTI/OTIR;     if last time or non-repeated version:
    OUTD/OTDR      pc:5,hl:4,io:3
                   if not last time (for repeated versions):
                   pc:5,hl:4,io:1,pc+1:1,pc+1:1,pc+1:1,pc+1:1,
                   pc+1:1,pc+1:1,pc:1
 
If anyone out there can further this information (especially about the effect
of (IX+n) and (IY+n)), please contact Pedro Gimeno [pgimeno@geocities.com] .
 

                                 INTERFACE 1   
                                       

The Interface I is quite complicated. It uses three different I/O ports, and
contains logic to page and unpage an 8K ROM if new commands are used. The ROM
is paged if the processor executes the instruction at ROM address 0008 or 1708
hexadecimal, the error and close# routines. It is inactivated when the Z80
executes the RET at address 0700.
 

                                   Port E7   
                                       

I/O port E7 is used to send or receive data to and from the microdrive.
Accessing this port will halt the Z80 until the Interface I has collected 8
bits from the microdrive head; therefore, it the microdrive motor isn't
running, or there is no formatted cartridge in the microdrive, the Spectrum
hangs. This is the famous 'IN 0 crash'.
 

                                   Port EF   
                                       
       Bit    7   6    5    4    3    2    1     0
            +---------------------------------------+
        READ|   |   |    |busy| dtr |gap| sync|write|
            |   |   |    |    |     |   |     |prot.|
            |---+---+----+----+-----+---+-----+-----|
       WRITE|   |   |wait| cts|erase|r/w|comms|comms|
            |   |   |    |    |     |   | clk | data|
            +---------------------------------------+
 
Bits DTR and CTS are used by the RS232 interface. The WAIT bit is used by the
Network to synchronise, GAP, SYNC, WR_PROT, ERASE, R/_W, COMMS CLK and COMMS
DATA are used by the microdrive system. If the microdrive is not being used,
the COMMS DATA output selects the function of bit 0 of out-port F7:
 
       Bit      7    6   5   4   3   2   1       0
            +------------------------------------------+
        READ|txdata|   |   |   |   |   |   |    net    |
            |      |   |   |   |   |   |   |   input   |
            |------+---+---+---+---+---+---+-----------|
       WRITE|      |   |   |   |   |   |   |net output/|
            |      |   |   |   |   |   |   |   rxdata  |
            +------------------------------------------+
 
TXDATA and RXDATA are the input and output of the RS232 port. COMMS DATA
determines whether bit 0 of F7 is output for the RS232 or the network.
 

                                  JOYSTICKS   
                                       

The ports assigned to joysticks are:
 
#7F    Fuller Box  (FxxxRLDU, active low)
#1F    Kempston    (000FUDLR, active high)
#EFFE  Sinclair1   (000LRDUF, active low, corresponds to keys '6' to '0')
#F7FE  Sinclair2   (000FUDRL, active low, corresponds to keys '1' to '5')
 
The TS2068 is slightly more complicated, as the joysticks attached to R14 of
sound chip; the following code is typical for reading the joysticks:
 
  LD A,7
  OUT (#F5),A   ;set R7
  IN A,(#F6)
  AND #BF       ;clear bit 6 to read from i/o port a - R14
  OUT (#F6),A
  LD A,14
  OUT (#F5),A   ;set R14
  LD A,3        ;(3=both joysticks, 2=left only, 1=right only)
  IN A,(#F6)    ;(FxxxRLDU, active low)
 
This method ensures other sound chip functions aren't messed with.
 

                            THE 128K/+2 SPECTRUMS   
                                       

The 128K machine is similar to the 48K machine, but with the extra memory,
which is accessed by paging it into the top 16K of RAM, and some timing
differences:
 
  + The main processor runs at 3.54690 MHz, as opposed to 3.50000 MHz. 
  + There are 228 T-states per scanline, as opposed to 224. 
  + There are 311 scanlines per frame, as opposed to 312. 
  + There are 63 scanlines before the television picture, as opposed to 64. 
Note that this means that there are 70908 T states per frame, and the '50 Hz'
interrupt occurs at 50.01 Hz, as compared with 50.08 Hz on the 48K machine.
The ULA bug which causes snow when I is set to point to contended memory still
occurs, and also appears to crash the machine shortly after I is set to point
to contended memory.
 

                                    Memory   
                                       

When memory is being paged, interrupts should be disabled and the stack should
be in an area which is not going to change. If normal interrupt code is to
run, then the system variable at 5B5Ch (23388) must be kept updated with the
last value sent to port 7FFDh. It is not possible to read this port.
 
On the 128 and +2, memory is entirely controlled by port 7FFDh. The byte to
output will be interpreted thus:
 
Bits 0-2: RAM page (0-7) to map into memory at 0C000h
Bit  3:   Select normal (0) or shadow (1) screen. The normal screen is in bank
          5 and normally appears at 4000h; the shadow screen is in bank 7 and
          can be switched in at 0C000h
Bit  4:   ROM select. ROM 0 is the 128k editor and menu system; ROM 1 contains
          48k BASIC.
Bit  5:   If set, memory paging will be disabled and further output to this
          port will be ignored until the computer is reset.
 
The memory map of these computers is:
 
FFFFh +--------+--------+--------+--------+--------+--------+--------+--------+
      | Bank 0 | Bank 1 | Bank 2 | Bank 3 | Bank 4 | Bank 5 | Bank 6 | Bank 7 |
      |        |        |(also at|        |        |(also at|        |        |
      |        |        | 8000h) |        |        | 4000h) |        |        |
      |        |        |        |        |        | screen |        | screen |
C000h +--------+--------+--------+--------+--------+--------+--------+--------+
      | Bank 2 |        Any one of these pages may be switched in.
      |        |
      |        |
      |        |
8000h +--------+
      | Bank 5 |
      |        |
      |        |
      | screen |
4000h +--------+--------+
      | ROM 0  | ROM 1  | Either ROM may be switched in.
      |        |        |
      |        |        |
      |        |        |
0000h +--------+--------+
 
RAM banks 1,3,4,6 and most of 7 are used for the silicon disc; the rest of 7
contains editor scratchpads.
 
Memory banks 4-7 are contended, i.e. the processor shares them with the ULA.
This reduces the speed of memory access in these banks. Port #FE is still
contended, and port #7FFD also causes contention, although the precise details
of this are not known.
 
An example of a typical bank switch on the 128 is:
 
     LD      A,(5B5Ch)       ;Previous value of port
     AND     0F8h
     OR      4               ;Select bank 4
     LD      BC,7FFDh
     DI
     LD      (5B5Ch),A
     OUT     (C),A
     EI
 
The principle is the same for all bank switching: change only the bits you
need to.
 
The contended memory timings for these machines are similar to that for the
48K machine, except that the 6,5,4,3,2,1,0,0 pattern starts at 14361 T-states
after the interrupt, as opposed to 14335.
 

                                    Keypad   
                                       

The 128K machine's keypad extra editing facilities are also available via the
normal keyboard:
 
                 FUNCTION                        KEYS
                 -----------------------------------------
                 Beginning of next word          [E] [S] J
                 Beginning of previous word      [E] I
                 Up ten lines                    [E] P
                 Down ten lines                  [S] I
                 Start of line                   [E] [S] 2
                 End of line                     [E] M
                 First line                      [E] N
                 Last line                       [E] T
                 Screen                          [E] [S] 8
                 Delete this character           [E] [S] K
                 Delete word left                [E] E
                 Delete word right               [E] W
                 Delete to start of line         [E] K
                 Delete to end of line           [E] J
                 [E] = Extended Mode
                 [S] = Symbol Shift
 

                                  Sound Chip   
                                       

The AY-3-8912 sound chip is a widely used one, to be found in the MSX,
Vectrex, Amstrad CPC range, etc. It is controlled by two I/O ports:
 
OUT (0FFFDh)   - Select a register 0-14
IN  (0FFFDh)   - Read the value of the selected register
OUT (0BFFDH)   - Write to the selected register
 
There's a guide to how to use the registers at this site
[http://andercheran.aiind.upv.es/~amstrad/CPC_Guide/Hardware_Programming/Chips/
psg.html] - this is for the CPC, so the I/O commands used will be different,
and on the Spectrum register 14 is used for the serial ports rather than the
keyboard as on the CPC. There is also an excellent load of info on the AY chip
in the techinfo.doc file accompanying the Z80 emulator.
 
The Fuller Box also used the AY-3-8912, with port #3F used to select registers
and #5F for data. The Fuller Box joysticks were connected to port #7F.
 
The Timex TS2068 is one of the Spectrum clones and also had an AY chip, using
port #F5 to select registers and #F6 for data. For a more complete list of
TS2068 ports, see the TS2068 ROMs file (to be found on NVG
[ftp://ftp.nvg.ntnu.no/pub/sinclair/roms/ts2068roms.zip] ).
 
Typically, the AY chip is written to inside 128K games using:
 
LD BC,#FFFD      01 FD FF
OUT (C),D        ED 51
LD B,#BF         06 BF
OUT (C),E        ED 59
 
To convert to a TS2068 poke a few values as follows:
 
LD BC,#FFF5      01 F5 FF
OUT (C),D        ED 51
LD C,#F6         0E F6
OUT (C),E        ED 59
 
If you've got a Fuller box, you can do the same mod, replacing F5 with 3F and
F6 with 5F.
 

                             THE +2A/+3 SPECTRUMS   
                                       

The +2A/+3 share the same timing information, sound chip, etc as the 128K/+2
machines; see above for details.
 
Bit 6 of port #FE of the +2A/+3 does not show the same dependence on what was
written to port #FE as it does on the other machines, and always returns 0 if
there is no signal. Finally, reading from a non-existing port (eg #FF) will
always return 255, and not give any screen/attribute bytes as it does on the
48K/128K/+2.
 

                                    Memory   
                                       

The basic principle of paging on the +2A and +3 is the same as for the
128K/+2. However, the +2A and +3 have four ROMs rather than two, and certain
extra memory configurations.
 
Port 7FFDh behaves in the same way as before, except that bit 4 is now the low
bit of the ROM selection. The extra features are controlled by port 1FFDh.
This port is also write-only, and its last value should be saved at 5B67h
(23399).
 
Port 1FFDh responds thus:
 
  Bit 0: Paging mode. 0=normal, 1=special
  Bit 1: In normal mode, ignored.
  Bit 2: In normal mode, high bit of ROM selection. The four ROMs are:
          ROM 0: 128k editor, menu system and self-test program
          ROM 1: 128k syntax checker
          ROM 2: +3DOS
 	  ROM 3: 48 BASIC
  Bit 3: Disk motor; 1=on, 0=off
  Bit 4: Printer port strobe.
 
When special mode is selected, the memory map changes to one of four
configurations specified in bits 1 and 2 of port 1FFDh:
 
       Bit 2 =0    Bit 2 =0    Bit 2 =1    Bit 2 =1
       Bit 1 =0    Bit 1 =1    Bit 1 =0    Bit 1 =1
 FFFFh+--------+  +--------+  +--------+  +--------+
      | Bank 3 |  | Bank 7 |  | Bank 3 |  | Bank 3 |
      |        |  |        |  |        |  |        |
      |        |  |        |  |        |  |        |
      |        |  | screen |  |        |  |        |
 C000h+--------+  +--------+  +--------+  +--------+
      | Bank 2 |  | Bank 6 |  | Bank 6 |  | Bank 6 |
      |        |  |        |  |        |  |        |
      |        |  |        |  |        |  |        |
      |        |  |        |  |        |  |        |
 8000h+--------+  +--------+  +--------+  +--------+
      | Bank 1 |  | Bank 5 |  | Bank 5 |  | Bank 7 |
      |        |  |        |  |        |  |        |
      |        |  |        |  |        |  |        |
      |        |  | screen |  | screen |  | screen |
 4000h+--------+  +--------+  +--------+  +--------+
      | Bank 0 |  | Bank 4 |  | Bank 4 |  | Bank 4 |
      |        |  |        |  |        |  |        |
      |        |  |        |  |        |  |        |
      |        |  |        |  |        |  |        |
 0000h+--------+  +--------+  +--------+  +--------+
 
RAM banks 1,3,4 and 6 are used for the disc cache and RAMdisc, while Bank 7
contains editor scratchpads and +3DOS workspace.
 
The contended memory timings differ on the +2A/+3 from the earlier machines;
firstly, the timing differences mean that the top-left pixel of the screen is
displayed 14364 T-states after the 50 Hz interrupt occurs, as opposed to
14336. The T-states (relative to the interrupt) at which delays occur are
given in the following table:
 
      Cycle #    Delay
      -------    -----
       14361       1
       14362   No delay
       14363       7
       14364       6
       14365       5
       14366       4
       14367       3
       14368       2
       14369       1
       14370   No delay
       14371       7
       14372       6
 
and so on, until cycle 14490, when the display of the first scanline on the
screen has been completed, and no more delays are inserted until 14589
(=14361+228) when the cycle repeats. The other difference occurs for
instructions which have multiple 'pc+1' or 'hl' entries in the breakdown for
the other machines: on the +2A/+3, these entries are combined into just one.
This means that, for example, JR becomes pc:4,pc+1:8. 
Like the base 128K machine, RAM banks 4-7 are contended. However, port #FE is
not; whether ports #7FFD and #1FFD are contended is currently unknown.
 

                                  Disk Drive   
                                       

Another useful bit of information is that it is possible to add an Amiga 3.5"
drive to a Spectrum +3 by Simply wiring the pins by name and providing it with
some external power source (which can be an Amiga PSU with increased amperage,
used to power the entire +3 and external drive in one go). There is a public
domain formatter around to format it to 720k - this is quite useful as 3"
disks are now a rarity and were never that reliable.
 
The added advantage is that PC users equipped with a copy of Sybex's shareware
package 22Disk can read these files into a PC too.
 
                                       
                                       

                       --===Spectrum FAQ - Pinouts===--
 

                                     ULA   
                                       

He *multiplexed* address-lines.
 
/WR   2    39 Q          One of the +5V is decoupled through a RC-low-pass.
/RD   3    38 /MREQ      U,V are the color-difference signals.
/WE   4    37 A15        /Y is the inverted video including sync.
A0    5    36 A14        D are the data-lines, decoupled from the CPU by
A1    6    35 /RAS       resistors.
A2    7    34 /ROM CS    T are the data-lines to the keyboard (address-lines
A3    8    33 /IO-ULA    through diodes).
A4    9    32 CLOCK      SOUND is the analog-I/O-line for beep, save and load.
A5   10    31 D7         CLK is the clock-source to the CPU including the
A6   11    30 D6         inhibited T-states.
/INT 12    29 D5         IO-ULA is (A0(CPU) OR /IORQ) for the I/O-port FEh
+5V  13    28 SOUND      Q is the 14MHz-crystal, other side grounded through
+5V  14    27 D4         a capacitor
U    15    26 T4
V    16    25 D3
/Y   17    24 T3
D0   18    23 T2
T0   19    22 D2
T1   20    21 D1
 

                                  AY-3-8912   
                                       
SOUND C   1    28  D0       Vcc is +5V.
PORT      2    27  D1       SOUND A, B and C can be tied together.
Vcc       3    26  D2       CLOCK can be some MHz.
SOUND B   4    25  D3
SOUND A   5    24  D4
GND       6    23  D5
PORT      7    22  D6
PORT      8    21  D7
PORT      9    20  BC1
PORT     10    19  BC2
PORT     11    18  BDIR
PORT     12    17  A8
PORT     13    16  RESET
CLOCK    14    15  CLOCK
 

                               KEYBOARD LAYOUT   
                                       
  OUTER SIDE   A 15 14 8  13 12 9  10 11  INNER SIDE
             D
             0   BR EN CS P  0  A  Q  1
             1   SS L  Z  O  9  S  W  2
             2   M  K  X  I  8  D  E  3
             3   N  J  C  U  7  F  R  4
             4   B  H  V  Y  6  G  T  5
  INNER SIDE
  [BR] BREAK   [EN] ENTER   [CS] CAPS SHIFT   [SS] SYMBOL SHIFT
 
In real the matrix connections are in one row on the top side of the membrane.
 

                               KEYBOARD REPAIR   
                                       

Replacing keyboard membranes on the Spectrum, Spectrum + and Spectrum 128:
 
[Thanks to Brian Gaff [briang@bgserv.demon.co.uk] for this information]
 
First find your good membrane! This seems to be the impossible part! If you
have a black 128K machine, this uses the same membrane as the Spectrum +.
 
Firstly, remove all the screws in the bottom of the case. On the rubber keyed
model, two of these may be under the front feet. Also note that the screw at
the rear in the centre is different to the others in some cases. Turn the
computer the right way up and gently lift the top of the case. You should see
two flat cables linking the keyboard to the PCB.
 
Carefully pull these upward without twisting them. They usually pull out
easily. Grasp them as near the PCB sockets end as you can. They also tear
easily, so try not to leave any bits behind in the sockets. On the Spectrum +
and 128, remove the keyboard and take note of how the rear sprung feet are
assembled. Murphy's law dictates that these are bound to fall out as you
re-assemble the case later!
 
Back to the rubber keyboard now, and there were two versions of these. Look
beneath the keyboard. If there are any small metal lugs at the outside edges,
gently prize them upwards. This may allow the top metal plate to be removed.
However, the majority of Spectrums relied on good old glue to secure the top
plate, and getting these apart can be a slow job if you wish to avoid bending
the plate.
 
The best way is to slowly pull it off. Try not to kink it though. Once this is
free, there is a rubber mat and then the membrane. This part is easy. Just
replace the membrane, making sure it is the correct way round with the flat
cables poking through the slots as before. If there is not enough sticky left
to hold the metal plate, then contact adhesive or double sided tape work well.
Try not to get any of the adhesive on the membrane or rubber mat though.
 
The Spectrum + calls for slightly more labour to do the job. Turn the keyboard
upside down and remove all the screws in the backing plate. Also remove the
two clamps at the rear where the flat cables run. Once this is done, the
backing plate can be removed, leaving the membrane exposed. This is a more
complex beast than the rubber keyed one. Replace it with your new one, making
sure it is located on the spigots correctly, and replace the backing plate and
screws. These do not need to be too tight.
 
Care must be taken to get the flat cables laying straight through the clamps.
Try to do the screws up a little at a time evenly. Do not over tighten them
though. As a matter of interest, these clamps are used to make connections
between various layers of the membrane, so any mis alignment could cause
strange keyboard faults! [*I'd go along with that alright - I threw away a
perfectly good membrane when all that was wrong was that one of the clamps
hadn't been tightened enough. - Damien*]
 
All that remains is to carefully replace the ends of the flat cables into
their sockets. Again, try not to buckle them, as they are fragile. Once this
is done, lay the keyboard on the machine and test it. Test ALL the keys and
combinations. If all is well, then the screws can be replaced. If it isn't,
check that the cables are in the connectors properly, and that there is no
debris in there from the old cables. On the + and 128, suspect the clamps
first! Simply loosen them and realign the cables. Remember when replacing any
screws, that they are only screwing into plastic, and you only have to over
tighten them once, and the pillar they screw into could either crack or just
end up with a large hole in it!
 
[If the ends of the membrane cables where they attach to the PCB have been
cracked, you can get away with cutting them off past the cracked point and
inserting the cable back in the slots. There is not much slack in the cables
though, so you may find this tricky if the split is any more than around a
centimeter away from the socket - Damien].
 

                             128K COMPOSITE VIDEO   
                                       

[Thanks to Henning Bog [henning@execulink.com] for this information]
 
Pin 1 is composite PAL, 2 is GND. There's no audio on any pin of the RGB
connector.
 
The picture is a bit dull unless your TV's video input is High Z (high
impedance) However, that's quite unlikely. Normally the impedance of the video
input is around 75 Ohms. To alleviate this problem, short the 68 Ohms resistor
inside the Speccy that's in series with pin 1 (follow the track on the PCB).
Or you can hook it directly to the input of the RF modulator.
 
The audio can be taken from the Mic socket but a better balance between 48K
and 128K sound is obtained directly from pin 5 of IC38.
 

                                   128K RGB   
                                       

[From the 128K Spectrum Manual
[http://www.jetman.dircon.co.uk/speccy/128manua/index.html] , which has a nice
graphical version
[http://www.jetman.dircon.co.uk/speccy/128manua/sp128p03.html] of this pinout
if you prefer that. I'm trying to keep the FAQ itself to being more or less
text-only.]
 
        RGB              Pin  Signal              Level
                         -------------------------------------------------
   --7--   --6--         1    Composite PAL       75 Ohms, 1.2 Volts pk-pk
         |               2    0 Volts DC
    3--  8  --1          3    Bright output       TTL
  --     |     --        4    Composite sync      TTL
      /     \            5    Vertical sync       TTL
     5   |   4           6    Green               TTL
    /    2    \          7    Red                 TTL
         |               8    Blue                TTL
 

                                Power Supplies   
                                       

The power supplies for the various machines are rated as follows:
 
Machine             Voltage   Amperage  Centre Polarity
-------------------------------------------------------
ZX-81                 9V DC     500 mA        +ve
Spectrum 16K/48K/+    9V DC     1.4  A        -ve
Spectrum +2           9V DC     2.1  A        -ve
Timex 1000/1500       9V DC     500 mA        +ve
Timex 2040           24V AC     1.2  A        n/a
Timex 2068           15V DC     1.0  A        -ve
Z88                 6.5V DC     500 mA        +ve
Alphacom 32 Printer  24V AC     1.2  A        n/a
Timex Modem           9V DC     500 mA        +ve
Flat-screen TV      5.9V DC     100 mA        -ve
 
From Ian
Collier [imc@comlab.ox.ac.uk] :
 This is what the end of the +2A/+3 PSU lead looks like (which is obviously a
mirror image to what the power socket looks like):
 
    ---u---
  /         \
 / +5    -12 \
|      0      |
 \ +5    +12 /
  \   +12   /
    -------
 
The 5V line is rated at 2A, the +12V at 700mA (200mA for the +2A) and the -12V
at 50mA.
 
                                       
                                       

                   --===Spectrum FAQ - Acknowledgements===--
 
I'm sure I've missed out people in this list, for which I apologise; shout at
me if you should be here. Thanks are also extended to everyone mentioned in
the 'info by' bits of the Where is...? section if not specifically mentioned
here. Anyway, mucho thanks to:
 


  _Alvin R. Albrecht_  for lots of Technical information. 
  _Damien Burke_  for maintaing this FAQ from 1995-1997. 
  _Mac Buster_  for some precise Interrupt Timings. 
  _Richard Carlsson_  for info on his Speccylator emulator for the Amiga. 
  _Paulo Sergio Coelho_  for info on TC2048 and TS/TC2068. 
  _Ian Collier_  xz80 emulator, advice, Z80 information and more... 
  _Krzysztof Czysciak_  information about Elwro emulator. 
  _Marc Dawson_  information about several Spectrum programmers. 
  _Carlos Duarte_  for more info on the TK90 machines. 
  _John Elliott_  information about 128K machines. 
  _Marat Fayzullin_  for maintaing this FAQ until 1995. 
  _Brian Gaff_  for keyboard repair info and moderation services ;-) 
  _Eduardo Gallego_  for some BBS numbers in Spain. 
  _Guillaume Genty_  information about several Speccy programmers. 
  _Pedro Gimeno_  for lots of Technical Information. 
  _Arnt Gulbrandsen_  for being the father of Spectrum emulation with JPP and
the original version of NVG, as well as multiple contributions to this file. 
  _Simos Hadjiyiannis_  for several FTP addresses I didn't have. 
  _Martijn van der Heide_  for World of ZX Spectrum, as well as lots of other
stuff. 
  _Des Herriott_  for his xzx emulator, which is the first and the only way to
play _LodeRunner_ on a Unix workstation! :-) ignoring the Unix version of
course - eh Ian? 
  _Adam Hodson_  information about emulators for the Amiga. 
  _Sean Irvine_  information about channels and streams. 
  _A.G.Jackson_  information about emulators for Acorn Archimedes. 
  _Bob Johnson_  information about TS2068 and TK90X. 
  _Erik Kunze_  for continuing updates to info about his xzx v2 emulator. 
  _Gerton Lunter_  for the excellent information about ZX-Spectrum internals
and Z80 emulator for IBM PC. 
  _Joe Mackay_  for updated information on the Amiga emulators. 
  _Peter McGavin_  for some useful information and (of course =:)) his
excellent Spectrum emulator which actually *multitasks* under AmigaDOS and is
system-friendlier than many other programs. 
  _Miguel Melo_  information about several Speccy programmers. 
  _Szeredi Miklos_  for information about his SpectEmu emulator. 
  _Alexander Mudretsov_  information about the SP105 emulator (an earlier
version of ZX Spectrum Emulator 128K) 
  _Joseph S. Myers_  information on undocumented Z80 behaviour. 
  _Troels Norgaard_  information about KGB. 
  _Emil Obermayr_  for pinouts of ULA, AY-3-8912 and keyboard layout. 
  _Hansjoerg Oppermann  for information about Speccy. 
  _Antonio Ortiz_  for sending me the C64 and MSX II based Spectrum emulators
and other information. 
  _Kirill Panyushkin  for translating some Russian emulator documentation and
making a very good job it too! 
  _Andrew Pollard  for information about JASPER. 
  _Pera Putnik  for information about port 254 and the differences between
Issue 2 and 3 Spectrums. 
  _Boudewijn Rempt_  compilation of postings for Where is...? 
  _Rui Ribeiro_  for several contributions to Technical Information, and
WSpecem. 
  _Jon Ritman_  information about himself! 
  _Adam Roach_  maintainer of comp.emulators.misc FAQ; information about the
Speccy BASIC emulator for the C64. 
  _Thorsten Roskowetz_  information about Atari-based emulator. 
  _Ribic Samir_  (co-author of Warajevo) for numerous updates to the emulators
section of the FAQ, benchmark info and Warajevo's TAP file format description. 
  _Stephen Smith_  information about several programmers and his great games
FAQ and database web pages. 
  _Marcelo Strasunas_  information about TK90X and TK95. 
  _Arttu Ylarakkola_  for checking some sites in the resources section for me. 
  _Chris Young_  for details on the Mac emulator ZX Spectrum, and the Amiga
emulators CBSpeccy and Spectrum128. 
  _Sean Young_  for lots of Technical Information, mostly on Undocumented
Flags. 


... and everybody else who has contributed to the FAQ, manages FTP archives,
writes Speccy emulators and generally helps to keep the Speccy alive!
 
                                       
                                       



