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-File7.2.2 Das GDOS TOSEinige Funktionen des VDI können erst nach der Installation des GDOS
aus dem AUTO-Ordner heraus richtig benutzt werden. Grundsätzlich
ermöglicht das GDOS (Graphics Device Operating System) beliebige
Gerätetreiber und Zeichensätze zu laden, und dann zu benutzen.
Es ist dabei völlig unabhängig vom verwendeten Gerät. Gerätespezifisch
sind nur die nachzuladenden Treiber, die die VDI Funktionen auf dem
entsprechenden Gerät realisieren. Bei genauer Kenntnis des
Treiberformats ist es so möglich beliebige, und auch exotische
Ausgabegeräte als VDI Ausgabegerät zu betreiben.
Mit residentem GDOS erhöht sich die Zahl der Verfügung stehenden VDI-
Funktionen, während alle anderen Funktionen voll funktionsfähig
bleiben bzw. einen erweiterten Ausgabeumfang erhalten. Umgekehrt ist
das aber nicht so, Funktionen, die GDOS benötigen, führen ohne
residentes GDOS zum Absturz des Rechners.
Abb: Der Stammbaum der GDOS-Familie
Daher ist es in einigen Fällen wichtig zu wissen, ob überhaupt ein
vollständiges GDOS installiert ist. Atari hat zu diesem Zweck das
folgende Verfahren dokumentiert: Der Trap-Dispatcher verändert den
Eingabewert -2 für Register D0 genau dann, wenn ein GDOS installiert
ist. Viele Compiler stellen die Funktion vq_gdos zur Verfügung die
genau dann einen Wert von 0 zurückliefert wenn kein GDOS installiert
ist. Diese Funktion basiert im wesentlichen auf dem folgenden Code:
vq_gdos:
move.w #-2,d0
trap #2
cmp.w #-2,d0
sne d0
ext.w d0
rts
Wichtiger Hinweis: vq_gdos liefert nur die Information, ob ein GDOS
vorhanden ist, oder nicht. Es wird nichts darüber ausgesagt, um
welches GDOS es sich handelt bzw. welche Fähigkeiten das installierte
GDOS besitzt. So läßt sich mit Hilfe dieser Funktion beispielsweise
das AMC-GDOS nicht von SpeedoGDOS oder NVDI unterscheiden.
Vorsicht: Die GEM-Versionen des niederländischen Softwarehauses "ABC"
(ABC-GEM 2.x) stürzen bei diesem Aufruf ab.
Allernativ gibt es noch vq_vgdos (_vq_gdos):
vq_vgdos:
move.w #-2,d0
trap #2
rts
Als Rückgabe erhält man:
Name Wert GDOS Type
GDOS_NONE -2 GDOS not installed.
- Any other value. GDOS 1.0 or 1.2
GDOS_ATARI 0x0007E88A GDOS 1.1 von Atari Corp.
GDOS_AMC 0x0007E864 AMC-GDOS von Arnd Beissner
GDOS_AMCLIGHT 0x0007E8BA GEMINI-Spezial-GDOS von Arnd Beissner
- 0x3e5d0957 ttf-gdos von Trevor Blight
GDOS_FNT 0x5F464E54 ('_FNT') FONTGDOS
GDOS_FSM 0x5F46534D ('_FSM') FSMGDOS
- 0x66564449 ('fVDI') fVDI
Die aktuellen (und leistungsfähigsten) Versionen sind das SpeedoGDOS
und NVDI (ab Version 3.0), die es u.a. erlauben Vektorzeichensätze im
TrueType, Type-1 bzw. Speedo Format zu verarbeiten. NVDI liegt auch in
einer speziellen Macintosh-Version vor (NVDIMac), und ermöglicht es
jedem Programm das über GDOS ausgeben kann (in Verbindung mit MagiCMac), seine Ausgaben auch auf Apple-Druckern und im Netzwerk tätigen
zu können.
Querverweis: ASSIGN.SYS-DateiGrundlagen des VDIStyle-Guidelines