ZX Computing1st May 1986
Published in ZX Computing #25
Carol Brooksban looks at two utilities for owners of microdrives and wafadrives
Rotronics Toolkit Wafer/M-Doc
These two programs are designed to make life easier for users of the Spectrum cartridge-based storage systems - Wafadrive and Microdrive. The Rotronics Toolkit wafer has a suite of seven Wafadrive programs, some of which have appeared as listings in Rotronics' information sheets. The first gives a screen dump in three sizes on Epson-compatible printers (approx. 5.5, 11 and 16.5cm wide). The smaller sizes give slight vertical distortion - a true circle on the dump must be a horizontal ellipse on the screen - but the third gives true proportions. There are programs for sending binary data to the printer so that bit image graphics modes can be used, for enabling the TAB command (usually inoperative with Wafadrive Interfaces) and also for letting you specify line length and left margin width. These make the Wafadrive a much more versatile printer interface.
With the Wafadrive initialised, part of the Spectrum memory is lost to its Operating System, and cannot normally be recovered without losing the program from memory. 'De-initialise' lets you do that - an important facility if you are trying to load long programs from wafers. Part of a program can be temporarily stored in the display file, the WOS de-initialised and the program transferred from the screen to its proper place.
The 'File Utility' program has nine useful menu options, letting you examine the files on a wafer, change file names without loading and re-saving, or position the tape when saving the multi-file program to achieve minimum load time. The Wafadrive's LOAD * command, which loads the first program on the wafer, requires the first item saved in a multi-file program to be the loader. Since this is frequently the last to be written, it usually means copying the whole thing to another wafer. Now you can move the last file title to the top of the directory so that it is loaded by LOAD *.
The option to change the file type seems to me to be fairly useless, because unless file type and data match, it will not load. It lets the directory show BAK for backup tapes, LST for lists and so on, but I would rather let the file title show this than have to change the directory before it can be loaded. There is a file protection option which protects a file from accidental erasure, but also from the MOVE command which might permit its salvage from a damaged wafer. It prevents the making of another wafer copy, but not a tape copy, so the protection is not really sufficient to prevent piracy. As a protected program must auto run, and include special commands if the keyboard or the Wafadrive BASIC are to be usable, its value seems limited.
One of the most useful options tries to recover a lost directory, usually caused by switching the power off with the wafer still in the drive. The handbook gives you only a 50% chance of success, but I have a faulty wafer which will only ever load in the drive in which it was formatted, and this utility loaded it in the other drive. Successful directory recovery allows you to save all the files, or, if only part of the directory was recovered, at least some of them can be salvaged. I wish there were also provision for recovering bad sectors, a much more common reason for file loss.
The final program is the 'Transfer Utility', to help in transferring commercial software to wafers. It includes tape header reading, stopping auto-run and anti-MERGE so that Basic can be studied, counting the bytes on a tape file, de-initialisng the WOS, and a simple monitor to allow you to examine and modify machine code. Using this program, and the excellent appendix on transferring software, I was at last able to get Psion's Scrabble onto a wafer. There is also provision for making Kempston compatible joysticks operate with the Wafadrive.
Wafadrive Toolkit contains some valuable programs - plus a couple with not much more than novelty value. The second program, M-DOC, is for recovering files from a damaged or faulty Microdrive cartridge.
On loading it presents 15 options, of which the one which scans the whole cartridge collecting sector details must be selected first. If you then opt for a list of all the sectors, each is listed with its number (for used sectors the filename and record number) and a status report: good, bad, missing, unreliable or unused. An unreliable sector, marked when the cartridge was formatted, will not be used, but a bad or missing one will prevent the file from loading, and these are where the program is most useful.
Files, records and sectors can be examined individually, bad sectors identified, and the Microdrive channels examined and modified. Unless you know what a Microdrive channel should consist of, you will need a book about the Microdrive before you can use this vital option. Corrected channel data is put back on the cartridge. Missing records and sectors cannot usually be recovered, but dummy replacements can be made in unused sectors so that the file can be loaded and at least some of it salvaged.
When bad and missing sectors have been replaced, it is still probably that the data will have been corrupted, so there is a data filter option. If, for instance, the file is a word processor document, you can set the filter parameters so that non-text bytes are replaced by an asterisk, save it back to the cartridge, load it into the word processor and correct the asterisks. It is possible to correct data using the channel modification option, but easier to use the program which originally created the file. A useful supplementary program checks through Basic, correcting or marking corrupted line numbers. Lines with syntax errors are noted, and heavily corrupted lines changed to REM statements. Each time the program runs, one error is marked for line editing, so it can take time to correct a badly corrupted program. When the line numbers and syntax make sense, the program is reported 'ready to edit'. You must then go through it, replacing REM statements which hold the leftovers of corrupted lines, and checking the whole program before saving it again.
This is not a program for the impatient. If you want to recover lost files, you must be prepared for painstaking and fiddly work, but the program is effective, provided you either know how a Microdrive file is constructed or are willing to find out before you start to use it.