The crazy Express gang continues with two slightly more powerful adversaries. In the last issue, Sinclair’s MICRODRIVE and the TRITON QD disk drive both provided low-cost fast storage media at for less than £120.00. This issue sees another low cost contender, which is a direct competitor to Sinclair’s MICRODRIVE, Rotronic’s WARADRIVE. The WAFADRIVE provides two disk drives, RS232 serial and Centronics parallel output ports for printers and communication handled with the extended Basic commands using streams and channels. In fact, the WAFADRIVE seems to convert the Spectrum into a full specification computer... well nearly.

The other contender is Technology Research’s BETA disk drive with the new updated disk operating system TR-Dos V4. This unit must be a little gem for games fanatics, as it allows them to store their hard-earned cassette software collection to disk for instant recall. If that isn’t enough, the system caters for random access data files, where any specified record may be read or written to — no more long wait cycles while skipping to the required record. Although the BETA disk commands reside in the operating system, they may be accessed from Sinclair Basic or machine code. The BETA interface unit is not expensive, but it does exclude the drives, so the complete system reaches normal disk drive price levels, which are certainly above those of the previously mentioned fast storage units.

In the next issue there are more drives to follow, including the KEMPSTON disk interface, the OPUS DISCOVERY and the TIMEX disk systems. The last of this series will feature a comparison table listing all the drives reviewed, so that the important decision of selecting the right drive for the right job will be that much easier...



The WAFADRIVE unit consists of a large black box containing two stringy floppy drives, the disk drive interfacing and the serial and Centronics parallel ports. It connects to the Spectrum via its flat cable to the system edge connector. There is a power indicator and each drive has a drive-active LED. At the rear of the unit are located the expansion bus connector and the nonstandard Centronics and serial connectors. Included in the package are two wafers, one blank, the other containing Softek’s Spectral Writer word processor.


The WARADIRIVE belongs to the group of stringy floppy drives. The wafers are ENTREPO stringy floppy cartridges with varying capacities of 16K, 64K or 128K (formatted). As the file storage is sequential, the access time increases linearly depending on the capacity of the cartridge. The access speed is improved with the use of a fast search speed for swift file location. The extelded Basic commands made available by the Watadrive Operating System (WOS) do not come into operation until the system has been initialised with a NEW * command. Once initialised, the WOS reserves about 2K of the Spectrum’s memory for its own use. The WOS resides in a special 8K ROM, which is paged automatically like Sinclair’s ZX Interface I ROM. The WAFADRIVE unit also incorporates a Centronics parallel and a serial RS232 interface, both accessed via the extra ROM commands. Software access to these ports is via the channels and streams procedure known to the ZX Interface 1 owners. The availability of the two ports means you can connect any low-cost printer via the parallel port, while at the same time communicate with another computer system via the serial port. The inclusion of a full-blown word-processing package converts the Spectrum into a ‘serious’ home or small business computer.


Extended Basic residing in automatically paged ROM.


BREAK aborts execution of Basic.

CAT*"d:" displays the directory of the wafer in the specified drive.

CAT#"d:" loads in the directory of the specified drive without displaying it on screen.

CLEAR* closes all previously opened streams or data file channels and sets streams 0-3 to their default allocation.

CLOSE * stream closes the stream previously opened using OPEN # and sets streams 0-3 to their default value.

CLOSE#* stream closes the stream previously opened using OPEN # or OPEN #*. Closing streams assigned to data file output channels causes the file to be stored on wafer and the directory to be updated.

CLS* clears the screen but also resets the attributes to PAPER 7, BORDER 7 and INK 0.

ERASE*"d:filename" removes the specified file from the wafer. Wild card facility operates with ERASE.

FORMAT*"R"; baudrate sets the RS232 transmit/receive data rate. Default value is 1200 baud.

FORMAT*"d:wafername" formats and names wafer.

INKEY$ #stream; variables reads next single character from previously opened input channel, via assigned stream.

INPUT #stream; variables reads data from previously opened input channel, via assigned stream.

LIST # stream, line lists program, starting at optional line number, to specified stream.

