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-File14.1.11.11 atariModePossible TOS ... zeigt auf ein Byte, das anzeigt, ob augenblicklich ein Wechsel vom Mac- in den Atari-MMU-Modus möglich ist (0=verboten, 1=erlaubt). Solange der Macintosh ohne Virtual Memory (auch RAM-Doubler) läuft, ist der Aufruf von 'modeAtari' immer möglich, wenn jedoch VM aktiv ist und das Flag "UnlockMemOnMacSide" auch ungleich Null ist, wird beim Wechsel vom MagiC- zum Mac-Bildschirm der von MM für die TPA belegte Speicher zum Auslagern freigegeben. Sobald die VM-Verwaltung jedoch einen Block auslagert, sind die von MM berechneten MMU-Tabellen nicht mehr gültig und müßten vor der nächsten Umschaltung in den Atari-Modus erst neu berechnet werden. Dies wird jedoch nicht automatisch getan, sondern erst, wenn zurück zum Atari- Bildschirm gewechselt wird. Aus diesem Grund dürfen Interrupt- und andere asynchrone Routinen, die unter MagiC Mac mittels MacOS- Funktionen installiert sind, unter den beschriebenen Umständen keine Atari-Modusumschaltung vornehmen. Atari-Programme, die sich in die Atari-Vektoren einhängen (z.B. den VBL-Vektor bei $70), müssen dies alles nicht beachten, weil im Fall, daß die MMU-Tabellen ungültig werden, die Atari-Interrupts erst gar nicht mehr simuliert werden. Für den Fall, daß weitere Maßnahmen ergriffen werden sollen, bevor bzw. nachdem sich der Status des Flags ändert, kann auch eine Routine über macAppSwitch installiert werden, die dann mit den Werten 3 und 4 in D0.W dieses Ereignis anzeigt). Querverweis: Programmstart und TPA Cookie von MagiC Mac