home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format 129
/
af129a.adf
/
YADI20.lzx
/
YADI20
/
yadi.doc
< prev
next >
Wrap
Text File
|
1979-05-30
|
10KB
|
285 lines
YADI - Yet Another Disk Imager v2.0
=====================================
YADI ia a small cli-only program to transfer disk images to and from
Amiga devices. A disk image is a file that contains the raw data as stored
in an AmigaDOS device. YADI is useful to store NDOS disks as files, make
backups of devices, transfer Amiga disks to Amiga emulators, transfer Amiga
disk images used in the emulators (ADF/ADZ files) back to Amiga disks, etc.
Why another disk imager ? Because the others suck.
YADI features:
--------------
A single program handles creation of disk images and also writes them to
devices.
Supports any AmigaDOS device, of any size, that supports trackdisk
compatible commands, using any filesystem. This includes standard DF0: to
DF3: (low or high density), Cross-DOS devices like PC0:, Cross-Mac
devices, diskspare devices, RAD: , hard disk partitions, ZIPs, etc.
You supply the AmigaDOS device name, i.e., DF1:, not trackdisk.device
unit 1; RAD:, not ramdrive.device.
It is safe. It won't let you write a disk image over a device of a
different size. So you can't write by accident a 880kb disk image over
your hard disk partition.
Works in any Amiga with kickstart 1.3 (and maybe even 1.2) or newer. But
uses 2.0+ functions if available.
Is public domain.
New features in version 2.0:
----------------------------
Supports internal compression and decompression of disk images using gzip
compatible algorithm (uses zlib by Jean-loup Gailly). Now you can
decompress directly the so called ADZ files and also generate them.
Supports decompression of DMS files, calling the xDMS utility (also
written by me). xDMS is available in Aminet in the directory util/arc.
Supports enhanced control in the case of read/write errors.
Supports batch reading/writing of several disk images.
Can show informations about the device geometry, needed if you want to
mount the disk image as a hardfile.
Notes:
------
To install it in your system, just copy the yadi executable to your C:
directory or somewhere else in your path.
The reading/writing operation can be aborted at any time, by pressing
Ctrl+C.
Please note that YADI is unable to read the data from floppy disks that
use tracks encoded in a special format, like the ones used in several
copy-protected games, because it would need knowledge about the low level
MFM encoding of each different game disk. You can use YADI to read the
data from some copy protected disks to use it with game HD installers, but
only if the special track is not really needed (does not contains game
data) and is ignored by the loader/installer. Future versions of YADI may
support a limited form of reading/writing of MFM level data in Extended ADF
format.
Also, to read/write data from/to a floppy in a foreign format, the device
must be apropriately mounted (i.e. to make disk images from MSDOS disks
you need CrossDOS installed).
Usage:
------
YADI must be executed from the CLI. It has the following usage template:
yadi [options] <command> [disk_image] <device>
A command is indicated by a letter (case insensitive) and can be one of the
following:
r : reads the data from the device, generating a disk image file.
You must supply the disk image name and the device name.
w : writes a disk image to device. The type of the disk image will
be auto-detected and decompressed if needed. It will recognize raw files
and files compressed with gzip or DMS. The detection is based in the
content and size of the file, not in the extension. You can only write the
file data to a device of the same size, for security reasons. You must
supply the disk image name and the device name.
i : shows informations about the device geometry. You must supply
only the name of an AmigaDOS device. You will need that information to be
able mount the disk image as a hardfile. The UAE Amiga emulator supports
hardfiles (disk images from hard disk partitions). You can also mount it
in the Amiga using some device drivers available in Aminet. Using YADI I
made a disk image of my entire system partition, tranfering it to a PC over
the parallel port (using PC2Amiga) and successfully mounted it as a
hardfile under UAE.
You can also supply one or more (or none) of the following options:
-c : using this option, the generated disk images will be compressed
using an algorithm/file format compatible with gzip.
-a : will ask for a user action in the event of a read/write error,
after all retries have failed. By default after all retries have failed
YADI will skip the faulty track and display a warning message.
-q : quiet operation. Does not shows standard messages.
-n<nn> : sets the number of disks to be read or written in a batch
operation. <nn> can be any value from 1 to 1000. In this mode, YADI will
ask you to insert every disk from 1 to <nn> and for each one it will write
or read from a disk image file whose name will be generated using the
[disk_image] parameter that you supplied as a template. You can use the #
character in the name to specify the position and minimum number of digits
of a counter number to be inserted in the disk image filename. See
examples below for more informations.
-t<nn> : number of retries : set the maximum number of times YADI
will retry to read or write a track in the case of an error. <nn> can be
any value from 0 to 99. Default is 1. Very useful to read data from old
floppy disks.
-s<nn> : starting cylinder to be read or written in the operation.
Can be any value from 0 to the number of cylinders in the device minus one.
This value is relative to the start of the partition (i.e. the minimum
value is 0 even if it is not the fisrt partition in the drive). Default
value is 0.
-e<nn> : last cylinder to be read or written. Can range from the
starting cylinder to the number of cylinders in the device minus one. This
value is relative to the start of the partition. The default value is the
number of cylinders in the device minus one. Standard Amiga floppy disks
have 80 cylinders, so its cylinder numbers vary from 0 to 79. Using the -s
and/or -e options, you can split a disk image in two or more files, if you
need to transfer it to another computer using a disk or other device where
the entire file wouldn't fit. Later you can re-join the parts.
Examples:
---------
yadi r tst.dsk df0:
Will read the contents of the disk in drive DF0: and save it as a disk
image file in the current directory with the name tst.dsk .
yadi -c -t10 -a r tst.adz df0:
Will read the contents of the disk in drive DF0: and save it as a
compressed disk image file in the current directory with the name tst.adz .
It will retry up to 10 times to read a track with a read error, and if it
fail 10 times it will ask the user to continue/cancel.
yadi -e39 -q r tst_p1.adf df0:
Will generate a disk image containing the data from the first half of the
disk in device DF0: with the name tst_p1.adf . No messages will be
displayed.
yadi -s40 -e79 r tst_p2.adf df0:
Will generate a disk image containing the data from the second half of the
disk in device DF0: with the name tst_p2.adf .
yadi w ram:AmigaDemo.ADF rad:
Will write the disk image ram:AmigaDemo.ADF to RAD:
yadi w NiceGame.ADZ df0:
Will write the disk image NiceGame.ADZ to df0:, decompressing it in the
process.
yadi w NiceGame.DMS df0:
YADI will call the xDMS utility, if installed, to convert the DMS file to a
temporary disk image. Then YADI will write the disk image to the DF0:
device and delete the temporary file afterwards. Note that it will
generate a 880kb temporary file to the directory assigned to T: (usualy
assigned to a directory in RAM disk). If don't have much free RAM, assign
T: to a directory in your HD. (Or just use DMS/UNDMS to decompress DMS
files ;) )
yadi r dh1:Sys_Hardfile dh0:
Will save a image of your entire DH0: partition as Sys_Hardfile in the
root directory of your DH1: partition.
yadi i dh0:
Will display informations about your DH0: device, including number of
heads, blocks per track, number of cylinders, etc.
yadi -n12 r MyBigGame#.img df0:
Will generate 12 disk images, asking you to insert each disk in the drive
DF0: The first file will be named MyBigGame1.img, the last MyBigGame12.img
yadi -n12 r MyBigGame##.img df0:
Will generate 12 disk images, asking you to insert each disk in the drive
DF0: The first file will be named MyBigGame01.img, the last
MyBigGame12.img .
yadi -n12 w MyBigGame##.img df0:
Will write 12 disk images back to disks, asking you to insert each disk in
the drive DF0: The data for the first disk will be read from the file
named MyBigGame01.img, the last from MyBigGame12.img .
How to contact me:
------------------
If you have any question, comments or have found a bug in YADI you can
contact me by e-mail.
André Rodrigues de la Rocha
E-mail address: adlroc@usa.net
History:
--------
Version 2.0 : Major update. Added compression support and other features.
Version 1.1 : Fixed a bug present in the previous version. When trying to
read a disk image from a disk with a faulty or strange track, like the ones
used with most copy-protected games, it used to skip the error, but the
resulting file was smaller than it should be, making it useless to make
disk images for game installers and other aplications. Fixed.
Version 1.0 : First release.