Informationen zum Programm PATCHX06.PRG
***************************************

PATCHX06.PRG ist ein Fehlerkorrekturprogramm fr die leider 
sehr reichlich vorkommenden Fehler in den BIOS-
Diskettenroutinen des neuen TOS2.06 (TOS-Erstellungsdatum ist 
der 14.11.91) und TOS3.06.

PATCHX06.PRG ist ab dem Erstellungsdatum 18.05.1992 fr die 
Allgemeinheit freigegeben. Das Erstellungsdatum ist 
normalerweise das Datum der Datei, wird aber von PATCHX06 beim 
Starten noch einmal extra ausgegeben. Versionen ab 18.05.1992 
drfen von jedermann/frau, aber nur zusammen mit diesem 
Informationstext PATCHX06.TXT, kopiert und weitergegeben 
werden. Die Ablage in Mailboxen ist ebenso wie die bersetzung 
in andere Sprachen ausdrcklich erwnscht.

Der Autor hat das Programm sorgfltig auf Korrektheit 
berprft, haftet aber in keiner Weise fr etwa auftretende 
Datenverluste oder Schdigungen bei der Nutzung dieses 
Programms oder des Infotextes. Der Anwender trgt also das 
volle Risiko der Nutzung oder Nichtbenutzung dieses 
Patchprogramms selbst.

Bitte lesen Sie diese Datei bis zum Ende, sonst entgeht Ihnen 
mglicherweise etwas.


Bedienung
*********

