home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-09-08 | 62.7 KB | 1,430 lines |
-
-
- *
-
- This document describes `SuperDuper' 2.02, a freeware high-speed
- disk copier and formatter. Typical timings are less than 100s for a
- disk-to-disk verified copy, or 38s for a four disks non-verified format.
-
-
- Introduction
- *************
-
- `SuperDuper' is a disk copier/formatter that tries to be to disk
- handling what Mostra is to IFF displaying: a fast, compact,
- system-friendly tool which combines speed, features, and some bells and
- whistles to make your life easier.
-
- By "fast" I mean exactly what you're hoping--blazingly fast. A disk
- is usually copied and verified in less than 100s. Without verify, the
- time drops to 69s. You can buffer a disk in RAM in less than 36s, and
- then making a verified copy takes 67s, while a non-verified copy takes
- less than 36s. Adding another destination drive increases verified copy
- times by 34s, but hardly changes non-verified copy times (the Amiga can
- write more than one drive at a time; I just need a few tenths of a
- second in order to measure the drive speed and step the heads). Thus,
- if you really trust your drives and your media you can make four copies
- in 38s. These timings can vary with the system configuration, the
- multitasking overhead, the disposition of the blocks on the surface of
- the disk, the state of the DATE option (which requires a separate write
- on the root block track for each disk) and the DMA access of the custom
- chips (previous users of `SuperDuper' might think this release is
- slower than the previous one: it is really faster, but `SuperDuper' 1.0
- was a little bit optimistic about its copy times--the motor on/off
- delays were erroneously skipped).
-
-
- Changes
- ========
-
- `SuperDuper' 2.01 has almost no visible changes with respect to
- `SuperDuper' 2.0, apart from the extension of the ARexx macros, which
- is now `supdup' instead of `sd' in order to avoid conflicts with other
- programs.
-
- However, it was discovered that many flakey drives have power supply
- problems when four of them are connected to an Amiga. Sometimes the
- head of a drive won't step, and this error cannot be caught even by
- verifying, since the drive doesn't know where the head is--its position
- has to be tracked via software.
-
- In order to prevent this annoying phenomenon, which was the only
- known source of bad copies, the head moving strategy was slightly
- changed. `SuperDuper' no longer steps multiple heads at the same time.
- This marginally increases (about 3 tenths of second for each
- destination) the non-verified copy times, but gives you a 100%
- reliability even on out-of-specs systems.
-
- If something wierd happens in spite of this patch, it can be tracked
- at recalibration time. When a mismatch between `SuperDuper''s internals
- and the drive signals is detected, a requester `Error while
- recalibrating' is issued. In this case, you can try to slow down the
- head moves using the `SetTDDelay' utility which is supplied with
- `SuperDuper'.
-
- The only other noticeable enhancement is the fact that now
- `SuperDuper' checks the `NOCLICK' flag separately for each drive. If
- you have some drives which support `NOCLICK' and somes which don't,
- `SuperDuper' will click only the allowed drives. Previously, the
- information in the public unit of the drive 0 was used for all the
- drives. The utility `ToggleClick' which is supplied with `SuperDuper'
- allows to hush selectively any unit. Moreover, a new `noclick' ARexx
- command allows to force no-clicking selectively even under 1.2/1.3
- (see Selection Commands).
-
- It should be remarked that `SuperDuper' is much less tolerant than
- trackdisk.device. Bad drives can work (almost) perfectly with
- trackdisk.device, because of its many, frequent cross checks. For
- instance, at each disk insertion some track is read by DOS, and if the
- track number doesn't match with trackdisk's internals, a recalibration
- is started. `SuperDuper' instead doesn't read anything before copying
- (for speed reasons); thus, if your drive has a flakey DSKTRACK0 signal
- `SuperDuper' could believe it's on track 0 while it isn't.
-
- `SuperDuper' 2.02 is a minor maintenance release. Let alone a couple
- of bug fixes (notably the French keyboard problem), support for Release
- 2 Public Screens was implemented (see The CLI Interface). Moreover, the
- `requesters' ARexx command, which has always been present, is now
- documented (see Selection Commands).
-
-
- Main Features
- ==============
-
- * `SuperDuper' copies, formats and checks from/to any combination of
- Amiga drive(s).
-
- * `SuperDuper' has a switchable 880K RAM buffer that allows for any
- number of duplications while reading the source disk only once.
- The combination of destination drives can be changed at each pass.
- If you have a hard disk, you can create on it an image file that
- will act as a buffer. This file can be saved and reused many
- times. Also, all kinds of virtual disks are supported for
- buffering (VD0:, RAD:, FMS:...). Morever, a count is kept of the
- copies generated by a buffered disk.
-
- * `SuperDuper' checksums the RAM buffer. If some badly written
- program is trashing your memory, you are alerted. Thus, buffered
- copies are as safe as direct copies.
-
- * `SuperDuper' also checks its internal DMA buffers at each write.
-
- * `SuperDuper' can allocate a buffer of less than 880K. In this
- case, it will use real-time compression in order to do multiple
- pass copies with maximum efficiency. Most disks can be wholly
- buffered on a 1MB machine. You can also make multiple copies with
- multiple passes. Copy times are (almost) unaffected.
-
- * `SuperDuper' will automatically retry tracks which produce a
- verify error. The number of retries is programmable. A simple
- visual clue is given to the position of the error, but on request
- detailed error information printing is available.
-
- * `SuperDuper' is highly system-friendly--the use of CPU time is
- negligible, so you can multitask efficiently.
-
- * `SuperDuper' has the option of incrementing the creation date of
- the copy so AmigaDOS doesn't get confused. If, however, the option
- is switched on and the disk is not an AmigaDOS disk, `SuperDuper'
- won't increment the date.
-
- * `SuperDuper' is faster than diskcopy--actually it pushes the
- drives to their limits. At the time of this writing, `SuperDuper'
- is the fastest Amiga copier both from a "pure" (physical time) and
- from a "per-copy" (real time for each copy when a big number of
- copies of the same disk is produced) point of view.
-
- * `SuperDuper' alerts the user with sound (and optionally voice)
- about the operations in progress--so you can really be doing
- something else!
-
- * `SuperDuper' can format both OFS and FFS disks.
-
- * `SuperDuper' displays a list of the last few disks copied. If you
- do a lot of copying, you'll find this feature more than a little
- useful.
-
- * `SuperDuper' can manage the Amiga drives without help from the
- trackdisk.device. Through the supplied utility `SDBootInstall',
- you can create a boot disk which will keep the system away from
- your drives, giving you back more than 30K per unit. This is very
- useful when doing intensive buffered copying on a 1M machine.
-
- * `SuperDuper' can automatically start any copy or format operation
- by monitoring the disks' extraction and insertion.
-
- * Almost all elements of the 3-D, Release 2-like graphical user
- interface have keyboard equivalents. When possible, Release 2
- features like TAB gadget cycling and window zooming were supported.
-
- * `SuperDuper''s window can be opened on any public screen under
- Release 2.
-
- * The start/end cylinder of a copy is programmable.
-
- * Unique numbered names can be automatically generated while
- formatting.
-
- * `SuperDuper' works under 1.2, 1.3 and 2.0.
-
- * `SuperDuper' has a time indicator.
-
- * `SuperDuper' has a beautiful name. 8^)
-
- * If this is not enough, an ARexx interface allows any kind of
- customization. In particular, a startup ARexx script lets you set
- up a custom configuration. Since `SuperDuper' can turn off its
- graphical user interface via a command line switch, it is possible
- to use `SuperDuper' as a CLI command by writing a suitable ARexx
- macro. A switch allows you to shut down ARexx in order to gain
- memory. ARexx macros can be launched via a file requester
- (asl.library, arp.library and req.library are supported).
-
-
- First Steps
- ============
-
- To use `SuperDuper', you simply double-click on its icon. You will
- see five rows of gadgets. The first one has at most one gadget
- selected: it's the source. The second one lets you select the
- destination drive(s). The other lines contain option and action gadgets.
-
- Every gadget can be activated via mouse or keyboard (using the
- underlined letter). The line of destination drives can be controled by
- pressing SHIFT together with the underlined number. You can use `Q' or
- ESC to exit, instead of hitting the close gadget. Three of the string
- gadgets have underlined letters which activate them. Moreover, if you're
- running under Release 2, you can use `TAB' or `SHIFT-TAB' to pass from
- a string gadget to another one.
-
- To make your first copy, if you have two (or more) drives simply
- select in the first line the gadget for the drive which contains the
- source floppy, and in the second line the gadget(s) for the drive(s)
- containing the destination(s) (for the time being do not choose the
- same drive both as source and as destination). Then hit the GO gadget.
- After a while, the display will flash, a beep will be generated, and
- the copy will be finished. As each cylinder is copied, the elapsed time
- indicator is updated. Note that a first beep will be generated when the
- copy is almost finished, so you have time to prepare yourself.
-
- If you have only one drive, select it both as source and as
- destination. Then hit the BUFFER gadget, thus creating a RAM buffer.
- Depending on the memory available, it will be a full 880K buffer or a
- partial buffer. In the latter case, real-time compression will let
- `SuperDuper' get the best out of it. Now put in the source disk and hit
- the READ gadget: the buffer will be filled with the contents of the
- disk. If the progress bar reaches its maximum length, then the whole
- disk has been buffered. Pull out the source disk, put in the
- destination, and hit the GO gadget. The buffer will be written to the
- disk. If only a part of the source disk was buffered, put it in again,
- buffer it again (note that now the progress bar starts where it stopped
- before) and write it again. This process must be repeated until the
- whole disk has been copied. It is safer to set the write protect tab on
- the source disk, in order to avoid the unpleasing side-effects of
- source/destination mismatches.
-
-
- Gadgets
- ********
-
-
- The Action Gadgets
- ===================
-
- Four gadgets control `SuperDuper''s copy/format/check operations:
-
- STOP
- stops any operation. If pressed while the multi-pass real-time
- compression buffer is selected and no operation is in progress, it
- will empty the buffer and reset the pass count, thus allowing you
- to buffer another source even if the previous one wasn't finished
- (see The Buffering System). If you STOP immediately after starting
- a copy operation and nothing has been drawn in the progress bar,
- nothing has been written to the destinations.
-
- READ
- can be used only when a buffer is selected; it fills the buffer by
- reading from the source drive.
-
- GO
- initiates a copy operation. If no buffer is selected, the source is
- copied to the destination(s). If a buffer is selected, the content
- of the buffer is written on the destination(s). If FORMAT is
- selected, the destination drive(s) are formatted.
-
- CHECK
- is basically a READ without buffering. The source disk is scanned
- for errors. No buffer is needed to use it. Note that `SuperDuper'
- will detect trackdisk.device related errors, but it won't find DOS
- checksum errors (for this purpose, for instance, you can use
- `FixDisk').
-
- When `SuperDuper' starts an operation which involves reading a disk,
- i.e., READ, CHECK and non-buffered GO, it scrolls up the name list and
- marks the current drive as `<UNKNOWN>'. This happens because it can't
- know if the disk is a DOS disk before reading track 0. After less than
- a second, the track will be read, and the name will be changed to
- `<NDOS>' if the disk is not a DOS disk. Otherwise, as soon as the track
- 80 is read (the progress bar is in the middle) the name of the disk
- will be displayed. However, if for any reason the name is incorrect
- (wrong format, read error, etc.) `SuperDuper' will name the disk `<BAD
- NAME>'. In this case, it is very likely that the root block is a little
- bit scrambled, so it's probably a good idea to turn off the DATE option
- gadget. Beware: if you are using a multi-pass buffer, the name of the
- disk could be unavailable at the first pass.
-
- If `SuperDuper' finds an error on read (or verify), it will retry
- reading (writing) the track, each time incrementing the first number of
- the RTRY:ERR indicator. If after a number of retries specified in the
- gadget RETRY# the error remains, `SuperDuper' will increment the second
- number (the error counter), restore the original retry counter and
- continue. A little rectangle in the progress bar will point out where
- the error occured. It will be positioned horizontally, proportionally
- to the track number, and vertically, proportionally to the unit number
- (the first line of rectangles shows errors on unit 0 and so on). Note
- that while retrying `SuperDuper' can't be stopped: don't set the RETRY#
- gadget to 99 unless you really know that's what you want to do. At the
- end of the copy, the first number shows how many retries leading to a
- successful write were done, while the second one points out the number
- of tracks with an actual error. If you want to get a very detailed
- error report, you can set `printerrors on' from ARexx. A console window
- will appear, and every wrong read, write or retry will generate a
- message explaining what doesn't work. Usually you will get bad
- checksums, but if a track is really scrambled `SuperDuper' could be
- unable to get the first sector after a gap, in which case nothing at
- all is recovered.
-
- The progress bar is drawn in a different color if you're doing an
- read, a format or a copy operation--so you can be sure you read the new
- chunk in the buffer, and so you can avoid formatting your floppies when
- you think you're copying something to them. The gadget corresponding to
- the action currently executing will remain highlighted in order to
- remind you what you're doing. Note also that the progress bar and the
- elapsed time indicator are not updated if something locks the screen
- (like using menus). The update is delayed until the screen is unlocked
- (thus `SuperDuper' won't get stuck as will almost all programs which do
- any rendering to their windows).
-
- The volume of the beeps produced by `SuperDuper' while copying can be
- set with the ARexx `volume' command.
-
- If you specify start/end cylinders different from 0/79 in the SC and
- EC gadgets, only the part of the disk specified will be copied. The
- main use of this option is for retrying some lazy disk (usually on the
- last tracks) if you're not satisfied with the number of retries issued
- by `SuperDuper'. Please refer to the section on the buffering system
- for some subtle interactions between the RAM/HD/VDisk buffer and the
- start/end cylinder selectors.
-
- While doing buffered copies, at each successful copy (that is,
- without errors) the CPY# indicator will be incremented. Thus you can
- know precisely how many disks you copied. Moreover, the counter will be
- incremented only if the operation ended on the last track of the disk
- and started from the first track of the buffer. This allows you to
- manually retry spare tracks by changing the CS/EC gadgets without
- getting spurious increments, and if a multi-pass copy is in progress
- only the last pass will actually increment the counter.
-
-
- The Copy Options
- =================
-
- Five gadgets control the copy/format options.
-
- VERIFY
- turns verify on and off (you can also format without verifying).
- However, turning off verify is not recommended.
-
- DATE
- toggles on or off the change of the date of an AmigaDOS disk. This
- change is necessary so AmigaDOS can distinguish otherwise
- identical disks; if two truly identical disks are inserted in the
- drives, AmigaDOS gets confused and crashes. However, if for some
- reason you want a "physical" copy, you would turn off this option.
- DATE will be ignored for a non-AmigaDOS disk.
-
- FORMAT
- enables formatting. When you hit GO, all destination drives will
- be formatted. To copy again, you must deselect FORMAT by clicking
- it again. If VERIFY is selected, the format process is verified.
- Note that when you hit READ, FORMAT is automatically deselected.
- This happens in order to avoid the unpleasing error of thinking
- you're writing a buffered disk, while actually formatting it.
-
- The gadget prefixed by LABEL: allows you to choose a name that
- `SuperDuper' will use while formatting. The name must be chosen
- before clicking GO--it is disabled (ghosted) during the formatting.
-
- INCNAME
- makes easy to format a bunch of disks with different, unique
- names. If this gadget is selected while formatting, `SuperDuper'
- will scan the Label string gadget searching for a numeric pattern
- (i.e., one or more digits) and will increment the pattern value
- for each disk formatted. In case more than one pattern is present,
- the last one is used. For instance, if you format four disks with
- label `Foobar.000', the disks will be named `Foobar.001',
- `Foobar.002',... and at the end of the copy the label gadget will
- contain `Foobar.004', thus being ready for the next formatting.
- The more digits, the more unique names. Since you can start from
- any number, and after 99...9 the numeration wraps around, if you
- need to start with 00...0 you can put in something like
- `Foobar.999': The first disk will be labeled with `Foobar.000'
-
- FFS
- enables the formatting of FFS disks; for copying it is ignored.
-
-
- The Buffering System
- =====================
-
- Three gadgets control the full-featured buffering system of
- `SuperDuper'. Buffering is useful when you have to do a lot of copies:
- you read a disk only once, and then you can make as many copies as you
- want without rereading it. It also has other uses: if you have to
- create distribution disks (for instance for a commercial package) you
- can create them using high speed virtual floppies, such as Commodore's
- RAD: or Matt Dillon/Jim Cooper's FMS: disk. `SuperDuper' can then read
- from those virtual disks and make many copies on floppies at high speed.
-
- Since data integrity is a primary issue, `SuperDuper' checksums the
- RAM buffer. The possibility of writing a munged track is very low.
- Strict control is also kept on the validity of the buffer--you can't
- write random data on your disks inadvertantly.
-
- BUFFER
- allocates a RAM buffer. `SuperDuper' will try to get an 880K
- buffer: if you don't have enough memory, a warning will be issued,
- showing the number of buffers allocated (each buffer is 11K) and
- warning you that the real-time compression system is activated.
- Beware of the fact that many programs tend to crash under
- low-memory conditions, so if you have 1MB or less you should close
- everything you can before hitting BUFFER, and you should possibly
- also use KILLSYS (see The User Interface Gadgets).
-
- The memory allocated will be used as a buffer to make multiple
- pass copies. If `SuperDuper' can find 880K, the process is very
- simple and uses very little of the CPU, but if (for instance on a
- 1MB machine) it's impossible to buffer a whole disk this way,
- `SuperDuper' will use a real-time compression algorithm. As the
- disk is read in the buffer, it is compressed in a special format.
- The gain in size is usually 35% for empty tracks, 20-30% for text,
- 15-25% for programs and 5-10% for IFF ILBM images. Tracks which
- can't be compressed are simply stored. The only disks which can't
- really be compressed are disks filled with compressed files, like
- .lzh or .zoo files, but for the others the size gain is enough to
- buffer a whole disk on a 1MB machine. 8^)
-
- Of course, the compression overhead eats a lot of CPU power. The
- algorithm has been devised in such a way that compression and
- decompression are absolutely real-time, i.e., you will notice no
- slowdown. However, beware of the fact that while doing compression
- `SuperDuper' always fully uses the CPU. Even moving the mouse can
- slow down the operation in progress. Anyway, if you have all of
- your memory allocated for the buffer, it is definitely not a good
- idea to do anything besides waiting for the copy to finish.
-
- A little side-effect of the allocation of all of the available RAM
- is that some requester could be turned into an alert, or could
- even disappear without waiting for the user to acknowledge it.
-
- HDBUF
- creates an 880K file in the current directory of `SuperDuper', and
- uses this file as a buffer, exactly like BUFFER does with RAM. Of
- course you must use it only if you have a hard disk, and you
- started `SuperDuper' from it. The file contains the 1760 blocks
- which form a disk in their natural order. The READ operation will
- be a little slower, but if you have a good hard disk you should be
- able to make copies as fast as with a RAM buffer. The file is
- named `SD_Buffer', and it's accessed only during the copy
- operations. This means that you can read or write it using the CLI
- commands, or the Workbench (but you will have to supply an icon).
- You can easily write an ARexx macro which retrieves/stores binary
- images of a disk from/to `SD_Buffer' (see ARexx). Then
- `SuperDuper' will use the new contents when writing to floppies.
-
- If you put a file named `SD_Buffer' in `SuperDuper''s directory
- *before* clicking HDBUF, then `SuperDuper' will assume this is a
- buffer file and will use it. You can even write directly to
- floppies without reading anything. Note that usually the buffer
- file is deleted when the HDBUF gadget is deselected, but if you
- supply a buffer file before activating the gadget your file will
- be left untouched.
-
- VDBUF
- is probably `SuperDuper''s most esoteric feature. By typing a
- device name in the string gadget named VDNAME, you can select any
- device (`SuperDuper' needs the Exec device name, e.g.,
- `ramdrive.device' for the RAD: AmigaDOS device). The unit number
- is taken from the gadget with the label VDUNIT#. The device you
- specified will be used as a buffer for your disks. `SuperDuper'
- expects the device to behave like the trackdisk.device, namely it
- must be able to write data at specific offsets. The main devices
- you can use, with their respective names, are:
-
- RAD:
- the recoverable RAM drive. Configure it in your mountlist as a
- floppy, and you can use it as a buffer (Exec name:
- `ramdrive.device').
-
- FMS:
- Matt Dillon/Jim Cooper's virtual floppy-on-hard disk (Exec
- name: `fmsdisk.device').
-
- VD0:, etc.
- other recoverable, sector-oriented RAM drives.
-
- The device you specify is checked on opening to see if it has
- enough space to contain a full disk. The check is done simply on
- the number of sectors available--if there are enough sectors, and
- they are arranged differently than on a floppy, you will be able
- to use the device as a buffer, but don't expect AmigaDOS to get
- anything meaningful from it.
-
- *Warning*: many of these devices are buggy and return *no error*
- on unsuccessful opening or failed size test. Some of them in this
- case will trash your memory. Be sure that the device is configured
- properly--try an AmigaDOS command on it first.
-
- Of course, many people will find incredible ways to use this
- feature (for techies: if you want try something weird, consider
- that `SuperDuper' reads 512 bytes at offset 900608 on opening to
- test for size, and then reads 1760 chunks of 512 bytes, one for
- each sector, for every copy. The sectors are read sequentially as
- they are distributed on the disk, so if the device ignores the
- offset indication, you can feed it with 880K of a continuous bytes
- stream. Buffering is another story though--the offset indication is
- important because `SuperDuper' places the blocks on the device "in
- the right place" as soon as it encounters them).
-
- A BUFFER is considered non-valid as soon as allocated, because it
- will contain random info. To make it valid, you must read in a floppy.
- VDBUF and HDBUF instead assume the buffer is always valid, because it
- could be externally fed. This mechanism allows you to prepare, for
- instance, a distribution disk at high speed in RAD: or in your hard disk
- using FMS:, and then to copy it to floppies directly.
-
- In the same vein, `SuperDuper' will act slightly differently when
- determining if a buffer contains a DOS disk (if not, the incrementing
- of the date is inhibited even if selected). At read time, the
- information is recorded, but if at write time the pass starts from
- track 0, `SuperDuper' will re-fetch the DOS mark from the buffer and
- check it again. This way if for instance you externally feed a
- ramdrive.device with a diskcopy command `SuperDuper' will be aware of
- it and will increment the date if requested to do so.
-
- Some care must be taken in order to obtain what you really want when
- mixing the buffering features and the selection of the start/end
- cylinder. `SuperDuper' implements a reasonable mean of flexibility and
- reliability for these kinds of operations.
-
- When using VDBUF or HDBUF, the read/write operations start and end
- exactly where you specify with the start/end cylinder gadgets. Since
- `SuperDuper' has no control over what you do to the virtual disk while
- it's not accessing it, it has to assume you made it right.
-
- When using a RAM buffer, `SuperDuper' can clearly make some
- assumptions on its validity. In particular, just after allocation or a
- stopped READ it assumes the buffer is not valid.
-
- If you have a valid buffer and you change the start/end cylinders,
- there are two cases: either the buffer range and the start/end range do
- not intersect, in which case an error message is issued if you try to
- write the buffer, or there is a non-empty intersection, in which case
- the intersection will be written, i.e., the starting track will be the
- greatest of the start of the buffer and the start cylinder, while the
- ending track will be the least of the end of the buffer and the end
- cylinder. Example: if you read something with SC=20, EC=30, then you
- set SC=10, EC=25 and hit GO, the range 20-25 will be written.
-
- There are however two subtle differences between the behaviour of a
- complete (880K) RAM buffer and a partial one. First of all, the track
- range chosen for reading in a complete RAM buffer is always the full
- start/end cylinder range, while if reading in a partial buffer
- `SuperDuper' will start from the last track of the previous buffer (of
- course, if the last track is past the end cylinder, it will start from
- the start cylinder). Moreover, if a long range of tracks is skipped
- (for instance, you read in a buffer range of 0-79 and you write 70-79)
- a few (less than 10) seconds will pass while `SuperDuper' unpacks the
- data you don't want to write--they have to be decompressed anyway.
-
- If all this scares you, don't fear: the buffer/range interaction
- will simply work just as you intuitively expect. I hope at least 8^).
-
-
- The User Interface Gadgets
- ===========================
-
- TALK
- activates `SuperDuper''s ability to give its status by voice.
- Currently only English is supported.
-
- AUTO
- activates automatic operation starting. `SuperDuper' will monitor
- disk insertion and ejection. When all destination(s) have been
- ejected and re-inserted, a GO operation is started. If FORMAT is
- selected, the destination(s) are formatted. Else, if a buffer is
- selected, it is written to the destination(s). If neither
- formatting nor buffering is requested, `SuperDuper' will monitor
- the source, too, and will start a disk-to-disk(s) copy as soon as
- the source and all destination(s) have been ejected and
- re-inserted.
-
- *Warning*: especially on one-drive-only systems, AUTO can be
- extremely dangerous. You'd better write-protect your source disks.
-
- KILLSYS
- RESTORE
- closes the Workbench and voice, flushes the memory and opens a
- very small screen with only two colors. Moreover, the window is of
- `SIMPLE_REFRESH' type rather than `SMART_REFRESH'. This way, the
- maximum amount of memory for your system is at your disposal
- (unfortunately, under 1.3 the window can be refreshed incorrectly
- because of an Intuition bug). If the Workbench can't be closed for
- some reason, a warning is issued (usually some application has a
- window opened on the Workbench screen). When you want to get back,
- hit the gadget again (this time it will be named RESTORE). This
- feature is very powerful if coupled with `SDBootInstall' and with
- the CLI option `LOWMEM'.
-
- *Warning*: If you grab the disk.resource (by selecting a source
- and/or a destination) just after a disk was inserted, it's likely
- the Workbench will be locked, waiting for you to unlock the drive
- in order to load the icon of the disk. If in this moment you hit
- KILLSYS, you will lock the entire system, since `SuperDuper' will
- be waiting for the Workbench to close, while the Workbench will be
- waiting for you to release the disk.
-
-
- The String Gadgets
- ===================
-
- The string gadgets have been more or less discussed in the previous
- sections. They are gathered here for sake of clarity.
-
- SC
- EC
- select the start and the end cylinders, respectively, for any
- operation.
-
- LABEL
- lets you choose a name for the disks formatted by `SuperDuper'.
- See The Copy Options, for the effect of the INCNAME gadget.
-
- VDNAME
- VDUNIT#
- select the name and the unit number of the Exec device that
- `SuperDuper' will use as a virtual disk if the VDBUF gadget is
- selected.
-
- RETRY#
- selects the number of read/verify retries on each track.
-
-
- Special requesters
- *******************
-
- When `SuperDuper' needs to inform the user about something, usually a
- requester with a message appears (if the TALK option is on the message
- is also read out loud). While most of the requesters are
- self-explanatory, some of them need a more detailed description.
-
- `Can't get disk.resource'
-
- The disk.resource is the Exec way of controlling the access to the
- low-level disk hardware. `SuperDuper' can't access the resource,
- probably because someone is already using it. If you suspect a
- particular program, close it and try again to select a disk gadget.
-
- `Please free disk.resource'
-
- (See also previous requester). If the disk.resource can't be
- grabbed, Exec won't give back the message passed by `SuperDuper' until
- the resource is free. Thus, until that moment `SuperDuper' can't exit.
-
- `Checksum error: buffer munged.'
-
- Someone wrote over `SuperDuper''s RAM buffer. The buffer is no
- longer valid, and the current copy is probably munged, too. You should
- probably reboot, because if something writes on someone else's memory
- it's likely it will do it again.
-
- `A track buffer has been munged.'
-
- Someone wrote on one of `SuperDuper''s track buffers. The same
- comments of the previous requester apply.
-
- `ARexx server not active'
-
- In order to use ARexx macros, the ARexx server has to be activated.
- Type `RexxMast' at a CLI prompt (if it's not in your path, you should
- locate it easily).
-
- `Error while recalibrating unit x.'
-
- `SuperDuper' found an error while recalibrating a drive head. The
- head was moved to track 0, but the drive signal `DSKTRACK0' wasn't
- activated. This means that either your drive has lazy signals, in which
- case there's nothing to worry about, or that some head step wasn't
- actually performed (possibly because of power supply reasons) in which
- case the last copy could be bad, even if VERIFY is on. Better CHECK it.
- Try also to increase the step and calibrate delays of the drive with
- `SetTDDelay'.
-
- `Better write-protect your sources.'
-
- This message is issued every time you select the AUTO gadget on a
- machine with a single drive (see The User Interface Gadgets).
-
-
- ARexx
- ******
-
- ARexx is the system macro language of the Amiga. It was originally
- developed by Bill Hawes (to whom every Amiga owner owes much more than
- he probably realizes) and was then included in the Release 2 of the
- operating system.
-
- ARexx is a beautiful interpreted language, with unique features such
- as syntax/semantics collapsing (for instance, you can ask the value of a
- variable given its name as a string) and, overall, the ability to
- interface itself with external applications. A single ARexx script can
- control several different programs and make them interact.
-
- The ARexx interface consists of a port, which is used for
- communications, and a set of commands that ARexx can issue to the
- application. For `SuperDuper', the port name is `SUPERDUPER', and the
- command set is described below. ARexx scripts written for `SuperDuper'
- should have extension `supdup', like `foobar.supdup'. This is in order
- to distinguish ARexx scripts written for different applications.
-
- ARexx provides at little or no implementation cost a powerful macro
- language which substantially increases the performance and the
- versatility of an application. Maybe some feature you would like to
- have is not in `SuperDuper' at this time, but it's very likely you'll
- be able to put it in via a suitable ARexx script.
-
-
- General Issues
- ===============
-
- Besides being able to execute commands issued by an ARexx macro,
- `SuperDuper' is also able to start an ARexx macro. This is indeed the
- purpose of the AREXX gadget (the last one in the last row). The gadget
- is activated if 1) the `rexxsyslib.library' is somewhere in your LIBS:
- directory and 2) you have a file requester. `SuperDuper' is able to
- recognize and use the ASL file requester (under Release 2), the ARP
- file requester or the req.library file requester (the first available
- in this order will be used). You can start any number of macros at the
- same time (beware of wild interactions though).
-
- `SuperDuper' commands generally correspond to gadgets, and are
- similarly named: for instance, the command `check' will check the
- source drive, while `vdunit 4' will set the virtual disk buffer unit
- number to 4. Commands are case insensitive, and only the first two or
- three letters are significant. So you can write `ch' instead of `check'
- but you have to write `rea' for `read', or you could make confusion
- with `restore' or `retry'.
-
- ARexx needs a console by which it communicates with the user. If you
- started `SuperDuper' from the CLI, the your original CLI will be used.
- Otherwise, a console window will be opened. Under 1.3, this window
- appears at the start of any ARexx macro and gets closed when there is
- no macro running. Under Release 2 it's always open, but it's an `AUTO'
- console window, so you can close it if you wish: it will be reopened as
- soon as something is printed into it.
-
-
- Action Commands
- ================
-
- The commands `go', `read', `check' and `stop' act just like their
- gadget counterparts, starting a copy (buffering, formatting) process or
- stopping it. The first three return at the end of the operation.
- However, for instance, if another task sends a `stop' command while a
- copy is in progress, the copy is interrupted and the `go' command
- returns. You can then check the `rc' variable to see what happened (see
- `The ARexx User's Reference Manual').
-
- The pair `killsys' and `restore' work like the corresponding gadget.
- The operations which are nonsense have no effect (i.e., if you send
- `killsys' and the system has already been killed, nothing happens).
-
- Finally, `rx STRING' executes the ARexx macro named STRING.
-
-
- Selection Commands
- ===================
-
- I list here for sake of completeness the whole group of selection
- commands. They could be easily deduced anyway from the gadget names,
- apart from `noclick', `volume', `printerrors' and `rx' which are
- available only through the ARexx interface. Here STRING is a string of
- characters and N is a nonnegative number. When `on/off' is specified as
- an argument, you have two ways of invoking the command: `COMMAND on'
- will switch the thing on, and `COMMAND off' will switch it off. Note
- that the ARexx interface of `SuperDuper' is rather lazy about
- syntax--strings too long will be silently truncated, and passing a
- non-numerical argument where N is required will usually produce a value
- of 0.
-
- `source N'
- Selects drive N as source;
-
- `source off'
- Turns off source drive;
-
- `dest N'
- Selects destinations using N as a bit mask. For instance, 0
- selects no drive, 1 selects drive 0, 5 selects drives 0 and 2, 15
- selects all destinations;
-
- `buffer on/off'
- Controls the RAM buffer;
-
- `hdbuf on/off'
- Controls the hard disk image file buffer;
-
- `vdbuf on/off'
- Controls the virtual disk buffer;
-
- `verify on/off'
- Turns on/off verify;
-
- `date on/off'
- Turns on/off date adaptation;
-
- `incname on/off'
- Turns on/off name increment while formatting;
-
- `ffs on/off'
- Selects Fast File System or Old File System while formatting;
-
- `talk on/off'
- Toggles talk mode;
-
- `auto on/off'
- Toggles auto mode;
-
- `label STRING'
- Sets the disk label
-
- `retry N'
- Sets the number of retries;
-
- `vdunit N'
- Sets the virtual disk unit number;
-
- `vdname STRING'
- Sets the virtual disk unit device name;
-
- `scyl N'
- Sets the start cylinder;
-
- `ecyl N'
- Sets the end cylinder.
-
- `quit'
- Quits the program.
-
- The following commands are only available through the ARexx
- interface:
-
- `noclick N'
- Forces `SuperDuper' to not click the drives specified by N as a
- bit mask (the same format of `dest').
-
- `printerrors on/off'
- Opens/closes `SuperDuper''s detailed error report window;
-
- `requesters on/off'
- Inhibits the error requesters from popping up (mainly useful when
- `SuperDuper' is in its no-GUI mode; see The CLI Interface).
-
- `volume N'
- Sets the volume of the beeps (0<=N<=64);
-
-
- Return Codes
- =============
-
- Commands issued by ARexx to an application should return useful
- values in order to tell what really happened. Generally, a command
- which fails returns an error level, while a successful command returns
- an error level of zero and, upon request of the caller via the `OPTIONS
- RESULTS' command, a result string which can be parsed in order to get
- useful information.
-
- `SuperDuper' returns an error code of 10 if the syntax of the command
- was wrong. This will cause ARexx to complain with an error message. An
- error code of 1 is returned if the syntax was right but the command
- couldn't be executed, but there is no real failure (for instance, if
- you send `go' while a copy is already in progress or if you try to
- select a ghosted gadget). An error of 30 is returned in extreme cases,
- for instance when you hit the close gadget and there are still some
- commands pending. No strings are ever returned, since we have only a
- few cases to differentiate. Return codes with special meanings are
- returned by the following commands:
-
- `source'
- `dest'
- 2
- The selected drive is not connected.
-
- 5
- The disk.resource is not available.
-
- `buffer'
- `hdbuf'
- `vdbuf'
- 5
- The buffer cannot be allocated.
-
- `buffer'
- 2
- A full buffer cannot be allocated. Compression is on, and
- there is the possibility of multi-pass copies.
-
- `go'
- `read'
- `check'
- 2
- This pass is not the last one.
-
- 3
- Something is wrong with the chosen source, destination and
- buffer options. For instance, you're trying to copy from df0:
- to df0: without a buffer.
-
- 4
- The buffer is not valid.
-
- 5
- A unit is empty.
-
- 6
- A unit is write-protected.
-
- 7
- The start/end cylinders chosen are meaningless. This can
- happen if the numbers are out of range, or (for a
- RAM-buffered GO) if there is no intersection with the current
- buffer.
-
- 8
- There were errors.
-
- 9
- There were errors. Moreover, this pass is not the last one.
-
- 20
- Someone munged the RAM buffer or the track buffer.
-
- `talk'
- 5
- The voice system cannot be activated.
-
- `killsys'
- `restore'
- 20
- The current window has been closed, but it was impossible to
- open the new one. The program exits in this case.
-
-
- What Can I Do with ARexx?
- ==========================
-
- Basically you can expand `SuperDuper''s capabilities and/or make it
- interact with other programs. A couple of examples of the first case
- could be a `CheckAll.supdup' macro which checks all drives in sequence.
- The "native" `SuperDuper' can only check one drive at a time, but if
- you have two or more drives you can check many drives using a macro like
-
- /* CheckAll */
- do i = 0 to 4
- source i
- if rc==0 then check
- end
-
- After checking you should of course look at the return codes in the
- `rc' variable and decide upon appropriate actions.
-
- Suppose now you have four drives and you want to make a copy of two
- different floppies. You can put the sources in drives 0 and 1, the
- destinations in drives 2 and 3, and then
-
- /* DoubleCopy */
- source 0
- dest 4
- go
- source 1
- dest 8
- go
-
- (of course I'm assuming `SuperDuper' is in its default
- configuration). This will produce the two copies in a completely
- unattended way.
-
-
- The CLI Interface
- ******************
-
- Line Command Options
- ====================
-
- When you start `SuperDuper' from the CLI, you have the chance to
- specify an option. The possible options are printed in the standard
- Amiga template format if you type `SD ?'. In this case, the following
- line
-
- PUBSCREEN/K,NOGUI/S,LOWMEM/S
-
- will be displayed. Its meaning is that `NOGUI' and `LOWMEM' are
- switches that you can activate, while `PUBSCREEN' must be followed by
- the name of an existing public screen. For instance, the command line
- `SD NOGUI' will invoke `SuperDuper' in its `NOGUI' mode. The two flags
- `NOGUI' and `LOWMEM' are mutually exclusive--if both are specified,
- only the first one counts.
-
- `PUBSCREEN'
- `SuperDuper' will open its window on the specified public screen.
- This parameter is non functional under 1.3.
-
- `NOGUI'
- `SuperDuper' won't open its graphical user interface but you can
- then control it through the ARexx interface. This makes possible
- to write an ARexx macro allowing you to use `SuperDuper' from the
- shell much as the diskcopy command. Moreover, the startup file
- `Startup.supdup' is not executed, so that in your ARexx macro
- which calls `SuperDuper' directly you can expect to get the
- standard configuration.
-
- `LOWMEM'
- This switch shuts down the ARexx port and the sound system.
- `SuperDuper' won't open either the ARexx port/rexxsyslib.library
- pair, or the audio.device. This mode is provided for user with 1M
- or less who want to have as much free memory as possible (read
- also the section about `SDBootInstall').
-
- These options are only available from the CLI.
-
- The Startup File
- ================
-
- At startup time, `SuperDuper' checks if ARexx is available, and in
- this case it tries to start an ARexx macro named `Startup.supdup'. This
- file should contain your usual settings: for instance, it's a very good
- place where to put a `volume' command. The startup file is a regular
- ARexx macro, just like any other one started by the AREXX gadget or by
- the `rx' command. However, a couple of conventions were implemented in
- order to get a better behaviour on systems without ARexx. In
- particular, the absence of the ARexx server or the ARexx error message
- `Program not found' will *not* be displayed if caused by the startup
- file. Notice that the last message can also be caused by the first line
- of `Startup.supdup' not being a comment (every ARexx macro must start
- with a comment).
-
-
- Performance
- ************
-
-
- `SuperDuper' and Your System
- =============================
-
- `SuperDuper' has been written keeping in mind that a good program
- doesn't have to eliminate everything from the system in order to work.
- The Amiga has a very efficient multitasking kernel which allows for
- resource arbitration.
-
- When `SuperDuper' is started, it won't allocate anything from your
- system. As soon as a source/destination gadget is clicked, it will
- inhibit all of the drives (so don't select a gadget while reading or
- writing to floppies) and then will grab the disk.resource. Until the
- resource is released, *no one else* can access the Amiga drives. This
- is necessary in order to avoid unpredictable collisions with the system
- or other programs. Inhibiting the drives is not enough, since some
- other file system (like `CrossDOS') could access them.
-
- If you need to temporarily access your drives, you must simply
- deselect all `SuperDuper' source/destination gadgets: the disk system
- will be restarted (it will be re-grabbed on a gadget selection of
- course). The heads will be moved to their original position, so that
- you no longer need to eject the drives under 1.3.
-
- The CPU use of `SuperDuper' is almost unnoticeable. You can do
- anything else, and you shouldn't notice any slowdown. In particular, if
- no source/destination is selected `SuperDuper' is completely asleep.
-
- This however is not true if you use compression. In this case, not
- only will the system be slowed down (a priority 0 task will almost
- always be active), but *any* operation (including moving the mouse
- pointer) will slow down `SuperDuper'.
-
- If you use the utility `ToggleClick' distributed with `SuperDuper'
- (or any other utility which legally kills drive clicks under Release 2)
- `SuperDuper' won't click empty drives (drive clicking is necessary for
- monitoring disk insertion; using `ToggleClick' is good but you must be
- sure your drives won't try to move past track 0 if asked to do so).
- Anyway, you always have the chance to selectively force `NOCLICK' via
- the corresponding ARexx command.
-
- You should avoid running `SuperDuper' while a 16 color hi-res screen
- (or a 4-color ECS productivity mode screen) is displayed. The video DMA
- access will interfere with the disk/CPU/Blitter access to the point
- that copy times will rise to incredible values--reading and compressing
- a disk in the buffer can take more than 100s.
-
-
- `SuperDuper' and You
- =====================
-
- "Well," you could say, "`SuperDuper' is a great copier--but how can
- I trust it for making my copies? This guy diddles with hardware--maybe I
- should use the system `DiskCopy' command."
-
- This is not a good idea. First of all, `SuperDuper' is *incredibly*
- picky about verifying. You will get more verify error messages than
- with the standard copy commands (for techies: `SuperDuper' verifies
- also the MFM timing bits, not only the data bits; this means a 200%
- efficiency improvement in catching verify errors and generally bad
- media).
-
- Moreover, both the 1.3 and the 2.0 trackdisk.device have unpleasant
- side-effects on frequently read/written tracks. These side-effects are
- cleared when you do a copy of the disk with `SuperDuper' (for techies:
- trackdisk.device doesn't check for MFM bits being read in correctly, and
- doesn't re-MFM the track before writing it; it just re-MFMs the changed
- sector. If a MFM timing bit is read wrong, it will stay wrong forever,
- possibly causing read errors; but `SuperDuper' re-MFMs every track it
- copies, thus restoring every MFM timing bit to its correct value).
-
- Finally, if you don't like coffee-breaks during your copies, you'd
- better use the fastest copier available--namely `SuperDuper'. Note that
- if you have four drives and you use top-quality disks, so you can skip
- verify, the buffer system allows you to get a per-copy time of 9 1/2
- seconds, which is definitely not bad.
-
-
- `SDBootInstall'
- ================
-
- When your system boots up (at power on or after a reset), the
- operating system searches for available drives, and creates some
- trackdisk.device tasks accordingly. These tasks take a lot of memory
- for their buffers (>30K), but `SuperDuper' doesn't use them at all,
- because it has its internal routines.
-
- If you have to do intensive copy work, and you have 1MB of memory or
- less, you could find it useful to boot up your system in a special
- configuration that will shut down almost all trackdisk.device tasks,
- thus freeing a lot of memory.
-
- To accomplish this, do as follows:
-
- 1. Make a copy of your usual Workbench 1.2 (or greater) disk (from
- now on we work on the copy).
-
- 2. Delete some programs to make room--`preferences', `diskcopy' and
- `format' are good candidates. Moreover, delete the file
- `Disk.info'.
-
- 3. Copy `SuperDuper' to the disk root directory (by dragging its icon
- on the disk icon or using the CLI).
-
- 4. Edit the startup-sequence of the disk (it's in the `s' directory).
- Delete it entirely, and substitute it with
-
- SetPatch >NIL:
- Run >NIL: <NIL: SD LOWMEM
- EndCLI >NIL:
-
- If you're under 1.2, don't put in the first line (you don't have a
- `SetPatch' command).
-
- 5. Now put the disk in df0:, and run the utility `SDBootInstall'. A
- special bootblock will be installed on the floppy. When booting
- from it, the operating system (and you) will be able to access
- only drive 0--the other ones will be for `SuperDuper''s use only.
- To get back to normality, a reboot is necessary. You will gain
- 30/40K per drive using this method (for techies: it is perfectly
- legal--the bootblock simply AllocUnit()s the drives with ID>0).
-
-
- A Word on Copy Protection
- ==========================
-
- `SuperDuper' won't copy protected disks (or if it will it's just a
- coincidence). I do not believe in copy protection. Scrambled tracks will
- produce random data on the destination. If the read error goes beyond a
- simple checksum error don't expect anything meaningful to be written on
- the destination disks.
-
- However, `SuperDuper' will faithfully reproduce data block checksum
- errors (`Disk foobar has a read/write error') or DOS checksum errors
- (`Key 880 checksum error') on the source disk in disk-to-disk copies
- (header checksum errors are fixed when renumbering the sectors). Thus,
- if you got the typical `Key <n> checksum error' you can make a copy of
- the disk before fixing it. `SuperDuper' won't do any surgery: use a
- good tool (such as `DiskSalv' or `FixDisk') for that. Avoid
- `DiskDoctor'. On the other hand, during buffered copies data block
- checksums will be silently fixed by recalculating the right checksum.
-
-
- Acknowledgments
- ****************
-
- The first person I must thank a thousand times is Dirk Reisig. It
- was by means of his suggestions that I sped up `SuperDuper' to the
- current, amazing level. I wrote him a letter which he answered gently
- with a long explanation of the optimizations performed by `PCopy'. The
- first time I read the letter it seemed greek to me, but little by
- little I learned all the mysteries of MFM encoding and disk direct
- hardware driving. Moreover, I learned from the source code of
- `TrackSalve' the usage of the blitter for MFM encoding and many other
- subtle things. In other words, without the help of Dirk you would have
- never seen anything after `DFC5' (for version 2.0, a new optimization
- was introduced; it was suggested by Dan Babcock).
-
- The second guy behind the birth of `SuperDuper' is Tom Rokicki. He
- pushed me to write a substitute for `TurboBackup', and overall
- suggested the main thing--that on the Amiga it is possible to write
- many disks at the same time. Without this trick, you could never do
- four non-verified copies in 38s. Tom also tested all
- pre-whatever-greek-letter versions, always giving useful comments...
- and risking the life of his drives 8^). Moreover, I had time to work on
- `SuperDuper' because the AmigaTeX system is so incredibly efficient I
- got a lot of spare time while writing math papers...
-
- Last but not least, Randell Jesup at Commodore drove me through the
- labyrinth of non-specified-specs, hardware quirks, strange behaviors,
- and system esoteric features. Without his help `SuperDuper' could
- probably work... but I wouldn't trust it for *my* copies 8^).
-
- The name `SuperDuper' popped up during a rather intensive BIX
- discussion. Many other names were proposed, but in the end I chose this
- one--it has symmetry, correctly defines the product and has a simple
- shortening (SD). Thus, a thousand thanks to Kent Kalnasy and Dan
- Barrans for suggesting this name.
-
- Many features were not my ideas. An incredible number of BIX users
- came up with excellent suggestions, many of which were actually
- implemented. Thanks to them you have support for buffering on any
- device (I never use RAD: nor FMS:, so I didn't think it could be
- useful).
-
- But, as always, the biggest *thanks* goes to the beta-testers of
- `SuperDuper': Dennis Atkin, Michele Battilana, Vittorio Calzolari, Jim
- Cooper, Doug Erdely, Charlie Fair, Blaine Gardner, Robert Jenks, John
- Jones, Kent Kalnasy, Robert Kesterson, Paul King, Randy Menzer, Linda
- Munson, Davide Repetto, Tom Rokicki, Sergio Ruocco, Carlo Santagostino,
- Reinhard Spisser, Jeff Todd, Carlo Todeschini, Michael Scott Velez and
- Marco Zandonadi. Beta-testing a copier is different from anything
- else--if it doesn't work you won't get a marginally corrupted picture
- on your display: rather, the Fish Disks it took an hour to copy could
- be unusable. A special kind of patience is needed under these
- conditions 8^).
-
-
- Disclaimer and Author Info
- ***************************
-
- `SuperDuper' is Copyright (C) 1991,1992 Sebastiano Vigna and it's
- freely distributable as long as all of its files are included in their
- original form without additions, deletions, or modifications of any
- kind, and only a nominal fee is charged for its distribution. This
- software is provided *AS IS* without warranty of any kind, either
- expressed or implied. By using `SuperDuper', you agree to accept the
- entire risk as to the quality and performance of the program; don't
- come to me if you destroy your entire Fish Disk library with it! Of
- course, it was tested rather extensively before it was released...
-
- Comments, complaints, desiderata are welcome.
-
- Sebastiano Vigna
- Via California 22
- I-20144 Milano MI
-
- BIX: svigna
- INTERNET: vigna@imiucca.csi.unimi.it
- vigna@ghost.sm.dsi.unimi.it
- UUCP:cbmehq!cbmita!sebamiga!seba@cbmvax.cbm.commodore.com
- ...{uunet|pyramid|rutgers}!cbmvax!cbmehq!cbmita!sebamiga!seba
- FIDO: 2:332/607.28
-
-
- Concept Index
- **************
-
-
-
- <BAD NAME> The Action Gadgets
- <NDOS> The Action Gadgets
- <UNKNOWN> The Action Gadgets
- ARexx ARexx
- Acknowledgments Acknowledgments
- Address Disclaimer and Author Info
- Atkin Dennis Acknowledgments
- Babcock Dan Acknowledgments
- Bar color The Action Gadgets
- Barrans Dan Acknowledgments
- Battilana Michele Acknowledgments
- Buffer File The Buffering System
- Buffering The Buffering System
- CLI Options The CLI Interface
- CPU usage SuperDuper and Your System
- Calzolari Vittorio Acknowledgments
- Changes Changes
- Cooper Jim Acknowledgments
- Copy protection Copy Protection
- Copying First Steps
- DMA contention SuperDuper and Your System
- Disclaimer Disclaimer and Author Info
- Distribution Disclaimer and Author Info
- Drive inhibition SuperDuper and Your System
- E_mail Disclaimer and Author Info
- Erdely Doug Acknowledgments
- Error Report Selection Commands
- Error reproduction Copy Protection
- Errors The Action Gadgets
- Errors while recalibrating Changes
- FMS: The Buffering System
- Fair Charlie Acknowledgments
- Features Main Features
- First Steps First Steps
- Flakey drives Changes
- French keyboard Changes
- Gardner Blaine Acknowledgments
- Introduction Introduction
- Jenks Robert Acknowledgments
- Jesup Randell Acknowledgments
- Jones John Acknowledgments
- Kalnasy Kent Acknowledgments
- Kesterson Robert Acknowledgments
- Keyboard Usage First Steps
- King Paul Acknowledgments
- Low memory The CLI Interface
- Menzer Randy Acknowledgments
- Munson Linda Acknowledgments
- No clicks Selection Commands
- No clicks Changes
- NoGUI The CLI Interface
- Performance Performance
- Public Screen The CLI Interface
- RAD: The Buffering System
- Reisig Dirk Acknowledgments
- Repetto Davide Acknowledgments
- Requesters Special Requesters
- Retries The Action Gadgets
- Return codes Return Codes
- Rokicki Tom Acknowledgments
- Ruocco Sergio Acknowledgments
- Santagostino Carlo Acknowledgments
- Simple Refresh The User Interface Gadgets
- Smart Refresh The User Interface Gadgets
- Spisser Reinhard Acknowledgments
- Startup File The CLI Interface
- Timing bits SuperDuper and You
- Timings Introduction
- Todd Jeff Acknowledgments
- Todeschini Carlo Acknowledgments
- VD0: The Buffering System
- Velez Michael Scott Acknowledgments
- Voice The User Interface Gadgets
- Volume Control Selection Commands
- You SuperDuper and You
- Zandonadi Marco Acknowledgments
-
-
- Gadget Index
- *************
-
-
-
- AUTO The User Interface Gadgets
- BUFFER The Buffering System
- CHECK The Action Gadgets
- DATE The Copy Options
- EC The String Gadgets
- EC The Action Gadgets
- EC The Buffering System
- FFS The Copy Options
- FORMAT The Copy Options
- GO The Action Gadgets
- HDBUF The Buffering System
- INCNAME The Copy Options
- KILLSYS The Buffering System
- KILLSYS The User Interface Gadgets
- LABEL: The Copy Options
- READ The Action Gadgets
- RESTORE The User Interface Gadgets
- RETRY# The Action Gadgets
- RTRY:ERR The Action Gadgets
- SC The Buffering System
- SC The Action Gadgets
- SC The String Gadgets
- STOP The Action Gadgets
- TALK The User Interface Gadgets
- TALK Special Requesters
- VDBUF The Buffering System
- VDNAME The Buffering System
- VDNAME The String Gadgets
- VDUNIT# The Buffering System
- VDUNIT# The String Gadgets
- VERIFY The Copy Options
-
-
- ARexx Command Index
- ********************
-
-
-
- `auto' Selection Commands
- `buffer' Selection Commands
- `check' Action Commands
- `date' Selection Commands
- `dest' Selection Commands
- `ecyl' Selection Commands
- `ffs' Selection Commands
- `go' Action Commands
- `hdbuf' Selection Commands
- `incname' Selection Commands
- `killsys' Action Commands
- `label' Selection Commands
- `noclick' Selection Commands
- `printerrors' Selection Commands
- `quit' Selection Commands
- `rc' Return Codes
- `read' Action Commands
- `requesters' Selection Commands
- `restore' Action Commands
- `retry' Selection Commands
- `rx' Action Commands
- `scyl' Selection Commands
- `source' Selection Commands
- `source' Selection Commands
- `stop' Action Commands
- `talk' Selection Commands
- `vdbuf' Selection Commands
- `vdname' Selection Commands
- `vdunit' Selection Commands
- `verify' Selection Commands
- `volume' Selection Commands
-
-
- Program Index
- **************
-
-
-
- AmigaTeX Acknowledgments
- CheckAll.supdup ARexx Examples
- DiskCopy SuperDuper and You
- DoubleCopy.supdup ARexx Examples
- SDBootInstall SDBootInstall
- SetTDDelay Changes
- Startup.supdup The CLI Interface
- ToggleClick SuperDuper and Your System
- ToggleClick Changes
- TurboBackup Acknowledgments
-
-