This project is an extension of my previous proof of concept "AII-SPI-DSK" which used a slightly modified SPI serial stream from a FTDI UM232H to communicate with an Apple Disk II controller card. In my previous version, a host computer was necessary. This project is a stand-alone version.
The basic concept is that the SPI clock runs the 74LS193 counter which sequentially activates a line on the 74LS251 mux. Each line from the Apple Disk Controller card is multiplexed into a byte with bits representing: PHASE0-3 which select the appropriate disk track; WRITE_REQ which indicates a request to write from the computer; ENABLE1-2 indicating which drive should be enabled; and WRITE_SIG which is the data being written to the disk. This data is transferred over the MISO SPI line to the micro-controller.
The micro-controller sends disk data over the MOSI SPI line. This data only needs to be modified slightly to create the READ_PULSE required by the Apple Disk Controller card. Previously, I used an AND gate to AND the MOSI data with the SPI clock to make a READ_PULSE.
The benefit of using the native SPI port is to avoid processor intensive bit-banging which is used by other Apple Disk Emulators.