REVIEWS COURTESY OF ZXSR

ZX Microdrive
by Ben Cheese
Sinclair Research Ltd
1983
Sinclair User Issue 33, Dec 1984   page(s) 97,98,101,102

RACING TO THE TAPE

Speed, economy or reliability? We take three of the fastest systems out on the track for a test drive.

It is now just over a year since the introduction of the microdrive, and in that time it has done more to inhibit the serious use of the Spectrum than any other add-on. Before you put pen to paper and write to us, an explanation is perhaps in order.

Users of the BBC, Commodore and other home computers expect to be able to add a fast storage medium - disc, hobbit and so on - to their computer and to be able to buy software in that format. There is an accepted format for both interfaces and recording medium and therefore software houses can develop programs knowing that they will be able to sell them.

The announcement of the microdrive, roughly a year before it actually saw the light of day, inhibited manufacturers from developing a standard, as Kempston had done with its joystick interface. The stories of unreliability, unfounded or not, also inhibited software houses as they could not ensure that any programs sold on cartridge would always work.

Finally, the price, scarcity and difficulty of duplicating microdrive cartridges gave few writers the confidence to market programs on cartridge. At the time of writing the number of programs available on cartridge can be counted on one hand, with a few more that are 'microdrive compatible', and none which were specially written for it other than copiers.

Despite that the microdrive is undoubtedly a remarkable device. It makes available a form of fast storage which many people would otherwise be unable to afford and, within limits, provides a usable system. It is only recently that it has been readily available and so perhaps now it will be accepted.

Because of those problems and delays, other manufacturers felt that they could do better and so there are now many other fast storage devices available, with more due to be released. While some are undoubtedly better, and more expensive, than the microdrive they all share one common problem, and that is that because there are so many different systems it is largely left to the user to convert software to run on them. With the ever present spectre of software piracy few software houses make their programs open to inspection and, due to the fact that most of the systems take up valuable memory space, some programs can not be converted even if you are able to break into them.

Your own programs, however, should be easily convertible; you are unlikely to write Basic programs in excess of 35-40K, and if you are able to write in machine code then you should be able to move it to an unused part of memory. The problem with commercial tapes is that the usual format is to have a Basic loader program which lowers RAMTOP and then loads a screen display followed by some machine code. It is the lowering of RAMTOP which causes the problems.

A BASIC program unusually starts at address 23755 - chapter 24 of the Spectrum manual suggests that you enter CLEAR 23800 (i.e. lower RAMTOP to that address) to see what happens when the computer runs out of memory. In order to be able to enter a short line of Basic you will need about 100-200 bytes of memory, so the minimum address to which you can usefully CLEAR is 24000, giving approximately 100 spare bytes. With the more popular commercial games it is quite common to CLEAR to 24000-25000 and so you can see that there is not much space left. With a program written for the 16K machine it is not uncommon to clear down to 23900. The simple answer is that the less memory the system takes the more programs you will be able to convert.

A good indication of that is the sector size. With microdrive and disc the data is held in blocks known as sectors. Those blocks are loaded into memory by the system one at a time and then moved to where they are required. For example, with microdrive the sectors are 512 bytes long, so you will need the operating system of about 100 bytes plus 512 for the sector and 83 to hold the additional channel information - say, 700 bytes spare or a minimum clear of 24700, more if you want to use two drives.

Another problem may be that of speed. Almost anything is quicker than cassette; a commercial 48K game takes about five minutes to load, but the method of storage will affect the speed. A microdrive uses a continuous loop of tape and so if the sector you want is next on the tape it will be very quick. If it has just passed that sector then the microdrive will have to go all the way round the tape, and so take longer.

A disc, however, normally stores the data in a number of concentric circles, known as tracks, and each track is divided into sectors. As the disc is spun very quickly those sectors are readily available. Overall, the time it takes to find a sector is largely determined by the time it takes to move from track to track. This can be as little as 3ms, 3/1000 ths of a second.

There is, finally, the problem of reliability. If you are writing your own programs or using the Spectrum for business then the system must be 100 percent reliable. That can only be judged with time and any comment on a new system can therefore only be an educated guess.

The first system looked at was the Challenge Sprint. That is a fairly new system and also the most straightforward. It is, simply, a normal cassette mechanism which has been converted to run the tape at four times the normal speed of 15/16 ips, (inches per second).

A flexible lead plugs into the back of the Spectrum and, on the back of the cassette, there is an extension port. It takes its power from the Spectrum. The Sprint recognises all the normal tape commands, whether used from Basic or code, and therefore is very simple to operate. To load a tape you use the usual LOAD "" command and press play.

The advantage of the system is that you do not have to convert any of your programs. The only programs which it would unable to load would be those which use their own, non-standard, loading routine such as Halls of the Things, or those where the time between the sections of program is very important.

The reduction in loading time is good; Scrabble, by Psion, which normally takes four minutes and 48 seconds to load, now takes only 1.16 minutes. Saving a straight 64K block took 1.15 minutes.

To have a means of measuring the speed of the different systems the following program has been used:

10 FOR n= 1 TO 30
20 SAVE ("test" + STR$ n) CODE 32000,200
30 NEXT n

with line 20 changed as required. When saving with the Sprint it takes 2.36 minutes, and on loading 2.37 minutes.

The disadvantages of the system are largely the same as those at a normal cassette. You cannot control the cassette motor from software and so you cannot load selected programs without correctly positioning the tape by hand, or running through the whole tape. A note must be kept of the tape counter in order to find a program and, due to the speed, that must be very precise.

The cassette does not have any volume or tone controls and so when loading your own programs it is a case of all or nothing - if a program does not load then it is not going to. You cannot then try to load it using a normal cassette recorder without disconnecting the Sprint as it expects all tape commands to relate to itself. All the commercial tapes which were tested, however, loaded without problems.

The only other possible problem is the speed itself. Cassettes are not designed to be played at the speed at which the unit operates and so, despite having a good system which accelerates the tape to playing speed, when using Stop, Fast Forward or Rewind sudden speed changes occur and the tape is liable to stretching. The only way round that would be to only use those commands when you are certain that there is nothing on the tape at that point. It will Autostop from Play at the end of a tape.

Surprisingly, some people want to use the Sprint with their microdrives. Early versions were not compatible with but that is now being corrected. When ordering it would be best to state if you intend to use it with a drive or not.

