2. The DICE review.

-------------------

The DICE (Disk Information Copier Editor) is a menu-driven program for the Spectrum +3 from Kobrahsoft (078 130 5244).

The program allows standard PLUS3DOS disks to be examined, altered and copied without requiring detailed knowledge of the way that PLUS3DOS works. However, DICE cannot handle non-standard 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 co-exist. When run, the program gives a graphic display of the usage of the disk, and offers the menus File, Disk, Copy or 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 PLU3DOS 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 files contents can also be viewed (128 bytes at a time) or the editor can be called up.

The most useful option here, however, is to recover an erased file. This is always a risky job, since the file may be 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 files 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, and the character representation is also shown. An additional feature, when examining +3 Basic programs, is that the appropriate keyword, where appropriate, is shown on 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.

2. The DICE review continued.

-----------------------------

Any displayed sector can be altered, by calling up the editor. 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 boot sector) so should be used with care. However, changes to disk are not written unless confirmed by selecting the Save to disk option.

On slight problem here, with the current version of DICE, is that the documented way of exiting from entering new data by character (i.e. pressing ENTER) does not work. however, pressing a cursor key works OK.

A useful extra facility of DICE is the Copy function, which 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.

A fragmented disk is one in which the files on the disk are in many small sections all over the disk, instead of all together. This can be caused 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 until 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, 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 will show how.

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 on screen only.

There also seems to be some difficulty in accessing the data on track zero of the disk (the boot sector). This may be an AMSDOS restriction rather than a DICE problem, however.

-----------------------------

It is also unfortunate that any disk 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 known more about how PLUS3DOS 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 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.

------------------------------------

A number of readers have written in concerning the CRASH Tech Tape, available from us at #5.95.

Malcolm Goodwin of Leeds has sent in an 'improved' turbo tape routine, which vastly increases the speed at which the code is set up ready for use. His installation program also prompts for the start address and length on installation - this means that the values can only be set once, but this is normal when setting up pre-written code for a turbo-load. The loader itself is similar, still giving improvements of up to fifty percent.

Vincent Vity of Morecambe asks how to auto-run a Turbo-loaded program. The answer is to save it (call the Turbo-save routine) while the program is running, and to save all the system variables as well (from 23552 to the end of the program). Then when the code is re-loaded, the program will continue running from the instruction after the call to the save routine.

Mr. Paulo (?) of Portugal asks for details on ZIP2, the Basic compiler on the tape. My best advice is to buy and try it. The compiler can handle most Spectrum Basic instructions, but is limited to integer variables only (0...65535). It cannot, therefore, handle scientific functions, which need decimal numbers, or strings - though these could be simulated using PEEK and POKE functions.

David O'Rourke of Wallasey asks about the Zip Break program, for 'breaking into machine code'. This is described on Page 7 of the Tech Tape manual, but it can only be used to break into compiled Zip code, not for 'any' machine code. However, why not write all your code using ZIP instead of your assembler!?

Mr. K.Cashmore of Radlett wants help with his 8056 printer and interface one. Well, the Tech Tape has a screen copy routine for the 8056 printer, which may be worth looking at.

Mr. Langley, BFPO 6, has a Tandy DMP130 for which he requires a screen dump program - can any other Tech Niche reader help?

If other readers have comments, queries or improvements to the Tech Tape, please write in.

------------------

I have received a number of letters already concerning the speed of the +3 disk drive when the command SAVE"DOSROM" CODE 0,16384 is typed in.

The times given by Simon Goodwin, of 18 seconds to save and 10 seconds to load, seem to be rather unusual. Most people writing in so far have save times of 11 to 13 seconds, and a faster loading time of 9 to 12 seconds - the average is 11.5 to save, and 10 to load.

Timings on my own +3 were 11.7 to save, and 10.3 to save. It would seem that most +3 disk drives are of about the same timing, with variations due to the timing methods used as much as to the drives actual performance. The +3 drive is not especially fast compared with other computers, but it is certainly a great improvement on tapes (and more reliable than microdrives).

Please continue to send in your timings, especially if they are wildly different from these above. For comparison, Julian Marshall of Abingdon sent in his timings for a Disciple drive. In double density, a save took 7 seconds, and a load took 1 second. In single density, these times are 14 and 1.5 seconds.

However, there is a simple way to improve ALL disk access times by about one third! For all those of you with the Locomotive CP/M package, try formatting a disc using DISCKIT, and doing the same timings on that disk. I timed a save at 6.7 seconds, and a load at 5.3 seconds. Similar increases are apparent when loading (Multiface 3) saved games, so should be so for all disk access.

The reason must be connected with the 'sector skew' used by AMSDOS. When the disk is set up to store information, each track is given a sector number. When data is save or loaded, the sectors are accessed in numeric order.

The problem occurs if consecutively numbered sectors are too close to each other on the disk. Then, by the time the program is ready to write the next sector, the disk has already moved past it - a whole rotation must occur before the data can be written. By staggering the position of each sector (or 'skewing' it), access to each sector is likely to be more successful. This is, I assume, why the CP/M format is quicker. I will investigate further and report in a future Tech Niche.

For anyone using AMSDOS disks a lot, this function of CP/M alone may make the package worth buying!

John Heggerty of Telford describes a problem he had experienced, where a full sixty four files on one side of the disk stopped him being able to store anything on the other side. I have tried this, John, and not had any problem - are you sure that you remembered to turn the disk over! Seriously, though, has anyone else encountered a similar problem? There does not seem to be a logical explanation, unless it is a (now cured) bug in AMSDOS. What version number is displayed, John, when the test routine is called up - press and hold BREAK then reset the +3, then press QAZ and PLM together.

4. The Plus Three continued.

----------------------------

Mr. K.Mann of Woking asks where he can get hold of CP/M+3. The answer is almost anywhere, by mail order. Locomotive are advertising in the magazines, or read through the mail order adverts. My copy was bought from Microsnips in Wallasey. You could also try the Crash Mail Order service! Finally, if you are considering the Hisoft CP/M Devpac package, approach them as I believe they are doing a discounted package with CP/M+3.

Adrian Dixon, Barrow in Furness, has trouble with his +3 Centronics printer, connected to a Silver Reed EX32. The only printout he gets is during the QAZPLM self-test, which gives the report 'Printer Busy Failed'. I have an Epson MX80 which works fine on my +3, so maybe there is an incompatibilty with your Silver Reed, Adrian. There are a number of special signals in the Centronics interface, not all of which the +3 supports. Can anyone throw any light on this problem?

Finally, has anyone yet got a second disk drive to run on the +3. I tried a standard Amstrad 6128 drive, but although it worked correctly, it disabled the internal drive. So I still only had one working drive. If any company is considering producing an add-on +3 drive (perhaps a larger capacity one), then CRASH would be very interested to hear from them.

------------

The latest Beta Basic newsletter has arrived, once again containing useful hints for Beta Basic users. This month there is a listing for a proportional text routine for the screen, and some fixes to Beta Basic for disk users.

Finally, I have received a copy of IMBOS for microdrive spectrums, from Companion (in Carlisle, 0228 35208). I shall review it in full next month, when my microdrives are up and running again.

However, a quick glance shows such features as improved microdrive command syntax, hex/decimal conversion functions, screen save/load to RAM, improved print formatting and built-in headerless tape load/save commands.