Normalmente, sería tentador llamar a esto demasiado amplio ya que no ha especificado los detalles del procesador o del bus, pero supongamos que ya ha descubierto una manera de conectar el 8255 y que las señales son generadas por ese circuito disponible para su reutilización.
Básicamente, puede usar A1 y A0 para controlar su multiplexor, y la combinación de / CS y / RD (lógica O suponiendo una entrada baja activa) para habilitar un búfer de estado como 74xx244 para impulsar la salida del mux a su autobús. No necesitaría escribir en ningún registro, solo lea de una de las cuatro direcciones donde / CS está habilitado y A1: A0 selecciona el banco de interés.
Alternativamente, puedes usar un IC decodificador 1-de-n para decodificar las líneas de dirección y seleccionar un búfer de estados tripulados distinto para cada banco de entradas, aunque eso significa agregar la capacitancia de cuatro chips al bus de datos en lugar de solo uno . El uso de algo como un 74xx138 también podría incluir algunos de los descodificadores de la dirección base.
Puede que encuentre interesante la implementación del puerto de impresora paralelo en la PC de IBM - no usó un 8255 sino algo como esto, aunque había un 8255 en otras partes del sistema.
Las matrices lógicas PAL / GAL iniciales pueden ser una forma flexible de implementar la decodificación de direcciones, mientras que los CPLD posteriores o incluso los FPGA de la era 5v pueden hacer todo el trabajo.