• Hello MLAers! We've re-enabled auto-approval for accounts. If you are still waiting on account approval, please check this thread for more information.

IBM 1.44M <-> Mac 400k/800k/1.44M or SCSI Hack?

Here is the design manual for the NCR 5380 SCSI chip used in the Mac Plus. The manual perfectly summarizes the problem on page 18:

Code:
The NCR 5380 is easy to use because of its simple
architecture. The chip allows direct control and
monitoring of the SCSI bus by providing a latch for
each signal. However, portions of the protocol define
timings which are much too quick for traditional mic-
roprocessors to control. Therefore, hardware support
has been provided for DMA transfers, bus arbitration,
phase change monitoring, bus disconnection, bus
reset, parity generation, parity checking, and device
selection/ reselection.
In other words, the issue is that the SCSI bus itself isn't easily amenable to software-driven "bit-banging": it's timing-critical and some of the signal durations are really short, which means a proper SCSI MAC uses scads of latches to make it "friendly" for the microprocessor side. (If you did that with discrete logic instead of a controller chip you're looking at a fair-sized handful of parts.) Ironically newer technologies like SD card (and even IDE) let you be really sloppy by comparison. It's a serious engineering effort to do SCSI *without* using a SCSI chip. And if you DO use a SCSI chip you have to factor the cost and rarity of that into the equation, making it really hard to undercut the cost of commercial solutions that already exist. (They do, they're around a hundred bucks... how much cheaper do you want it?)

 
a proper SCSI MAC
Just realized that by using "MAC" in this forum I might have sowed confusion. I'm using it in the networking context:

http://en.wikipedia.org/wiki/Media_access_control

IE, "The layer that turns raw electrical signals into a buffered stream of protocol commands and data".

Ironically IDE (and SD, and USB flash) all use very similar-to-SCSI commands for data handling. It's interesting to compare the commands in the 5380 manual to IDE/Compact Flash documentation, and in fact also compare the microprocessor-facing hardware interfaces of the two devices. Seriously, if it wasn't for the sticking point of having to rewrite the driver it would probably be way simpler to design a hardware wedge that substitutes a Compactflash card directly for the 5380 in a Mac Plus than it is to have to pick it up on the SCSI side.

 
Regarding 800K floppies: Someone up-thread mentioned that the spindle speed varies, amongst other things, on the Macintosh floppy drive. This is exactly correct and one of the major issues in converting from PC floppy mechanism to Mac floppy mechanism. The PC floppy mechanism has no provision for varying the spindle speed.

Outbound (anyone remember them) did it. They used Citizen brand PC laptop floppy drives in their laptop Macintosh clones. There's a circuit board between the Mac clone and the floppy mechanism though. On the circuit board there is a 37C765 floppy controller, a WD92C32 data separator, a little digital potentiometer, XP9103, an EEPROM and a 20 pin PLD. The external floppy version also has an 85C30 on board, suggesting that the Outbound's external comm bus is some flavor of serial ocmmunication -- maybe. Or it could be a bit of a copy of the HD20's hardware structure.

That same port could accept Outbound's SCSI adapter instead of the external floppy. The SCSI adapter also has an 85C30 on board as the most upstream device. It's simpler than the floppy control board though. It only has an 53C80, an EEPROM and another 20 pin PLD on board -- oh and a couple or dozen transistors.

 
Outbound (anyone remember them) did it.
It would be interesting to know how Outbound's solution worked with the IWM driver in the Mac ROMs. (Outbounds used ROMs pulled from genuine Macs, didn't they?) Did the circuit board emulate the IWM, did they patch the software somehow, or what?

It's interesting to contrast Apple's Macintosh drives with Commodore GCR drives; both systems cram a variable amount of data onto different tracks on the floppy disk. The difference is that Apple did it by varying the spindle speed, while Commodores do it by changing the data rate. There is another thread on this board where someone says that essentially the Outbound uses the magic on that board to allow a fixed-speed floppy drive to read and write Mac floppies the Commodore way, and that makes perfect sense.

(Again, I'm just sort of curious if it was software-transparent or involved a patch. They must have already been patching the Mac ROM to use the larger 640x400 screen...)

Apple's floppy drives are really stupidly overly-engineered. Commodore's variable-rate floppy drives predated the Mac by over five years, and it's a better solution; the variable-spindle speed thing was invented for the Twiggy and it's the major reason that device failed. It takes several rotations to change the spindle speed and get it stable (there's this thing called "inertia"), and the problems get worse the physically larger the device. Apple is lucky the Sony mechanism worked as well as it did once they were done with it.

 
Back
Top