Software

Auf dieser Seite stelle ich verschiedene Software zur Verfügung. Die PC-Software +divide Manager wurde von mir erstellt. Weitere Software-Pakete stammen von anderen Entwicklern und wurden von mir für das DivIDE Plus Interface zusammengestellt.

SymbolInhaltsverzeichnis
+divide ManagerPC-Software zur Verwaltung von virtuellen Plus-D-Images
DivIDE Plus ManualHandbuch für das DivIDE Plus Interface als PDF-Datei (englisch)
ResiDOS v2.30ResiDOS v2.30 - Installationspaket für DivIDE Plus
ESXDOS v0.8.8ESXDOS v0.8.8 - Installationspaket für DivIDE Plus

Symbol+divide Manager
+divide Manager v1.00dAktuelle deutsche Version v1.00 des +divide Managers vom 08.12.2009
+divide Manager v1.00eCurrent English version v1.00 of the +divide Manager from 08.12.2009

Dieses Programm ermöglicht den komfortablen Datenaustausch zwischen einem ZX Spectrum, welcher mit DivIDE Interface und +divide Betriebssystem ausgestattet ist, und einem PC. Als Datenträger kann hier eine CompactFlash-Karte oder eine Festplatte verwendet werden, wobei sich in der Praxis CF-Karten bewährt haben.

Divide Manager Bild

SymbolAllgemeine Informationen

Das +divide Betriebssystem arbeitet wie das Plus-D Interface mit Disketten, allerdings sind diese hier virtuell auf einem IDE-Datenträger abgelegt. Um einen möglichst einfachen Zugriff auf diese virtuellen Disketten zu ermöglichen, sind diese von Sektor 0 beginnend nacheinander auf dem Datenträger angeordnet.

Das ist allerdings ein großes Problem, wenn man mit einem PC auf diesen Datenträger zugreifen will: Da es kein Dateisystem gibt, lässt sich der Inhalt nicht so einfach lesen. Zwar wäre es mit „Hacker-Tools“ möglich, die Daten Sektor für Sektor auf dem PC auszulesen, aber das Handling ist sehr umständlich. Außerdem ist ein direkter Zugriff nicht ungefährlich, wenn man versehentlich einen falschen Datenträger im Laufwerk hat. Also was tun?

Ich habe mir einige Gedanken gemacht und eine praktikable Lösung gefunden, wie man sowohl mit dem Spectrum, als auch mit dem PC auf die gespeicherten Daten zugreifen kann - sofern man einige Randbedingungen beachtet. Und das funktioniert folgendermaßen:

  1. Auf den Datenträger wird eine große Datei (im Folgenden Medium genannt) geschrieben, die den gesamten von +divide genutzten Speicherplatz ausfüllt. So ist zum einen gewährleistet, dass man mit dem +divide Manager auf den gesamten Bereich zugreifen kann und zum anderen verhindert die große Datei, dass andere PC-Programme in diesen Bereich schreiben und dabei den Inhalt zerstören können.
  2. Auf dem Spectrum darf NIEMALS das erste Image (GO TO *1,0,0) verwendet werden. In diesem Bereich liegt die FAT-Struktur des Datenträgers, welche unbedingt bewahrt werden muss.
  3. Wegen der eben erwähnten FAT-Struktur beginnt die Image-Datei nicht beim Sektor 0, sondern erst hinter dem FAT-Bereich, wobei diese Stelle je nach verwendetem Datenträger unterschiedlich ist. Um die genaue Position der ersten nutzbaren virtuellen Diskette (Image 1) genau zu ermitteln, ist eine Prozedur erforderlich, die aber nur einmal durchgeführt werden muss.
  4. Zukünftig sollte die Image-Datei auf dem Datenträger nur noch mit dem +divide Manager am PC bearbeitet werden. Es ist wichtig, dass die Cluster der Image-Datei der Reihe nach angeordnet sind, weil anderenfalls die Daten nicht an der erwarteten Position stehen. Bei der Bearbeitung mit anderen Programmen kann es passieren, dass die Datei fragmentiert wird und dann stimmen die Image-Positionen nicht mehr.

Einen Nachteil möchte ich nicht verschweigen: Beim Einrichten eines Datenträgers gehen alle Daten verloren. Man muss also den Datenträger vor der ersten Verwendung im Spectrum einrichten. Mir ist jedenfalls keine Möglichkeit bekannt, nachträglich ohne Datenverlust eine FAT-Struktur und eine Medium-Datei anzulegen.

SymbolInstallation der Software

Die Installation beschränkt sich hier auf das Anlegen eines Verzeichnisses. Hier wird einfach die Datei dmanager.exe hinein kopiert. Danach kann sie direkt gestartet werden. Nach dem ersten Start legt der +divide Manager im gleichen Verzeichnis noch eine Datei dmanager.ini an, hier wird der Laufwerks-Buchstabe des zuletzt verwendeten Datenträgers gespeichert. Weitere Dateien werden vom +divide Manager ohne Benutzereingriff nicht angelegt, auch werden keine Einträge in die Registry geschrieben.

