ATOS - Around The Operating System Das ATOS-Magazin 4/96

# MagiCMac 2

Satte Versionssprünge macht in regelmäßigen Abständen MagiC, das als TOS-Alternative für Atari-Computer und als Atari-kompatibles Betriebssystem für Apple Macintosh und Windows95/NT angeboten wird. Nachdem das Release der Version 4.02 noch nicht allzu lange her ist, haben Andreas Kromke und die Behne-Brüder jetzt die Version 5 fertiggestellt.

Der Kernel von MagiC 5 ist auch in der neuen Version 2 von MagiC Mac und in MagiC PC (siehe Artikel über MagiC PC) enthalten.

VR

Inhalt dieses Artikels:

Neuerungen in MagiC 5.0:

- Lange VFAT-Dateinamen auf AHDI-Laufwerken

- Mehr Tasks, Implementierung von Threads, Signals und AV-Protokoll

Neuerungen in MagiC Mac 2:

- Unterstützung farbiger ST-Auflösungen

- Bessere Einbindung in das MacOS

- Einfachere Einbindung von Wechselmedien

- Weitere Neuerungen

- Fazit

### VFAT: Voll FAT

Windows 95, der Industrie-Standard der späten 90er Jahre unter den Betriebssystemen, ist eine gelegentlich leicht wackelige Mixtur aus uralter DOS-Kompatibilität und moderneren Ansätzen. Ein Musterbeispiel hierfür stellt die Implementierung der langen Dateinamen dar. DOS enthält genauso wie Ataris TOS das FAT-Dateisystem. Die VFAT-Implementierung langer Dateinamen unter Windows 95 übernimmt einige Fehler von FAT, hat aber immerhin den Vorteil, kompatibel zur alten Lösung zu sein, stellt VFAT doch zusätzlich einen eindeutigen (wenn auch nicht gerade eingängigen) kurzen 8+3-Dateinamen zur Verfügung, mit dem auch ältere Programme zurechtkommen. Weiterer Vorteil dieses Verfahrens ist, daß eine FAT-Festplatte nicht extra neu formatiert werden muß, um lange VFAT-Dateinamen unterstützen zu können.

Was lernen wir daraus für unsere Atari-Plattform? Ein VFAT-Dateisystem eröffnet uns nicht nur die Möglichkeit, Windows95-Disketten- und Medien (mit-) zu lesen, sondern bohrt unser VAT-Dateisystem auf, ohne daß wir sonderliche Kompatibilitäts-Einbußen zu befürchten haben. Mit VFAT können bis zu 64 Zeichen lange Dateinamen verwendet werden, der komplette Pfad (also die Verschachtelung in Unterverzeichnissen) darf allerdings 256 Zeichen nicht übersteigen.

Puristen bevorzugen allerdings das technisch bessere Minix-Dateisystem. Nach der erfolgreichen VFAT-Implementierung sollte man die Hoffnung auf ein Minix-Dateisystem für MagiC nicht aufgeben.

In der Praxis ist die Verwendung langer Dateinamen einfach. Mit dem Programm VFATCONF.PRG, das sich nach der Installation im Verzeichnis C:\GEMSYS\MAGIC\UTILITY befindet, können permanent oder temporär lange Dateinamen für FAT-Festplatten oder TOS/DOS-Disketten eingestellt werden.

Sollen die langen Dateinamen dauerhaft genutzt werden, empfiehlt es sich, VFATCONF.PRG in das START- oder APPS-Verzeichnis zu kopieren, so daß es nach jedem Neustart von MagiC automatisch aktiviert wird.

Übrigens vergibt MagiC ebenso wie Windows 95 neben dem langen auch einen eindeutigen kurzen Dateinamen, über den die Datei auch von Systemen ohne VFAT-Unterstützung gelesen werden kann. Die Datei "sehr langer Dateiname.txt" erscheint dort etwa als "SEHR_LAN.TXT", wurde zusätzlich eine Datei "sehr langer Dateiname 2.txt" hinzugefügt, ergab das den kurzen Dateinamen "SEHR_L 2.TXT".

