Everybody knows that you can’t run programs for one computer on a different make. Everyone, that is, except Tony Brewer, inventor of the Speculator — a brilliant device which turns a Memotech or Tatung Einstein into a near-perfect impersonation of the Spectrum! Simon Goodwin tests the amazing Spectrum emulators sold by Syntaxsoft and ponders on incompatibility problems in general.
I’ve seen it, and it works. You can load top-selling Spectrum games directly from the original tape into an Einstein or Memotech, and they run as if they had been specially programmed for that system. Not an amazing leap forward for Spectrum owners — but it’s a breakthrough, nonetheless.
Up until now, incompatibility has ruled the computer industry. Without software, a computer is just a plastic door-stop. But manufacturers have to make each new machine as cheap and feature-packed as possible. Every popular machine represents a whole set of compromises: between hardware and software, cost and quality, speed and complexity. Each of these compromises changes the way that a machine must be programmed for it to obtain best results. Modern software pushes every brand of computer to its limits.
Since the limits are different for every machine, programs for one model won’t run on other systems. Software houses spend a fortune changing and re-writing games for different systems. This doesn’t always work very well ... Sometimes it doesn’t work at all — the difference between the computers is just too great.
It is cost-effective to convert programs from one best-selling machine to another. After all, computer users have similar tastes and tend to read the same adverts, even if their machines won’t speak to one another. It’s the people with less popular machines who get a raw deal. Unless a few hundred thousand people buy a new machine, it’s just not worth the effort of rewriting programs for them.
So there’s a vicious circle. Programs don’t get converted until there’s a big demand from users, and — unless they are very brave — people don’t buy a computer till there’s lots of software available.
There are two ways to break this loop. The most successful technique, so far, has been to make the computer seem such a good deal that people buy it anyway. In essence this is a confidence trick, but if it works properly the software arrives before people realise they’ve been conned. If this technique is going to work you must make the machine cheap and trendy — and inevitably, therefore, incompatible. You must also spend a fortune telling people about it, and whipping up the enthusiasm of programmers.
Luckily, programmers tend to be very gullible. Between 1980 and 1983 Clive Sinclair got the mixture right... Since then competition has increased, the punters have been taught a few new buzzwords, and the only people who have kept up with the home market are Alan Sugar, of Amstrad, and Jack Tramiel, originally owner of Commodore and now leading most of the same people in a slimmed-down Atari Corporation.
They both sell on price, first and foremost, although Tramiel would have you believe otherwise. Real innovation is out of fashion. As Adam Osbourne put it, ‘he who lives at the leading edge of technology is destined to be sacrificed upon it’. Osbourne proved this by example — he set up the first famous portable computer firm, which duly went bust. Every year dozens of manufacturers, large and small, try to break into the micro market. Alas, this vicious circle catches all but a few.
Almost everyone in the trade has a vested interest in keeping conversion overheads down, which means limiting the number of ‘hit’ machines. This just makes a ‘hit’ even more profitable, encouraging more manufacturers to rush into the market like lemmings over a cliff.
I said that there were two ways out of the vicious circle. You don’t have to innovate. It is possible to carve out a niche in the market by selling a copy of someone else’s machine, and taking advantage of existing software — but this is a risky business. For a start, your machine will be considered old-fashioned, whether or not this really matters. Secondly, you’ll have head-on competition, from people already established in the market.
There are three ways to counter this, and to succeed you must use all three. You have to advertise like crazy, and try to add something to the formula in order to make your version stand out and seem new, yet attractively compatible. This is a very expensive business.
Amstrad, Compaq, and Olivetti gambled and won — many others failed. In the home market the pressure to innovate, either to cut costs or improve performance, is intense. Manufacturers have trouble making even THEIR OWN new machines compatible with their predecessors. When Sinclair made a minor change to the Spectrum, putting a new kind of low-power logic array in the Issue 3 version, the tiny changes involved stopped many popular games.
The brilliant thing about the Spectrum Plus was that it used EXACTLY the same works as the old rubber-keyed Spectrum, but eventually Sinclair were forced to make real changes, albeit modest ones, to catch up with the competition. The Spectrum 128 compatibility problems had begun.
This dilemma affects every computer firm. In the interests of compatibility, Commodore’s new 64C machine has a diabolical BASIC interpreter that dates from 1980. The new model is limited to the graphics and sound of 1982. The need for compatibility has also held back Atari’s XE machines — Jay Miner’s design was way ahead of its time in 1979, but it’s looking pretty tired now.
It should be clear that it is very difficult to make one computer compatible with another. This is especially true if you want to run fast, complicated, state-of-the-art programs, because these tend to take advantage of hardware quirks. Yet the Speculator for the Memotech, and the Spectrum Emulator for Tatung’s Einstein, really work. You can run complex programs such as Elite, Starion and Tornado Low Level from the original cassettes.
The colours are sometimes a slightly different shade, and some programs run a little more slowly, but the games are as good as any conversion might be expected to be. The Emulators are designed by Tony Brewer and sold by Syntaxsoft, a Burnley firm that — ironically — specialises in converting programs between machines the hard way, rewriting the code line by line.
The Memotech Speculator costs £29.95 and plugs securely into the left hand side of the Memotech, adding only a couple of centimetres to the width of the machine. It uses the ports that are already built into the computer.
The Einstein model comes in a bigger case — a kind of junior lunch-box — and costs £49.95, mainly because it contains sound and cassette interfaces. It hangs from the ‘pipe’ — alias an edge-connector with an IDC socket — at the back of the machine. Rather stupidly, Tatung have not put a ‘pipe’ on their latest machine, the Einstein 256, so that machine won’t support a Speculator until someone produces an adaptor. What did I say about manufacturers being unable to stay compatible with themselves?
The emulators went through a long and tortuous development process. At first, Tony Brewer admits, he thought it could not be done. But he persevered, and after a year of hard work he’d managed to do what most engineers would have considered impossible. His solution won’t work with all micros — it relies upon the fact that the machines use the same processor for instance — but it bridges a massive gap nonetheless.
The Speculator is a mixture of hardware and software. It uses two custom logic arrays and a 2K memory to impersonate the Spectrum keyboard and cassette port, and to trigger the software that mimics the Spectrum’s display. 64K of RAM is needed, plus separate video memory. The emulator pretends that 48K is normal Spectrum RAM, and packs new machine-code to emulate the Spectrum ROM and other features into the remaining 16K of memory.
To avoid copyright problems, Tony has completely re-written the routines that are built-in to the Spectrum. The cassette code is improved, for instance, and can easily be adapted to cope with different speeds — but it still emulates the flashing border of a real Spectrum. Routines to print characters, clear the screen, read the keyboard and so on can be called as normal, but the code is changed to reflect the different hardware. Some parts of the Spectrum ROM, like the floating-point calculator, are not used in commercial software, so a new emulation code has been slotted into that space.
The Einstein and the Memotech both use a Texas Instruments video chip, rather than the Spectrum’s all-purpose custom ULA. The TI chip is also used in MSX computers, so a similar emulator could, in theory, run on those machines.
The TI chip can produce the same 256 by 192 dot resolution as the Spectrum, but there the resemblance ends. It is not memory-mapped, so the processor has to talk to it character by character through ‘ports’. This makes it much slower than the Spectrum, but Tony has found an ingenious quirk which allows him to update any sixth of the screen 50 times a second, funnelling information from the Spectrum’s display area, where the games put it, through the ports.
Tony’s electronics generate appropriate timing signals, and a small change to the loader lets him determine which parts of the display are updated most often. For instance most of the action on Starion takes place in the top two thirds of the display. For Starion, Tony’s code refreshes the bottom third less often, so that the rest of the display is almost as fast as the Spectrum’s.
Colour is tricky too, because the TI display chip needs eight times as much colour information as the Spectrum does. Tony’s code checks the whole attribute grid and only transmits colour information for parts that change. This seems to work very well in practice. The Spectrum’s eight colours are mapped onto the closest shades in the TI chip’s pallette of 16. The hardware detects attempts to change the Spectrum’s border colour and re-directs the information, but it can only do this 50 times a second when a game is running. In general that’s quite fast enough, but it rules out the ‘colour bar’ effects that spice up a few Spectrum games.
The graphic emulation works well enough, although there is a certain amount of extra flicker, and the gadget does nothing to cure the Spectrum’s attribute problems. I noticed that Daley Thompson’s Decathlon ran a little slowly and unsteadily at times, but it was still playable.
The same faults exist on the Spectrum version, but they’re not as obvious: as Tony Brewer says, “The Emulators accentuate the things which aren’t done very well on the Spectrum.”
Sound is handled through a tiny beeper in the Einstein box — “well, it’s supposed to emulate the Spectrum, isn’t it!”, said Tony. The Memotech re-directs Spectrum clicks to the computer’s sound chip, giving odd effects at times. In theory it would be possible to emulate all of the sound-effects from a Spectrum 128 game, but the 128 poses other problems, and there are no plans to do this at the moment.
The system must be set up in different ways to get best results on each game, so you are limited to a certain range. A cassette or disk supplied with the emulator contains code to handle the first 20 games; further compilations are being prepared. You have to load the game from a Spectrum cassette at first, but you can then copy it to Memotech or Einstein disk, to speed up loading.
All programs on the emulator work with joysticks or the cursor keys, and the keyboard works much like normal — the right hand shift key emulates the Spectrum’s Symbol Shift. You can also turn sounds on and off, and pause any game, using the function keys.
The starter-pack supports 20 popular but rather old titles. Syntaxsoft’s Keith Hook defends the choices, saying, “they may be old games on the Spectrum, but they’re new to Einstein and Memotech users.” More recent hits are being set up, but there’s no prospect of a universal emulator; this was a great relief for Michael Gaut, a humble conversions programmer at Syntaxsoft!
Apparently the biggest problem setting up the Speculator to support a game is getting the code into memory; most games nowadays use trick loaders which rely on the exact Spectrum hardware, so a special Memotech or Einstein loader must be written by Tony Brewer. Getting the actual game to run is a cinch by comparison — most of the time it just involves setting the speed at which different areas of the screen are refreshed.
There may be a solution to the cassette problem. If Spectrum code could be sold (at an appropriate price) on Memotech or Einstein disks, it could by-pass the cassette stage. This would need the approval of the original publishers, but things look quite hopeful at the moment.
One question still remains. Do Einsteiners and Memotechies actually want to run Spectrum games on their computers? As a CRASH writer, I think so; but a second-hand Spectrum only costs about £50, and 90 per cent of Einstein users are said to be business people.
David Bell of Tatung doesn’t expect many converts from the Sinclair stable. “The Emulator is an enhancement for the Einstein, not a replacement for the Spectrum, with disks and so on. There are a number of people who want games on the Einstein, and now they can run programs they otherwise couldn’t.”
Syntaxsoft’s Keith Hook felt that Memotech and Einstein users would be too proud to buy a Spectrum — but they might buy an emulator. “People who’ve got Einsteins won’t buy Spectrums. But they’d like the software. We’re letting them ride on the back of the Spectrum’s popularity.”
For Tony Brewer it has been a fascinating, if rather unremunerative, experiment. “I don’t think there’s anything that can’t be done with a computer, if you think about it,” he said. He should know!