Ich hatte 2017 mal die Idee verfolgt - aber noch ein paar Verfeinerungen gemacht, nämlich gemessen was die Originaltastatur an Widerstand hat, mit dem Datenblatt des HC4066 abgeglichen und einen Vorwiderstand für jede einzelne Taste entsprechend errechnet. Den Prototypen habe ich dann geroutet und produzieren lassen, aber nie in Betrieb genommen:
Lyra64.jpg
Da mich mein 8051-Entwicklungssystem in den letzten Wochen echt geärgert hat, habe ich ein Neues aufgesetzt - ohne USB->seriell Wandler, sondern mit nem schönen alten Mainboard, das zwei echte COM-Ports hat. Das nur als Nebenschauplatz; da ich vergangenes Wochenende mit einem guten Freund darüber diskutiert habe, wie unmöglich es ist, jeden noch-so-kaputten software-scanner in einer rein digitalen/softwaremäßigen Lösung zu bedienen (prinzipiell also die hier vorangehende Diskussion "reloaded"), habe ich den Prototypen von 2017 wieder herausgekramt und ihn in Betrieb genommen. Erstmal ohne PS2-Code, sondern nur um zu prüfen, ob meine Schaltungsidee zur Weitergabe von left-shift und shift-lock auch funktioniert. Und das tut sie: Ich kann "linke shift" und "shift lock" mit dem Microcontroller getrennt übertragen, und die einschlägigen Testroutinen für diesen Spezialfall zeigen absolut zuverlässig entweder nur linke Shift, oder sowohl linke Shift, als auch Shift lock.
Ich hatte noch einen C64, bei dem die shift-lock Erkennung nicht sauber funktionierte - da flimmert das shift-lock Bit nur, wenn man an der shiftlock-Taste wackelt. Den Rechner fand ich besonders interessant, denn ich hatte befürchtet, dass da eine besonders obskure CIA drin ist, die evtl. andere Schaltschwellen hat. Entwarnung: Es liegt bei diesem Computer nicht an der CIA, sondern an der Shift-lock Taste selbst. Diese Taste ist alt, kratzt vermutlich ein wenig und hat einen recht hohen ohmschen Widerstand, deswegen funktioniert die Shift-lock-Erkennung da nicht zuverlässig. Mit meinem Prototypen kann ich auch mit dem Computer zuverlässig die linke Shift und shift-lock übertragen.
Wenn also "irgendwo im Internet" steht, dass die Erkennung von Shift-lock nicht zuverlässig ist, dann ist das möglicherweise die gleiche Ursache wie bei meinem Computer: Eine alte/verschlissene Shift-lock Taste.
Lyra64_proto1.JPG
Auf dem Bild seht Ihr, dass ich noch einen Anschluss für die C64-Tastatur unter die Platine gelötet habe - sonst kann ich das Testprogramm nicht laden. Der Anschluss über Kabel ist auch nicht gerade der Weisheit letzter Schluss. Ich kann aber sagen, dass ich ein proof-of-concept habe, eine PC-Tastatur an einen C64 anzuschließen und dabei nicht fürchten muss, dass irgendwelche kaputte Software nicht funktioniert. Ab hier ist es noch "Fleißarbeit", den PS2-Code aus Lyra in diesen Microcontroller zu portieren und sich ein vernünftiges Mapping auszudenken. Für ein Produkt reicht es aber meiner Meinung nach noch nicht, weil der C128D nicht abgedeckt ist. Ich vermute mal, dass es sehr viel mehr C128D ohne Tastatur gibt, als C64 ohne Tastatur.
(Thread-Ruhe nach über 12 Jahren gestört - ist das Rekord?)
Jens