DICING WITH DISKS
Get your +3 disks in some sort of order
THE DICE (Disk Information Copier Editor) is a menu-driven program for the Spectrum +3 from Kobrahsoft (078-130-5244).
The program allows standard +3 DOS disks to be examined, altered and copied without requiring detailed knowledge of the way +3 DOS works. However, DICE cannot handle nonstandard disks, so cannot be used to copy protected disks. The program can be run from +3 BASIC, loading at address 40000, which allows reasonably sized BASIC programs to coexist. When RUN, the program gives a graphic display of the usage of the disk, and offers the menus File, Disk, Copy and New. The New option is used to 'log in' a new disk to be worked on.
The graphic display gives a clear indication of how full the disk is, and where the spaces are. A fragmented disk (where the spaces are in lots of little sections) can be easily seen and understood. Pressing F, for the File menu, gives a new display of the directory of the disk (in two halves). Deleted filenames are shown, and any file can be selected using the cursor keys. Files can also be erased or renamed easily using this menu.
Once a file has been selected, a new graphic display shows where the pieces of the file are stored on the disk. In addition, the file header (for a +3 DOS file format) can be read, giving information such as the program length and type. File attributes can be changed too (though this is unlikely to be useful to +3 owners). The file's contents can be viewed (128 bytes at a time) or the editor can be called up. (What, what? Somebody mention me? Ed.)
The most useful option here, however, is to recover an erased file. This is always a risky job, since the file's overwritten if further disk use has been made since the file was erased. DICE makes this job easy by reporting whether or not the file can be safely recovered. It may not always be possible for DICE to give a correct report (if, for example, a new file overwrote the old file's data, and was then itself deleted), so it is still advisable to check through the recovered file. DICE can also be used to check any more recent erased files, to investigate whether they were occupying disk space required by the now to be recovered file.
Pressing D from the main menu selects the Disk menu, which allows individual sectors on the disk to be displayed, and edited. Each sector is displayed in four 128-byte pages, and can be selected by track/sector, or by disk block. The sectors are displayed in hexadecimal, the character representation is also shown. An additional feature, when examining +3 Basic programs, is that the appropriate keyword, where appropriate, is shown on the screen as each byte of the sector is selected.
DICE can search the disk for specific information, entered byte by byte in decimal, hex or by character. Searching is very fast (less than a minute for all forty tracks) but can be aborted during the search. Any displayed sector can be altered, by calling up the editor. (Me again? Ed.)
CALL UP THE ED
This allows a particular byte to be selected using the cursor keys, then changed. The new value can be entered numerically, or by typing the character. DICE will allow any sector to be changed (including the disk's boot sector), so should be used with care. However, changes to disk are not written unless confirmed by selecting the Save to disk option. One slight problem with the current version of DICE is that the documented way of exiting from entering new data by character (ie pressing ENTER) does not work. However, pressing a cursor key works fine.(?)
A useful extra facility of DICE is the Copy function, which (believe it or not) can be used to make copies of disks quickly. Information is read from disk into the extra banks of memory, so a maximum of only three disk swaps are required to copy a full disk (this is an improvement on even the CP/M Disckit program). The copy also automatically compacts the disk, releasing all the free space to one block - which should improve disk access tremendously on a well-used (fragmented) disk. Such disks can result when lots of files of varying sizes are repeatedly SAVED and ERASEd, as AMSDOS tries to make 'best'(but not fastest) use of the disk space. Other systems (such as the BBC DOS) avoid this by only using a disk space large enough for the whole file. But then little gaps are left all over the disk, which are wasted till the disk is COMPACTed.
The normal +3 COPY "A:" TO "B:" will not improve the situation, since it copies the disk identically, complete with the fragmented files in the same positions on the new disk. Copying each file individually will cure the problem, but it is very time consuming.
The DICE Copy will sort the disk automatically, since it does the equivalent of copying each file name by name, but without the tiresome disk changes. The improvement that can be made depends wholly on how your disks are used. If an early file is deleted and replaced by a larger file, then the new file is likely to be fragmented - the DICE graphic display of the file shows how.
NO SILLY STUFF
The DICE program is well written, and it is difficult to do 'silly' things. However, there is no check that the correct disks are inserted when doing a Copy - so open the write protect tab on the source disk before you start! There is also no support for a printer; all displays are onscreen only. There also seems to be some difficulty in accessing the data on track zero of the disk (the boot sector). However, This may be an AMSDOS restriction rather than a DICE problem.
It Is also unfortunate that any DOS error is shown only as a number, and not described. However, there is a list of errors in the manual (with very short descriptions). A full discussion of some of the errors, and how to cure them, would have been worth having, considering that the package is aimed at the non-expert +3 market.
Overall, the manual is extremely good, and worth reading by anyone wanting to know more about how +3 DOS uses disks. A very good appendix describes how the data is stored on the disk, including descriptions of the directory format. There is also a section detailing how to attempt to recover a file when part of it has been overwritten - it is suggested that this be done by 'grafting' a spare sector into the damaged part of the file, and an example is given to recover a BASIC program in this way. It would obviously be pointless to try to recover machine code files in this way!
The manual also has a menu map showing how each menu selects different functions - this is worth pinning up by your +3 for quick reference.
At £12.95, DICE is an excellent package for +3 owners who do not know everything about disks! Even an expert may find it worth reading the manual.
'It may not always be possible for DICE to give the correct report'
'A maximum of only three disk swaps is required to copy a full disk'
'Even an expert may find it worth reading the manual'