Probleme gibt es natürlich gelegentlich mit der Software. Der MagiC-Fileselektor ist sehr restriktiv und schaltet die lange Eingabezeile nur frei, wenn ihn das Programm mit Pdomain() aufgerufen hat. Das führt dazu, daß beispielsweise Everest oder Papillon zwar lange Dateinamen unterstützen, wenn sie mit Dateien per Doppelklick auf dem Desktop aufgerufen werden, sie die Dateien aber nicht über die Dateiauswahlbox wieder unter einem anderen langen Namen speichern können.

Andere Dateiauswahlboxen (wie z.B. Freedom) kennen dieses Problem nicht, da sie über das Dateisystem prüfen, ob lange Dateinamen zulässig sind.

### Mehr Tasks und neue Programmierer-Features

Neuerungen im MagiC 5 Kernel, die somit alle MagiC-Versionen (Atari, Mac, PC) betreffen, sind

- Erhöhung der Taskanzahl von 20 auf 126. Somit können deutlich mehr Applikationen und Hintergrundprozesse gleichzeitig aktiv sein.

- Implementierung von Threads: Im Multitasking können bekanntlich mehrere Programme gleichzeitig ablaufen. Die in MagiC neu implementierten Threads ermöglichen es dem Programmierer zusätzlich, mehrere Teile innerhalb eines Programmes parallel laufen zu lassen. Während der Haupt-Programmteil weiterläuft, erledigt eine als zweiter Thread gestartete Prozedur parallel ihre Arbeit. Andreas Kromke hat Thread-Mechanismen in MGCOPY und MGFORMAT eingebaut, um die Kommunikation mit dem Hintergrund-DMA zu verbessern.

- MiNT-Signals werden unterstützt: TOS-Programme können nun MiNT-kompatibel beispielsweise gestoppt oder beendet werden. Für GEM-Programme sind diese Signals ohne Bedeutung, da es entsprechende GEM-Messages gibt.

- AV-Protokoll in MagiC-Desk: Der MagiC-Desktop unterstützt jetzt auch das AV-Protokoll, mit dem GEM-Programme untereinander kommunizieren können (z.B. Drag & Drop, Starten von Programmen, Wechseln des aktiven Fensters).

### Unterstützung farbiger ST-Auflösungen

Nachdem in den bisherigen MagiCMac-Versionen bereits eine kompatible ST-hoch-Auflösung angeboten wurde, in der auch Programme zum Laufen bewegt werden konnten, die direkt in den Bildschirmspeicher schrieben, stellt MagiCMac 2 nun auch die farbigen Auflösungen ST-niedrig (320x200 in 16 Farben) und ST-mittel (640x200 in 4 Farben) zur Verfügung. Vor allem Spiele und ältere Farb-Malprogramme sind auf diese Auflösungen angewiesen. Ob diese Programme sich jetzt unter MagiCMac starten lassen, hängt allerdings auch davon ab, ob sie auf direkte Hardware-Zugriffe verzichten, da MagiCMac im Gegensatz zu MagiC PC die Atari-Hardware nicht emuliert.

Die Geschwindigkeit der ST-hoch-Emulation wurde vor allem bei PPC-Macs gegenüber den bisherigen MagiCMac-Versionen beschleunigt.

### Bessere Einbindung in das MacOS

Einige Neuerungen erleichtern die Arbeit mit MM deutlich:

- Programmstart: Bisher bekam der MagiCMac-Anwender wenig erfreuliche Fehlermeldungen, wenn er im Mac-Finder auf das Icon einer Atari-Programmdatei doppelgeklickt hat. MagiCMac könne die Datei nicht öffnen, hieß es immer.

  Ein neues Accessory "MAGICMAC" verbessert die Kommunikation zwischen MacOS und MagiCMac. Wird jetzt im Finder auf eine Atari-Programmdatei doppelgeklickt, wird MagiCMac (falls es noch nicht aktiv ist) gestartet und anschließend vom Desktop das Atari-Programm ausgeführt (der Desktop erhält die AES-Msg "AP_STARTPRG" zusammen mit dem Programmnamen). So läßt sich beispielsweise der Link eines Atari-Programmes auf dem Mac-Desktop ablegen, um es direkt aus dem Finder heraus starten zu können.

