[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Parallel Zip Drive, One More Time



Every so often around here they question "Can I use a parallel zip drive 
with an Apple II?" seems to come up. And why shouldn't it? Zip drives can be 
had for a song nowadays and most Apple II users have a parallel card. It 
seems to me that this would be a cheap and easy way to sneakernet files to 
and from a modern PC and could even be used as a mass storage device.

The most commonly given reason why you can't use a parallel zip drive is 
that the zip drive requires a bi-directional parallel port. This is simply 
not true. The zip drive will happily work with the IBM PCjr's parallel 
sidecar and any other unidirectional IBM-style standard parallel port. This 
was intriguing enough for me to go ahead and start working on a way to 
interface a parallel zip drive using Grappler+ parallel card.

The IBM SPP has additional sense lines not found on any Apple parallel card. 
This didn't seem to be a problem, as I could use the pushbutton inputs on 
the gameport as the additional signal lines. This is how they solved this 
problem on the Amiga, as well. After all, a parallel zip is nothing more 
than a SCSI zip drive with a built-in SCSI-to-Parallel converter. You talk 
SCSI to it through the parallel port.

Assuming the zip drive operates in "nibble mode," where the signal lines are 
read as a nibble back from the device, I started analyzing the opensource 
linux driver for the parallel zip. It quickly became apparent that the zip 
drive does not operate in nibble mode. Instead, the drive makes use of the 
control lines to send data back. The control lines correspond to pins 1, 14, 
16, and 17 of the SPP. These lines are bidirectional, either the PC or the 
device may assert them. Obviously, these pins cannot use the same TTL 
signals as the others. The PC pulling the line high while the device tries 
to pull it low isn't a good situation. These lines are, instead, "open 
collector" outputs where the two logic values are 0V and high Z. I don't 
know how I can duplicate this functionality using hardware commonly found on 
an Apple II. There probably is a way, but you might as well just build a 
parallel card. Building things is what I wanted to avoid, as PCB etching is 
expensive and there are already better solutions out there for the 
functionality that this would provide.

But then how do they do it on the Amiga? The answer is that the Amiga has a 
bi-directional parallel port. The eight data lines can be used to send a 
byte back, so the zip drive can operate as if it's talking to an EPP/ECP 
parallel port.

So there you have it, ladies and gentlemen. No use hanging on to those 
parallel zip drives, dopesn't look like the Apple II can make much use of 
them.

-Greg