Tashtari
PIC Whisperer
Somebody stop me.
Introducing... TashTwenty!
Elevator Pitch
It's a DCD (the interface used by the Hard Disk 20 to plug in through the disk port) interface, contained entirely within a PIC16F1825 (14 pins, ~$1.70) microcontroller. It bit-bangs the low-level IWM protocol using the read/write and phase lines on the "DB"-19 disk port, no programmable logic devices of any kind required.
(Despite the name, there is nothing limiting it to 20 megabytes.)
Project Status
Nascent. Low-level protocol implemented and apparently working with a rudimentary implementation of the higher-level command/response protocol.
Caveats
Much more testing is necessary before the implementation can be considered reliable, especially of the interrupt/holdoff flow. Also, crucially, it is not yet determined what the chip will interface to and how.
What's Next
Answering the question of what to interface to, by necessity. The PIC has just enough RAM to hold a single transfer buffer in either direction, and its own flash (that which is not already used by the firmware) amounts to about 4 kilobytes, so anything self-contained for testing is pretty much out. Fortunately, there are four pins free on the microcontroller, so the possibilities are numerous. The obvious one is interfacing to a flash memory card, for to make something like the SCSI2SD... could be interesting. There's also the possibility of a UART or SPI or I2C interface to a Raspberry Pi host that reads and writes a locally hosted image file. Combining this with my other projects could pack a lot of neat functionality into a single RPi, but it might not be sufficiently self-contained to be appealing as a product. In either case, I have to deal with the fact that the mac is 5V logic and both the RPi and SD cards are 3.3V...
The Eureka Moment
Introducing... TashTwenty!
Elevator Pitch
It's a DCD (the interface used by the Hard Disk 20 to plug in through the disk port) interface, contained entirely within a PIC16F1825 (14 pins, ~$1.70) microcontroller. It bit-bangs the low-level IWM protocol using the read/write and phase lines on the "DB"-19 disk port, no programmable logic devices of any kind required.
(Despite the name, there is nothing limiting it to 20 megabytes.)
Project Status
Nascent. Low-level protocol implemented and apparently working with a rudimentary implementation of the higher-level command/response protocol.
Caveats
Much more testing is necessary before the implementation can be considered reliable, especially of the interrupt/holdoff flow. Also, crucially, it is not yet determined what the chip will interface to and how.
What's Next
Answering the question of what to interface to, by necessity. The PIC has just enough RAM to hold a single transfer buffer in either direction, and its own flash (that which is not already used by the firmware) amounts to about 4 kilobytes, so anything self-contained for testing is pretty much out. Fortunately, there are four pins free on the microcontroller, so the possibilities are numerous. The obvious one is interfacing to a flash memory card, for to make something like the SCSI2SD... could be interesting. There's also the possibility of a UART or SPI or I2C interface to a Raspberry Pi host that reads and writes a locally hosted image file. Combining this with my other projects could pack a lot of neat functionality into a single RPi, but it might not be sufficiently self-contained to be appealing as a product. In either case, I have to deal with the fact that the mac is 5V logic and both the RPi and SD cards are 3.3V...
The Eureka Moment