DU-V75 Installation Logging disks; examining disk parameters Positioning and reading Viewing data Writting data Miscellanea Examples of command use Interpreting DU lines : DU-V75.DOC by Ward Christensen with additional notes by Ron Fowler (revised 1/23/81) *** Installation *** The 7.0 and later versions of DU are designed to be installed with a minimum of trouble. In fact, in al- most all cases, no changes to the source file should be necessary to get DU up and running. This is because DU uses the disk paramter block of CP/M to determine the characteristics of the disk environment. (see the dis- claimer 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. :Logging and viewing disk parameters L Re-logs in the current disk. You may pull out a disk, put in a new, and "L" just to log it in. Lx Logs in disk 'x', such as: LB Ux Logs user 'x' for next F command. Gives '?' error if not CP/M version 2.x. # Prints the disk parameters Fname Print directory for file "name", then positions to its directory sector. (Won't position under CP/M 2.x, but see = command below.) M Dumps a map of the group allocations for files. Mn Shows which file is allocated to group "n". :Positioning and reading Tnn Seek to track nn (no read) Snn Position to sector nn, and read Gnn Position to group nn and read. G Shows current position =string Ascii search, starting at current sector. <xx> hex may be imbedded, or used alone: To find "IN 0FEH": =<db><fe> Ignores bit 7 unless <xx> is used. + advance 1 sector (if below track 2, this advances to next numerical, if 2 or >, advances based on CP/M's normal sector scrambling algorithm, i.e. so + will get the next logical sector of the file - backs up 1 logical sector Note + and - may take an amount: for example, +F steps in 15 sectors. Note also that "-" issued at the first logical sector of the disk will wrap back to the last. Note "+" issued at last sector will wrap forward to the first. R Reads the sector currently positioned to into memory. Note R (Read) is implicit in the G, +, and - commands, but N-O-T in the S and T commands (I did it because I was tired of disk reading after T command before I had a chance to issue the S command) < Saves current sector in a save buffer > Gets saved buffer. < and > may be used to move a sector to another place. :Viewing data V Views the current sector. (assumes ASCII data) Vnn Views nn sectors D Dump sector, hex + ASCII A Dump sector, ASCII only H Dump sector, hex only Note all dump commands (D, A, H) may be optionally followed by a starting and ending address: D0,7F is the same as just D D3,5 A20,3F :Altering data 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 W Write back the current sector (N-O-T-E may not be used after an F command, as CP/M was used to find the file in the directory :Miscellanea ? Gives command summary 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) X Exit back to CP/M (Must press return). Ctl-c was too easy to hit over modem lines, so I decided on 2-byte (X, CR) to exit. P Toggle 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. / Repeats entire command. Defaults or /nn to "forever". NN may be 2 to 65535 :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 Example: the following commands will erase the b 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 DIRECTORY DATA PRESENTED BY THE DU PROGRAM 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 "FSID.COM" command: First 40 00534944 20202020 20434F4D 0000003A *.SID COM...:* line || ||| | || || | | || ||^----hex file name-----^ || || ^file name^ || || || || in ASCII || || extent-^^ || || || || || || file size in sectors-^^ || || || ^^-00 = file active || E5 = file erased ^^-displacement of line in directory sector Second 50 33343536 3738393A 00000000 00000000 *3456789:........* line | | ^---allocation group numbers-------^