Short: Iomega JAZ tools Author: thor@math.tu-berlin.de (Thomas Richter) Uploader: thor math tu-berlin de (Thomas Richter) Type: util/cli Version: 0.20 Requires: Os 2.04, A jaz drive (guess what...) Architecture: m68k-amigaos 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