home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / mbug / mbug028.arc / WASH.DOC < prev    next >
Text File  |  1979-12-31  |  15KB  |  444 lines

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