========================================================================== CopySlice Utility v0.3 for RomWbW computers written by Mark Pruden (March 2025) ========================================================================== Purpose: -------- The purpose of this utility is to allow the copying of whole disk slices from one disk slice to another slice Background ---------- This tool is only supported by RomWBW HBIOS, it uses HDIOS for all its disk IO. UNA UBIOS is not supported by this tool. This tool is running on CP/M 2.2 or 3.0 and has access to full 64kb of RAM, with a minimum of 48kb TPA This tool only works with hard disk devices, other media types like floppy, are not supported at this time. This tool works across different hard disk device types, even of different physical type Both hd1k and hd512 are fully supported, however copying from one layout type to the other is not supported. During operation data is copied in a single read/write pass, data is not verified by default. If there is a write error, it will be reported, and operation will stop. General Usage ------------- This tool operates at the disk level via RomWBW, thus all disk identifiers are in the RomWBW . format The syntax (similar to copy) for the command is: COPYSL [.]=[.] [/options] E.g. COPYSL 3.3=2.10 /U Means copy from slice 10 on disk 2, onto disk 3 slice 3. This is in unattended mode, so you will not be asked to confirm the copy operation. Options ------- F - Full disk copy. Copies the complete disk slice, all sectors. U - Unattended. Will complete copy without confirmation from the user. V - Verify. Does an additional read and verify after write. Description ----------- When run COPYSL will perform command line argument validation and display an error if they are illegal. Also any disk IO errors will cause COPYSL to exit. When specifying slice number(s) a check is made that the slice number is valid, i.e. not too large that it would extend past the end of the partition (hd1k), or the end of the media (hd512). For hd512 a check is also performed to ensure that the slice would not extend into the first defined partition. The copy operation will be faster if the source disk has been formatted with the CP/M file system, since during copy the CP/M directory is scanned, and unused blocks are not copied. If a filesystem is not found, (or the /F option is chosen) all data is copied. Verification (if option chosen) will do an aditional read (after write) and compare the data read matches what was written. This compare is only on every 32'nd byte. This is done for efficiency. During copy dots "." will be displayed to indicate progress of the copy. Each "." represents 16 kBytes of data. Each line of "." 's is 1 mBytes. Testing ------- This tool has been writen and tested on a SC126 computer. Testing been on both SD and CF media types, and with both hd1k and hd512 formats History ------- * v 0.1 Initial Release * v 0.2 Added the /v command option to read and verify after write * v 0.3 Refresh CP/M disk buffers after completion * v 0.4 Correct slice fit within partition calculation Future ------ * support ability to read and write from image files stored in CP/M filesystem * maybe the verify options could allow more complete verification. This would be at the cost of performance * ability to abort once the copy has started