ATOS - Around The Operating System Das ATOS-Magazin 4/96
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:
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.
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).
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.
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)
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.
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.
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.
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