• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

How fast does the IWM/SWIM communicate on the bus?

tashtari

PIC Whisperer
So without going into too much detail, I have a slightly mad idea involving bitbanging the Mac floppy interface from a PIC, and I kind of want to know how mad it is.

By way of background, the Mac uses the "phase" lines on the IWM/SWIM chip (originally intended for controlling the drive head's stepper) along with the head select line to demultiplex up to 16 one-bit signals, the floppy drive returning the value of the signal on the read line (its sole line of communication to the Mac).

What I'm wondering is, how fast does the drive have to respond to the Mac changing the select lines in order that the Mac reads back the signal it wants? Is there a limit to how fast the IWM/SWIM chip can be accessed on the bus that might provide a clue?

Such is the complexity of the floppy drive interface that talking to it with programmable logic is possible but cumbersome - if it's tolerant enough of slow communication, the programmable logic might be replaceable with a sufficiently fast and sufficiently cleverly-programmed microcontroller...

Paging @bigmessowires - this might be relevant to your interests - but I'd be happy to hear from any of the many people with better knowledge of Mac innards than I. Anyone? Bueller?
 

tashtari

PIC Whisperer
I know it doesn't require an instantaneous response because early versions of TashTwenty (using the PIC16F1825 rather than the PIC16F1704) bitbanged the drive interface, but they were doing the relatively simpler job of bitbanging it for DCD rather than for a floppy... I seek to know how far I can push that envelope.
 

trag

Well-known member
Did you see the work where the HD20 (floppy interface) was analyzed and I can't remember the result -- some kind of peripheral was created? Or is that the BMOW reference. Too many years...
 
Top