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-File3.1 Das BIOS TOS Die BIOS-Funktionen stellen die unterste Schnittstelle des Betriebssystems zur Hardware des Atari dar, und werden über den 680X0-Trap#13 aufgerufen. Diese Funktionen sollten möglichst nicht von Applikationsprogrammen verwendet werden, da wesentlich leistungsfähigere Funktionen auf höherer Ebene als bessere Alternative verfügbar sind. Insgesamt sind die folgenden Funktionen verfügbar: ∙ Bconin Zeichen von Eingabegerät einlesen. ∙ Bconout Zeichen auf Ausgabegerät ausgeben. ∙ Bconstat Status eines Eingabegeräts ermitteln. ∙ Bcostat Status eines Ausgabegeräts ermitteln. ∙ Drvmap Angeschlossene Laufwerke ermitteln. ∙ Getbpb BIOS-Parameterblock eines Geräts ermitteln. ∙ Getmpb Speicherparameterblock ermitteln. ∙ Kbshift Tastaturstatus ermitteln. ∙ Mediach Ermitteln, ob die Diskette gewechselt wurde. ∙ Rwabs Sektoren auf Laufwerken lesen und schreiben. ∙ Setexc Exceptionvektoren ermitteln und festlegen. ∙ Tickcal Timer-Konstante ermitteln. Das BIOS ist in MagiC reentrant. Das heißt, diese Funktionen können (solange der jeweilge Supervisorstack nicht überläuft...) auch aus Interrupts mehrfach aufgerufen werden. Hinweis: ∙ Die <saveptr_area> des BIOS ist (aus Kompatiblitätsgründen) noch vorhanden, wird jedoch vom System nicht benutzt. ∙ Die Stacküberprüfung von Turbo C/Pure-C wird bei Routinen versagen, die im Supervisor-Modus ausgeführt werden (unter TOS konnte das bisher nur bei USERDEF-Routinen im AES, die ebenfalls im Supervisor-Modus ausgeführt werden, passieren). Falls Sie eigene Routinen ins BIOS hängen, dann achten Sie darauf, diese voll reentrant zu gestalten. Machen Sie keine Annahmen über den Inhalt der <saveptr_area> ! Das BIOS nimmt seine Parameter auf dem Stack entgegen; dabei wird das letzte Argument aus der Parameterliste als erstes auf dem Stack abgelegt. Funktionsergebnisse werden im Prozessorregister d0 zurückgeliefert. Nur die Register d3-d7 und a3-a7 werden gerettet, alle anderen können durch den Aufruf verändert werden. Querverweis: GEMDOS XBIOS Reset-Vektor VT-52-Terminal