What can you do with
a Spectrum? Amstrad, who parted with some £5 million
for the rights to the beast, really had to come up with a
good answer.
The Spectrum Plus 2 was their first attempt,
and it hasn't been without its problems. Still, it was a rush
job; only five months elapsed between the Easter buyout and
the autumn launch. And Amstrad claim to have sold about half
a million. Now it's been over a year since Amstrad got its
corporate mitts on the machine, and England expects great
things from Big Al.
The Plus 2 is down to £150 with a
free SJS1 joystick (form an orderly queue), and the Plus 3
is nearly out. At £250, maybe more out than in. It's
got a disk drive, it's back in black, but has it got compatibility?
Let's see...
First Impressions
The disk drive, sitting in peacock livery
on the right of the machine where that famous Amstrad cassette
deck once resided, just has to be the main talking point.
There's double the Rom space inside the machine: 64K's worth
holds the Disk Operating System (Dos), extensions to Basic
and various other odds and ends as well as the original 48K
Spectrum Rom and the 128K's editor and menuing system. Also
added is a parallel printer port (8-bit, unlike older Amstrad
designs), and extra printer support in the software. Cassette
software is still supported but you'll need a Walkman or similar
plugged player, to plug into what remains of the old 128K
+2's sound socket.
The disk drive is (of course) Amstrad's
3" format. It claims compatibility with Amstrad's word
processor, the PCW8256, holding some 450K of data on double-sided
flip-over disks. That's about 178K per side, which isn't as
much as modern drives and disks are capable of. Not by a long
way. However, the twin considerations of price and compatibility
make the choice of format seem quite sensible. Considering
what software superheroes can cram into 48K of gamespace,
350K should keep them going for quite a while.
There's a connector for a second disk drive
at the back of the machine. As well as Amstrad's own, there
is scope here to hook up a 3.5" or 5.25" drive,
so people with Discovery or other interfaces shouldn't panic
unduly. It'll still need the appropriate leads and some clever
software, but it can't be long before the third-party army
rush in to fill the vacuum, if you'll pardon a mixed metaphor.
But, and it's a biggie, Plus 2 owners will not be able to
buy an up-grade. They might be a little annoyed at that.
The method chosen by the Rom designers to
interface the disk drives to Basic is interesting. All the
tape commands work without change on the disk drives. so that
most Basic tape-based programs will run without any modification
from disk. At first glance. you might think that this means
that there would be no way to use tape at all. If all the
commands are the same, how can the computer know whether to
use tape or disk when you Load "FROGSTAR"? The answer
lies with device names.
Devices
Device names are an ancient trick, dating
back to the dinosaur days of CP/M (of which more later). The
Spectrum Plus 3 knows about four devices: tape, disk 1 (the
one built-in), disk 2 (that optional extra), and the Ramdisk.
It calls them T:, A:, B: and M:, and to use one particular
device you include the name of the beginning of the name bit
of a command. So to load a program from tape, you'd do Load
"T: BOOBALOO" Similarly, to save a program to disk
1 (which is the one built into the Plus 3), you'd type Save
"A:GOODIES".
The Ram disk is a way of soaking up the
extra Ram provided. Like the Spectrum 128 and the Plus 2,
the BASIC can only deal with about 40K directly (if it could
manage more, compatibility would suffer). If you want to write
bigger programs, you need to divide them up into sections
and Merge in the bit you want. This is very quick if you use
the Ram disk, which is designed to use most of the same commands
as the real disks. The Plus 2 had a silicon disk, which was
the same idea but had its own set of funny commands. The Plus
3's Ram disk is much more standardised, and I expect to see
some pretty clever Basic programs about before long.
Disk Commands
There are special forms of Load and Save
to save time and make program conversions nice and easy. Load
"A:" means "make all subsequent Load commands
use disk 1". Save "T:" makes all the Save commands
which follow work on tape. So a one line Basic program - Load
"T:FRED": Save "A:FRED" - copies FRED
from tape to disk.
Inter-disk copying is done by using, well,
Copy. Move also gets a look, and acts as a rename command.
There aren't any brand new keywords - all of the new functions
are Implemented by novel (and sometimes bizarre) combinations
of the existing commands. Format is used to set up a disk
when it's used for the first time. These commands were used
with the Interface 1 but - shock horror - the Plus 3 isn't
Interface 1 or Microdrive compatible. You can plug in Interface
1, but it won't work. The reason lies buried deep in the Plus
3 hardware, so it's not going to be possible to produce a
software fix.
Amstrad were over a barrel about Microdrives.
The rights to the Microdrive technology stayed with Sinclair
after the takeover and this included the code which is in
the Interface 1 Rom. So even if Amstrad wanted to they couldn't
have guaranteed complete compatibility. And maybe they didn't
want to. In any case, Microdrives are now off the menu.
Another ex-Microdrive command pressed into
service is Cat. Its most ingenious use is to help out with
transferring tape software to disk. Spectrum tape files can
be Basic programs, machine code or data, and they can automatically
Run when they load, as they can have memory addresses associated
with them to tell the computer where to load them. All this
information is held on a "header", which is the
short burst of data recorded just before the main file on
tape. There's also a Cat Exp command, which produces extended
information about the stuff on disk. It also gives a vital
clue about the way the files are stored, because some of that
information is concerned with file attributes.
File attributes contain information which
the computer uses to determine what can be done with a particular
file. They concern things like whether the file can be deleted,
whether the computer should display it when the user asks
for a catalogue and whether the file has ever had a copy made
of it.
Disc operating system
The Disc Operating System (+3 DOS) was written
by Locomotive Software, who have a long and mostly honourable
association with Amstrad. It comes as no surprise that it
bears a distinct resemblance to Amsdos, the Dos for the CPC464
and 6128 which Locomotive also wrote. Plus 3 Dos has lots
more features available to machine code than are hooked into
Basic.
For example, there's a complete set of file
handling routines hidden away. Basic users can't Open a file
to disk, or Print stuff to a file. All the code is there,
but the Basic hasn't been modified to use it.
The guide book
The boys from Brentwood redeem themselves
somewhat with the manual. This is a much extended and mega-modified
version of the Plus 2 book, and it covers just about every
aspect of the machine that anyone could want to know about.
The backbone of the book is still the original Steve Vickers
idiosyncratic learn yerself Basic course, with all the old
gems (on string-matching: Which of these is the lesser, "EVIL"
or "evil"?)
There's a lot of extra stuff about disks,
the new memory maps, the extra printer stuff and a lot of
very detailed information on the Dos. There's a whole bunch
of new demo programs, including some which are genuinely useful
and some which are mind-numbingly naff. To be honest, there's
not a great of scope for anyone who wants to publish a book
on what Amstrad left out; - there simply isn't much. However,
the book is pretty badly organised and the layout is unhelpful.
330 pages is a lot of book, and it (like the Plus 3) has obviously
grown in fits and starts from the days of the ZX81. Coherent
it isn't.
Most questions that new users, or an existing
Spectrum user wanting to up-grade, might ask are answered
in the manual somewhere. The "How do I convert software
to disk?" problem is given special consideration. However,
the simple tape to disk tricks provided in the Plus 3 Rom
only works on ordinary Basic programs; games and other machine
code stuff will need transfer programs.
An all-important one this for those wishing
to upgrade. There are some serious problems. These relate
less to software - games from the 128K+2 should run without
problems - but more to do with hardware.
These are two big differences with the +3
compared to all previous Spectrums. The first is the video
output, this has been altered such that it will no longer
drive monochrome monitors - maybe important if your using
a Spectrum for business or educational purposes. The second
problem is more significant - the edge connector has been
altered so that the 9V line no longer exists. This has been
used in the past to drive various peripherals like modems.
These will no longer work with the +3. So if you are upgrading
check your add-ons' specifications; do they use the 9V line?
They won't work.
Interface 1 considerations aside, the Plus
3 looks at first sight to have a good chance of running lots
of old software. Like the Plus 2, it's got a 48K Basic mode,
where it tries very hard to look like an old-style Speccy.
In this mode none of the new hardware can be accessed, of
course. It's a pretty good replica of an old Spectrum. There
were some Rom locations that were changed on the 128K Spectrum,
and this results in incompatibilities with badly designed
joystick adapters. These locations have been largely replaced
in the new Plus 3, but there are still a few differences which
could nobble a game or two.
Game writers who use existing Amstrad computers
to generate code on should be pleased to know that you can
take a machine code file generated on a PCW8256 and turn it
into a proper Spectrum file with the quaintly named Copy "filename"
To Spectrum Format command. This takes a standard Amstrad
file and puts a Spectrum header on the front of it. The Speccy
can then load it in with Load "filename" Code command,
and there is the program, transferred without recourse to
RS232 or special programs.
The Spectrum can also load a program from
disk automatically. The idea is that the user unwraps the
latest games on disk, turns on his Spectrum, shoves the disk
in the slot and presses one button. From them on, everything
progresses smoothly.
First of all. the Plus 3 looks for a special
program on the disk called "*". This program can't
be produced by BASIC, so if the computer finds it, it knows
that it was put there by a software house. If it finds "*'',
it loads and runs. If it can't, it tries to find, load and
run a Basic program called DISK. If that falls, the computer
gives up and goes back to the user. If the computer can't
find a disk at all, it goes into a routine which loads any
program from tape. Just like the Plus.
Printer support
The new printer support is pretty comprehensive.
As well as the existing Plus 2 serial printer port, there
is a parallel interface. One of the areas most prone to problems
with computers in general and the Spectrum in particular is
the interfacing and usage of printers. With the Plus 2 the
problem was exacerbated by a peculiar interface to Basic which
made sending control codes (special commands to switch in
different styles of printing) to printers virtually impossible.
With the new Plus 3 Basic, any control code can be sent, or
the old Plus 2 way of doing things can be selected for program
listings. Printing can be either the old serial port or the
new parallel one, which means virtually any printer will plug
into the Plus 3. Any programs in existence which use either
the existing Basic Lprint or Print commands to drive printers
should run unchanged. The same is true of any program which
uses the 'official' machine code ways to drive a printer,
which should cover most popular business programs.
In any case, very little conversion work
should be needed. Switching between the serial and parallel
interfaces is managed by the Format Lprint command: Format
Lprint "C" diverts output to the parallel interface,
and "R" switches it to the serial port. A useful
command which has been much improved is Copy By itself. this
command prints a simple picture of the screen on any Epson-like
printer. On the 128 and Plus 2, this was just a dot-for-dot
copy, with no attempt to show colours. On the Plus3, the command
Copy Exp (for Expanded) does a full greyscale dump of the
screen, where each colour is represented by a pattern of dots
on the printer. The lighter the colour on the screen, the
fewer dots on the paper. There's also a Copy Exp Inverse which
produces a negative image: many screens look better that way
on paper, and it can save on ribbon wear.
The legendary Spectrum 128 keypad, nominally
supported on the Plus 2, has been consigned to the same fate
as the Interface 1. The socket into which it once plugged
has been relabelled Aux, and most of the supporting code in
the Rom removed. The electrical connections are still the
same, so things like modems which drove the hardware directly
have a chance of working. The editor keypad commands like
'delete line' and 'go to top of program' are still active
by pressing odd keyboard combinations, as they were on the
Plus 2.
Basic
The Plus 2's Basic editor survives unchanged,
bugs and all. To the untutored eye, 95% of the Basic has survived
unchanged from the 128/Plus 2. Deeper in, the organisation
of the Basic has mutated considerably. The original Spectrum
had 16K of Rom, which had all the Basic and editing code in
it. The 128 and Plus 2 added an extra 16K Rom, which had the
editor, new printer support and other little extras in it.
The Plus 3 has two more 16K Roms in it, which hold the Disk
Operating System, still more new printer stuff, an extended
syntax analyser for all the new varieties of command, and
some more stuff which Amstrad are keeping quiet about.
Inside
The hardware inside is hugely different
from any previous Spectrum. Even including the disk interface,
there are far fewer chips than the 128 or the Plus 2. Instead
of 16 chips providing the 128K Ram, there are just four. There
are two 32K Roms, holding all the aforementioned software,
the RS232 driver chips, the sound chip, the TV picture chip
and the TV sound chip. All the video circuitry and "glue"
(the chips that stick everything together, electronically
speaking) are contained in one postage stamp sized gate array
chip.
This tiny fleck of silicon and plastic has
the honour to be the first chip to have been designed at Brentwood,
as opposed to one of Amstrad's many subcontractors. As well
as actually producing the video signal, it also manages the
new memory configurations, the joystick ports and the printer
port.
This chip is a completely new design. It's
difficult to know at this stage whether it's introduced some
incompatibilities with the old hardware, but it seems to work
with all the games I tried that also worked with the Plus
2. It doesn't have any new video modes: you're still stuck
with the same screen format as the original Spectrum. Colour
clash, it seems, will be with us always. I tried a few bits
of hardware - joystick ports and the like - and it all seemed
to work. Even as complex an animal as Ram's Music Machine
operated without a murmur (except when I sample a mumble).
Verdict
Amstrad has been criticised about many aspects
of the Plus 2, and it took quite a bit of it to heart. The
redesigned TV circuits gave a much better sound quality and
a generally nice picture all round. The socket the back of
the computer that provided sound on the Plus new doubles as
a cassette connector. It's a Walkman-style socket, with one
connection for loading and one for saving. Using an external
cassette recorder should make loading a little easier for
those poor souls with slightly shaky hyperloaders. The Plus
2 cassette recorder saga suggests that there's a lot of that
thing about.
The joystick connectors are once again Amstrad's
own peculiar standard (boo hiss). Still, any joystick interface
that worked with the 128/Plus 2 should work with the Plus
3, and all the new stuff that's come out since the Plus 2
hit the street with a dull thud copes with Amstrad's eccentricities
in any case. Grey or black.
Amstrad's other main eccentricity, that
of pricing the Plus 3 at £250, is a little more difficult
to explain. It's competing pretty much head-on with the existing
disk-based games micro that Amstrad produce (the CPC 6128),
which you can get for about the same price with a monitor.
Perhaps it's all an attempt to make the Plus 2 look more attractive
before the Christmas wars set in but it's difficult to escape
the conclusion that Amstrad have gone a little bit gaa-gaa
over the pricing.
At £200, it would be an exciting
product. At £175 or £150 it would be an Amstrad
bestseller. At £250 it's overpriced, and Amstrad must
surely know it. Their other actions, dropping the price of
blank disks, and giving software houses machines to work with,
are at odds with the price. It can't cost much to produce.
Let's face it. It's a Spectrum with disk on the side, and
in these days of ST's and Amiga 500s it just might not make
it. Amstrad - it's too expensive.