Das KC85-Modul M052 besitzt 2 USB-Buchsen, nun ist mit dem Modul auch die Verwendung einer USB-Tastatur am KC85 möglich.

Das M052 (mit oder ohne Netzwerk) besitzt 2 USB-Buchsen. Die verfügbare Firmware des VNC1 (VDIP1 oder VDIP2) unterstützt leider nur die USB2-Buchse für den Anschluss eines Datenträgers (USB-Stick, USB-Festplatte). Es existierte schon lange der Wunsch, auch für die USB1-Buchse eine sinnvolle Verwendung zu schaffen.

Bereits 2014 hatte ich deshalb versucht, eine USB-Tastatur dort anzuschließen. Der Befehlsumfang des VNC1 lässt eine Kommunikation auf einer relativ niedrigen Ebene zu. Mit diesen Befehlen ist es mir zwar gelungen, eine Tastatur zu erkennen und abzufragen. Nach umfangreichen Tests habe ich die Weiterentwicklung aber aus verschiedenen Gründen abgebrochen. Unter anderem wurden nur ausgewählte Tastaturmodelle erkannt, die Abfrage war nur im Polling vom KC aus möglich und die gesamte Decodierung der Tastencodes war auf der KC-Seite nötig. Das kostet sehr viel Rechenzeit und bremst den KC enorm aus.

Anfang 2018 gab es einen Neuansatz mit einer von DL entwickelten Platine auf Basis VNC2, siehe: http://www.kingsteners.homepage.t-online.de/Erweiterungen

Diese "Modul-48" genannte Platine passt 1:1 an Stelle des VDIP1 auf die Platine des M052 ohne Netzwerk. Die USB-Buchse ist dabei auf der Unterseite der kleinen Platine eingelötet. Das hat den Charme, dass dann die beiden USB-Buchsen optisch auf der gleichen Höhe sitzen. Die rechte Buchse ist nur um 180° gedreht, man muss also aufpassen in welcher Richtung man einen USB-Stick einsteckt. Aber sonst eine Super-Idee von DL - siehe Foto:

Es funktioniert aber auch mit einem käuflich erhältlichen Modul V2DIP1-48. Die käuflichen Module haben jedoch viel dickere Stiftleisten, welche nicht ohne Änderungen auf die Buchsen der M052-Platine passen. Da muss entweder ein anderer Sockel auf die M052-Platine eingelötet werden oder die Stiftleisten am V2DIP1-48 müssen gewechselt werden. Die USB-Buchse sitzt dann wie bei dem VDP1 höher und die Original-Modulblende mit den versetzten USB-Buchsen passt wieder. Auch davon ein Bild von meinem Testaufbau:

Auf dem Modul-48 ist der VNC2-Chip von FTDI, also die zweite Generation nach dem VNC1 eingesetzt, welcher sich vom Anwender mit einer eigenen Firmware versehen lässt. Damit haben wir es geschafft, auf eine relativ einfache Art und Weise USB-Tastaturen an den KC anzuschließen. Die KC85-Firmware für den VNC2 zeichnet sich durch folgende Eigenschaften aus:

Die M052-Software musste aber auch grundlegend überarbeitet werden um die Tastencodes und Dateikommandos aus dem Datenstrom zu filtern. Damit das Signal von AC5 (PIO-B5) Interrupt auslösen kann, arbeitet PIO-Port B im Bitbetrieb und löst somit einen Interrupt aus, sobald dieses auf Low geht und ein Tastencode empfangen wird. Da PIO-Port A aber im Bitbetrieb arbeitet, löst auch dort der Empfang von Daten einen Interrupt auf dem PIO-Kanal B aus.  Es kann also nur eine Interruptroutine geben. Diese muss zuerst unterscheiden, welche Quelle den Interrupt ausgelöst hat. Das heißt aber auch, dass der M052-Interrupt immer aktiv sein muss. Und je nachdem in welchem Zustand sich der KC gerade befindet, muss auf ankommende Daten unterschiedlich reagiert werden. Die USB-Software Version 2.7 zeichnet sich durch folgende Eigenschaften aus:


Getestet wurde die neue Software bisher an einem KC85/5 mit CAOS 4.7, einem KC85/4 mit CAOS 4.2 sowie einem KC85/3 mit CAOS 3.1, wobei der Tastaturtreiber nur unter CAOS 4.7 automatisch mit dem Einschalten des KC aktiviert wird. Bei den vorhergehenden CAOS-Versionen muss erst mittels Kommandos die Tastatur aktiviert werden:

%SWITCH 2 0 (BASIC aus, falls es ein KC85/3 ist)
%SWITCH <M052> C1 (EEPROM des M052 auf C000h einblenden)
%tastatur (Tastaturtreiber initialisieren)

Hinweis: Ein USB-Tastatur-Treiber für die CP/M-Betriebsart ist inzwischen ebenfalls erstellt und getestet. Der Treiber USB15.DRV muss zusammen mit dem bereits existierenden Treiber M052.DRV unter CP/M bzw. MicroDOS oder ML-DOS mit dem Programm DRIVER.LBR in's Grundgerät übertragen werden. Am Besten nimmt man die beiden Treiber in die Bibliothek DRIVER.LBR auf und lässt sie beim Systemstart automatisch laden.
Der Treiber USB15.DRV aktiviert übrigens beim Start automatisch die CP/M-Betriebsart der Tastatur (Rollen=EIN).

Die Software 2.7 für das M052, einschließlich CP/M-Treiber befindet sich im Downloadbereich in der Kategorie EPROM-Daten.