
SWIs provided by the ZipTools module:

The SWI Base is 0x46C0. It was arbitrarily chosen, so may clash with other
modules. The SWIs are listed below, in order.

Zip_ID     Set the current ZIP SCSI ID, and return the old value.
			 On Entry:
			   R0 = SCSI ID of Zip drive.
			 On Exit:
			   R0 = Old ID of Zip drive.
			   All other registers preserved.

Zip_Eject  Eject the current disk.
			 On Entry:
				   No entry requirements.
			 On Exit:
				   R0 corrupted.
				   All other registers preserved.

Zip_Status Get the current protection status.
			 On Entry:
			   No entry requirements.
			 On Exit:
			   R0 = protection status, as returned from the drive. See below.
			   All other registers preserved.

Zip_Unlock Temporarily remove protections.
			 On Entry:
			   R0 = Address of password in memory, if used.
			   R1 = Length of password, or 0 if no password is to be used.
			 On Exit:
			   R0 corrupted.
			   All other registers preserved.

Zip_WProt  Set write protection.
			 On Entry:
			   R0 = Address of password in memory, if used.
			   R1 = Length of password, or 0 if no password is to be used.
			 On Exit:
			   R0 corrupted.
			   All other registers preserved.

Zip_Unprot Remove protection.
			 On Entry:
			   R0 = Address of password in memory, if used.
			   R1 = Length of password, or 0 if no password is to be used.
			 On Exit:
			   R0 corrupted.
			   All other registers preserved.

Zip_Prot   Password protect a disk.
			 On Entry:
			   R0 = Address of password in memory.
			   R1 = Length of password.
			 On Exit:
			   R0 corrupted.
			   All other registers preserved.


I don't have a technical specification for the Iomega vendor specific SCSI
commands; all my coding is based on Unix source code. The following values
can be returned by Zip_Status for disks which have been protected on RISC
OS. It's possible that newer devices and/or Jaz drives may implement more
3-bit protection codes. My Zip drive returns target errors for all codes
except thos listed below:

Base 10  Binary  Meaning
      0     000  The disk is not protected.
      2     010  The disk is write protected, no password.
      3     011  The disk is password write protected.
      5     101  The disk is password protected for both reading and writing.

