Conectar un teclado a una PC-XT antigua, de la manera más difícil

No estamos seguros de si hay alguna característica que califique a alguien como hacker. Después de todo, somos un grupo bastante ecléctico, con habilidades que recorren todo el mapa, y lo que una persona considera trivial, otra consideraría magia negra. Pero hay una cosa de la que estamos seguros: si se encuentra leyendo el código POST nativo para una placa base PC-XT solo para que el teclado funcione, es más o menos nuestro tipo de persona.

esa era la posicion [Anders Nielsen] encontró trabajo progresando en su proyecto “PC-XT desde cero”, que busca construir un IBM Modelo 5160 vintage de mediados de los 80 que funcione utilizando tantas piezas apropiadas para el período como sea posible. La primera entrega de la serie supuso un delicado proceso de levantamiento de la placa base, para no soltar el humo mágico. Después de ver algo de vida en el viejo tablero, [Anders] necesitaba algo de IO, específicamente video y teclado. El lado del video de la ecuación era relativamente trivial, con una tarjeta VGA de principios de los 90 de eBay, no exactamente correcta en el período, pero lo suficientemente buena como para mostrar algo.

El teclado era un asunto completamente diferente. No es demasiado difícil encontrar un teclado que se comunique con la PC-AT, pero la PC-XT tenía un protocolo completamente diferente, sin mencionar ese conector DIN grueso de 5 pines. Como ocurre con muchas cosas, la solución implicó hacer un adaptador a partir de un Arduino, pero el proceso no fue precisamente de baja fricción. Primero, estaba el problema de manejar la salida del colector abierto en el teclado, lo que requería cambios en el código. Siguiente, [Anders] Saqué el osciloscopio para comprobar las formas de onda y encontré una extraña onda cuadrada de 9 Hz encima de la señal del reloj del teclado. Esto terminó siendo una señal de que el teclado estaba atascado en el modo de prueba de producción, de acuerdo con la lectura del código fuente de la autoprueba de encendido (POST). Una pequeña modificación al código Arduino hizo que todo funcionara.

Tenemos que decir que nos encanta esta inmersión profunda en una parte de la historia de la informática. [Anders] se burló del siguiente paso, que utilizará un zócalo de ROM vacío en la tarjeta de red anterior para cargar algún código de circuito en el XT. Tenemos muchas ganas de esta hazaña.

Leave a Reply

Your email address will not be published. Required fields are marked *