home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
simtel
/
sigm
/
vols000
/
vol044
/
wash-10.doc
< prev
next >
Wrap
Text File
|
1984-04-29
|
15KB
|
444 lines
File "WASH.DOC"
Documentation on the operation of:
"WASH.COM"
by:
Michael J. Karas
Micro Resources
2468 Hansen Court
Simi Valley, California 93065
This program is a super-duper CP/M disk directory maintence utility
that is designed as an "almost" all inclusive routine to make it easy to do
disk directory house keeping. The inspiration to produce this program came
from use of an older utility program called "CLEAN" that I came across at a
meeting of the Valley Computer Club about a year and a half ago. At that time
"CLEAN" seemed like a dream come true. Unfortunately it had several major
problems that limited its overall usefullness. The disadvantages of CLEAN have
all been overcome with the new WASH program. Program features are listed
below:
a) Alphabetical list oriented file operations
b) Any legal CP/M drive (A: to P:) may be selected
c) Operator interface to the file list is at the console
in sequential apha order in forward or backup mode.
d) The file list is treated as a circular buffer. Forward
or backward scanning of the list wraps around the list
back to the beginning or ending respectively.
e) The current list position file can be viewed at the
Console, printed on the CP/M List device, or sent
to the CP/M Punch device.
f) The current list position file may be deleted or renamed.
If renamed, only the new name must be entered.
g) The current list position file may be copied, with the
same name, to any other operator selected disk drive.
The copy utilizes all of available memory as the copy
buffer for the ultimate in copy speed.
h) The current list can be deleted and the "WASH" operation
may be begun upon another operator selected disk drive.
i) The program is fully implemented in 8080 assembly language
for speed, small size, and portability to any CP/M 2.2
or 1.4 system. No assumption is made upon the maximum
number of directory files other than available memory
space for the list. (A directory with 1024 directory
file names takes 12 K bytes of storage. Assuming the
copy buffer minimum size requirement of 128 bytes, then
WASH should easily run in the minimum CP/M 2.2 20K
System with no problems at all.) ALL directory and
disk I/O is handled through calls to the BDOS. This
will guarentee WASH compatibility with any CP/M system
implementation. This makes the program disk media
independent (all you have to do is get WASH.COM onto
your diskette or hard disk in the first place.
This Program was Written by:
Michael J. Karas
MICRO RESOURCES
2468 Hansen Court
Simi Valley, California 93065
(805) 527-7299
September 20, 1981
NOTE: The WASH program, its source code, documentation file,
and object code, has been released to the PUBLIC DOMAIN
by Michael J. Karas. This program may be modified to suit
your personal requirements or those of your friends. In
any case no COMMERCIAL or MONEY MAKING ventures with
regard to SOFTWARE SALES or MODIFICATION and the subsequent
SALE of the WASH program in WHOLE or any PART is permitted
by the author. Further modification and public domain
distribution of the WASH program must include:
a) This NOTE,
b) The name "WASH" must be retained,
c) The original authorship notice
from above, and
d) The MICRO RESOURCES Name in the Sign-on
Menu.
MICRO RESOURCES reserves the right to modify this program at any
time for any purpose. The Intent of the above NOTE is intended for the public
domain distribution of the WASH program and MICRO RESOURCES reserves the right
to utilize the WASH program for any application whatsoever including but not
limited to commercial distribution and modification for custom applications
with or without the "WASH" name.
Modification of WASH
--------------------
If you modify, enhance, or correct bugs in this program, please
include a short statement of the modifications done and include your name
and the date. The modification history log should be kept intact with the
source code file in "most recent first" order. Changes to program structure
will generally require a change in the program version. The version number
is documented in the signon message and the distribution program name as
"WASH-10.ASM" in the specific case of the initial release 1.0.
The format for update notices in the source file should follow the
format shown below:
Date: Sept. 20, 1981 Version Number: 1.0 Name: Michael J. Karas
Initial release to the public domain via the CP/M NET remote
software access program operated by Kelly Smith, 3055 Waco Ave,
Simi Valley, CA 93063. (805) 527-9321/ PMMI modem.
Running WASH
------------
The WASH program is run as a transient command under CP/M 2.2
or CP/M 1.4 as follows. The program creates a working list of all selected
file names on the selected drive. Examples of command formats are:
A>WASH<cr> <== WASH forms working list
of all files from default drive A:.
A>WASH B:<cr> <== WASH forms working list of all
files from selected drive B:.
A>WASH *.COM<cr> <== WASH formas working list of all
".COM" files from default drive A:.
WASH will boot up and read all selected file names from the selected
drive into a "MEMORY" list that is in ascending alphabetical order. The first
file name will be displayed with a ":" prompt awaiting some command from the
operator. The following summary describes WASH commands.
WASH Commands
-------------
The Wash program permits entry of various commands while the console
cursor is positioned at a ":" prompt after the currently displayed file name
in the file name list.
**** File List Manipulation Comands.
File Forward (SPACE or CARRIAGE RETURN) Command
-----------------------------------------------
This command will increment the displayed list pointer and
then display the next file name in the list. If last file
name in list is currently displayed, the message "End of List"
is displayed and file name display wraps around to the first
file name.
Backup (B) Command
------------------
This command will decrement the displayed list pointer and
display the previous file name from the list. If the first file
name in the list is currently displayed, the message "Beginning
of List" is displayed and the file name display wraps back to
the last file name in the list.
**** File Operation Commands.
View (V) File Command
---------------------
The contents of the currently displayed file name is output
to the console screen. Text is normally assumed to be ASCII
and file display ceases upon encountering a logical end of
file character (01AH) (ctl-z).
Punch (P) File Command
----------------------
The contents of the currently displayed file name output
to the CP/M logical Punch device. Text is normally assumed to
be ASCII and file punching ceases upon encountering a logical end
of file character (01AH) (ctl-z).
List (L) File Command
---------------------
The contents of the currently displayed file name is output
to the CP/M logical List device. Text is normally assumed to
be ASCII and file listing ceases upon encountering a logical
end of file character (01AH) (ctl-z).
Copy (C) File Command
---------------------
This command allows the complete contents of the currently
displayed file name to copied to a file on another operator
selected drive with the same name. If the file name already
exists on the destiantion disk, the operator is asked if it
should be replaced.
Delete (D) File Command
-----------------------
The file with name corresponding to the currently displayed
list name is deleted from the disk directory. After deletion
the message "Deleted" is displayed at the console. Deleted
file name is also removed from the in memory list.
Rename (R) File Command
-----------------------
The file name currently displayed is renamed to the operator
entered name in response to the "New Name ?" prompt. The list
in memory is also updated to reflect the new file name.
**** Miscellaneous Commands.
Exit (X) Command
----------------
Command when entered will terminate WASH operation and return
system control to the CP/M Console Command Processor via a
warm boot operation.
Start (S) over on New Drive Command
-----------------------------------
Entry of the Start over command will cause the WASH program
to make up a new directory name list in memory from the drive
designator entered by the operator in response to the "New
Drive ?" prompt.
OPERATIONAL NOTES ON WASH
-------------------------
Command entries not understood by WASH will cause display of a
"?" character followed by redisplay of the same current list position
file name. Command entries, other than Backup, will generally execute
and then return to the command mode with the next file name from the list
displayed.
Entry of a carriage return in response to the "New Name ?" prompt
of the Rename command or to the "New Drive ?" prompt of the Start Over
command will abort the command function and cause display of the next file
name in the file name list.
The WASH program contains a liberal number of error checking
functions not normally seen by the operator unless an error condition
arises. These are always displayed with leading and trailing pairs of the
plus sign character as:
++ Error Message ++
Some of the error conditions are:
++ Not Found ++
command line wild card file specification
name list is empty, or disk is empty.
-or-
delete, rename, copy source files not found.
(most likely due to a diskette change)
++ Name Already Exists ++
attempt to rename a file to a name already present
on the disk.
++ File Cannot Be Opened ++
output file for view, list, or punch, cannot be
opened for reading. Most probable cause is due to
a disk change.
++ Source File Cannot Be Opened ++
source file on a copy operation cannot be found on
the disk. Most likely casued by a disk change.
++ Cannot Select Same Disk as Source ++
the copy to destination disk selected by the operator
must be different than the source disk.
++ Destination Directory Full ++
The destination file on a copy operation cannot be opened
because the destination disk directory is full.
++ No Memory Available For Copy Buffer ++
Caused when size of in memory list is so large that an
attempted copy operation can find no buffer space.
++ Disk or Directory Full on Write ++
Caused when a copy operation attempts to place a file
on a destination disk that does not have enough room
for the file, or not enough room to contain all the
directory extent entries for the destination file.
++ Destination Close Error ++
Destination file on a copy operation cannot be closed
most likely due to a full directory.
Looking at WASH in Action
-------------------------
The following text is an example session with WASH at the console.
This dislay was made possible through use of Kelly Smith's new console
i/o capture program I/O-CAP.COM. The intepretation of the action below
should be self evident via the descriptions in the above sections.
The text "<== xxxxxxxxxxxx" indicates text typed in for documentation
purposes and not by the WASH program.
A>WASH<cr> <== start up wash for *.* on A:
MICRO RESOURCES DIRECTORY "WASH UTILITY" Ver 1.0
Command Function
------- ----------------------------
V View file at Console
L Print file to List Device
P Send file to Punch Device
C Copy file to another Disk
R Rename file
D Delete file
X Exit to CP/M
B Backup one file in List
S Restart on another Drive
sp or cr Forward to next file in List
A: / .COM : <== space bar to go forward
A: ADIR .COM :
A: ASM .COM :
A: CONCAP .COM : B <== B to backup
< A: ASM .COM : B
< A: ADIR .COM : B
< A: / .COM : B
Beginning of List <== Backup past top of list
< A: XSUB .COM : B
< A: WORDMAS .COM : B
< A: WM .HLP : B
< A: WASH .HEX : B
< A: WASH .DOC : B
< A: WASH .COM : B
< A: WASH .BAK : B
< A: WASH .ASM : B
< A: USQ .COM : B
< A: TYPESQ14.DQC : B
< A: TSQ .COM : B
< A: SYSGEN .COM : <== forward again
A: TSQ .COM : C Destination Drive ? B <== Copy two files to B:
A: TYPESQ14.DQC : C Destination Drive ? B
A: USQ .COM :
A: WASH .ASM :
A: WASH .BAK :
A: WASH .COM :
A: WASH .DOC :
A: WASH .HEX :
A: WM .HLP :
A: WORDMAS .COM : B
< A: WM .HLP : B
< A: WASH .HEX : B
< A: WASH .DOC : B
< A: WASH .COM : B
< A: WASH .BAK : D Deleted <== delete an old file
A: WASH .COM : <== I didn't want
A: WASH .DOC : S New Drive ? B <== Start over on new drive
<== WASH signs on again for
Drive B:
MICRO RESOURCES DIRECTORY "WASH UTILITY" Ver 1.0
Command Function
------- ----------------------------
V View file at Console
L Print file to List Device
P Send file to Punch Device
C Copy file to another Disk
R Rename file
D Delete file
X Exit to CP/M
B Backup one file in List
S Restart on another Drive
sp or cr Forward to next file in List
B: / .COM :
B: TSQ .COM : B
< B: / .COM : D Deleted <== delete a file on B:
B: TSQ .COM :
B: TYPESQ14.DQC :
B: WASH .ASM :
B: WASH .BAK : D Deleted <== and another
B: WASH .COM :
B: WASHTEST.DOC :
B: WM .HLP : B
< B: WASHTEST.DOC : V <== View a text file at crt
JUST A SHORT MESSAGE TO DEMONSTRATE THE PHYSICAL
I/O CAPABILITIES OF "WASH" OF DOCMENTATION.
B: WM .HLP : B
< B: WASHTEST.DOC : P <== Send text file to my TI-820
B: WM .HLP : B on the PUNCH port of CP/M
< B: WASHTEST.DOC : L <== Send text file to printer on
B: WM .HLP : the LIST port of CP/M
B: WORDMAS .COM :
B: Z2 . :
B: Z3 . :
B: Z4 . :
End of List <== forward scroll of list
past end of list
B: TSQ .COM : <== to first one again
B: TYPESQ14.DQC :
B: WASH .ASM :
B: WASH .COM :
B: WASHTEST.DOC :
B: WM .HLP :
B: WORDMAS .COM :
B: Z2 . :
B: Z3 . : B
< B: Z2 . : C Destination Drive ? A <== copy to A:
B: Z3 . :X <== exit back to logged drive
A>
+++ End of Documentation File