- Shutdown: Wird MagiCMac mit Apfel-Q beendet, erhält der Anwender eine Mac-Dialogbox, in der er neben einem harten Abbruch auch tastaturgesteuert einen sauberen Shutdown der noch aktiven Atari-Programme auswählen kann. Ein Shutdown in MagiCMac wird auch ausgelöst, wenn der Mac heruntergefahren wird (Quit-AppleEvent). Auch hier ist MAGICMAC.ACC Mittler zwischen den Systemwelten.

- Bildschirm-Redraw: Wer einen Mac-Bildschirmschoner nutzt, wird sich freuen, daß MagiCMac nach dem Ende des Schonvorgangs via MAGICMAC.ACC jetzt auch die Redraw-Messages mitbekommt und automatisch den Bildschirminhalt wiederherstellt.

- Dateitypenverbindungen: Der Macintosh erkennt Dateitypen nicht anhand einer nicht unbedingt eindeutigen Endung wie ".DOC" oder ".TXT", sondern speichert Erzeuger-Programm ("Creator") und Dateityp innerhalb der Ressource der Dateien. Wird eine Datei im Finder per Doppelklick aufgerufen, versucht dieser das Erzeugerprogramm oder ersatzweise ein anderes Programm mit Unterstützung des Dateiformats zu starten, um das Dokument anzuzeigen.

  In bisherigen MagiCMac-Versionen waren jedoch Type und Creator von Atari-Dateien immer "MagiCMac Dokument" und "MagiCMac", so daß der Finder (mit der Fehlermeldung, daß das Dokument nicht geöffnet werden könne) MagiCMac startete, um die Dateien anzuzeigen.

  Eine TIFF-Grafik beispielsweise, die mit Papillon oder PixArt gespeichert wurde, kann aber genausogut (oder gar besser?) Mac-seitig auch mit Photoshop weiterbearbeitet oder mit dem Grafikkonverter angezeigt werden.

  MagiCMac 2 stellt daher jetzt eine Dialogbox zur Verfügung, in der Type und Creator den Atari-Dateiendungen zugeordnet werden können. Sollen alle Grafiken mit der Endung *.GIF im Finder vom Grafikkonverter angezeigt werden, reicht es, das Icon einer vom Grafikkonverter gespeicherten GIF-Grafik in das Dialogfenster zu ziehen, um Typ und Erzeugerprogramm zuzuweisen (siehe Abbildung).

- Virtueller Speicher: Natürlich kann virtueller Speicher keinen echten Speicher ersetzen, kann aber vorübergehende Engpässe überbrücken. MagiCMac kann weiterhin nur tatsächlich vorhandenen Speicher nutzen. Auf PCI-Macs beschleunigt jedoch (im Gegensatz zu den 68K-Macs) auch ein nur klein eingestellter virtueller Speicher die Arbeit unter dem MacOS und reduziert den Bedarf an physikalischem Speicher deutlich, so daß Apple empfiehlt, ihn einzuschalten. Vor dem Start von MagiCMac mußte er jedoch bislang wieder deaktiviert werden.

  In der neuen MM-Version hat Thomas Tempelmann die Speicherverwaltung geändert, um den Magischen Mac auch bei aktivem virtuellen Speicher betreiben zu können. Dabei kann nach wie vor nur tatsächlich vorhandener Speicher genutzt werden. Kleinere Bugs in den bisher ausgelieferten Versionen sorgen jedoch dafür, daß entweder nicht mehr maximaler Speicher in der MM-Speicherzuteilung eingetragen werden darf als noch vorhanden ist oder - bis zur Verwendung der Version 2.02 - folgender Patch durchgeführt werden muß:

  > »Der bisherige Algorithmus kann wieder aktiviert werden, indem mit ResEdit die Datei "MagiCMac Preferences" geöffnet und darin in der 'STR#'-Tabelle der Eintrag "MemAllocMode" von 1 auf -1 geändert wird.« (Thomas Tempelmann)

