Support for the IMM (Iomega Match Maker) protocol added to allow newer
Rob Thornburrow authored
  Zip drives to work.
Detail:
  - Now supports the IMM protocol, as used by the latest Iomega drives
    (Zip Plus, 250 etc.).  PPADriver has enough intelligence to swap
    protocols between PPA/IMM depending on the drive currently connected.
  - SWI PPADriver_Reset has been added to PPADriver.  This SWI sends a
    reset pulse to the Zip drive, returning it to a known state.  The SWI
    makes no judgement to which protocol is in use (in case the drive is
    in such a state that the protocol can not be deduced) so both
    protocols are used - PPA followed by IMM.
  - The service call Service_PreReset is now caught and the SWI
    PPADriver_Reset is called.  The same SWI is also called in the module
    initialisation.  These should help reduce disc trashing.
  - If a non-PPA or non-IMM drive (or no drive at all) is connected, the
    module realises that it cannot communicate and therefore does not
    attempt to communicate.  This reduces the time taken by all PPADriver
    SWI calls that access the Zip drive (with exception to the Initialise
    and Reset SWIs) as they no longer have to wait for a timeout.  The
    driver does, however, realise when a supported drive is connected.
Admin:
  - Only development testing has taken place.  Further testing would be
    a good idea if someone has the time.
  - It is a good idea when swapping between PPA and IMM drives on the
    fly to call *izipeject before performing the drive swap.  This should
    help prevent IZipFS from getting confused (any more than it already
    is), and as a bounus, you'll also get your disc back :-)
  - The swiching code could be made more efficient but in its current
    state it'll not be that slow.
  - I haven't tested PPADriver with a printer attached instead of a Zip
    drive so I don't know what will happen.
  This version of PPADriver will require version 1.00 1.2.2.3 of IZipFS
  in order to read/write to newer drives.

Version 1.00, 1.2.2.4. Tagged as 'PPADriverJ-1_00-1_2_2_4'
b034a806