Auch der ZX Spectrum bzw. das DivIDE Interface muss durch Installation der +divide Firmware vorbereitet werden. Falls anstatt der +divide Firmware die weit verbreitete FATware installiert ist, dann wird die Installation besonders einfach: die Datei divide-firmware.zip entpacken und die enthaltene Datei +divide.tap auf einen normalen Datenträger (am besten auf eine CF-Karte) kopieren. Auf dem Spectrum wird dann über den Disk Browser diese Datei ausgewählt und mit LOAD "" gestartet (Jumper nicht vergessen). Benutzer eines DivIDE Plus haben es etwas einfacher. Hier ist die +divide Firmware bereits installiert und muss nach dem Start oder einem Reset mit OUT 23,4 nur aktiviert werden.

SymbolFür Eilige: Kurzanleitung zum Einrichten eines Mediums

Die folgende Prozedur beschreibt die Einrichtung eines Datenträgers für die Verwendung mit +divide in Kurzform. Ich empfehle aber trotzdem, die komplette Beschreibung zu lesen.

  1. Den Datenträger (CF-Karte oder Festplatte) mit dem Dateisystem FAT (nicht FAT32) formatieren.
  2. Den +divide Manager starten und rechts oben den Laufwerks-Buchstaben des Datenträgers auswählen.
  3. Medium erstellen anklicken, Sicherheitsabfrage bestätigen, Anzahl der gewünschten Disk-Images eingeben (oder Vorgabe bestätigen) und zurücklehnen - je nach Größe des Datenträgers und der Anzahl der Disk-Images kann der Vorgang einige Minuten dauern. Ein Statusfenster oben rechts informiert über den Fortschritt. Wenn der Vorgang beendet ist, erscheint ein Info-Fenster, welches die nächsten Schritte auf dem Spectrum anzeigt.
  4. Jetzt den Datenträger an das DivIDE anstecken und den Spectrum einschalten.
  5. Auf dem Spectrum GO TO *1,0,1 und danach CAT 1 eingeben. Es sollte eine leere Diskette angezeigt werden. Jetzt SAVE d1"test" eingeben.
  6. Spectrum ausschalten und den Datenträger wieder an oder in den PC stecken.
  7. Medium positionieren anklicken und im linken Fenster erscheint eine Liste, wobei im 1. Image der Name "test" erscheint - fertig.
SymbolAusführliche Beschreibung aller Funktionen

Linkes Anzeigefenster

Hier wird eine Übersicht über alle Disk-Images angezeigt. Jeder Eintrag besteht aus der Image-Nummer und dem ersten Dateinamen, der gefunden wird. Falls das Diskimage von einem SAM Coupé stammt, dann wird der Diskname anstelle des ersten Dateinamens angezeigt. Ist der Katalog eines Disk-Images leer, dann wird <leer> angezeigt. Mit der Maus kann man ein Disk-Image auswählen und dann erscheint dessen gesamter Inhalt im mittleren Anzeigefenster.

Mittleres Anzeigefenster

Hier wird nach Auswahl eines Disk-Images der komplette Inhalt dieses Images aufgelistet. Folgende Daten werden angezeigt:

Dateien vom SAM Coupé werden angezeigt, allerdings fehlen hier die Dateidaten. Dieses Fenster dient nur zur Information. Zwar lassen sich einzelne Einträge auswählen, es ist aber keine weitere Funktion damit verknüpft.

Medium öffnen

Mit dieser Funktion wird ein Medium geöffnet und dessen Inhalt angezeigt. Vorher muss in der Auswahlbox rechts das Laufwerk ausgewählt werden, wo sich der Datenträger befindet. Ein Medium lässt sich nur dann öffnen, wenn es fertig eingerichtet, also erstellt und positioniert ist. Dies erkennt der +divide Manager am Namen der Medium-Datei, welcher folgende Struktur hat: x-y.img

 x Dies ist der so genannte Offset-Wert. Ist dieser Wert 0, so wurde die Positionierung noch nicht durchgeführt. Nach der Positionierung steht hier eine 3- oder 4-stellige Zahl und diese zeigt an, wo in der Medium-Datei das erste Disk-Image beginnt (Anzahl der Sektoren vom Dateianfang bis zum ersten Disk-Image).
 y Dieser Wert enthält die Anzahl der Disk-Images.

Bei Datenträgern, die mit einer älteren Version des +divide Managers (< v0.50) eingerichtet worden sind, hat der Dateiname die Struktur x.img. Hier fehlt die Anzahl der Disk-Images und es wird immer davon ausgegangen, dass der gesamte Datenträger für +divide verwendet wird. Die Anzahl der Images wird dann aus der Größe des Datenträgers ermittelt.

Medium erstellen

Diese Funktion wird benötigt, um ein neues Medium für den gemeinsamen Zugriff von PC und Spectrum einzurichten. Damit diese Funktion ausgeführt werden kann, muss der Datenträger leer sein. Es wird empfohlen, den Datenträger vorher zu formatieren. Dabei muss zwingend das Dateisystem FAT verwendet werden, denn nur so ist gewährleistet, dass die Cluster in der richtigen Reihenfolge geschrieben werden.