If all you want to do is load commercial tapes faster than normal and you do not want to worry about converting then this is the system for you. It is easy to use and provided the above points are remembered it should prove reliable.

The Sinclair microdrive has a number of good and bad points but it is the least expensive way of adding a fast storage/random access device to the Spectrum. Sinclair is selling currently a package of Interface 1, microdrive and four software packages for £99.95. The software is Tasword II and Masterfile, both of which are easily convertible anyway, and Ant Attack and Games Designer from Quicksilva. An introductory program and spare cartridge are also included.

The amount of space taken up by the operating system, and the increased length of the commands, have caused some users to experience difficulties in converting tape-based programs to run on it. Some games, such as Jet Set Willy, are easily convertible while others, such as Sabre Wulf or Scrabble present difficulties. In some cases it should be possible to modify the Basic loader program, either by standard memory saving techniques - such as using VAL or PI/PI to cut down the number of bytes used by numbers - or by loading the Basic in more than one part. If you are able to write your own machine code routines then a system of using the screen as a buffer, moving the Stack Pointer and then a block move will work in most cases.

Each of the cartridges can hold a minimum of 85K of data. That can sometimes be increased by repeatedly formatting it, each Format command taking 24 seconds.

Using the test program given above the microdrive takes 3.42 minutes to save and only 14 seconds to load. If, however, line 10 is changed to:

10 FOR n = 30 TO 1 STEP - 1

so that the sectors are not loaded in sequence, it takes 3.15 minutes. Erasing also takes quite a long time as a number of checks are made by the system when that is done. Using the test program with line 20 set to Erase it takes 3.46 minutes. Simpler commands are much quicker, a 64K block is saved in 18 seconds and CAT performs in only 7.5 seconds.

As well as the usual tape based commands for BASIC, CODE and DATA it is also possible to open files to the drive and send information to it. That can be very useful but it presents two problems. Every channel which is opened takes up memory and the data can only be accessed serially, so if you want the last piece of information on the file you have to Read all the way through it. That can be time consuming.

To run a microdrive you also need Interface 1. That gives you a RS232 port, useful for running a modem or printer and a network facility. Both are very useful additions but unfortunately most low-cost printers use Centronics rather than RS232 and the add-on kit for an Epson printer, for example, is in the region of £70. Moreover, while Spectrums can be networked there is some confusion as to whether or not the system will work with a QL, and if not that will mean additional software, on top of the 276 bytes used by the system.

Whether you love or hate the microdrive it cannot be ignored. If your pocket will not stretch any further then it is worth consideration, but bear in mind that it cannot be used on any other computer and so when you upgrade your system it will no longer be of any use. The manual supplied with it is not up to the usual high Sinclair standard, so you would do well to get one of the many books published about it. Mastering Your ZX Microdrive, by Andrew Pennel, Sunshine Books, or Spectrum Microdrive Book by Dr Ian Logan, Melbourne House, can both be recommended. The former contains many useful programs and a list of ROM bugs, the latter was written by the co-author of the ROM and contains a wealth of information.

The newest addition to the range of fast storage devices is the Wafadrive from Rotronics. That is an unashamed attempt to beat the microdrive in terms of the facilities it offers. For the price of £129.99 it offers two drives, Centronics and RS232 ports and, as an introductory offer, a word processing package, Spectral Writer by Softek, which in many ways rivals Tasword II.

On power up the Spectrum behaves as usual until the Wafadrive Operating System (WOS) is called. That is done by entering NEW *, at which point a copyright message is displayed and the system is ready to run. The syntax of the WOS has been well thought out, the normal Spectrum commands are used with the addition of the * to indicate the wafadrive rather than tape in the form:

SAVE *."test"

That applies to all the normal tape commands except DATA. CODE can be made to autorun with the addition of a third parameter. The save name is converted to upper case by the system.

A system of defaults is used so the above line would save to the default drive; if that was the A drive and you wanted to save to the B drive the command:

SAVE *"b:test"

would be used. The default drive can be easily changed using CAT # "b:".

Other useful features are LOAD *, which loads the first program on the wafer, ERASE * "te*" which will erase all programs starting with te and SAVE #"test" which will overwrite an existing program called test. That is useful when developing a program as usually any attempt to save using an existing name will cause an error to protect your programs from accidental erasure. CLS* will reset the ink, paper and border colours to the start up black and white.

It is not possible to save DATA in the usual way. A system of channels and streams, as used on the microdrive, are used with information being PRINTed to it and INPUT back; INKEY$ can also be used. MOVE is used to copy programs from one drive to the other. That will not work with programs which have been protected. FORMAT is used to format a new wafer and also to set the baud rate of the RS232 channel.

When the WOS is initialised it sets aside an area of memory for its own use. That contains a directory of both drives, a 1K buffer into which the sectors of data are loaded and space for the variables used by the system. That takes up 2292 bytes, each additional channel opened takes 1044 bytes and the Centronics interface a further 11 bytes. With so much space taken up, the number of commercial programs which can be easily converted is very small. Fortunately, Rotronics are working on filing and spreadsheet programs for business users and hope to be able to release games in the near future.

Wafers are available in three sizes - 16K, 64K and 128K - and the smaller the capacity the quicker the system will work. Each wafer contains a continuous loop of tape and is designed so that a metal tab protects the tape when the wafer is removed from the drive.

When testing the system for speed a 64K wafer was used, being middle of the range and most useful to 48K Spectrum owners. Formatting the wafer takes 2.10 minutes; 73 sectors are found, one used for the directory leaving 72K available for storage. A maxi- mum of 32 files can be kept on a wafer due to the design of the directory.

Using the test program it takes 14.55 minutes to save, due to the tape doing one complete revolution per save. It also gives an out-of-screen error after 22 saves as the drive prints what it is saving on screen. Loading in sequence takes 14.30 minutes and 14.08 when using a STEP of -1 ; when erasing it also takes 14.08 minutes. If the wildcard facility is used, i.e. ERASE it only takes 29 seconds because the tape only has to make one revolution. It would therefore seem that with a 64K wafer the minimum LOAD/SAVE time is about 30 seconds; a 64K block takes 40 seconds to save.

The manual supplied with the drive is well laid out and informative about the drives but lacking in respect of the ports. Apart from setting the baud rate it does not explain how to alter any parameters when printing. It appears that codes below 32 are not sent, other than 13 and/or 10 except by using CHR$, codes 32 to 164 are sent as normal and all tokens, codes 165 and above, are expanded. That is adequate for most simple printing but some modems require parity and stop bits to be set (or not) on RS232 signals and printers can use differing line feed settings.

