ATARI-Tuning im Eigenbau (3)

TOS-Patches zur Fehlerbeseitigung und Systemerweiterung.

Leider war und ist das TOS nicht so fehlerfrei, wie die An wender es gerne hätten, so dass von ATARI selbst und von vielen Autoren immer wieder Patchprogramme produziert wurden, die diese Fehler beheben sollten. Ein Patch ist, wie sein englischer Name schon sagt, ein Flicken, mit dem ein fehlerhafter Programmcode ersetzt bzw. geflickt wird. Neben den Patches zur Fehlerbeseitigung gibt es auch welche, mit deren Hilfe man dem TOS Dinge beibringen kann, für das es nicht gedacht war. Die Patches zur Fehlerbeseitigung muss man für jede TOS-Version einzeln betrachten, da manche Fehler in späteren TOS-Versionen beseitigt wurden. Manche Programme "verlangen" dass dieser oder jener Patch installiert ist, damit sie einwandfrei funktionieren, so dass man schon wissen sollte, welcher Patch wofür ist, ob ein Patch unter der benutzten TOS Version überhaupt noch sinnvoll ist und welcher Fehler schon durch ein anderes Programm beseitigt wurde.

TOS 1.00-1.02

FOLDERxxx von ATARI: Folerxxx soll das sogenannte "40 Ordner Problem" auf den TOS-Versionen < 1.04 entschärfen. Beim Betrieb einer Festplatte unter diesen TOS-Versionen (weg. der grausigen Geschwindigkeit niemandem zu empfehlen), kommt es nach einiger Zeit, wenn man viele Ordner geöffnet hat, zu der Erscheinung, dass alle weiteren Ordner leer zu sein scheinen. Dies liegt daran, dass das GEMDOS keinen internen Speicher mehr hat. Dieser Speicher sollte in dem Moment, wenn eine Diskette gewechselt wird, eigentlich gelöscht werden, aber wie wechselt man eine SH204/205? Deshalb sind u.a. diese TOS-Versionen nicht für den Harddisk-Betrieb geeignet. Wenn man Folderxxx in Folder200 umbenennt .und in den Autoordner kopiert, wird dem GEMDOS weiterer Speicherraum für 200 Ordner zugewiesen.

FIXGDOS von Dieter Fiebelkorn: Manche Programme können nicht mit einem GDOS zusammenarbeiten, weil sie v_opnwk() mit einem Handle von 0 aufrufen. Dies führt z.B. bei AMSGDOS zur Meldung 'Invalid GDOS Handle'. Compilierte Omikron Basic Programme haben unter anderem dieses Problem. Mit Fixgdos laufen auch diese Programme.

TOS 1.04-1.62

RIGHT MOVE von Alan Hamilton: Right Move ermöglicht es, auf dem Desktop Dateien mit Hilfe der rechten Maustaste zu verschieben. Verschieben bedeutet, dass die Datei zur neuen Position kopiert und das Original dann gelöscht wird. Dies funktioniert ab TOS 1.4 zwar auch, wenn man die CONTROL Taste gedrückt hält, ist aber so komfortabler.

POOLFIX von ATARI: Unter TOS 1.4 oder 1.62 kann es vorkommen, dass das GEMDOS keinen internen Speicher mehr hat. Dieser Speicher hat nichts mit dem freien Hauptspeicher zu tun, sondern ist ein statischer Speicherbereich, der immer gleich groß ist und normalerweise auch ausreicht. Unter manchen Umständen, wenn ein Programm sehr viele Malloc-Aufrufe macht und auf der Festplatte viele Ordner sind (siehe 40 Ordner Problem), kann es vorkommen, dass dieser Speicher nicht mehr richtig verwaltet wird. In diesem Falle würde das System angehalten werden, und man könnte seine Daten nicht einmal mehr speichern. Poolfix beseitigt diesen Fehler. Poolfix92 ist eine fehlerbereinigte Version der älteren Poolfix3 bzw. 4.

MAKEFAST von ATARI: eigentlich kein Patch, sondern ein Hilfsprogramm, mit dessen Hilfe man das Fastloadflag im Header von Programmdateien setzen kann. Das Fastloadflag wird ab TOS 1.4 interpretiert und bewirkt, dass der Speicher beim Laden eines Programmes nicht komplett gelöscht wird, sondern nur die BSS, ein vom Programm direkt nach dem Laden benötigter Speicherbereich. Dies bewirkt auf Rechner mit viel Speicher, besonders beim Abarbeiten des Autordners, eine deutliche Geschwindigkeitssteigerung des Bootvorganges. Manche Programme erwarten aber, dass der Speicher, den sie mit Malloc anfordern, mit Nullen gefüllt ist, diese Programme kommen dann mit dem Fastloadflag nicht zurecht. Auch Accessories haben manchmal Probleme, weil interne Strukturen der AES nicht gelöscht werden, es sollte deshalb mindestens ein Autoordner-Programm ein gelöschtes Fastloadflag haben.