Zunächst muss in der rechten Auswahlbox das Laufwerk ausgewählt werden, in dem sich der neue Datenträger befindet. Danach kann die Funktion Medium erstellen gestartet werden. Nach Bestätigung einer Sicherheitsabfrage erscheint eine weitere Abfrage, wo man die Anzahl der gewünschten Disk-Images eingeben kann. Der +divide Manager schlägt hier die maximal mögliche Anzahl vor und wenn man diese bestätigt, wird der gesamte Datenträger für +divide verwendet. Wählt man eine kleinere Anzahl, dann verbleibt freier Speicherplatz auf dem Datenträger, der mit anderen Spectrum-Dateien gefüllt und z.B. mit FATware verwendet werden kann. Somit lässt sich ein einzelner Datenträger für mehrere Firmwares verwenden.

Nach Eingabe der Anzahl wird eine Datei mit dem Namen 0-y.img auf den Datenträger geschrieben, wobei y der soeben eingegebenen Anzahl von Disk-Images entspricht. An Hand dieser Zahl kann der +divide Manager später beim Öffnen des Mediums den für +divide genutzten Bereich erkennen. Der Schreibvorgang dauert einige Minuten und während dieser Zeit erscheint im Statusfeld oben rechts eine Fortschrittsanzeige.

Wichtig: Das Medium ist nach diesem Arbeitsgang noch nicht verwendbar, es muss noch positioniert werden. Aus diesem Grund erscheint jetzt ein Info-Fenster mit den nächsten Schritten, die auf dem Spectrum durchgeführt werden müssen.

Medium positionieren

Mit dieser Funktion wird die genaue Position des ersten Disk-Images ermittelt und somit die Prozedur zum Erstellen eines Mediums abgeschlossen. Vorher ist allerdings noch ein kleiner Zwischenschritt nötig: Damit das Programm die richtige Position finden kann, muss mindestens ein CAT-Eintrag im ersten Disk-Image auf dem Medium vorhanden sein. Dazu muss der Datenträger entfernt und an den Spectrum angeschlossen werden. Hier sind dann folgende Befehle auszuführen:

GO TO *1,0,1Das erste Disk-Image auswählen
CAT 1Katalog listen (eine leere Diskette sollte angezeigt werden)
SAVE d1"test"Speichert ein Programm unter dem Namen "test" in Disk-Image 1; der Dateiname und der Dateityp ist nicht von Bedeutung; wichtig ist nur, dass mindestens ein Eintrag im Katalog steht

Jetzt kommt der Datenträger wieder in den PC, in der rechten Auswahlbox wird das entsprechende Laufwerk ausgewählt und die Funktion Medium positionieren angeklickt. Wenn alles geklappt hat, dann erscheint jetzt im linken Fenster eine Liste mit Disk-Images, wobei das erste den Namen anzeigt, der zuvor auf dem Spectrum eingegeben wurde. Damit ist das Medium fertig eingerichtet.

Medium sichern

Über diese Funktion kann mit einem Mausklick der gesamte Inhalt des Mediums auf dem PC gesichert werden (Backup-Funktion). Um Zeit und Platz zu sparen, werden nur die Disk-Images gesichert, die Daten enthalten - also mindestens einen Eintrag im Katalog haben.

Nach dem Klick auf Medium sichern öffnet sich ein Dialog, wo man das Verzeichnis und einen Dateinamen für die Sicherung auswählen bzw. eingeben kann. Beim nachfolgenden Klick auf Speichern wird der Sicherungsvorgang gestartet, wobei der eingegebene Name durch das Programm noch erweitert wird. Ein Beispiel:

Eingegebener Name:Backup
Ausgegebene Dateien:Backup-0001.dsk
Backup-0003.dsk
Backup-0004.dsk

Jede Datei enthält ein Disk-Image, wobei die angehängte Zahl der Nummer des Images entspricht. Alle Images werden im dsk-Format gespeichert, der Aufbau einer solchen Datei ist weiter unten beschrieben. Wenn viele Daten zu sichern sind, kann dieser Vorgang einige Zeit in Anspruch nehmen. Über den Fortschritt informiert die Statuszeile rechts oben.

Medium wiederherstellen

Hiermit kann eine im vorherigen Abschnitt beschriebene Datensicherung wieder auf das Medium zurück geschrieben werden. Dabei werden alle Disk-Images, die als Sicherung vorliegen, wieder auf das Medium an die originale Position geschrieben. Alle anderen Images bleiben unverändert.

Nach dem Klick auf Medium wiederherstellen erscheint zunächst ein Dialog. Hier braucht man nur eine Datei aus der Backup-Reihe zu markieren (egal welche), auf Öffnen zu klicken und die Wiederherstellung wird gestartet. Auch hier informiert eine Anzeige in der Statuszeile über den Fortschritt der Aktion.

Hinweis: Die Wiederherstellung funktioniert nur, wenn der Datenträger bereits ein Medium enthält und dieses auch richtig positioniert ist. Falls dies nicht der Fall ist, so muss vorher die Einrichtungsprozedur durchgeführt werden.

Man kann diese Funktion zum Kopieren eines Mediums benutzen, wobei das Zielmedium auch kleiner oder größer als das Original sein kann. Bei einem kleineren Medium kann es allerdings passieren, dass nicht alle Images wiederhergestellt werden (Nummern größer als maximale Image-Anzahl). Diese Images können aber mit der Funktion Disk-Image einfügen manuell ergänzt werden, sofern noch freie Plätze vorhanden sind.

