![]() |
![]() |
![]() |
![]() |
||
IDE interface for Z80/Z180
Here is the complete description of an IDE interface board designed for my generic Z80180 CPU board. It is a very simple interface, mainly concerned with conversion from the Z80 8-bit data bus to the IDE 16-bit data bus. The interface supports standard PC (IDE) hard drives and it should also work with IDE CDROM drives. Because IDE drives takes care of sector buffering internally I have not included support for IDE interrupts or DMA transfers. Polling of the IDE status register and PIO (Programmed I/O) data transfers should be enough for a Z80 system. The IDE interface board has no jumpers to configure, address decoding is defined by the PAL-circuit. Please read the PAL source code (ide.pds in pcb.zip file) for detailed information about the address decoding. A disk activity LED is included on the board. Click here to view the circuit schematic. I have assembled and tested one IDE interface board and I'm currently working on the driver software to support reading/writing on a hard drive under my OS-X 2.0 RTOS. An assembled IDE interface board is shown below.
Download pcb.zip which contains the schematic and PCB layout files in Adobe Acrobat (.pdf) format. It also contains PALASM source and JEDEC file for the AMD PALCE16V8Q-15 decoder chip used. Download driver.zip which contains source code for my experimental driver and test program. The program runs on OS-X 2.0 on my Z180 computer. Please note that this is NOT the final driver program. There are a number of optimizations left to implement. It should be regarded as an example of how to use my IDE interface. View the ATA-2 specification
working draft here. Last updated: June 26 2002 |
|||||