### Einfachere Einbindung von Wechselmedien

Bisher schon konnte unter MM jedes beliebige Laufwerk oder Verzeichnis als Partition zugewiesen werden. Handelte es sich dabei um ein CD-ROM oder Wechselmedium, verlangte MagiCMac immer exakt das einmal zugewiesene Medium. Nach dem Wechsel einer CD-Rom mußte somit in die Mac-Seite von MM zurückgewechselt und in den Laufwerksparametern exakt die neu eingelegte CD neu zugewiesen werden.

Warum merkt sich MM nicht einfach, daß ein bestimmtes Laufwerk immer die CD-ROM oder die Wechselplatte darstellen soll, fragte sich mancher. Die Antwort liefert MM 2: MagiCMac merkt sich jetzt einfach die SCSI-ID und behält die Zuweisung auf ein bestimmtes Laufwerk. Zusätzlich kann jetzt auch die maximale Anzahl an Partitionen eingestellt werden, die für ein Wechselmedium reserviert werden sollen.

### Weitere Neuerungen

Zu den eher kleinen Änderungen gehören die wieder aufgenommene Einschaltung des Copy-Back-Caches (Menüpunkt "Systemparameter" mit gedrückter "ALT"-Taste anwählen) und die nun konfigurierbare auf- oder absteigende Sortierung der Verzeichnisse.

### Desktop-Anmerkungen

Im Prinzip hat der MagiCMac-Anwender die freie Desktop-Wahl. Application Systems Heidelberg liefert MagiCMac mit MagiC-Desk und wahlweise mit der Ease 5 aus.

MagiC-Desk ist ein eher spartanisch ausgestatteter Sportwagen, der aber in den Kurven der MagiC-Funktionalität eine deutlich bessere Straßenlage bietet, während die Ease wie eine Limousine komfortabler, aber mitunter auch sehr viel schwerfälliger agiert. Weitere Alternativen sind die Gemini und THING.

Was die aktuellen Versionen von Ease und MagiC-Desk gemeinsam bieten, ist der Auto-Lokator in Verzeichnisfenstern. Mit der Eingabe des Anfangsbuchstabens (oder schnell nacheinander der ersten beiden Buchstaben) wird der erste passende Verzeichniseintrag aktiviert - ähnlich dem Finder des Macintosh.

Unter MagiC-Desk können einfach Datei- und Verzeichnis-Aliase erzeugt werden, indem Icons zusammen mit der "Alt"-Taste verschoben werden. Der MagiC-Desk unterstützt auch Aliase, die unter dem Mac-OS angelegt wurden.

Störend ist allerdings, daß nach jeder Kopier-Aktion ein Medienwechsel mit der "ESC"-Taste angestoßen werden muß, um die geänderten oder neu angelegten Dateien auch tatsächlich im Verzeichnisfenster sichtbar zu machen.

Die Ease wertet lediglich Datei-Aliase aus, die unter MagiC angelegt wurden, während Verzeichnis-Aliase lediglich als leere Dateien angezeigt werden. Eine bessere Anpassung an MagiC wäre wünschenswert.

Dennoch lohnt sich das Update auf die aktuelle Ease-Version für die Anwender, die auf lange Dateinamen nicht mehr verzichten wollen.

### MM2-Fazit

Der MagiCMac-Versionssprung auf 2 ist nicht zu hoch gegriffen. Ein Update ist jedem zu empfehlen, der sich immer schon eine bessere Einbindung in das gastgebende Betriebssystem MacOS gewünscht hat.

VR