home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 4
/
FreshFish_May-June1994.bin
/
new
/
amigalibdisks
/
d1000
/
btntape
/
doc
/
tapemon.doc
< prev
next >
Wrap
Text File
|
1994-04-03
|
4KB
|
94 lines
**** TapeMon: a monitor program for BTNtape handler ****
**** Version 3.0 3/14/94 ****
**** Freeware by Bob Rethemeyer (drBob@cup.portal.com) ****
**** (c) Copyright 1990,1994 Robert Rethemeyer ****
TapeMon is an optional companion program to the BTNtape SCSI
tape handler. Since the handler cannot directly inform you of what
it is doing, TapeMon, running in a separate CLI, communicates with
the handler and prints information for you. Think of it as a window
into the handler.
To run TapeMon, bring up a separate CLI window. Enter "TapeMon" or
"TapeMon [name]", where [name] is the name of the handler device process.
If you do not enter the name, the monitor will default to using "TAPE:".
TapeMon may be started either before or after the handler. If TapeMon
starts first, it will say "Waiting for TAPE: to start". But if the
handler is already running, it will immediately print handler information.
Note that unless you use "Mount = 1" in your mountlist entry, the handler
does not start running until the first access.
Once the handler is loaded and running, you may invoke or terminate
the monitor at any time, but only one TapeMon per handler device.
To terminate the monitor, enter control-C from the TapeMon CLI window,
or send a BREAK command from another CLI.
If the handler encounters a tape error, it remembers the data returned
by SENSE. When TapeMon is started, it prints the retained sense data.
So if you weren't running TapeMon at the time an error occurs, you can
still see the sense data by starting TapeMon after the fact.
TapeMon accepts a second command line argument as a flag to print all
the sense information when a sense occurs. The value of the second
argument is ignored, but if it is present, complete sense is printed.
Example: TAPEMON TAPE: ALL
The presense of the ALL will cause the sense message to also print
32 bytes of hex sense information as it is returned from the drive.
TapeMon output is to stdout, so you may redirect it if you like.
Example: TAPEMON >filename
MESSAGES
See the file "message.doc" for messages originating from the handler.
The following summarizes the messages from the monitor:
MESSAGE MEANS...
Waiting for ? to mount. the handler hasn't been mounted yet, or it hasn't
started yet (when Mount=0), or you used wrong name.
Enter control-C if you don't want to wait.
Port refused connection. only one copy of TapeMon can talk to a BTN device
TapeMon already running? at once. The first one blocks subsequent ones.
Unable to create port. system problem (should be rare)
?.device Unit-? LU-? shows information derived from mountlist
Drive: ............ shows the manufacturer, model, and ROM version
of the drive. This is the data returned by the
drive with the SCSI INQUIRY command.
Sequential Access One of the first two messages is printed to show
Direct Access which type of drive you have. The third message
BAD LOGICAL UNIT NUMBER is printed if you use the wrong L-U number.
Last sense= ?????, yy,zz retained sense data printed at TapeMon startup.
(If you weren't running TapeMon at the time of
an error, you can bring it up and see what
the cause of the error was from this message.)
ERROR(S) IN STARTUP printed when the handler detects an unrecognized
parameter in the mountlist Startup statement.
TapeMon terminated monitor has successfully disconnected from handler
after control-C.
HOW IT WORKS
BTN creates a message port named "BTN_XXXX", where XXXX is the device name.
TapeMon searches for this port and establishes a software connection
to it via messages. The monitor then waits for messages from the handler.
TapeMon creates a port named "TMON_XXXX". If TapeMon starts before the
handler, it waits; BTN will send it a message when it starts up.
The handler sends the monitor a message when it needs to print a line. The
monitor prints the line asynchronously so the handler doesn't need to wait.
A break signal causes the monitor to disconnect itself from the handler
and terminate, while the handler keeps running.