home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / vol172 / du-v75a.doc < prev    next >
Encoding:
Text File  |  1984-05-30  |  6.0 KB  |  212 lines

  1.  
  2.              DU-V75A.DOC
  3.             by Ward Christensen
  4.   with additional notes by Ron Fowler and Keith Petersen
  5.          (revised 7/23/81)
  6.   and still further revision by H.M. Van Tassell (3/6/84)
  7.  
  8.  
  9. DU-75A.A86 is a CP/M-86 translation of the CP/M-80 version 7.5 with
  10. added disk routines which allow operation under CP/M-86 ver 1.1 and 3.1
  11. and CCP/M-86 version 3.1.  (note: CP/M-86 ver 3.1 has not been released
  12. by Digital Research as of this date)
  13.  
  14. This program checks the CP/M version number and will not run unless
  15. the operating system is one mentioned above.  However, with only minor
  16. changes, the program can be made to run under MP/M-86 or the original
  17. version of Concurrent CP/M.  Note that CCP/M-86 ver 3.1 replaces both
  18. the MP/M-86 and original Concurrent CP/M operating systems.
  19.  
  20. The starting translation came from the SLICER USER GROUP
  21. disk #2, via Micro Cornucopia, PO Box 223, Bend, OR
  22. It did not indicate the name of the translator who should
  23. be thanked for his work.  That version appeared as DU-75.A86
  24.  
  25. See original CP/M-80 version 7.5 for history of changes and full
  26. credits for all contributing authors.
  27.  
  28. With the exception of my changing the multiple command symbol from ";"
  29. to "!", which is the CP/M convention for multiple command symbol, the 
  30. original documentation still applies and is repeated here for easy
  31. reference.
  32.  
  33.  
  34.     HOW TO USE DU ver 7.5-A DISK UTILITY
  35.  
  36. USE:
  37.  
  38. Any valid command string may be placed as an
  39. operand of the original DU command, i.e.:
  40.  
  41.      A>DU G0!D!G2!=OK<D><A><1A>!D  (NOTE: if your operating system allows
  42.                     multiple commands, don't use "!" in 
  43.                     the DU command tail)
  44. Functions supported:
  45.  
  46.     Tnn    Seek to track nn (no read)
  47.     Snn    Position to sector nn, and read
  48.     Gnn    Position to group nn and read.
  49.     G    Shows current position
  50.     V    Views the current sector.
  51.         (assumes ASCII data)
  52.     Vnn    Views nn sectors
  53.     Fname    print directory for file "name",
  54.         and gives group information for 
  55.         the first extant
  56.  
  57.     =string    Ascii search, starting at current
  58.         sector. <xx> hex may be imbedded,
  59.         or used alone:  To find "IN 0FEH":
  60.         =<db><fe>
  61.         Ignores bit 7 unless <xx> is used.
  62.  
  63.     L    Re-logs in the current disk. You may pull
  64.         out a disk, put in a new, and "L" just
  65.         to log it in.
  66.  
  67.     Lx    Logs in disk 'x', such as: LB
  68.  
  69.     Ux    Logs user 'x' for next F command.  Gives
  70.         '?' error if not CP/M version 2.x.
  71.  
  72.     D    Dump sector, hex + ASCII
  73.     A    Dump sector, ASCII only
  74.     H    Dump sector, hex only
  75.  
  76. note all dump commands (D, A, H) may be optionally
  77.     followed by a starting and ending address:
  78.     D0,7F    is the same as just D
  79.     D3,5
  80.     A20,3F
  81.  
  82.     CHaddr,val,val,val... change hex in sector
  83.     CAaddr,char string... change ASCII in sector
  84.         NOTE that <xx> may be hex imbedded
  85.         in the Ascii:  ca0,OK<d><a><1a>
  86.  
  87.         ----> Use W to write changes to disk.
  88.         Note that the C command echoes
  89.         the overlaid data for verification.
  90.  
  91.     CHaddr-addr,byte
  92.  or    CAaddr-addr,byte    repeats a change
  93.  
  94.     +    advance 1 sector (if below track 2,
  95.         this advances to next numerical, if
  96.         2 or >, advances based on CP/M's normal
  97.         sector scrambling algorithm, i.e. so +
  98.         will get the next logical sector of the file
  99.  
  100.     -    backs up 1 logical sector
  101.  
  102.         Note + and - may take an amount:
  103.         for example, +F steps in 15 sectors.
  104.  
  105.         Note also that "-" issued at the first logical
  106.         sector of the disk will wrap back to the last.
  107.         Further, "+" issued at the last sector will
  108.         wrap forward to the first.
  109.  
  110.     ?    Gives command summary
  111.  
  112.     #    Prints the disk parameters
  113.  
  114.     M    Dumps a map of the group allocations
  115.         for files.
  116.     Mn    Shows which file is allocated to
  117.         group "n".
  118.  
  119.     N    Resets CP/M via the BDOS.  This may
  120.         make it possible under some implementations
  121.         of CP/M to change the disk format (e.g., density,
  122.         sides, etc)
  123.  
  124.     R    Reads the sector currently positioned to
  125.         into memory.  Note R (Read) is implicit in
  126.         the G, +, and - commands, but N-O-T in the
  127.         S and T commands (I did it because I was
  128.         tired of disk reading after T command before
  129.         I had a chance to issue the S command)
  130.  
  131.     W    Write back the current sector (N-O-T-E may
  132.         not be used after an F command, as CP/M was
  133.         used to find the file in the directory
  134.  
  135.     X    Exit back to CP/M (Must press return).  Ctl-c
  136.         was too easy to hit over modem lines, so I
  137.         decided on 2-byte (X, CR) to exit.
  138.  
  139.     P    Toggle printer switch on/off
  140.  
  141.     Y       Yanks current sector into sequential memory and
  142.         prints ending address.  This allows sectors to
  143.         be written sequentially into memory starting at
  144.         3000H, for later recovery by DDT, etc.
  145.  
  146.     Z    Sleep - causes the program to pause, such
  147.         as to look at a dump.  Z is 1 sec.  Znn
  148.         is nn tenths of a second, more or less.
  149.  
  150.     <    Saves current sector in a save buffer
  151.  
  152.     >    Gets saved buffer.  < and > may be used
  153.         to move a sector to another place.
  154.  
  155.     /    Repeats entire command.  Defaults
  156.  or    /nn    to "forever".  NN may be 2 to 65535
  157.  
  158. multiple commands may be separated by "!" 
  159.  
  160. Example: the following commands will erase the
  161.      b disk directory to all E5's:
  162.  
  163.     lb        log in b drive
  164.     g0        position to dir.
  165.     ch0-7f,e5    fill with e5
  166.     <        save the sector
  167.     >!w!+!/16    restore, write, next,
  168.             repeat 16
  169.  
  170. ----This could be shortened to:
  171.  
  172.     lb!g0!ch0-7f,e5!<
  173.     >!w!+!/16
  174.  
  175.  
  176.  
  177. INTERPRETATION OF DIRECTORY DATA PRESENTED BY THE DU PROGRAM
  178.  
  179.  
  180. The following explains the format of a CP/M directory entry
  181. as shown by DU, using either the "F" (find file) command,
  182. or just doing "D" (dump) of the directory sectors, which
  183. are located in groups 0 and 1 on a single density disk.
  184.         ----------------
  185. Sample result of "FSID.COM" command:
  186.  
  187. 40  00534944 20202020  20434F4D 0000003A  *.SID     COM...:*
  188. 50  33343536 3738393A  00000000 00000000  *3456789:........*
  189.  
  190. First line -
  191.  
  192. 40  00534944 20202020  20434F4D 0000003A  *.SID     COM...:*
  193. ||  |||                      |  ||    ||    |         |
  194. ||  ||^----hex file name-----^  ||    ||    ^file name^
  195. ||  ||                          ||    ||     in ASCII
  196. ||  ||                   extent-^^    ||
  197. ||  ||                                ||
  198. ||  ||           file size in sectors-^^
  199. ||  ||
  200. ||  ^^-00 = file active
  201. ||     E5 = file erased
  202. ^^-displacement of line in directory sector
  203.  
  204. Second line -
  205.  
  206. 50  33343536 3738393A  00000000 00000000  *3456789:........*
  207.     |                       |
  208.     |                       |
  209.     ^---allocation group numbers-------^
  210.  
  211. END
  212.