TOS15FIX von ATARI: Tos14fix beseitigt zwei Fehler, einen im AES, der bewirkt, dass bei manchen Programmen die Funktion shel"find nicht funktioniert bzw. die Programme ihre Resource-Dateien nicht finden. Der andere bewirkt, dass bei der seriellen Schnittstelle der Hardware Handshake mit RTS/CTS funktioniert. Dies ist für serielle Drucker und schnelle Modems (gibt es im Vergleich zu 1989 heute ja eigentlich nur noch) wichtig. Tos14fx5 ist eine verbesserte Version von Karsten Isakovic.

CTSPATCH von Bill Penner: Ctspatch nimmt sich des gleichen Fehlers beim Hardware Handshake der seriellen Schnittstelle an wie Tos14fix von ATARI.

TURBOCTS von Bill Penner: Turbocts ist ein weiterer RTS/CTS Patch, siehe oben.

CACHEnnn von ATARI: Mit Cachennn kann man dem GEMDOS weiteren Pufferspeicher für den Festplattenzugriff zuweisen, so dass das GEMDOS nicht bei jedem Zugriff auf das Inhaltsverzeichnis eines Laufwerkes direkt auf die Platte zugreifen muss, sondern die Daten aus dem Speicher holen kann, wodurch man natürlich eine deutliche Zugriffsbeschleunigung erreicht. Die Größe des Speichers wird im Programmnamen mit angegeben. Nennt man das Programm z.B. in CACHE90 um, werden 90 Daten-Sektoren und 90 Inhaltsverzeichnis-Sektoren im Speicher gehalten. Normalerweise sind es jeweils nur einer. Moderne Festplattentreiber haben heutzutage allerdings schon einen eigenen Cachespeicher, so dass es redundant ist, Cachennn einzusetzen. Auch gibt es Sharewareprogramme wie z.B. TCACHE, die eine komfortablere und effektivere Cache Verwaltung zur Verfügung stellen, allerdings auch mehr Speicher belegen.

BUTTON FIXER von Charles F. Johnson: TOS 1.4 hat einen ärgerlichen Fehler, der bewirkt, dass beim Klicken auf einen Scrollpfeil eines Fensters nicht eine, sondern zwei Zeilen gescrollt werden. Dies liegt daran, dass die AES manchmal zwei WM_ARROWED Nachrichten verschickt. Dieses Accessory versucht, diesen Fehler unter TOS 1.4 zu verhindern.

TOS 2.06/3.06

VDI-FIX 1.10 von Karsten Isakovic: Auf allen TOS Versionen außer 1.02,3.06 und den KAOSen gibt es einen Fehler im VDI, der dazu führen kann, dass bei v_opnwk und v_opnvwk falsche VDI Handles zurückgeliefert werden. Dieser Fehler basiert darauf, dass die interne Liste der VDI-Workstation nicht richtig verwaltet wird, wenn wiederholt Workstations geöffnet und geschlossen werden. Dies kann zu fehlerhafter Grafikdarstellung und Abstürzen führen.

ARROWFIX 1.5: Arrowfix nimmt sich mehrerer AES Fehler im GEM 3.2 des TOS 2.06/ 3.06 an: nämlich des Scroll-Fehlers mit den zwei WM_ARROWED Nachrichten, s.o., außerdem wird bei manchen Nachrichten ein falscher Wert für die Überlänge der Nachricht eingetragen, weiterhin wird beim Klicken auf ein ARROW-Element unter Umständen in Accessories die falsche Methode zum Versenden der Nachricht benutzt. Dadurch trifft das Ereignis erst verzögert ein (z.B. ST-GUIDE). Arrowfix benötigt allerdings für seine Arbeit ein GEM im RAM-Speicher. Um das TOS aus dem ROM ins RAM zu bekommen, benötigt man noch ein zusätzliches Programm. Zum Beispiel GEMRAM von Martin Osieka oder ROMRAM von Alexander Herzlinger auf dem TT. Diese Programme kopieren das TOS bzw. GEM aus dem ROM ins RAM und sorgen dafür, dass es hier ausgeführt werden kann. Dies kostet natürlich Speicherplatz, bewirkt aber bei ROMRAM auch eine Geschwindigkeitssteigerung, da dort das TOS ins FASTRAM kopiert wird, von wo es schneller ausgeführt werden kann.