Medium schließen

Diese Funktion erklärt sich von selbst. Wenn man mit der Bearbeitung des Mediums fertig ist und den Datenträger entnehmen möchte, dann sollte auf Medium schließen geklickt werden.

Disk-Image extrahieren

Mit dieser Funktion lässt sich ein einzelnes Disk-Image als Datei speichern. Diese Datei kann dann z.B. per Mail verschickt oder als Web-Download zur Verfügung gestellt werden.

Zunächst wählt man im linken Fenster das Disk-Image aus, welches man extrahieren möchte, wobei dessen Inhalt im mittleren Fenster angezeigt wird. Als nächstes legt man in der Auswahlbox neben dem Button das gewünschte Dateiformat fest. Zur Auswahl stehen hier dsk, mgt und img. Eine Beschreibung der Formate erfolgt weiter unten.

Nach dem Klick auf Disk-Image extrahieren öffnet sich ein Dialog, in dem man einen Dateinamen eingeben oder auswählen kann. Die Dateierweiterung kann weggelassen werden - diese wird entsprechend des gewählten Formates vom Programm ergänzt.

Disk-Image einfügen

Hiermit ist es möglich, eine Image-Datei in das Medium einzufügen. Vorher muss im linken Fenster die Position angeklickt werden, an welcher das Image eingefügt werden soll. Nach dem Klick auf Disk-Image einfügen erscheint ein Dialog, wo die Image-Datei eingegeben oder ausgewählt werden kann. Anhand der Dateierweiterung (dsk, mgt oder img) wird das Format erkannt, entsprechend konvertiert und in das Medium eingefügt. Das Image, welches sich vorher an dieser Stelle befand, wird dabei komplett überschrieben.

Disk-Image löschen

Diese Funktion ermöglicht das Löschen eines nicht mehr benötigten Disk-Images auf dem Medium. Auch hier muss zunächst im linken Fenster das entsprechende Disk-Image ausgewählt werden. Nach dem Klick auf Disk-Image löschen erscheint eine Sicherheitsabfrage und nach deren Bestätigung wird gelöscht. Dabei werden alle Sektoren des Images mit Nullbytes überschrieben. Dies entspricht dem Befehl FORMAT d1 auf dem Spectrum.

Plus-D Disk schreiben

Hinweis: Diese Funktion ist nur dann verfügbar, wenn das Programm SamDisk installiert ist (weitere Hinweise folgen weiter unten).

Plus-D Disk schreiben entspricht weitgehend der Funktion Disk-Image extrahieren, hier wird jedoch keine Datei erstellt, sondern das gewählte Image direkt auf eine Plus-D Diskette geschrieben, die sich im Laufwerk A: befinden muss. Nach der Bestätigung der Sicherheitsabfrage öffnet sich ein SamDisk-Fenster, in dem der Schreibvorgang beobachtet werden kann. Insgesamt dauert es etwas mehr als 2 Minuten, bis die Diskette fertig formatiert, geschrieben und verglichen ist. Danach schließt sich SamDisk wieder.

Plus-D Disk einlesen

Hinweis: Auch diese Funktion ist nur dann verfügbar, wenn das Programm SamDisk installiert ist (weitere Hinweise folgen weiter unten).

Diese Funktion gibt es ebenfalls schon in ähnlicher Form (Disk-Image einfügen), hier wird aber nicht von einer Image-Datei gelesen, sondern direkt von einer Plus-D Diskette im Laufwerk A:. Nach Bestätigung der Sicherheitsabfrage wird auch bei dieser Funktion SamDisk gestartet und nach Abschluss des Lesevorganges wieder geschlossen (dauert ungefähr 40 Sekunden).

Programm beenden

Damit wird das Programm beendet :-)

SymbolSamDisk installieren

Um die Funktionen Plus-D Disk schreiben und Plus-D Disk einlesen verwenden zu können, muss das Programm SamDisk installiert sein. Dieses Programm wurde zwar für SAM Coupé User geschrieben, kann aber wegen des identischen Diskformates auch für Plus-D verwendet werden. Es wurde von Simon Owen geschrieben und auf seiner Homepage steht es zum Download zur Verfügung. Aktuell war zum Zeitpunkt der Texterstellung (11.06.2007) die v2.0:

http://simonowen.com/sam/samdisk/

Dieses Programm arbeitet in der Kommandozeile und sollte in ein Verzeichnis des Suchpfades (PATH) kopiert werden. Wem das jetzt zu kompliziert erscheint, der kopiert es einfach ins Verzeichnis vom +divide Manager. Das ist schon alles. Der +divide Manager prüft beim Start, ob SamDisk installiert ist und gibt dann die beiden Plus-D Funktionen frei.

Übrigens, der +divide Manager verwendet folgende Funktionsaufrufe zum Schreiben und Lesen von Plus-D Disketten:

samdisk /f /v temp.dsk a:schreibt das Image temp.dsk auf Diskette
samdisk a: temp.dskliest das Image temp.dsk von Diskette

SymbolWeitere Informationen

Aufbau eines Datenträgers / Mediums

