home *** CD-ROM | disk | FTP | other *** search
Wrap
Documentation for Disk Cloner Module V2.00 ------------------------------------------ ********************** Incredibly boring Copyright Notice ********************* * * * All program code is the exclusive copyright of Richard K. Lloyd. * * The program and documentation for Disk Cloner are freely distributable * * * ******************************************************************************* Installing Disk Cloner ---------------------- The Disk Cloner is installed by typing *DiskCloner. There, now that wasn't difficult was it ? If you get a 'No room in RMA' error, then type *GOS and try again. So what does Disk Cloner do ? ----------------------------- Disk Cloner copies EVERY error-free sector of an ADFS disk from one floppy to another, including the unused area of the disk. So why use Disk Cloner rather than *BACKUP ? -------------------------------------------- For normal work/data disks, I would stick to *BACKUP. However, if you accidentally delete a file that was at the end of the floppy and you want to make a backup before you try to recover the file, then *BACKUP may not do the job, whereas Disk Cloner will. Disks corrupted mid-way cannot be fully backed up by *BACKUP, but Disk Cloner will manage to do so. Of course, the more unscrupulous among you will have worked out that many commercial software protection systems employ the fact that *BACKUP must check the free space map (hence the 'Bad free space map' error on some commercial disks) and that it only backs up the used section of the disk (data is therefore secreted in the 'unused' area of the disk to fool *BACKUP). Version 1.02 onwards now retries bad tracks that V1.01 used to skip over. Each sector in the faulty track is individually re-read and any that are OK will be salvaged in the write pass. Faulty sectors are marked with a ?. Anyone can 'misuse' Disk Cloner and use it to backup much of the less well protected commercial disks. The author of Disk Cloner assumes no responsibilty for misuse in this way - and you deserve to go to jail if you sell pirated software. The *Clone command ------------------ Syntax: *Clone <source drive> <dest. drive> [D|E|L] The only Disk Cloner command implemented so far is *Clone, which copies an ENTIRE ADFS disk (unused space included) from the specified source drive to the destination drive indicated. You may not specify a non-existent drive (the *Configure Floppies setting is read to check this). The optional parameter specifies the disk format type to be used as follows : Param Disk Size Map Dirs Contiguous ? Machine OS D 800K Old New Yes Arc 1.20/2.00 E 800K New New No Arc 2.00 L 640K Old Old Yes Arc/Master Any If the source drive contains an unformatted disk (Disk Cloner assumes that unformatted means 'unable to seek to track 0') then the command is aborted. However, if the DESTINATION drive holds an unformatted disk, then the first read pass is performed on the source drive and Disk Cloner then asks if you wish to format the destination disk. If you press Y then the disk is formatted to the type specified in the *Clone command (i.e. D, E or L...with E being the default). The first write pass then starts and the cloning continues as usual. Application workspace from &8000 onwards (&8F00 if BASIC active) is used during the copy, so you are asked for confirmation before the operation starts. Intelligent memory checks are made, so single-floppy A440's can copy a disk with only one swap. V1.02 has improved memory management to cope with the new bad track retry system. ESCAPE may be pressed AT ANY TIME to abort the command - this is highly useful if you mess things up ! If the source drive is the same as the destination drive, then you will be prompted for a keypress to allow the disk to be swapped. Disk Cloner Event Table ----------------------- The following is a table of what happens with different combinations of disks when using Disk Cloner. +-------------------------+-------------------------+------------------------+ | Source Disk | Destination Disk | Event | +-------------------------+-------------------------+------------------------+ | Error-free 800K (D) | Error-free 800K (E) | OK, converts E to D | | Error-free 800K (E) | Error-free 800K (D) | OK, converts D to E | | Error-free 800K (D|E) | Error-free 640K (L) | Errors, unusable | | Error-free 640K (L) | Error-free 800K (D|E) | OK, unusable | | Faulty 800K (D|E) | Error-free 800K (D|E) | Errors, mostly usable | | Faulty 800K (D|E) | Faulty 800K (D|E) | Errors, hardly usable | | Empty drive | Any disk or empty drive | Aborts immediately | | Unformatted disk | Any disk or empty drive | Aborts immediately | | Any formatted disk | Empty drive | Tries+fails to format | | Any formatted disk | Write-protected disk | 800 (or 640) errors ! | | Any formatted disk | Unformatted disk | Formats+continues | +-------------------------+-------------------------+------------------------+ Revision History of Disk Cloner ------------------------------- Version 2.00 ------------ * Fully tested and shown to work OK in RISC OS. Switched to E format as the default unless otherwise specified. Disk Cloner still works in Arthur 1.20. * Merged the *Help info into the help for *Clone and removed *Help DiskCloner. * Added the format type to the start message to assure user. * If BASIC is active, then start workspace from &8F00 else from &8000 as usual. This is because BASIC V1.04 crashes if you use below &8F00 (even with an OS_Exit to leave) - V1.02 didn't seem to mind. Version 1.02 ------------ * Each sector in a bad track is now retried and salvaged if OK. * Memory management improved so less swaps are required if you have a disk with many faulty tracks. * If the destination disk is unformatted, Disk Cloner will allow the disk to be formatted and then it continues the cloning where it was stopped. * Disk Cloner now never 'hangs' - it can take a long time to report track errors in certain circumstances though (this is what the ESCAPE key's for, folks !) - especially if you try to dupe it by putting an unformatted disk in the destination drive half-way through a disk clone...now you wouldn't go and do a nasty thing like that would you ? * If you get between 1 and 9 errors, the completion message now omits the leading zero (not exactly awe-inspiring, but every little helps). * All occurrences of the word 'disc' have been changed to 'disk'. This is just for the sake of being consistent, but isn't funny that all my floppies are labelled 'disks' and yet Acorn insist on calling them 'discs' ? Version 1.01 ------------ * Added D,E and L options even though I don't have RISC OS and can't test the Extended format... * Disk size is now displayed at the confirmation prompt just to reassure jittery users. * Added bad track checking during the read and write passes. Any track that is not read during the read pass is skipped during the write pass without any attempt to write data to that track. * Now displays the total number of errors encountered - this is the sum of the read errors AND the write errors. * Still hangs on unformatted disks, but doesn't if the drive is empty or the disk is write-protected or formatted to the wrong size. *FIXED IN V1.02* Version 1.00 ------------ * Written as a 1.5K module so that multiple disk cloning is trivial. * Has a nasty tendency to fatally hang if the destination drive is either empty or contains a write-protected disk. *FIXED IN V1.02* * Checks memory intelligently so that swaps are minimised for single-drive machines. Future Improvements to Disk Cloner V2.00 ---------------------------------------- * Since there are now fully blown disk copiers available (I have two in my possession), it's unlikely I can go much further without incurring the wrath of Acorn ("incitement to pirate" or some such silly charge). Hence, like many of my other projects, it's time to draw this one to close, bug-fixing releases permitting. Where to find me to report bugs or improvements to the Disk Cloner ------------------------------------------------------------------ Snail Mail JANET e-mail ---------- ------------ Richard K. Lloyd, rkl@uk.ac.liv.cs.mva 1, Banks Road, Lower Heswall, Wirral, Merseyside.