FLOP-FIX von Harun Scheutzow: Flop fix behebt Probleme in der Floppy-Verwaltung von TOS 2.06/3.06/4.0x. Diese Probleme betreffen die Erkennung des Diskettenwechselns bei der Verwendung von zwei Laufwerken, den korrekten Zugriff auf Disketten mit nur einer FAT, hierfür wird die komplette Getbpb BIOS-Routine ersetzt. Und es wird ein Fehler beseitigt, der dazu führen kann, dass VDI Zeichsatz-Informationen zerstört werden. Dies kann passieren, da die Floppyroutinen und das VDI den gleichen Zwischenspeicher verwenden. Außerdem ermöglicht es, Flop fix ED-Disketten mit 12Bit und 16-Bit FAT zu benutzen.

SERFX20 ... ... von Bill Penner beseitigt wie CTSPATCH und TURBOCTS vom gleichen Autor das RTS/CTS Problem der seriellen Schnittstelle, allerdings für alle TOS-Versionen von 1.0 bis 4.0x.

SHBUFxx von Martin Osieka: Die AES und der Desktop erlauben es, ab TOS 2.05 ihre Konfiguration in der Datei NEWDESK.INF (ehemals DESKTOP.INF) zu sichern. Beim Neustart wird diese Datei geladen und ausgewertet. Zur internen Verwaltung der Datei benutzt das GEM statische Puffer, deren Größe mit der gewachsenen Leistungsfähigkeit des Desktops, insbesondere Iconregeln, nicht mitgehalten hat. So kann es leicht passieren, dass man beim Start eines Programms die folgende Meldung erhält: "Kein Systemspeicher mehr frei!". Mit shbuf kann die Größe dieses Puffers vergrößert werden. Wenn man shbuf nach shbuf10 umbenennt und in den Autoordner kopiert, wird ein Puffer von 10 KByte eingerichtet. Allerdings muss auch hier das GEM im RAM vorliegen, siehe Arrowfix. Shbuf ist aber auch in der Lage, aus einem TOS Image ein File herzustellen, das man dann in Eproms brennen kann.

SEEKUP von Martin Koehiing: Seekup schaltet auf STs unter TOS 2.06 die Verdoppelung der Seekrate aus. Die Floppy arbeitet damit leiser.

TOS 4.Ox

FPATCH2 von ATARI: Fpatch beseitigt zwei Fehler im BIOS des Falcon (TOS 4.00-4.04). Er bewirkt, dass das Soundsystem richtig initialisiert wird, und dass die BIOS-Funktion Bconmap, die zur Umleitung der seriellen Schnittstelle dient, richtig funktioniert.

TOS4TRAP ... ... von Keith Gerdes macht GEMDOS-Aufrufe zum TOS 2.Ox kompatibel. Bei TOS kleiner 4.00 wäre Wildcards in Dateinamen von GEMDOS-Aufrufen wie Fopen (z.B. DATEI.I??) erlaubt, ab TOS 4.00 nicht mehr. Deshalb finden manche Programme ihre Dateien nicht.

MONOFIX von Thomas Binder: Manche älteren Programme erkennen auf dem Falcon den Monochrom-Modus 640x400 nicht als ST Grafikmodus an, so z.B. Maccel. Monofix behebt dieses Problem.

BACKWARD ... ... von Cyrille Dupuydauby ist praktisch ein STe Emulator für den Falcon. Er sorgt dafür, dass alte ST-Spiele auch auf dem Falcon laufen, indem er sie entweder patcht bzw. den Falcon so umstellt, dass sie laufen können. Mit Hilfe von Backward wird der Falcon in Sachen Sound, Grafik und Geschwindigkeit mehr STe-kompatibel gemacht.

Systemerweiterungen durch Patchprogramme

WINX von Martin Osieka: Winx ist der ultimative GEM Patch, es bietet so viele Fehlerkorrekturen und Erweiterungen, dass man damit schon einen eigenen Artikel füllen könnte. Das bemerkenswerte Feature ist sicherlich, dass man mit Winx unter GEM mehr als 8 Fenster öffnen kann, bis zu 50 Fenster sind erlaubt. Winx erlaubt es, ab TOS 2.05 Fenster als Ganzes zu verschieben, patcht den Desktop so um, dass die Fenster in Echtzeit gescrollt werden können, das heißt, dass der Fensterinhalt schon beim Bewegen der Slider neu gezeichnet wird und nicht erst beim Loslassen. Fenster können jetzt im Hintergrund bedient werden, ohne dass sie erst getopt werden müssen. Fensterelemente werden beim Benutzten selektiert. Außerdem eliminiert Winx jeden bekannten GEM-Fehler und ersetzt so sehr viele Patche, z.B. Arrowfix. Mit TOS 1.0 bis 1.04 kann Winx im Autoordner gestartet werden, bei allen anderen Versionen muss das GEM wieder im RAM vorliegen oder als ROM Image, das dann in Eproms gebrannt werden kann. Auf einem TOS 1.2 belegt Winx z.B. nur 16 Kb RAM. Den Programmierern bietet Winx auch neue Möglichkeiten, indem es Funktionen zur Verfügung stellt, die sonst erst unter TOS 4.0x/MultiTOS oder Magix vorhanden sind. Dies sind z.B. erweiterte Auskunftsfunktionen, neue Windows-Nachrichten und auch Nachrichten fürs Echtzeitscrolling.