+--------------+--------------+--------------+--------------+~~+--------------+
| Disk-Image 0 | Disk-Image 1 | Disk-Image 2 | Disk-Image 3 |  | Disk-Image n |
|              |              |              |              |  |              |
| FAT | (frei) |              |              |              |  |              |
+-----+--------+--------------+--------------+--------------+~~+--------------+
^     ^        ^              ^
|     |        |              |
|     |        |              ‘--- Medium + Offset + 1600 Sektoren
|     |        ‘------------------ Medium + Offset (Offset steht im Dateinamen)
|     ‘--------------------------- Medium ab hier nutzbar
‘--------------------------------- Datenträger - Sektor 0

Dateiformate

Der +divide Manager unterstützt derzeit 3 Formate: dsk, mgt und img. Allen gemeinsam ist die Größe von 1600 Sektoren, was 819200 Bytes entspricht. Da es sich hier um virtuelle Disketten handelt, sind die Daten auch wie bei einer Diskette angeordnet: Es gibt 2x 80 Tracks (Spuren) mit jeweils 10 Sektoren. Die Tracks auf der unteren Diskseite haben die Nummern 0-79 und die Tracks auf der Oberseite die Nummern 128-207. Der Unterschied bei den Dateiformaten besteht in der Anordnung der Tracks:

dsk: 0, 128, 1, 129, 2, 130, 3, 131, 4, 132, …, 78, 206, 79, 207
mgt: 0, 128, 1, 129, 2, 130, 3, 131, 4, 132, …, 78, 206, 79, 207
img: 0, 1, 2, 3, 4, …, 77, 78, 79, 128, 129, 130, …, 205, 206, 207

Die Sektoren innerhalb eines Tracks sind bei allen Formaten gleichermaßen in der Folge 1-10 angeordnet. Wie man sieht, ist das dsk- und das mgt-Format identisch, allerdings scheint das mgt-Format noch mehr zu bieten (z.B. Multi-Images), leider fehlen mir weitere Informationen. Die meiste Verbreitung scheint das dsk-Format zu haben, deshalb habe ich es für die Sicherungsdaten verwendet (Medium sichern und Medium wiederherstellen).

Einige Tipps

Disk-Images auf dem Spectrum: Niemals das Disk-Image 0 verwenden! Ein Schreibzugriff würde die FAT-Struktur des Datenträgers zerstören und er ist dann im schlimmsten Fall nicht mehr auf dem PC lesbar. Auch sollten nur so viele Disk-Images verwendet werden, wie bei der Medium-Erstellung angegeben wurden. Werden Images über diesen Wert hinaus verwendet, dann können Schreibzugriffe die Daten beschädigen, die sich hinter der Medium-Datei befinden. Meine Empfehlung: Man sollte sich die Anzahl der Disk-Images notieren und am besten auf den Datenträger schreiben. Notfalls verrät der Dateiname die Anzahl: Die Zahl nach dem Minus-Zeichen gibt die Anzahl der Disk-Images an. Ein Beispiel: Bei folgendem Dateinamen 1015-250.img sind 250 Disk-Images nutzbar.

Schneller Wechsel auf FATware: Wenn die +divide Firmware aktiv ist und man möchte auf FATware wechseln, dann kann man die Datei fatware-012-image.zip laden und entpacken. Hier ist ein Disk-Image mit der FATware v0.12 enthalten. Einfach dieses Image mit der Option Disk-Image einfügen in das Medium aufnehmen und schon hat man eine schnelle Möglichkeit, von +divide auf FATware zu wechseln. Mit GO TO *1,0,x (x ist die Nummer des Disk-Images) und nachfolgendem RUN kann FATware v0.12 installiert werden.

Alternative Datensicherung: Eine Datensicherung ist auch möglich, indem man die Medium-Datei ganz normal kopiert. Ein Zurückschreiben ist aber nur auf den gleichen Datenträger möglich, wenn er vorher komplett gelöscht oder formatiert wurde.

Zum Schluss noch der obligatorische Hinweis: Ich kann nicht dafür garantieren, dass dieses Programm überall fehlerfrei läuft und das tut, was weiter oben beschrieben wird. Zwar habe ich alles ausgiebig getestet, trotzdem kann ich nicht ausschließen, dass Fehlfunktionen auftreten.

Das Programm ist Freeware und darf gern weitergegeben werden.


SymbolDivIDE Plus Manual
DivIDE-Plus-Manual.zipHandbuch für das DivIDE Plus als PDF-Datei (englisch)

Dieses Handbuch enthält eine komplette Beschreibung des DivIDE Plus Interface. Hier wird die Konfiguration der Hardware und der Anschluss von IDE-Geräten beschrieben. Außerdem werden alle vorinstallierten Firmwares vorgestellt und sehr ausführlich dokumentiert.


SymbolResiDOS v2.30
ResiDOS-230.zipResiDOS v2.30 - Installationspaket für DivIDE Plus

