home *** CD-ROM | disk | FTP | other *** search
- See 1968.DOC for english description.
- -----------------------------------------------------------------------------
-
- 1 9 6 8
- ___________
- ~^~^~^~^~^~
-
- "... to boldly go where no man has gone before..." (Star Trek)
-
- -----------------------------------------------------------------------------
-
- Copyright (c) 1992 by TBH-Softworx --- all rights reserved
- Oliver Fromme, Klingestr. 2, W-3380 Goslar, Germany
- email: inof@sun.rz.tu-clausthal.de
-
- *** Version vom 20. 11. 1992
-
-
- Die Programme in diesem Paket sind CARDWARE. Sie dürfen unter den
- folgenden Bedingungen frei kopiert, weitergegeben und benutzt werden:
-
- * Das Kopieren, Weitergeben bzw. Benutzen darf nur unentgeldlich
- und nicht kommerziell erfolgen.
-
- * Programme und Anleitung dürfen nicht getrennt werden, d. h. die
- Dateien FORM1968.EXE, READ1968.COM und 1968.DOK/DOC dürfen nur zusammen
- weitergegeben werden.
-
- * An Programmen und Anleitung dürfen keine Kürzungen, Ergänzungen
- oder Veränderungen vorgenommen werden, d. h. die Dateien FORM1968.EXE,
- READ1968.COM und 1968.DOK/DOC müssen im Original-Zustand verbleiben.
-
- * CARDWARE bedeutet: Wer diese Programme benutzt oder sie gut findet
- (oder beides...), möge mir bitte ein Postkarte schreiben. Mich würde
- nämlich interessieren, wie weit mein Format herumkommt. Bitte kein
- Geld schicken, dies ist keine Shareware (würde sowieso niemand machen).
- Ich finde, die 60 Pfennig Porto ist es allemal wert.
-
- ACHTUNG:
- Die Benutzung der o. g. Programme erfolgt auf eigene Gefahr!
- Der Autor übernimmt keine Verantwortung oder Haftung für Schäden jeg-
- licher Art an Personen, Sachen, Hard- oder Software, die aus der Ver-
- wendung dieser Programme direkt oder indirekt, beabsichtigt oder un-
- beabsichtigt, durch Programmfehler oder durch reguläre Programm-
- funktionen resultieren.
- Der Autor übernimmmt keine Garantie für die Funktionsfähigkeit und Ver-
- wendbarkeit dieser Programme in irgendeiner Situation.
-
- Dies ist ein Beta-Release. Von meinen Freunden konnten ca. 30 Prozent
- keine 1968er-Disks formatieren und beschreiben. Dies lag zum Teil an
- den älteren Diskettenlaufwerken, die mit dem Format überfordert waren,
- zum Teil an kleinen "Besonderheiten" (oder besser "Widrigkeiten"...)
- der jeweilige BIOSe. Nun, ich arbeite daran, den oben genannten
- Prozentwert zu verbessern.
- Übrigens: Lesen konnte die 1968er-Disks bisher jeder (auch die o. g.
- 30 Prozent).
-
- Auf alle Fälle: Bevor Sie irgendwelche wertvollen Daten auf 1968er-Disks
- speichern, prüfen Sie, ob das 1968-System bei Ihnen einwandfrei läuft!
-
- Noch eine Bemerkung: Ich bin vielleicht gezwungen, das 1968-Format in
- zukünftigen Versionen zu verändern, um obigen Prozentwert zu verbessern
- (ich plane eine Änderung, mit der ich 64 Bytes pro Spur sparen kann).
- Wenn dies der Fall ist, werde ich ein einfach zu bedienendes
- Konvertierungsprogramm zur Verfügung stellen, das Disketten im alten
- 1968-Format auf das neue umkopiert. Dies ist allerdings noch ein
- ungelegtes Ei, möglicherweise ist die Formatänderung überflüssig.
-
- -----------------------------------------------------------------------------
-
- Inhalt
- ~~~~~~
- 1. Prolog: Was ist das 1968er-Format? Systemvoraussetzungen
- 2. Über Mb und Megabytes, Kapazität von Disketten
- 3. Die Wahrheit über die Diskettenkapazität
- 4. Arbeiten mit dem 1968er-Format, READ1968 installieren
- 5. Formatieren von 1968er-Disketten, Verwendung von FORM1968
- 6. Kompatibilität, bekannte Probleme, Bugs, Schwierigkeiten
- 7. Technische Informationen, wie das Unmögliche möglich wird
- 8. Informationen für Programmierer, der Interrupt 13h
- 9. Beta-Tester
-
- -----------------------------------------------------------------------------
-
- 1. Prolog
- ~~~~~~~~~
-
- Hello everyone!
-
- Ich habe etwas neues ausgebrütet --- ein neues Formatierprogramm.
- Man kennt ja FDFORMAT und FDREAD. Damit kann man Disketten auf 1.72 Mb
- formatieren (um genau zu sein, 1722 Kb). Ich habe mir nun ein paar
- Gedanken dazu gemacht, ob nicht noch mehr Speicher auf eine Disk geht.
-
- Und siehe da: Es geht! Kein Aprilscherz! Wieviel ...? Soviel ...:
-
- 2,015,232 Bytes = 1968 Kb = fast 2 Mb!!!
-
- Nein, wirklich kein Witz! Übrigens: die unformatierte Kapazität einer
- Diskette beträgt genau 1920 Kb --- mein Format holt also mehr 'raus,
- als eigentlich drin ist!
-
- (Anmerkung: Kb steht hier für 1024 Bytes, Mb für 1024 Kb = 1,048,576 Bytes.
- Wenn man "Mega" im Sinne von 1,000,000 verwendet, beträgt die Kapazität des
- neuen Formats sogar mehr als 2 Megabytes!)
-
- Systemvoraussetzungen:
- * AT (80286 oder besser), IBM-kompatibel
- * mindestens ein 3 1/2 Zoll HD-Diskettenlaufwerk
- * mindestens eine 3 1/2 Zoll HD-Diskette
- * MS-DOS 3.2 oder besser (getestet wurde nur auf 5.0)
- * mindestens 24 Kb XMS-Speicher und ein passender Treiber
- (z. B. HIMEM.SYS von MS-DOS 5.0)
-
- -----------------------------------------------------------------------------
-
- 2. Über Mb und Megabytes, Kapazität von Disketten
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- Wie bereits angedeutet, ist Mbytes und Megabytes nicht das gleiche:
- 1 MByte (Mb) = 1,048,576 Bytes (2 hoch 20)
- 1 Megabyte = 1,000,000 Bytes (10 hoch 6)
- Analog verhält es sich mit den Begriffen KBytes und Kilobytes:
- 1 KByte (Kb) = 1,024 Bytes (2 hoch 10)
- 1 Kilobyte = 1,000 Bytes (10 hoch 3)
- Manchmal schreibt man auch ein kleines "k", wenn man 1,000 Bytes meint:
- 1 kbyte (kb) = 1,000 Bytes (10 hoch 3)
-
- (Ich verwende hier die amerikanische Schreibweise: ein "." als Dezimal-
- Punkt und "," als Trennzeichen für die Tausender und Millionen.)
-
- Die "unformatierte Kapazität" einer Diskette ist die reine physikalische
- Kapazität. Sie errechnet sich aus der Anzahl der Seiten multipliziert mit
- der Anzahl der Spuren pro Seite multipliziert mit der Anzahl der Bytes,
- die in einer Umdrehung auf eine Spur geschrieben werden können.
-
- Die "formatierte Kapazität" einer Diskette ist die Speichermenge, die
- nach der Formatierung auf die Diskette geschrieben werden kann. Sie
- errechnet sich aus der Anzahl der Seiten multipliziert mit der Anzahl der
- Spuren pro Seite multipliziert mit der Anzahl der Sektoren pro Spur
- multipliziert mit 512 (jeder Sektor enthält 512 Bytes). Die Sektoren,
- die DOS für die Verwaltung braucht (Bootblock, FATs, Hauptverzeichnis),
- werden hiervon nicht abgezogen, obwohl diese Bereiche nach der Formatierung
- nicht mehr für die Datenspeicherung zur Verfügung stehen.
-
- Normalerweise ist die formatierte Kapazität wesentlich kleiner als die
- unformatierte. Was ist mit den "verlorenen" Bytes (immerhin 480 Kb bei
- 1440 Kb-Disketten) passiert? Sie werden vom Disketten-Controller für
- verschiedene Verwaltungsdaten verwendet:
- * Am Beginn einer jeden Spur stehen einige Bytes, die Identifizierungs-
- und Kontrolldaten für die Spur enthalten. Diese werden vom Controller
- benötigt, sie werden beim Formatieren automatisch (und unabänderlich)
- geschrieben.
- * Zu jedem Sektor gehören außer den 512 Bytes Daten noch weitere 62 Bytes,
- die Synchronisierungsbytes, Adressmarken, Sektoradresse (= Nummer von
- Kopf, Spur und Sektor), CRC-Prüfcodes sowie eine Lücke enthalten.
- Die Lücke braucht der Controller, damit er den CRC-Prüfcode ausrechnen
- und vergleichen kann. Diese 62 Bytes kann man nicht manipulieren;
- der Controller ist darauf fest eingestellt.
- * Zwischen jeweils zwei Sektoren befindet sich eine Lücke. Sie dient
- ebenfalls der Zeitverzögerung (damit der Controller den CRC-Prüfcode
- des Datenbereichs ausrechnen und vergleichen kann); außerdem dient
- sie als Puffer, um Schwankungen in der Umdrehungsgeschwindigkeit der
- Diskette auszugleichen. Die Länge dieser Lücke kann man einstellen.
- Normalerweise (bei 1440 Kb-Disks) ist sie 108 Bytes lang, bei 1722 Kb-
- Disks ist sie auf 12 Bytes reduziert, bei 1440 Kb-Disks auf 5 1/4 Zoll
- sogar ist sie sogar nur 2 Bytes lang (der kleinstmögliche Wert).
-
- -----------------------------------------------------------------------------
-
- 3. Die Wahrheit über die Diskettenkapazität
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- Auf Diskettenverpackungen von 3 1/2 Zoll-HD-Disks liest man oft:
- "Unformatierte Kapazität 2Mb, formatiert 1.44 Mb."
- Beide Angaben sind FALSCH! Diese Werte sind weit verbreitete Irrtümer!
-
- Zur unformatierten Kapazität:
- Ein normales 3 1/2 Zoll-HD-Laufwerk schreibt in einer Umdrehung 12 KBytes
- (12,288 Bytes). Meistens sind es ein paar Bytes mehr, damit auch bei
- schwankender Drehgeschwindigkeit immer noch 12 KBytes draufgehen. Wenn man
- diesen Wert mit 160 multipliziert (2 Seiten und 80 Spuren pro Seite),
- kommt man auf genau 1920 KBytes, das sind 1.875 Mb. Dies ist die
- unformatierte Kapazität, kein Byte mehr.
-
- Zur formatierten Kapazität:
- Das DOS formatiert eine 3 1/2 Zoll-HD-Diskette mit 18 Sektoren pro Spur
- (jeder Sektor enthält 512 Bytes), also 9 Kb pro Spur. Multipliziert mit
- 160 macht das 1440 Kbytes, das sind 1.40625 Mb. Und weil ich so pingelig
- bin, ist in dieser Anleitung nur von 1440 Kb-Disks die Rede, nicht von
- 1.44 Mb-Disks.
-
- Übrigens: FDFORMAT formatiert mit 21 Sektoren, also 10.5 Kb pro Spur.
- Außerdem werden 82 Spuren pro Seite formatiert. Dadurch kommt man auf
- 1722 Kbytes, das sind (um genau zu sein) 1.681640625 Mb.
-
- -----------------------------------------------------------------------------
-
- "May the Force be with you. Always." (Star Wars)
-
- -----------------------------------------------------------------------------
-
- 4. Arbeiten mit dem 1968er-Format
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- Zum Arbeiten mit dem 1968er-Format braucht man das folgende Programm:
- READ1968.COM
- Es dient dazu, MS-DOS das neue Format zu "verklickern", und entspricht
- somit FDREAD beim 1722 Mb-Format. Allerdings ist der nötige Aufwand hier
- wesentlich höher, weshalb dieses Programm deutlich länger ist.
-
- Am besten, man ruft READ1968 in seiner AUTOEXEC.BAT-Datei unmittelbar
- nach FDREAD auf (nicht davor, das könnte Probleme geben!). Wer FDREAD
- nicht verwendet, braucht sich darum keine Gedanken zu machen. Mit
- LOADHIGH (MS-DOS 5.0) kann man READ1968 auch problemlos in die UMBs
- hochladen (wenn man später nur die Einstellung ändern will, braucht man
- LOADHIGH natürlich nicht noch einmal anzugeben). Einmal installiert,
- belegt READ1968 knappe 6 Kb Speicher (das ist weniger als z. B. KEYB,
- DOSKEY oder SMARTDRV 4.0).
- (Anmerkung: READ1968 ist komplett in 80286-Assembler geschrieben. Die
- frühere Turbo-Pascal-Version, die die gleichen Funktionen implementierte,
- belegte 23 Kb.)
-
- Die Aufruf-Syntax sieht so aus:
- READ1968 [<Cache>] [V+|V-] [D+|D-] [U] [?]
- Das Programm ist dabei sehr unempfindlich. Jeder Parameter kann weggelassen
- werden oder mehrfach angegeben werden (dann gilt die letzte Angabe), die
- einzelnen Parameter können durch beliebig viele Leerzeichen oder auch gar
- nicht voneinander getrennt werden, die Einleitungszeichen "/" und "-"
- werden (falls vorhanden) ignoriert. Die Reihenfolge der Parameter ist
- unerheblich. Statt "+" bzw. "-" kann man auch "1" bzw. "0" schreiben.
- Wenn keines dieser vier Zeichen angegeben ist, wird ein "+" angenommen.
- Wenn ein Fehler aufgetreten ist oder die Parameter "U" oder "?" angegeben
- sind, werden alle anderen gültigen Parameter ignoriert.
-
- Zu den einzelnen Parametern:
- * <Cache> ist eine ganze Zahl zwischen 2 und 165, die angibt, wieviele
- Chaches für Diskettenspuren angelegt werden sollen. Jeder Cache belegt
- 12 Kb XMS-Speicher. Fehlt diese Angabe bei der Installierung, werden
- 20 Caches (240 Kb) angelegt. Mehr dazu weiter unten.
- * V+/V- schaltet das Verifizieren beim Schreiben an oder aus. Fehlt diese
- Angabe bei der Installierung, wird es ausgeschaltet. Wenn man es ein-
- schaltet, wird nach jedem Schreibzugriff sofort ein Lesezugriff durch-
- geführt, um zu prüfen, ob die Daten korrekt aufgezeichnet wurden.
- ACHTUNG: Das DOS-eigene VERIFY hat keine Wirkung! Dies liegt daran,
- daß DOS beim prüfenden Lesezugriff lediglich den Inhalt des Caches
- serviert bekommt.
- * D+/D- schaltet die 1968-Routinen an oder aus. Fehlt diese Angabe bei der
- Installierung, wird es angeschaltet. Ein Ausschalten bedeutet NICHT, daß
- READ1968 deinstalliert wird. Es heißt lediglich, daß bei einem Disk-
- Zugriff nur die normalen BIOS-Routinen angesprungen werden. Dies führt
- bei 1968 Kb-Disks normalerweise zu einem "Sektor nicht gefunden"-Fehler.
- * U (Uninstall) bewirkt eine komplette Deinstallierung von READ1968, d. h.
- es wird aus dem Speicher entfernt. Sollte sich nach READ1968 ein weiteres
- Programm in den Disketten-Interrupt eingeklinkt haben, müssen 16 Bytes
- von READ1968 im Speicher verbleiben, die die Interrupt-Kette aufrecht
- erhalten (die meisten anderen TSR-Programme bleiben in einem solchen Fall
- komplett im Speicher!). In jedem Fall kann man READ1968 jederzeit erneut
- installieren.
- * ? bewirkt die Ausgabe eines kurzen Hilfstextes.
-
- Wenn man READ1968 zum ersten mal aufruft (wenn es geht, mit LOADHIGH),
- installiert es sich sofort im Speicher, es sei denn, man hat den Parameter
- "U" oder "?" angegeben oder es tritt ein Fehler auf. Dabei legt es 20
- Caches an (240 Kb), schaltet das Verifizieren aus und die 1968-Routinen
- ein, wenn man keine Parameter angegeben hat, die dies ändern.
- Beispiel:
- LOADHIGH READ1968 60 V+
- Installiert das Programm im oberen Speicherbereich (wenn möglich, sonst im
- konventionellen), legt 60 Cache-Spuren an und schaltet das Verify ein.
- Da "D" nicht angegeben ist, werden die 1968-Routinen (gemäß Default)
- angeschaltet. (Wer kein MS-DOS 5.0 hat, läßt das LOADHIGH weg.)
-
- Bei jedem weiteren Aufruf vom READ1968 wird es nicht erneut installiert,
- sondern es werden die Werte der bereits installierten Instanz geändert.
- Ein LOADHIGH kann man sich hier natürlich sparen (es schadet aber auch
- nichts). Nicht angegebene Parameter werden nicht verändert.
- Beispiele:
- READ1968 10
- Ändert die Anzahl der Cache-Spuren auf 10. Eine solche Änderung ist
- jederzeit möglich. Da weder "V" noch "D" angegeben sind, bleiben diese
- Einstellungen unverändert.
- READ1968 D-
- Schaltet die 1968-Routinen ab. Die Anzahl der Cache-Spuren und die
- Verify-Einstellung bleiben unverändert. (Nach dem Abschalten der
- 1986-Routinen sollte man die Diskette herausnehmen, damit MS-DOS den
- Wechsel bemerkt.)
- READ1968
- Bei diesem Aufruf wird nichts verändert. Es werden die momentanen
- Einstellungen auf dem Bildschirm ausgegeben.
-
- Noch ein paar Worte zum Cache:
- Ein Wert von 20 ist schon recht brauchbar. Wer genügend XMS-Speicher hat,
- kann auch 40 oder noch mehr angeben. Bei 165 paßt eine komplette Diskette
- in den Cache. Wenn man eine Diskette zweimal hintereinander liest, wird
- dann beim zweitenmal lediglich der Cache ausgelesen, es erfolgt kein Disk-
- Zugriff. Dies geht natürlich sehr schnell (die Laufwerks-LED flackert dabei
- ähnlich wie bei einer Festplatte!). Auch bei einem Minimal-Cache von 2
- Spuren ist eine 1968 Kb-Diskette beim Lesen im allgemeinen schneller als
- eine 1440 Kb-Diskette, vor allem bei vielen kleinen Dateien.
- Schreibzugriffe erfolgen sofort ("Write through"), diese werden vom Cache
- daher nicht beschleunigt. Beim Schreiben vieler kleiner Dateien ist eine
- 1968 Kb-Disk daher etwas langsamer als eine 1440 Kb-Disk. Im Durchschnitt
- jedoch ist die Performance besser als bei einer 1722 Kb-Disk (auch bei einem
- Minimal-Cache von zwei Spuren), was sich besonders bei großen Dateien
- bemerkbar macht. 1968 Kb-Disketten sind daher ganz besonders für Archiv-
- Dateien und Backups geeignet.
-
- -----------------------------------------------------------------------------
-
- 5. Formatieren von 1968er-Disketten
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- Zum Formatieren einer Diskette im 1968er-Format wird das folgende
- Programm benötigt:
- FORM1968.EXE
- Hiermit kann man also eine 3 1/2-Zoll-Diskette auf 1968 Kb formatieren.
-
- Die Aufruf-Syntax lautet
- FORM1968 <Laufwerk> [<Optionen>].
- Aus Sicherheitsgründen muß man hier die Syntax genau einhalten.
-
- Für <Laufwerk> ist entweder "A:" oder "B:" einzusetzen.
-
- Als <Optionen> sind z. Zt. die folgenden (auch kombiniert) verwendbar:
- /R - Schaltet das Verifizieren (Prüfen) beim Formatieren aus.
- Dies ist nicht empfehlenswert! Lieber etwas länger warten
- und dafür sichere Daten! Dies hat übrigens nichts mit der
- Verify-Einstellung bei READ1968 zu tun.
- /Q - Führt eine Schnell-Formatierung durch, d. h. es werden nur
- Bootblock, FATs und Hauptverzeichnis neu geschrieben. Dies
- ist nur dann empfehlenswert, wenn die Disk vorher schon
- einmal mit der gleichen Größe (siehe /T) normal (d. h. ohne /Q)
- formatiert worden ist. Dies entspricht einem kompletten
- Löschen der Diskette.
- /T:n - Hiermit kann man die Anzahl der Spuren pro Seite festlegen.
- Fehlt diese Angabe, werden 82 Spuren formatiert (wie /T:82).
- Diese Angabe kann nötig sein, da (angeblich) einige Disketten
- bzw. Laufwerke nicht mehr als 80 Spuren verarbeiten können. Am
- besten, man versucht erstmal 82 Spuren. Wenn's nicht klappt,
- kann man ja immer noch einen geringeren Wert probieren.
- /E:n - Hiemit kann man angeben, wie oft bei einem Fehler ein neuer
- Versuch unternommen werden soll. Fehlt diese Angabe, wird
- maximal ein zusätzlicher Versuch unternommen (wie /E:1).
- Wenn man /E:0 angibt, wird bei einem Fehler sofort aufgegeben
- und zur nächsten Spur gegangen. Maximum sind 4 zusätzliche
- Versuche.
-
- Noch ein paar Hinweise:
- * Auch wenn beim Formatieren Fehler auftreten, kann man die Diskette
- benutzen, da die fehlerhaften Spuren von FORM1968 in der FAT
- gekennzeichnet werden, so daß MS-DOS sie nicht benutzt. Bei der
- Schnell-Formatierung werden die als fehlerhaft gekennzeichneten
- Spuren übernommen (hier besteht allerdings die Gefahr, daß Fehler
- (z. B. Kratzer), die nach der ersten Formatierung entstanden, nicht
- erkannt werden, da ja die Diskette bei der Schnell-Formatierung nicht
- erneut überprüft wird.).
- * Zum Formatieren muß READ1968 eigentlich nicht installiert sein (aber wenn
- man's nicht drin hat, kann man mit der frisch formatierten Diskette
- absolut nichts anfangen).
- * Nach dem Formatieren kann man sich gleich mit CHKDSK davon überzeugen,
- daß es geklappt hat.
- * Mit dem MS-DOS-Kommando LABEL kann man der formatierten Diskette einen
- Namen geben (daher habe ich darauf verzichtet, eine entsprechende
- Funktion in FORM1968 zu implementieren).
- * FORM1968 gibt jeder formatierten Diskette (auch bei der Schnell-
- Formatierung) eine achtstellige hexadezimale Datenträgernummer (wie
- das FORMAT von MS-DOS 5.0 auch).
- * Die Anzahl der Spuren pro Seite (Option /T:n) kann auch kleiner als 80
- sein (Minimum ist 1). Dies ist aber höchstens für Testzwecke nützlich.
- * Es gibt Laufwerke, die keine 1968 Kb-Disketten formatieren können.
- Dies liegt vermutlich daran, daß sich die Spindelmotoren geringfügig
- schneller drehen, wodurch weniger Bytes auf eine Spur passen.
- In den meisten Fällen kann man aber trotzdem mit den 1968 Kb-Disketten
- arbeiten, nur formatieren muß man sie halt auf einem anderen Laufwerk.
-
- -----------------------------------------------------------------------------
-
- "A big leap for a man, but a little step for mankind."
- (frei nach Neil Armstrong)
-
- -----------------------------------------------------------------------------
-
- 6. Kompatibilität
- ~~~~~~~~~~~~~~~~~
-
- Das neue Format ist voll MS-DOS-kompatibel. Beim Autor hat keines der
- MS-DOS-Kommandos (Version 5.0) Schwierigkeiten gemacht. Man kann sogar
- mit dem DISKCOPY-Befehl eine 1968-Disk kopieren (allerdings muß die Ziel-
- Diskette schon formatiert sein).
-
- Ebenso Anwendungsprogramme (ich habe diverse Programmiersprachen, MS-Works,
- einige Editoren und Packer ausprobiert) --- keine Probleme. Auch Disk-
- Utilities (PC-Tools und Norton Utilities) funktionierten ohne zu Murren.
- Ich habe mit ARJ ein großes Unterverzeichnis auf mehrere 1968-Disketten
- gepackt. Lief wunderbar, war sogar schneller als bei 1722er-Disks. Man
- kann auch mit COMPRESS (PC Tools 6.0) problemlos eine 1968-Disk defragmen-
- tieren (hier empfiehlt sich ein großer Cache). Mit DE (DiskEdit) der Norton
- Utilities (5.0) kann man ohne weiteres eine 1968er-Disk bearbeiten (aller-
- dings nur als "logische" Disk, nicht als "physikalische" --- aber das geht
- bei 1722er-Disks auch nicht).
-
- Das Programm NDD (Norton Disk Doctor) der Norton Utilities hat übrigens
- Schwierigkeiten mit dem 1968-Format. Allerdings hat es die auch mit einer
- 1722er-Disk, daher sehe ich das nicht als gravierend an. NDD besteht
- darauf, daß die Diskette 18 Sektoren und 80 Zylinder hat. Ich sehe das
- als Fehler von NDD, der in dieser Hinsicht nicht flexibel genug ist; auf
- keinen Fall ist es ein Fehler von READ1968. (Ich habe die Norton Utilities
- in der Version 5.0, vielleicht ist es in neueren Versionen auch schon
- behoben.)
-
- Generell kann man sagen: alle Programme, die mit dem 1722er-Format zurecht-
- kommen, haben auch mit dem 1968er-Format keine Schwierigkeiten.
-
- Falls man die PC-Tools hat (ich hab's mit Version 6.0 probiert), kann man
- mal vergleichsweise mit DISKFIX einen Oberflächen-Test auf einer 1.44 MB-
- Disk und auf einer 1968-Disk machen. Der Test auf der 1968er-Disk ist etwa
- 10 mal schneller (das liegt am Cache von READ1968)!
-
- Jetzt kommt der Haken: Das 1968-Format funktioniert nicht mit Programmen,
- die direkt auf den Floppy-Controller zugreifen. Dazu gehört HD-COPY sowie
- einige andere Disketten-Kopierprogramme (auch die neue Version von VGA-Copy)
- und die meisten Software-Cache-Programme.
- HD-COPY erkennt beim Lesen das 1968-Format nicht und meldet mehr oder
- weniger viele Fehler. Beim Schreiben im Safe-Modus merkt er aber immerhin,
- daß die Diskette formatiert ist und Daten enthält, und macht eine Sicher-
- heitsabfrage. Falls mein Rechner nicht der einzige ist, auf dem das 1968er-
- Format funktioniert, werde ich HD-COPY auch daraufhin erweitern, dieses
- neue Format zu bearbeiten.
-
- Falls man einen Software-Cache (z. B. HyperDisk) hat: UNBEDINGT ABSCHALTEN!
- Zumindest für die Floppy-Laufwerke! READ1968 zusammen mit einem Cache zu
- betreiben ist etwa genauso datenfreundlich wie "FORMAT C:". Als Ausgleich
- ist aber bei READ1968 schon ein mehr oder weniger großer Cache eingebaut.
- Der Cache ist allerdings nur beim Lesen wirksam, d. h. beim Schreiben
- erfolgt ein Write-through.
- Um bei HYPERDISK den Floppy-Cache abzuschalten, muß man den Parameter "H"
- angeben. Bei SMARTDRV muß man "A- B-" angeben.
-
- Falls DOS einmal bei einer 1968er-Disk "Sektor nicht gefunden" meldet,
- sollte man einmal versuchen, die Disk kurz 'rauszunehmen, wieder einzulegen
- und die jeweilige Operation zu wiederholen. Dann wird nämlich READ1968 ver-
- anlaßt, die Diskette neu zu kalibrieren und das Format zu testen. Normaler-
- weise darf dieser Fehler aber nicht auftreten (falls doch, bitte ich darum,
- es mir mitzuteilen).
-
- Das neue Format ist im Moment noch etwas langsam, wenn man viele kleine
- Dateien schreibt. Bei großen Dateien (z. B. ARJ-Archive) ist es aber sogar
- etwas schneller als das 1722er-Format. Wenn man bei READ1968 den Cache
- genügend groß dimensioniert, wird unter Umständen sogar Festplatten-
- Geschwindigkeit erreicht, sowohl beim Zugriff als auch bei der Übertragung!
- (Dabei flackert die Laufwerks-LED auch wie bei einer Festplatte...)
-
- -----------------------------------------------------------------------------
-
- 7. Technische Informationen
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- Das 1968er-Format arbeitet mit 82 Spuren pro Seite und 24 Sektoren pro Spur.
- Das macht insgesamt 3936 Sektoren (zum Vergleich: eine 1440 Kb-Disk hat
- "nur" 2880 Sektoren). Falls man sich ein bißchen mit der Floppy-Hardware
- auskennt, kann man sich ausrechnen, daß 24 Sektoren pro Spur technisch,
- physikalisch und hardwaremäßig ganz und gar unmöglich sind (die 21 Sektoren
- bei 1722er-Disks sind schon das äußerste). Die unformatierte Kapazität
- (d. h. die rein physikalische Kapazität, ohne Verwaltungsinformationen)
- beträgt schließlich nur 1920 Kb. Und davon geht noch einiges herunter für
- Synchron-Signale, Index- und Daten-Adressmarken, Sektor-IDs und jede Menge
- Lücken, die der Disketten-Controller zur Verarbeitung braucht.
-
- Wie ich es dennoch geschafft habe, soll vorläufig mein Geheimnis bleiben.
- Auch mit einem Diskettenmonitor kann man es nicht knacken. Falls es irgend-
- ein Freak schaffen sollte, dem Geheimnis auf die Spur zu kommen: herzlichen
- Glückwunsch! (Damit könnte ich einen Wettbewerb starten: der erste, der
- es 'rauskriegt, braucht mir keine Karte zu schreiben --- höhö.)
-
- -----------------------------------------------------------------------------
-
- 8. Informationen für Programmierer
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- READ1968 klinkt sich in den Interrupt 13h ein (Interrupt für Diskette und
- Festplatte). Ansonsten werden keine Interrupts verwendet.
- Der Installations-Check sieht so aus:
- MOV AH,1
- MOV DL,127
- INT 13h
- Wenn danach AH den Wert 42 enthält, ist READ1968 installiert. ES und BX
- enthalten dann Segment und Offset einer internen Datenstruktur. ES ist
- zugleich das PSP-Segment von READ1968.
- Die erwähnte Datenstruktur hat den folgenden Aufbau:
-
- Offset Größe Bedeutung
- --------------------------
- -4 Word XMS-Handle für die Cache-Spuren (der XMB ist "locked")
- -2 Word Anzahl der Cache-Spuren (2-165)
- 0 Byte Flag-Register (siehe unten)
- 1 Byte reserviert für spätere Versionen (0)
- 2 Word Versionsnummer als gepackte BCD-Zahl (z. Zt. 0110h)
- 4 8 Bytes Programm-Autor ('TBHsworx')
- 12 8 Bytes Programm-Name ('READ1968')
- 20 DWord Far-Adresse des vorhergehenden Interrupt-13h-Handlers
-
- Bis auf das Flag-Register dürfen alle Informationen nur gelesen werden. Das
- Ändern der Speicherinhalte kann Fehlfunktionen (bis hin zum vollständigen
- Systemabsturz) zur Folge haben.
- Das Flag-Register hat den folgenden Aufbau:
-
- Bit Bedeutung
- ---------------
- 0 Verify-Flag (0 = Verifizierung aus, 1 = an)
- 1 Invalid-Flag (1 = Cache wurde ungültig, z. B. durch Formatierung)
- 2 Deaktiv-Flag (1 = 1968-Routinen deaktiviert)
- 3-6 reserviert für spätere Versionen (0)
- 7 Uninstall-Flag (1 = Uninstall wurde angefordert)
-
- Das Verify-Flag und das Deaktiv-Flag kann man schreiben und lesen. Das
- Invalid-Flag darf außerhalb von READ1968 nur auf 1 gesetzt werden, alles
- andere führt zu Fehlfunktionen. Das Uninstall-Flag ist außerhalb von
- READ1968 immer 0 und darf auch nicht auf 1 gesetzt werden.
- Wenn man das Deaktiv-Flag von 1 auf 0 setzt, muß man das Invalid-Flag
- auf 1 setzen. Der Grund dafür ist, daß READ1968 einen Diskettenwechsel
- nicht feststellen kann, während es deaktiviert ist.
-
- Dieser Aufbau der Datenstruktur und des Flag-Registers werden auch bei
- späteren Versionen eingehalten. Für notwendig werdende Erweiterungen
- werden die reservierten Teile verwendet. Falls nötig, wird die Daten-
- struktur nach unten oder oben erweitert.
- Langer Rede kurzer Sinn: Die Abwärts-Kompatibilität zukünftiger Versionen
- ist gewährleistet.
-
- Durch einen (höchst unwahrscheinlichen) Zufall kann es vorkommen, daß
- beim Installations-Check AH den Wert 42 hat, obwohl READ1968 nicht
- installiert ist. Daher sollte man, um sicher zu gehen, prüfen, ob
- ab der Adresse ES:[BX+12] der Text "READ1968" steht.
-
- -----------------------------------------------------------------------------
-
- 9. Beta-Tester
- ~~~~~~~~~~~~~~
-
- Ob die Programme in diesem Paket noch Beta-Releases sind, weiß ich nicht.
- Wenn ich viele Bug-Reports bekomme, dann ist dies ein Beta-Release... :-)
-
- Falls irgendwelche Fehler auftreten, bitte ich darum, mich zu
- benachrichtigen, und mir möglichst genau die Umstände mitzuteilen,
- unter denen es zu dem Fehler gekommen ist.
-
- Interessieren würden mich auch Testbedingungen, die ich bei mir nicht
- realisieren konnte: MS-DOS 2.0 bis 4.0 (die Überlegung, daß READ1968
- ab 2.0 laufen muß, ist reine Theorie), DR-DOS, Arbeiten mit zwei
- 3 1/2 Zoll HD-Laufwerken, langsameren oder schnelleren Rechnern (ich
- konnte nur auf meinem 33/16.5 Mhz 386er testen), Zusammenarbeit mit
- anderen Programmen, die etwas mit Disketten zu tun haben (etwa Disk-
- Monitore, Cache- und Backup-Programme, Archivierer usw.).
-
- Ebenso bin ich dankbar für jegliche Hinweise, Tips, Verbesserungsvorschläge
- und was es sonst noch gibt.
-
- Ich möchte an dieser Stelle dem fleißigsten Beta-Tester, Stefan Engel,
- danken.
-
- Tschüß,
- Olli 8-)
-
- -----------------------------------------------------------------------------
-
- "Dies ist die Botschaft einer kleinen Welt..."
- (Platte an Bord von Voyager 2)
-
- -----------------------------------------------------------------------------
-