Conexión de un teclado a una PC antigua
No estamos seguros de si existe alguna característica que califique a alguien como hacker. Después de todo, somos un grupo bastante ecléctico, con habilidades que varían por todo el mapa, y lo que una persona siente es trivial, otros lo considerarían magia negra. Pero hay una cosa de la que estamos seguros: si te encuentras leyendo el código POST original de la placa base PC-XT sólo para hacer funcionar un teclado, eres prácticamente nuestro tipo de personas.
Esa fue la posición [Anders Nielsen] se encontró a medida que avanzaba el trabajo en su proyecto “PC-XT from Scratch”, que busca construir un IBM Modelo 5160 antiguo de mediados de los 80 que funcione utilizando tantas piezas correctas como sea posible. La primera entrega de la serie presentó el delicado proceso de levantar la placa base para evitar que se liberara el humo mágico. Después de ver algo de vida en la placa anterior, [Anders] necesitaba un poco de IO, específicamente video y teclado. El lado del video de la ecuación era relativamente trivial, con una tarjeta VGA de eBay de principios de los 90, no exactamente correcta en la época, pero lo suficientemente buena como para mostrar algo.
El teclado era un asunto completamente diferente. No es demasiado complicado encontrar un teclado que se comunique con un PC-AT, pero el PC-XT tenía un protocolo completamente diferente, sin mencionar ese grueso conector DIN de 5 pines. Como ocurre con muchas cosas, la solución implicó construir un adaptador a partir de un Arduino, pero el proceso no fue exactamente de baja fricción. Primero, estaba la cuestión de lidiar con las salidas de colector abierto en el teclado, lo que requería cambios de código. Luego, [Anders] abrió 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. Eso terminó siendo una señal de que el teclado estaba atascado en un modo de prueba de fabricación, según una lectura del código fuente de autoprueba de encendido (POST). Un pequeño ajuste del código Arduino hizo que todo funcionara.
Tenemos que decir que nos encanta esta inmersión profunda en los aspectos internos de una parte de la historia de la informática. [Anders] adelantó el siguiente paso, que utilizará un zócalo ROM vacío en una tarjeta de red antigua para cargar algún código ensamblador en el XT. Estamos muy ansiosos por ese logro.