banner
Centro de notícias
Conhecimento impecável na área.

Conectando um teclado a um PC antigo

Jun 03, 2023

Não temos certeza se existe alguma característica que qualifique alguém como hacker. Afinal, somos um grupo bastante eclético, com habilidades que se espalham por todo o mapa, e o que uma pessoa considera trivial, outras considerariam magia negra. Mas há uma coisa da qual temos certeza: se você estiver lendo o código POST original da placa-mãe PC-XT apenas para fazer o teclado funcionar, você é praticamente o nosso tipo de pessoa.

Essa foi a posição em que [Anders Nielsen] se encontrou à medida que o trabalho avança em seu projeto “PC-XT from Scratch”, que busca construir um IBM Modelo 5160 vintage funcional de meados dos anos 80 usando o máximo possível de peças corretas para o período. A primeira parcela da série apresentou o delicado processo de levantar a placa-mãe, para que a fumaça mágica não fosse liberada. Depois de ver um pouco de vida na placa antiga, [Anders] precisava de um pouco de IO, especificamente vídeo e teclado. O lado do vídeo da equação era relativamente trivial, com uma placa VGA do início dos anos 90 do eBay – não exatamente correta, mas boa o suficiente para exibir algo.

O teclado era outra questão completamente diferente. Não é muito difícil encontrar um teclado que se comunique com um PC-AT, mas o PC-XT tinha um protocolo totalmente diferente, sem mencionar aquele robusto conector DIN de 5 pinos. Como acontece com muitas coisas, a solução envolveu construir um adaptador a partir de um Arduino, mas o processo não foi exatamente de baixo atrito. Primeiro, havia a questão de lidar com as saídas de coletor aberto no teclado, o que exigia alterações de código. Em seguida, [Anders] usou o osciloscópio para verificar as formas de onda e encontrou uma estranha onda quadrada de 9 Hz no topo do sinal do clock do teclado. Isso acabou sendo um sinal de que o teclado estava preso em modo de teste de fabricação, de acordo com uma leitura do código-fonte do autoteste de inicialização (POST). Um pequeno ajuste no código do Arduino fez tudo funcionar.

Temos que dizer que estamos adorando esse mergulho profundo nas entranhas de um pedaço da história do computador. [Anders] sugeriu o próximo passo, que usará um soquete ROM vazio em uma placa de rede antiga para carregar algum código assembly no XT. Estamos muito ansiosos por essa exploração.