This program provides functions available thru the Iomega "JazTools" on
Mac and PC, like setting the spindown delay, ejection of cartridges and
more. Unlike the ZJTools, this program really works within its
specifications... (-:
_____________________________________________________________________________
This is a beta release. Actually, everything works as it should, and every-
thing has been tested, but the program is still somewhat incomplete. Since
I do not own a JAZ drive, I need your help!
What's to be done: Options to format a drive, and to test it, like
in the "real" tools.
_____________________________________________________________________________
Announcement: JAZ drivers for the Amiga.
If there is enough interest, I will write a more complete JAZTools program
than this, including a disk driver, a small JAZ-optimized disk cache, im-
plementing JAZ specific functions more JAZ-compliant than this product.
More specifically, the "write verify" will be implemented correctly, the
spindown timer will work correctly, and you'll see a graphical user inter-
face for a collection of JAZ tools. The problem with this stand-alone tool
is, that due to how the JAZ works, not all functions are really available.
The SCSI interface is a bit different than that for usual devices.
The price for the product would range from $20 to $30.
If you're interested in such a tool and would buy it, please let me know.
If there is enough interest, I'll start the work. PLEASE DO NOT YET send
money.
_____________________________________________________________________________
Synopsis:
JazTools HANDLER=DEVICE/A,UNIT/K/N,FLAGS/K/N
SPINDOWN/K/N,PRINTSPINDOWN/S,
DISKID/S,DISKSTATUS/S,DRIVEID/S,PRINTPROTECT/S,
EJECT/S,START/S,
VERIFY/K,SELFTEST/S,PASSWORD/K,
WPROTECT/S,RWPROTECT/S,
UNPROTECT/S,TEMPUNPROTECT/S,
IOEXTEND/K,
EJECTDELAY/K/N,STARTDELAY/K/N,
FLUSHDELAY/K/N,INHIBITDELAY/K/N,
QUIET/S
HANDLER=DEVICE/A: Either the name of the AmigaDos device like JAZ: or
JH0: the Jaz is mounted as, with a colon at the end.
Alternatively, the name of the exec device driver
if the drive is not mounted, like "scsi.device",
"oktagon.device" or "gvpscsi.device".
If you specify the drive by its exec device driver,
you MUST give a unit as well, and the JazTools will
not check whether the device is mounted and available.
UNIT/K/N: If the JAZ was specified by its exec device driver,
this is the SCSI Unit ID of the Jaz.
This information is not required if you specified
the drive by its AmigaDos device name.
FLAGS/K/N: A flags value for opening the exec device driver,
only looked at if the JAZ was specified by its exec
driver name and ignored otherwise. This defaults to
0, and is usually not required at all. Some device
drivers check the SCSI bus again if the flags value
is set to 1 and hence might be able to detect a
JAZ which was powered on later.
SPINDOWN/K/N: Sets the spin-down delay for the specified unit, in
minutes. Valid numbers range from 1 to 60 minutes.
The JAZ calculates the spindown time by counting the
TEST_UNIT_READY commands, expecting one every second.
Unfortunately, the Amiga sends them more often making
a JAZ-minute approximately 50 seconds long.
If the argument is 0, the current spindown setting
is printed.
*This command depends on device driver internals,
the spindown time will not be set 100% correctly,
or might fail to be set at all. A true JAZ device
driver will make this working*
PRINTSPINDOWN/S: Prints the spindown time in minutes.
DISKID/S: Prints unique cartridge ID. I don't know what
this could be used for.
DISKSTATUS/S: Prints the disk life remaining, estimated by the
number of bad blocks the JazTools program finds
on the cartrigde, and the current disk status.
The first number is the amount of permanent bad
blocks, the second number is the amount of bad
blocks that could be recovered by re-formatting
the cartridge.
*This command does not yet use the Iomega specific
commands to read the diskstatus. It might take
approximately 15min to get the information.
I need your help to implement this correctly, see
the introduction*
DRIVEID/S: Prints the INQUIRY information of the drive, like
the vendor and version information.
PRINTPROTECT/S: Prints the protection status of the cartridge.
EJECT/S: Ejects the cartridge. If the drive was specified
by its AmigaDos device name, the JazTools check
whether the device is available to AmigaDos and
fail in case it's not. Hence, if you want to
eject an unmounted cartdrige, specifiy the JAZ by
its exec device name and its SCSI ID.
START/S: Restarts the drive in case it was parked, either
automatic or manually.
VERIFY/K: Takes an argument, either "on" or "off". This
*might* enable the automatic verify, at least
partially.
*This command is not implemented 100% correctly,
it enables a verify bit in the JAZ, but does not
enforce the use of the correct write command.
Therefore, the drive might not verify as expected,
or might even do worse. A true write verify function
can't be implemented without a JAZ specific device
driver, which would adjust the write command sent
to the device according to the verify status.
Moreover, a final edition might implement a software
verify bit which might mean less stress for the
medium*
SELFTEST/S: Only a switch. If specified, the drive runs its
selftest and reports the result on the standard
output.
PASSWORD/K: This option provides a password, required for various
sub-options below.
WPROTECT/S: Write-protect a medium. A password is optional.
If a password is given, the same password is
required to unlock the medium again.
RWPROTECT/S: Lock a medium for reading and writing. The password
is mandatory, i.e. it won't work without.
UNPROTECT/S: Unprotect a medium, remove the read or write
protection. A password may or may not be required,
this depends on whether a password was given when
the volume was locked.
TEMPUNPROTECT/S: Unprotect a medium temporarely, it will get locked
again as soon as it is removed again. Except for
that, this option is identically to UNPROTECT.
IOEXTEND/K: Enables or disables Iomega specific functions of
the drive I've no great idea about. The argument
should be either "on" to enable them or "off" for
disabling them.
*Currently, this shouldn't really make a difference*
EJECTDELAY/K/N: A delay in fifties of a second ("Ticks") before the
JAZ is made available to the filing system again
after ejection, required for the JAZ to settle down.
Defaults to 50, i.e. one second.
STARTDELAY/K/N: Currently not yet used.
FLUSHDELAY/K/N: A delay in fifties of a second to allow the filing
system to swap out its buffers before ejecting the
device. This is an ugly and uneffective workaround
against a bug in the FFS. (ACTION_FLUSH is not
implemented correctly)
Defaults to 150, i.e. 3 seconds.
INHIBITDELAY/K/N: A delay in fifties of a second after locking the
device from the filing system and before allowing
other operations, required for the filing system to
settle down.
Defaults to 100, i.e. 2 seconds.
QUIET/S: Disables printing the copyright message.
_____________________________________________________________________________
Credits:
Thanks to Werner Müller and Georges Heinesch for testing this program and
for providing the necessary information by running a lot of tests.
_____________________________________________________________________________
The THOR-Software Licence (v2, 24th June 1998)
This License applies to the computer programs known as "JazTools". The
"Program", below, refers to such program. The "Archive" refers to the
package of distribution, as prepared by the author of the Program,
Thomas Richter. Each licensee is addressed as "you".
The Program and the data in the archive are freely distributable
under the restrictions stated below, but are also Copyright (c)
Thomas Richter.
Distribution of the Program, the Archive and the data in the Archive by a
commercial organization without written permission from the author to any
third party is prohibited if any payment is made in connection with such
distribution, whether directly (as in payment for a copy of the Program) or
indirectly (as in payment for some service related to the Program, or
payment for some product or service that includes a copy of the Program
"without charge"; these are only examples, and not an exhaustive enumeration
of prohibited activities).
However, the following methods of distribution
involving payment shall not in and of themselves be a violation of this
restriction:
(i) Posting the Program on a public access information storage and
retrieval service for which a fee is received for retrieving information
(such as an on-line service), provided that the fee is not
content-dependent (i.e., the fee would be the same for retrieving the same
volume of information consisting of random data).
(ii) Distributing the Program on a CD-ROM, provided that
a) the Archive is reproduced entirely and verbatim on such CD-ROM, including
especially this licence agreement;
b) the CD-ROM is made available to the public for a nominal fee only,
c) a copy of the CD is made available to the author for free except for
shipment costs, and
d) provided further that all information on such CD-ROM is redistributable
for non-commercial purposes without charge.
Redistribution of a modified version of the Archive, the Program or the
contents of the Archive is prohibited in any way, by any organization,
regardless whether commercial or non-commercial. Everything must be kept
together, in original and unmodified form.
Limitations.
THE PROGRAM IS PROVIDED TO YOU "AS IS", WITHOUT WARRANTY. THERE IS NO
WARRANTY FOR THE PROGRAM, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE ENTIRE
RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD
THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
SERVICING, REPAIR OR CORRECTION.
IF YOU DO NOT ACCEPT THIS LICENCE, YOU MUST DELETE THE PROGRAM, THE ARCHIVE
AND ALL DATA OF THIS ARCHIVE FROM YOUR STORAGE SYSTEM. YOU ACCEPT THIS
LICENCE BY USING OR REDISTRIBUTING THE PROGRAM.
Thomas Richter
_____________________________________________________________________________
Thomas,
September 1999
|