home *** CD-ROM | disk | FTP | other *** search
/ Hall of Fame / HallofFameCDROM.cdr / util2 / wash20.lzh / WASH.DOC next >
Text File  |  1986-04-14  |  16KB  |  458 lines

  1. File "WASH.DOC"
  2.  
  3.         Documentation on the operation of:
  4.               "WASH.COM" (MSDOS and CPM)
  5.         by:
  6.             Michael J. Karas
  7.             Micro Resources
  8.             2468 Hansen Court
  9.             Simi Valley, California 93065
  10.  
  11.  
  12.     This program is a super-duper CP/M disk directory maintence utility 
  13. that is designed as an "almost" all inclusive routine to make it easy to do 
  14. disk directory house keeping. The inspiration to produce this program came 
  15. from use of an older utility program called "CLEAN" that I came across at a 
  16. meeting of the Valley Computer Club about a year and a half ago. At that time 
  17. "CLEAN" seemed like a dream come true. Unfortunately it had several major 
  18. problems that limited its overall usefullness. The disadvantages of CLEAN have
  19. all been overcome with the new WASH program. Program features are listed 
  20. below:
  21.  
  22.     a) Alphabetical list oriented file operations
  23.  
  24.     b) Any legal CP/M drive (A: to P:) may be selected
  25.  
  26.     c) Operator interface to the file list is at the console
  27.        in sequential apha order in forward or backup mode.
  28.  
  29.     d) The file list is treated as a circular buffer. Forward
  30.        or backward scanning of the list wraps around the list
  31.        back to the beginning or ending respectively.
  32.  
  33.     e) The current list position file can be viewed at the 
  34.        Console, printed on the CP/M List device, or sent
  35.        to the CP/M Punch device.
  36.  
  37.     f) The current list position file may be deleted or renamed.
  38.        If renamed, only the new name must be entered.
  39.  
  40.     g) The current list position file may be copied, with the
  41.        same name, to any other operator selected disk drive.
  42.        The copy utilizes all of available memory as the copy
  43.        buffer for the ultimate in copy speed.
  44.  
  45.           h) The current list can be deleted and the "WASH" operation
  46.        may be begun upon another operator selected disk drive.
  47.  
  48.     i) The program is fully implemented in 8080 assembly language
  49.        for speed, small size, and portability to any CP/M 2.2
  50.        or 1.4 system.  The MSDOS VERSION is of course in 8086
  51.        assembly language. No assumption is made upon the maximum
  52.        number of directory files other than available memory 
  53.        space for the list. (A directory with 1024 directory
  54.        file names takes 12 K bytes of storage. Assuming the
  55.        copy buffer minimum size requirement of 128 bytes, then
  56.        WASH should easily run in the minimum CP/M 2.2 20K 
  57.        System with no problems at all.) ALL directory and
  58.        disk I/O is handled through calls to the BDOS. This
  59.        will guarentee WASH compatibility with any CP/M system
  60.        implementation. This makes the program disk media
  61.        independent (all you have to do is get WASH.COM onto
  62.        your diskette or hard disk in the first place.
  63.  
  64.     This Program was Written by:
  65.  
  66.     Michael J. Karas
  67.     MICRO RESOURCES
  68.     2468 Hansen Court
  69.     Simi Valley, California 93065
  70.     (805) 527-7299
  71.     September 20, 1981
  72.  
  73.     NOTE:  The WASH program, its source code, documentation file,
  74.                   and object code, has been released to the PUBLIC DOMAIN
  75.                by Michael J. Karas. This program may be modified to suit
  76.                your personal requirements or those of your friends. In 
  77.                any case no COMMERCIAL or MONEY MAKING ventures with
  78.                regard to SOFTWARE SALES or MODIFICATION and the subsequent
  79.                SALE of the WASH program in WHOLE or any PART is permitted
  80.                by the author. Further modification and public domain
  81.                   distribution of the WASH program must include:
  82.  
  83.         a) This NOTE,
  84.  
  85.         b) The name "WASH" must be retained,
  86.  
  87.         c) The original authorship notice
  88.            from above, and
  89.  
  90.         d) The MICRO RESOURCES Name in the Sign-on
  91.            Menu.
  92.  
  93.     MICRO RESOURCES reserves the right to modify this program at any
  94. time for any purpose. The Intent of the above NOTE is intended for the public 
  95. domain distribution of the WASH program and MICRO RESOURCES reserves the right
  96. to utilize the WASH program for any application whatsoever including but not 
  97. limited to commercial distribution and modification for custom applications
  98. with or without the "WASH" name.
  99.  
  100.  
  101. Modification of WASH
  102. --------------------
  103.  
  104.     If you modify, enhance, or correct bugs in this program, please 
  105. include a short statement of the modifications done and include your name 
  106. and the date. The modification history log should be kept intact with the
  107. source code file in "most recent first" order. Changes to program structure 
  108. will generally require a change in the program version. The version number 
  109. is documented in the signon message and the distribution program name as 
  110. "WASH-10.ASM" in the specific case of the initial release 1.0.
  111.  
  112.     The format for update notices in the source file should follow the
  113. format shown below:
  114.  
  115. Date: Sept. 20, 1981   Version Number: 1.0  Name: Michael J. Karas
  116.  
  117. Initial release to the public domain via the CP/M NET remote 
  118. software access program operated by Kelly Smith, 3055 Waco Ave,
  119. Simi Valley, CA 93063. (805) 527-9321/ PMMI modem.
  120.  
  121.  
  122.  
  123. Running WASH
  124. ------------
  125.  
  126.     The WASH program is run as a transient command under CP/M 2.2
  127. or CP/M 1.4 as follows. The program creates a working list of all selected
  128. file names on the selected drive. Examples of command formats are:
  129.  
  130.     A>WASH<cr>        <== WASH forms working list
  131.                     of all files from default drive A:.
  132.  
  133.     A>WASH B:<cr>        <== WASH forms working list of all
  134.                     files from selected drive B:.
  135.  
  136.     A>WASH *.COM<cr>    <== WASH formas working list of all
  137.                     ".COM" files from default drive A:.
  138.  
  139.     WASH will boot up and read all selected file names from the selected
  140. drive into a "MEMORY" list that is in ascending alphabetical order. The first
  141. file name will be displayed with a ":" prompt awaiting some command from the
  142. operator. The following summary describes WASH commands.
  143.  
  144. WASH Commands
  145. -------------
  146.  
  147.     The Wash program permits entry of various commands while the console
  148. cursor is positioned at a ":" prompt after the currently displayed file name
  149. in the file name list.
  150.  
  151. **** File List Manipulation Comands.
  152.  
  153.     File Forward (SPACE or CARRIAGE RETURN) Command
  154.     -----------------------------------------------
  155.  
  156.     This command will increment the displayed list pointer and 
  157.     then display the  next file name in the list. If last file
  158.     name in list is currently displayed, the message "End of List"
  159.     is displayed and file name display wraps around to the first 
  160.     file name.
  161.  
  162.     Backup (B) Command
  163.     ------------------
  164.  
  165.     This command will decrement the displayed list pointer and
  166.     display the previous file name from the list. If the first file 
  167.     name in the list is currently displayed, the message "Beginning
  168.     of List" is displayed and the file name display wraps back to
  169.     the last file name in the list.
  170.  
  171.  
  172. **** File Operation Commands.
  173.  
  174.     View (V) File Command
  175.     ---------------------
  176.     
  177.     The contents of the currently displayed file name is output
  178.     to the console screen. Text is normally assumed to be ASCII
  179.     and file display ceases upon encountering a logical end of 
  180.     file character (01AH) (ctl-z).
  181.  
  182.     Punch (P) File Command
  183.     ----------------------
  184.  
  185.     The contents of the currently displayed file name output
  186.     to the CP/M logical Punch device. Text is normally assumed to 
  187.     be ASCII and file punching ceases upon encountering a logical end 
  188.     of file character (01AH) (ctl-z).
  189.  
  190.     List (L) File Command
  191.     ---------------------
  192.  
  193.     The contents of the currently displayed file name is output
  194.     to the CP/M logical List device. Text is normally assumed to 
  195.     be ASCII and file listing ceases upon encountering a logical 
  196.     end of file character (01AH) (ctl-z).
  197.  
  198.     Copy (C) File Command
  199.     ---------------------
  200.  
  201.     This command allows the complete contents of the currently
  202.     displayed file name to copied to a file on another operator
  203.     selected drive with the same name. If the file name already 
  204.     exists on the destiantion disk, the operator is asked if it
  205.     should be replaced.
  206.  
  207.     Delete (D) File Command  ( changed to CONTROL-D to reduce accidents )
  208.     -----------------------
  209.  
  210.     The file with name corresponding to the currently displayed 
  211.     list name is deleted from the disk directory. After deletion
  212.     the message "Deleted" is displayed at the console. Deleted 
  213.     file name is also removed from the in memory list.
  214.  
  215.     Rename (R) File Command
  216.     -----------------------
  217.  
  218.     The file name currently displayed is renamed to the operator 
  219.     entered name in response to the "New Name ?" prompt. The list
  220.     in memory is also updated to reflect the new file name.
  221.  
  222. **** Miscellaneous Commands.
  223.  
  224.     Exit (X) Command  ( may also use, Q or control-C )
  225.     ----------------
  226.  
  227.     Command when entered will terminate WASH operation and return
  228.     system control to the CP/M Console Command Processor via a
  229.     warm boot operation.
  230.  
  231.     Start (S) over on New Drive Command
  232.     -----------------------------------
  233.  
  234.     Entry of the Start over command will cause the WASH program
  235.     to make up a new directory name list in memory from the drive
  236.     designator entered by the operator in response to the "New 
  237.     Drive ?" prompt.
  238.  
  239.  
  240. OPERATIONAL NOTES ON WASH
  241. -------------------------
  242.  
  243.     Command entries not understood by WASH will cause display of a 
  244. "?" character followed by redisplay of the same current list position
  245. file name. Command entries, other than Backup, will generally execute
  246. and then return to the command mode with the next file name from the list
  247. displayed.
  248.  
  249.     Entry of a carriage return in response to the "New Name ?" prompt
  250. of the Rename command or to the "New Drive ?" prompt of the Start Over
  251. command will abort the command function and cause display of the next file
  252. name in the file name list.
  253.  
  254.     The WASH program contains a liberal number of error checking
  255. functions not normally seen by the operator unless an error condition
  256. arises. These are always displayed with leading and trailing pairs of the 
  257. plus sign character as:
  258.  
  259.     ++ Error Message ++
  260.  
  261. Some of the error conditions are:
  262.  
  263.     ++ Not Found ++
  264.  
  265.         command line wild card file specification
  266.         name list is empty, or disk is empty.
  267.  
  268.         -or-
  269.  
  270.         delete, rename, copy source files not found.
  271.         (most likely due to a diskette change)
  272.  
  273.     ++ Name Already Exists ++
  274.  
  275.         attempt to rename a file to a name already present
  276.         on the disk.
  277.  
  278.     ++ File Cannot Be Opened ++
  279.  
  280.         output file for view, list, or punch, cannot be
  281.         opened for reading. Most probable cause is due to
  282.         a disk change.
  283.  
  284.     ++ Source File Cannot Be Opened ++
  285.  
  286.         source file on a copy operation cannot be found on
  287.         the disk. Most likely casued by a disk change.
  288.  
  289.     ++ Cannot Select Same Disk as Source ++
  290.  
  291.         the copy to destination disk selected by the operator 
  292.         must be different than the source disk.
  293.  
  294.     ++ Destination Directory Full ++
  295.  
  296.         The destination file on a copy operation cannot be opened
  297.         because the destination disk directory is full.
  298.  
  299.     ++ No Memory Available For Copy Buffer ++ 
  300.  
  301.         Caused when size of in memory list is so large that an
  302.         attempted copy operation can find no buffer space.
  303.  
  304.     ++ Disk or Directory Full on Write ++
  305.  
  306.         Caused when a copy operation attempts to place a file 
  307.         on a destination disk that does not have enough room
  308.         for the file, or not enough room to contain all the 
  309.         directory extent entries for the destination file.
  310.  
  311.     ++ Destination Close Error ++
  312.  
  313.         Destination file on a copy operation cannot be closed
  314.         most likely due to a full directory.
  315.  
  316. Looking at WASH in Action
  317. -------------------------
  318.  
  319.     The following text is an example session with WASH at the console.
  320. This dislay was made possible through use of Kelly Smith's new console
  321. i/o capture program I/O-CAP.COM. The intepretation of the action below
  322. should be self evident via the descriptions in the above sections.
  323. The text "<== xxxxxxxxxxxx" indicates text typed in for documentation
  324. purposes and not by the WASH program.
  325.  
  326.  
  327. A>WASH<cr>                <== start up wash for *.* on A:
  328.  
  329.  
  330.    MICRO RESOURCES DIRECTORY "WASH UTILITY" Ver 1.0B
  331.         ( MSDOS VERSION )
  332.  
  333.          Command    Function
  334.          -------    ----------------------------
  335.             V       View file at Console
  336.             L       Print file to List Device
  337.             P       Send file to Punch Device
  338.             C       Copy file to another Disk
  339.             R       Rename file
  340.           ^ D       Delete file
  341.           Q or X    Exit to DOS (Ctl-C also works)
  342.             B       Backup one file in List
  343.             S       Restart on another Drive
  344.       ? or H    List this command table
  345.          sp or cr   Forward to next file in List
  346.  
  347.  
  348. A: /       .COM   :              <== space bar to go forward
  349. A: ADIR    .COM   :  
  350. A: ASM     .COM   :  
  351. A: CONCAP  .COM   : B            <== B to backup
  352. <  A: ASM     .COM   : B
  353. <  A: ADIR    .COM   : B
  354. <  A: /       .COM   : B
  355.  
  356.       Beginning of List            <== Backup past top of list
  357.  
  358. <  A: XSUB    .COM   : B
  359. <  A: WORDMAS .COM   : B
  360. <  A: WM      .HLP   : B
  361. <  A: WASH    .HEX   : B
  362. <  A: WASH    .DOC   : B
  363. <  A: WASH    .COM   : B
  364. <  A: WASH    .BAK   : B
  365. <  A: WASH    .ASM   : B
  366. <  A: USQ     .COM   : B
  367. <  A: TYPESQ14.DQC   : B
  368. <  A: TSQ     .COM   : B
  369. <  A: SYSGEN  .COM   :               <== forward again
  370. A: TSQ     .COM   : C  Destination Drive ? B <== Copy two files to B:
  371. A: TYPESQ14.DQC   : C  Destination Drive ? B
  372. A: USQ     .COM   :  
  373. A: WASH    .ASM   :  
  374. A: WASH    .BAK   :  
  375. A: WASH    .COM   :  
  376. A: WASH    .DOC   :  
  377. A: WASH    .HEX   :  
  378. A: WM      .HLP   :  
  379. A: WORDMAS .COM   : B
  380. <  A: WM      .HLP   : B
  381. <  A: WASH    .HEX   : B
  382. <  A: WASH    .DOC   : B
  383. <  A: WASH    .COM   : B
  384. <  A: WASH    .BAK   :^ D  Deleted        <== delete an old file
  385. A: WASH    .COM   :                  <== I didn't want
  386. A: WASH    .DOC   : S  New Drive ? B        <== Start over on new drive
  387.  
  388.                         <== WASH signs on again for 
  389.                             Drive B:
  390.    MICRO RESOURCES DIRECTORY "WASH UTILITY" Ver 1.0B
  391.         ( MSDOS VERSION )
  392.  
  393.          Command    Function
  394.          -------    ----------------------------
  395.             V       View file at Console
  396.             L       Print file to List Device
  397.             P       Send file to Punch Device
  398.             C       Copy file to another Disk
  399.             R       Rename file
  400.           ^ D       Delete file
  401.           Q or X    Exit to DOS (Ctl-C also works)
  402.             B       Backup one file in List
  403.             S       Restart on another Drive
  404.       ? or H    List this command table
  405.          sp or cr   Forward to next file in List
  406.  
  407.  
  408. B: /       .COM   :  
  409. B: TSQ     .COM   : B
  410. <  B: /       .COM   : ^D  Deleted        <== delete a file on B:
  411. B: TSQ     .COM   :  
  412. B: TYPESQ14.DQC   :  
  413. B: WASH    .ASM   :  
  414. B: WASH    .BAK   : ^D  Deleted            <== and another
  415. B: WASH    .COM   :  
  416. B: WASHTEST.DOC   :  
  417. B: WM      .HLP   : B
  418. <  B: WASHTEST.DOC   : V            <== View a text file at crt
  419.         JUST A SHORT MESSAGE TO DEMONSTRATE THE PHYSICAL
  420. I/O CAPABILITIES OF "WASH" OF DOCMENTATION.
  421.  
  422.  
  423. B: WM      .HLP   : B
  424. <  B: WASHTEST.DOC   : P        <== Send text file to my TI-820
  425. B: WM      .HLP   : B                on the PUNCH port of CP/M
  426. <  B: WASHTEST.DOC   : L        <== Send text file to printer on
  427. B: WM      .HLP   :                  the LIST port of CP/M
  428. B: WORDMAS .COM   :  
  429. B: Z2      .      :  
  430. B: Z3      .      :  
  431. B: Z4      .      :  
  432.  
  433.       End of List            <== forward scroll of list 
  434.                         past end of list
  435. B: TSQ     .COM   :              <== to first one again
  436. B: TYPESQ14.DQC   :  
  437. B: WASH    .ASM   :  
  438. B: WASH    .COM   :  
  439. B: WASHTEST.DOC   :  
  440. B: WM      .HLP   :  
  441. B: WORDMAS .COM   :  
  442. B: Z2      .      :  
  443. B: Z3      .      : B
  444. <  B: Z2      .      : C  Destination Drive ? A  <== copy to A:
  445. B: Z3      .      :X            <== exit back to logged drive
  446.  
  447. A>   
  448.  
  449.  
  450. +++ End of Documentation File
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.