Description
IDE8255 is the simplest IDE multiplexer (8bit to 16bit) that everyone can build. And its also the fastest, the data transfer rate is 173 KB/second.
It consists of port decoder, a 8255 PPI chip, 74LS139 chip as control gate and some diodes, resistors and capacitors. The most important is, that the 8255 can work in MODE 1 while reading.
MODE 1 automaticly generates read signal for IDE device only by reading PA and PB of 8255, so only one IN per byte is needed. However, writing needs two OUTs per byte.
The IDE8255 for CPC is based on universal YAMOD.IDE8255. For the CPC other port addresses were selected.
The IDE8255 borad is intended to be internal upgrade for CPC6128, placed between keyboard and 3" drive. It also can be used as external one, as has 50pin slot for flat cable.
Support
The IDE8255 is supported by FutureOS.
I/O Ports
Each of the I/O ports is (intentionally) mirrored to four addresses:
F8E6h,FAE6h,FCE6h,FEE6h PIO 8255 Port A (8bit data) ;\together F9E6h,FBE6h,FDE6h,FFE6h PIO 8255 Port B (8bit data) ;/16bit F8E7h,FAE7h,FCE7h,FEE7h PIO 8255 Port C F9E7h,FBE7h,FDE7h,FFE7h PIO 8255 RS
The distance between the Port A / Port B address mirrors is 100h bytes. This allows to read 8 bytes (aka four 16bit words) at very fast speed, by using a sequence of INI opcodes (which read from I/O port address BC, and decrement B).