Atarium

Glashaus

Sicher kennen Sie das schöne Sprichwort: "Wer im Glashaus sitzt, soll nicht mit Steinen werfen.". Es hat sich mal wieder bewahrheitet: da predigt man Jahr für Jahr, daß man bei Betriebssystemaufrufen auf die Return-Werte achten soll. Und irgendwann stellt man dann fest, daß man es selbst auch nicht immer richtig macht.

So geschehen jüngst, als ich eine neue Version meines Denkspiels "Kubis'96" im MausNet verteilte. "Kubis" enthält meine Dialog-Library "FlyDials", und die wiederum verwendet zur Abfrage des Systemzeichensatzes genau die Funktion, die hier im September-Heft veröffentlicht wurde[1]. Ein Benutzer beschwerte sich darüber, daß bei Verwendung unter _WINX" der falsche Zeichensatz dargestellt würde. Die erste Reaktion des Programmierers ist natürlich typischerweise, die Schuld auf den fremden System-Patch zu schieben ("Da ist sicherlich ein Fehler in appl_getinfo()..."). Doch der Autor von "WINX" ist immerhin Martin Osieka, der sich wohl besser als jeder andere im AES auskennt, und so begann der Zweifel in mir zu nagen.

Lange Rede, kurzer Sinn: WINX 2.2 unterstützt zwar appl_getinfo() [die Routine stellt das mittels appl_find ("?AGI") fest], aber bei der Zeichensatzabfrage wird tatsächlich ein Fehler gemeldet (weil WINX diese Funktion nicht unterstützt). Auf den Fall, daß appl_getinfo() zwar vorhanden ist, die Opcodes 0 und 1 (Zeichen satzabfrage) aber nicht funktionieren, war die Routine aber nicht vorbereitet. Man muß also bei beiden Aufrufen von appl_getinfo() testen, ob es einen Fehler gegeben hat (Returncode 0), und in dem Fall mit der "Hack"-Variante aus dem "else"-Zweig fortfahren.

Ähnliche Fehler treten auch in anderen Situation auf. So braucht man beispielsweise für den Test, ob das AES Iconify unterstützt, eine ähnliche Abfrage. Die Unterfunktion has_iconify() aus den Listings im Mai-Heft ([2], Seite 93) und Juli-Heft ([3]) weist einen ähnlichen Fehler auf.

Auch zur korrekten Unterstützung von AP_TERM braucht man appl_getinfo(), denn nicht jedes AES unterstützt Shutdown, und eine bloße Abfrage der Versionsnummer reicht aufgrund von "MagiC" leider nicht aus (vgl. [4]). Listing 1 zeigt, wie man es richtig macht.

Kubis'96

Nun zum oben erwähnten "Kubis'96". Es handelt sich um eine leicht überarbeitete Fassung des Geschicklichkeitsspiels, das vor langer, langer Zeit veröffentlicht worden ist. Richtig neu ist nur, daß 'moderne' GEM-Features wie Iconify und Shutdown unterstützt werden. Es liegt in der Maus MS2 unter dem Dateinamen _KUBIS96A.ZIP" zum freien Download bereit.

Ebenfalls neu in der Maus MS2 ist die im Mai-Heft angekündigte MetaDOS-Version 2.60 [2]. Sie enthält zweiwichtige Fehlerbehebungen [Pexec-Modus 3 und Frename()] und hat den Namen "METADS26.ZIP".Achtung, Hard&Soft-Kunden: "CDTool" wird bereits seit Version 2.08 mit einer entsprechend korrigierten MetaDOS-Version ausgeliefert.

Bis zum nächsten Mal!

Quellennachweis:

[1] Julian F. Reschke, "ATARIum: Abfrage des System-Fonts", ST-Computer 9/1995, Seite 89
[2] Julian F. Reschke, "ATARIum: Minimierung mit minimalem Aufwand", ST-Computer 5/1995, Seite 90
[3] Julian F. Reschke, "ATARIum: Der Soundhardware auf die Finger geschaut", ST-Computer 7/1995, Seite 89
[4] Thomas Künneth, _Shutdown:...auch Ausschalten will gelernt sein", ST-Computer 4/1995, Seite 92


Julian F. Reschke
Aus: ST-Computer 11 / 1995, Seite 42

Links

Copyright-Bestimmungen: siehe Über diese Seite