Overall the system has much to offer, proving more reliable than microdrive due to the design of the wafers, but the memory usage is very high and its speed slow compared to other available systems. It will probably be popular with business users where reliability is paramount and the Spectral Writer program is a good indication of what can be achieved. It is very similar to Tasword II in operation, whose text files can be loaded directly, with additional features such as page headings and numbers. It is rather quicker although some of the features are not so convenient, it tends to work on the text file globally rather than by paragraphs and so when justifying the file you cannot do so selectively. It can give odd results, as is found when there are two words on a line at the end of a paragraph and the file is justified. The words are moved to the far left and right rather than both to the left margin.

Provided you do not want to convert your own programs or can use the machine code method of using the screen, and you are not worried by the lack of speed then the two drives and ports are very useful. If you use the MOVE command to make back-up copies of wafers be prepared though to take a long coffee break.

Next month we look at some of the floppy disc systems available for the Spectrum. Both 3in and 5 1/4in systems are now available including one which we shall be revealing exclusively and which will raise a few eyebrows. We will also include a table detailing the performance of all the drives now available.

Challenge Sprint, £69.95 from Challenge Research Ltd, 218 High Street, Potters Bar, Hertfordshire.

Sinclair Microdrive Expansion Pack, £99.95 from Sinclair Research, Stanhope Road, Camberley, Surrey.

Wafadrive. £129.99 from Rotronics, Santosh House, Marlborough Trading Estate, West Wycombe Road, High Wycombe, Buckinghamshire HP11 2LB.


Transcript by Chris Bourne

ZX Computing Issue 9, Oct 1983   page(s) 93,94,95

AT LAST!

Over the past year there has been much speculation on the design and capabilities of the Microdrives. Chris Palmer investigates.

It's hard to believe it's finally here. After long months of waiting and speculating, the ZX Spectrum Microdrive has finally appeared. By the time you read this, thousands of people will be exploring the delights of these little black boxes.

So, what do you get for your money? First off it will not be any good buying a Microdrive on its own. The reason for this is that the operating system is contained in ROM on another device called the Interface 1. It is these two units we will be looking at in this review.

FIRST MOVES

So having paid £29.95 for the Interface and £49.95 for the Microdrive, what do you do with them? The first move is to connect the Interface to the Spectrum. The Interface takes the form of a long black plastic box. It is the same width as the Spectrum, about two inches deep and the same height. Raised out of the back of the Interface is the connector. This plugs into the Spectrum's expansion socket, placing the rest of the Interface underneath the body of the Spectrum. It is possible to permanently attach the Interface to the Spectrum by removing the two screws from the back of the Spectrum's case and replacing them with the screws which are included in the Interface.

On the left side of the Interface is a cutaway slot which houses an edge connector. Onto this you push one end of the ribbon cable supplied with the Interface. This will provide the link to the Microdrive. One thing to be very careful of is which way round you attach the cable. Because the connector isn't keyed, it is possible to reverse the connections on each end. If you power up the system with these connections reversed then you can almost certainly say goodbye to the Microdrive and possibly the Spectrum as well. Needless to say we did not test this eventuality!

Interface 1 uses do not stop at controlling the Microdrive, however. For your money you also get an RS232 Interface and a network capability. From left to right across the back of the Interface you have the following ports: Spectrum expansion port {this is simply a repetition of the port on the back of the Spectrum and will allow the connection of other Spectrum peripherals as normal), two 3mm jack sockets for the network and a 9 pin D-type socket for the connection to RS232 peripherals. More of these later.

THE MICRODRIVE

The Microdrive is about the size of two cigarette packets placed on top of each other. On either side of it are the slots into which the ribbon cable connectors fit. The rest of the case is unbroken save for a tiny slot on the front into which goes the cartridge and an L.E.D. Contained with the drive is the control circuitry, motor and read/write head.

When the Microdrives were first hinted at we were led to believe that they were to be smaller brothers to the 5.25" disc drives which were available for other micros. Not so. The Microdrives use a system not a million miles removed from the old eight-track cartridge players. That is to say that inside each cartridge is twenty feet of tape, joined in an endless loop. This is hard to visualise at first because the cartridge is about the size of a match box and only a couple of millimeters deep.

At first sight the cartridges have a very fragile appearance, but they seemed to stand up to the punishment which was inflicted upon them during the review. Sinclair Research claim the tape will remain stable for at least 5,000 accesses, but given the fragility of the system I think it would be necessary to keep back-up copies of your software.

Storage capacity for the cartridge can be anything between 80K and 100K. The cause Of this imprecise figure is due to the action of the Microdrive when formatting a new cartridge. When you do this the cartridge is checked for any faulty sectors on the tape. If one is found, the tape will be marked to prevent from using this bit. On average, the cartridge usually comes out of formatting with around 90K clear. If this figure is below 80K then Sinclair Research will replace the cartridge.

One slightly worrying point about the operation of the cartridge is that the read/write head stays in contact with the tape at all times. Given that the tape runs at 30 ips you would think that head wear would be a major problem. However, the Sinclair Research engineers claim that the head should remain intact for the active life of the unit. It could also be quite horrific if the tape broke. You would end up with five or six feet of tape in the drive before you even knew that something was wrong!

Access times off the drive are quite fast. The entire loop will pass through the drive in ten seconds. For a 48K program the loading time can be as small as four seconds, but this depends a lot on where the head is positioned in relation to the start of the program. The speed of the drive is best illustrated by loading a SCREEN$. Where as off tape the picture builds up painfully slowly, on the Microdrive it looks very much like someone has opened a Venetian blind over the screen. Very impressive.

THE SOFTWARE

As I mentioned earlier, the Interface contains the drive operating system. Fitting the Interface now gives meaning to all those keywords which you've had on your Spectrum since you bought it and have not been able to do anything with. For a list of the new commands and their syntax take a look at Fig. 1.

Because the network, cassette and Microdrive share some of the same keywords it has become necessary to add some quite long-winded syntax to them. For instance, if you want to load a file from the Microdrive you have to issue the following command:

LOAD* "m"; 1; "name".

The first part tells the computer it is going to load a file, the star tells it that it is one of the new commands, the "m" indicates that the file is coming from a Microdrive, the one tells it which Microdrive and the "name" is the file name. As I said, long-winded, but you get used to it quite quickly.

