Es discutible si esto se trata incluso de un tema aquí, vs decir retrocomputing.
Dicho esto, la mayoría de los registros de puertos paralelos de PC están estandarizados, y lo que difiere es la dirección base. Así, por ejemplo, su primer puerto típico en la dirección base 0x378 tiene su registro de datos en la base + 0, su estado en la base + 1, etc.
El mismo patrón sería válido para otras direcciones base. Desde la memoria, los más comunes fueron 0x378, 0x3bc y 0x278; sin embargo, no hay nada que impida que alguien construya un puerto con un decodificador de direcciones que lo coloque en cualquier otra dirección que no esté en conflicto con otra cosa en ese sistema en particular, siempre que puedan construye el hardware y convence al software para que lo use.
Vale la pena señalar que el patrón de tener múltiples periféricos similares con la misma (o casi) estructura de registro que se repite desde diferentes direcciones base también es muy común en los microcontroladores modernos (con la ligera diferencia de que están mapeados en memoria, en lugar de en el espacio de direcciones de E / S especial, el 8086 se hereda de procesadores Intel anteriores).