ResiDOS ist eine sehr komplexe Firmware für das DivIDE Plus und so nimmt allein die Beschreibung dieser Firmware gut die Hälfte des DivIDE Plus Manuals ein. Diese Firmware läuft als einzige vollständig im RAM und benutzt hierfür einen speziellen Modus des DivIDE Plus. Wenn das DivIDE Plus ausgeliefert wird, ist ResiDOS normalerweise vorinstalliert. Diese Version ist allerdings veraltet und sollte durch eine aktuelle Version ersetzt werden. Leider ist die ResiDOS-Seite bei World of Spectrum nicht mehr auffindbar und auch sonst scheinen alle Download-Möglichkeiten von ResiDOS verschwunden zu sein. Aus diesem Grund habe ich hier ein Paket mit der letzten Version v2.30 und einigen interessanten Packages (Erweiterungen) zusammengestellt.

Die Installation ist recht einfach: Nach dem Download wird das ZIP-Archiv entpackt und die Datei residos.tap in das Hauptverzeichnis einer CF-Karte im FAT-Format (muss nicht leer sein) kopiert. Die PKG-Dateien kommen ebenfalls auf die CF-Karte und können z.B. im Unterverzeichnis /system abgelegt werden. Für die Basis-Installation werden diese nicht benötigt. Mit dieser CF-Karte wird der Spectrum gestartet und dabei die Leertaste gedrückt. Beim Einschalten des DivIDE Plus wird FATware aktiv und durch die Leertaste wird eine neue Suche nach IDE-Geräten ausgelöst. Hier sollte unsere Speicherkarte angezeigt werden und ein beliebiger Tastendruck führt uns in den normalen Spectrum-Bildschirm. Jetzt wird der NMI-Taster gedrückt und im Disk Browser die Datei residos.tap ausgewählt. Dabei landet man wieder im Spectrum-BASIC und hier kann man mit LOAD "" den Installer starten. Eine Sicherheitsabfrage wird mit ENTER bestätigt und der Installer zeigt zunächst die erkannte RAM-Größe von 512kB an. Ein weiterer Druck auf ENTER startet schließlich die Installation. Diese dauert einige Sekunden, dann startet der Spectrum mit ResiDOS neu und zeigt einige Informationen über das System an.

Wenn ResiDOS einmal installiert ist, bleibt es natürlich durch die Batterie-Pufferung auch beim Ausschalten des Spectrum im Speicher und kann beim nächsten Systemstart mit OUT 23,72 bzw. OUT 23,104 wieder aktiviert werden. Dabei bleiben auch alle Einstellungen erhalten, wie z.B. die geladenen Module oder das zuletzt verwendete Verzeichnis auf der CF-Karte. Wünscht man eine Neuinitialisierung des Systems, dann kann man dies mit PRINT USR 0 auslösen.


SymbolESXDOS v0.8.8
esxdos088-fatware.zipESXDOS v0.8.8 und FATware - Installationspaket für DivIDE Plus

ESXDOS ist eine sehr umfangreiche Firmware, die nicht nur für DivIDE, sondern auch für DivMMC und MB03+ zur Verfügung steht. Die DivIDE-Version lässt sich auch auf dem DivIDE Plus verwenden. Dazu enthält das Download-Paket alle für ESXDOS 0.8.8 notwendigen Dateien, welche von der ESXDOS-Homepage stammen. Außerdem findet man im Paket noch 2 Installer für das DivIDE Plus sowie eine weitere Datei, die für FATware 0.14 erforderlich ist.

ESXDOS kann mit Medien im Format FAT16 und FAT32 umgehen und das sowohl lesend als auch schreibend. Leider werden keine langen Dateinamen unterstützt, allerdings ist die Entwicklung noch nicht abgeschlossen. ESXDOS enthält eine Emulation für virtuelle Bänder (lesend und schreibend) und eine Emulation für Betadisk/TR-DOS. Eine Besonderheit von ESXDOS sind die so genannten Dot-Commands. Das sind zusätzliche Kommandos, die relativ einfach zum System hinzugefügt werden können und mit einem Punkt beginnen, so wechselt beispielsweise das Kommando .cd /games in das Verzeichnis /games. Außerdem gibt es einige zusätzliche Module wie z.B. einen stark erweiterten NMI-Navigator.

Die Installation auf dem DivIDE Plus ist etwas komplizierter als auf einem einfachen DivIDE oder einem DivMMC. Die Ursache dafür ist der im DivIDE Plus verbaute Flash-Speicher. Bei diesem muss vor der Programmierung zunächst der betroffene Sektor gelöscht und anschließend die richtige Speicherbank ausgewählt und beschrieben werden. Für diesen Zweck wurde ein Flash-Utility entwickelt, welches allerdings kaum als Download zu finden ist. Ich hatte vor vielen Jahren eine spezielle Version von ESXDOS 0.8.5 für das DivIDE Plus bekommen und hier war das Flash-Utility enthalten. Aus diesem Paket habe ich den BASIC-Teil und das Flash-Utility entnommen und mit den aktuellen ROM-Dateien von ESXDOS und FATware kombiniert. Es gibt noch eine weitere Besonderheit: der Flash-Speicher ist in 8 einzeln löschbare Sektoren von jeweils 64kB unterteilt, allerdings enthält ein solcher Sektor 2 Firmwares. Das bedeutet, dass bei der Installation einer neuen Firmware immer auch die benachbarte Firmware neu installiert werden muss. Bezogen auf den Auslieferungszustand des DivIDE Plus befinden sich FATware und DEMFIR sowie +DivIDE und MDOS3 in einem gemeinsamen Speichersektor.

