Anschließen einer Tastatur an einen Vintage-PC
Wir sind uns nicht sicher, ob es ein einzelnes Merkmal gibt, das jemanden als Hacker qualifiziert. Schließlich sind wir ein ziemlich vielseitiger Haufen mit Fähigkeiten, die sich über die gesamte Karte erstrecken, und was der eine für trivial hält, würde der andere als schwarze Magie betrachten. Aber eines sind wir uns sicher: Wenn Sie den Original-POST-Code für das PC-XT-Motherboard lesen, nur um eine Tastatur zum Laufen zu bringen, sind Sie so ziemlich unser Typ.
In dieser Lage befand sich [Anders Nielsen] im Verlauf der Arbeit an seinem „PC-XT from Scratch“-Projekt, bei dem es darum geht, ein funktionierendes Vintage-IBM-Modell 5160 aus der Mitte der 80er-Jahre zu bauen, das so viele zeitgemäße Teile wie möglich verwendet. Im ersten Teil der Serie ging es um den heiklen Prozess, das Motherboard hochzufahren, damit der magische Rauch nicht freigesetzt wird. Nachdem [Anders] etwas Leben aus dem alten Board herausgeholt hatte, brauchte er ein wenig IO, insbesondere Video und Tastatur. Die Videoseite der Gleichung war relativ trivial, mit einer VGA-Karte aus den frühen 90ern von eBay – nicht ganz zeitgemäß, aber gut genug, um etwas zur Anzeige zu bringen.
Die Tastatur war eine ganz andere Sache. Es ist kein allzu großer Aufwand, eine Tastatur zu finden, die mit einem PC-AT kommuniziert, aber der PC-XT hatte ein völlig anderes Protokoll, ganz zu schweigen von dem klobigen 5-poligen DIN-Anschluss. Wie bei vielen Dingen bestand die Lösung darin, einen Adapter aus einem Arduino zu bauen, aber der Prozess verlief nicht gerade reibungslos. Zunächst stellte sich die Frage des Umgangs mit den Open-Collector-Ausgängen auf der Tastatur, was Codeänderungen erforderte. Als nächstes holte [Anders] das Oszilloskop heraus, um die Wellenformen zu überprüfen, und fand eine seltsame 9-Hz-Rechteckwelle über dem Tastaturtaktsignal. Laut einer Durchlesung des POST-Quellcodes (Power On Self Test) war dies letztendlich ein Zeichen dafür, dass die Tastatur in einem Herstellungstestmodus feststeckte. Eine kleine Änderung des Arduino-Codes brachte alles zum Laufen.
Wir müssen sagen, dass wir diesen tiefen Einblick in das Innere eines Stücks Computergeschichte lieben. [Anders] neckte den nächsten Schritt, bei dem ein leerer ROM-Sockel auf einer alten Netzwerkkarte verwendet wird, um Assembler-Code auf den XT zu laden. Wir freuen uns sehr auf diesen Erfolg.