Seit kurzem ist MagiCMac, der ATARI-Emulator für das Apple-Betriebssystem MacOS, in der Version 2.1 erhältlich.
Im folgenden soll kurz vorgestellt werden, was sich bei diesem Update, das ebenfalls den neuen MagiC-Kernel in der Version 5.1 enthält, für Anwender und Programmierer geändert hat. Berücksichtigt wurden dabei Änderungen seit MagiCMac 2.0.5 bzw. MagiC 5.0. Zunächst werfen wir einen Blick auf die Anwenderseite.
Beim Arbeiten mit Fenstern fallen zuerst die Echtzeitfunktionen auf, wie sie bisher von WINX oder WinCom bekannt waren. Das Verschieben der Fenster, Ändern der Größe und Bewegen der Slider zeichnet nun nicht mehr bloß den Umriß auf den Bildschirm, sondern bewegt das vollständige Fenster bzw. dessen Inhalt mit. Um diesen Modus kurzzeitig auszuschalten, kann man beim Verschieben <Control> gedrückt halten, dann wird wie bisher der Umriß verwendet. Wer die Echtzeitfunktionen generell nicht benutzen möchte, kann sie in der Datei MAGXINF in der Zeile #_FLG ausschalten. Die Funktionen können dann im Betrieb immer noch durch Drücken von <Control> zugeschaltet werden.
Um die nächste Neuerung zu sehen, muss man doppelt auf den Titelbalken eines Fensters klicken. Das Fenster verkleinert sich daraufhin auf die Größe des Titelbalkens, so dass man schnell für Übersicht auf seinem Desktop sorgen kann. Mit einem erneuten Doppelklick klappt das Fenster wieder auf normale Größe auf. Dieses Verhalten wird "Shading" genannt und ist ebenfalls bereits von WINX bekannt (s.u.).
Als neues Zusatzprogramm liegt MGNOTICE bei. Damit kann man ähnlich zum Programm "Notizzettel" beim Mac oder PINPOINT - Desktop-Notizen schreiben, die als kleine Fenster ständig im Hintergrund liegen und an wichtige Termine, Adressen etc. erinnern. Farbe und Zeichensatz sind bei MGNOTICE-Notizen frei einstellbar, die Anzahl der Notizen ist nur durch die Anzahl der verfügbaren Fenster beschränkt. Schade ist nur, dass kein externer Editor automatisch aufgerufen werden kann, da der interne auf fünf Zeilen beschränkt ist. Für die meisten Notizen reicht das allerdings aus.
Auf Mac-Seite können im "Dateitypen"-Dialog nun vierstellige Extensions eingetragen werden, was z.B. für die Extension ".html" interessant ist. Das Mac-Dateisystem kann sie in der vollen Länge speichern, nur in der DOS-/SingleTOS-Welt ist sie auf ".HTM" verkürzt. Mit dem "Dateitypen"-Dialog können unter MagiCMac erzeugten Dateien feste Creator-Einträge zugewiesen werden, damit sie auf der Mac-Seite beim Aufruf per Doppelklick automatisch dem richtigen Programm zugewiesen werden.
Weiterhin fallen der Autolocator bei der Dateiauswahl, der jetzt auch schon bei der anfangs übergebenen Datei funktioniert, die Unterstützung des Klemmbretts in den Editfeldern und der Desktopklick beim MagXDesk positiv auf (siehe Bild 2).
Das Fenster-Shading ist für Programmierer sehr angenehm, erfordert es doch keine spezielle Anpassung der Applikationen! Man muss bei der Bildschirmausgabe lediglich beachten, dass auch schon das erste Rechteck der Fensterrechteckliste, das von wind-get(WF FIRSTXYWH) geliefert wird, ungültig sein kann - aber dieser Fall konnte auch bisher schon bei vollständig verdeckten Fenstern auftreten und sollte daher keine Probleme bereiten. "Sollte" daher, weil die Praxis vor allem bei älteren Programmen manchmal anders aussieht. Wer auf das Shading reagieren möchte (z.B. Verhindern von Tastatureingaben), kann die AES-Nachrichten WM-SHADED (0x5758, beim Einklappen des Fensters) und WM UNSHADED (0x5759, beim Ausklappen) auswerten. In msg[3] wird jeweils die ID des Fensters zurückgeliefert. Die bei den Nachrichten sind kompatibel zu WINX, ebenso wie die Tatsache, dass sie nur "informativ" verschickt werden, d.h. beim Empfang der Nachricht kann sich der tatsächliche Status des Fensters schon, wieder geändert haben. Wünschenswert wäre in diesem Zusammenhang noch die vollständige Unterstützung sämtlicher WINX_wind_get()/ wind set()-Erweiterungen, die sich nicht nur auf das Shading beziehen, sondern das Fensterhandling generell vereinfachen.
Für ein applikationsbezogenes Fenster-Cycling wurde wind-get(WF-BOTTOM) erweitert. Bei diesem Aufruf kann in intin[2] die AES-I.D einer Applikation übergeben werden. Der Wert des Fensterhandles in intin[0] bestimmt dann die Ausgabe in intout[2]:
0: liefert das oberste Fenster der Applikation
-1: liefert das unterste Fenster der Applikation
0: der Wert wird als Fensterhandle interpretiert; geliefert wird das nach diesem Handle nächste Fenster der Applikation.
Desweiteren enthält das Betriebssystem nun AES-Routinen, die ihre Zeichenroutinen auf den sichtbaren Bereich eines Fensters beschränken - dies ist u.a. für Fensterdialoge interessant. Betroffen sind davon die Routinen objc_wdraw(), objc wchange(), graf wwatchbox(), form wbutton() und form wkeybd(), denen im Gegensatz zu den bisher schon vorhandenen Funktionen (objc_draw() etc.) zusätzlich ein Fensterhandle übergeben wird. Interessant dürften diese Erweiterungen dann werden, sobald sie in der Systemerweiterung WDIALOG auch unter anderen Betriebssystemen zur Verfügung stehen.
Das Update hat viele kleine Verbesserungen gebracht, die das alltägliche Leben (und Arbeiten) angenehmer gestalten. Die neuen Features des MagiC 5.1-Kernels sind auch in der ATARI- und Windows95-Version von MagiC enthalten. MagiCMac 2.1 ist erhältlich zum Preis von: 299 DM
Bezugsquelle:
Application Systems Heidelberg Software GmbH Postfach 10 26 46 D-69016 Heidelberg
http://members.aol.com/ ashinfo