As well as supporting program files, the Microdrive will also support data files. These are created using the OPEN # command. Using this you can store data sequentially on the cartridge. This is a very fast way of storing a lot of data.

Due to the nature of the data storage system you cannot have random access files. A random access file is a file in which you can access a piece of information without having to read all the items before it in the file. To simulate this sort of file using the Microdrive you would first have to read the entire file into the computer's memory and search for the information you want there.

You can find out what is contained on the cartridge by using the CAT command. Using this command will cause the drive to read the entire cartridge and make a note of the files it finds. It will then display the file names on the screen, along with the name of the cartridge and how many kilobytes of store are left.

You are not restricted to just one Microdrive. You can in fact, link up to eight drives to the Spectrum. At first it was thought that with eight drives attached, the drain on the Spectrum's power supply would be to much. However, when you study the command set it becomes obvious that only one drive can be active at a time. Whilst this is good in as much as you won't melt down your power supply, it does mean that you will not be able to make direct drive-to-drive copies. This means that backing-up your cartridge could become a little tedious, especially if you have a lot of small programs on it. The cartridges have a small tab on the side which can be broken off in the same way as the 'record-protect' tabs on cassette tapes. Doing this will make the whole cartridge read-only.

THE NETWORK

One aspect of the Interface which should excite any educational Spectrum users is the network. By plugging together Spectrums using the jack-to-jack cable supplied you are able to link between two and 64 Spectrums into a network. Once this has been set up you can send and receive data between any or all the Spectrums which are active on the network. You can also use a peripheral attached to one Spectrum from a complete different Spectrum.

It is also possible to broadcast a program from one Spectrum and have all the machines on the network receive it.

Once established, each Spectrum on the net is given a number by using the FORMAT command. Having assigned identifiers to all the Spectrums you can then SAVE and LOAD programs between then using the SAVE* and LOAD* commands. In fact, all the operations carried out over the net are similar to the operations used to move data and programs to and from the Microdrive. Once again the data transfer rate is extremely high. A SCREEN$ takes only a few seconds to be sent and received.

THE RS232

The final function of the Interface is to provide a standard RS232 Interface channel. Using this you can send and receive information from your Spectrum to printers, modems and even different sorts of computers. Figure 2 shows the pin-out specification for the Spectrum's RS232. By using the network in conjunction with a single RS232 compatible printer hooked up to one Spectrum, that Spectrum can then print out anything sent to it from anyone of the other Spectrums.

To compliment the RS232, Sinclair Research can also supply a ready-made interface lead which has the 9 pin D-type one end and a 25 pin D-type on the other. This will be useful as most RS232 peripherals have this sort of connection.

THE CONCLUSION

Overall, I was impressed by the compactness and the thought behind the Microdrive/Interface system. Whilst it is not as powerful as some others and the control of the system tends to be long-winded, there is certainly nothing to touch it for price.

So, what effect will the Microdrive have one the software market? I can see two possible outcomes. First it will be a great help to anyone who likes adventures. Just think of the possibilities in an adventure which can be up to 148K long.

Wordprocessor, database and accounting programs will also now become a viable addition to the Spectrum library. Arcade style games can be made more complex. As soon as you finish one section, the next is loaded off the drive.

That's the positive side. The negative side to the Microdrive is that software will cost more if it is supplied on cartridge. This is because a cartridge costs a lot more than a tape in the first place and it will also cost a lot more to duplicate them. This might mean that only the larger software companies will be able to afford the expense of producing for the Microdrive. So don't throw away your tape recorder just yet!

To conclude, I liked the Microdrive and I was sorry to see the review sample disappear back to Sinclair Research.

One last point. When will other computer manufacturers follow Sinclair Research's lead and provide similar facilities for their underprivileged users?


REVIEW BY: Chris Palmer

Blurb: FIG 1. MICRODRIVE COMMANDS CAT 1 Provides a catalogue of all the files on drive one. LOAD * "m"; 1; "name" Loads the file called 'name' from drive one. SAVE * "m"; 1; "name" Saves the file called 'name' from drive one. MERGE * "m"; 1; "name" Merges the file called 'name' into the program from memory. ERASE "m"; 1; "name" Erases the file called 'name' from drive one. FORMAT "m"; 1; "name" Formats a blank cartridge and gives it the name 'name'. OPEN #4 "m"; 1; "name" Opens a data file called 'name' from drive one. VERIFY "m"; 1; "name" Verifies the program called 'name' on drive one. RUN When typed after a NEW, RUN will load the file called 'run' on Microdrive one.

Blurb: FIG 2. RS232 CONNECTIONS Pin 1 - No connection. Pin 2 - TX data (input). Pin 3 - RX data (output). Pin 4 - DTR (input). Pin 5 - CTS (output). Pin 6 - No connection. Pin 7 - Ground. Pin 8 - No connection. Pin 9 - +9v.

Transcript by Chris Bourne

Your Computer Issue 9, Sep 1983   page(s) 52,53,55

SINCLAIR'S MICRODRIVE PROMISES FAST MASS STORAGE AT A PRICE YOU CAN AFFORD. KATHLEEN PEEL FINDS OUT IF THIS IS THE TAPE OF THINGS TO COME.

Sixteen months after they were announced the first Microdrives are just being delivered. The price is still £50 for a drive which takes 85K tape cartridges instead of the 100K originally promised, but you can find and load a program in a few seconds. You will also need the Interface 1 before you can plug in up to eight Microdrives, but this interface gives you RS-232 and local area networks.

The Microdrive is housed in a box 90 by 85 by 40mm in size with an aperture at the front for loading the cartridge, and printed circuit board edge connections on bath sides towards the rear. The right hand connector plugs via a flexible cable to the interface unit, if it is Microdrive l or plugs directly through a double ended socket to the next Microdrive. The drives are secured to each other by a plate underneath the housings. This should prevent the dreaded wobbles.

There are two small printed circuit boards inside which are without modification. The lower board provides the two edge connections, while the central vertical board houses a ROM and the tape head, which is used for both record and erase functions.

The mechanism is uncomplicated. The drive is generated by a rubber roller mounted directly on the end of the motor spindle. Pressure is applied by a leaf spring on the opposite side of the cartridge. The spring also maintains the cartridge position relative to the head, a very simple and highly efficient set up. My only worry would be head wear due to the abrasive action of the tape.

When the Microdrive is running, an LED indicator is lit. A warning is given not to remove the cartridge while this light is on.