Praktischerweise packt man PATCHX06.PRG (mglichst als erstes 
Programm) in den AUTO-Ordner. Es installiert sich nur, wenn es 
ein TOS2.06 oder 3.06 findet und belegt dann etwas mehr als 1 
KByte Speicher. Es ist dabei egal, ob es sich um ein TOS im ROM 
oder um ein reloziertes TOS im RAM handelt. Sowohl bei 
Installation als auch bei Nichtinstallation wird eine 
entsprechende Meldung ausgegeben. PATCHX06 mu vor allen 
Programmen gestartet werden, die den XBIOS-Vektor (trap#14) 
verbiegen. Sonst erfolgt nur ein entsprechender Hinweis. Alle 
Meldungen sind in Englisch gehalten, aber 
allgemeinverstndlich. PATCHX06 kann auch vom Desktop aus 
gestartet werden. Eine mehrfache Installation schadet ebenfalls 
nicht, kostet nur jeweils etwas mehr als 1 KByte Speicher.

PATCHX06.PRG wurde fr die deutsche Version des TOS2.06 und 
3.06 entwickelt. Aus Mangel an Gelegenheit wurde es noch nicht 
mit anderssprachigen Versionen getestet. Es gibt aber keinen 
Grund, weshalb sich diese in den ersten $7000 Byte vom 
deutschen TOS unterscheiden sollten. Nur dann wrde das 
Programm nicht laufen, also abstrzen.

Aus gegebenem Anla mchte ich hier noch einmal darauf 
hinweisen, das eine einwandfreie Arbeit des Betriebsystems nur 
gewhrleistet ist, wenn in mindestens einem AUTO-Ordner-
Programm und in mindestens einem Accessory das Fastload-Bit 
nicht gesetzt ist. Zweckmigerweise wird dieses Bit im jeweils 
ersten Programm nicht gesetzt. In PATCHX06.PRG ist es nicht 
gesetzt. Wer es unbedingt setzt, darf sich ber die Folgen 
nicht beschweren (bei TOS1.04 kann es Bomben geben).


Interna
*******

PATCHX06 hngt sich in den hdv_bpb und den hdv_rw Vektor mit 
der XBRA-Kennung T206 ein und ersetzt die Floppy-Getbpb-Routine 
des TOS vollstndig sowie die Rwabs-Routine teilweise. Die 
Kennung T206 wird auch beim TOS3.06 verwendet. Obwohl PATCHX06 
den XBIOS-Vektor testet, weil es ihn whrend der Installation 
braucht, verndert es ihn nicht.


Die (beseitigten) vier Fehler
*****************************

TOS2.06/3.06 berechnet von den ersten 6 Sektoren einer Diskette 
eine Prfsumme, um die Diskettenwechselerkennung sicherer zu 
machen. Leider wird dabei an zwei Stellen nicht zwischen 
Laufwerk A und B unterschieden. Dieser Fehler macht sich nur 
bemerkbar, wenn man ein Disklaufwerk B besitzt, z.B. so: eine 
lange Datei von einer schreibgeschtzten Disk in Laufwerk B vom 
Desktop aus anzeigen lassen, wenn die Floppy dann das zweite 
Mal anluft um die nchste Portion Text zu laden, gibt es nur 
die Meldung -LESEFEHLER- (hier wird ein Diskwechsel erkannt, 
der nicht stattgefunden hat).

TOS2.06/3.06 kann prinzipiell Medien mit nur einer FAT 
bearbeiten (das GEMDOS arbeitet hier korrekt). Dazu mu in den 
Flags (Offset $10) im BiosParameterBlock das Bit 1 auf 1 
stehen. Die Floppy-Getbpb-Routine setzt zwar dieses Bit, 
liefert jedoch hinsichtlich der Sektoraufteilung der Diskette 
falsche Werte. Dieser Fehler macht sich also nur bemerkbar, 
wenn man Disketten verwendet, die mit nur einer FAT formatiert 
wurden. Normalerweise haben Disks zwei FATs.

Auerdem fehlt in der Rwabs-Routine noch eine Abbruchbedingung 
beim Neuberechnen der Sektorprfsummen fr die Sektoren 0 bis 
5. Wenn man mehr als einen Sektor mit Rwabs bei einem 
Startsektor von 0 bis 5 schreibt, knnen eventuell VDI-
Informationen ber die Schriftart, Schriftgre und den 
Zeichensatz berschrieben werden. Das ergibt ein recht 
merkwrdiges Desktopbild. Aufgrund des erstgenannten Fehlers 
macht sich dieser Fehler nur bei Disketten mit mindestens 13 
Sektoren pro Spur bemerkbar. Das Gemdos selbst lst diesen 
Fehler aber wohl nie aus.


Historie
********

Es existiert ein Programm PATCH206.PRG von mir, das ebenfalls 
korrekt luft. Dies tut es aber ohne Vorwarnung oder berprfung 
nur auf Computern, bei denen das TOS2.06 im ROM und nicht im RAM 
ist.

Sollte Ihr PATCHX06.PRG als Erstellungdatum den 17.05.1992 
zeigen, dann haben Sie eine Version, die nicht in Umlauf sein 
sollte. Diese Version strzt mit dem TOS3.06 auf dem TT 
hchstwahrscheinlich belst ab. Bitte kopieren Sie diese nicht 
weiter und besorgen sich eine neue.


Neuigkeiten
***********

Ab dem Erstellungsdatum 08.08.1992 ermglicht PATCHX06.PRG nun 
auch die richtige Verarbeitung von ED-Disketten (2.88MByte) 
sowohl mit 12Bit-FAT (so eine Disk hat mindestens 2 Sektoren 
pro Cluster) als auch mit 16Bit-FAT (diese Disks haben 1 Sektor 
pro Cluster). Die Unterscheidung der beiden FAT-Gren erfolgt 
analog zu MSDOS anhand der Anzahl der Datencluster. Bis 
einschlielich 4078 Datenclustern wird von einer 12Bit-FAT 
ausgegangen. Ab 4079 Datenclustern wird eine 16Bit-FAT 
verwendet. Rechenhinweis: Die Umschaltung erfolgt nicht erst 
bei >4096 Clustern, da einige Clusternummern intern fr 
Markierungszwecke verwendet werden ($FF0-$FFF) bzw. nicht 
nutzbar sind ($000, $001).

Alte Versionen des PATCHX06.PRG (vor dem 08.08.1992) sind davon 
ausgegangen, ab 4096 Sektoren auf der Disk eine 16Bit-FAT 
vorzufinden. Damit konnten zwar MSDOS-ED-Disks bearbeitet 
werden, aber keine TOS-ED-Disks, deren Bootsektor von der 
Funktion Protobt (XBIOS 18) erzeugt wurde, da diese nur eine 
12Bit-FAT besitzen.


Ausblick
********

Beim Autor gibt es ein Programm, das das TOS2.06/3.06 
korrigiert und dann als Datei zum Programmieren auf EPROMs oder 
zum Relozieren im RAM auf Diskette speichert. Dieses 
Korrekturprogramm wird hchstwahrscheinlich ebenfalls auf dem 
Weg zu erhalten sein, ber den Sie an PATCHX06 gekommen sind.


Der Autor
*********

Ich bin Student und betreibe die Computerei neben dem Studium. 
Fr Hinweise auf eventuelle Fehler in meinem Programm oder im 
TOS2.06 bin ich jederzeit dankbar, wenn sie in brieflicher Form 
oder als Postkarte bei mir eintreffen. Wenn jemand eine Antwort 
erwartet, mu er auf jeden Fall einen adressierten und 
frankierten Rckumschlag bzw. das Porto und 1DM beifgen. Wer 
keine andere Mglichkeit hat, sich PATCHX06 oder das 
Korrekturprogramm zu beschaffen, kann sich schriftlich direkt an 
mich wenden. Bitte eine Diskette, den oben erwhnten 
Rckumschlag und noch 2DM als Kopiergebhr beilegen, sonst 
antworte ich nicht. Die Quelltexte gibt es nicht so leicht, aber 
sie sind erhltlich.
Hier gebe ich nur meine Adresse an. Wer unbedingt die 
Telefonnummer braucht, findet sie im Telefonbuch. Sollte aber 
jemand auerhalb der Zeit von 07.00 bis 21.00 Uhr (MEZ bzw. 
MESZ) anrufen, macht er sich extrem unbeliebt.
Ich mchte mich an dieser Stelle bei allen bedanken, die mit 
ihren Hinweisen die Weiterentwicklung dieses Patches 
untersttzen.

Berlin, 08.08.1992

Harun Scheutzow
Dresdener Strae 83
O-1020 Berlin

oder per EMail
im Mausnetz: Harun Scheutzow @B
im Starnet: PGS12, #1259, Karnigool

