--===comp.sys.sinclair Spectrum FAQ===--
comp.sys.sinclair
Sinclair ZX Spectrum FAQ
This FAQ last updated on 6 September 1998 - 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-1998 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 Damien Burke
[http://www.jetman.dircon.co.uk/mail.html] 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 Damien's 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 Damien's
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, believed to be published now by Epic Marketing.
However he did not hold to his part of the agreement, i.e. providing a copy of
this CD, and therefore permission is withdrawn, and Epic Marketing are now in
violation of this copyright.
--===Spectrum FAQ - What's New?===--
+ _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 16.
+ _18 July 1998:_ Added a list of Essential Sites to the Resources section,
as well as more new and updated links.
Changed the copyright notice to state that permission to include a copy of
this FAQ has been withdrawn from "The Encyclopedia of Spectrum Games - 98" CD
as they did not fulfil their end of the agreement.
Ensured that (wherever possible) there are two download locations for every
emulator.
3 new PC emulators: R80, YaSE and ZX Spectrum Simulator, one new Mac emulator
(ZX Spectrum) as well as updates to others, including MultiMachine.
Merged questions 7, 8, 22 and 25 from the Frequently Asked Questions section
into an updated Question 7, as well as some other minor changes.
A (much needed!) overhaul of the Technical Information section, merging all
the corrections and the like into the main body of the text.
And to finish, there's now a Danish mirror
[http://www.tjornov.dk/spectrum/faq/index.html] of the FAQ.
+ _5 June 1998:_ Added information about Playstation (Speculator) and SAM
Coupé (Spectre) emulators, as well as a thorough overhaul of the Amiga
emulators page, and updated information on others (including a location for
Roman ZX and the new version of the Psion emulator).
Vast numbers of new and updated Resources, which included checking every link
and finding the dead ones. If your site still exists, but has vanished from
the FAQ, please mail me [pak21@cam.ac.uk] . A few minor updates to the Where
Is...? section (including Tim Follin).
Added information about contended memory timings on the +2A and +3 to the
Technical Information section.
Added information about where to get electronic copies of the various
Spectrum ROMs and manuals to Question 5.
Changed the
tag on every page to completely set the FAQ colours, so
that everything looks OK even if people have funny default colours set.
+ _21 March 1998:_ Added information about contended memory timings to the
Technical Information section.
Added Suzanne's Spectrum Emulator and a location for Sinbas to the
DOS/Windows emulators section, as well as the usual whole load of new
Resources.
Split the Where Is...? page into two (Companies & Individuals A-G and
Individuals H-Z). There may still be some broken internal links as a result of
this: if you find any, please tell me [pak21@cam.ac.uk] .
Finally, there is a new mirror of the FAQ at NVG
[http://www.nvg.ntnu.no/sinclair/faq/index.html] .
--===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 ? What's the best one?
4. Where can I find ?
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 to ?
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. What is the difference between the various ROM-files available for use
with Spectrum emulators?
11. Where can I get Microdrive cartridges?
12. How do I fix my worn out ZX-Spectrum keyboard/+3 disk drive?
13. What's the address of the "Spectrum Profi Club" in Germany?
14. What are the differences between the different Spectrum models?
15. What peripherals exist?
16. Where is Sinclair Research now? Is Clive on email?
17. What the hell is a Spectrum?
18. Hot damn this sounds good. I want a real one!
19. Is the Spectrum better than ?
20. How do I make snapshots or TAP files from my Speccy tapes?
21. How do I load snapshots or TAP files into my real Spectrum?
22. I have a Mac and can't get any snapshots to work - why?
23. 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 Coupe 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 Coupe, 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 Coupe
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 26.
_
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 ? 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 ?_
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. Both the ROMs and manuals are available on NVG, in the roms
[ftp://ftp.nvg.ntnu.no/pub/sinclair/roms/] and docs/manuals
[ftp://ftp.nvg.ntnu.no/pub/sinclair/docs/manuals/] directories respectively.
Alternatively, the manuals are available in HTML form from Pete Robinson's
Classic 8-bit Computers Page [http://www.madhippy.com/8-bit/sinclair.html] .
_
6. Is it legal to use snapshots (i.e. games etc.)?_
Formally, using snapshotted game without actually owning a copy of it on a
tape is a *copyright violation*. Nevertheless, ZX-Spectrum games are not being
sold any more and using snapshots doesn't harm copyright holders much, if you
don't make profit from it and don't distribute snapshots on a large scale.
Some companies definitely do not like to have their games distributed (e.g.
_Ultimate/Rare_), whereas others have given explicit permission (e.g.
_Vortex_). Damien Burke maintains a list of such companies/individuals on his
Web page [http://www.jetman.dircon.co.uk/speccy/permits.html] .
_
7. I have the game I was after, but in a format my emulator can't load. How
do I convert to ?_
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. What is the difference between the various ROM-files available for use
with Spectrum emulators?_
+ _SPECTRUM.ROM_ - Spectrum ROM, exactly the same as in the original
Spectrum.
+ _GROOT.ROM_ - Same ROM, but with lots of bug fixes and extensions by
Henk de Groot [hegr@ensae.ericsson.se] . List of changes follows:
+ Bug fixes as mentioned in "*The complete Spectrum Rom Disassembly*" by
Dr. Ian Logan and Dr. Frank O'Hara.
+ Support for EPSON printer via an Z80-PIO chip and Centronics
connection.
+ Monitor support: start up with black screen and white characters.
+ Lightpen support: Lightpen routine for DK'Tronics lightpen is built
in.
+ _TK95.ROM_ - ROM from a Brazilian Spectrum clone called Micro Digital
TK95.
+ _IMC.ROM_ - Ian Collier's modified ROM. See the documentation that comes
with xz80.
+ _UNICORN.ROM_ - ROM used by Mikro-Gen's Shadow Of The Unicorn cartridge
game.
There are also the 128K,+2, +2A/+3, TS2068 and TR-DOS (Betadisk) ROMs around,
which are given different names by the different emulators. Finally, Guillaume
Genty has the French versions of the +2 ROMs available on his web page
[http://wwwperso.hol.fr/~ggenty/romp2.htm] .
_
11. 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
_
12. 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")
_
13. What's the address of the "Spectrum Profi Club" in Germany?_
SPC
Wolfgang + Monika Haller
Penningsfelder Weg 98a
51069 Koeln
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://www.dvz.fh-koeln.de/~bn109/spc.html] .
_
14. 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.
+ _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...).
+ _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.
_
15. 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.
_
16. 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!
_
17. 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.
_
18. 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 Coupe,
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.
_
19. Is the Spectrum better than ?_
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 Coupe.
A4) Yes, unless the other machine is an Atari ST. That should see if anyone's
awake...
_
20. How do I make snapshots or TAP files from my Speccy tapes?_
Well, there are a number of ways. 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!
_
21. How do I load snapshots or TAP files into my real Spectrum?_
Again, several ways. The registered version of Z80 can output VOC files which
can be recorded onto tape, and there is also HypraLoader
[ftp://ftp.nvg.ntnu.no/pub/sinclair/utils/pc/HypraLoader.zip] , written by
Tomaz Kac and Taper [http://www.void.demon.nl/taper.html] , written by Martijn
van der Heide, which can also do this.
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.
_
22. 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.
_
23. 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.
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).
[UPDATED] 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 Your Sinclair
magazine from 1986-91.
+ 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.
+ 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
Sinclairmaníacos 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] )
+ _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.
+ Malyrule's Hardware Info Site [http://polbox.com/m/malyrule] is chock-full
of various bits and pieces on Speccy hardware.
+ 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.
+ 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
+ [NEW] 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 :-(.
+ Harvey Lodder's "Most Wanted"
[http://ds.dial.pipex.com/town/parade/no50/speccy.html] snapshots request
page.
+ [NEW] The Gargoyle Games Appreciation Website
[http://ds.dial.pipex.com/town/park/xhi26/] : go on, guess what's here :-)
+ James Purbrick has created Law
[http://easyweb.easynet.co.uk/~scarecrow/jim/law/index.html] , a Java version
of the classic _Chaos_.
+ [NEW] 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.
+ Glyn Harper's ZX Spectrum Emulator page
[http://homepages.enterprise.net/glyn.harper/spectrum.html] - basically just
links to his FTP site, with around 16Mb of games.
+ Steve Jones' Sinclair Spectrum Page [http://ireland.iol.ie/~sjones] - has
a snapshots requests page, though hasn't been updated since it started well
over two years 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/index.html]
has a couple of emulators (JPP and the Adlib version of X128) and a small
collection of games for download.
+ [NEW] Sentry [http://members.aol.com/icarte/sentry.htm] is an update of
Firebird's _Sentinel_ for Win95/98/NT.
+ Theo Devil's Spectrum World [http://members.xoom.com/theodevil/index.html]
has a small collection of his own games and demos.
+ 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.
+ [NEW] 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.
+ [NEW] Spechell [http://www.arcticfox.freeservers.com/spechell/index.htm]
from Jamie Percival is another games review site, which has at least got past
reviewing 4 games and then giving up!
+ 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).
+ 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.
+ Fifth Dimension Software have made a PC port of the Mastertronic game,
Pulsoid [http://www.fd.com.ua/pulsoid/puls.htm] .
+ 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!
+ Alistair Nelson has a tribute to R-Type
[http://www.fortunecity.com/skyscraper/siliconex/65/] .
+ 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!
+ Namco has some +3 utilities and a new version of the old _Formula One_
game by CRL on 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_).
+ 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.
+ 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.
+ 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.
+ Ben Baylis' Spectrum Stuff [http://www.ndirect.co.uk/~b.baylis/spectrum/]
- requested snapshots page and _YS Smash Tips!_ Not updated for some time.
+ [NEW] 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 :-(.
+ 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.
+ [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.
+ 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.
+ [NEW] 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] 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!
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.
+ Arsen Torbarina's Jet Set Willy Ultimate Fan Page
[http://fly.cc.fer.hr/~arsen/jsw/] ; covers everything related to *the*
platform game; FAQ, maps, POKEs and cheats, Matthew Smith related stuff,
download service etc. However, the server does not always respond. If you get
a host not found error, try again a few minutes later.
+ Zak Jenning's page [http://freespace.virgin.net/iow.theme/] has screen
shots, games, a Speccy history page and stuff about his impressive collection
of Sinclair gear. Pity it moved from Demon though, now it's at Virgin it's so
slow I gave up waiting to see if anything else had changed.
+ 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.
+ 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.
+ The Moon Palace [http://www.gatewest.net/~cpb/gaming/lom/] - a home page
for the _Lords of Midnight_ saga.
+ Tero Turtiainen's Knight Lore [http://www.iki.fi/turtiain/knightlore/]
page; a map and other bits of information about Knight Lore (oddly enough).
+ 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.
+ 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.
+ Andy Kavanagh's Jizzy's Spectrum Worship
[http://www.uea.ac.uk/~w9643451/speccy.htm] is basically just a *very* brief
introduction to the Spectrum emulation scene.
+ 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
+ Arsen Torbarina's TapeFix [http://fly.cc.fer.hr/~arsen/tapefix/] - a
program to make your old Speccy tapes readable once more.
+ [NEW] 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] .
+ 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.
+ [UPDATED] 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.
+ 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.
+ [UPDATED] 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.
+ Andrew Broad's Spectrum Page [http://www.cs.man.ac.uk/~broada/spectrum/]
has a complete descripition of the room format for _Manic Miner_, as well as
his own updated _Manic Miner 4_ and _Manic Miner Screen Editor_.
+ 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.
+ 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.
+ 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.
+ Random's _ChaOs Files_ is temporarily without a home, but should be
re-appearing soon, with its whole load of Russian Spectrum emulators and
utilities to download.
+ 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.
+ 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 have recently moved here
[http://www.geocities.com/SiliconValley/Lakes/6144/] , but the Spectrum stuff
doesn't appear to have been uploaded yet :-(.
+ 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.
+ 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.
+ 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 :-).
+ John Dow has re-written Splat! [http://www.nelefa.org/splat.htm] for
MS-DOS.
+ 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!
+ Erik Kunze's XZX home page [http://www.philosys.de/~kunze/xzx/] . Erik
also now does a CD full of emulators and snapshots etc.
+ 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.
+ James McKay's X128 - Spectrum Emulator [http://www.void.demon.nl/x128/] -
home of x128, the DOS, UNIX and OS/2 Speccy emulator.
+ 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_.
+ 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.
+ The ZX Spectrum Emulator Home [http://zx32.home.ml.org/] is the home of
zx32.
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.
+ [UPDATED] 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!
+ Word of Spectrum
[http://www.fortunecity.com/victorian/delacroix/184/wordofzx.htm] has some
game reviews (mostly from Sinclair User) and a message board.
+ 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.
+ Stewart Edgar has put up Stuart Campbell's Top 100 Spectrum Games of All
Time [http://users.ox.ac.uk/~kebl0428/Spec/] (from YS) up on the Web.
+ [NEW] 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.
+ Lizzie (whoever she may be) has got the YS Photo Love Story
[http://www.bucket.org/~lizzie/ys.html] on her page.
+ Keith Ainsworth has some Speccy-related stuff on the Retrogamer Fanzine
Homepage [http://www.geocities.com/SiliconValley/Heights/5874/] .
+ Crash [http://www.jabba.demon.co.uk/crash/] issue 1 at least; from Robert
Hazelby. Not updated since November 1996.
+ The CRASH Online Edition [http://www.mjwilson.demon.co.uk/crash/] by
Matthew Wilson currently has three issues of Crash (27, 43 and 51) 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.
+ 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.
+ 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] 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.
+ [UPDATED] 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
+ 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/]
.
+ 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.
+ Viking's ZX Spectrum corner
[http://members.tripod.com/~eugenez/spectrum.html] is just a brief description
of his Spectrum history and five links.
+ 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://remakes.home.ml.org/] 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 Vladimír 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?
+ The ZX Spectrum Russian Museum
[http://univ.uniyar.ac.ru/museum/zx/index.html] is, er, all in Russian so I
haven't a clue what's there really :-) Certainly a good number of hacked games
to be found, some demos and Russian emulators too. Explore!
+ Tomaz Kac's ZX Corner [http://warez.sd.uni-mb.si/zx/] has very brief
reviews of some of the emulators and utilities available.
+ [NEW] 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] ZX2000 [http://www.anachreon.com/ZX2000/] is a project to produce an
updated Spectrum for the next millenium.
+ 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).
+ [NEW] 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] .
+ [NEW] 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.
+ [NEW] 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.
+ [NEW] 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.
+ [NEW] 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.
+ [NEW] Lee Friend has produced 100% ZX Spectrum
[http://www.fortunecity.com/skyscraper/pascoe/633/] which has some history and
a couple of downloads.
+ Claus Jahn's Spectrum pages [http://www.geocities.com/SiliconValley/3909/]
contain some screenshots, various stuff on his Speccy collection, links and so
on plus information about _SpecPic_ (now known as _Rainbow_, see section on
emulator/utility/game authors, above), and _ZX-Edit_, a Spectrum-friendly
editor for DOS.
+ Spectrumania! [http://www.geocities.com/SiliconValley/Lakes/2477/] from
Manuel Millán; info, links and snapshot requests in English and Spanish.
+ [NEW] 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!
+ [NEW] 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.
+ [NEW] 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.
+ Kev Ellis' pages [http://www.homeusers.prestel.co.uk/k-ellis/] have a link
to x128, as well as a list of his top ten games.
+ [NEW] Tero Juhani Jyrinki's Spectrum Page
[http://www.hut.fi/~tjyrinki/english/spectrum.htm] 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.
+ [UPDATED] 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.
+ 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).
+ [NEW] 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.
+ Adrian Petford's Home Page
[http://www.petford.demon.co.uk/adrian.html#Spectrum] has a few Speccy
resources on it.
+ [NEW] 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.
+ [NEW] 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] Steve Cooper's Sinclair Page
[http://www.stokesay.demon.co.uk/sinclair.htm] is another one with pictures of
the machines.
+ [NEW] 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.
+ Nick Wittering's _Manic Spectrum Mine_; link removed - most of his site
consisted only of a large chunk of this FAQ ripped off uncredited despite
complaints being made to him. Twerp.
+ The Speccy section of Retro Zone
[http://www.users.dircon.co.uk/~yellows/html/retro_zone.html] is just a
collection of links to emulators and a few sites.
+ [NEW] Christian Champion's Sinclair Emulation Roms and Emulators
[http://www.v-champion.com/sinclair.htm] is another page of out-of-date links.
+ [NEW] 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.
+ [NEW] Marco Vaquier's Speccy Page [http://www.xs4all.nl/~wij2/speccy.html]
is just a few links.
+ [NEW] 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.
+ [NEW] 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.
+ Paul Monaghan's ZX Spectrum Inc. [http://zx.home.ml.org/] pages contain
copies of ZX32, WSpecEm and other utilites for download.
NEWS GROUPS
+ 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] .
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.
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 Garcìa
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.
+ Espìritu 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://www.dvz.fh-koeln.de/~bn109/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 72 emulators (if you include each incarnation of the
multi-platform ones). As ever, if you know of one not listed here, please tell
me about it! [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
Ribic Samir (PC emulators), Joe Mackay [mackay@sedgehill.lewisham.sch.uk]
(most Amiga emulators) and Chris Young [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 Rob Darke
[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===--
32 emulators listed:
[E++] [Elwro] [JPP] [MultiMachine] [Nuclear ZX] [R80] [Roman ZX] [SimCoupe]
[Sinbas] [Sinclair] [SP] [SPEC] [Spec32] [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.
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.
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. Nothing special, but is the best Timex emulation around.
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://www.dnp.fmph.uniba.sk/~garabik/zx.html] , as well as World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/nuclear_zx.zip] .
[UPDATED] R80 v 0.01c (Raúl Gómez Sánchez
[raulgomez@mx3.redestb.es] )
1. Emulates 48K and 128K Spectrums.
2. Loads from .Z80 and .SNA snapshots and .TAP tapes.
3. Saves .Z80 snapshots, .TAP tapes and .SCR 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. Has a built-in debugger.
9. The .Z80 snapshots saved by v0.01c don't work with other emulators; this
will be fixed in the next version.
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/r80v001c.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 snapshot, saves to .H and .B 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 only available 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] .
[UPDATED] SPEC v1.4 (Robin Edwards [rhe@holyrood.ed.ac.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.ucl.ac.uk/~ucgarhe/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] SpecX v1.00c (Robin Edwards [ucgarhe@ucl.ac.uk] & Andrew Murdoch)
1. Emulates 48K Spectrum with Kempston and Cursor joysticks.
2. Loads .SNA snapshots.
3. Saves .SNA snapshots.
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. No tape support.
10. This is basically a port of SPEC to the Windows environment.
11. Available from the author's SPEC homepage
[http://www.ucl.ac.uk/~ucgarhe/spec.html] or World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/windows/specx.zip] .
[UPDATED] SPECTRUM v0.99 / VGASPEC / SPEC386 (Pedro Gimeno
[pgimeno@iname.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.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] .
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. Emulation of many different machines, including the TS2068 and TK95, is
planned for later versions.
11. Available from the author's home page
[http://www.crysalis.com/~suzanne/sspec.html] .
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]
.
Warajevo v2.0 (Zeljko Juric [ZJuric@utic.net.ba] and Samir Ribic
[Megaribi@hermes.si] )
1. Emulates 48K/128K/+2 Spectrum, 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 near-perfect
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.
6. A bit slower than Z80, though not as much as it used to be. This is not
noticeable on anything more powerful than a 386 anyway.
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 SP_UKV. 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 the colour palette and speed adjustment are much improved in
this version.
9. Slightly slower than previous versions.
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 World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/warasp20.zip] .
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 95 or NT.
6. Around 36% Spectrum speed on a P100, apparently around 50% on a PPro200.
Note these speeds are for 1x1 scaled window. Larger sizes are slower.
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. A little unfair as this is a beta version, but it is on public release,
so: 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. Work continues on AY emulation, VOC support, built-in debugger,
DirectX fullscreen mode and other features. Multiface 128 ROM is not included
due to copyright problems.
11. Available from Razvan's homepage
[http://www.fas.harvard.edu/~surdules/projects/8bit/spectrum.htm]
WSpecEm v1.21 (Rui F. Ribeiro [wspecem@ipp.pt] )
1. Emulates 48K Spectrum with Kempston/Sinclair joystick.
2. Loads just about every snapshot and tape format there is - SNA, SNX, Z80,
SIT, SP, RAW, PRG, ACH, DAT, TAP, SLT.
3. Saves just about every snapshot and tape format there is, but not SLT.
4. Real tape support provided via an extra program.
5. Requires MS Windows 3.1, 3.11, 95 or NT, 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.
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. Source (in C)
supplied. 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. The very first Spectrum emulator for MS Windows.
11. Available from author's web page
[http://www.idt.ipp.pt/~rff-ribe/wspecem.html] , NVG
[ftp://ftp.nvg.ntnu.no/pub/sinclair/emulators/spectrum/pc/windows/wspv121.zip]
or World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/windows/wspv121.zip]
.
x128 v0.8 (James McKay [scet@rmplc.co.uk] )
1. Emulates 48K/128K Spectrum, +2A/+3, Kempston/Sinclair/Cursor joysticks,
Multiface 128, Fuller Box. 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 .TRD (TR-DOS) and .DSK
(+3 disk) files.
3. Saves .SNA, .Z80 and .SLT snapshots, .TAP tapes 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. Not many bad points: one of the best Spectrum emulators available.
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/x128v08a.zip] or
SoundBlaster
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/x128v08s.zip]
versions).
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, and .TAP tape files.
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.nvg.ntnu.no/pub/os/sinclair/emulators/pc/dos/zx.zip] .
ZX32 / Spectrum Emulator for Win95 v1.03.98.0211 (Vaggelis Kapartzianis
[zx32@usa.net] )
1. Emulates 48K/48K+/128K/+2/+3/+2A, Kempston/Sinclair/Cursor joysticks.
2. Loads .SLT, .Z80, .SNA, .BLK and .ZXS snapshots, from .TAP, .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 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, comes with a selection of games so you can start straight away (or
you can just grab the minimum size archive without them). Freely changeable
window size, plus fullscreen mode (with rounded edges and scanline emulation),
rainbowing too 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. No fiddling with tapes, you open them just
like snapshots - automatically starts LOADing from the selected tape.
9. Possibly *slightly* incomplete Z80 emulation: I've found one tape which
doesn't work, but does on other emulators.
10. The best Windows emulator currently available.
11. Available from the ZX32 homepage [http://zx32.home.ml.org/] or World of
Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/windows/ZX32103A.ZIP]
.
ZX Emulator v0.30b (Vladimir Yudin)
1. Emulates 48K/128K/Pentagon 128K (Russian Speccy clone).
2. Loads from .Z80 and .SNA snapshots and from .TRD 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. All documentation in Russian; if anyone has more information on this
emulation, please mail me [pak21@cam.ac.uk] .
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/emul030b.z
ip] .
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.
10. Improving all the time. Joystick emulation, better AY/beeper emulation
and better rainbowing/border emulation are all on the cards.
11. Available from the author's home page
[http://www.redestb.es/personal/jamoreno/] or 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.
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 (but not saving) of .Z80 and .SNA snaps,
are available from World of Spectrum
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/pc/dos/russian/spec304.lo
ader.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.01 (Miklos
Bartha)
- Emulates 48K Spectrum.
- Loads
.SNA snapshots.
- Saves .SNA snapshots.
- No real tape
support.
- Requires Windows 3.11 (with Win32s?) or
Win95/NT.
- 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).
- Freeware?
- Good
points?
- Many snaps don't work; I don't know if this is a problem with the
emulation or the snap loading. Also, the .SNA snaps are saved with IM
3!
- No other comments.
- Available from World of Spectrum [miki@lego.soroscj.ro] .
Back to top
--===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 [scet@rmplc.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. Faster than xzx and x128. 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.6.0 (Erik Kunze [Erik.Kunze@fantasy.muc.de] &Des Herriott
[des@corp.netcom.net.uk] )
1. Emulates 48/128/+3 with Multiface 128, Interface 1 and Microdrive,
Kempston Joystick and Betadisk/TR-DOS.
2. Loads .SNA, .Z80, .SLT (LLT also) snapshots and from .DAT, .TAP, .MDR,
.DSK, .TRD and .TZX files.
3. Saves to .SNA, .Z80, .SLT, .TAP, .MDR, .TRD and .DSK files.
4. No real tape support.
5. Requires X11, /dev/audio for AY emulation.
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. Sound support via /dev/audio and /dev/dsp.
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.
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-2.6.0-src.tgz]
, contrib file
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/unix/xzx-2.6.0-contrib.tg
z] and roms file
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/unix/xzx-2.6.0-roms.tgz]
are also available from World of Spectrum.
--===Spectrum FAQ - Emulators - OS/2===--
2 emulators listed:
[x128] [x128 for XFree86]
x128 v0.5b5 (James McKay [scet@rmplc.co.uk] and Thomas Ahn Kolbeck Kjaer
[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 [scet@rmplc.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]
.
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. The newest and most regularly updated emulator for the Mac.
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] .
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]
.
[UPDATED] 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
[ftp://ftp.nvg.unit.no/pub/sinclair/emulators/spectrum/arm/mzx110.spark] or
[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 (and it ain't me because I don't own
any Acorn machines) :)
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 ( [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 only runs 'for a few seconds'.
11. Available from [http://www.wss.co.uk/products.html] ; the downloadable
demo version is [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===--
9 emulators listed:
[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 :-).
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]
.
[NEW] Spectrum128 v0.1 Beta (Alberto Ordóñez)
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] .
[UPDATED] 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.unit.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.unit.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.unit.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===--
2 emulators listed:
[JASPER] [Spectrum Emulator for Java]
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 - Java is an interpreted language. On the PC at least, Internet
Explorer v3.01+ has a good JIT (Just-In-Time) compiler and shows off this
emulator better than Netscape can manage. 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 via author's home page [http://www.odie.demon.co.uk] or 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===--
1 emulator listed:
[Speculator]
Speculator v0.9b (Gabriele Roncolato [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
here [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 home page [http://www.mmm.it/trg/] or World
of Spectrum
[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@stonebow.otago.ac.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 [ftp://ftp.nvg.ntnu.no/pub/sam-coupe/temp/SPECTRE.ZIP]
or
[ftp://ftp.gns.getronics.nl/pub/os/sinclair/emulators/samcoupe/SPECTRE.ZIP] .
--===Spectrum FAQ - Emulators - QL===--
3 emulators listed:
[Spectator] [Speculator] [ZM]
My thanks to Simon Goodwin [simon@studio.woden.com] for information on all
these emulators.
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.
ZM/1, 2, 3 and HT (Ergon Development)
1. Emulates 48K Spectrum, 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 QL Public Domain suppliers such as
S.J.P.D. and Qubbesoft, registered version available from 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/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 [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.
[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 [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 [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
[http://www.melbournehouse.com/] .
Mikro-Gen
See Dave Perry.
Mirrorsoft
See Keith Burkhill and Robert Erskine.
Ocean
Still in existence, have a [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 [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 [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 [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
[http://www.nintendo.com] , e.g. _Donkey Kong Country_ and _Killer Instinct_
for the new Nintendo Ultra 64. Now have some info on their
[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 [http://www.psygnosis.com/] .
Info by: Ciaran Gultnieks.
Graeme Baird [Realtime Games Software - 3D Starstrike/Starglider]
Working on new technology for [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
[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 [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@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 [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@dial.pipex.com] [Elite - Commando/Ghosts 'n Goblins/Space
Harrier]
Working freelance (for [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
[http://www.psygnosis.com/] - not all of them game writing.
Info by: Brian Gaff, Andrew Toone.
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@erols.com] [Your Sinclair technical editor]
Is alive and well, reads [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 [http://jumper.mcc.ac.uk/~simonc/]
.
Info by: Simon Cooke.
[ste_cork@compuserve.com] [US Gold/Mastertronic/Software Projects - Rescue,
Wibstars, Psycho Pigs UXB, Star Paws]
Now working for [http://www.psygnosis.com/] ; an interview with him is
available [http://www.geocities.com/TimesSquare/Battlefield/8875/scork.html] .
Info by: Ste Cork via Philip Bee.
[Alan.Cox@linux.org] [Tynesoft - Blizzard Pass]
Now doing network stuff; has thought about a [http://www.linux.org] version
of _Blizzard Pass_. He has a [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
[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.
[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 [http://www.creations.co.uk] ; an interview with him is available
[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
[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
[http://www.cranberry.co.uk] , which Jon Ritman is director of.
Info by: Jon Ritman.
[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@floodnet.demon.co.uk] [Quicksilva artist - tape inlay art for
Astroblaster and others]
Programming and drawing still; has a nice [http://www.floodnet.demon.co.uk/]
showing off a lot of his artwork.
Info by: Glenn Flood.
[Mike_Follin@compuserve.com] [Software Creations programmer - Bubble
Bobble/Bionic Commando]
Working for [http://www.psygnosis.com/] ; an interview with him is available
[http://www.geocities.com/TimesSquare/Battlefield/8875/mfollin.html] , and he
has a [http://ourworld.compuserve.com/homepages/Mike_Follin/] .
Info by: Mike Follin via Philip Bee.
[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
[afotherg@oracle.com] [Imagine]
Apparently reads [comp.sys.sinclair] .
[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] . 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
[http://www.geocities.com/TimesSquare/Battlefield/8875/stoo.html] .
Info by: Stuart Fotheringham, Marc Dawson.
[mgerrard@netcom.co.uk] [One Of Our Wombats Is Missing/Various magazines]
Is know working as a travel writer, and has a
[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 [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 [http://www.mythosgames.com/] (with Nick Gollop); still programming
(_UFO_, _X-COM_).
Info by: Miguel Melo.
Nick Gollop [Chaos, LaserSquad, Rebelstar]
Owner of [http://www.mythosgames.com/] (with Julian Gollop); still
programming (_UFO_, _X-COM_).
Info by: Miguel Melo.
[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
[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@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.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.
[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.
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.
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.
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.
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, 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 17 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.
Kevin Toms [kevin@kevintoms.com] [Football Manager]
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===--
This section will be expanded as I get the time to do so; if you are desperate
for information about a particular format right now, a good source of
information is the source to SPConv v1.10; available from (among other
locations) here
[ftp://ftp.nvg.ntnu.no/pub/sinclair/utils/generic/spconv-110.zip] . The source
to WSpecEm is also worth a look as WSpecEm supports lots of different formats.
Also check the documentation for other emulators; many include detailed file
format information.
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* Program file 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, the German PC-based
emulator. SPConv v1.11 will handle this format (actually it already does, but
I'm not going to release it yet because not all converted snapshots are
working correctly).
*.SIT* Situation file used by Sinclair v2.00.
.SLT Super level loader snapshot. Used by x128 and WSpecEm at time of
writing. 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.
*.SP* Snapshots used by VGASPEC.
.SP Snapshots used by ZX Spectrum (Mac emulator).
*.Z80* Snapshots used by Z80 and several other emulators. Three
versions in existence, the latest of which (v3/SLT) is not supported by all
these emulators. Very flexible; support for SamRam, 128K snapshots, etc.
*.ZX* Snapshots used by KGB.
.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.
a) .SLT (Super Level loader Trap used by x128 v0.4+, WSpecEm, Z80 v3.04+
etc.)
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.
b) .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
c) .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.
d) .SP file format used in Spectrum v0.99
Offset Size Description
------------------------------------------------------------------------
0 2 byte "SP" (signature)
2 2 word Program length in bytes (49152 bytes)
4 2 word Program location (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
e) .ZX (KGB v.1.2-1.3) [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
f) .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 RAM
62 1 0FF if 8192-16383 is 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.
[NEW] 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.
(The snaps produced follow the above table; the documentation 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 17472 to 0 (17727 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)
[NEW] 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.
g) .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 diciple 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).
Tape Files
.BLK Tape format used by Sinclair v2.00; seems to be identical to Z80's
.TAP files.
.SPC Tape format used by SP, the Polish emulator.
.TAP Tape format used by Z80; supports headerless files and not much
else.
.TAP Tape format used by Warajevo - supports lots of features;
turbo-load, headerless files, etc.
.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/] .
a) .TAP and .BLK (Z80, Sinclair, several 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.
b) .TAP (Warajevo) [from Ribic Samir]
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 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 in the Warajevo
emulator. 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) algorythm. 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 algorythm 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.
c) .TZX (x128, xzx, Warajevo)
.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] .
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").
.MDR Microdrive cartridge file as used by Spectator, Carlo Delhez'
Speccy emulator for the QL, and other emulators - xzx and Z80.
.OUT OUT logs from Z80.
.SCR Screendumps from Z80 and WSpecEm.
a) .MDR (Spectator, xzx, Z80) [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...
b) .SCR (Z80, WSpecEm)
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@comlab.ox.ac.uk] , [sirvine@cs.waikato.ac.nz]
(Channels and Streams), [piters@EUnet.yu] (Port #FE and the differences
between Issue 2 and 3 Spectrums), [pgimeno@iname.com] (Contended memory
timings) and Jose Luis Sanchez (+2A/+3 contended memory timings). Others
contributing information include [aralbrec@concentric.net] ,
[damien.guard@nrgi.com] , [Erik.Kunze@fantasy.muc.de] ,
[mackay@sedgehill.lewisham.sch.uk] , Malyrules, [scet@rmplc.co.uk] ,
[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)
(++ = documented in Spectrum manual)
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 * RET
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 * RET
ED4E * IM 0/1 ED6E * IM 0/1
ED4F LD R,A ED6F RLD
ED50 IN D,(C) ED70 * IN (C) ++ as IN F,(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 * RET ED75 * RET
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 * RET ED7D * RET
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 ED70 instruction *is* documented in at
least two other publications beside the original Spectrum manual - one of
which is an SGS Z80 data booklet.
The ED71 instruction OUTs a byte zero to port (C). In fact the instructions
INI and OUTI do almost exactly the same as the proposed action for ED70 and
ED71 as well as incrementing the registers.
The IM 0/1 instruction puts the processor in either IM 0 or 1 (undetermined at
this time). The SGS booklet says that there are two flip-flops which determine
the interrupt mode and are set by the IM instructions. The possible values are:
00 IM 0
01 not used
10 IM 1
11 IM 2
...so it is entirely possible that the IM 0/1 instruction sets these registers
to 01. What the Z80 does when this happens is anyone's guess.
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.).
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 every
instruction, where DD, FD, ED and CB are to be regarded as separate
instructions. So shifted instruction will increase R by two. There's an
interesting exception: doubly-shifted opcodes, the DDCB and FDCB ones,
increase R by two too. LDI increases R by two, LDIR increases it by 2 times
BC, as does LDDR etcetera. The sequence LD R,A/LD A,R increases A by two,
except for the highest bit: this 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!).
An NMI performs a fake opcode fetch during acknowledge, which increments R by
one. After assertion of /M1 and /IORQ during acknowledge of a maskable
interrupt, the Z80 performs a refresh and increments R by 1. After that, the
effect depends on the interrupt mode:
+ IM 0: The Z80 inserts the instruction provided by the peripheral (likely a
RST or possibly a CALL where the peripheral will provide the address when the
time comes). R is increased by one more.
+ IM 1: The Z80 executes a RST #38 internally. R is not increased any
further.
+ IM 2: The address of the interrupt routine is fetched through memory read
cycles; R is not incremented any more.
Undocumented Flags
This undocumented "feature" of Z80 has its effect on programs like _Sabre
Wulf_, _Ghosts'n Goblins_ and _Speedlock_. 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) appears to hold:
*The values of bits 7, 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 (Bit 7 of F is the sign flag, and fits the rule exactly). An
exception is the CP x instruction (x=register, (HL) or direct argument). In
this case the bits are copied from the argument.
If the instruction is one that operates on a 16 bit word, the 8 bits of the
rule are the highest 8 bits of the 16 bit result: that was to be expected
since the S flag is extracted from bit 15.
Ghosts'n Goblins use 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.
Interrupt flip-flops IFF1 and IFF2
There seems to be a little confusion about these. These flip flops 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. 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. So, Spectrum
snapshot software can only read IFF2, but most emulators will emulate both,
and then the one that matters most is IFF1.
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; will read data from stream number
s, 0 <= s <= 15, into the variables specified in the input-list. Conversely,
the BASIC statement PRINT #s; 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 zx32 and ZXAM, both of which behave
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 processor has three interrupt modes, selected by the instructions IM 0, IM
1 and IM 2. In mode 1, the processor simply executes an RST #38 instruction if
an interrupt is requested. This is the mode the Spectrum is normally in.
The other mode that is commonly used 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 subroutine at this address is then called. 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 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 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.
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.
When an interrupt occurs, the running instruction has to be completed first.
So the start of the interrupt is fixed relatively to the start of the frame 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.
Of course the processor also needs some T states to store the program counter
on the stack, read the interrupt vector and jump to the routine. In interrupt
modes 0, 0/1 and 1 the total time taken to get to address 56 is 13 cycles. In
interrupt mode 2 the time taken to get to the interrupt routine is 19 cycles.
[UPDATED] This is interpreted as follows:
5 cycles: a read of the data bus (in IM 1 this is thrown away)
6 cycles: a read of the 2-byte interrupt vector (IM 2 only)
2 cycles: to doubly decrement SP
6 cycles: to push the current PC and set the new one.
The order in which these operations is thought to be that given above, but has
not been definitively tested.
[UPDATED] When an NMI occurs, the total time taken to get to address #0066 is
11 cycles; this is interpreted as 5 cycles to acknowledge the interrupt (this
includes a memory access, but the result is thrown away), and then 6 cycles to
push the new PC.
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
(according to the above
table).
(end if)
Delay for 4 cycles (time after 'pc:').
If 16384<=HL<=32767 then
(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 [pgimeno@iname.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.
[UPDATED] 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.
[UPDATED] 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 precisely 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: only change the bits you
need to.
[UPDATED] 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
[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
[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.
[NEW] 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. [NEW] 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.
_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 creating FAQ versions before 2.7!
_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 his information on contended memory timings.
_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
emulator Spectrum128.
__
... and everybody else who has contributed to the FAQ, manages FTP archives,
writes Speccy emulators and generally helps to keep the Speccy alive!