The cartridge is claimed to be able to handle up to 50 files and have a minimum storage capacity of 85K. The two spare cartridges supplied for the review both had 90K of Storage space available when formatted.

Typical access was very fast in comparison with cassettes but, human nature being what it is, you tend to notice when it is slower than usual. It can take longer to type in the load command than to find and load a short file.

The storage media is an endless loop of tape. The cartridge is very small 45 by 35 by 7mm., including cover and makes the opposition's 75mm. floppies seem huge in comparison. The cartridge can be write-protected in a similar manner to cassettes by removing a plastic tab, 8 piece of sticky tape will re-enable write.

I assume that before long we will be able to purchase S100 and S200's - Sinclair 200K - cartridges. In some applications it is quantity of storage rather than speed of access that is important. It will also be necessary to store the cartridges in a holder similar to those available for cassettes. The Sinclair hardware add-on industry is in business again.

Sinclair only supplies one blank cartridge per Microdrive, further cartridges are supplied singly with an order form for repeat purchases. Bearing in mind Sinclair's advice on the need for back up copies, it just is not sufficient.

It is possible to use strings for filenames in the Microdrive commands and variables for the Microdrive number. Because of the initial high cost of the cartridges, it makes sense to produce the tidy facility shown in Program 1.

Program 2 was used to test the file storage capacity of 50 files. Three points emerged from the tests:

- Each file appears to occupy a minimum block of 512 bytes.

- As the limit of 50 files is exceeded, file names disappear from the catalogue in an apparently random fashion, but they still occupy space on the cartridge and are still loadable.

- The average time taken to Save a short file in this manner is 10 seconds.

An attached Microdrive has no effect on the vast majority of commercial software. Only in one case where a program used interrupt control was a program found not to work, and I am not sure why not. If you open a stream to the Microdrive or Net then problems will arise, but if you do not try to use the Microdrive or try to Network a program then it should make no difference whatsoever.

The user is warned not to remove a cartridge while the Microdrive's LED is lit and net to switch on or off with a cartridge in the drive. This I continually forgot with no apparent mishaps to the stored data.

I think the user would be wise not to leave a cartridge in the drive for long periods of storage, the pressure roller may take a permanent set and upset the tape transport.

I would have liked a protective flap over the cartridge entrance, not all drives will be used in a clean environment.

The ZX Interface 1 was also announced in April 1982. It was simply called the RS-232/Network interface board and was expected to sell for £20. Since then it has been expanded and now serves three functions:

- Microdrive controller
- RS-232 interface
- Local-area network

This little box of goodies is something special. There are flaws but it is still a very powerful addition to the Sinclair range of computer peripherals.

Surprisingly the two printed circuit boards in the Microdrive show no signs of modification whereas the printed circuit board in the interface has been altered. The board contains two integrated circuits, a prototype Ferranti LSI and an EPROM.

A Sinclair spokesperson has stated that the equipment delivered to customers will, in fact, contain proper production devices.

The interface plugs into the Spectrum rear connector and is attached through two existing screw holes to the underside of the Spectrum, the original screws may be discarded. A duplicate rear connector port is available on the interface as are the two 3.5mm network sockets and the nine-pin d-shell connector for the RS232 printer/peripheral interface.

The Microdrive plugs into the exposed printed circuit board edge connector at the side through a flexible cable. The whole assembly is rigid and now the keyboard has been tilted, feels much own to use.

The interface unit acting as the Microdrive controller, expands Sinclair Basic to include elementary file handling and communications commands. These are listed in Table 2.

The commands are created by paging the new ROM which creates an additional set of system variables. It looks from an cursory glance, that it is possible to re-vector the input-output routines used in both the Microdrive and Network channels.

The commands become a bit of a chore to handle after a while and you are soon driven to looking at producing your own simple operating systems.

Program 1 - tidy - is useful in containing the very rapid growth of a user catalogue Program 3 - shell - is a means of handling the entire catalogue without coming up with the End Of File message and having unclosed streams and files.

Line 80 can be changed to provide whatever function the user wishes to apply to the catalogue. The printer outputs are not essential, they are there purely to aid fault finding.

The RS232 interface, which operates over a range of 50 to 19.2K baud with no parity, 8-bit character and two stop bits, should cover just about all but split-speed operation. There are two modes of operation.

The t channel is normally used for listings, the control codes are not sent except for 13 - carriage return - and the token codes are expanded. There is no graphic capability. These characters are replaced by code 63 (?).

The b channel sends the full 8-bit code and is used to send control codes to printers etc. Program 4 was written in order to produce this review and demonstrate the use of these channels. The Tandy four-colour printer has been used as the remote end of the RS232 interface, control codes are used to change to graphic and text modes, change pen colours and print size.

I can not recall ever having said that something from Sinclair was expensive, but £15 for an interface lead is a bit steep.

The ZX Net - local area network - promises to be a very powerful tool. The network is set up by simply joining two Spectrum interfaces together with the 10ft long net lead. The manual reveals a network operating at 100K baud with handshaking between two attached devices. Up to 64 Spectrums can go on the net.

PRINT STATION FACILITY

There is also a broadcast facility to download information to anybody listening on the net. This would permit a teacher to broadcast a program to the whole class at once.

Other uses include the ability to set up a print station to service all the Spectrums on the net. Perhaps when Sinclair has managed to clone a few interfaces these properties can be evaluated.

The manual falls short of the usual high Sinclair standard due, in part, to the fact that it is not a derivative of an earlier work. Everything appears to be there but I think some of the text needs presenting in a much simpler form.

The demo tape contains a print server program, untested, and a poor-man's Horizons tape-a-database-program which provides the meaning of the Microdrive commands from a database at what can only be described as slow, I was not impressed.

CONCLUSIONS

The drives possess slightly less storage than hoped, they cost slightly more and they are slower than expected. Nonetheless another outstanding Sinclair buy.

The interface is a real gem. I know of some professional systems that could not match its performance.

Together the devices have worked without any problems throughout the review period, a very good sign.


REVIEW BY: Kathleen Peel

Blurb: PROGRAM 1. 10 DATA ": REM Files for deletion" 20 DATA 'zxc' 30 RESTORE 40 READ a$: IF a$ = 'zxc' THEN GOTO 70 50 ERASE 'm';1;a$ 60 GO TO 40 70 CAT #3,1: STOP

