mirror of https://github.com/wwarthen/RomWBW.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
97 lines
3.4 KiB
97 lines
3.4 KiB
==========================================================================
|
|
CopySlice Utility v0.2 for RomWbW computers
|
|
written by Mark Pruden (Sept 2024)
|
|
==========================================================================
|
|
|
|
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 <disk>.<unit> format
|
|
|
|
The syntax (similar to copy) for the command is:
|
|
|
|
COPYSL <destunit>[.<slice>]=<srcunit>[.<slice>] [/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
|
|
|
|
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 <ctrl><c>
|
|
|
|
|