home *** CD-ROM | disk | FTP | other *** search
-
- NAME
-
- DCMP -- Disk CoMPare utility
-
- DISTRIBUTION
-
- This version of DCMP is NOT in the PUBLIC DOMAIN. You can however freely
- distribute it as long as the following is observed:
-
- - The program and documentation must be distributed together and may not
- be modified in any way. The only exception is that the program and
- documentation may be compressed into an archive for uploading to Bulletin
- Boards or for other electronic transmission.
-
- - The program is not to be used commercially or included in a commercial
- package for profit unless written authorisation from me is obtained first.
- This version of DCMP may be freely included on public domain library
- disks or compilation disks provided only a small fee is charged for the
- service.
-
- DESCRIPTION
-
- DCMP compares two disks block by block. This is of great use if you want
- to verify a copy of a disk that was copied in the same way (block by block)
- It was mainly written to test the reliability of a Video-Backup-System.
-
- When started from Shell with option `?' or `.' DCMP will come up as
- follows:
-
- 1> dcmp ...
-
- $Id: dcmp.c,v 1.52 93/09/30 23:15:15 tf Exp $
- -- compare two disks block by block
- USAGE: dcmp [-<options>] <DF0..3> [DF0..3]
-
- Legal options are:
-
- -t write transcript to `dcmp.log'
- -l <LogFile> write extended transcript to `LogFile'
- -i create project icon with logfile
- -v verify tracks after read (detect weak data)
- -w display information in a window
- -a (-r) set #of attempts to read (retries)
- -b break on (read) errors.
- -sc <cylinder> start with cylinder #<cylinder> sector #0
- -st <track> start with track #<track> sector #0
- -ss <sector> start with sector #<sector>
- -sb <block> start with block #<block>
- -ec <cylinder> end with last cylinder #<cylinder> sector #0
- -et <track> end with last track #<track> sector #0
- -es <sector> end with last sector #<sector>
- -eb <block> end with last block #<block>
-
- Where:
-
- <cylinder> should be in [0..79]
- <track> should be in [0..159]
- <block> should be in [0..1759]
- <sector> should be in [0..10]
-
- All these values are converted immediately into the corresponding
- block numbers. The command line is parsed from left to right so that
- options may override previous ones.
-
- Examples:
-
- Verify the disk in DF0: starting with the first cylinder (#0) and
- ending with track #10 sector #4 may look like this:
-
- 1> dcmp DF0: -sc0 -et 10 -es4
-
- Be careful: The sector number must come *AFTER* the track number,
-
- 1> dcmp DF0: -es4 -et10 -sc 0
-
- would terminate on track #10 sector #0 !
-
- 1> dcmp -st3 -ss5 -ec17 -es1 -es7 DF0: DF1:
-
- Will compare the disks in DF0: and DF1: starting on track #3 sector #5
- and ending with cylinder #17 sector #7.
-
-
- The `-w' option makes DCMP behave as if started from the Workbench via
- the icon. In this case, DCMP will look for req(tools).library. If none
- of them is available, DCMP will not be able to display a file requester
- but its main functionality will *NOT* be affected.
-
- The following ToolTypes configure DCMP when started from Workbench:
-
- FIRST CYL=<cylinder> start with cylinder #<cylinder> first sector
- LAST CYL=<cylinder> end with last cylinder #<cylinder> last sector
- ATTEMPTS=<attempts> set #of attempts to read (retries)
- IGNORE ERRORS=ON don't break on (read) errors
- DEEP READ=ON verify tracks after read
- LOGFILE=<name> write extended transcript to <name>
- LOGICON=ON create a project icon with the logfile
- DEFAULT TOOL=<name> set default tool for the logfile icon
- LANGUAGE=<language> set dcmp <language> to one of these:
- ENGLISH
- GERMAN
- FRENCH (incomplete!)
- ITALIEN
- Note:
-
- Setting first and last cylinder in the ToolTypes works exactly the same
- way it does when changing them interactively. DCMP will always start
- with the first sector of a cylinder and end up with the last. So if you
- set first and last cylinder to the same value DCMP will compare it
- entirely.
-
-
- All functions in the window are available via gadgets and/or keyboard
- shortcuts. I.e. you can for example select a logfile either via the
- `Logfile' gadget or by pressing the underlined letter (in this case: `f')
- on your keyboard. Alternatively you may activate the string gadget to edit
- the logfile name by pressing the `l' key or simply with a mouse click
- into it. (If the string gadget is not activated DCMP cuts off the path.)
-
- DCMP has also got a menu strip now. If you like moving your mouse this
- is the best way for you to make your selections.
-
- The `Verify tracks' option forces dcmp to read each track twice and compare
- the results. This makes it possible to detect weak data.
-
- Depending on the number of drives you specified (1 or 2) DCMP will either
- verify this disk or compare them. During the operation the menu strip will
- be removed. If a logfile was selected its contents may look somewhat like
- this:
-
-
- This is $Id: dcmp.c,v 1.43 92/09/13 20:15:21 tf Exp $
- Compare drive DF0: with DF1: w/ deep read
- > Start: Track #0, Sector #0, Block #0
- > End: Track #159, Sector #10, Block #1759
- 3.5" Kickstart disk in DF0:
- 3.5" Normal DOS disk in DF1:
- ** Bad sector preamble on DF0: track 137, 2 attempts failed.
- ** Too few sectors on DF0: track 139, 2 attempts failed.
- total: 76 tracks differ on 740 blocks, 2 errors, no weak tracks.
-
- Here is the complete list of differing blocks:
-
- 0..0512: Track #000, Sector #00 -- Track #046, Sector #06
- 671..0673: Track #061, Sector #00 -- Track #061, Sector #02
- 679..0680: Track #061, Sector #08 -- Track #061, Sector #09
- 682..0889: Track #062, Sector #00 -- Track #080, Sector #09
- 1555..1556: Track #141, Sector #04 -- Track #141, Sector #05
- 1580: Track #143, Sector #07
- 1582..1583: Track #143, Sector #09 -- Track #143, Sector #10
- 1604: Track #145, Sector #09
- 1618: Track #147, Sector #01
- 1734: Track #157, Sector #07
- 1753: Track #159, Sector #04
- ....
- ....
-
-
- This list can be of great use, if you want to edit the differing blocks
- with a disk-monitor (e.g. DisKey by Angela Schmidt).
-
- The output of the next operation with the same logfile will not overwrite
- the last. It will be appended, after a seperation line with date and time.
-
- If you like DCMP (or even if you do not) then write to me. (I would be
- happy to receive a postcard of your hometown ;)
-
-
-
- -Tobi
-
-
- IDEAS FOR FUTURE REVISIONS
-
- - DCMP check-disk-until-defect-option to have absolutely trusty
- results for the read/write reliability of a disk ;)
-
- - Differing blocks will be documented (BOOT, ROOT, ...) with the offset
- of the difference in the block.
-
- - Disk units will be allocated (BUSY) as soon as dcmp comes up. (howdo?)
-
- - The number of cylinders DCMP can access will no longer be fixed to 80
- but will depend on the #of tracks the disk offers. (A4000 with HD drive!)
-
- - Reading sector labels will become an additive DCMP option.
- DCMP is already able to read them, but I'm not so pleased with
- my attempts to implement this option...
-
-
- AUTHOR
-
- Tobias Ferber, Goethestraße 32, 76135 Karlsruhe, Germany
-
- Earn: ukjg@dkauni2.bitnet
- InterNet: ukjg@ibm3090.rz.uni-karlsruhe.de
-
- THANKS
-
- Req.library is copyright 1989 Colin Fox (Pyramyd Designs) and Bruce
- Dawson (of CygnusSoft Software).
-
- ReqTools.library is Copyright (c) Nico François.
- Corbielaan 13
- B-3060 Bertem
- BELGIUM
-
-
- DICE is copyright (c)1990 by Matthew Dillon
- 891 Regal Rd.
- Berkeley, Ca. 94708
- USA
-
- dillon@overload.Berkeley.CA.US
- uunet.uu.net!overload!dillon
-
- BIX: mdillon
-