Blurb: PROGRAM 2. 10 LET a$ = 'kate' 20 LET d = 49 30 LET b$ = a$: LET a$ = a$ + CHR$ (d) 40 SAVE *'m';1;a$ 50 LET a$ = b$ 60 LET d = d + 1 70 IF d = 110 THEN CAT #3;1: STOP 80 GO TO 30

Blurb: TABLE 1: MICRODRIVE COMMAND FORMAT LOAD* "M";1;"NAME" The * indicates load from a microdrive. SAVE* "M";1;"NAME" LINE 10 Set name to run for autorun startup Line optional VERIFY* "M";1;"NAME" MERGE* "M";1;"NAME" Will not merge programs saved with a line number. ERASE "M";1;"NAME" FORMAT "M";1;"TITLE" Title refers to a header for the cartridge

Blurb: TABLE 2: EXTENDED BASIC COMMANDS CAT Y Y is Microdrive number 1 to 8 CAT #Z;Y Z is stream number 0 to 15 CLOSE # Z ERASE "M";Y;"NAME" NAME is a file name FORMAT "M";Y;"TITLE" TITLE is a name for the cartridge. FORMAT "N";X N means Network and X station No. 0 to 64 FORMAT "T";S; T indicates RS232 text and S is the baud rate. FORMAT "B";S B is for RS232 binary data. INKEY$ #Z Return a character or null. INPUT #Z;Vat Inputs e variable. LOAD * CHAN Load prog, data or file from B M or N channel, all other load options apply. MERGE * CHAN MOVE from TO dest Only moves data OPEN #Z;CHAN Link stream to channel. PRINT #Z Outputs to specified stream. SAVE *;CHAN Saves prog, data or code to B M or N channel only. VERIFY *; CHAN Channels data can be sent to various devices, your screen, ZX printer, microdrive file, another Spectrum on the same network and the RS232 interface. Data can be received from the following devices, the keyboard, a microdrive file, another Spectrum on the same network and the RS232 interface. These devices are known as channels. Streams: the routine from one channel to another is called a stream, there are sixteen streams in the Spetrum system.

Transcript by Chris Bourne

Crash Issue 21, Oct 1985   page(s) 104,105

THE EXPRESS GANG

If you don't enjoy your tea while waiting for your program to load from the audio cassette recorder, or you're just generally of a nervous disposition, you will have considered acquiring an improved storage medium for the Spectrum. Most people reckon that they can transfer their games collection on this new acquisition and will be able to call off any desired game at the bat of an eyelid! Whoops, not quite so...

Most storage devices require some sort of operating system, which enables the user to access the various functions. With the Spectrum this usually means that the operating system provides an extension of the BASIC instructions, without interfering with the normal cassette commands. These functions can thus be called up within BASIC and executed either directly from the keyboard or from within the BASIC programme. The commands are usually reminiscent of the BASIC Microdrive commands, but do vary quite a bit from disc system to disc system. The only other alternative access to the drive functions is via machine code, but unless the manufacturers provide the necessary information regarding the entry points to the various machine code routines, this approach may be impossible or of little interest to the average user.

It may be noted that until recently none of the drives had a hardware triggered interrupt facility, which would allow the games program execution to be interrupted and the complete contents of the Spectrum memory to be dumped, a perfect way of copying cassette games onto disc/cartridge. The Microdrive in combination with the excellent Mirage interface manages to do this and the latest addition is the improved version of Technology Research's Beta Disk interface with TR-DOS V4.

For the other interfaces, if the user knows what he is doing, there is the possibility of breaking into the program and manipulating it onto disc in various sections, but only if the operating system memory requirement does not interfere with the program execution area.

The drives vary considerably in the memory requirements and some drives make it their business not to use a single byte of the standard 48K available to the Spectrum, an obvious advantage.

In this issue of CRASH Franco Frey begins a survey of the Spectrum fast storage market which will include such mundane things as the Sinclair Microdrive right up to systems which make the Spectrum appear to be an add-on.

Not all these storage devices belong to the desirable group of floppy disc drives. We review Microdrive/Interface 1 lookalikes such as the Wafadrive with its stringy floppy cartridges; the latest entry, the Triton, with its peculiar spiral track motion disc system and the horde of standard Shugart compatible floppy disc drives such as the Beta Disc, Kempston, Timex, and Opus. Many of these products include added benefits such as serial and parallel interfacing and some even provide joystick interfaces.

The units will be individually reviewed and scrutinised right down to the last bolt or screw. We shall be specifically looking at the cost and performance of the individual storage media, the mechanical and electronic performance of the devices and, most important of all, how the operating systems involved interface with the good old Spectrum.

So here comes the crazy Express gang....

HARDWARE:
ZX INTERFACE 1 stacks under the Spectrum and uses the Spectrum system edge connection. It includes a 9-pin D serial port connector and the LAN input and output sockets and provides also an extension port for further add-ens. The MICRODRIVE connects via a pluggable flat cable to the INTERFACE 1. Further MICRODRIVES can be stacked side by side.

SYSTEM DESCRIPTION:
The Interface 1 incorporates the Microdrive controller, a local area network (LAN) and a serial RS232 interface. Up to eight Microdrives may be accessed, with each having a formatted capacity of more than 85K. The system commands are incorporated as a BASIC extension in a shadow ROM. Two new concepts have had to be established, the CHANNELS and STREAMS. The various functional parts of the computer system are defined as channels to which data can be sent. There are seven types of channels, the keyboard (k), the screen (s), the ZX printer (p), the text RS232 interface (t), the binary RS232 interface (b), the network (n) and the Microdrive (m)). A network channel requires a station number "n"; x where x is in the range of to 0-64. A Microdrive channel requires a Microdrive number and a file name "m"; y; "name" where y is the Microdrive number (1-8) and the name is a string between 1 and 10 characters long. The routes along which data flows to and from the channels are known as STREAMS. There is a maximum of 16 streams #0 - #15. Apart from the four streams #0 to #3 the streams may be between any input and output channels. Streams #0 and #1 output data to the lower part of the television screen and input from the keyboard. Stream #2 outputs to the upper part of the screen but cannot input. Stream #3 outputs via the ZX printer, but cannot input. Stream channels have to be opened and closed for use.

OPERATING SYSTEM:
Extended Basic residing in 8K shadow ROM.

SYSTEM COMMANDS:
RUN automatically loads and runs after a NEW or after switching on any program stored under the name "RUN" in Microdrive 1.