Nach der notwendigen Theorie nun zur Praxis: Ich möchte hier beschreiben, wie man ESXDOS mithilfe des Flash-Utilitys auf dem DivIDE Plus installiert. Dabei möchte ich folgendes Ziel erreichen: Die bisher nach Systemstart aktive (oder über OUT 23,0 auswählbare) FATware 0.12 soll durch ESXDOS 0.8.8 ersetzt werden. Dabei wird zwangsläufig (wie soeben beschrieben) auch die über OUT 23,2 auswählbare Firmware DEMFIR d0.7b gelöscht und müsste neu programmiert werden. Diese wird jedoch nicht genutzt und so werde ich bei dieser Gelegenheit FATware 0.12a an dieser Stelle installieren. Zur besseren Übersicht habe ich den Plan noch einmal in einer Tabelle zusammengefasst:

OUT 23,0OUT 23,2
VoreinstellungFATware 0.12DEMFIR d0.7b
nach InstallationESXDOS 0.8.8FATware 0.12a

Die nachfolgende Beschreibung gilt übrigens nicht nur für eine Neuinstallation, auch ein Update einer Firmware kann auf diese Weise durchgeführt werden. Grundsätzlich sollte man sehr sorgfältig arbeiten, denn eine falsche Aktion kann dazu führen, dass Spectrum und DivIDE Plus nicht mehr starten. In einem solchen Fall muss man das DivIDE durch Abziehen eines Jumpers auf der Rückseite deaktivieren, dann eine gute alte Kassette vorbereiten und damit das DivIDE wiederbeleben.

Zuerst wird die Datei esx88f12.tap, die sich im Verzeichnis DivIDE-Plus-Installer des Download-Paketes befindet, in das Hauptverzeichnis einer CF-Karte kopiert. Diese Karte sollte das Format FAT16 oder FAT32 haben und darf auch schon Dateien enthalten. Die Karte wird ordentlich vom PC entfernt und kommt nun in das DivIDE Plus. Der Spectrum wird anschließend mit gedrückter Leertaste eingeschaltet. Dabei führt die Firmware auf der ersten Speicherbank (entweder FATware oder ESXDOS) eine Neuinitialisierung durch und erkennt die neue CF-Karte. Weiter geht es mit einem Druck auf den NMI-Taster des DivIDE Plus. Im NMI-Dateimenü wird die soeben kopierte Datei esx88f12.tap ausgewählt und gestartet. Danach ist folgendes unspektakuläres Bild zu sehen:

DivIDE Plus Bild 1 An dieser Stelle hat man 2 Möglichkeiten: Möchte man jetzt ESXDOS installieren, dann geht es mit ENTER weiter zum Flash-Utility. Alternativ wird mit N die nächste ROM-Datei geladen, die sich in der Datei esx88f12.tap befindet. In diesem Fall würde FATware12a als nächstes geladen und wiederum das gleiche Menü angeboten. Mehr ROM-Dateien sind nicht vorhanden und wenn man jetzt nochmals auf N drückt, wird die TAP-Datei virtuell zurückgespult und erneut ESXDOS.BIN geladen.

Ich möchte ESXDOS installieren (wie im Bild zu sehen) und starte nun mit ENTER das Flash-Utility.

DivIDE Plus Bild 2 Bevor es zur Sache geht, erscheint noch eine kompakte Anleitung für die Installation der ersten Firmware (hier als Main-System bezeichnet). Genauso wird die Installation in den folgenden Schritten durchgeführt. Zusätzlich soll auch die nächste Bank mit einer weiteren Firmware programmiert werden.

Mit einer beliebigen Taste geht es weiter.

DivIDE Plus Bild 3 So zeigt sich das Flash-Utility nach dem Start. Auf dieser Seite kann man theoretisch eine der 32 ROM-Bänke (Pages) direkt starten. In der Praxis funktioniert das allerdings nicht. Dazu muss man wissen, dass immer 2 Pages (z.B. 0 und 1) zusammengehören und das vom daraus resultierenden 32kB-Block nur die letzten 8kB für eine DivIDE-Firmware benutzt werden. Die Firmware belegt also immer den oberen Bereich einer ungeraden Page und dieser lässt sich offensichtlich nicht in diesem Menü booten. Das ist aber kein Problem, die Boot-Funktion wird nicht benötigt.

Zurück zur eigentlichen Aufgabe: Jetzt soll der Bereich gelöscht werden, der mit einer neuen Firmware beschrieben werden soll. Diese Funktion wird mit der Taste X aufgerufen.

DivIDE Plus Bild 4 Dieses Bild zeigt das Erase-Menü. Über die Taste 0 wird der Sektor 0, welcher die Pages 0-3 (also die Firmwares 0 und 2) enthält, ohne weitere Rückfrage gelöscht. Während dieses Vorgangs, der ungefähr eine Sekunde dauert, erscheint der Hinweis Erasing... und nach Abschluss Done!

Wichtig: Das DivIDE Plus kann in diesem Zustand bei einem Reset nicht mehr booten. Also zügig weitermachen und mit ENTER (oder einer anderen Taste) wieder zurück ins Hauptmenü gehen. Hier wird nun über die Taste W das Program-Menü aufgerufen.

