Multiple Backup Application
Jan A. Bakuwel

The MultiBCK application allows floppy discs to be backed up in the background, so other tasks can be used while the backup is being performed.

Running the application installs an icon on the icon bar; clicking on this icon brings up the main window. The source and destination drives can be chosen by clicking on the relevant radio icons, and the backup can be started by clicking on 'Backup'.

While the backup is in progress, it can be temporarily halted by clicking on 'Pause', and can be continued by clicking on 'Resume'. The backup can be terminated by clicking on 'Abort'.

MultiBCK allows up to 99 copies of the same source disc to be made, using no more disc swaps than absolutely necessary. It also keeps track of the names of all discs, so an (accidental) exchange of any disc is signalled and is recoverable.

MultiBCK is able to work with any filing system (including DOS filing systems) as long as those filing systems are based on FileCore. MultiBCK accepts up to ten filing systems, supplied as arguments in the last line of the !MultiBCK.!Run file.

MultiBCK provides the following menu options in the icon bar menu to 'fine-tune' its internal behaviour :

- Maximum buffersize (10K - 800K, step 10K).
This value determines the maximum amount of memory MultiBCK will try to claim for a backup operation (memory is released as soon as it is no longer needed). If less memory (than the chosen maximum buffersize) is available, MultiBCK takes all the memory it can.

- System utilisation (10% - 100%, step 10%).
This option allows MultiBCK to operate in the background (to a certain amount). If a system utilisation of 10% is chosen, MultiBCK only claims 10% of the idle time of the system, allowing other processes to be able to react quickly to user requests. In this case, the total time needed for the backup will increase. A system utilisation of 100% still allows other programs to run in parallel, but causes MultiBCK to grab as much time as it can. 50% will be adequate in most practical cases.

- Enable or disable of verification of written data.
MultiBCK will verify the data on the destination disc after writing. The data is only read once from the source disc.

In general, it is very important that programs for backup purposes are very reliable. Therefore, much effort has been put in a careful design and testing of the program.

Technical Notes
---------------
1. Unfortunately, the Wimp does not update the icon bar correctly after updating an icon containing both text and a sprite. Therefore, MultiBCK requests a complete screen redraw after a icon change (this only happens when choosing a filing system).

2. The SWIs used by MultiBCK (and thus to be supported fully by any filer in order to operate succesfully with MultiBCK) are:

- ADFS_Drives
Used to determine the number of available floppy drives. Note: this is fixed in MultiBCK; it will never use any other filer to determine the number of drives and ADFS is likely to be available at all times.

- <FS>_DescribeDisc
Used to describe the logical layout of a floppy disc.

- <FS>_DiscOp (1 & 2)
MultiBCK uses <FS>_DiscOp with operand 1 and 2 to read a number of sectors in a row (in fact a complete track). Unfortunately, operands 3 and 4 (reading and writing a whole track) for ADFS don't seem to work correctly.

3. In order to test the application thoroughly, I have written a simple Basic program to compare the contents of two discs. As ADFS keeps track of which disc is being used and where (in which drive) the comparison will always find at least four differences in the first track. The program !MultiBCK.Comp800e compares only 800K E-format ADFS discs. The program is included for your convenience.

 RISC User 1992
