http://en.wikipedia.org/wiki/Intel_8255
A parallel link between a PC and a microprocessor using a PIO (8255 chip) in mode 2. It's essentially a 8-bit bidirectional port with 4 additional lines dedicated to hardware handshaking.
It uses the parallel port in compatibility mode so no negotiation is needed. The parallel port must be able to do bidirectional transfer. Some very old PCs (XT) may not support this. Most PC's (286,386 or higher) parallel port should be bidirectional (SPP).
I use this interface on my hardware projects. Here is the pinout:
8255 |
Parallel |
Pin |
Bit |
PC7 |
/OBF ->/ACK |
10 |
6 |
PC6 |
/ACK <-/SLCTIN |
17 |
3 |
PC5 |
IBF -> BUSY |
11 |
7 |
PC4 |
/STB <- /STB |
1 |
0 |
PA[0..7] |
D[0..7] |
[2..9] |
- |
The PC is connected to the peripheral end of the 8255, while the CPU side is a Z80. The test file 'test-8255.txt' contains strings for talking to the Z80's BIOS.
This interface works somewhat on Windows natively but the timings seems to be critical. Otherwise, it works well on all the other supported platforms.
I made a test platform with an mbed development board which can test the SPI and the 8255 interface when it's plugged in the parallel port. Both