The Intel 8255 is a general purpose programmable Input/Output
device which is designed for use with all Intel and most other
microprocessors. It provides 24 Input/Output pins which may be
individually programmed in 2 groups of 12 and used in 3 major modes
of operation.
In MODE 0, each group of 12 I/O pins may be programmed in sets
of 4 and 8 to be inputs or outputs. In MODE 1, each group may be
programmed to have 8 lines of input or output. 3 of the remaining 4
pins are used for handshaking and interrupt control signals. MODE 2
is a strobed bi-directional bus configuration.
The 8255 is a 40 pin integrated circuit (IC), designed to
perform a variety of interface functions in a computer environment.
The 8255 wasn't originally designed to be connected to the Z80. It
was manufactured by Intel for the 8080 microprocessor.