Spectrum ROMS 48K, 128K, +2 (available from Ian's home page: http://www.greew.freeserve.co.uk). These are freely distributable, but are © Copyright of Amstrad.
Ahhh, the days of good old 8 bit computing. I remember my Spectrum
days very well indeed. It was the era of Sinclair User, Your
Spectrum (later released as Your Sinclair), the Program Pitstop
section in Your Sinclair Magazine (where readers submitted their
programs each month) and Crash magazine and not forgetting of course
Marshall Cavendish's classic 'Input' series of magazines which
provided a fascinating insight on writing your own programs in Basic
and Z80 assembler. Those were the days when you could buy a good
Speccy game for a meagre £1.99 and still have some pocket money left.
Unlike today where games software costs the earth. In the 8 bit days
of home computing, programmers had little available memory to write
new games, which is why a lot of thought was put into the playability
of the games (unlike today where it's all polygon 3D. They were the
days of Tim Follin, David Whittaker and Ben Daglish who wrote most of
the music for computer games during that era.... Some of you may fondly remember the humble ZX Spectrum. The Sinclair
ZX Spectrum was devised by Sir Clive Sinclair at Sinclair Research
back in their radio days. Sinclair revolutionised the 8 bit
computing era by releasing probably one of the first home computers,
the ZX80, which was shortly followed by the ZX81. Both machines
featured a monochrome black and white display and a puny 1 KB of RAM,
but the ZX81 could be expanded to a whopping 16KB via a RAM pack. Later, Sinclair released the appraised ZX Spectrum 16KB, ZX Spectrum
48K. Both models complete with a horrid rubber keyboard but with new
improved graphics, a full sixteen colour palette, a revised BASIC and
one channel beepy music. The rubber keyboard issue was latter
addressed when the 48K+ was released (which was virtually identical
to the keyboard of the Sinclair QL). At long last a Spectrum with a
decent keyboard ! Contrary to belief, Sinclair were serious about
using their new Sinclair QL as a business machine. Many people say the Amiga was the first computer to offer
multi-tasking. WRONG! Sinclair were the first to produce a
multi-tasking computer with their release of the Sinclair QL, but
Commodore perfected the concept of a multi-tasking OS when the Amiga
was introduced and exec was born thanks to Carl Sassenrath at
Commodore responsible for writing AmigaOS. So now you know ! Sadly, the last Spectrum to be released by Sinclair was the Spectrum
128K. This featured a full 128K of memory, a new 128K Basic, a new
ROM, a 3 channel AY38912 sound microprocessor offering 3 channel
sound (nice although not quite as flexible as Commodore's custom 6581
Sid chip microprocessor). The Spectrum 128K used to get so hot in use, that Sinclair decided
upon fitting an external heat-sink to dissipate access heat (quite
nice, since on those cold winter day's you could warm your hands up,
or alternatively, fry eggs and bacon on it. Later, Alan Sugar at Amstrad bought the rights to the Sinclair range
of computers and came along to save the day: a Spectrum 128K+2 was
released. This was identical to Sinclair's 128K model, but with a
built-in cassette deck and new ROM. Despite all these new Spectrum models, Spectrum users longed to move
away from the cassette tape. Third party manufacture's released mini
tape streamer's called 'wafer drives' and Miles Gordon Technology
(also producers of the Sam Coupe computer noticed this niche in the
market and later released the disciple Plus D. At around £150 the
disciple Plus D certainly wasn't cheap. Amstrad later complied with an 'official' Spectrum COMPLETE with
built in disk drive: the Spectrum +3. Amstrad's only pitfall was
due to the fact they choose the silly idea of a 3" disk drive using
their own brand of 3" crapy disks (which were expensive at £6-7 per
disk !). The Spectrum +3 sold fairly well, but then the 8 bit age of
computing fazed out with arrival of the 16 bit ST and Amiga ranges
the rest is history... Today, many people want to relive those golden days of computing,
which is why numerous Spectrum emulators have been produced for a
variety of different platforms and OS. Many Spectrum emulators have been developed for the Amiga: probably
one of the first was the old KGB Spectrum emulator. Originally
programmed way back in 1990 by an unknown Russian (?) author, it was
designed to run on an old A500 under Kickstart 1.3, and hence was
painfully slow and bug ridden. Later Spectrum emulators appeared: Thanks to the A1200/A4000
Amiga's, it was possible for developers to code new and fast Spectrum
emulators to run on the Amiga's new 32 bit hardware. One of my all
time favourite emulators was ZXAM. Originally programmed by Antonio
J. Pomar Roselló, it was probably one of the first Spectrum
emulators which offered full emulated 128K sound of the AY38912 sound
microprocessor. ZXAM still lacked one thing though: it didn't offer 128K emulation.
Antonio had plans to work on a 128K version, but due to lack of
shareware registrations, Antonio, stopped development of ZXAM, and
then things went into a kind of limbo - Still no ZX Spectrum emulator
had been released for the Amiga which was able to produce FULL 128K
emulation at sufficient speed on low powered 32-bit hardware. As for
Antonio, to this very day, he still refuses to give up the source
code for ZXAM... A great irony, since ZXAM was starting to look
really promising ! Then Ian Greenway appears. Ian spent three years developing ASP
(Amiga Spectrum Emulator) which accurately emulates a stock 48K, 128K
or 128K+2 Spectrum. As any programmer will tell you, programming any
software based emulator is no easy feat, especially on the Amiga's
low powered 32 bit hardware and a certain degree of resourcefulness
needs to be taken into account to ensure the emulation core is as
fast as possible and accurate to the Zilog's Z80 microprocessor (as
included in a 'real' Spectrum). Another key factor is a Spectrum
emulator on the Amiga requires for the emulator itself to transcribe
Z80 instructions into 68k instructions 'on the fly'. There are other difficulties too when writing a fully-fledged
Spectrum 128K emulator: The first is emulating the AY38912 sound
processor which was included in Spectrum 128K models. (The AY38912
was a highly popular choice in the old 8 bit days of micro-computing:
both the Atari ST and Spectrum models used it for three channel
sound). Secondly, the original 128K Spectrum models were able to switch
'banks' of RAM and ROM in different address areas in memory. Copying
the chunks of data around under emulation isn't without it's
problems, and would slow things down considerably. AsP overcomes
this with ease via Thomas 'Thor' Richter's MuMin distribution which
allows programmers to do all sorts of wonderful things with your MMU
via a shared library (mmu.library). Ian's emulator uses this to good
effect with dealing with all the horsework of page switching the
Spectrum's ROM and RAM banks into different areas in memory (as with
a real 128K Spectrum) . Speed-wize AsP offers fast emulation, and is
coded in 100% assembler and compiled with DevPac. AsP accomplishes all of this very well indeed, and demonstrates the
resourcefulness of Amiga developers. Try any x86 based Spectrum
emulator on a PeeCee and you would need a higher Specification to
obtain a good emulation speed (probably due to excessive bloat of
Windows and the awful x86 instruction set) AsP relies upon a simple Gadtools interface which is small, simple
and easy to use. The rest of AsP's options are selectable via pull
down menu's. What's interesting is Ian has also worked on support for graphics
card users. In fact, I found running my Spectrum games via a
Cybergraphics v3 screen was considerably faster than AGA. If you
find playing your Spectrum games on an AGA screen is painfully slow,
you can use the BlazeWCP patch (available from Aminet) which helps to
speed things up considerably. If you really want to show off Spectrum emulation at it's best, you
can even play all your old Spectrum games in a window on the
Workbench screen. You'll need a fairly fast machine for this though,
and enough free pens. If your Amiga's not overly fast, there's a
'frame skip' function which 'skips' subsequent frames. 128K sound
can be also adjusted down to low quality or you can turn it off if
need be. AsP is fully OS compliant and opens on it's own screen. When first
writing AsP, Ian envisaged a non-multi-tasking emulator for
supporting the loading of tape-based turboloaders such as the early
Speedlock 1 (as written by David Aubrey Jones and first used on the
game 'Ghostbusters'), Speedlock 2, 3, Alcatraz & Firebird loaders
amongst others. Since CPU timings are critical if turboloader
support was implemented, as a result, Ian wouldn't of been able to
provide a multi-tasking emulator. Ian's made the right choice in my
view with producing a multi-tasking emulator anyway. Note: You
could always use a multiface cartridge on a 'real' Spectrum to save
out a turboloader at normal speed and then load it from a data
cassette recorder into Peter McGavin's 'Spectrum Emulator' with an 8
bit stereo sampling cartridge anyway... Joysticks are supported as well! AsP happily emulates the original
Kempston, Sinclair Interface 2, Cursor joystick and also custom keys
may be defined to simulate a joystick. There are some problems with
regard to Kempston Joystick emulation with some games, so a Kempston
'Smart' Joystick option has been implemented.
Directory Opus users aren't left out either. I suggested to Ian a
number of ideas and as a result he has implemented a filetype for
Opus fans. I've tested A LOT of Spectrum software from Epic's Speecy '97 CD-ROM
with AsP. The only game which seems to have problems seems to be
Ocean's 'Where Time Stood Still'. Ian informs me the game is
somewhat processor intensive. Hopefully once he begins work on the
dynamic JIT emulation core, I can finally look forward to playing
this game for the first time in over 10 years (I always use to laugh
when Fat Clive used to get stuck in the hole of the bridge). Laughs
out Loud! By default, AsP open's an ARexx port called 'AsP_0'. If you run
multiple versions of AsP simultaneously another Arexx port is opened
called 'AsP_1'. ARexx scripts are included for loading and saving
Spectrum screen images (commonly referred to as SCREEN$: These
start at address 16384 and have a total length of 6912 bytes.
Datatypes are available from Aminet for reading these on the Amiga,
so any saved Spectrum 'SCREEN$' may be saved out as IFF
(interchangeable file format) for printing or editing in your
favourite art package. Ian's also includes a separate ARexx script
for entering Multiface pokes to input pokes for infinite lives or
energy on your favourite Spectrum games. This works well. The ARexx
support is clearly explained in AsP's documentation for those of you
who want to have fun writing your own Arexx's scripts. The supplied ARexx script for entering multiface pokes is great, but
searching for infinite lives/energy yourself is not possible. What's
needed is a built-in life finder. Hopefully, Ian will implement this
soon in the next release. Hence, I've been using the Amos written
'Lifeshield' (available from Aminet) for searching for infinite
energy/lives with my Speccy games.
Z80:
The Z80 format was devised for Spectrum emulators developed on IBM PC's and compatables as well as Apple Macintosh. These include:
- G.A.Lunter, PC, Netherlands.
- SPECTATOR, Carlo Delhez, QL, Netherlands.
- Ergon developments emulators, QL, Italy.
- ZX, Andrew Lavrov, QL.
-Mac Spectacle, Guenter Woigk, Germany, 19.
- ZXAM, Antonio J. Pomar Rosselló, Amiga, Spain.
Mirage .SNA and .snapshot type:
- Spectrum, Peter McGavin, Amiga, New Zealand.Mirage .SNA and .snapshot type:
- JPP, Arnt Gulbrandsen, PC, Norway.
- ZXAM Antonio J. Pomar Rosselló, Amiga, Spain.
TAP:
The TAP format is used by many different types of Spectrum emulators. It is similar to a saved program on Spectrum cassette. AsP handles these, as does ZXAM.
If you have happy memories of the early days of Spectrum computing, I
suggest you visit Ian's AsP homepage to download AsP at:
www.greew.freeserve.co.uk Ian welcomes any comments, suggestions and bug reports, so if you
have any idea's on what you would like to see implemented, drop him a
line at: iang@ukonline.co.uk. Please bear in mind, if you have any
ideas you would like to see implemented, be sure to check that Ian
doesn't already have plans to incorporate it in future versions.
Also, don't mention 'Where Time Stood Still' still doesn't work
properly: Ian's been plagued by many people mentioning this
(including myself) Considering what Ian's managed to achieved to on the Amiga aging 32
bit hardware, AsP is clearly the fastest and best Spectrum emulator
available for the Amiga today, and what's more, it's freeware ! Ian
still has further plans to develop his emulator including:- A status line. Native-only (faster) display. More ARexx commands. Auto cheat-finder/poker. IFF screen grab. TZX file loading. TAP file saving. Dynamic JIT compiling emulation core. More snapshot formats. Disk format support. If you would like to know more on how Ian has developed his emulator,
check out 'AsP Spectrum Emulator' - an interview with Ian Greenway in
this edition of THE CRYPT. As for those of you who want to get your hands on virtually every
classic Spectrum game ever released, why not purchase the Speccy
98/99 CD-ROM's which can be purchased from 'Weird Science' at the
bargain price of £4.99 each. Postage for one CD-ROM is £1 and 50p
thereafter. When ordering software from our sponsors, please
telephone prior to ordering to check stocks and availability and be
sure to mention you saw their product catalogue in THE CRYPT. To
place your order for either the Speccy '98 or Speccy '99 CD-ROM's,
telephone Weird Science@on: +44 (0)116 235 0045.