Floppy-Disk-Emulation in JKCEMU
JKCEMU emuliert den Floppy Disk Controller U8272,
der kompatibel zum Intel 8272A und zum NEC 765A ist.
Dieser kann bis zu vier Diskettenlaufwerke bedienen,
die logischerweise auch emuliert werden.
Die emulierten Laufwerke sind für den Anwender im Fenster
JKCEMU Diskettenstation sichtbar,
dass Sie über das Haupfenster, Menü Datei
→ Diskettenstation aufrufen können.
Dieses Fenster steht nur zur Verfügung,
wenn das emulierte System im Original auch Diskettenlaufwerke
bietet bzw. unterstützt.
Des Weiteren werden auch nicht unbedingt vier,
sondern nur so viele Laufwerke emuliert wie auch im Original
möglich sind.
Für jedes Laufwerk gibt es einen eigenen Reiter (Tab).
Weiterhin finden Sie unten rechts im Fenster einen Knopf
zum Öffnen/Laden, womit Sie gedanklich eine Diskette einlegen
und wieder entnehmen können.
Da der Emulatorrechner möglicherweise über gar kein
physisches Diskettenlaufwerk verfügt,
bietet JKCEMU mehrere Möglichkeiten zur Emulation
einer Diskette an.
Eine emulierte Diskette kann abgebildet werden durch:
-
eine reale Diskette,
die in einem physischen Diskettenlaufwerk steckt,
welches am Emulatorrechner angeschlossen ist
- eine Diskettenabbilddatei
- ein Verzeichnis im Dateisystem des Emulatorrechner
Durch Drücken auf den Öffnen/Laden-Knopf
öffnet sich ein Menü, in dem Sie die verschiedenen
Möglichkeiten auswählen können.
Möchten Sie vom emulierten System aus auf eine Diskette zugreifen,
die in einem am Emulatorrechner angeschlossenen Diskettenlaufwerk steckt,
dann wählen Sie im Öffnen/Laden-Menü
den Punkt Diskette öffnen....
Sie werden nun nach dem Laufwerk gefragt.
Auf einem Windows-System wählen Sie den Laufwerksbuchstaben aus,
mit dem das Diskettenlaufwerk im Windows sichtbar ist.
Auf einem Linux/Unix-System geben Sie die entsprechende
Gerätedatei an.
Anschließend müssen Sie nur noch das Diskettenformat
auswählen.
Bei der Emulation eines Diskettenlaufwerkes mit einer realen Diskette
gelten folgende Einschränkungen:
-
Das physische Diskettenformat, d.h. die Anzahl der Spuren,
die Anzahl der Sektoren pro Spur und die Sektorgröße,
muss vom Betriebssystem des Emulatorrechners unterstützt werden.
Dagegen muss das logische Format, d.h. das CP/M-Dateisystem,
vom Emulatorrechner nicht unterstützt werden
(und wird i.d.R. auch nicht), d.h.,
die Dateien auf der Diskette werden Sie im Dateisystem
des Emulatorrechners nicht sehen können.
-
Wenn Sie im emulierten System die Diskette formatieren,
wird sie nicht physisch formatiert.
Das Formatieren ist möglich,
solange das neue Format mit dem alten identisch ist.
Unterscheiden sich die Formate, wird ein Schreibfehler emuliert,
und das Formatierprogramm sollte diesen Fehler auch ausgeben.
Eine Diskettenabbilddatei (Disk Image File) ist ein 1:1-Abbild
einer Diskette und enthält somit auch die Spuren und Sektoren,
wie sie auf einer realen Diskette zu finden sind.
Es gibt verschiedene Dateiformate
für Abbilddateien, die sich inhaltlich vorallem im Umfang
der gespeicherten Geometrie- und Verwaltungsdaten unterscheiden.
3. Abbildung einer emulierten Diskette auf ein Verzeichnis
Bei dieser Form wählen Sie ein Verzeichnis im Dateisystem
des Emulatorrechners aus.
Die Dateien, die sich in dem Verzeichnis befinden und
die der Dateinamenskonvention von CP/M entsprechen,
werden in eine virtuelle Diskette gepackt und
sind somit vom emulierten System aus sichtbar.
Damit ist ein sehr einfacher Weg zum Austausch von Dateien zwischen
dem Emulatorrechner und dem im Emulator laufenden System gegeben.
Wenn die virtuelle Diskette voll ist,
werden die restlichen Dateien in dem Verzeichnis ignoriert.
Das gleiche gilt für Dateien, die zu groß sind.
Die User-Bereiche 1 bis 15 werden durch Unterverzeichnisse
mit den Namen 1 bis 15 repräsentiert,
d.h., Dateien in diesen Unterverzeichnissen sehen Sie
dann in dem entsprechenden User-Bereich.
Nach der Auswahl des Verzeichnisses werden Sie nach dem
Diskettenformat gefragt.
Bei einem Format mit Systemspuren wird der Inhalt der Datei
@boot.sys in diese Systemspuren kopiert.
Damit ist es möglich, auch von einem Verzeichnis zu booten.
Ist die Datei @boot.sys in dem Verzeichnis nicht zu finden,
enthalten die Systemspuren Null-Bytes.
Achtung! JKCEMU bietet bei einer Diskette,
die auf Basis eines Verzeichnis emuliert wird,
auch eine Schreibunterstützung.
Öffnen Sie dazu das Verzeichnis ohne Schreibschutz.
In dem Fall wirken sich Schreibzugriffe auf die virtuelle Diskette
direkt auf die darunter liegenden Dateien aus,
d.h. auf die Dateien, die in dem Verzeichnis liegen.
Wenn die eingestellte Directory-Größe nicht mit der
übereinstimmt, die das im Emulator laufende Programm bzw.
Betriebssystem verwendet oder wenn Sie die emulierte Diskette
zu einem ungünstigen Zeitpunkt aktualisieren (siehe weiter unten),
kann das zum Löschen oder ungewollten
Überschreiben der darunter liegenden Dateien
und damit zum Datenverlust führen!
Noch schlimmer ist, wenn das im Emulator laufende Programm fehlerhaft
die Directory-Sektoren der virtuellen Diskette beschreiben sollte.
Aus diesen Gründen wird dringend empfohlen,
ein Verzeichnis zur Emulation einer Diskette
nur dann ohne Schreibschutz zu öffnen,
wenn die darin liegenden Dateien an einer anderen Stelle
nochmals gesichert sind!
Wenn eine Diskette auf Basis eines Verzeichnisses emuliert wird,
ist es möglich, dass die im Verzeichnis liegenden Dateien
neben dem Emulator auch von anderen Programmen benutzt
und geändert werden.
Sollen sich die Änderungen in dem Verzeichnis
auch in der emulierten Diskette widerspiegeln,
muss diese aktualisiert werden.
Wählen Sie dazu in dem Menü am Öffnen/Laden-Knopf
den Punkt Emulierte Diskette aktualisieren an.
Sobald von der emulierten Diskette das nächste mal das Directory
gelesen wird, erzeugt JKCEMU einen neuen Inhalt für die Diskette.
Bei einem CP/M-kompatiblen Betriebssystem im Emulator sollten Sie
Control-C bzw. Strg-C drücken,
um das Lesen des Directorys zu veranlassen.
JKCEMU bietet auch eine automatische Aktualisierung.
Dazu müssen Sie in dem Dialog zur Auswahl des Diskettenformats
die Option Automatisch aktualisieren einschalten.
Diese Option kann nur zusammen mit dem Schreibschutz eingeschaltet
werden.
Achtung! Manche Programme oder Betriebssysteme kommen
möglicherweise mit der automatischen Aktualisierung
des Disketteninhalts nicht klar und lesen dadurch falsche Daten ein.
In dem Fall müssen Sie die Option ausschalten.
Achtung! Wenn Sie das Verzeichnis ohne Schreibschutz
geöffnet haben, sollten Sie unbedingt darauf achten,
dass Sie die emulierte Diskette nur zu solchen Zeitpunkten aktualisieren,
wenn sich das im Emulator laufende Programm oder Betriebssystem
in der Eingabeschleife befindet und gerade nicht auf die Diskette zugreift!
Außerdem sollten Sie unbedingt auch das erneute Einlesen
des Directorys erzwingen (Control-C bzw. Strg-C).