AUGUST 1988: Simon N Goodwin and Sid Martin report on a new British super-micro - a multitasking, networking micro challenge to American machines like the Macintosh, Atari ST and Amiga.
The Thor XVI is a new computer from a British manufacturer, Cambridge Systems Technology, which started out making add-ons for the Acorn BBC Micro and Sinclair QL.
One of the last working Thor XVIs, photographed in Warwick in 2006
The Thor development was jointly funded by CST and DanSoft, a Danish firm that supplies micros to corporate clients including Ritzau, the main Danish news agency. The peculiar - but rather interesting - requirements of a real-time news service have made the Thor XVI a very interesting system, particularly for people who want to run several programs at once on a network of powerful linked micros.
The Thor comes with Xchange, a friendly integrated business package produced by Psion for Sinclair, ICL and British Telecom. It also includes a powerful command language, SuperBASIC, which is more like Comal than BASIC and lets you write enormous block-structured interpreted programs.
One of the nicest things about SuperBASIC is the way it lets you define new commands, in BASIC or machine code. The standard Thor comes with about 200 built-in commands and functions, but hundreds more are available from Sinclair QL software firms. Xchange and SuperBASIC are discussed in more detail later.
The Thor is built into a earthed metal box, which traps radio interference generated by the electronics and acts as a 'sink' for surplus heat. The chunky case gets just warm to the touch after a few hours use. There's no need for a fan in the box, which is good news if you like to work in silence.
Thors are continuously tested for 48 hours before despatch. CST even tested the prototypes to make sure they'd start up at 160 F (70 degrees Celsius, or 343 Kelvin) though they don't recommend you run a Thor in that sort of environment!
Slots in the sides of the box allow convection cooling, but could let coffee or paperclips fall inside. It would have to be an unlucky paperclip, and you should still be safe as long as you've connected the mains earth wire.
The front panel has space for two floppy disks and a light showing when the optional fixed 'winchester' disk is busy. Everything else is on the back panel. There were no labels on the review machine, but we did receive a piece of paper showing socket locations and pin-outs.
The neon on-off switch is recessed so it won't get pressed if the machine is pushed back against a wall. Kettle sockets carry mains power in, and out to the monitor.
The printer port uses a standard IDC 'bed of nails' socket, and the mouse/joystick connector is a 9 pin Atari socket. The mouse device software was unfinished, and did not work on the review machine.
Production models should come with a QL program called ICE, an 'Icon Controlled Environment' that lets you delete, view, copy or rename files under mouse control. ICE also provides software to impersonate a desktop calculator, clock and calendar, and works a bit like GEM, the 'Graphics Environment Manager' on the ST and some PCs. We'd rather enter commands, but then we journos like typing.
There's a speaker inside the Thor, but no sound output socket. The sound commands on our system were unfinished and would only produce monotonic 'beeps'. The Thor contains single-channel hardware similar to an Amiga sound port, and should be able to replay most digitally recorded sounds at something like medium-wave radio fidelity, once CST finish the system software.
There are two serial ports, one of which can accept an external clock, allowing communication at up to 1 megabit a second with a little extra hardware. The ports can run at any standard RS-232 speed, up to 19,200 baud, and work OK with modems. The sockets are 8 pin DINs, conforming to the new and unwelcome S5/8 standard.
The keyboard uses a standard 5 pin DIN, and the network uses mini-jack sockets, like 'Walkman' headphones. The biggest socket accepts QL add-ons like the IEE-488 instrument controller, EPROM programmer, or more floppy disks.
Inside the metal case the Thor electronics is neatly built on two large, neat double-sided circuit boards. There are no custom-manufactured 'ULA' chips, but lots of EPROMs and PALs - chips bought 'empty' and programmed individually by CST. Thor circuit boards are assembled by the sub-contractors that build the electronics in Jaguar cars.
The Thor has two linked processors, on different boards. A 2MHz 68B02, similar in power to the 6502 in a BBC Micro, handles most of the input-output ports, freeing the main 8MHz 68000 to run several programs at once.Thor co-processor block diagram - click for detail
The two processors communicate efficiently through queues in 8K of dual port shared RAM. The 68000 board contains 512K of main memory, with slots for three expansion cards. At present these can carry 512K each, but CST plan to supply 2048K cards when RAM prices stabilise.
The Sinclair Scene RAM speed tester, from April's Computer Shopper, measured the Thor's RAM bus bandwidth as about 3200 KHz. Code in RAM runs at about the same speed as an Amiga or a standard Apple Macintosh. Video contention means that the Thor is slightly slower than an Atari ST, although the operating system, in 128K of ROM, runs at the speed of an ST.
The Thor uses a standard PC-AT style keyboard with adjustable feet and a short curly cable connecting it to a 5-pin DIN socket on the back of the Thor. You can't really use the supplied keyboard on your lap without an extension lead, but these are widely available - and usually cheapest if you buy them from a hi-fi shop, rather than a computer specialist.
The standard Thor keyboard has all the keys you'd expect, including ten function keys, ESCAPE, ALT, CTRL, TAB, delete left, plus a pad on the right hand side for cursor movement or numeric entry. NUM LOCK switches between the two functions. Other useful keys include PRINT SCREEN and SCROLL LOCK, which pauses display output like Control S on a CP/M system. SHIFT SCROLL LOCK is like Control C - it interrupts BASIC or commands.
We had no complaints about the 'feel' of the keys - they are not as 'clicky' as some, with a good vertical travel. Little lights show you when Caps lock, Num lock and Scroll lock take effect.
At any time - even while entering a new line - ALT ENTER will recall the last thing typed into a window. If you scrub out the result you can access the line before that, and so on until you get back to the start of the input buffer for that window. Console buffers hold up to 128 characters by default, though programs can make them up to 32K long.
ALT ENTER recalls cursor movement characters and individual key-presses as well as command lines, so it's not as easy to use as a conventional multi-line buffer, like HISTORY on a Unix system. Nonetheless, it's a powerful feature - and you can't do anything like it with mice and pointers.
The Thor has no reset button, but you can reset the machine by pressing the keys ALT, CTRL, SCROLL LOCK and both SHIFTs simultaneously. You are unlikely to press this combination by accident!
An alternative, larger, keyboard with separate numeric and cursor keys is available at no extra cost; alternatively you can plug in and use most add-on keyboards made for IBM compatible systems.
Multi-tasking is the technical term for the way the Thor appears to run several programs simultaneously. For instance you can copy a file from one device to another, while you word-process a different file on the screen. Meanwhile a third file prints out, and a clock display is regularly updated on the screen.CPU block diagram - click for detail
Then someone 'phones you up, and wants to know an up-to-date price from your database. You just press a key to return to the Xchange menu, and within a couple of seconds you're running an an extra copy of the Archive database. When you've got the required information you can swap back to whatever you were doing, just as quickly.
Programmers can edit a copy of their original program text in one window, with a disassembly of the compiled code in another, while the program runs, under control of a machine-code monitor, in a thid window. At any time you can switch back to the command line to check things, load other tasks, or 'doodle' bits of code in the SuperBASIC interpreter.The Thor XVI main processor tucks under the IO board, with three proprietary RAM expansion slots at the end. This early model has replacement 68000 OS ROMs and some wirewrap mods, made at the factory - click for detail
Programs that seem to run at the same time as others are called 'tasks'. The processor can only run one program at a time, but as it can execute about two million complex instructions a second it can give a convincing impression of running several tasks at once, by swapping between them every fraction of a second or when it would otherwise have to wait for input from some device.
Time is shared out by setting a numeric 'priority' for each task. The higher the priority, the more time a task gets in relation to the others. You can load, list, adjust or remove tasks at almost any time. A few operations, like loading a task or formatting a disk, interrupt multi-tasking until the operation is finished.
Tasks can themselves load other tasks, and communicate with them through 'pipes' - invisible channels that carry characters from one task to another. When one task sends characters to a pipe, they are stored until another task reads them. You can read and write to pipes, like any other Thor devices, with INPUT and PRINT statements, or the equivalent in other languages. Data can be re-directed, so tasks that normally use the printer can have their output diverted to disk, for instance.
The Thor can run up to 120 tasks at a time, as long as there's room for the necessary code and data in memory. Providing tasks don't mix code and data in one space, you can run several copies of a task, processing different data files, with only one copy of the code in memory.
The Thor can keep track of up to 360 'channels' carrying information between tasks and hardware devices. There are two kinds of device. The serial port, printer port and 'raw' network device are exclusive devices - only one task can use them at a time.Thor co-processor card - click for detail
If a task tries to use, say, the centronics printer port while it's already busy, an 'in use' error is reported. This makes sense - otherwise you might end up with a printout containing a mixture of two different reports! Another task can use the printer as soon as the first one closes the channel it was using.
In contrast, disk drives, the network server, and the display are 'shared' devices, so several tasks can use them simultaneously.
When you're running several tasks there may be more than one 'cursor' on the screen. The cursor is the marker that shows you where the next character you type will appear. Only one cursor flashes at any time, indicating the window where new extries will appear.
The SYSTEM REQUEST key swaps between the displayed cursors in a circular fashion; as it swaps between tasks it puts the current task's windows on top of the others, and stops the others messing up the display.
Several tasks can use the display simultaneously, as long as their windows don't overlap. If windows overlap the Thor stops output to the ones at the bottom until you move them to the top with SYSTEM REQUEST.
The Thor can be supplied with one or two built-in 720K 3.5 inch floppies, which run at a top speed of about 18K per second when loading tasks, but about 6K a second, saving. These are fast timings, even for a 68000 system. The optional fixed 'winchester' disk drive is faster, loading at 140K a second and saving at 43K a second.
At present Thor Winchester drives cost £700 for 20 Megabytes - a high price by PC standards, fast though the drives are. CST are re-writing their software to make it compatible with new, cheap drive mechanisms, which should bring the package price down.
The performance of the Thor disks can seem faster than these figures suggest, because all otherwise unused memory in the system is used for 'slave blocks'.
Rather than copy data from disk through a small area of buffer memory, the Thor stashes data in slots called 'slave blocks'. If you re-read a file the system checks to see if it's in slave blocks. If so, it doesn't need to read the disk at all. This makes a big difference to some programs that repeatedly read the same files; it also speeds up access to disk directories, which is no bad thing.
Alternatively, the Thor can support up to 8 RAM drives: simulated disks that store files until you turn the power off, using space from the 'pool' of free RAM.
A 'static' RAM disk has a maximum size you set when you format it. You can re-format a RAM disk anytime it's empty. A 'dynamic' RAM disk grabs space as needed, from the system, which makes it relatively slow. Static RAM disks are stunningly fast, and will load over a megabyte a second, saving at about 400K a second.
If you want extra floppy drives you can plug in and use QL disk systems, as long as their software is version 1.17 or later. Name clashes are avoided as the Thor lets you rename devices. For instance, we plugged in an external 720K 5.25 inch drive, controlled by a Sandy SuperQboard. This device is called FLP, like the internal disk, but you can avoid clashes by typing:
This renames the first (external) definition of FLP to EXT, so now VIEW EXT1_BILL will display a file on the 5.25 inch drive, and VIEW FLP1_BEN shows a file on the THOR drive.
The built-in network is one of the best features of the Thor. You can connect up to 63 computers together and communicate between them.
Each new machine just plugs into one or other end of the existing chain of computers. You don't have to use special cable - bell-wire is perfectly reliable over short distances, although CST recommend cheap co-axial cable if your system is spread over a wide area. They've tested the network succesfully through 1,300 metres of cable!
The network can be used two ways - the 'raw' network device allows point-to-point communication and 'broadcasting' to all other systems, while the 'network server' lets you access drives and other devices on another system, without stopping it running its own programs.Inside the Thor XVI case - note the Rodime 3.5" SCSI drive - a wonderful thing back in 1988 - alongside the dual floppies, and the small 30W PSU, with no need for noisy fans - click for detail
Each machine on the network can communicate with each other, using the raw THOR network device. Every machine on the network has its own number, between 1 and 63, and you can send a message by opening a network channel and PRINTing to it. If the other station is not listening for your message, you wait for about 30 seconds before the computer gives up, even if you press the BREAK keys.
Messages sent to station '0' are called 'broadcasts'. These are received by every system that's waiting for a message, but there's no way for the sending system to know how many others received the message.
The network lets any machine use any device on any station that's serving - running the 'file server' task, activated with the FSERVE command. This task sits on the network port, waiting for messages from other systems. Like any other task, it has access to all the machine's devices, but it takes its orders from the network.
The network is very flexible. You can copy files from one machine to another, from the keyboard of a third. You can open windows on other people's screens, print messages, draw graphics, recolour the screen, open files, and access printers, modems, or whatever. Several machines can READ a file at one time, but only one can write to it.
The only thing you can't do is format a disk over the network - you get an 'in use' error. At the moment a Thor network is a hacker's dream; CST plan to add a 'protection' scheme, to stop malicious users deleting files and doing other naughty things.
Once you've started to use the file server, there's no limit on the number of channels you can use to communicate with other machines, although the network does slow down if you ask it to do several things at once.
The network is based on Sinclair's old network standard. It's QL-compatible but more reliable than the Sinclair version, and responds instantly, even if it's not very fast. Using the network to access files on a QL from our Thor, we found we could only read about 1,500 characters a second, although CST say that networking between Thors is much faster than this. The Thor is not compatible with Sinclair's ZX Interface 1 network.
You can have up to eight serving machines on a network, and these must have station numbers 1 to 8. Stations 9 to 63 can use devices on the serving machines, but can't communicate directly unless they use the 'raw' network device. The Danish Chamber of Commerce use a network of over 40 Thors.
The network doesn't collapse if a serving machine crashes or is accidentally turned off. If a server goes wrong the calling machine recovers after half a minute or so, giving a 'network aborted' or 'Xmit error' message. Once you've re-started the server the calling machine can start again. You can even unplug the network lead, for a short while, and the system will recover when you put it back.
Some early QLs, with serial numbers starting D04 to D12, have faulty network hardware. We found that a D05 machine would give us access to directories and short files, but crashed when we tried to copy large files. A later model QL worked fine, although not very quickly.
Like most computers, the Thor screen display is made up of points, with a maximum of 512 points on each display line. Eight character-sizes are allowed, and you can load your own character shapes if you want a change from the standard ones, which are clear and easy to read anyway.
A standard Thor can display a maximum of 85 columns of 25 lines, You can boost this to 31 lines if you use a the CHR_INC command to reduce the height of each character to eight points, rather than the normal minimum of ten.
The display is divided up into areas called 'windows'. There can be up to 360 windows on the screen at once, although five or ten is more usual. Each window is like a separate screen, with its own colours, border, graphics scale, character size and other details.
Character output is not particularly fast, with a top speed of about 2,300 characters a second, but still much faster than Sinclair systems, particularly when it comes to scrolling.
A replacement display driver, SpeedScreen, is available as a £30 upgrade. It is only available on an 8-bit chip, but even so it pushes the top speed up to about 12,500 characters a second. CST are toying with the idea of building SpeedScreen into the 16-bit end of the system, which should make character output faster still.
The Thor XVI is designed to work with a digital monitor, rather than a 'linear' one - this means a very clear display, completely free of noise bands and interference between colours, because each 'Colour Gun' in the monitor is always turned completely ON, or completely OFF, at any time.
The Thor has three graphics modes, giving 4, 8 or 16 colours. The resolution is 512 points across by 256 down, if you confine yourself to black, white, red and green. You only get 256 points, or 42 characters, on a line if you want 8 or 16 colours. Horizonal co-ordinates always range from 0 to 511, so programs don't need to be changed when you select a new mode.
The eight colour mode supports flashing colour, although screens loaded from the QL or OPD look odd. The Thor flash controls affect each point individually, whereas Sinclair's flash control turns on flashing for all subsequent points, until another flash control is found on the line.
Like the old BBC Micro, the Thor restricts its basic range of colours to just eight hues - Black, White, Red, Green, Blue, Cyan, Yellow and Magenta.
If your monitor can cope, there are eight extra variations, including a couple of nice greys, in the 256 x 256 pixel 16-colour Mode 12. Mode 12 only works if your monitor accepts an 'intensity' input signal in addition to the usual Red, Green, Blue and Synchronisation pulses (not forgetting the earth, of course!).
The Thor's restricted range of colours means you'll never get the pastel look of an Amiga display, or the glitter of an ST - but the Thor display has its own crystal clarity thanks to the digital control signals.
The built-in display software makes the most of the colours by allowing up to 896 'stipples', or patterns composed of a 2 x 2 point arrangement of two colours. You can specify stipples to the system just like any other colours, so you can have stippled ink, paper, text, lines or filled areas.
The THOR display filling and curve drawing is impressively fast, especially considering the flexibility of the co-ordinate system. You can move the origin anywhere and change the scale to any floating-point value. The Thor can display five full-screen-sized filled ellipses in a second, in any orientation, colour, stipple or graphics mode.
If a line or curve crosses the edge of the screen window you're using, it is automatically 'clipped', without complaint. It only takes a few lines to write impressive 3D programs that tumble the orbits of the solar system inside a window. We'd recommend this exercise to anyone who is the tiniest bit unsure what's special about Pluto.
The snag is that straight-line drawing and point plotting is slow, if you use the operating system routines. The system spends more of its time scaling and offsetting co-ordinates than it does plotting the required points. The Thor display device is designed for accurate scale work, not fast pixel plotting.
SuperBASIC includes turtle graphics commands, which let you draw shapes by ordering an imaginary 'turtle' around the screen, telling it to move, turn, and drop or pick up an imaginary 'pen' that writes in the window.
Thor display handling is fast and simple if you go direct to memory - the display memory organisation is very similar to that of the Atari ST, minus the pallette of 512 colours. The screen display uses 32K of memory, in all modes, and can be moved to any address in the first 512K.
We suspect some Atari ST programs could be converted to run on the Thor XVI in hours, rather than days, although they might not look as pretty as they do on the ST.
Like the ST and Amiga, the Thor really needs a monitor display. Unlike the American systems, it likes a standard monitor display, rather than the 'custom' types required by the competing marketeers. A TV with a modern SCART socket should work fairly well, but if you haven't got one of those you'll probably need a digital RGB monitor.
The Philips CM-8833 is CST's choice, and works very well in colour. It has a 'green screen' option, which cuts out the red and blue signals to give a monochrome display - but the hue is chosen to blend well in colour displays, and it's really too sparkly to look restful on its own.
The Thor excels at languages, and you can get standard compilers for almost any language except Prolog (for some reason). Almost all the compilers produce multi-tasking code by default.
The built-in SuperBASIC command language is better than it may sound from its name. It's a very modern BASIC, with support for recursive functions, procedures, reference and value parameters. Variable names can be up to 255 characters long. SuperBASIC is strong on block structure, so you can write programs without any reference to line-numbers. GOTO and GOSUB, READ, DATA and other horrors are still there for the stubborn.
Maths is performed to a precision of nine digits, although only seven are displayed by default. Strings can be up to 32K long, but string arrays use fixed-length entries.
The integrated editor works a line at a time by default, but files are in standard ASCII form, apart from line feeds, CHR$(10), marking the end of lines where you'd expect a Carriage return, CHR$(13), so you can use the Xchange word processor for heavy program editing. Program loading is rather slow, because the file is converted into symbolic tokens as it is read, but optional utilities can speed this up.
SuperBASIC is interpreted, and not particularly quick, but there are some blindingly fast compilers about. One of these, Supercharge, came out well in a Byte test against 80286 and 80386 compilers, and that was running on a QL with less than half the number-crunching power of the Thor.
Curiously. the interpreter won't multi-task, but you can compile SuperBASIC programs into tasks that will run alongside the interpreter. Compiled BASIC can do all sorts of incredible things; it supports hierarchical error-trapping, inter-task pipes, shared arrays and variables in concurrently executed tasks, cross-task calls, and so on into techie nirvana.
The Xchange business package is derived from the One Per Desk computer sold by ICL and British Telecom. It's a comprehensive and easy to use package of four linked programs - Quill, a word-processor, Archive, a database, Abacus, a spreadsheet, and the business graphics package Easel.
These are powerful programs, much improved on the QL originals, although there's still an annoying limitation in Archive which limits individual files to about 10,000 records.
While Thor Xchange is a lot faster than the ICL version it still does not take full advantage of multi-tasking. You can run any number of copies of each part of the package - so you can dive off into the Archive database to find something out, while in the middle of typing a letter in Quill - but the Quill task will stop while you use Archive.
The good news is that other tasks carry on running while you're using Xchange. Xchange can also print things out from one part of the package while you use another part, on the screen.
As its name implies, Xchange lets you move data freely from one part to another, so you can type a table of values into Abacus, the spreadsheet, then graph them in Easel, copy them to the Archive database and 'import' them into a Quill document! This was a painful process on the QL, with microdrive storage and separate programs for each application, but it's straight-forward using the all-in-one package on the Thor.
The Thor XVI is the first British mass-market micro based on the 68000 chip, used in the Amiga, Macintosh and Atari ST. It's cheaper than a Mac, but a fair bit more expensive than the other American systems.
Superficially all these systems are very similar - they have a mouse-based user-interface - although you don't have to use it, on the Thor - a fast 16-bit processor, large bit-mapped screen, and a substantial operating system built in.
The main advantage of the Thor is its flexibility. It's very easy to add new commands to the machine - hundreds are already available. Multi-tasking is efficient and easier to use than on the Amiga.
The Thor runs industry-standard compilers, yet it is easier to program than other 68000 machines, with a powerful built-in language and hassle-free system calls. It can also do more than most micros, thanks to Argos, the multi-tasking, device-independent operating system.
Apple's Macintosh justifies its higher price because of the 'user-friendly' philosophy underlying the system. The Thor has its own distinct philosophy, with the emphasis placed on extensibility, simplicity and speed. These three ingredients mix very well.
New computers have often been strangled soon after birth by the lack of compatible software, but the Thor has avoided this trap. It's rather short of games at the moment, but it will already run hundreds of existing packages made for the QL and ICL One Per Desk. An emulator for the CP/M operating system is available. It is claimed that the Thor XVI can run CP/M software faster than genuine CP/M machines!
The QL support market is thriving, although it gets little coverage in the PC press. Well-known firms like MetaComCo, HiSoft, Prospero and Psion produce code that will multi-task on the Thor.
HiSoft's Power Basic, recently favourably reviewed on the Atari ST, was developed from Supercharge, a QL compiler published in 1985. Amiga DevPac, favourite of the American magazine Byte, was actually written and assembled on the QL, as was its ST counterpart.
The Psion suite has been converted to run on PC clones, sold as PC-FOUR or PC-XCHANGE. MetaComCo's compilers for 'Lattice C', ISO Pascal, BCPL and Lisp started life on the QL and then moved to the ST and Amiga.
At least 50 smaller firms are familiar with the Thor design, having made a living for four years by filling in the gaps in Sinclair's marketing strategy. Doubtless they'll try to do the same for CST!
There are over 100,000 QL users, mostly in Europe, and tens of thousands of One Per Desk and Merlin Tonto users, so dozens of specialist business packages run on the Thor. Unlike ST and Amiga packages, they have been designed to suit the European market, rather than American business practice.
Commercial titles usually sell for between £10 and £100 - you should call before purchasing to make sure they run on the Thor and are available on 3.5 inch disk. Almost all of the recent QL software we tried ran happily on the Thor, but there are still a few programs around that assume you're using a 128K machine with Sinclair microdrives!
Hundreds of Public Domain programs are available from libraries like the one run by the user group, Quanta. The Thor can read data disks generated on IBM or most other systems, as long as you plug in the right sort of drive; our Thor happily read 630K Apricot disks.
Add-on hardware is more problematic, especially as CST have a monopoly of RAM expansion. Cheap QL RAM won't work in the Thor, although most add-on peripheral controllers work fine. The QL cartridge port has been replaced by a 64K ROM socket inside the Thor, so add-ons that use that port will need tweaks before they'll work.
The Thor is an unique system which will attract quite a few new users, as well as upgrades from existing QL and One Per Desk enthusiasts, who will find the 16 bit Thor XVI two to three times faster than its 8 bit parents.
The Thor network is fairly slow, but it is easy to use and it works. Once you've shared devices and used multi-tasking for a while, you realise how restrictive conventional isolated single-task computers can be.
Older 68000 machines like the ST and Amiga undoubtedly have the edge over the Thor in the games market, with their myriad colours and sound-effects, but the Thor wins out on programming and business applications, particularly if you need reliable multi-tasking or networking.
The author`s rather battered Thor XVI, still working 18 years on. The plant-tak holding the SCSI LED is an unofficial modification!