home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format 62 / af062sub.adf / SuperDuper / SuperDuper.DOC next >
Text File  |  1994-06-08  |  78KB  |  1,768 lines

  1.  
  2.    This document describes `SuperDuper' 3.1, a freeware high-speed disk
  3. copier and formatter for the Amiga. Typical timings are less than 100s for a
  4. disk-to-disk verified copy, or 38s for a four disks non-verified format.
  5.  
  6. Copyright © 1991,1992,1993 Sebastiano Vigna
  7.  
  8.  
  9.  'Introduction' 
  10.  'Windows' 
  11.  'Gadgets' 
  12.  'Reference' 
  13.  'ARexx' 
  14.  'Performance' 
  15.  'Acknowledgments' 
  16.  'Disclaimer and Author Info' 
  17.  'Concept Index' 
  18.  'Gadget Index' 
  19.  'Program Index' 
  20.  
  21.  
  22.  
  23. ----------------------------------------------------------------------------------
  24. Introduction
  25. ----------------------------------------------------------------------------------
  26.  
  27. Introduction
  28. ************
  29.  
  30.    `SuperDuper' is a disk copier/formatter that tries to be to disk handling
  31. what `Mostra' is to IFF displaying: a fast, compact, system-friendly tool
  32. which combines speed, features, and some bells and whistles to make your
  33. life easier.
  34.  
  35.    By "fast" I mean exactly what you're hoping--blazingly fast. A disk is
  36. usually copied and verified in less than 100s. Without verify, the time
  37. drops to 69s. You can buffer a disk in RAM in less than 36s, and then making
  38. a verified copy takes 67s, while a non-verified copy takes less than 36s.
  39. Adding another destination drive increases verified copy times by 34s, but
  40. hardly changes non-verified copy times (the Amiga can write more than one
  41. drive at a time; I just need a few tenths of a second in order to measure
  42. the drive speed and step the heads). Thus, if you really trust your drives
  43. and your media you can make four copies in 38s. These timings can vary with
  44. the system configuration, the multitasking overhead, the disposition of the
  45. blocks on the surface of the disk, the state of the `Date' option (which
  46. requires a separate write on the root block track for each disk), the DMA
  47. access of the custom chips and the display features enabled.
  48.  
  49.  
  50.  'Changes' 
  51.  'Main Features' 
  52.  'First Steps' 
  53.  
  54.  
  55.  
  56. ----------------------------------------------------------------------------------
  57. Changes
  58. ----------------------------------------------------------------------------------
  59.  
  60. Changes
  61. =======
  62.  
  63.    `SuperDuper' 3.x is in many ways a completely new program. This is why I
  64. *strongly suggest* to all previous users to *entirely reread* the
  65. documentation.
  66.  
  67.    Now the program works only under release 2.04 and beyond of the operating
  68. system. Minor maintenance releases of `SuperDuper' 2.0x will probably be
  69. distributed for the users who do not still have Release 2, but you should
  70. assume that no programming effort from my part will be ever spent for writing
  71. something working under 1.3. Moreover, some features of 3.0 are used if
  72. present (for instance, scalable checkmarks and radio buttons gadgets).
  73.  
  74.    The main new features are high density drive support, XPK compression
  75. support (for more details, see 'The Buffering System'), a complete graphical
  76. display of the copy process status, and much more flexible buffering.
  77.  
  78.  
  79.  
  80. ----------------------------------------------------------------------------------
  81. Main Features
  82. ----------------------------------------------------------------------------------
  83.  
  84. Main Features
  85. =============
  86.  
  87.    * `SuperDuper' copies, formats and checks from/to any combination of Amiga
  88.      drive(s).
  89.  
  90.    * `SuperDuper' can buffer a disk in RAM, allowing for any number of
  91.      duplications while reading the source disk only once. The combination of
  92.      destination drives can be changed at each pass. If you have a hard
  93.      disk, you can create on it an IFF image file that will act as a buffer.
  94.      This file can be saved and reused many times. Also, all kinds of
  95.      virtual disks are supported for buffering (VD0:, RAD:, FMS:...).
  96.  
  97.    * `SuperDuper' checksums the RAM buffer. If some badly written program is
  98.      trashing your memory, you are alerted. Thus, buffered copies are as
  99.      safe as direct copies.
  100.  
  101.    * `SuperDuper' also checks its internal DMA buffers at each write.
  102.  
  103.    * `SuperDuper' can use any XPK library in order to compresss the
  104.      information it stores in RAM. You can choose your preferred compression
  105.      algorithm, depending on the speed of your machine and on the available
  106.      memory. With most compressors, write times are (almost) unaffected.
  107.  
  108.    * `SuperDuper' will automatically retry tracks which produce a verify
  109.      error.  The number of retries is programmable. A complete graphical
  110.      rendition of the status of retries and errors is given in the Info
  111.      Window, and on request detailed error information printing is available.
  112.  
  113.    * `SuperDuper' is highly system-friendly--the use of CPU time is
  114.      negligible, so you can multitask efficiently.
  115.  
  116.    * `SuperDuper' has the option of incrementing the creation date of the
  117.      copy so AmigaDOS doesn't get confused. If, however, the option is
  118.      switched on and the disk is not an AmigaDOS disk, `SuperDuper' won't
  119.      increment the date.
  120.  
  121.    * `SuperDuper' is faster than diskcopy--actually it pushes the drives to
  122.      their limits. At the time of this writing, `SuperDuper' is the fastest
  123.      Amiga copier both from a "pure" (physical time) and from a "per-copy"
  124.      (real time for each copy when a big number of copies of the same disk
  125.      is produced) point of view.
  126.  
  127.    * `SuperDuper' alerts the user with sound (and optionally voice) about the
  128.      operations in progress--so you can really be doing something else!
  129.  
  130.    * `SuperDuper' can format both OFS, FFS and DCFS disks.
  131.  
  132.    * `SuperDuper' displays a list of the last disks copied. If you do a lot
  133.      of copying, you'll find this feature more than a little useful.
  134.  
  135.    * `SuperDuper' can manage the Amiga drives without help from the
  136.      trackdisk.device. Through the supplied utility `SDBootInstall', you can
  137.      create a boot disk which will keep the system away from your drives,
  138.      giving you back more than 30K per unit. This is very useful when doing
  139.      intensive buffered copying on a 1M machine.
  140.  
  141.    * `SuperDuper' can automatically start any copy or format operation by
  142.      monitoring the disks' extraction and insertion.
  143.  
  144.    * `SuperDuper''s window can be opened on any public screen.
  145.  
  146.    * The start/end cylinder of a copy is programmable.
  147.  
  148.    * Unique numbered names can be automatically generated while formatting.
  149.  
  150.    * `SuperDuper' has a time indicator.
  151.  
  152.    * `SuperDuper' has a beautiful name. 8^)
  153.  
  154.    * If this is not enough, an ARexx interface allows any kind of
  155.      customization.  In particular, a startup ARexx script lets you set up a
  156.      custom configuration. Since `SuperDuper' can turn off its graphical user
  157.      interface via a command line switch, it is possible to use `SuperDuper'
  158.      as a CLI command by writing a suitable ARexx macro. A switch allows you
  159.      to shut down ARexx in order to gain memory. ARexx macros can be
  160.      launched via the ASL file requester.
  161.  
  162.  
  163.  
  164. ----------------------------------------------------------------------------------
  165. First Steps
  166. ----------------------------------------------------------------------------------
  167.  
  168. First Steps
  169. ===========
  170.  
  171.    To use `SuperDuper', you simply double-click on its icon. You will see a
  172. window appearing on the screen: it's the main window, which contains the
  173. main controls of the program.
  174.  
  175.    Just under the window title you can see the "progress bar", which gives
  176. you an approximate indication of how much of the copy process has been
  177. carried out.  Under the progress bar, you can see the "action gadgets" (see
  178. 'The Action Gadgets'), which let you control `SuperDuper''s activities. On the
  179. right side, there are the source/destination and copy mode selectors.
  180.  
  181.    To make your first copy, if you have two (or more) drives simply select
  182. in the first column of gadgets of the `Src/Dest' box the gadget for the drive
  183. which contains the source floppy, and in the second column the gadget(s) for
  184. the drive(s) containing the destination(s) (for the time being do not choose
  185. the same drive both as source and as destination). Then hit the `Copy'
  186. gadget. After a while, the display will flash, a beep will be generated, and
  187. the copy will be finished. As each cylinder is copied, the progress bar is
  188. updated.
  189.  
  190.    If you have only one drive, select it both as source and as destination.
  191. Then select the `Buffer' radio button in the `Mode' box. Now put in the
  192. source disk and hit the `Read' gadget: the buffer will be filled with the
  193. contents of the disk. If the progress bar reaches its maximum length, then
  194. the whole disk has been buffered. Pull out the source disk, put in the
  195. destination, and hit the `Write' gadget. The buffer will be written to the
  196. disk. If only a part of the source disk was buffered, put it in again,
  197. buffer it again (note that now the progress bar starts where it stopped
  198. before) and write it again.  This process must be repeated until the whole
  199. disk has been copied. It is safer to set the write protect tab on the source
  200. disk, in order to avoid the unpleasing side-effects of source/destination
  201. mismatches.
  202.  
  203.    `SuperDuper' supports both double and high density floppies. Of course,
  204. you have to use the same kind of floppy in all drives, or a requester
  205. complaining about a type mismatch will be issued. You can change the density
  206. of the floppy each time you do a copy, but you have to be careful to not
  207. confuse the operating system: See 'SuperDuper and Your System'.
  208.  
  209.  
  210. ----------------------------------------------------------------------------------
  211. Windows
  212. ----------------------------------------------------------------------------------
  213.  
  214. Windows
  215. *******
  216.  
  217.    `SuperDuper' 3.1 features several windows. This was made necessary by the
  218. growth of information to display, which is now divided among a main window
  219. and two additional windows. The left/right arrow keys allow to bring to front
  220. cyclically all the opened windows, while F1 toggles the zoom state of the
  221. currently activated window.
  222.  
  223.  
  224.  'The Main Window' 
  225.  'The Info Window' 
  226.  'The Options Window' 
  227.  
  228.  
  229. ----------------------------------------------------------------------------------
  230. The Main Window
  231. ----------------------------------------------------------------------------------
  232.  
  233. The Main Window
  234. ===============
  235.  
  236.    When `SuperDuper' is started, it usually opens a window (unless you
  237. specify the `NoGUI' tooltype; see 'The CLI and WB Options'). This window
  238. contains the progress bar, and the main control gadgets. See
  239. 'The Action Gadgets'.
  240.  
  241.    The progress bar gives you a rough estimate of the part of the copy
  242. process that has been carried out. Also, it tells you when an error occur:
  243. in this case, the bar is updated in a lighter (dithered) color. For more
  244. precise informations on the error, see 'The Info Window'.
  245.  
  246.    The zoom gadget can be used to reduce the main window to the point that
  247. only the main action gadgets and the progress bar are visible. This is most
  248. useful if you want to free some space on your screen, yet to be able to
  249. govern the copy process.
  250.  
  251.    The main window is opened at startup unless you specify the `NoGUI'
  252. option, either via the CLI or via tool types. In this case, no window is
  253. opened. Note that it is not possible to close the main window via ARexx and
  254. have the info or options window opened.
  255.  
  256.  
  257. ----------------------------------------------------------------------------------
  258. The Info Window
  259. ----------------------------------------------------------------------------------
  260.  
  261. The Info Window
  262. ===============
  263.  
  264.    The Info window contains only informations--there is nothing you can set.
  265. All the information about the copy process is gathered here. In order to
  266. open it, you have to click on the `Info' gadget of the Main window.
  267.  
  268.    On the left, the `Status' gadget tells you what `SuperDuper' is currently
  269. doing. Its normal display is `Idle', and it changes to reflect the operation
  270. currently in progress.
  271.  
  272.    The `Elapsed' gadget tells you how much time has passed from the start of
  273. the current operation. `SuperDuper' uses the system EClock, which is very
  274. precise and has a very low overhead.
  275.  
  276.    The `Copy #' gadget tells you how many error-free copies of the current
  277. buffer have been done (for this to happen, you have to select a buffer, as
  278. explained in see 'The Buffering System').
  279.  
  280.    Just below there is a standard listview: it contains a list of the drives
  281. copied, checked or buffered, the topmost being the latest.
  282.  
  283.    On the right, you can see the four disk status displays. For each cylinder
  284. read or written, a square is displayed in the respective drive status
  285. display.  If a retry occurs, a triangle contained in the square is painted
  286. in a lighter, dithered color. If the retry are unsuccessful, the triangle is
  287. set in the background (lightest) color. Of the two triangles contained in
  288. each square, the leftmost represents the upper side of the floppy, while the
  289. rightmost represents the lower side.
  290.  
  291.    The info window can be opened and closed at your will. The Esc key or the
  292. close gadget will make it disappear, but you can open it again via the
  293. respective gadget, or via the `Window' ARexx command. See 'ARexx'.
  294.  
  295.  
  296. ----------------------------------------------------------------------------------
  297. The Options Window
  298. ----------------------------------------------------------------------------------
  299.  
  300. The Options Window
  301. ==================
  302.  
  303.    The options window contains a series of gadgets which allow to control the
  304. kind of operations performed by `SuperDuper', for instance, if buffering
  305. should use compression. See 'The Option Gadgets'.
  306.  
  307.    The options window can be opened and closed at your will. The Esc key or
  308. the close gadget will make it disappear, but you can open it again *via* the
  309. respective gadget, or via the `Window' ARexx command.  See 'ARexx'.
  310.  
  311.  
  312. ----------------------------------------------------------------------------------
  313. Gadgets
  314. ----------------------------------------------------------------------------------
  315.  
  316. Gadgets
  317. *******
  318.  
  319.    `SuperDuper' is completely controlled via gadgets--there are no menus.
  320. Every gadget can be activated via the mouse or the keyboard (using the
  321. letter which appears underlined in the gadget name). The copy mode gadget in
  322. the main window cycles when the `M' key is pressed. The destination drive
  323. gadgets can be controled by pressing SHIFT together with the underlined
  324. number. You can use `Q' or Esc to exit, instead of hitting the close gadget.
  325. Note however that Esc will simply close the currently activated window, and
  326. possibly exit `SuperDuper' if the latter is the main window, while `Q' will
  327. always exit. Some of the string gadgets have underlined letters which
  328. activate them. Moreover, you can use `TAB' and `SHIFT-TAB' to pass from a
  329. string gadget to another one.
  330.  
  331.  
  332.  'The Action Gadgets' 
  333.  'The Disk Gadgets' 
  334.  'The Copy Mode Gadget' 
  335.  'The Option Gadgets' 
  336.  
  337.  
  338. ----------------------------------------------------------------------------------
  339. The Action Gadgets
  340. ----------------------------------------------------------------------------------
  341.  
  342. The Action Gadgets
  343. ==================
  344.  
  345.    These gadgets control the actions that can be performed by `SuperDuper'.
  346.  
  347. `Stop'
  348.      stops any operation. If pressed while the multi-pass real-time
  349.      compression buffer is selected and no operation is in progress, it will
  350.      empty the buffer and reset the pass count, thus allowing you to buffer
  351.      another source even if the previous one wasn't finished (see
  352.      'The Buffering System'). If you `Stop' immediately after starting a copy
  353.      operation and nothing has been drawn in the progress bar, nothing has
  354.      been written to the destinations.
  355.  
  356. `Copy'
  357.      can be used only in `Disk2Disk' mode; it initiates a disk-to-disk copy
  358.      operation.  The source is copied to the destination(s).
  359.  
  360. `Read'
  361.      can be used only when a buffer is selected; it fills the buffer by
  362.      reading from the source drive.
  363.  
  364. `Write'
  365.      can be used only when a buffer is selected; the content of the buffer
  366.      is written on the destination(s).
  367.  
  368. `Check'
  369.      is basically a `Read' without buffering. The source disk is scanned for
  370.      errors. No buffer is needed to use it. Note that `SuperDuper' will
  371.      detect trackdisk.device related errors, but it won't find DOS checksum
  372.      errors (for this purpose, for instance, you can use `DiskSalv').
  373.  
  374. `Format'
  375.      formats the destinations(s).
  376.  
  377. `Options'
  378.      opens the options window, or brings it to the front if it has been
  379.      already opened.
  380.  
  381. `Info'
  382.      opens the info window, or brings it to the front if it has been already
  383.      opened.
  384.  
  385. `ARexx'
  386.      opens a file requester, allowing you to choose an ARexx macro to
  387.      execute.
  388.  
  389. `NoWB'
  390. `WB'
  391.      closes the Workbench, flushes the memory and opens a very small screen
  392.      with only two colors. Moreover, the window is of `SIMPLE_REFRESH' type
  393.      rather than `SMART_REFRESH'. This way, the maximum amount of memory for
  394.      your system is at your disposal. If the Workbench can't be closed for
  395.      some reason, a warning is issued (usually some application has a window
  396.      opened on the Workbench screen). When you want to get back, hit the
  397.      gadget again (this time it will be named `WB'). This feature is very
  398.      powerful if coupled with `SDBootInstall' and with the CLI option
  399.      `NoARexx'. See 'SDBootInstall', and see 'The CLI and WB Options'.
  400.  
  401.      *Warning*: If you grab the disk.resource (by selecting a source and/or a
  402.      destination) just after a disk was inserted, it's likely the Workbench
  403.      will be locked, waiting for you to unlock the drive in order to load
  404.      the icon of the disk. If in this moment you hit `NoWB', you will lock
  405.      the entire system, since `SuperDuper' will be waiting for the Workbench
  406.      to close, while the Workbench will be waiting for you to release the
  407.      disk.
  408.  
  409. `SaveCon'
  410.      saves the current configuration to an ARexx file named
  411.      `PROGDIR:Startup.supdup' (`PROGDIR:' is the directory the executable
  412.      program lives in). The file is a standard ARexx macro which can be
  413.      further edited if necessary. Whenever `SuperDuper' will starts, it will
  414.      try to execute this file. Note that in order to prevent the main window
  415.      from being first opened and then moved to the preferred position, which
  416.      is visually ugly, it is a good thing to use the `NoGUI' option. The
  417.      configuration file contains commands that will open the desired windows
  418.      even if `NoGUI' is specified. See 'The CLI and WB Options'.
  419.  
  420. `Iconify'
  421.      closes all windows and creates an icon on the Workbench, using the
  422.      program icon. As soon as the icon is double-clicked, the windows are
  423.      reopened again.  Iconification does not interfere with copying or ARexx
  424.      script execution.
  425.  
  426.  
  427. ----------------------------------------------------------------------------------
  428. The Disk Gadgets
  429. ----------------------------------------------------------------------------------
  430.  
  431. The Disk Gadgets
  432. ================
  433.  
  434.    These gadget allows you to specify the source and the destination(s) of
  435. any copy/check/format operation. You should take care of selecting a
  436. meaningful set of drives when starting an operation. For instance, you
  437. cannot copy if there is a drive which is selected both as source and as
  438. destination, but you can read, write, check and format.
  439.  
  440.  
  441. ----------------------------------------------------------------------------------
  442. The Copy Mode Gadget
  443. ----------------------------------------------------------------------------------
  444.  
  445. The Copy Mode Gadget
  446. ====================
  447.  
  448.    The copy mode gadget defines the copying method that will be used by
  449. `SuperDuper'. There are four possibilities:
  450.  
  451. `Disk2Disk'
  452.      `SuperDuper' will copy the sources onto the destination(s) whenever the
  453.      `Copy' gadget is hit.
  454.  
  455. `Buffer'
  456.      `SuperDuper' will read and write alternatively a disk. At each read,
  457.      part or all of the source disk is copied into RAM, possibly compressing
  458.      it. At each write, that part of the disk is written down to the
  459.      destination(s). See 'The Buffering System'.
  460.  
  461. `HD Buffer'
  462.      works like `Buffer', but a file is used instead of the RAM. See
  463.      'The Buffering System'.
  464.  
  465. `VD Buffer'
  466.      works like `Buffer', but a physical device is used instead of the RAM.
  467.      See 'The Buffering System'.
  468.  
  469.  
  470. ----------------------------------------------------------------------------------
  471. The Option Gadgets
  472. ----------------------------------------------------------------------------------
  473.  
  474. The Option Gadgets
  475. ==================
  476.  
  477.    Several gadgets control various options.
  478.  
  479. `Verify'
  480.      turns verify on and off (you can also format without verifying).
  481.      However, turning off verify is not recommended.
  482.  
  483. `Date'
  484.      toggles on or off the change of the date of an AmigaDOS disk. This
  485.      change is necessary so AmigaDOS can distinguish otherwise identical
  486.      disks; if two truly identical disks are inserted in the drives,
  487.      AmigaDOS gets confused and crashes. However, if for some reason you
  488.      want a "physical" copy, you would turn off this option. `Date' will be
  489.      ignored for a non-AmigaDOS disk.
  490.  
  491. `Comp'
  492.      enables the use of compression when in `Buffer' or `HD Buffer' mode.
  493.      It works in conjunction with the `Xpk lib' gadget. See
  494.      'The Buffering System'.
  495.  
  496. `PrintErrors'
  497.      opens/closes `SuperDuper''s detailed error report window.
  498.  
  499. `IncName'
  500.      makes easy to format a bunch of disks with different, unique names. If
  501.      this gadget is selected while formatting, `SuperDuper' will scan the
  502.      `Label' string gadget searching for a numeric pattern (i.e., one or more
  503.      digits) and will increment the pattern value for each disk formatted. In
  504.      case more than one pattern is present, the last one is used. For
  505.      instance, if you format four disks with label `Foobar.000', the disks
  506.      will be named `Foobar.001', `Foobar.002',... and at the end of the copy
  507.      the label gadget will contain `Foobar.004', thus being ready for the
  508.      next formatting. The more digits, the more unique names. Since you can
  509.      start from any number, and after 99...9 the numeration wraps around, if
  510.      you need to start with 00...0 you can put in something like
  511.      `Foobar.999': The first disk will be labeled with `Foobar.000'
  512.  
  513. `FFS'
  514.      enables the formatting of FFS disks; for copying it is ignored.
  515.  
  516. `Intl'
  517.      enables the formatting of disks with the new international mode; for
  518.      copying it is ignored. Note that the directory cache file system exists
  519.      only in the international version.
  520.  
  521. `DirCache'
  522.      enables the formatting of directory cache disks; for copying it is
  523.      ignored.  This gadget supersedes `FFS' in case both are selected.
  524.  
  525. `Talk'
  526.      activates `SuperDuper''s ability to give its status by voice.
  527.      Currently only English is supported. Note you need `translator.library'
  528.      and `narrator.device' for this to work, and they are not distributed
  529.      any longer with the operating system.
  530.  
  531. `Auto'
  532.      activates automatic operation starting. `SuperDuper' will monitor disk
  533.      insertion and ejection. When all sources and/or destination(s) have been
  534.      ejected and re-inserted, a suitable operation is started.
  535.  
  536.      If the copy mode is `Disk2Disk', and source and destination(s) are both
  537.      selected, a copy is started, but if only destination(s) are selected, a
  538.      format is started instead.
  539.  
  540.      If the copy mode is a buffering mode, a source has been selected, and a
  541.      write-protected disk is inserted in the source drive, a read operation
  542.      is started. Otherwise, the buffer is written on the destination(s).
  543.      This allows you to easily copy a series of disks without ever giving a
  544.      command, just by write-protecting all of your source disks (which is
  545.      anyway a good idea while using this option). Notice that if you are
  546.      going to copy several times the same source disk, and you are afraid
  547.      that some of the destinations could be write-protected, you can inhibit
  548.      the automatic buffer reading mechanism by simply deselecting the source
  549.      drive.
  550.  
  551.      *Warning*: especially on one-drive-only systems, `Auto' can be
  552.      extremely dangerous. You'd better write-protect your source disks.
  553.  
  554. `Name'
  555. `Unit'
  556.      select the name and the unit number of the Exec device that
  557.      `SuperDuper' will use as a virtual disk when in `VD Buffer' mode.  Note
  558.      that this is *not* the name of a DOS device, such as `RAD:'. You have
  559.      to use the Exec name (in this case, `ramdrive.device').
  560.  
  561. `Label'
  562.      lets you choose a name for the disks formatted by `SuperDuper'. The
  563.      name can be automatically incremented using the `Incname' gadget.
  564.  
  565. `Filename'
  566.      selects the name of the file `SuperDuper' will use as a buffer when in
  567.      `HD Buffer' mode.
  568.  
  569. `Xpk lib'
  570.      selects the name of the XPK library `SuperDuper' will use when
  571.      compressing a buffer. The name is formed by four letters, denoting the
  572.      library, and an optional dot followed by a number in the range 0-100,
  573.      denoting the required efficiency (for instance, `HUFF.50' requires
  574.      Huffman coding with a standard efficiency). Note that not all libraries
  575.      actually look at the number after the dot.
  576.  
  577. `Retry'
  578.      selects the number of read/verify retries on each track.
  579.  
  580. `Start Cylinder'
  581. `End Cylinder'
  582.      select the start and the end cylinders, respectively, for any operation.
  583.  
  584.  
  585. ----------------------------------------------------------------------------------
  586. Reference
  587. ----------------------------------------------------------------------------------
  588.  
  589. Reference
  590. *********
  591.  
  592.    This chapter goes into some details about the copy and the buffering
  593. process of `SuperDuper'. It is expected that most users will be able to use
  594. efficiently most of the features without reading this part, but it is a
  595. suggested reading if you want to fully exploit the available features.
  596.  
  597.  
  598.  'The Copy Process' 
  599.  'The Buffering System' 
  600.  'The Buffer File' 
  601.  'The Startup File' 
  602.  'Special Requesters' 
  603.  'The CLI and WB Options' 
  604.  
  605.  
  606.  
  607. ----------------------------------------------------------------------------------
  608. The Copy Process
  609. ----------------------------------------------------------------------------------
  610.  
  611. The Copy Process
  612. ================
  613.  
  614.    When `SuperDuper' starts an operation which involves reading a disk, i.e.,
  615. `Read', `Check' and `Copy', it scrolls up the name list and marks the
  616. current drive as `<UNKNOWN>'. This happens because it can't know if the disk
  617. is a DOS disk before reading track 0. After less than a second, the track
  618. will be read, and the name will be changed to `<NDOS>' if the disk is not a
  619. DOS disk. Otherwise, as soon as the track 80 is read (the progress bar is in
  620. the middle) the name of the disk will be displayed. However, if for any
  621. reason the name is incorrect (wrong format, read error, etc.) `SuperDuper'
  622. will name the disk `<BAD NAME>'. In this case, it is very likely that the
  623. root block is a little bit scrambled, so it's probably a good idea to turn
  624. off the `Date' option gadget. Beware: if you are using a multi-pass buffer,
  625. the name of the disk could be unavailable at the first pass.
  626.  
  627.    If `SuperDuper' finds an error on read (or verify), it will retry reading
  628. (writing and verifying) the track, warning you by painting a half of the
  629. square representing the current cylinder in the info window in a lighter,
  630. dithered color. See 'The Info Window'. If after a number of retries specified
  631. in the gadget `Retry' the error remains, `SuperDuper' will set the half
  632. square to the background color and continue. A little lighter, dithered
  633. rectangle in the progress bar will point out approximately where the error
  634. occured. It will be positioned horizontally proportionally to the track
  635. number.
  636.  
  637.    Note that while retrying `SuperDuper' can't be stopped: don't set the
  638. `Retry' gadget to 99 unless you really know that's what you want to do.  If
  639. you want to get a very detailed error report, you can activate the
  640. `PrintErrors' switch. A console window will appear (or the original console
  641. will be used if `SuperDuper' was started from the CLI), and every wrong
  642. read, write or retry will generate a message explaining what doesn't work.
  643. Usually you will get bad checksums, but if a track is really scrambled
  644. `SuperDuper' could be unable to get the first sector after a gap, in which
  645. case nothing at all is recovered.
  646.  
  647.    The squares in the info window are drawn in a different color if you're
  648. doing a read, a format or a copy operation--so you can be sure you read the
  649. new chunk in the buffer, and so you can avoid formatting your floppies when
  650. you think you're copying something to them. The `Status' gadget will be set
  651. to the operation currently executed. Note also that the progress bar and the
  652. elapsed time indicator are not updated if something locks the screen (like
  653. using menus). The update is delayed until the screen is unlocked (thus
  654. `SuperDuper' won't get stuck as will almost all programs which do any
  655. rendering to their windows).
  656.  
  657.    If you specify start/end cylinders different from 0/79 in the `Start
  658. Cylinder' and `End Cylinder' gadgets, only the part of the disk specified
  659. will be copied. The main use of this option is for retrying some lazy disk
  660. (usually on the last tracks) if you're not satisfied with the number of
  661. retries issued by `SuperDuper'. Please refer to the section on the buffering
  662. system for some subtle interactions between the RAM/HD/VDisk buffer and the
  663. start/end cylinder selectors.
  664.  
  665.    While doing buffered copies, at each successful copy (that is, without
  666. errors) the `Copy #' indicator will be incremented. Thus you can know
  667. precisely how many disks you copied. Moreover, the counter will be
  668. incremented only if the operation ended on the last track of the disk and
  669. started from the first track of the buffer. This allows you to manually
  670. retry spare tracks by changing the `Start Cylinder'/`End Cylinder' gadgets
  671. without getting spurious increments, and if a multi-pass copy is in progress
  672. only the last pass will actually increment the counter.
  673.  
  674.  
  675.  
  676. ----------------------------------------------------------------------------------
  677. The Buffering System
  678. ----------------------------------------------------------------------------------
  679.  
  680. The Buffering System
  681. ====================
  682.  
  683.    The buffering system of `SuperDuper' 3.x has been completely rewritten
  684. compared to previous versions. Now it is much more orthogonal and powerful.
  685. Moreover, it relies on the XPK compression standard, which allows to use a
  686. plethora of different compression methods, just by choosing the suitable
  687. library.
  688.  
  689.    Buffering is useful when you have to do a lot of copies: you read a disk
  690. only once, and then you can make as many copies as you want without
  691. rereading it. It also has other uses: if you have to create distribution
  692. disks (for instance for a commercial package) you can create them using high
  693. speed virtual floppies, such as Commodore's `RAD:' or Matt Dillon/Jim
  694. Cooper's `FMS:' disk.  `SuperDuper' can then read from those virtual disks
  695. and make many copies on floppies at high speed.
  696.  
  697.    Since data integrity is a primary issue, `SuperDuper' checksums the
  698. buffers. The possibility of writing a munged track is very low. Strict
  699. control is also kept on the validity of the buffer--you can't write random
  700. data on your disks inadvertantly.
  701.  
  702.    In order to do a buffered copy, you have to choose the suitable copy mode
  703. using the copy mode gadget in the main window. While `Disk2Disk' tells
  704. `SuperDuper' to do a disk-to-disk copy, the other three options offer three
  705. different buffering techniques.
  706.  
  707. `Buffer'
  708.      `SuperDuper' will use the RAM for buffering a disk. The memory is
  709.      allocated while the disk is read and, in case it is not enough for
  710.      buffering a whole disk, many passes can be necessary. Beware of the
  711.      fact that many programs tend to crash under low-memory conditions, so
  712.      if you have 1MB or less you should close everything you can before
  713.      trying to do a RAM-buffered copy.  You should possibly use `NoWB' (see
  714.      'The Action Gadgets').
  715.  
  716.      If you foresee that a disk won't fit into the available RAM, you can
  717.      activate compression using the `Comp' gadget (see 'The Option Gadgets').
  718.      `SuperDuper' uses the XPK standard, which means that you must have the
  719.      XPK system completely installed in order to use compression. There is a
  720.      wide choice of compression algorithms available, and you can try out
  721.      until you find the one with the best compression/speed ratio for your
  722.      purposes. The compression algorithm can be selected by typing its name
  723.      into the `Xpk lib' gadget of the options window. The name is specified
  724.      by four upper case letters, optionally followed by a dot and a number
  725.      between 0 and 100, included, which specifies the required degree of
  726.      efficiency. See 'The Option Gadgets'.
  727.  
  728.      Beware of the fact that while doing compression `SuperDuper' always
  729.      fully uses the CPU. Even moving the mouse can slow down the operation in
  730.      progress. Anyway, if you have all of your memory allocated for the
  731.      buffer, it is definitely not a good idea to do anything besides waiting
  732.      for the copy to finish.
  733.  
  734.      A little side-effect of the allocation of all of the available RAM is
  735.      that some requester could be turned into an alert, or could even
  736.      disappear without waiting for the user to acknowledge it.
  737.  
  738. `HD Buffer'
  739.      `SuperDuper' will create a file that will be used as a buffer, exactly
  740.      like `Buffer' does with RAM. The file name can be changed using the
  741.      `Filename' gadget (see 'The Option Gadgets'). Of course you should use it
  742.      only if you have a hard disk. The file is an IFF file, documented in
  743.      'The Buffer File'. The `Read' operation will be a little slower, but if
  744.      you have a good hard disk you should be able to make copies as fast as
  745.      with a RAM buffer.
  746.  
  747.      Note that you can give the name of an already existing file. In this
  748.      case, the file will be considered a ready-to-use buffer file, and you
  749.      will be able to `Write' immediately. This allows to use `SuperDuper' as
  750.      a disk compression system.
  751.  
  752. `VD Buffer'
  753.      This is probably `SuperDuper''s most esoteric feature. By typing a
  754.      device name in the string gadget named `Name', you can select any
  755.      device (`SuperDuper' needs the Exec device name, e.g.,
  756.      `ramdrive.device' for the RAD: AmigaDOS device). The unit number is
  757.      taken from the gadget with the label `Unit'. The device you specified
  758.      will be used as a buffer for your disks. `SuperDuper' expects the
  759.      device to behave like the trackdisk.device, namely it must be able to
  760.      write data at specific offsets. The main devices you can use, with their
  761.      respective names, are:
  762.  
  763.     RAD:
  764.           the recoverable RAM drive. Configure it in your mountlist as a
  765.           floppy, and you can use it as a buffer (Exec name:
  766.           `ramdrive.device').
  767.  
  768.     FMS:
  769.           Matt Dillon/Jim Cooper's virtual floppy-on-hard disk (Exec name:
  770.           `fmsdisk.device').
  771.  
  772.     VD0:, etc.
  773.           other recoverable, sector-oriented RAM drives.
  774.  
  775.    A RAM buffer is considered non-valid as soon as allocated, because it
  776. will contain random info. To make it valid, you must read in a floppy.  File
  777. buffers and virtual device buffers are instead always assumed to be valid,
  778. because they could be externally fed. This mechanism allows you to prepare,
  779. for instance, a distribution disk at high speed in RAD: or in your hard disk
  780. using FMS:, and then to copy it to floppies directly.
  781.  
  782.    In the same vein, `SuperDuper' will act slightly differently when
  783. determining if a buffer contains a DOS disk (if not, the incrementing of the
  784. date is inhibited even if selected). At read time, the information is
  785. recorded, but if at write time the pass starts from track 0, `SuperDuper'
  786. will re-fetch the DOS mark from the buffer and check it again. This way if
  787. for instance you externally feed a ramdrive.device with a diskcopy command
  788. `SuperDuper' will be aware of it and will increment the date if requested to
  789. do so.
  790.  
  791.    Some care must be taken in order to obtain what you really want when
  792. mixing the buffering features and the selection of the start/end cylinder.
  793. `SuperDuper' implements a reasonable mean of flexibility and reliability for
  794. these kinds of operations.
  795.  
  796.    When in `HD Buffer' or in `VD Buffer' mode, the read/write operations
  797. start and end exactly where you specify with the start/end cylinder gadgets.
  798. Since `SuperDuper' has no control over what you do to the virtual disk while
  799. it's not accessing it, it has to assume you made it right. Note that this
  800. also means that it is not a good idea to change the start/end cylinder
  801. *after* you buffered a disk. A disk buffer keeps no information about the
  802. position of the tracks it contains. Thus, if you change the start cylinder
  803. `SuperDuper' will start to write the disk buffer at that cylinder, even if
  804. the first cylinder of the disk buffer was recorded elsewhere (as a side
  805. effect, this allows you to move easily tracks from one part of a disk to
  806. another).
  807.  
  808.    When using a RAM buffer, `SuperDuper' can clearly make some assumptions
  809. on its validity. In particular, just after allocation or a stopped `Read' it
  810. assumes the buffer is not valid. Moreover, it knows exactly were each
  811. cylinder was taken from, so that you can rewrite parts of a disk just by
  812. changing the start/end cylinders (this is also true of the virtual disk
  813. buffer, but only if it is used in one pass).
  814.  
  815.    If you have a valid RAM buffer and you change the start/end cylinders,
  816. there are two cases: either the buffer range and the start/end range do not
  817. intersect, in which case an error message is issued if you try to write the
  818. buffer, or there is a non-empty intersection, in which case the intersection
  819. will be written, i.e., the starting track will be the greatest of the start
  820. of the buffer and the start cylinder, while the ending track will be the
  821. least of the end of the buffer and the end cylinder. Example: if you read
  822. something with `Start Cylinder'=20, `End Cylinder'=30, then you set `Start
  823. Cylinder'=10, `End Cylinder'=25 and hit `Go', the range 20-25 will be
  824. written.
  825.  
  826.    If all this scares you, don't fear: the buffer/range interaction will
  827. simply work just as you intuitively expect. I hope at least 8^).
  828.  
  829.  
  830.  
  831. ----------------------------------------------------------------------------------
  832. The CLI and WB Options
  833. ----------------------------------------------------------------------------------
  834.  
  835. The CLI and WB Options
  836. ======================
  837.  
  838.    `SuperDuper' accepts some arguments, both from the CLI and from the
  839. Workbench tool types, in order to select a number of special features.
  840.  
  841.    When you start `SuperDuper' from the CLI, you have the chance to specify
  842. an option. The possible options are printed in the standard Amiga template
  843. format if you type `SD ?'. In this case, the following line
  844.  
  845.      PubScreen/K,NoGUI/S,NoARexx/S,NoStartup/S
  846.  
  847. will be displayed. Its meaning is that `NoGUI', `NoARexx' and `NoStartup'
  848. are switches that you can activate, while `PubScreen' must be followed by
  849. the name of an existing public screen. For instance, the command line `SD
  850. NoGUI' will invoke `SuperDuper' in its no-GUI mode. The two flags `NoGUI'
  851. and `NoARexx' are mutually exclusive--if both are specified, `SuperDuper'
  852. will exit.
  853.  
  854. `PubScreen'
  855.      tells `SuperDuper' to open its windows on the specified public screen.
  856.      If this argument is not specified, the windows are opened on the default
  857.      public screen.
  858.  
  859. `NoGUI'
  860.      tells `SuperDuper' to not open the main window on startup; you can then
  861.      control it through the ARexx interface. This makes possible to write an
  862.      ARexx macro allowing you to use `SuperDuper' from the shell much as the
  863.      diskcopy command. Note that this option is also useful if you have a
  864.      startup file (see 'The Startup File') and you want to avoid the visually
  865.      unpleasant effect of the main window first appearing and then being
  866.      moved.
  867.  
  868. `NoARexx'
  869.      This switch shuts down the ARexx port. `SuperDuper' won't open neither
  870.      the ARexx port nor rexxsyslib.library. This mode is provided for user
  871.      with 1M or less who want to have as much free memory as possible
  872.      (moreover, see 'SDBootInstall').
  873.  
  874. `NoStartup'
  875.      tells `SuperDuper' to skip the startup file (see 'The Startup File').
  876.      This switch is very useful when controlling `SuperDuper' through an
  877.      ARexx script, because it allows to start the program in a standard
  878.      configuration, and without any window opened. Note that `NoARexx'
  879.      implies `NoStartup', for obvious reasons.
  880.  
  881.    These options are also available from the Workbench tool types. Just put
  882. in `SuperDuper''s icon the obvious tool types. For instance,
  883. `PubScreen=TURBOTEXT' will force `SuperDuper' to open the main window on
  884. `TurboText''s screen, while `NoGUI' will force the no-GUI mode.
  885.  
  886.  
  887.  
  888. ----------------------------------------------------------------------------------
  889. The Startup File
  890. ----------------------------------------------------------------------------------
  891.  
  892. The Startup File
  893. ================
  894.  
  895.    At startup time, `SuperDuper' checks if ARexx is available, and in this
  896. case it tries to start an ARexx macro named `Startup.supdup'. This file
  897. should contain your usual settings: it is a normal ARexx macro, just like
  898. any other one started by the `ARexx' gadget or by the `rx' command.
  899. However, a couple of conventions were implemented in order to get a better
  900. behaviour on systems without ARexx. In particular, the absence of the ARexx
  901. server or the ARexx error message `Program not found' will *not* be
  902. displayed if caused by the startup file. Notice that the last message can
  903. also be caused by the first line of `Startup.supdup' not being a comment
  904. (every ARexx macro must start with a comment).
  905.  
  906.    The startup file can be automagically generated from the current setup by
  907. using the `SaveCon' gadget (see 'The Action Gadgets'). Note that if you want
  908. to avoid the visually unpleasant effect of the main window first appearing
  909. and then being moved by the command in `Startup.supdup', you can start
  910. `SuperDuper' with the `NoGUI' option.
  911.  
  912.    Several tricks are possible by directly editing the startup file: for
  913. instance, you can change the order in which the windows are opened, thus
  914. deciding which will be the frontmost; or you can start `SuperDuper' in
  915. iconified state; you can also set both the normal and the zoomed window
  916. position.
  917.  
  918.    If you do not want to run the startup file, for instance because you
  919. would like to control `SuperDuper' through ARexx, you can use the `NoStartup'
  920. switch. See 'The CLI and WB Options'.
  921.  
  922.  
  923.  
  924. ----------------------------------------------------------------------------------
  925. Special Requesters
  926. ----------------------------------------------------------------------------------
  927.  
  928. Special Requesters
  929. ==================
  930.  
  931.    When `SuperDuper' needs to inform the user about something, usually a
  932. requester with a message appears (if the `Talk' option is on the message is
  933. also read out loud). While most of the requesters are self-explanatory, some
  934. of them need a more detailed description.
  935.  
  936.    `Can't get disk.resource'
  937.  
  938.    The disk.resource is the Exec way of controlling the access to the
  939. low-level disk hardware. `SuperDuper' can't access the resource, probably
  940. because someone is already using it. If you suspect a particular program,
  941. close it and try again to select a disk gadget.
  942.  
  943.    `Please free disk.resource'
  944.  
  945.    (See also previous requester). If the disk.resource can't be grabbed, Exec
  946. won't give back the message passed by `SuperDuper' until the resource is
  947. free. Thus, until that moment `SuperDuper' can't exit.
  948.  
  949.    `Checksum error: buffer munged.'
  950.  
  951.    Someone wrote over `SuperDuper''s RAM buffer. The buffer is no longer
  952. valid, and the current copy is probably munged, too. You should probably
  953. reboot, because if something writes on someone else's memory it's likely it
  954. will do it again.
  955.  
  956.    `A track buffer has been munged.'
  957.  
  958.    Someone wrote on one of `SuperDuper''s track buffers. The same comments
  959. of the previous requester apply.
  960.  
  961.    `ARexx server not active'
  962.  
  963.    In order to use ARexx macros, the ARexx server has to be activated. Type
  964. `RexxMast' at a CLI prompt (if it's not in your path, you should locate it
  965. easily).
  966.  
  967.    `Error while recalibrating unit x.'
  968.  
  969.    `SuperDuper' found an error while recalibrating a drive head. The head
  970. was moved to track 0, but the drive signal `DSKTRACK0' wasn't activated.
  971. This means that either your drive has lazy signals, in which case there's
  972. nothing to worry about, or that some head step wasn't actually performed
  973. (possibly because of power supply reasons) in which case the last copy could
  974. be bad, even if `Verify' is on. Better `Check' it. Try also to increase the
  975. step and calibrate delays of the drive with `SetTDDelay'. If nothing else
  976. works, the `RecalibrateCheck' ARexx command can selectively turn off this
  977. requester (see 'Selection Commands').
  978.  
  979.    `Better write-protect your sources.'
  980.  
  981.    This message is issued every time you select the `Auto' gadget on a
  982. machine with a single drive (see 'The Option Gadgets').
  983.  
  984.    `Can't mix floppy types.'
  985.  
  986.    If your Amiga is equipped with a high density drive, you should take care
  987. of never mixing two floppies of different kind (880K or 1760K), for
  988. otherwise `SuperDuper' will be unable to perform the copy.
  989.  
  990.    `Compression not enabled.'
  991.  
  992.    You are trying to write a buffer file which has been created using
  993. compression, but compression is not currently enabled.
  994.  
  995.  
  996.  
  997. ----------------------------------------------------------------------------------
  998. The Buffer File
  999. ----------------------------------------------------------------------------------
  1000.  
  1001. The Buffer File
  1002. ===============
  1003.  
  1004.    When in `HDBuffer' mode, `SuperDuper' reads and writes an IFF file.  Its
  1005. format is documented here.
  1006.  
  1007.    Informally speaking, the file is an SDDD or an SDHD FORM, depending on
  1008. the density (double or high, respectively) of the disk stored. The allowed
  1009. chunks are (beside the standard ANNO, AUTH,... chunks, which are never
  1010. written, but tolerated while reading) the BODY and XPKF chunks. They contain,
  1011. respectively, an uncompressed or a compressed track. In the first case, the
  1012. chunk is always 11K long, for a SDDD FORM, or 22K long, for a SDHD FORM. In
  1013. the second case, the chunk (header included) can be passed "as it is" to the
  1014. XPK unpacking functions in order to get the real data, as it is composed
  1015. exactly by the output of the XPK packing functions (which happens to be an
  1016. IFF FORM). The same restrictions of a BODY chunk apply to the unpacked data
  1017. of an XPKF chunk.
  1018.  
  1019.    The file contains no information about the position of the tracks.
  1020. `SuperDuper' takes the first BODY or XPKF chunk of the file and starts to
  1021. write it onto the first cylinder.
  1022.  
  1023.    The regular grammar for the SDDD and SDHD FORMs follows:
  1024.  
  1025.      SDDD ::= "FORM" #{ "SDDD" [ANNO] [AUTH] [FVER]
  1026.                                [NAME] [(c)] (BODY | XPKF)* }
  1027.      
  1028.      SDHD ::= "FORM" #{ "SDHD" [ANNO] [AUTH] [FVER]
  1029.                                [NAME] [(c)] (BODY | XPKF)* }
  1030.      
  1031.      BODY ::= "BODY" #{ UBYTE* }
  1032.      
  1033.      XPKF ::= "XPKF" #{ UBYTE* }
  1034.  
  1035.  
  1036.  
  1037. ----------------------------------------------------------------------------------
  1038. ARexx
  1039. ----------------------------------------------------------------------------------
  1040.  
  1041. ARexx
  1042. *****
  1043.  
  1044.    ARexx is the system macro language of the Amiga. It was originally
  1045. developed by Bill Hawes (to whom every Amiga owner owes much more than he
  1046. probably realizes) and was then included in the Release 2 of the operating
  1047. system.
  1048.  
  1049.    ARexx is a beautiful interpreted language, with unique features such as
  1050. syntax/semantics collapsing (for instance, you can ask the value of a
  1051. variable given its name as a string) and, overall, the ability to interface
  1052. itself with external applications. A single ARexx script can control several
  1053. different programs and make them interact.
  1054.  
  1055.    The ARexx interface consists of a port, which is used for communications,
  1056. and a set of commands that ARexx can issue to the application. For
  1057. `SuperDuper', the port name is `SUPERDUPER', and the command set is
  1058. described below. ARexx scripts written for `SuperDuper' should have
  1059. extension `supdup', like `foobar.supdup'. This is in order to distinguish
  1060. ARexx scripts written for different applications.
  1061.  
  1062.    ARexx provides at little or no implementation cost a powerful macro
  1063. language which substantially increases the performance and the versatility
  1064. of an application. Maybe some feature you would like to have is not in
  1065. `SuperDuper' at this time, but it's very likely you'll be able to put it in
  1066. via a suitable ARexx script.
  1067.  
  1068.  
  1069.  'General Issues' 
  1070.  'Selection Commands' 
  1071.  'Miscellaneous Commands' 
  1072.  'Return Codes' 
  1073.  'ARexx Examples' 
  1074.  
  1075.  
  1076.  
  1077. ----------------------------------------------------------------------------------
  1078. General Issues
  1079. ----------------------------------------------------------------------------------
  1080.  
  1081. General Issues
  1082. ==============
  1083.  
  1084.    Besides being able to execute commands issued by an ARexx macro,
  1085. `SuperDuper' is also able to start an ARexx macro. This is indeed the
  1086. purpose of the `ARexx' gadget (the last one in the last row). The gadget is
  1087. activated only if the `rexxsyslib.library' is somewhere in your LIBS:
  1088. directory. You can start any number of macros at the same time (beware of
  1089. wild interactions though).
  1090.  
  1091.    `SuperDuper' commands generally correspond to gadgets, and are similarly
  1092. named: for instance, the command `Check' will check the source drive, while
  1093. `VDUnit 4' will set the virtual disk buffer unit number to 4. Commands are
  1094. case insensitive. A complete list, specifying each command and its template
  1095. in AmigaDOS style, follows:
  1096.  
  1097.      Stop                    ,
  1098.      Copy                    ,
  1099.      Read                    ,
  1100.      Write                   ,
  1101.      Check                   ,
  1102.      Format                  ,
  1103.      NoWB                    On/S,Off/S
  1104.      Iconify                 On/S,Off/S
  1105.      SaveConf                ,
  1106.      Verify                  On/S,Off/S
  1107.      Date                    On/S,Off/S
  1108.      Comp                    On/S,Off/S
  1109.      PrintErrors             On/S,Off/S
  1110.      Incname                 On/S,Off/S
  1111.      FFS                     On/S,Off/S
  1112.      Intl                    On/S,Off/S
  1113.      DirCache                On/S,Off/S
  1114.      Talk                    On/S,Off/S
  1115.      Auto                    On/S,Off/S
  1116.      Label                   /A
  1117.      Filename                /A
  1118.      XpkLib                  /A
  1119.      VDName                  /A
  1120.      VDUnit                  /N/A
  1121.      Retry                   /N/A
  1122.      SCyl                    /N/A
  1123.      ECyl                    /N/A
  1124.      Mode                    Disk2Disk/S,Buffer/S,
  1125.                              HDBuffer/S,VDBuffer/S
  1126.      Quit                    ,
  1127.      Requesters              On/S,Off/S
  1128.      RecalibrateCheck        On/S,Off/S
  1129.      SmartRefresh            On/S,Off/S
  1130.      Dest                    /M/N,On/S,Off/S
  1131.      Source                  /N,Off/S
  1132.      Help                    Command
  1133.      NOP                     ,
  1134.      RX                      Command/F
  1135.      Window                  Names/M/A,Open/S,Close/S,Activate/S,
  1136.                              Min/S,Max/S,Front/S,Back/S,
  1137.                              LeftEdge/K/N,TopEdge/K/N
  1138.  
  1139.    The same table is printed if you send to `SuperDuper' the `Help' command
  1140. with no arguments. If you do not know anything about templates, you may want
  1141. to look at the `Using the System Software' manual.
  1142.  
  1143.    ARexx needs a console by which it communicates with the user. If you
  1144. started `SuperDuper' from the CLI, the your original CLI will be used.
  1145. Otherwise, a console window will be opened. It's always open, but it's an
  1146. `Auto' console window, so you can close it if you wish: it will be reopened
  1147. as soon as something is printed into it.
  1148.  
  1149.    Most commands have absolutely trivial meaning, and will not be discussed
  1150. in detail.
  1151.  
  1152.  
  1153.  
  1154. ----------------------------------------------------------------------------------
  1155. Selection Commands
  1156. ----------------------------------------------------------------------------------
  1157.  
  1158. Selection Commands
  1159. ==================
  1160.  
  1161. `Source'
  1162.      selects the drive specified by the numeric argument as source; if `Off'
  1163.      is specified instead, turns off the source gadget.
  1164.  
  1165. `Dest'
  1166.      selects destinations using a list of drive numbers. If neither `On' nor
  1167.      `Off' are specified, exactly the drives in the list are selected (the
  1168.      remaining ones are deselected); if `On' is specified, the drives in the
  1169.      list are selected (and the other ones are left in their current state);
  1170.      if `Off' is specified, the drives in the list are deselected (and the
  1171.      other ones are left in their current state).
  1172.  
  1173.      If you specify no drive in the list, the currently selected drives are
  1174.      assumed as default. Thus, `Dest Off' turns off all destinations.
  1175.  
  1176. `Requesters'
  1177.      turns on or off the system requesters. Note that you will not receive
  1178.      any explicit error message for missing libraries, et cetera.
  1179.  
  1180. `RecalibrateCheck'
  1181.      turns on or off the recalibration error requester. Many users
  1182.      complained that this requester was appearing often, but the copies were
  1183.      successful. While I know that the only reason for this requester is a
  1184.      drive out of specs, I agreed to patch the situation by allowing to
  1185.      disable selectively the requester. See also 'Special Requesters'.
  1186.  
  1187. `SmartRefresh'
  1188.      selects the refresh mode of `SuperDuper''s windows. Usually, the windows
  1189.      are in `SMART_REFRESH'. This method uses more memory, but it is usually
  1190.      faster: you can get `SIMPLE_REFRESH' windows by putting a `SmartRefresh
  1191.      Off' line in your `Startup.supdup' file, and calling `SuperDuper' with
  1192.      the `NoGUI' option (every window opened after the command has been
  1193.      executed will be in the selected refresh mode). This line is
  1194.      automatically inserted when you generate the startup file using the
  1195.      `SaveCon' gadget, so that you can directly edit it. See
  1196.      'The Startup File'.
  1197.  
  1198.  
  1199.  
  1200. ----------------------------------------------------------------------------------
  1201. Miscellaneous Commands
  1202. ----------------------------------------------------------------------------------
  1203.  
  1204. Miscellaneous Commands
  1205. ======================
  1206.  
  1207. `Help'
  1208.      returns in the `result' variable the template of the given command. If
  1209.      no command is specified, prints out a table with all commands and their
  1210.      templates.
  1211.  
  1212. `NOP'
  1213.      does nothing.
  1214.  
  1215. `RX'
  1216.      executes an ARexx script or a one-line ARexx command (if its argument is
  1217.      enclosed in quotes).
  1218.  
  1219. `Window'
  1220.      sets several parameters of `SuperDuper''s windows. The parameters are
  1221.      applied to all the window listed (the possible window names are `Main',
  1222.      `Info' and `Options'). The syntax is self-explanatory. Note that
  1223.      closing the main window from ARexx will *not* quit `SuperDuper'.  Note
  1224.      also that the command is effective even if the specified window is
  1225.      closed. This allows to set up all the position parameters of a window
  1226.      before opening it in the startup file. See 'The Startup File'.
  1227.  
  1228.  
  1229.  
  1230. ----------------------------------------------------------------------------------
  1231. Return Codes
  1232. ----------------------------------------------------------------------------------
  1233.  
  1234. Return Codes
  1235. ============
  1236.  
  1237.    Commands issued by ARexx to an application should return useful values in
  1238. order to tell what really happened. Generally, a command which fails returns
  1239. an error level, while a successful command returns an error level of zero
  1240. and, upon request of the caller via the `OPTIONS RESULTS' command, a result
  1241. string which can be parsed in order to get useful information.
  1242.  
  1243.    `SuperDuper' returns an error code of 10 if the syntax of the command was
  1244. wrong. This will cause ARexx to complain with an error message. An error
  1245. code of 1 is returned if the syntax was right but the command couldn't be
  1246. executed, but there is no real failure (for instance, if you send `Go' while
  1247. a copy is already in progress or if you try to select a ghosted gadget). An
  1248. error of 30 is returned in extreme cases, for instance when you hit the
  1249. close gadget and there are still some commands pending. No strings are ever
  1250. returned, since we have only a few cases to differentiate. Return codes with
  1251. special meanings are returned by the following commands:
  1252.  
  1253. `Source'
  1254. `Dest'
  1255.     2
  1256.           The selected drive is not connected.
  1257.  
  1258.     5
  1259.           The disk.resource is not available.
  1260.  
  1261. `Write'
  1262. `Read'
  1263. `Check'
  1264.     2
  1265.           This pass is not the last one.
  1266.  
  1267.     3
  1268.           Something is wrong with the chosen source, destination and buffer
  1269.           options. For instance, you're trying to copy from df0: to df0:
  1270.           without a buffer.
  1271.  
  1272.     4
  1273.           The buffer is not valid.
  1274.  
  1275.     5
  1276.           A unit is empty.
  1277.  
  1278.     6
  1279.           A unit is write-protected, or there is a floppy format mismatch.
  1280.  
  1281.     7
  1282.           The start/end cylinders chosen are meaningless. This can happen if
  1283.           the numbers are out of range, or (for a RAM-buffered `Write') if
  1284.           there is no intersection with the current buffer.
  1285.  
  1286.     8
  1287.           There were errors.
  1288.  
  1289.     9
  1290.           There were errors. Moreover, this pass is not the last one.
  1291.  
  1292.     20
  1293.           Someone munged the RAM buffer or the track buffer.
  1294.  
  1295. `Talk'
  1296.     5
  1297.           The voice system cannot be activated.
  1298.  
  1299. `NoWB'
  1300.     20
  1301.           The current window has been closed, but it was impossible to open
  1302.           the new one. The program exits in this case.
  1303.  
  1304.  
  1305.  
  1306. ----------------------------------------------------------------------------------
  1307. ARexx Examples
  1308. ----------------------------------------------------------------------------------
  1309.  
  1310. What Can I Do with ARexx?
  1311. =========================
  1312.  
  1313.    Basically you can expand `SuperDuper''s capabilities and/or make it
  1314. interact with other programs. A couple of examples of the first case could
  1315. be a `CheckAll.supdup' macro which checks all drives in sequence. The
  1316. "native" `SuperDuper' can only check one drive at a time, but if you have
  1317. two or more drives you can check many drives using a macro like
  1318.  
  1319.      /* CheckAll */
  1320.      do i = 0 to 3
  1321.         source i
  1322.         if rc==0 then check
  1323.      end
  1324.  
  1325.    After checking you should of course look at the return codes in the `rc'
  1326. variable and decide upon appropriate actions.
  1327.  
  1328.    Suppose now you have four drives and you want to make a copy of two
  1329. different floppies. You can put the sources in drives 0 and 2, the
  1330. destinations in drives 1 and 3, and then
  1331.  
  1332.      /* DoubleCopy */
  1333.      mode disk2disk
  1334.      source 0
  1335.      dest 1
  1336.      copy
  1337.      source 2
  1338.      dest 3
  1339.      copy
  1340.  
  1341.    This will produce the two copies in a completely unattended way.
  1342.  
  1343.  
  1344.  
  1345. ----------------------------------------------------------------------------------
  1346. Performance
  1347. ----------------------------------------------------------------------------------
  1348.  
  1349. Performance
  1350. ***********
  1351.  
  1352.    `SuperDuper' has been written for performance. In the following sections
  1353. we will review deeply the relations between `SuperDuper' and the operating
  1354. system, and how they affect you.
  1355.  
  1356.  
  1357.  'SuperDuper and Your System' 
  1358.  'SuperDuper and You' 
  1359.  'SDBootInstall' 
  1360.  'Copy Protection' 
  1361.  
  1362.  
  1363.  
  1364. ----------------------------------------------------------------------------------
  1365. SuperDuper and Your System
  1366. ----------------------------------------------------------------------------------
  1367.  
  1368. `SuperDuper' and Your System
  1369. ============================
  1370.  
  1371.    `SuperDuper' has been written keeping in mind that a good program doesn't
  1372. have to eliminate everything from the system in order to work. The Amiga has
  1373. a very efficient multitasking kernel which allows for resource arbitration.
  1374.  
  1375.    When `SuperDuper' is started, it won't allocate anything from your
  1376. system. As soon as a source/destination gadget is clicked, it will inhibit
  1377. all of the drives (so don't select a gadget while reading or writing to
  1378. floppies) and then will grab the disk.resource. Until the resource is
  1379. released, *no one else* can access the Amiga drives. This is necessary in
  1380. order to avoid unpredictable collisions with the system or other programs.
  1381. Inhibiting the drives is not enough, since some other file system (like
  1382. `CrossDOS') could access them.
  1383.  
  1384.    If you need to temporarily access your drives, you must simply deselect
  1385. all `SuperDuper' source/destination gadgets: the disk system will be
  1386. restarted (it will be re-grabbed on a gadget selection of course).
  1387.  
  1388.    You have however to be a little bit careful if you change the density type
  1389. of a drive while `SuperDuper' is active (for instance, if you first copy a
  1390. double density and then a high density disk). In this case, when the drives
  1391. are given back to the operating system, the device drivers will get
  1392. completely confused, and they will still believe they are accessing a double
  1393. density disk. If you change the density type, you should eject all the
  1394. floppies before quitting `SuperDuper'.
  1395.  
  1396.    The CPU use of `SuperDuper' is almost unnoticeable. You can do anything
  1397. else, and you shouldn't notice any slowdown. In particular, if no
  1398. source/destination is selected `SuperDuper' is completely asleep.
  1399.  
  1400.    This however is not true if you use compression. In this case, not only
  1401. will the system be slowed down (a priority 0 task will almost always be
  1402. active), but *any* operation (including moving the mouse pointer) will slow
  1403. down `SuperDuper'.
  1404.  
  1405.    If you use the utility `ToggleClick' distributed with `SuperDuper' (or
  1406. any other utility which legally kills drive clicks under Release 2)
  1407. `SuperDuper' won't click empty drives (drive clicking is necessary for
  1408. monitoring disk insertion; using `ToggleClick' is good but you must be sure
  1409. your drives won't try to move past track 0 if asked to do so).
  1410.  
  1411.    You should avoid running `SuperDuper' while a 16 color hi-res screen (or a
  1412. 4-color ECS productivity mode screen) is displayed on an old or enhanced
  1413. chip set. The video DMA access will interfere with the disk/CPU/Blitter
  1414. access to the point that copy times will rise to incredible values--reading
  1415. and compressing a disk in the buffer can take more than 100s.
  1416.  
  1417.  
  1418.  
  1419. ----------------------------------------------------------------------------------
  1420. SuperDuper and You
  1421. ----------------------------------------------------------------------------------
  1422.  
  1423. `SuperDuper' and You
  1424. ====================
  1425.  
  1426.    "Well," you could say, "`SuperDuper' is a great copier--but how can I
  1427. trust it for making my copies? This guy diddles with hardware--maybe I
  1428. should use the system `DiskCopy' command."
  1429.  
  1430.    This is not a good idea. First of all, `SuperDuper' is *incredibly* picky
  1431. about verifying. You will get more verify error messages than with the
  1432. standard copy commands (for techies: `SuperDuper' verifies also the MFM
  1433. timing bits, not only the data bits; this means a 200% efficiency
  1434. improvement in catching verify errors and bad media in general).
  1435.  
  1436.    Moreover, the 2.0 trackdisk.device has unpleasant side-effects on
  1437. frequently read/written tracks. These side-effects are cleared when you do a
  1438. copy of the disk with `SuperDuper' (for techies: trackdisk.device doesn't
  1439. check for MFM bits being read in correctly, and doesn't re-MFM the track
  1440. before writing it; it just re-MFMs the changed sector. If a MFM timing bit
  1441. is read wrong, it will stay wrong forever, possibly causing read errors; but
  1442. `SuperDuper' re-MFMs every track it copies, thus restoring every MFM timing
  1443. bit to its correct value).
  1444.  
  1445.    Finally, if you don't like coffee-breaks during your copies, you'd better
  1446. use the fastest copier available--namely `SuperDuper'. Note that if you have
  1447. four drives and you use top-quality disks, so you can skip verify, the
  1448. buffer system allows you to get a per-copy time of 9 1/2 seconds, which is
  1449. definitely not bad.
  1450.  
  1451.  
  1452.  
  1453. ----------------------------------------------------------------------------------
  1454. SDBootInstall
  1455. ----------------------------------------------------------------------------------
  1456.  
  1457. `SDBootInstall'
  1458. ===============
  1459.  
  1460.    When your system boots up (at power on or after a reset), the operating
  1461. system searches for available drives, and creates some trackdisk.device
  1462. tasks accordingly. These tasks take a lot of memory for their buffers
  1463. (>30K), but `SuperDuper' doesn't use them at all, because it has its internal
  1464. routines.
  1465.  
  1466.    If you have to do intensive copy work, and you have 1MB of memory or less,
  1467. you could find it useful to boot up your system in a special configuration
  1468. that will shut down almost all trackdisk.device tasks, thus freeing a lot of
  1469. memory.
  1470.  
  1471.    To accomplish this, do as follows:
  1472.  
  1473.   1. Make a copy of your usual Workbench disk (from now on we work on the
  1474.      copy).
  1475.  
  1476.   2. Delete some programs to make room--`preferences', `diskcopy' and
  1477.      `format' are good candidates. Moreover, delete the file `Disk.info'.
  1478.  
  1479.   3. Copy `SuperDuper' to the disk root directory (by dragging its icon on
  1480.      the disk icon or using the CLI).
  1481.  
  1482.   4. Edit the startup-sequence of the disk (it's in the `s' directory).
  1483.      Delete it entirely, and substitute it with
  1484.  
  1485.           SetPatch >NIL:
  1486.           Run >NIL: <NIL: SD NoARexx
  1487.           EndCLI >NIL:
  1488.  
  1489.   5. Now put the disk in df0:, and run the utility `SDBootInstall'. A special
  1490.      bootblock will be installed on the floppy. When booting from it, the
  1491.      operating system (and you) will be able to access only drive 0--the
  1492.      other ones will be for `SuperDuper''s use only. To get back to
  1493.      normality, a reboot is necessary. You will gain 30/40K per drive using
  1494.      this method (for techies: it is perfectly legal--the bootblock simply
  1495.      AllocUnit()s the drives with ID>0).
  1496.  
  1497.  
  1498.  
  1499. ----------------------------------------------------------------------------------
  1500. Copy Protection
  1501. ----------------------------------------------------------------------------------
  1502.  
  1503. A Word on Copy Protection
  1504. =========================
  1505.  
  1506.    `SuperDuper' won't copy protected disks (or if it will it's just a
  1507. coincidence). I do not believe in copy protection. Scrambled tracks will
  1508. produce random data on the destination. If the read error goes beyond a
  1509. simple checksum error don't expect anything meaningful to be written on the
  1510. destination disks.
  1511.  
  1512.    However, `SuperDuper' will faithfully reproduce data block checksum
  1513. errors (`Disk foobar has a read/write error') or DOS checksum errors (`Key
  1514. 880 checksum error') on the source disk in disk-to-disk copies (header
  1515. checksum errors are fixed when renumbering the sectors). Thus, if you got
  1516. the typical `Key <n> checksum error' you can make a copy of the disk before
  1517. fixing it. `SuperDuper' won't do any surgery: use a good tool (such as Dave
  1518. Haynie's `DiskSalv') for this purpose. On the other hand, during buffered
  1519. copies data block checksums will be silently fixed by recalculating the
  1520. right checksum.
  1521.  
  1522.  
  1523.  
  1524. ----------------------------------------------------------------------------------
  1525. Acknowledgments
  1526. ----------------------------------------------------------------------------------
  1527.  
  1528. Acknowledgments
  1529. ***************
  1530.  
  1531.    The first person I must thank a thousand times is Dirk Reisig. It was by
  1532. means of his suggestions that I sped up `SuperDuper' to the current, amazing
  1533. level. I wrote him a letter which he answered gently with a long explanation
  1534. of the optimizations performed by `PCopy'. The first time I read the letter
  1535. it seemed greek to me, but little by little I learned all the mysteries of
  1536. MFM encoding and disk direct hardware driving. Moreover, I learned from the
  1537. source code of `TrackSalve' the usage of the blitter for MFM encoding and
  1538. many other subtle things. In other words, without the help of Dirk you would
  1539. have never seen anything after `DFC5' (for version 2.0, a new optimization
  1540. was introduced; it was suggested by Dan Babcock).
  1541.  
  1542.    The second guy behind the birth of `SuperDuper' is Tom Rokicki. He pushed
  1543. me to write a substitute for `TurboBackup', and overall suggested the main
  1544. thing--that on the Amiga it is possible to write many disks at the same
  1545. time. Without this trick, you could never do four non-verified copies in
  1546. 38s. Tom also tested all pre-whatever-greek-letter versions, always giving
  1547. useful comments... and risking the life of his drives 8^). Moreover, I had
  1548. time to work on `SuperDuper' because the AmigaTeX system is so incredibly
  1549. efficient I got a lot of spare time while writing math papers...
  1550.  
  1551.    Last but not least, Randell Jesup at Commodore drove me through the
  1552. labyrinth of non-specified-specs, hardware quirks, strange behaviors, and
  1553. system esoteric features. Without his help `SuperDuper' could probably
  1554. work... but I wouldn't trust it for *my* copies 8^).
  1555.  
  1556.    The name `SuperDuper' popped up during a rather intensive BIX discussion.
  1557. Many other names were proposed, but in the end I chose this one--it has
  1558. symmetry, correctly defines the product and has a simple shortening (SD).
  1559. Thus, a thousand thanks to Kent Kalnasy and Dan Barrans for suggesting this
  1560. name.
  1561.  
  1562.    Many features were not my ideas. Most of the design of the new GUI is due
  1563. to Carlo Todeschini. Moreover, an incredible number of BIX users came up with
  1564. excellent suggestions, many of which were actually implemented. Thanks to
  1565. them you have support for buffering on any device (I never use RAD: nor
  1566. FMS:, so I didn't think it could be useful). Nicola Salmoria tracked some of
  1567. the most hidden bugs, and suggested several relevant new features.
  1568.  
  1569.    But, as always, the biggest *thanks* goes to the beta-testers of
  1570. `SuperDuper': Dennis Atkin, Michele Battilana, Vittorio Calzolari, Jim
  1571. Cooper, Doug Erdely, Charlie Fair, Blaine Gardner, Robert Jenks, John Jones,
  1572. Kent Kalnasy, Robert Kesterson, Paul King, Randy Menzer, Linda Munson,
  1573. Davide Repetto, Tom Rokicki, Sergio Ruocco, Carlo Santagostino, Reinhard
  1574. Spisser, Jeff Todd, Carlo Todeschini, Michael Scott Velez and Marco
  1575. Zandonadi. Beta-testing a copier is different from anything else--if it
  1576. doesn't work you won't get a marginally corrupted picture on your display:
  1577. rather, the Fish Disks it took an hour to copy could be unusable. A special
  1578. kind of patience is needed under these conditions 8^).
  1579.  
  1580.  
  1581.  
  1582. ----------------------------------------------------------------------------------
  1583. Disclaimer and Author Info
  1584. ----------------------------------------------------------------------------------
  1585.  
  1586. Disclaimer and Author Info
  1587. **************************
  1588.  
  1589.    `SuperDuper' is Copyright (C) 1991,1992,1993 Sebastiano Vigna and it's
  1590. freely distributable as long as all of its files are included in their
  1591. original form without additions, deletions, or modifications of any kind,
  1592. and only a nominal fee is charged for its distribution. This software is
  1593. provided *AS IS* without warranty of any kind, either expressed or implied.
  1594. By using `SuperDuper', you agree to accept the entire risk as to the quality
  1595. and performance of the program; don't come to me if you destroy your entire
  1596. Fish Disk library with it! Of course, it was tested rather extensively
  1597. before it was released...
  1598.  
  1599.    Comments, complaints, desiderata are welcome.
  1600.  
  1601.          Sebastiano Vigna
  1602.          Via California 22
  1603.          I-20144 Milano MI
  1604.      
  1605.          BIX: svigna@bix.com
  1606.          INTERNET: vigna@ghost.dsi.unimi.it
  1607.          UUCP: seba@sebamiga.adsp.sub.org
  1608.  
  1609.  
  1610.  
  1611. ----------------------------------------------------------------------------------
  1612. Concept Index
  1613. ----------------------------------------------------------------------------------
  1614.  
  1615. Concept Index
  1616. *************
  1617.  
  1618.  
  1619.  
  1620.  
  1621.  '<BAD NAME>'                           The Copy Process
  1622.  '<NDOS>'                               The Copy Process
  1623.  '<UNKNOWN>'                            The Copy Process
  1624.  'Acknowledgments'                      Acknowledgments
  1625.  'Address'                              Disclaimer and Author Info
  1626.  'ARexx'                                ARexx
  1627.  'Atkin Dennis'                         Acknowledgments
  1628.  'Babcock Dan'                          Acknowledgments
  1629.  'Barrans Dan'                          Acknowledgments
  1630.  'Battilana Michele'                    Acknowledgments
  1631.  'Buffer file'                          The Buffer File
  1632.  'Buffer file'                          The Buffering System
  1633.  'Buffering'                            The Buffering System
  1634.  'Calzolari Vittorio'                   Acknowledgments
  1635.  'Changes'                              Changes
  1636.  'CLI options'                          The CLI and WB Options
  1637.  'Cooper Jim'                           Acknowledgments
  1638.  'Copy protection'                      Copy Protection
  1639.  'Copying'                              First Steps
  1640.  'CPU usage'                            SuperDuper and Your System
  1641.  'Disclaimer'                           Disclaimer and Author Info
  1642.  'Distribution'                         Disclaimer and Author Info
  1643.  'DMA contention'                       SuperDuper and Your System
  1644.  'Drive inhibition'                     SuperDuper and Your System
  1645.  'Erdely Doug'                          Acknowledgments
  1646.  'Error reproduction'                   Copy Protection
  1647.  'Errors'                               The Copy Process
  1648.  'e_mail'                               Disclaimer and Author Info
  1649.  'Fair Charlie'                         Acknowledgments
  1650.  'Features'                             Main Features
  1651.  'First steps'                          First Steps
  1652.  'FMS:'                                 The Buffering System
  1653.  'Gardner Blaine'                       Acknowledgments
  1654.  'High density floppies'                SuperDuper and Your System
  1655.  'IFF'                                  The Buffer File
  1656.  'Introduction'                         Introduction
  1657.  'Jenks Robert'                         Acknowledgments
  1658.  'Jesup Randell'                        Acknowledgments
  1659.  'Jones John'                           Acknowledgments
  1660.  'Kalnasy Kent'                         Acknowledgments
  1661.  'Kesterson Robert'                     Acknowledgments
  1662.  'Keyboard usage'                       First Steps
  1663.  'King Paul'                            Acknowledgments
  1664.  'Low memory'                           The CLI and WB Options
  1665.  'Menzer Randy'                         Acknowledgments
  1666.  'Munson Linda'                         Acknowledgments
  1667.  'NoGUI'                                The CLI and WB Options
  1668.  'NoStartup'                            The CLI and WB Options
  1669.  'Performance'                          Performance
  1670.  'Public screen'                        The CLI and WB Options
  1671.  'RAD:'                                 The Buffering System
  1672.  'Recalibration requester'              Selection Commands
  1673.  'Refresh mode'                         Selection Commands
  1674.  'Reisig Dirk'                          Acknowledgments
  1675.  'Repetto Davide'                       Acknowledgments
  1676.  'Requesters'                           Special Requesters
  1677.  'Retries'                              The Copy Process
  1678.  'Return codes'                         Return Codes
  1679.  'Rokicki Tom'                          Acknowledgments
  1680.  'Ruocco Sergio'                        Acknowledgments
  1681.  'Santagostino Carlo'                   Acknowledgments
  1682.  'Spisser Reinhard'                     Acknowledgments
  1683.  'Startup file'                         The Startup File
  1684.  'Startup file'                         The CLI and WB Options
  1685.  'Timing bits'                          SuperDuper and You
  1686.  'Timings'                              Introduction
  1687.  'Todd Jeff'                            Acknowledgments
  1688.  'Todeschini Carlo'                     Acknowledgments
  1689.  'VD0:'                                 The Buffering System
  1690.  'Velez Michael Scott'                  Acknowledgments
  1691.  'Voice'                                The Option Gadgets
  1692.  'Xpk'                                  Changes
  1693.  'You'                                  SuperDuper and You
  1694.  'Zandonadi Marco'                      Acknowledgments
  1695.  
  1696.  
  1697.  
  1698. ----------------------------------------------------------------------------------
  1699. Gadget Index
  1700. ----------------------------------------------------------------------------------
  1701.  
  1702. Gadget Index
  1703. ************
  1704.  
  1705.  
  1706.  
  1707.  'ARexx'                                The Action Gadgets
  1708.  'Auto'                                 The Option Gadgets
  1709.  'Check'                                The Action Gadgets
  1710.  'Comp'                                 The Option Gadgets
  1711.  'Copy'                                 The Action Gadgets
  1712.  'Copy #'                               The Info Window
  1713.  'Date'                                 The Option Gadgets
  1714.  'DirCache'                             The Option Gadgets
  1715.  'Elapsed'                              The Info Window
  1716.  'End Cylinder'                         The Copy Process
  1717.  'End Cylinder'                         The Option Gadgets
  1718.  'FFS'                                  The Option Gadgets
  1719.  'Filename'                             The Option Gadgets
  1720.  'Format'                               The Action Gadgets
  1721.  'Iconify'                              The Action Gadgets
  1722.  'Incname'                              The Option Gadgets
  1723.  'Info'                                 The Info Window
  1724.  'Info'                                 The Action Gadgets
  1725.  'Intl'                                 The Option Gadgets
  1726.  'Label'                                The Option Gadgets
  1727.  'Name'                                 The Option Gadgets
  1728.  'NoWB'                                 The Action Gadgets
  1729.  'Options'                              The Action Gadgets
  1730.  'PrintErrors'                          The Option Gadgets
  1731.  'Read'                                 The Action Gadgets
  1732.  'Retry'                                The Option Gadgets
  1733.  'Retry'                                The Copy Process
  1734.  'SaveCon'                              The Action Gadgets
  1735.  'Start Cylinder'                       The Copy Process
  1736.  'Start Cylinder'                       The Option Gadgets
  1737.  'Status'                               The Info Window
  1738.  'Stop'                                 The Action Gadgets
  1739.  'Talk'                                 The Option Gadgets
  1740.  'Talk'                                 Special Requesters
  1741.  'Unit'                                 The Option Gadgets
  1742.  'Verify'                               The Option Gadgets
  1743.  'WB'                                   The Action Gadgets
  1744.  'Write'                                The Action Gadgets
  1745.  'Xpk lib'                              The Option Gadgets
  1746.  
  1747.  
  1748.  
  1749. ----------------------------------------------------------------------------------
  1750. Program Index
  1751. ----------------------------------------------------------------------------------
  1752.  
  1753. Program Index
  1754. *************
  1755.  
  1756.  
  1757.  
  1758.  'AmigaTeX'                             Acknowledgments
  1759.  'CheckAll.supdup'                      ARexx Examples
  1760.  'DiskCopy'                             SuperDuper and You
  1761.  'DoubleCopy.supdup'                    ARexx Examples
  1762.  'SDBootInstall'                        SDBootInstall
  1763.  'Startup.supdup'                       The CLI and WB Options
  1764.  'ToggleClick'                          SuperDuper and Your System
  1765.  'TurboBackup'                          Acknowledgments
  1766.  
  1767.  
  1768.