LOAD* "d:filename" loads specified program, Basic or machine code. LOAD* alone loads first program in directory of wafer in default drive.

MERGE*"d:filename" merges specified Basic program with that currently stored in memory.

MOVE * "d:filename1" TO "d:filename2" makes a copy of file specified in filename1, optionally giving it the name specified in filename2. Wildcard works with MOVE.

NEW clears Basic program and also resets the WOF, freeing the reserved RAM.

NEW* initialises the WOF, reserving around 2K bytes for the directories and extended system variables.

NEW* clears the Basic program area without resetting the WOF.

OPEN #stream, "channel" opens the specified stream and assigns it to the specified channel.

OPEN#* stream,"port" opens the specified stream and assigns it to the specified port.

OPEN#* stream,"d:filename" opens the specified stream and assigns it to a data file channel. The channel is opened as an output channel, if the file is new, otherwise as an input channel.

PRINT# stream;"string", data, variables sends string or numeric data to previously opened output stream.

SAVE *"d:filename" LINE run saves Basic program in memory to drive specified. Optional LINE suffix gives autorun facility. Error report if file already exists.

SAVE *"d:filename", start, length, run saves machine code bytes from memory. Optional autorun facility. Error report if file already exists.

SAVE# provides same features as above, but allows overwriting of existing file.

VERIFY* "d:filename" verifies Basic or machine code program on wafer against that stored in memory.


26 error reports


Serial RS232 interface with software selectable baud rates from 110 to 19200 baud. Sending and receiving of text and binary files. Centronics parallel output port.


Excellent 68 page manual with good introductory instructions, full explanation of entire system including parallel and serial port usage, complete command summary, error report list and valuable information for experienced programmers including memory map and port addresses and explanation of extended system variables.


SPECTRAL WRITER word processing package by Softek with 64 character wide display, extensive facilities including printer configuration.


Slow access time with high capacity wafers. Non-standard parallel and serial port connectors require specially configured cables.


Excellent value for money system offering two drives, Centronics and RS232 ports and useful word processing package. Despite similar performance to ZX microdrives, the drive system has a more rugged and reliable feel. The Wafadrive system doesn’t provide local area networking, but has extra parallel port for low-cost printer connection.


Entrepo stringy floppy wafers with infinite loop 1/16" width various length tape for 16K, 64K and 128K capacity. Write protection by removable tab. Life expectancy approx. 5000 passes. Prices
16K Wafa £2.49
64K Wafa £2.79
128K Wafa £2.99


Number of drives: 2
Storage capacity (formatted) max. 128K
Sector size: 1K bytes
Number of sectors: up to 128
Transfer rate: 18K Baud (2K bytes/sec)
Tape speed: 10"/sec (fast search 15"/sec)


Formatting (approx):
16K 47 secs
64K 2 mins 30 secs
128K 4mins 42 secs
Cataloguing (approx):
16K up to 8.5 secs
64K up to 27 secs
128K up to 47 secs
Loading a screen (approx):
16K up to 12.5 secs
64K up to 29.5 secs
128K up to 51 secs




Centronics £12.95
RS232 £10.95



The package consists of the disk interface unit which connects to the expansion port of the Spectrum and a software disk. No disk drives are supplied. The unit was tested using a twin 5" disk drive unit with integral power supply kindly lent to CRASH by Cumana, ‘the best memory people in the business’ (no chance of them forgetting their equipment on loan!).

The BETA disk interface feaures a standard Shugart compatible disk drive port at the righthand side, to which the required disk drive or drive may be connected via a flat ribbon cable. Up to four disk drives can be connected to the system and these can be 40 or 80 track, single or double sided. To the rear of the interface is a expansion port for further Spectrum add-ons and the ‘Magic Button’ which activates the RAM Image Saver. To the left is situated a reset button.


On power-up the system boots up into the Disk Operating System (DOS) environment and not in Sinclair Basic. The interface automatically checks the drive specification and adjusts its speed and format accordingly. Access to the disk system is gained by use of the DOS commands. At any time Basic may be called up via a RETURN command. Re entering DOS is via RANDOMIZE USR 15360. The DOS commands can be used in Basic in the form of a RANDOMIZE USR:REM: call, similarly in machine code via a CALL 15363 command after having changed the Basic variable CH ADD to point to an address line buffer. A program stored under the name of ‘boot’ may be run by simply Win g RUN and ENTER. The DOS caters for random access files, which allows proper database operation.

