[ Zu JKCEMU ]


Emulation eines USB-Anschlusses

Für einige der von JKCEMU emulierten Computer wurden Lösungen zum Anschluss von USB-Geräten entwickelt. Die meisten dieser Lösungen basieren auf einem Entwurf von Mario Leubner, der ein Vinculum-VDIP-Modul mit VDAP-Firmware verwendet. JKCEMU emuliert dieses VDIP-Modul sowie ein daran angeschlossenes USB-Massenspeichergerät. Andere USB-Geräte werden nicht unterstützt.

Der emulierte USB-Massenspeicher wird auf ein beliebiges Verzeichnis im Dateisystem des Emulatorrechners abgebildet. Damit kann auch dann ein USB-Speicherstick emuliert werden, wenn am Emulatorrechner gar kein physischer USB-Massenspeicher angeschlossen ist.

Festlegen des USB-Verzeichnisses
Bild: Festlegen des USB-Verzeichnisses

An den im JKCEMU emulierten Computer stecken Sie gedanklich einen USB-Speicherstick an, indem Sie im Fenster JKCEMU USB-Anschluss ein Verzeichnis auswählen oder per Drag&Drop dort eins hineinziehen. Umgekehrt bedeutet das Entfernen des Verzeichnisses das Abziehen des Speichersticks. Das Fenster JKCEMU USB-Anschluss rufen Sie im Hauptfenster mit dem Menüpunkt ExtraUSB-Anschluss auf.

Achtung! Die VDAP-Firmware auf den Vinculum-VDIP-Modulen unterstützt keine langen Dateinamen, sondern nur welche im 8:3-Format. Diese Einschränkung gilt somit auch in der Emulation. Allerdings gibt es trotzdem einen Unterschied: Im Original werden nur FAT-formatierte USB-Massenspeicher unterstützt. Bei FAT gibt es für jeden langen Dateinamen auch einen kurzen Äquivalenznamen im 8:3-Format. Über diese kurzen Namen sind alle Dateien auf dem Datenträger für die VDAP-Firmware sichtbar. In der Emulation aber kann jedes beliebige Verzeichnis als emulierter Speicherstick verwendet werden, unabhägig vom Dateisystem. Aus diesem Grund gibt es dort auch keine kurzen Äquivalenznamen, was zur Folge hat, dass das emulierte VDIP-Modul nur die Dateien und Verzeichnisse sieht, die dem 8:3-Schema entsprechen. Dateien und Verzeichnisse mit langen Namen werden ausgeblendet.

Optionen

Im Fenster JKCEMU USB-Anschluss können Sie neben dem Verzeichnis des emulierten USB-Speichersticks auch drei Optionen angeben:

Besonderheiten/Einschränkungen der USB-Emulation

Unterstützte Kommandos

JKCEMU simuliert alle Kommandos der VDAP-Firmware. Der Zugriff auf den emulierten USB-Massenspeicher ist aber nur über die Disk-Kommandos möglich (Dateisystemebene). Eine Kommunikation auf Sektorebene (z.B. mit Debug-Kommandos) oder direkte auf USB-Protokollebene (Device-Kommandos oder Data Mode) ist dagegen nicht möglich. Schreibende Debug- und Device-Kommandos liefern entweder einen Fehlercode oder haben keine Wirkung, je nachdem ob das Kommando laut Beschreibung einen Fehler liefern kann. Lesende Debug- und Device-Kommandos liefern je nach Kommando entweder Dummy-Werte oder gar keine Daten, evtl. auch in Verbindung mit einem Fehlercode. Das DATAREQ-Signal zur Anforderung des Data-Modes hat ebenfalls keine Wirkung. Demzufolge wird auch das DATAACK#-Signal (Bestätigung Data-Mode) niemals aktiv.

Fehlermeldungen bei unterbundenen Schreibzugriffen

Wenn Schreibzugriffe aufgrund eines gesetzten Schreibschutzes unterbunden werden (z.B. weil man keine Schreibberechtigung auf das Verzeichnis hat oder weil man das Verzeichnis im JKCEMU nur mit Schreibschutz geöffnet hat) erscheint die Fehlermeldung Read Only nur dann, wenn sie für das gerade ausgeführte VDAP-Kommando auch dokumentiert ist. Ist das nicht der Fall, wird aus Kompatibilitätsgründen Command Failed oder, falls auch dieser Fehlermeldung für das gerade ausgeführte Kommando nicht dokumentiert ist, Disk Full ausgegeben. In diesen Fällen entspricht somit die angezeigte Fehlermeldungen nicht ganz dem wirklichen Grund des missglückten Schreibzugriffs.

Zeitstempel

Als Zeitstempel wird nur der letzte Änderungszeitpunkt unterstützt. Beim VDAP-Kommando DIRT haben deshalb alle drei Zeitstempel (Dateierzeugung, letzter Zugriff und letzte Änderung) immer den gleichen Wert, nämlich den der letzten Änderung.

© 2012 Jens Müller