HSMODA07 von Harun Scheutzow: HSMODA07 ist ein modularer Treiber für die seriellen Schnittstellen der ATARis und ersetzt die TOS Routinen komplett, so dass man allen Problemen mit CTS/RTS aus dem Weg geht. Eine deutlich sichere und schnellere Datenübertragung wird so auch ermöglicht. Und dies nicht nur für die Schnittstellen des ST, sondern auch für die zusätzlichen Schnittstellen des MSTe, TT und Falcon. Es liegen jeweils eigene Treiber für die Schnittstellen vor.

Serial Fix ... ... von Bill Penner ersetzt wie HSMODA die Routinen des ST unter allen TOS-Versionen komplett und bietet so einen sicheren und schnellen Zugriff auf die serielle Schnittstelle. Es beinhaltet alle Patches des Autors wie Serfx20, Turbocts.

TP206v38 ... ... ist eine Patch Zusammenstellung, die alle möglichen Patches fürs TOS 2.06 enthält, dies sind alle oben vorgestellten und auch viele andere: z.B. neue Icons, Mauszeiger, Routinen, die beim Booten auf die Harddisk warten, schnelle Druckroutinen, Treiber für die c-t Billiglösung, Floppy Fastload, anderes Bootlogo, Winx usw. Diese ganzen Patches sind einzeln an- und ausschaltbar und werden in ein ROM Image eingepatched. Das Image muss aber nicht in ein Eprom gebrannt werden, sondern kann an eine beliebige Speicheradresse reloziert werden und so im RAM betrieben werden. Das Patchen wird über eine Scriptsprache abgewickelt, ist so sehr einfach und kann auch beliebig erweitert werden. Dieses Paket gibt es außerdem noch für den TT (TP306v20), den Falcon (TP404v12), das ST-Book JP206STB), die PAK3 und TOS 1.04.

GEMRAM von Martin Osieka ... ... ist das schon erwähnte Programm, um das GEM ins RAM zu kopieren, um es dort abzulaufen lassen, es funktioniert mit allen TOS-Versionen.

ROMRAM ... ... von Alexander Herzlinger kopiert das TOS auf einem TT ins FASTRAM, wo es dann gepatched und betrieben werden kann. Im FASTRAM kann das TOS bis zu 30% schneller ablaufen als im ROM, was sich gerade bei der Bildschirmausgabe deutlich bemerkbar macht.

ROMSPEED ... ... von Uwe Seimet bewirkt das gleiche, allerdings auch auf dem Falcon; auf diesem ist allerdings kaum eine Geschwindigkeitssteigerung bemerkbar, da der Falcon ja normalerweise kein FASTRAM hat.

Welche Patches benötigt man für welches TOS?

Hier kommt es unter anderem darauf an, wozu man seinen Rechner benutzt. Wer nie mit einem schnellen Modem oder seriellen Drucker arbeitet, braucht seinen Rechner und Bootvorgang nicht mit einem Patch für die serielle Schnittstelle zu belasten. Andernfalls ist HSMODA07 aufgrund seiner schnellen Treiber, gerade auf normalen 8 MHz STs, zu empfehlen. Alle anderen seriellen Patches kann man dann getrost vergessen. Vdifix und Fixgdos werden nicht mehr benötigt, wenn man NVDI benutzt, welches ja eigentlich auch ein großer VDI Patch ist, indem es das VDI komplett ersetzt. Zu empfehlen ist auf alle Fälle Winx, da es alle GEM-Fehler beseitigt und die Bedienbarkeit des ST sich deutlich verbessert. Wer eine TOS Version < 2.05 besitzt, sollte wirklich darüber nachdenken, irgendwie auf TOS 2.06 zu updaten, sei es mit neuen ROMs bei einem STe, einem TOS Modul bei ST/MegaST oder einem reloziertem ROM Image, wozu man aber ja auch im Besitz eines TOS 2.06 sein sollte. Dieses TOS ist deutlich schneller und fehlerbereinigter als ältere Versionen. Für den Festplatteneinsatz ist jedes TOS kleiner 1.04 absolut nicht geeignet, da hilft auch kein größerer Cachespeicher. Das GEMDOS älterer Versionen kann nur vernünftig mit Disketten arbeiten. In der kommenden Ausgabe werden wir über alternative Desktops berichten, mit Hilfe derer der ATARI-Bildschirm kräftig aufgemöbelt wird.


Thomas Göttsch
Aus: ST-Computer 10 / 1997, Seite 31

Links

Copyright-Bestimmungen: siehe Über diese Seite