home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 16 / 16.iso / t / t158 / 1.img / 1968.DOK < prev    next >
Encoding:
Text File  |  1991-12-03  |  28.9 KB  |  571 lines

  1. See 1968.DOC for english description.
  2. -----------------------------------------------------------------------------
  3.  
  4.                                 1 9 6 8
  5.                               ___________
  6.                               ~^~^~^~^~^~
  7.  
  8.       "... to boldly go where no man has gone before..."   (Star Trek)
  9.  
  10. -----------------------------------------------------------------------------
  11.  
  12. Copyright (c) 1992 by TBH-Softworx --- all rights reserved
  13.               Oliver Fromme,  Klingestr. 2,  W-3380 Goslar,  Germany
  14.               email:   inof@sun.rz.tu-clausthal.de
  15.  
  16. *** Version vom 20. 11. 1992
  17.  
  18.  
  19. Die Programme in diesem Paket sind CARDWARE.  Sie dürfen unter den
  20. folgenden Bedingungen frei kopiert,  weitergegeben und benutzt werden:
  21.  
  22.  * Das Kopieren,  Weitergeben bzw. Benutzen darf nur unentgeldlich
  23.    und nicht kommerziell erfolgen.
  24.  
  25.  * Programme und Anleitung dürfen nicht getrennt werden,  d. h. die
  26.    Dateien FORM1968.EXE,  READ1968.COM und 1968.DOK/DOC dürfen nur zusammen
  27.    weitergegeben werden.
  28.  
  29.  * An Programmen und Anleitung dürfen keine Kürzungen,  Ergänzungen
  30.    oder Veränderungen vorgenommen werden,  d. h. die Dateien FORM1968.EXE,
  31.    READ1968.COM und 1968.DOK/DOC müssen im Original-Zustand verbleiben.
  32.  
  33.  * CARDWARE bedeutet: Wer diese Programme benutzt oder sie gut findet
  34.    (oder beides...),  möge mir bitte ein Postkarte schreiben.  Mich würde
  35.    nämlich interessieren,  wie weit mein Format herumkommt.  Bitte kein
  36.    Geld schicken, dies ist keine Shareware (würde sowieso niemand machen).
  37.    Ich finde,  die 60 Pfennig Porto ist es allemal wert.
  38.  
  39. ACHTUNG:
  40.    Die Benutzung der o. g. Programme erfolgt auf eigene Gefahr!
  41.    Der Autor übernimmt keine Verantwortung oder Haftung für Schäden jeg-
  42.    licher Art an Personen,  Sachen,  Hard- oder Software, die aus der Ver-
  43.    wendung dieser Programme direkt oder indirekt,  beabsichtigt oder un-
  44.    beabsichtigt,  durch Programmfehler oder durch reguläre Programm-
  45.    funktionen resultieren.
  46.    Der Autor übernimmmt keine Garantie für die Funktionsfähigkeit und Ver-
  47.    wendbarkeit dieser Programme in irgendeiner Situation.
  48.  
  49. Dies ist ein Beta-Release.  Von meinen Freunden konnten ca. 30 Prozent
  50. keine 1968er-Disks formatieren und beschreiben.  Dies lag zum Teil an
  51. den älteren Diskettenlaufwerken,  die mit dem Format überfordert waren,
  52. zum Teil an kleinen "Besonderheiten" (oder besser "Widrigkeiten"...)
  53. der jeweilige BIOSe.  Nun,  ich arbeite daran,  den oben genannten
  54. Prozentwert zu verbessern.
  55. Übrigens:  Lesen konnte die 1968er-Disks bisher jeder (auch die o. g.
  56. 30 Prozent).
  57.  
  58. Auf alle Fälle:  Bevor Sie irgendwelche wertvollen Daten auf 1968er-Disks
  59. speichern,  prüfen Sie,  ob das 1968-System bei Ihnen einwandfrei läuft!
  60.  
  61. Noch eine Bemerkung:  Ich bin vielleicht gezwungen,  das 1968-Format in
  62. zukünftigen Versionen zu verändern,  um obigen Prozentwert zu verbessern
  63. (ich plane eine Änderung,  mit der ich 64 Bytes pro Spur sparen kann).
  64. Wenn dies der Fall ist,  werde ich ein einfach zu bedienendes
  65. Konvertierungsprogramm zur Verfügung stellen,  das Disketten im alten
  66. 1968-Format auf das neue umkopiert.  Dies ist allerdings noch ein
  67. ungelegtes Ei,  möglicherweise ist die Formatänderung überflüssig.
  68.  
  69. -----------------------------------------------------------------------------
  70.  
  71. Inhalt
  72. ~~~~~~
  73.    1. Prolog:  Was ist das 1968er-Format?  Systemvoraussetzungen
  74.    2. Über Mb und Megabytes,  Kapazität von Disketten
  75.    3. Die Wahrheit über die Diskettenkapazität
  76.    4. Arbeiten mit dem 1968er-Format,  READ1968 installieren
  77.    5. Formatieren von 1968er-Disketten,  Verwendung von FORM1968
  78.    6. Kompatibilität,  bekannte Probleme,  Bugs,  Schwierigkeiten
  79.    7. Technische Informationen,  wie das Unmögliche möglich wird
  80.    8. Informationen für Programmierer,  der Interrupt 13h
  81.    9. Beta-Tester
  82.  
  83. -----------------------------------------------------------------------------
  84.  
  85. 1. Prolog
  86. ~~~~~~~~~
  87.  
  88. Hello everyone!
  89.  
  90. Ich habe etwas neues ausgebrütet --- ein neues Formatierprogramm.
  91. Man kennt ja FDFORMAT und FDREAD.  Damit kann man Disketten auf 1.72 Mb
  92. formatieren (um genau zu sein, 1722 Kb).  Ich habe mir nun ein paar
  93. Gedanken dazu gemacht,  ob nicht noch mehr Speicher auf eine Disk geht.
  94.  
  95. Und siehe da:  Es geht!  Kein Aprilscherz!  Wieviel ...?  Soviel ...:
  96.  
  97.           2,015,232 Bytes = 1968 Kb = fast 2 Mb!!!
  98.  
  99. Nein,  wirklich kein Witz!  Übrigens:  die unformatierte Kapazität einer
  100. Diskette beträgt genau 1920 Kb --- mein Format holt also mehr 'raus, 
  101. als eigentlich drin ist!
  102.  
  103. (Anmerkung:  Kb steht hier für 1024 Bytes,  Mb für 1024 Kb = 1,048,576 Bytes.
  104. Wenn man "Mega" im Sinne von 1,000,000 verwendet,  beträgt die Kapazität des
  105. neuen Formats sogar mehr als 2 Megabytes!)
  106.  
  107. Systemvoraussetzungen:
  108.  * AT (80286 oder besser), IBM-kompatibel
  109.  * mindestens ein 3 1/2 Zoll HD-Diskettenlaufwerk
  110.  * mindestens eine 3 1/2 Zoll HD-Diskette
  111.  * MS-DOS 3.2 oder besser (getestet wurde nur auf 5.0)
  112.  * mindestens 24 Kb XMS-Speicher und ein passender Treiber
  113.    (z. B. HIMEM.SYS von MS-DOS 5.0)
  114.  
  115. -----------------------------------------------------------------------------
  116.  
  117. 2. Über Mb und Megabytes,  Kapazität von Disketten
  118. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  119.  
  120. Wie bereits angedeutet,  ist Mbytes und Megabytes nicht das gleiche:
  121.    1 MByte (Mb) = 1,048,576 Bytes (2 hoch 20)
  122.    1 Megabyte   = 1,000,000 Bytes (10 hoch 6)
  123. Analog verhält es sich mit den Begriffen KBytes und Kilobytes:
  124.    1 KByte (Kb) = 1,024 Bytes (2 hoch 10)
  125.    1 Kilobyte   = 1,000 Bytes (10 hoch 3)
  126. Manchmal schreibt man auch ein kleines "k",  wenn man 1,000 Bytes meint:
  127.    1 kbyte (kb) = 1,000 Bytes (10 hoch 3)
  128.  
  129. (Ich verwende hier die amerikanische Schreibweise: ein "." als Dezimal-
  130. Punkt und "," als Trennzeichen für die Tausender und Millionen.)
  131.  
  132. Die "unformatierte Kapazität" einer Diskette ist die reine physikalische
  133. Kapazität.  Sie errechnet sich aus der Anzahl der Seiten multipliziert mit
  134. der Anzahl der Spuren pro Seite multipliziert mit der Anzahl der Bytes,
  135. die in einer Umdrehung auf eine Spur geschrieben werden können.
  136.  
  137. Die "formatierte Kapazität" einer Diskette ist die Speichermenge,  die
  138. nach der Formatierung auf die Diskette geschrieben werden kann.  Sie
  139. errechnet sich aus der Anzahl der Seiten multipliziert mit der Anzahl der
  140. Spuren pro Seite multipliziert mit der Anzahl der Sektoren pro Spur
  141. multipliziert mit 512 (jeder Sektor enthält 512 Bytes).  Die Sektoren,
  142. die DOS für die Verwaltung braucht (Bootblock,  FATs,  Hauptverzeichnis),
  143. werden hiervon nicht abgezogen,  obwohl diese Bereiche nach der Formatierung
  144. nicht mehr für die Datenspeicherung zur Verfügung stehen.
  145.  
  146. Normalerweise ist die formatierte Kapazität wesentlich kleiner als die
  147. unformatierte.  Was ist mit den "verlorenen" Bytes (immerhin 480 Kb bei
  148. 1440 Kb-Disketten) passiert?  Sie werden vom Disketten-Controller für
  149. verschiedene Verwaltungsdaten verwendet:
  150.  * Am Beginn einer jeden Spur stehen einige Bytes,  die Identifizierungs-
  151.    und Kontrolldaten für die Spur enthalten.  Diese werden vom Controller
  152.    benötigt,  sie werden beim Formatieren automatisch (und unabänderlich)
  153.    geschrieben.
  154.  * Zu jedem Sektor gehören außer den 512 Bytes Daten noch weitere 62 Bytes,
  155.    die Synchronisierungsbytes, Adressmarken, Sektoradresse (= Nummer von
  156.    Kopf,  Spur und Sektor), CRC-Prüfcodes sowie eine Lücke enthalten.
  157.    Die Lücke braucht der Controller, damit er den CRC-Prüfcode ausrechnen
  158.    und vergleichen kann.  Diese 62 Bytes kann man nicht manipulieren;
  159.    der Controller ist darauf fest eingestellt.
  160.  * Zwischen jeweils zwei Sektoren befindet sich eine Lücke.  Sie dient
  161.    ebenfalls der Zeitverzögerung (damit der Controller den CRC-Prüfcode
  162.    des Datenbereichs ausrechnen und vergleichen kann);  außerdem dient
  163.    sie als Puffer,  um Schwankungen in der Umdrehungsgeschwindigkeit der
  164.    Diskette auszugleichen.  Die Länge dieser Lücke kann man einstellen.
  165.    Normalerweise (bei 1440 Kb-Disks) ist sie 108 Bytes lang,  bei 1722 Kb-
  166.    Disks ist sie auf 12 Bytes reduziert,  bei 1440 Kb-Disks auf 5 1/4 Zoll
  167.    sogar ist sie sogar nur 2 Bytes lang (der kleinstmögliche Wert).
  168.  
  169. -----------------------------------------------------------------------------
  170.  
  171. 3. Die Wahrheit über die Diskettenkapazität
  172. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  173.  
  174. Auf Diskettenverpackungen von 3 1/2 Zoll-HD-Disks liest man oft:
  175.    "Unformatierte Kapazität 2Mb, formatiert 1.44 Mb."
  176. Beide Angaben sind FALSCH!  Diese Werte sind weit verbreitete Irrtümer!
  177.  
  178. Zur unformatierten Kapazität:
  179. Ein normales 3 1/2 Zoll-HD-Laufwerk schreibt in einer Umdrehung 12 KBytes
  180. (12,288 Bytes).   Meistens sind es ein paar Bytes mehr,  damit auch bei
  181. schwankender Drehgeschwindigkeit immer noch 12 KBytes draufgehen.  Wenn man
  182. diesen Wert mit 160 multipliziert (2 Seiten und 80 Spuren pro Seite),
  183. kommt man auf genau 1920 KBytes,  das sind 1.875 Mb.  Dies ist die
  184. unformatierte Kapazität,  kein Byte mehr.
  185.  
  186. Zur formatierten Kapazität:
  187. Das DOS formatiert eine 3 1/2 Zoll-HD-Diskette mit 18 Sektoren pro Spur
  188. (jeder Sektor enthält 512 Bytes), also 9 Kb pro Spur.  Multipliziert mit
  189. 160 macht das 1440 Kbytes,  das sind 1.40625 Mb.  Und weil ich so pingelig
  190. bin,  ist in dieser Anleitung nur von 1440 Kb-Disks die Rede,  nicht von
  191. 1.44 Mb-Disks.
  192.  
  193. Übrigens:  FDFORMAT formatiert mit 21 Sektoren,  also 10.5 Kb pro Spur.
  194. Außerdem werden 82 Spuren pro Seite formatiert.  Dadurch kommt man auf
  195. 1722 Kbytes,  das sind (um genau zu sein) 1.681640625 Mb.
  196.  
  197. -----------------------------------------------------------------------------
  198.  
  199.             "May the Force be with you.  Always."   (Star Wars)
  200.  
  201. -----------------------------------------------------------------------------
  202.  
  203. 4. Arbeiten mit dem 1968er-Format
  204. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  205.  
  206. Zum Arbeiten mit dem 1968er-Format braucht man das folgende Programm:
  207.    READ1968.COM
  208. Es dient dazu,  MS-DOS das neue Format zu "verklickern",  und entspricht
  209. somit FDREAD beim 1722 Mb-Format.  Allerdings ist der nötige Aufwand hier
  210. wesentlich höher,  weshalb dieses Programm deutlich länger ist.
  211.  
  212. Am besten,  man ruft READ1968 in seiner AUTOEXEC.BAT-Datei unmittelbar
  213. nach FDREAD auf (nicht davor,  das könnte Probleme geben!).  Wer FDREAD
  214. nicht verwendet,  braucht sich darum keine Gedanken zu machen.  Mit
  215. LOADHIGH (MS-DOS 5.0) kann man READ1968 auch problemlos in die UMBs
  216. hochladen (wenn man später nur die Einstellung ändern will,  braucht man
  217. LOADHIGH natürlich nicht noch einmal anzugeben).  Einmal installiert,
  218. belegt READ1968 knappe 6 Kb Speicher (das ist weniger als z. B. KEYB,
  219. DOSKEY oder SMARTDRV 4.0).
  220. (Anmerkung:  READ1968 ist komplett in 80286-Assembler geschrieben.  Die
  221. frühere Turbo-Pascal-Version,  die die gleichen Funktionen implementierte,
  222. belegte 23 Kb.)
  223.  
  224. Die Aufruf-Syntax sieht so aus:
  225.    READ1968 [<Cache>] [V+|V-] [D+|D-] [U] [?]
  226. Das Programm ist dabei sehr unempfindlich.  Jeder Parameter kann weggelassen
  227. werden oder mehrfach angegeben werden (dann gilt die letzte Angabe),  die
  228. einzelnen Parameter können durch beliebig viele Leerzeichen oder auch gar
  229. nicht voneinander getrennt werden,  die Einleitungszeichen "/" und "-"
  230. werden (falls vorhanden) ignoriert.  Die Reihenfolge der Parameter ist
  231. unerheblich. Statt "+" bzw. "-" kann man auch "1" bzw. "0" schreiben.
  232. Wenn keines dieser vier Zeichen angegeben ist,  wird ein "+" angenommen.
  233. Wenn ein Fehler aufgetreten ist oder die Parameter "U" oder "?" angegeben
  234. sind,  werden alle anderen gültigen Parameter ignoriert.
  235.  
  236. Zu den einzelnen Parametern:
  237.  * <Cache> ist eine ganze Zahl zwischen 2 und 165,  die angibt, wieviele
  238.    Chaches für Diskettenspuren angelegt werden sollen.  Jeder Cache belegt
  239.    12 Kb XMS-Speicher.  Fehlt diese Angabe bei der Installierung, werden
  240.    20 Caches (240 Kb) angelegt.  Mehr dazu weiter unten.
  241.  * V+/V- schaltet das Verifizieren beim Schreiben an oder aus.  Fehlt diese
  242.    Angabe bei der Installierung, wird es ausgeschaltet.  Wenn man es ein-
  243.    schaltet,  wird nach jedem Schreibzugriff sofort ein Lesezugriff durch-
  244.    geführt,  um zu prüfen,  ob die Daten korrekt aufgezeichnet wurden.
  245.    ACHTUNG:  Das DOS-eigene VERIFY hat keine Wirkung!  Dies liegt daran,
  246.    daß DOS beim prüfenden Lesezugriff lediglich den Inhalt des Caches
  247.    serviert bekommt.
  248.  * D+/D- schaltet die 1968-Routinen an oder aus.  Fehlt diese Angabe bei der
  249.    Installierung, wird es angeschaltet.  Ein Ausschalten bedeutet NICHT, daß
  250.    READ1968 deinstalliert wird.  Es heißt lediglich,  daß bei einem Disk-
  251.    Zugriff nur die normalen BIOS-Routinen angesprungen werden.  Dies führt
  252.    bei 1968 Kb-Disks normalerweise zu einem "Sektor nicht gefunden"-Fehler.
  253.  * U (Uninstall) bewirkt eine komplette Deinstallierung von READ1968,  d. h.
  254.    es wird aus dem Speicher entfernt.  Sollte sich nach READ1968 ein weiteres
  255.    Programm in den Disketten-Interrupt eingeklinkt haben,  müssen 16 Bytes
  256.    von READ1968 im Speicher verbleiben,  die die Interrupt-Kette aufrecht
  257.    erhalten (die meisten anderen TSR-Programme bleiben in einem solchen Fall
  258.    komplett im Speicher!).  In jedem Fall kann man READ1968 jederzeit erneut
  259.    installieren.
  260.  * ? bewirkt die Ausgabe eines kurzen Hilfstextes.
  261.  
  262. Wenn man READ1968 zum ersten mal aufruft (wenn es geht,  mit LOADHIGH),
  263. installiert es sich sofort im Speicher,  es sei denn,  man hat den Parameter
  264. "U" oder "?" angegeben oder es tritt ein Fehler auf.  Dabei legt es 20
  265. Caches an (240 Kb),  schaltet das Verifizieren aus und die 1968-Routinen
  266. ein,  wenn man keine Parameter angegeben hat,  die dies ändern.
  267. Beispiel:
  268.    LOADHIGH READ1968 60 V+
  269. Installiert das Programm im oberen Speicherbereich (wenn möglich,  sonst im
  270. konventionellen),  legt 60 Cache-Spuren an und schaltet das Verify ein.
  271. Da "D" nicht angegeben ist,  werden die 1968-Routinen (gemäß Default)
  272. angeschaltet.  (Wer kein MS-DOS 5.0 hat, läßt das LOADHIGH weg.)
  273.  
  274. Bei jedem weiteren Aufruf vom READ1968 wird es nicht erneut installiert,
  275. sondern es werden die Werte der bereits installierten Instanz geändert.
  276. Ein LOADHIGH kann man sich hier natürlich sparen (es schadet aber auch
  277. nichts).  Nicht angegebene Parameter werden nicht verändert.
  278. Beispiele:
  279.    READ1968 10
  280. Ändert die Anzahl der Cache-Spuren auf 10.  Eine solche Änderung ist
  281. jederzeit möglich.  Da weder "V" noch "D" angegeben sind,  bleiben diese
  282. Einstellungen unverändert.
  283.    READ1968 D-
  284. Schaltet die 1968-Routinen ab.  Die Anzahl der Cache-Spuren und die
  285. Verify-Einstellung bleiben unverändert.  (Nach dem Abschalten der
  286. 1986-Routinen sollte man die Diskette herausnehmen,  damit MS-DOS den
  287. Wechsel bemerkt.)
  288.    READ1968
  289. Bei diesem Aufruf wird nichts verändert.  Es werden die momentanen
  290. Einstellungen auf dem Bildschirm ausgegeben.
  291.  
  292. Noch ein paar Worte zum Cache:
  293. Ein Wert von 20 ist schon recht brauchbar.  Wer genügend XMS-Speicher hat,
  294. kann auch 40 oder noch mehr angeben.  Bei 165 paßt eine komplette Diskette
  295. in den Cache.  Wenn man eine Diskette zweimal hintereinander liest,  wird
  296. dann beim zweitenmal lediglich der Cache ausgelesen,  es erfolgt kein Disk-
  297. Zugriff.  Dies geht natürlich sehr schnell (die Laufwerks-LED flackert dabei
  298. ähnlich wie bei einer Festplatte!).  Auch bei einem Minimal-Cache von 2
  299. Spuren ist eine 1968 Kb-Diskette beim Lesen im allgemeinen schneller als
  300. eine 1440 Kb-Diskette,  vor allem bei vielen kleinen Dateien.
  301. Schreibzugriffe erfolgen sofort ("Write through"),  diese werden vom Cache
  302. daher nicht beschleunigt.  Beim Schreiben vieler kleiner Dateien ist eine
  303. 1968 Kb-Disk daher etwas langsamer als eine 1440 Kb-Disk.  Im Durchschnitt
  304. jedoch ist die Performance besser als bei einer 1722 Kb-Disk (auch bei einem
  305. Minimal-Cache von zwei Spuren),  was sich besonders bei großen Dateien
  306. bemerkbar macht.  1968 Kb-Disketten sind daher ganz besonders für Archiv-
  307. Dateien und Backups geeignet.
  308.  
  309. -----------------------------------------------------------------------------
  310.  
  311. 5. Formatieren von 1968er-Disketten
  312. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  313.  
  314. Zum Formatieren einer Diskette im 1968er-Format wird das folgende
  315. Programm benötigt:
  316.    FORM1968.EXE
  317. Hiermit kann man also eine 3 1/2-Zoll-Diskette auf 1968 Kb formatieren.
  318.  
  319. Die Aufruf-Syntax lautet
  320.    FORM1968 <Laufwerk> [<Optionen>].
  321. Aus Sicherheitsgründen muß man hier die Syntax genau einhalten.
  322.  
  323. Für <Laufwerk> ist entweder "A:" oder "B:" einzusetzen.
  324.  
  325. Als <Optionen> sind z. Zt. die folgenden (auch kombiniert) verwendbar:
  326.    /R   -  Schaltet das Verifizieren (Prüfen) beim Formatieren aus.
  327.            Dies ist nicht empfehlenswert!  Lieber etwas länger warten
  328.            und dafür sichere Daten!  Dies hat übrigens nichts mit der
  329.            Verify-Einstellung bei READ1968 zu tun.
  330.    /Q   -  Führt eine Schnell-Formatierung durch,  d. h. es werden nur
  331.            Bootblock,  FATs und Hauptverzeichnis neu geschrieben.  Dies
  332.            ist nur dann empfehlenswert,  wenn die Disk vorher schon
  333.            einmal mit der gleichen Größe (siehe /T) normal (d. h. ohne /Q)
  334.            formatiert worden ist.  Dies entspricht einem kompletten
  335.            Löschen der Diskette.
  336.    /T:n -  Hiermit kann man die Anzahl der Spuren pro Seite festlegen.
  337.            Fehlt diese Angabe,  werden 82 Spuren formatiert (wie /T:82).
  338.            Diese Angabe kann nötig sein,  da (angeblich) einige Disketten
  339.            bzw. Laufwerke nicht mehr als 80 Spuren verarbeiten können.  Am
  340.            besten,  man versucht erstmal 82 Spuren.  Wenn's nicht klappt,
  341.            kann man ja immer noch einen geringeren Wert probieren.
  342.    /E:n -  Hiemit kann man angeben,  wie oft bei einem Fehler ein neuer
  343.            Versuch unternommen werden soll.  Fehlt diese Angabe,  wird
  344.            maximal ein zusätzlicher Versuch unternommen (wie /E:1).
  345.            Wenn man /E:0 angibt,  wird bei einem Fehler sofort aufgegeben
  346.            und zur nächsten Spur gegangen.  Maximum sind 4 zusätzliche
  347.            Versuche.
  348.  
  349. Noch ein paar Hinweise:
  350.  * Auch wenn beim Formatieren Fehler auftreten,  kann man die Diskette
  351.    benutzen,  da die fehlerhaften Spuren von FORM1968 in der FAT
  352.    gekennzeichnet werden,  so daß MS-DOS sie nicht benutzt.  Bei der
  353.    Schnell-Formatierung werden die als fehlerhaft gekennzeichneten
  354.    Spuren übernommen (hier besteht allerdings die Gefahr,  daß Fehler
  355.    (z. B. Kratzer),  die nach der ersten Formatierung entstanden,  nicht
  356.    erkannt werden,  da ja die Diskette bei der Schnell-Formatierung nicht
  357.    erneut überprüft wird.).
  358.  * Zum Formatieren muß READ1968 eigentlich nicht installiert sein (aber wenn
  359.    man's nicht drin hat,  kann man mit der frisch formatierten Diskette
  360.    absolut nichts anfangen).
  361.  * Nach dem Formatieren kann man sich gleich mit CHKDSK davon überzeugen,
  362.    daß es geklappt hat.
  363.  * Mit dem MS-DOS-Kommando LABEL kann man der formatierten Diskette einen
  364.    Namen geben (daher habe ich darauf verzichtet,  eine entsprechende
  365.    Funktion in FORM1968 zu implementieren).
  366.  * FORM1968 gibt jeder formatierten Diskette (auch bei der Schnell-
  367.    Formatierung) eine achtstellige hexadezimale Datenträgernummer (wie
  368.    das FORMAT von MS-DOS 5.0 auch).
  369.  * Die Anzahl der Spuren pro Seite (Option /T:n) kann auch kleiner als 80
  370.    sein (Minimum ist 1).  Dies ist aber höchstens für Testzwecke nützlich.
  371.  * Es gibt Laufwerke,  die keine 1968 Kb-Disketten formatieren können.
  372.    Dies liegt vermutlich daran,  daß sich die Spindelmotoren geringfügig
  373.    schneller drehen,  wodurch weniger Bytes auf eine Spur passen.
  374.    In den meisten Fällen kann man aber trotzdem mit den 1968 Kb-Disketten
  375.    arbeiten,  nur formatieren muß man sie halt auf einem anderen Laufwerk.
  376.  
  377. -----------------------------------------------------------------------------
  378.  
  379.            "A big leap for a man, but a little step for mankind."
  380.                         (frei nach Neil Armstrong)
  381.  
  382. -----------------------------------------------------------------------------
  383.  
  384. 6. Kompatibilität
  385. ~~~~~~~~~~~~~~~~~
  386.  
  387. Das neue Format ist voll MS-DOS-kompatibel.  Beim Autor hat keines der
  388. MS-DOS-Kommandos (Version 5.0) Schwierigkeiten gemacht.  Man kann sogar
  389. mit dem DISKCOPY-Befehl eine 1968-Disk kopieren (allerdings muß die Ziel-
  390. Diskette schon formatiert sein).
  391.  
  392. Ebenso Anwendungsprogramme (ich habe diverse Programmiersprachen,  MS-Works,
  393. einige Editoren und Packer ausprobiert) --- keine Probleme.  Auch Disk-
  394. Utilities (PC-Tools und Norton Utilities) funktionierten ohne zu Murren.
  395. Ich habe mit ARJ ein großes Unterverzeichnis auf mehrere 1968-Disketten
  396. gepackt.  Lief wunderbar,  war sogar schneller als bei 1722er-Disks.  Man
  397. kann auch mit COMPRESS (PC Tools 6.0) problemlos eine 1968-Disk defragmen-
  398. tieren (hier empfiehlt sich ein großer Cache).  Mit DE (DiskEdit) der Norton
  399. Utilities (5.0) kann man ohne weiteres eine 1968er-Disk bearbeiten (aller-
  400. dings nur als "logische" Disk,  nicht als "physikalische" --- aber das geht
  401. bei 1722er-Disks auch nicht).
  402.  
  403. Das Programm NDD (Norton Disk Doctor) der Norton Utilities hat übrigens
  404. Schwierigkeiten mit dem 1968-Format.  Allerdings hat es die auch mit einer
  405. 1722er-Disk,  daher sehe ich das nicht als gravierend an.  NDD besteht
  406. darauf,  daß die Diskette 18 Sektoren und 80 Zylinder hat.  Ich sehe das
  407. als Fehler von NDD,  der in dieser Hinsicht nicht flexibel genug ist;  auf
  408. keinen Fall ist es ein Fehler von READ1968.  (Ich habe die Norton Utilities
  409. in der Version 5.0, vielleicht ist es in neueren Versionen auch schon
  410. behoben.)
  411.  
  412. Generell kann man sagen:  alle Programme,  die mit dem 1722er-Format zurecht-
  413. kommen, haben auch mit dem 1968er-Format keine Schwierigkeiten.
  414.  
  415. Falls man die PC-Tools hat (ich hab's mit Version 6.0 probiert),  kann man
  416. mal vergleichsweise mit DISKFIX einen Oberflächen-Test auf einer 1.44 MB-
  417. Disk und auf einer 1968-Disk machen.  Der Test auf der 1968er-Disk ist etwa
  418. 10 mal schneller (das liegt am Cache von READ1968)!
  419.  
  420. Jetzt kommt der Haken:  Das 1968-Format funktioniert nicht mit Programmen,
  421. die direkt auf den Floppy-Controller zugreifen.  Dazu gehört HD-COPY sowie
  422. einige andere Disketten-Kopierprogramme (auch die neue Version von VGA-Copy)
  423. und die meisten Software-Cache-Programme.
  424. HD-COPY erkennt beim Lesen das 1968-Format nicht und meldet mehr oder
  425. weniger viele Fehler.  Beim Schreiben im Safe-Modus merkt er aber immerhin,
  426. daß die Diskette formatiert ist und Daten enthält,  und macht eine Sicher-
  427. heitsabfrage.  Falls mein Rechner nicht der einzige ist,  auf dem das 1968er-
  428. Format funktioniert,  werde ich HD-COPY auch daraufhin erweitern,  dieses
  429. neue Format zu bearbeiten.
  430.  
  431. Falls man einen Software-Cache (z. B. HyperDisk) hat:  UNBEDINGT ABSCHALTEN!
  432. Zumindest für die Floppy-Laufwerke!  READ1968 zusammen mit einem Cache zu
  433. betreiben ist etwa genauso datenfreundlich wie "FORMAT C:".  Als Ausgleich
  434. ist aber bei READ1968 schon ein mehr oder weniger großer Cache eingebaut.
  435. Der Cache ist allerdings nur beim Lesen wirksam,  d. h. beim Schreiben
  436. erfolgt ein Write-through.
  437. Um bei HYPERDISK den Floppy-Cache abzuschalten,  muß man den Parameter "H"
  438. angeben.  Bei SMARTDRV muß man "A- B-" angeben.
  439.  
  440. Falls DOS einmal bei einer 1968er-Disk "Sektor nicht gefunden" meldet,
  441. sollte man einmal versuchen,  die Disk kurz 'rauszunehmen,  wieder einzulegen
  442. und die jeweilige Operation zu wiederholen.  Dann wird nämlich READ1968 ver-
  443. anlaßt,  die Diskette neu zu kalibrieren und das Format zu testen.  Normaler-
  444. weise darf dieser Fehler aber nicht auftreten (falls doch,  bitte ich darum,
  445. es mir mitzuteilen).
  446.  
  447. Das neue Format ist im Moment noch etwas langsam,  wenn man viele kleine
  448. Dateien schreibt.  Bei großen Dateien (z. B. ARJ-Archive) ist es aber sogar
  449. etwas schneller als das 1722er-Format.  Wenn man bei READ1968 den Cache
  450. genügend groß dimensioniert,  wird unter Umständen sogar Festplatten-
  451. Geschwindigkeit erreicht,  sowohl beim Zugriff als auch bei der Übertragung!
  452. (Dabei flackert die Laufwerks-LED auch wie bei einer Festplatte...)
  453.  
  454. -----------------------------------------------------------------------------
  455.  
  456. 7. Technische Informationen
  457. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  458.  
  459. Das 1968er-Format arbeitet mit 82 Spuren pro Seite und 24 Sektoren pro Spur.
  460. Das macht insgesamt 3936 Sektoren (zum Vergleich:  eine 1440 Kb-Disk hat
  461. "nur" 2880 Sektoren).  Falls man sich ein bißchen mit der Floppy-Hardware
  462. auskennt,  kann man sich ausrechnen, daß 24 Sektoren pro Spur technisch,
  463. physikalisch und hardwaremäßig ganz und gar unmöglich sind (die 21 Sektoren
  464. bei 1722er-Disks sind schon das äußerste).  Die unformatierte Kapazität
  465. (d. h. die rein physikalische Kapazität,  ohne Verwaltungsinformationen)
  466. beträgt schließlich nur 1920 Kb. Und davon geht noch einiges herunter für
  467. Synchron-Signale,  Index- und Daten-Adressmarken,  Sektor-IDs und jede Menge
  468. Lücken,  die der Disketten-Controller zur Verarbeitung braucht.
  469.  
  470. Wie ich es dennoch geschafft habe,  soll vorläufig mein Geheimnis bleiben.
  471. Auch mit einem Diskettenmonitor kann man es nicht knacken.  Falls es irgend-
  472. ein Freak schaffen sollte, dem Geheimnis auf die Spur zu kommen:  herzlichen
  473. Glückwunsch!  (Damit könnte ich einen Wettbewerb starten:  der erste,  der
  474. es 'rauskriegt,  braucht mir keine Karte zu schreiben --- höhö.)
  475.  
  476. -----------------------------------------------------------------------------
  477.  
  478. 8. Informationen für Programmierer
  479. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  480.  
  481. READ1968 klinkt sich in den Interrupt 13h ein (Interrupt für Diskette und
  482. Festplatte).  Ansonsten werden keine Interrupts verwendet.
  483. Der Installations-Check sieht so aus:
  484.    MOV   AH,1
  485.    MOV   DL,127
  486.    INT   13h
  487. Wenn danach AH den Wert 42 enthält,  ist READ1968 installiert.  ES und BX
  488. enthalten dann Segment und Offset einer internen Datenstruktur.  ES ist
  489. zugleich das PSP-Segment von READ1968.
  490. Die erwähnte Datenstruktur hat den folgenden Aufbau:
  491.  
  492.    Offset   Größe   Bedeutung
  493.    --------------------------
  494.       -4     Word   XMS-Handle für die Cache-Spuren (der XMB ist "locked")
  495.       -2     Word   Anzahl der Cache-Spuren (2-165)
  496.        0     Byte   Flag-Register (siehe unten)
  497.        1     Byte   reserviert für spätere Versionen (0)
  498.        2     Word   Versionsnummer als gepackte BCD-Zahl (z. Zt. 0110h)
  499.        4   8 Bytes  Programm-Autor ('TBHsworx')
  500.       12   8 Bytes  Programm-Name ('READ1968')
  501.       20    DWord   Far-Adresse des vorhergehenden Interrupt-13h-Handlers
  502.  
  503. Bis auf das Flag-Register dürfen alle Informationen nur gelesen werden.  Das
  504. Ändern der Speicherinhalte kann Fehlfunktionen (bis hin zum vollständigen
  505. Systemabsturz) zur Folge haben.
  506. Das Flag-Register hat den folgenden Aufbau:
  507.  
  508.    Bit   Bedeutung
  509.    ---------------
  510.     0    Verify-Flag (0 = Verifizierung aus,  1 = an)
  511.     1    Invalid-Flag (1 = Cache wurde ungültig, z. B. durch Formatierung)
  512.     2    Deaktiv-Flag (1 = 1968-Routinen deaktiviert)
  513.    3-6   reserviert für spätere Versionen (0)
  514.     7    Uninstall-Flag (1 = Uninstall wurde angefordert)
  515.  
  516. Das Verify-Flag und das Deaktiv-Flag kann man schreiben und lesen.  Das
  517. Invalid-Flag darf außerhalb von READ1968 nur auf 1 gesetzt werden,  alles
  518. andere führt zu Fehlfunktionen.  Das Uninstall-Flag ist außerhalb von
  519. READ1968 immer 0 und darf auch nicht auf 1 gesetzt werden.
  520. Wenn man das Deaktiv-Flag von 1 auf 0 setzt,  muß man das Invalid-Flag
  521. auf 1 setzen.  Der Grund dafür ist,  daß READ1968 einen Diskettenwechsel
  522. nicht feststellen kann,  während es deaktiviert ist.
  523.  
  524. Dieser Aufbau der Datenstruktur und des Flag-Registers werden auch bei
  525. späteren Versionen eingehalten.  Für notwendig werdende Erweiterungen
  526. werden die reservierten Teile verwendet.  Falls nötig,  wird die Daten-
  527. struktur nach unten oder oben erweitert.
  528. Langer Rede kurzer Sinn:  Die Abwärts-Kompatibilität zukünftiger Versionen
  529. ist gewährleistet.
  530.  
  531. Durch einen (höchst unwahrscheinlichen) Zufall kann es vorkommen,  daß
  532. beim Installations-Check AH den Wert 42 hat,  obwohl READ1968 nicht
  533. installiert ist.  Daher sollte man,  um sicher zu gehen,  prüfen,  ob
  534. ab der Adresse ES:[BX+12] der Text "READ1968" steht.
  535.  
  536. -----------------------------------------------------------------------------
  537.  
  538. 9. Beta-Tester
  539. ~~~~~~~~~~~~~~
  540.  
  541. Ob die Programme in diesem Paket noch Beta-Releases sind,  weiß ich nicht.
  542. Wenn ich viele Bug-Reports bekomme,  dann ist dies ein Beta-Release... :-)
  543.  
  544. Falls irgendwelche Fehler auftreten,  bitte ich darum,  mich zu
  545. benachrichtigen,  und mir möglichst genau die Umstände mitzuteilen,
  546. unter denen es zu dem Fehler gekommen ist.
  547.  
  548. Interessieren würden mich auch Testbedingungen,  die ich bei mir nicht
  549. realisieren konnte:  MS-DOS 2.0 bis 4.0 (die Überlegung,  daß READ1968
  550. ab 2.0 laufen muß,  ist reine Theorie),  DR-DOS,  Arbeiten mit zwei
  551. 3 1/2 Zoll HD-Laufwerken,  langsameren oder schnelleren Rechnern (ich
  552. konnte nur auf meinem 33/16.5 Mhz 386er testen),  Zusammenarbeit mit
  553. anderen Programmen,  die etwas mit Disketten zu tun haben (etwa Disk-
  554. Monitore,  Cache- und Backup-Programme,  Archivierer usw.).
  555.  
  556. Ebenso bin ich dankbar für jegliche Hinweise,  Tips,  Verbesserungsvorschläge
  557. und was es sonst noch gibt.
  558.  
  559. Ich möchte an dieser Stelle dem fleißigsten Beta-Tester,  Stefan Engel,
  560. danken.
  561.  
  562. Tschüß,
  563.             Olli   8-)
  564.  
  565. -----------------------------------------------------------------------------
  566.  
  567.                "Dies ist die Botschaft einer kleinen Welt..."
  568.                        (Platte an Bord von Voyager 2)
  569.  
  570. -----------------------------------------------------------------------------
  571.