Topic : TOS - das Betriebssystem Author : Version : tos.hyp (5. März 2013) Subject : Programmieren/Atari Nodes : 3001 Index Size : 93602 HCP-Version : 5 Compiled on : Atari @charset : atarist @lang : @default : Titel @help : @options : +g -i -s +x +zz -t4 @width : 70 View Ref-File15.7.5 Beispiel: Chatwin und STJ-Oberon-2 TOS Als Beispiel soll hier kurz aufgeführt werden, wie Chatwin (Shell) und STJ-Oberon-2 (Loader) das LTL-Protokoll implementieren: ∙ Der Oberon-Loader richtet den OBNL-Cookie ein und startet dann Chatwin nach. ∙ Chatwin erkennt am Vorhandensein des Cookies, daß LTL gewünscht ist und meldet sich mit dem Aufruf CL_INIT beim Loader an. Dabei übergibt Chatwin einen Zeiger auf eine Funktion, über die der Loader wiederum Aktionen in Chatwin auslösen kann. ∙ Wann immer Chatwin nun angewiesen wird, eine Datei mit der Exten- sion *.OBJ zu starten, übergibt er diese Datei und die evtl. übergebenen Parameter mittels der Nachricht CL_COMMAND an den Loader. Der Loader muß nun das Programm starten. Handelt es sich um ein TOS-Programm, so kann er die Ausgaben dieses Programms über die Nachrichten LC_WRCHAR und LC_WRSTR in das Console-Fenster von Chatwin ausgeben lassen. Handelt es sich um ein GEM-Programm, so kann der Loader Chatwin unter SingleTOS dazu auffordern, alle seine Fenster zu schließen (Nachricht LC_CLOSEWIN), bevor das Programm gestartet wird. Anmerkung: Chatwin erkennt anhand der Extension, ob für eine Datei ein Load-Time-Linking durchzuführen ist. In älteren Versi- onen ist die Extension *.OBJ fest vorgegeben, ab Chatwin 3.04 kann die Extension in der Environmentvariablen $LTLEXT angegeben werden. Dadurch ist Chatwin auch für andere Sprachen gerüstet, die nicht *.OBJ als Extension für die Objektfiles verwenden. ∙ Wenn längere Zeit keine Benutzereingaben und auch keine sonstigen Aufgaben anliegen, gibt Chatwin Zeit an den Loader ab, indem er die Nachricht CL_TIME schickt. Der Loader kann dadurch bestimmte Aufgaben im Hintergrund erledigen. ∙ Für das Programmende gibt es kein spezielles Protokoll: Wenn Chatwin beendet wird, beendet sich auch der Loader.