At the press of the ‘Magic Button’ the running program is interrupted and the whole image of the RAM is be saved on disk. The image may be retrieved from the disk to the RAM with the program continuing to run from where it was interrupted. This means that games may be loaded via cassette in the usual way and once the loading sequence is completed the program may be saved to disk without the change of a single byte in RAM to upset the continuation of the game. This provides a disk copy of any game which runs on the Spectrum and should prove to be a nightmare for any software house if it isn’t for the fact that very few Spectrum owners can actually afford a disk system. The disk system requires a buffer of 256 bytes (one sector) and uses the printer buffer of the Spectrum. Before the buffer is used, it is stored on the system track of the disk. When the operation is completed, the original printer buffer data is reloaded from disk. RAM data is only lost if the disk is write protected. The software disk provided with the interface contains a range of useful disk utilities.




CAT lists the files on disk. The listing can be dumped to a channel when the command is extended to CAT# number.

COPY copies specified source file on source drive to destination file on destination drive. Will not work with single disk system.

CLOSE# channel-number closes specified channel.

ERASE removes a file from disk

FORMAT checks the drive specification and formats the disk. A doublesided disk drive can be forced to format as a singlesided with a disk name starting with ‘$’. This is essential for use with the RAM saver.

GO TO "filename" CODE loads and runs a saved RAM image.

LOAD loads program from disk to memory. A Basic program stored with a line number will autorun from that line number, Otherwise the program will be automatically listed. When loading a machine program, it can be relocated with LOAD "filename" CODE new address.

MERGE merges Basic program with the program in RAM.

MOVE repacks the files on disk.

NEW changes the name of an existing file on disk.

OPEN #channel-number,"filename"W opens a channel for write. To save a string to disk in filename requires a Basic function PRINT$channel-number.

OPEN #channel-number,"filename"R opens a channel for read. To read data from filename on disk requires an INPUT #channel-number; variable.

INPUT #channel-number; (record-number), variable-name reads a record from the file when random access file is open.

OPEN channel-number,"filename" RND, record-length opens a file for random access.

PEEK reads any required part of a file on disk and transfers the data into RAM. A complete sector is read and transferred to the specified location within the Buffer RAM.

POKE writes a specified sector of data from RAM to any location on disk.

PRINT #channel-number; recordnumber, variable-name writes a record to a file when random access file is open.

RANDOMIZE USA 15360 calls up DOS from Spectrum Basic.

RUN "filename" loads and runs Basic program filename.

RUN "filename"CODE loads and runs machine code program filename.

SAVE "filename" saves a Basic program.

SAVE "filename" LINE number saves a Basic program run from line number.

SAVE "filename" CODE n, m saves a machine code program.

SAVE "filename" DATA a() or a$() saves a variable or character array.

40 informs the system that the currently selected drive is a 40 track drive. Required for drives without an end stop switch.


Disk error indication with retry, abort or ignore option. If DOS commands are from Basic or machine code programs, the error code is stored in the Z80 register pair BC. To obtain the error code, a variable is set equal to the DOS command. The variable takes on the value of the error code on completion of the DOS command.


RAM image copier for storing protected commercial programs on disk. Utility disk contains programs tapecopy and filer, which are disk utilities.


32 page manual with TR-DOS V4 addendum does not make for easy reading. Includes advice on using DOS commands in Basic and machine code programs, error message coding, pin connections and explanation of disk utilities.





Excellent value disk interface with random access facility and superb Ram image saver for games collection on tape (naughty but nice...)


Depends on drives connected.


Number of drives supported per system: 4
Storage capacity: up to 640K (80 track doublesided)
Sector size: 256 bytes
Number of sectors: 16 sectors per track


Formatting: approx 35sec
Cataloguing: approx 2sec
Loading a screen: approx 3.5sec


£109.25 inc VAT Plus £4.00 p&p