home *** CD-ROM | disk | FTP | other *** search
- Purpose and Use
- Display Commands
- Positioning Commands
- I/O Commands
- Change Commands
- Search Commands
- Logging Disks
- Miscellaneous
- Examples of command use
- Interpreting DU lines
- DU-V87 Installation
- : Disk Utility
- by Ward Christensen
- (revised 6/13/84)
-
- DU-v87 is a CP/M utility that provides the user capabilities to inspect
- and modify data on a diskette directly by specifying either track and sector
- or by specifying allocation unit. The program may be used to recover files,
- including directory entries and system tracks that have been destroyed.
-
- To invoke the program simply enter "DU" at the CP/M prompt:
-
- A>DU
-
- An initial command string may optionally be placed as an operand to the
- "DU" command:
-
- A>DU M;X
-
- This example will print a map of the disk and then exit.
-
- :Display Commands
-
- # Shows the disk parameters.
-
- A Dumps a sector in ASCII.
- H Dumps a sector in hex.
- D Dumps a sector in hex and ASCII.
-
- These commands may add ff,tt (from,to) to dump a range of sectors.
-
- G Shows the current group, track, and sector.
-
- M Maps the disk.
- Mxx Maps the disk starting at group xx.
-
- Vnn Views (much like CP/M type) nn sectors.
-
- ? Displays the help screen.
-
- :Positioning commands
-
- Gnn Positions to and reads the first sector of an allocation group.
- (nn = the allocation group in hex -- lowest value is 00)
-
- Tnn Positions to a specific track
- (nn = the track in decimal -- lowest value is 0)
- (does not do a read, must execute the S (sector) command first)
-
- Snn Positions to and reads a specific sector.
- (nn = the sector in decimal -- lowest value is 1)
- (the T (track) command must be executed first)
-
- +nn advances nn sectors and reads.
- -nn backs up nn sector and reads.
- (nn = the number of sectors in hex -- if omitted, 1 sector is assumed)
- If "-" is issued at the first logical sector of the disk,
- the sector number will wrap back to the last sector.
- If "+" is issued at the last sector, the sector number
- will wrap forward to the first sector.
-
- :I/O Commands
-
- R Reads the currently positioned sector into memory.
-
- Note: R (Read) is implicit in the "G", "+", and "-" commands,
- but NOT in the S and T commands.
-
- W Writes the currently positioned sector from memory.
-
- < Saves the current sector in a save buffer.
-
- > Recalls previously saved sector.
-
- Y Saves the current sector in the yank buffer.
-
- K Dumps memory to a file previously stored using the Y (yank) command.
- (requires the operand: [du:]filename[.ext])
-
- :Change commands
-
- CHaddr,val,val,val... change hex in sector.
-
- CAaddr,char string... change ASCII in sector.
-
- NOTE that <xx> may be hex imbedded in the Ascii: ca0,OK<d><a><1a>
-
- Use W to write changes to disk. Note that the C command echoes the
- overlaid data for verification.
-
- CHaddr-addr,byte or CAaddr-addr,byte repeats a change.
-
- :Search commands
-
- Fname Prints the directory entry for file "name",
- then positions to its directory sector.
-
- F Finds the next occurrence of the same name.
-
- =aaaa Scan for aaaa (in ASCII) from current sector.
- (Specify upper or lower case, user <xx> for imbedded hex.
-
- :Logging a disk
-
- L Logs in a disk.
-
- Lx Logs in disk "x", such as: LB.
-
- Ux Logs user "x" for next F command.
-
- N Resets CP/M via the BDOS. This may make it possible under some
- implementations of CP/M to change the disk format.
- (e.g., density, sides, etc)
-
-
- :Miscellaneous
-
- X Exits back to CP/M (Must press return).
-
- P Toggles printer switch on/off.
-
- Z Sleep - causes the program to pause, such as to look at a dump.
- Z is 1 sec. Znn is nn tenths of a second on a 2 MHz 8080.
-
- /nn Repeats previous command nn times.
-
- Q Before a command does it "quietly".
-
- ( Toggles map display of erased files.
-
- B Boots track number of sectors per track.
-
- :Examples
-
- Multiple commands may be separated by ";".
- Any valid command string may be placed as an operand of the original DU
- command, i.e.:
-
- A>DU G0;D;G2;=OK<D><A><1A>;D
-
- The following commands will erase the disk directory to all E5's:
-
- lb log in b drive
- g0 position to dir.
- ch0-7f,e5 fill with e5
- < save the sector
- >;w;+;/16 restore, write, next,
- repeat 16
-
- This could be shortened to:
-
- lb;g0;ch0-7f,e5;<
- >;w;+;/16
-
- :Interpretation of a directory entry.
-
- The following explains the format of a CP/M directory entry as shown by DU,
- using either the "F" (find file) command, or just doing "D" (dump) of the
- directory sectors, which are located in groups 0 and 1 on a single density
- disk. Sample result of "FDU" command:
-
- First 40 00445520 20202020 20434F4D 0000003B *.DU COM...:*
- line || | | || | | |
- || ||^----hex file name-----^ | | || ^file name^
- || || | | || in ASCII
- || || extent-^ ^ ||
- || || ||
- || || file size in sectors-^^
- || ||
- || ^^-0x = file active/user area
- || E5 = file erased
- ^^-displacement of line in directory sector
-
- Second 50 33343536 3738393A 00000000 00000000 *3456789:........*
- line | |
- ^---allocation group numbers-------^
- :Installation
-
- DU 7.0 and later versions of DU are designed to be installed with a
- minimum of trouble. In fact, in almost all cases, no changes to the source
- file should be necessary to get DU up and running. This is because DU uses
- the disk parameter block of CP/M to determine the characteristics of the disk
- environment. (see the disclaimer for certain non-standard versions of CP/M
- 1.4).
-
- The only parameter that should need to be changed will be the clock
- speed flag at 103H. Leave this byte zero if you have a 2 mhz clock. Patch
- it non-zero for 4 mhz. This is only needed for the "Z" (sleep) command.