Alles was sonst nicht richtig woanders passt...
#4378
Vorwarnung: das Ganze ist mehr als Gag gedacht:

habe meinen alten Atari 1040 wieder ausgegraben um diesen als Steuerung für MagicQ zu benutzen.

1. Schritt: Umlöten des Quarz auf der Tastatur.
Die intelligente Tastatur des Atari hat eine Baudrate von 7812.5 Baud. Der 4 MHz-Quarz wird gegen einen Quarz mit 4.9152 MHz ausgetauscht. Eine einfache Rechnung ergibt, dass die Baudrate dann 9600 Baud beträgt.

2. Schritt: Interface zum PC
Benutzt wird ein FTDI-EVAL232 Evaluationsboard (von Farnell). Dieses hat (PC-seitig) einen USB-Anschluss und eine serielle Schnittstelle (mit TTL-Level-Eingängen). Das serielle Kabel wird an der einen Seite gekappt, und die Tx-Leitung (rot) wird im Atari an den Rx der Tastatur angeschlossen.
Achtung: Die Tastatur muss wieder in den Atari eingebaut werden, da sie am Anfang eine (hexadezimale) Zeichenkette benötigt, um zu senden.

3. Schritt: Treiber
Wird programmiert in Python. Mithilfe von der Pyserial-Bibliothek hat man Zugriff auf den (virtuellen) COM-Port (unter Windows: COM6, unter Linux: /dev/ttyUSB0). Der umfangreichste Teil ist, jeweils die Keycodes aus dem Atari auszulesen und dann sozusagen ein Wörterbuch zu schreiben.

4. Schritt: Einbinden des Treibers in das Betriebssystem
Funktioniert unter Linux mit der Python-Bibliothek virtkey, unter Windows mit den win32-Erweiterungen. Beispiel:

Buchstabe "A":
Linux:
elif letter == "38": #A
a2.press_keycode(38)
a2.release_keycode(38)

die "38" (hexadezimaler Wert aus dem Atari) ist hier zufällig(!) identisch mit dem Keycode, der sich in folgender Grafik wiederfinden lässt:

Bild

Windows:

elif letter == "38" #A
win32api.keybd_event(0x41,0,0,0)

0x41 ist der virtuelle Keycode, findet sich in folgender Liste:

http://www.help-guide.de/win_virtual_key.htm

Details und Fotos folgen.

Arno