DivIDE Plus Bild 5 Auf diesem Bild ist das Program-Menü zu sehen. Hier muss jetzt über die Taste 1 die neue Firmware in Page 1 geschrieben werden. Auch dieser Vorgang startet ohne Rückfrage und wird durch den Hinweis Writing flash chip... bestätigt. Nach wenigen Sekunden sollte die Erfolgsmeldung Done! erscheinen. Mit ENTER (oder einer anderen Taste) kehrt man ins Hauptmenü zurück.

Damit ist ESXDOS als erste Firmware im Flash-Speicher installiert, allerdings wird es noch nicht funktionieren, da noch einige Komponenten auf der CF-Karte fehlen. Aus diesem Grund ist es an dieser Stelle sinnvoll, den Spectrum auszuschalten und die CF-Karte an den PC anzuschließen. Im Download-Paket befindet sich das Verzeichnis esxdos088 und hier müssen die 3 Unterverzeichnisse BIN, SYS und TMP komplett mit Inhalt ins Hauptverzeichnis der CF-Karte kopiert werden. Die so vorbereitete Karte kommt nun wieder in das DivIDE Plus und der Spectrum wird mit gedrückter Leertaste eingeschaltet. Jetzt sollte ESXDOS ganz normal starten.

Übrigens, die eben beschriebene Reihenfolge gilt auch bei einem Update von ESXDOS: Zuerst die ROM-Datei im Flash-Speicher erneuern und erst dann die Dateien auf der CF-Karte austauschen.

Die Installationsprozedur ist damit noch nicht abgeschlossen, denn bei der Löschung des Speichersektors wurde auch die Firmware auf den Pages 2 und 3 entfernt. Hier soll jetzt FATware installiert werden und dafür ist es nochmals erforderlich, die Datei esx88f12.tap zu starten. Dies kann mit dem soeben installierten ESXDOS und dessen NMI-Menü erledigt werden.

DivIDE Plus Bild 6 Hier wurde der Installer gestartet und mit N bereits die nächste ROM-Datei FATware12a geladen. Jetzt geht es mit ENTER weiter zur Seite mit der Kurzanleitung und mit nochmaligem ENTER zum Flash-Utility. Die Sektor-Löschung darf bei diesem Schritt nicht ausgeführt werden und es geht mit W direkt zum Program-Menü.

DivIDE Plus Bild 5 Dieses Bild zeigt nochmals das Program-Menü. Abweichend zur ersten Firmware muss jetzt über die Taste 3 die neue Firmware in Page 3 geschrieben werden. Dieser Vorgang startet wiederum ohne Rückfrage mit dem Hinweis Writing flash chip... und endet einige Sekunden später mit der Meldung Done!. Mit ENTER (oder einer anderen Taste) kehrt man ins Hauptmenü zurück und die Taste Z beendet das Flash-Utility.

Damit ist die komplette Installation abgeschlossen. Zum finalen Test von FATware stoppt man mit BREAK das BASIC-Programm, schaltet mit OUT 23,2 auf die soeben installierte FATware um und startet eine Initialisierung mit PRINT USR 0. Nach dem Druck auf ENTER zur Ausführung muss man schnell sein und sofort die Leertaste drücken, damit FATware die CF-Karte neu einlesen kann.

Das Installationspaket enthält übrigens noch den Installer esx88f14.tap. Hier ist neben ESXDOS 0.8.8 noch die relativ aktuelle FATware 0.14a3 enthalten. Allerdings haben FATware-Versionen ab 0.14 die Besonderheit, dass sie eine weitere Datei auf der CF-Karte benötigen. Diese wird bei der Initialisierung geladen und anschließend das DivIDE Plus in den MAPRAM-Modus umgeschaltet. Wurde FATware (wie oben beschrieben) als Firmware 2 installiert, dann läuft das solange gut, bis ein Spectrum-Reset erforderlich ist. Dabei schaltet das DivIDE Plus auf die Firmware 0 zurück (in diesem Fall ESXDOS), lässt aber den MAPRAM-Modus aktiv und das führt unweigerlich zum Crash, aus dem man nur durch kurzes Abschalten der Stromversorgung wieder herauskommt.

Möchte man trotzdem FATware 0.14a3 verwenden, dann empfehle ich die Installation von FATware als erste Firmware (abweichend von der Anleitung oben). Nach dieser Prozedur muss noch das Verzeichnis FATware mit Inhalt, welches sich im Installationspaket unter FATware014a3 befindet, in das Hauptverzeichnis der CF-Karte kopiert werden. Anschließend wird FATware mit gedrückter Leertaste gestartet und nach erfolgreicher Initialisierung steht auch das NMI-Menü zur Verfügung, so dass weitere Firmwares installiert werden können.

Mit FATware als erste Firmware führt ein Reset mit aktivem MAPRAM-Modus immer zu FATware zurück und das System bleibt am Leben. Man muss allerdings beim Wechsel auf eine andere Firmware beachten, dass man zunächst mit OUT 23,192 den MAPRAM-Modus ausschaltet und erst dann die gewünschte Firmware mit dem entsprechenden OUT 23,x aufruft. Nach der Rückkehr zu FATware (entweder durch Reset oder mit OUT 23,0) ist allerdings wieder eine Initialisierung erforderlich.