CAT [#x] displays an alphabetically ordered list of all files in the cartridge of Microdrive n. With the optional stream statement the catalog can be sent to the specified stream.

LOAD * "m"; n; "filename" loads a program from Microdrive n with the name "filename"

SAVE * "m"; n; "filename" [LINE x] saves a program to the Microdrive n under the filename. If the line statement is included, the program will automatically run starting from line x.

VERIFY * "m"; n; "filename" verifies, ie compares the data of the just saved file on Microdrive n with the file still residing in RAM.

MERGE * "m"; n; "filename" merges the program from Microdrive n with the existing BASIC program in RAM.

ERASE * "m"; n; "filename" erases the program from the Microdrive cartridge in the specified Microdrive.

FORMAT "m"; n; "name" formats the Microdrive cartridge on Microdrive n and gives it the specified cartridge name.

OPEN #x; "m"; n; "filename" sets up a new channel "m"; n; "filename" and attaches it to stream #x. If a filename is not to appear on the catalogue, it can be protected by giving it a name beginning with the character whose code is 0. The file will not appear on the catalogue.

PRINT #x, data outputs the print sequence data to the specified stream. The print statement can use three forms of separators: semicolon prints nothing; comma takes the cursor to the next half line and apostrophe gives a new line.

CLOSE #x unlinks any channel from the specified stream after emptying the respective buffer.

INPUT #x, data inputs the variable from the specified stream.

INKEY #x returns a single character as a string from the stream if a character is available, and returns a null string if not.

MOVE #x TO #y moves data from the source (x) to the destination channel or stream (y). This allows you, amongst other things, to make backup copies of data to another Microdrive and can also send complete files to the printer.

ERROR REPORTS:
Extensive with over 21 error reports.

EXTRA FACILITIES:
Local area network connects up to 64 Spectrum workstations.
Serial RS232 interface with software selectable.
Baud Rates from 50 to 19200 text and binary files.

MANUAL:
Comprehensive

APPLICATION PROGRAMS:
Demo program including printer server and network game.

CRITICISM:
Slow access time due to long search periods.
Short cartridge life, occasional tape jamming by pinch roller.
Non-standard RS232 connector (9-pin D)

COMMENTS:
Still the cheapest fast storage system.

MEDIA:
Microdrive cartridge using continuous loop tape (5m x 1.5mm) with write protect tab. Price £1.95.

TECHNICAL SPECIFICATIONS:
Number of drives per system: 8
Storage capacity (formatted) bigger than 85K
Sector size: 512 bytes
Recording density: approximately 500 bytes per inch

TIMING:
Formatting: approx 34 sec
Cataloguing: approx 10 sec
Loading a screen: approx 7.5 sec

PRICE:
Interface 1: £49.95
Microdrive: £49.95
(But look for special deals!)


REVIEW BY: Franco Frey

Transcript by Chris Bourne

Sinclair User Issue 19, Oct 1983   page(s) 27,28,29

SPECTRUM RECEIVES ITS BIGGEST IMPROVEMENT

In this special section Stephen Adams reviews the Microdrive.

The Microdrive with the Interface 1 module has produced the biggest improvement to the Spectrum yet. It cannot do everything a disc drive can do but it is much cheaper and the interface contains three modules for the price of one.

The interface unit controls the Microdrives and RS232 communications/printer interface and a network which allows you to talk to another 63 Spectrum users. The unit fits underneath the Spectrum and an edge connector under its hood pushes on to the back of the Spectrum.

The unit is provided with two screws which replace two of the original screws in the case of the Spectrum to hold it tight and prevent wobble. It also raises the Spectrum 20 degrees to a comfortable typing angle. That system also applies to the Microdrive which has a plastic plate underneath each drive. That can be re-positioned to screw together two adjacent Microdrives underneath the interconnecting socket to strengthen it.

On the back of the unit are three sockets and a duplicate of the expansion connector, so other devices can be plugged in. Another interface by Sinclair called the Interface 2 will plug in there to give access to ROM cartridges and a joystick interface soon. There is a socket on the back of the unit which looks like an Atari joystick interface but do not plug your joystick into it - it is the RS232 interface and you could damage it.

The RS232 interface is a standard way of connecting printers and other devices like modems which use only one wire to pass data across. Each byte is broken into eight binary bits - see the BIN function in the Spectrum manual - and sent down one bit at a time. That method of swapping information is called serial access and is used on all the Interface 1 devices, including the Microdrive.

That involves timing the length of each bit and so the speed of the RS232 can be set to match the speed of the device from which you are sending or receiving data. Speeds up to 19,200 bits per second - the baud rate - can be set easily by POKEing a number into two new system variables listed in the new manual provided with the interface. Those system variables take up number 58 bytes after the ones listed in the original manual.

The RS232 allows you to feed data in and out over the two data lines TX data and RX data but it also has two other control wires to keep an eye on things. They are called DTR and CTS. They are used to tell the Spectrum when information is ready from the device to which it is connected by using the DATA TERMINAL READY (DTR) input. The CLEAR TO SEND (CTS) output does the same but tells the device the Spectrum wants to send data.

None of that appears in the manual and it is assumed that if you want to connect an RS232 device you will know how to use it. Tips are given such as for setting-up the printer to work the Spectrum but they are all about programming. The socket is not a standard socket, so Sinclair will provide a conversion cable at a cost of £14.95 to a full size 25-way 'D' plug.

The RS232 can be sent two types of data, eight-bit binary codes and seven-bit text-only information which omits all control signals and graphics and expands the Basic keywords to full words. The channel is set to "b" or "t" by the FORMAT "t or b"; baud rate command.

The "b" mode usually is used for sending data which controls the RS232 device and therefore should not be printed. The "t" mode is for all the information which normally would appear on the screen. Programs and data can be sent over the RS232 interface easily using the command LOAD* and SAVE*. Those and other asterisk commands indicate to the Spectrum that the new 8K ROM installed in the interface is required and switches it into the ROM area.

It also means that you could use it to write your own Basic commands as any errors, like the asterisk after LOAD, jump to a location in RAM which holds the place of the next machine code instruction. By POKEing that number with the location of your own machine code routine, any errors can be checked for new commands and if a program is running could cause the new command to be done.

Sinclair has made Basic the operating system of all the devices connected to the interface and so you will have to learn to use the channels and Streams information contained in the new manual along with the various extension to Basic provided by the new ROM.

Streams are OPENed by using OPEN # number of stream (from 4-16); "n" (or "m" or "b" or "t"); followed by a "name" for Microdrive files, a station number for the network or nothing for the RS232. The n stands for network, the m for Microdrive and the b or I as described for the RS232. They make the device available for reading or writing to the device, but not both. The stream acts as a tunnel or passage to the device - or channel - for a particular purpose; more than one stream may he OPENed to a channel and the screen, keyboard and Sinclair printer can also be used this way.

A data file existing on a Microdrive, for instance, can only be read. If you wish to put in more data or change the contents you will have to transfer the whole file from one stream to another, creating a different file and making the changes as you go. Programs, however, must be loaded into memory and then SAVEd back on to the device - if possible - in full, using the entire 48K or 16K of memory; it is not possible to INPUT parts of a program.

The "if possible" occurs because the designer of the program would have to let you return to Basic to SAVE it. Cassette recorders can still be used as normal using SAVE, LOAD and MERGE.

All the devices use RAM to store the data in buffers - 595 bytes for Microdrives and 276 bytes for networks - which take up more RAM. They are allocated space after the system variables so that the Start of the Basic program varies depending on how many channels are being used at a time.

OPEN# creates a new buffer and CLOSE# closes the file by writing the whole buffer to the device and then removing the buffer from the memory, freeing the RAM for something else. So using a number of streams means having a smaller program, as up to 595 bytes is needed for each stream. That means that all machine code must be Stored above RAMTOP and not in the program - in a REM statement - otherwise the address of the routine will vary depending on what part of the program you are in. Apart from streams the extra commands are MOVE, ERASE, FORMAT and CAT. MOVE transfers a file of information - not a program - from one device to another.

A good example might be a Spectrum on the network wanting to access information on the Microdrive. CAT provides an alphabetical list of files on a Microdrive showing their names and the amount of free space in kilobytes. Files can be protected from CAT by including CHR$(0) as the first letter in the name. As with cassette files there is no foolproof way of protecting anything on a computer.

ERASE allows you to clear out the file named on the Microdrive and FORMAT allows you to set up the network, Microdrive or RS232 device so that it can be used. Blank Microdrive cartridges must be FORMATed to give it a name and set a catalogue. The network must be given a station number, which can be changed at any time, and the RS232 own he set to the correCt speed - only one speed is allowed - as well as indicating whether it is a text ("t") or byte ("h") channel.

INPUT, PRINT, LOAD, SAVE and VERIFY have all been extended to work with streams using an asterisk after the command. MERGE* cannot be used, however, on data file or on any program having saved with a SAVE*...LINE command, thus providing some software protection in the short term.

The network provides connection for up to 64 Spectrums, via a two-metre-long, two-wire audio lead with 3.5mm. jack plugs on, at 100K baud per second. Anything attached to a stream may use it to transfer programs, data or just INPUT and PRINT statements to one particular station or to broadcast it to every station listening on the network.

INKEY$* may also be used to get individual bytes. The allocation of a station name is spread orally to the various users on the net and more than one station can be allocated the same station number, so you can "listen-in" so long as you know the Station number.

The station-to-station contact is by "pooling" and requires a response from the receiving Spectrum before the information is sent. If no reply is received the sending Spectrum will "lock up" and the border will be black. The BREAK key, however, still works.

Broadcasting information does not do this as it is sent only once and is then forgotten; no response is required. It has not been possible to test that, apart from seeing demonstrations, as we could obtain only one interface but the demonstration was impressive, as it transferred 3 screenful of data in three seconds - a rate of 2K per second.

The Microdrive is a very simple device. It has only two moving parts - three if you include the write-protect switch. The motor and a ratchet which stops the motor reversing are the only moving parts. The tape-head is fixed and two springs either side, which bring the tape to the head and not the other way round, eliminate the need for alignment of the head.

It acts like a very fast continuous loop tape recorder running past the head at 30 inches per second - 16 times as fast as the normal cassette recorder. When the drive is running a red warning LED shows at the front of the drive; the cartridge should not be removed while the LED is on.

The tape-head has two tracks and is switched by software at the end of one track to the Other, giving a continuous loop of 40 feet of tape track. The tape can be protected by pulling off a tab of plastic with a screwdriver which then means it cannot be over-written.

The tape is made of 1.9mm. wide 23-micron thick video tape, which is slightly thicker than domestic home video tape. Sinclair claims that more than 5,000 operations can be done on the tape before it wears out. The tape format is in blocks of 512 bytes called sectors and if a block is faulty it is marked so that it is not used.

All cartridges have at least 85K of space but the amount varies depending on the number of sectors damaged by the manufacturing process. With up to eight Microdrives connected to one Spectrum, 860K can be connected at one time.

The drives are very reliable and I had no failures at all using the demonstration cartridge supplied. The cassettes are in thick plastic jackets to prOtect them from dust and they have to be removed to fit them into the Microdrive. The tape-head is not protected, which is surprising. The cartridge cannot be put in the wrong way round and Sinclair provides two labels for each cartridge, one for the top approx 0.75in. square and a smaller one for the end of the cartridge which can be seen when it is in the drive or its case.

All the equipment tested worked very well and is a remarkable achievement for such a low cost.

There have been no restrictions on hardware add-ons which were not already known and the fact that ROM errors can be intercepted by software will open a new field for software companies. New commands and INPUT protection can be built into any program, machine code or Basic very easily.

Networking should be very useful for schools. A printer server Basic program is included in the manual. It should also be possible to connect other machines to the net such as the ZX-81 and the Jupiter Ace through their cassette ports.

The R3232 will allow access to printers and modems, as well as allowing you to transfer programs between other computers - such as the BBC - which have an RS232 interface.

The offer is at the moment limited to registered Spectrum users at a cost of £49.95 for each Microdrive, £4.95 for each cartridge and £29.95 for the Interface 1. If you want to buy only the Interface 1 it will cost £49.95 and £4.95 postage on top of that must be included in any order. The Microdrive cannot be used without the Interface 1.


REVIEW BY: Stephen Adams

Blurb: 'It is assumed that if you want to connect an RS232 device you will know how to use it'

Blurb: 'You will have to learn how to use the channels and streams information in the new manual'

Blurb: 'The microsdrive is a very simple device. It has only two moving parts'

Blurb: 'New commands and INPUT protection can be built into any program'

Transcript by Chris Bourne

All information in this page is provided by ZXSR instead of ZXDB