• Cursconf | Cursordarstellung ändern oder ermitteln. |
• EgetPalette | Farbtabelle lesen. |
• EgetShift | Shift Mode Register lesen. |
• EsetBank | Farbtabelle setzen. |
• EsetColor | Farbtabelleneintrag setzen. |
• EsetGray | Farbinterpretation setzen. |
• EsetPalette | Farbtabelle laden. |
• EsetShift | Shift Mode Register setzen. |
• EsetSmear | Farbverwischung setzen. |
• Getrez | Auflösung ermitteln. |
• Initmouse | Mauszeiger initialisieren. |
• Logbase | Adresse des logischen Bildschirmspeichers ermitteln. |
• mon_type | Monitortyp ermitteln. |
• Physbase | Adresse des physikal. Bildschirmspeichers ermitteln. |
• Setcolor | Farbe einstellen. |
• Setpalette | Farbpalette auswählen. |
• Setscreen | Festlegen der Bildschirmauflösung und -adressen. |
• VgetRGB | RGB-Wert einer Farbe ermitteln. |
• VSetscreen | Festlegen der Bildschirmauflösung und -adressen |
• VgetSize | Größe des Bildschirmpuffers ermitteln. |
• VsetMask | Transparenz für True-Color setzen. |
• Vsetmode | Videohardwareregister setzen. |
• VsetRGB | RGB-Wert einer Farbe setzen. |
• VsetSync | Synchronisationsart setzen. |
• Vsync | Vertikales Synchronisationssignal abfragen. |
Name: | »cursor configuration« - legt die Arbeitsweise des Cursors fest. | ||||||||||||||||
Xbiosnummer: | 21 | ||||||||||||||||
Deklaration: | int16_t Cursconf( int16_t func, int16_t rate ); | ||||||||||||||||
Beschreibung: | Die XBIOS-Routine Cursconf verändert das Aussehen und
wahlweise die Blinkgeschwindigkeit des Cursors. Der Parameter
func kann folgende Werte annehmen:
Hinweis: Der Parameter rate soll in Schritten der Wiederholfrequenz des Bildschirms verwendet werden. | ||||||||||||||||
Ergebnis: | Die Funktion liefert nur dann ein definiertes Ergebnis, nämlich die Blinkfrequenz, wenn im Parameter func die Zahl 5 übergeben wurde. | ||||||||||||||||
Verfügbar: | Alle TOS Versionen | ||||||||||||||||
Gruppe: | Bildschirmfunktionen | ||||||||||||||||
Querverweis: | Binding |
C: | #include int16_t Cursconf( int16_t func, int16_t rate ); |
Assembler: | move.w rate,-(sp) ; Offset 4 move.w func,-(sp) ; Offset 2 move.w #21,-(sp) ; Offset 0 trap #14 ; XBIOS aufrufen addq.l #6,sp ; Stack korrigieren |
Name: | »Get look up table registers« - Liest mehrere Einträge aus der Farbtabelle. | ||||||||||
Xbiosnummer: | 85 | ||||||||||
Deklaration: | void EgetPalette( int16_t colorNum, int16_t count, int16_t *palettePtr ); | ||||||||||
Beschreibung: | Die XBIOS-Routine EgetPalette liest einen zusammenhängenden
Bereich aus den TT-Farbregistern aus.
| ||||||||||
Ergebnis: | Die Funktion liefert kein Ergebnis zurück. | ||||||||||
Verfügbar: | Die Funktion steht nur im TOS des Atari-TT zur Verfügung. | ||||||||||
Gruppe: | Bildschirmfunktionen | ||||||||||
Querverweis: | Binding EsetPalette |
C: | #include void EgetPalette( int16_t colorNum, int16_t count, int16_t *palettePtr ); |
Assembler: | pea palettePtr ; Offset 6 move.w count,-(sp) ; Offset 4 move.w colorNum,-(sp) ; Offset 2 move.w #85,-(sp) ; Offset 0 trap #14 ; XBIOS aufrufen lea $A(sp),sp ; Stack korrigieren |
Name: | »Get current shift mode value« - Liest das Shift Mode Register. |
Xbiosnummer: | 81 |
Deklaration: | int16_t EgetShift( void ); |
Beschreibung: | Die XBIOS-Routine EgetShift liest das Shift Mode Register aus und liefert den Inhalt des Registers als Ergebnis zurück. |
Ergebnis: | Die Funktion liefert den Wert des Registers gemäß folgender
Belegung: |
Verfügbar: | Die Funktion steht nur im TOS des Atari-TT zur Verfügung. |
Gruppe: | Bildschirmfunktionen |
Querverweis: | Binding EsetShift |
C: | #include int16_t EgetShift( void ); |
Assembler: | move.w #81,-(sp) ; Offset 0 trap #14 ; XBIOS aufrufen addq.l #2,sp ; Stack korrigieren |
Name: | »Set color look up bank« - Setzt Bank für Farbtabelle. |
Xbiosnummer: | 82 |
Deklaration: | int16_t EsetBank( int16_t bankNum ); |
Beschreibung: | Die XBIOS-Routine EsetBank setzt die Banknummer für die Farbtabelle des TT auf den Wert bankNum. Der erlaubte Wert von bankNum liegt zwischen 0 und 15. Ist bankNum negativ, wird die aktuelle Einstellung nicht verändert. |
Ergebnis: | Die Funktion liefert die vorherige Einstellung. |
Verfügbar: | Die Funktion steht nur im TOS des Atari-TT zur Verfügung. |
Gruppe: | Bildschirmfunktionen |
Querverweis: | Binding |
C: | #include int16_t EsetBank( int16_t bankNum ); |
Assembler: | move.w bankNum,-(sp) ; Offset 2 move.w #82,-(sp) ; Offset 0 trap #14 ; XBIOS aufrufen addq.l #4,sp ; Stack korrigieren |
Name: | »Set color entry« - Schreibt einen Eintrag in die Farbtabelle. |
Xbiosnummer: | 83 |
Deklaration: | int16_t EsetColor( int16_t colorNum, int16_t color ); |
Beschreibung: | Die XBIOS-Routine EsetColor setzt den Farbeintrag colorNum (0..255) in der Farbtabelle auf den Wert color; ein negativer Wert verändert den Eintag nicht. |
Ergebnis: | Die Funktion liefert die vorherige Einstellung. |
Verfügbar: | Die Funktion steht nur im TOS des Atari-TT zur Verfügung. |
Gruppe: | Bildschirmfunktionen |
Querverweis: | Binding Setcolor |
C: | #include int16_t EsetColor( int16_t colorNum, int16_t color ); |
Assembler: | move.w color,-(sp) ; Offset 4 move.w colorNum,-(sp) ; Offset 2 move.w #83,-(sp) ; Offset 0 trap #14 ; XBIOS aufrufen addq.l #6,sp ; Stack korrigieren |
Name: | »Set/clear gray mode« - Schaltet die Farbinterpretation ein bzw. aus. |
Xbiosnummer: | 86 |
Deklaration: | int16_t EsetGray( int16_t switch ); |
Beschreibung: | Die XBIOS-Routine EsetGray schaltet die Farbinterpretation in
der Farbtabelle als Graustufe ein (1) bzw. aus (0). Ein negativer Wert
verändert die Einstellung nicht. Im Graustufen-Modus kann anstelle von 4096 Farbtönen aus einer Palette von 256 Graustufen gewählt werden. |
Ergebnis: | Die Funktion liefert die bisherige Einstellung. |
Verfügbar: | Die Funktion steht nur im TOS des Atari-TT zur Verfügung (when the high word of the '_VDO' cookie has the value of 2). |
Gruppe: | Bildschirmfunktionen |
Querverweis: | Binding |
C: | #include int16_t EsetGray( int16_t switch ); |
Assembler: | move.w switch,-(sp) ; Offset 2 move.w #86,-(sp) ; Offset 0 trap #14 ; XBIOS aufrufen addq.l #4,sp ; Stack korrigieren |
Name: | »Set palette registers« - Setzt mehrere Einträge in der Farbtabelle. |
Xbiosnummer: | 84 |
Deklaration: | void EsetPalette( int16_t colorNum, int16_t count, int16_t *palettePtr ); |
Beschreibung: | Die XBIOS-Routine EsetPalette setzt count Farbeinträge ab colorNum in der Farbtabelle auf die Werte im Array palettePtr. |
Ergebnis: | Die Funktion hat kein Ergebnis. |
Verfügbar: | Die Funktion steht nur im TOS des Atari-TT zur Verfügung. |
Gruppe: | Bildschirmfunktionen |
Querverweis: | Binding EgetPalette |
C: | #include void EsetPalette( int16_t colorNum, int16_t count, int16_t *palettePtr ); |
Assembler: | pea palettePtr ; Offset 6 move.w count,-(sp) ; Offset 4 move.w colorNum,-(sp) ; Offset 2 move.w #84,-(sp) ; Offset 0 trap #14 ; XBIOS aufrufen lea $A(sp),sp ; Stack korrigieren |
Name: | »Set shift mode register« - Setzt das Shift Mode Register. |
Xbiosnummer: | 80 |
Deklaration: | int16_t EsetShift( int16_t shftMode ); |
Beschreibung: | Die XBIOS-Routine EsetShift schreibt in das Shift Mode
Register des TT den Wert shftMode. shftMode ist ein Bitfeld
mit folgender Bedeutung: |
Ergebnis: | Die Funktion liefert den vorherigen Wert des Registers. |
Verfügbar: | Die Funktion steht nur im TOS des Atari-TT zur Verfügung. |
Gruppe: | Bildschirmfunktionen |
Querverweis: | Binding EgetShift |
C: | #include int16_t EsetShift( int16_t shftMode ); |
Assembler: | move.w shftMode,-(sp) ; Offset 2 move.w #80,-(sp) ; Offset 0 trap #14 ; XBIOS aufrufen addq.l #4,sp ; Stack korrigieren |
Name: | »Set/clear video smear mode« - Schaltet die Farbverwischung ein bzw. aus. | ||||||||
Xbiosnummer: | 87 | ||||||||
Deklaration: | int16_t EsetSmear( int16_t switch ); | ||||||||
Beschreibung: | Die XBIOS-Routine EsetSmear erlaubt die Umschaltung des
Smear-Modus des TT-Videobausteins. Im Smear-Modus wird anstelle der
Hintergrundfarbe (Farbe 0) die jeweils zuletzt dargestellte Farbe
gezeichnet. Es gilt:
| ||||||||
Ergebnis: | Die Funktion liefert die bisherige Einstellung. | ||||||||
Verfügbar: | Die Funktion steht nur im TOS des Atari-TT zur Verfügung. | ||||||||
Gruppe: | Bildschirmfunktionen | ||||||||
Querverweis: | Binding |
C: | #include int16_t EsetSmear( int16_t switch ); |
Assembler: | move.w switch,-(sp) ; Offset 2 move.w #87,-(sp) ; Offset 0 trap #14 ; XBIOS aufrufen addq.l #4,sp ; Stack korrigieren |
Name: | »get resolution« - ermittelt die Auflösung des Bildschirms. | ||||||||||||||
Xbiosnummer: | 4 | ||||||||||||||
Deklaration: | int16_t Getrez( void ); | ||||||||||||||
Beschreibung: | Die XBIOS-Routine Getrez ermittelt die Auflösung des Bildschirms. | ||||||||||||||
Ergebnis: | Die Funktion liefert als Ergebnis folgende Werte:
Alle anderen Werte sind für zukünftige Erweiterungen reserviert. Hinweis: Vom Standpunkt der sauberen Programmierung betrachtet, sollte diese Funktion auf keinen Fall benutzt werden. Insbesondere beim Einsatz von Grafikkarten hat sie praktisch keinen Aussagewert. Stattdessen sollte die Auflösung des Bildschirms über das VDI (v_opnvwk) ermittelt werden. | ||||||||||||||
Verfügbar: | Alle TOS Versionen | ||||||||||||||
Gruppe: | Bildschirmfunktionen | ||||||||||||||
Querverweis: | Binding v_opnvwk |
C: | #include #include int16_t Getrez( void ); |
Assembler: | move.w #4,-(sp) ; Offset 0 trap #14 ; XBIOS aufrufen addq.l #2,sp ; Stack korrigieren |
Name: | »initialize mouse« - initialisiert die Maus. | ||||||||||||
Xbiosnummer: | 0 | ||||||||||||
Deklaration: | void Initmouse( int16_t type, MOUSE *par, void (*mousevec)() ); | ||||||||||||
Beschreibung: | Initmouse ist eine XBIOS-Routine zur
Low-Level-Initialisierung der Maus. Der Parameter type legt
die Betriebsart der Maus fest. Es gilt:
Die Bytes von 4 bis 11 des Parameters par werden nur dann verwendet, wenn die Maus im Absolut-Modus arbeiten soll. Unter mousevec erhält man die Adresse des Interrupt-Vektors der Maus. | ||||||||||||
Ergebnis: | Die Funktion liefert kein Ergebnis. | ||||||||||||
Verfügbar: | Alle TOS Versionen | ||||||||||||
Gruppe: | Bildschirmfunktionen | ||||||||||||
Querverweis: | Binding MOUSE |
C: | #include void Initmouse( int16_t type, MOUSE *par, void (*mousevec)() ); |
Assembler: | pea mousevec ; Offset 8 pea par ; Offset 4 move.w type,-(sp) ; Offset 2 move.w #0,-(sp) ; Offset 0 trap #14 ; XBIOS aufrufen lea 12(sp),sp ; Stack korrigieren |
Name: | »logical screen RAM base« - ermittelt die logische Anfangsadresse des Videospeichers. |
Xbiosnummer: | 3 |
Deklaration: | void *Logbase( void ); |
Beschreibung: | Die XBIOS-Routine Logbase ermittelt die logische Anfangsadresse des momentan als Videospeicher verwendeten RAM-Bereichs. |
Ergebnis: | Die Funktion liefert als Ergebnis die Anfangsadresse des logischen Bildschirmspeichers. |
Verfügbar: | Alle TOS Versionen |
Gruppe: | Bildschirmfunktionen |
Querverweis: | Binding Physbase Setscreen |
C: | #include void *Logbase( void ); |
Assembler: | move.w #3,-(sp) ; Offset 0 trap #14 ; XBIOS aufrufen addq.l #2,sp ; Stack korrigieren |
Name: | »mon_type« - Typ des Monitors ermitteln | |||||||||||||||||||||
Xbiosnummer: | 89 | |||||||||||||||||||||
Deklaration: | int16_t mon_type( void ); | |||||||||||||||||||||
Beschreibung: | Die XBIOS-Funktion mon_type ermittelt den angeschlossenen Monitortyp anhand von Pin 18(M1) und 19(M0) des Video-Ports. Ein 0-Bit bedeutet Masse am entsprechenden Pin, 1-Bit bedeutet keine Verbindung. | |||||||||||||||||||||
Ergebnis: | Die Funktion liefert den angeschlossenen Monitortyp zurück.
Dabei gilt:
Die Werte vier und fünf sind nur verfügbar mit dem ct60 und Radeon Treiber. | |||||||||||||||||||||
Verfügbar: | Die Funktion ist nur auf Computern der Falcon-Serie verfügbar. | |||||||||||||||||||||
Gruppe: | Bildschirmfunktionen | |||||||||||||||||||||
Querverweis: | Binding VsetSync Vsetmode VgetSize VgetRGB VsetRGB VsetMask |
C: | #include int16_t mon_type( void ); |
Assembler: | move.w #89,-(sp) ; Offset 0 trap #14 ; XBIOS aufrufen addq.l #2,sp ; Stack korrigieren |
Name: | »physical screen ram base« - ermittelt die Anfangsadresse des Video-Speichers. |
Xbiosnummer: | 2 |
Deklaration: | void *Physbase( void ); |
Beschreibung: | Die XBIOS-Routine Physbase ermittelt die physikalische Anfangsadresse des momentan als Videospeicher verwendeten RAM-Bereichs. |
Ergebnis: | Die Funktion Physbase liefert als Ergebnis die Adresse des physikalischen Bildschirmspeichers. |
Verfügbar: | Alle TOS Versionen |
Gruppe: | Bildschirmfunktionen |
Querverweis: | Binding Logbase Setscreen |
C: | #include void *Physbase( void ); |
Assembler: | move.w #2,-(sp) ; Offset 0 trap #14 ; XBIOS aufrufen addq.l #2,sp ; Stack korrigieren |
Name: | »Setcolor« - legt eine von 16 Farben fest. | ||||||
Xbiosnummer: | 7 | ||||||
Deklaration: | int16_t Setcolor( int16_t colornum, int16_t color ); | ||||||
Beschreibung: | Die XBIOS-Routine Setcolor erfragt den Wert eines Farbregisters
bzw. setzt dieses auf einen neuen Wert. Es gilt:
| ||||||
Ergebnis: | Die Funktion liefert den bisherigen Wert des Farbregisters. | ||||||
Verfügbar: | Alle TOS Versionen | ||||||
Gruppe: | Bildschirmfunktionen | ||||||
Querverweis: | Binding Setpalette |
C: | #include int16_t Setcolor( int16_t colornum, int16_t color ); |
Assembler: | move.w color,-(sp) ; Offset 4 move.w colornum,-(sp) ; Offset 2 move.w #7,-(sp) ; Offset 0 trap #14 ; XBIOS aufrufen addq.l #6,sp ; Stack korrigieren |
Name: | »set palette« - wählt 16 Farben aus. |
Xbiosnummer: | 6 |
Deklaration: | void Setpalette( void *pallptr ); |
Beschreibung: | Die XBIOS-Routine Setpalette erlaubt es, eine neue Farbpalette
an die Videohardware zu übergeben. Der Parameter pallptr zeigt auf eine Tabelle von sechzehn 16-Bit Worten, die die neue Palette enthalten. Die untersten 12-Bits werden dabei für die RGB-Werte benutzt. pallptr muß auf eine gerade Adresse zeigen. Da die Daten von der Funktion nicht sofort verarbeitet werden, muß dafür gesorgt werden, daß der Zeiger pallptr selbst im nächsten Vertical Blank noch auf etwas sinnvolles zeigt. Hinweis: Es sollte besser auf die entsprechenden Funktionen des VDI zurückgegriffen werden. |
Ergebnis: | Die Funktion liefert keinen Wert. |
Verfügbar: | Alle TOS Versionen |
Gruppe: | Bildschirmfunktionen |
Querverweis: | Binding |
C: | #include void Setpalette( void *pallptr ); |
Assembler: | pea pallptr ; Offset 2 move.w #6,-(sp) ; Offset 0 trap #14 ; XBIOS aufrufen addq.l #6,sp ; Stack korrigieren |
Name: | »set screen« - initialisiert den Bildschirm. | ||||||||||||
Xbiosnummer: | 5 | ||||||||||||
Deklaration: | void Setscreen( void *laddr, void *paddr, int16_t rez ); | ||||||||||||
Beschreibung: | Die XBIOS-Routine Setscreen dient dazu, Auflösung und
Bildschirmspeicheradressen zu verändern. Es gilt:
Ein Wert von -1 bedeutet in diesem Zusammenhang, daß die entsprechende Adresse bzw. Auflösung nicht verändert wird. Hinweis: Es sollte stets kontrolliert werden, ob eventuelle Veränderungen wirklich erfolgreich ausgeführt werden konnten. Bei einer Änderung der Auflösung wird automatisch der VT-52 Emulator initialisiert. Unter bestimmten Umständen gibt es eine erweiterte Version dieser Funktion (VSetscreen). | ||||||||||||
Ergebnis: | Die Funktion liefert kein Ergebnis. | ||||||||||||
Verfügbar: | Alle TOS Versionen | ||||||||||||
Gruppe: | Bildschirmfunktionen | ||||||||||||
Querverweis: | Binding Physbase Logbase Getrez |
C: | #include void Setscreen( void *laddr, void *paddr, int16_t rez ); |
Assembler: | move.w rez,-(sp) ; Offset 10 move.l paddr,-(sp) ; Offset 6 move.l laddr,-(sp) ; Offset 2 move.w #5,-(sp) ; Offset 0 trap #14 ; XBIOS aufrufen lea $C(sp),sp ; Stack korrigieren |
Name: | »set screen« - initialisiert den Bildschirm. | ||||||||||||||||||||||||||||||
Xbiosnummer: | 5 | ||||||||||||||||||||||||||||||
Deklaration: | void Setscreen( void *par1, void *par2, int16_t rez, int16_t command ); | ||||||||||||||||||||||||||||||
Beschreibung: | Diese XBIOS-Routine entspricht der Funktion Setscreen
allerdings mit einem zusätzlichen Parameter und dient dazu, Auflösung
und Bildschirmspeicheradressen zu verändern.
Folgende Werte sind für command definiert:
| ||||||||||||||||||||||||||||||
Ergebnis: | Return value undefined. | ||||||||||||||||||||||||||||||
Verfügbar: | Die Funktion ist ab dem MilanTOS 4.08 verfügbar. | ||||||||||||||||||||||||||||||
Gruppe: | Bildschirmfunktionen | ||||||||||||||||||||||||||||||
Querverweis: | Setscreen VSetscreen Setscreen, ct60 |
Name: | »set screen« - initialisiert den Bildschirm. | ||||||||||||||||||||||||||||||||||||||||||||||||||
Xbiosnummer: | 5 | ||||||||||||||||||||||||||||||||||||||||||||||||||
Deklaration: | void Setscreen( void *par1, void *par2, int16_t rez, int16_t command ); | ||||||||||||||||||||||||||||||||||||||||||||||||||
Beschreibung: | Diese XBIOS-Routine entspricht der Funktion Setscreen
allerdings mit einem zusätzlichen Parameter und dient dazu, Auflösung
und Bildschirmspeicheradressen zu verändern.
Folgende Werte sind für command definiert:
| ||||||||||||||||||||||||||||||||||||||||||||||||||
Ergebnis: | Nothing (or current modecode in TOS mode) | ||||||||||||||||||||||||||||||||||||||||||||||||||
Verfügbar: | Only valid with internal TOS Radeon driver (PCI.HEX) for the ct60 (2007-01-24). | ||||||||||||||||||||||||||||||||||||||||||||||||||
Gruppe: | Bildschirmfunktionen | ||||||||||||||||||||||||||||||||||||||||||||||||||
Querverweis: | Setscreen VSetscreen Setscreen, Milan |
Name: | »VgetRGB« - RGB Wert einer Farbe ermitteln |
Xbiosnummer: | 94 |
Deklaration: | void VgetRGB( int16_t index, int16_t count, int32_t *array ); |
Beschreibung: | Die XBIOS-Funktion VgetRGB ermittelt die RGB-Werte für count Farben ab dem Farbindex index. Die resultierenden Werte werden in array abgelegt. |
Ergebnis: | Die Funktion liefert kein Ergebnis zurück. |
Verfügbar: | Die Funktion ist nur auf Computern der Falcon-Serie verfügbar. |
Gruppe: | Bildschirmfunktionen |
Querverweis: | Binding mon_type Vsetmode VsetSync VgetSize VsetRGB VsetMask |
C: | #include void VgetRGB( int16_t index, int16_t count, int32_t *array ); |
Assembler: | move.l array,-(sp) ; Offset 6 move.w count,-(sp) ; Offset 4 move.w index,-(sp) ; Offset 2 move.w #94,-(sp) ; Offset 0 trap #14 ; XBIOS aufrufen lea $A(sp),sp ; Stack korrigieren |
Name: | »set screen« - initialisiert den Bildschirm. | ||||||||||||||||
Xbiosnummer: | 5 | ||||||||||||||||
Deklaration: | void VSetscreen( void *laddr, void *paddr, int16_t rez, int16_t mode ); | ||||||||||||||||
Beschreibung: | Die XBIOS-Routine VSetscreen entspricht der Funktion Setscreen
allerdings mit einem zusätzlichen Parameter und dient dazu, Auflösung
und Bildschirmspeicheradressen zu verändern. Es gilt:
Ein Wert von -1 bedeutet in diesem Zusammenhang, daß die entsprechende Adresse bzw. Auflösung nicht verändert wird. Hinweis: Es sollte stets kontrolliert werden, ob eventuelle Veränderungen wirklich erfolgreich ausgeführt werden konnten. Bei einer Änderung der Auflösung wird automatisch der VT-52 Emulator initialisiert. Der zusätzliche Parameter mode steht nur zur Verfügung, wenn der Cookie '_VDO' den Wert 0x00030000 oder größer hat. Beim TOS des Milans gibt es zusätzliche Funktionen bei Setscreen, entsprechendes gilt auch für den ct60. | ||||||||||||||||
Ergebnis: | Die Funktion liefert kein Ergebnis. | ||||||||||||||||
Verfügbar: | Die Funktion ist nur auf Computern der Falcon-Serie verfügbar. | ||||||||||||||||
Gruppe: | Bildschirmfunktionen | ||||||||||||||||
Querverweis: | Binding |
C: | #include void VSetscreen( void *laddr, void *paddr, int16_t rez, int16_t mode ); |
Assembler: | move.w mode,-(sp) ; Offset 12 move.w rez,-(sp) ; Offset 10 move.l paddr,-(sp) ; Offset 6 move.l laddr,-(sp) ; Offset 2 move.w #5,-(sp) ; Offset 0 trap #14 ; XBIOS aufrufen lea 14(sp),sp ; Stack korrigieren |
Name: | »VgetSize« - Größe des Bildschirmpuffers ermitteln |
Xbiosnummer: | 91 |
Deklaration: | int32_t VgetSize( int16_t mode ); |
Beschreibung: | Die XBIOS-Funktion VgetSize ermittelt die Größe des Bildschirmpuffers in Bytes für den Grafikmodus mode. |
Ergebnis: | Die Funktion liefert die Größe des Bildschirmpuffers in Bytes zurück. |
Verfügbar: | Die Funktion ist nur auf Computern der Falcon-Serie verfügbar. |
Gruppe: | Bildschirmfunktionen |
Querverweis: | Binding mon_type Vsetmode VsetSync VgetRGB VsetRGB VsetMask |
C: | #include int32_t VgetSize( int16_t mode ); |
Assembler: | move.w mode,-(sp) ; Offset 2 move.w #91,-(sp) ; Offset 0 trap #14 ; XBIOS aufrufen addq.l #4,sp ; Stack korrigieren |
Name: | »VsetMask« - Transparenz für TrueColor setzen |
Xbiosnummer: | 150 |
Deklaration: | void VsetMask( int32_t ormask, int32_t andmask, int16_t overlay ); |
Beschreibung: | Die XBIOS-Funktion VsetMask setzt Masken, die benutzt werden, um die durch die VDI-Funktion vs_color gesetzten Farben zu modifizieren. vs_color ermittelt zu seinem Parameter einen RGB-Wert. Dieser wird bitweise mit ormask verodert und mit andmask verundet. Somit können Farben im True-Color-Modus transparent erscheinen. Ist overlay ungleich Null, wird in den Overlaymodus geschalten bzw. mit Null zurück. |
Ergebnis: | Die Funktion liefert kein Ergebnis zurück. |
Verfügbar: | Die Funktion ist nur auf Computern der Falcon-Serie verfügbar. |
Gruppe: | Bildschirmfunktionen |
Querverweis: | Binding mon_type Vsetmode VsetSync VgetSize VgetRGB VsetRGB |
C: | #include void VsetMask( int32_t ormask, int32_t andmask, int16_t overlay ); |
Assembler: | move.w overlay,-(sp) ; Offset 10 move.w andmask,-(sp) ; Offset 6 move.w ormask,-(sp) ; Offset 2 move.w #150,-(sp) ; Offset 0 trap #14 ; XBIOS aufrufen addq.l #12,sp ; Stack korrigieren |
Name: | »Vsetmode« - Videohardwareregister setzen | ||||||||||||||||||||||||||||||||||||||||
Xbiosnummer: | 88 | ||||||||||||||||||||||||||||||||||||||||
Deklaration: | int16_t Vsetmode( int16_t mode ); | ||||||||||||||||||||||||||||||||||||||||
Beschreibung: | Die XBIOS-Funktion Vsetmode programmiert das
Videohardwareregister der Falcon-Computer. Die Bits des Parameters
mode haben folgende Bedeutung:
Wird als mode VM_INQUIRE (-1) übergeben erhält man die aktuelle Auflösung, ohne das etwas verändert wird. Hinweis: Es findet keine Überprüfung auf die Richtigkeit der Kodierung für den angeschlossenen Monitor statt. | ||||||||||||||||||||||||||||||||||||||||
Ergebnis: | Die Funktion liefert den alten Inhalt des Videohardwareregisters zurück. | ||||||||||||||||||||||||||||||||||||||||
Verfügbar: | Die Funktion ist nur auf Computern der Falcon-Serie verfügbar. | ||||||||||||||||||||||||||||||||||||||||
Gruppe: | Bildschirmfunktionen | ||||||||||||||||||||||||||||||||||||||||
Querverweis: | Binding mon_type VsetSync VgetSize VgetRGB VsetRGB VsetMask |
C: | #include int16_t Vsetmode( int16_t mode ); |
Assembler: | move.w mode,-(sp) ; Offset 2 move.w #88,-(sp) ; Offset 0 trap #14 ; XBIOS aufrufen addq.l #4,sp ; Stack korrigieren |
Name: | »VsetRGB« - RGB Wert einer Farbe setzen |
Xbiosnummer: | 93 |
Deklaration: | void VsetRGB( int16_t index, int16_t count, int32_t *array ); |
Beschreibung: | Die XBIOS-Funktion VsetRGB setzt die RGB-Werte für count Farben ab dem Farbindex index. Die Farbwerte sind in array abgelegt. |
Ergebnis: | Die Funktion liefert kein Ergebnis zurück. |
Verfügbar: | Die Funktion ist nur auf Computern der Falcon-Serie verfügbar. |
Gruppe: | Bildschirmfunktionen |
Querverweis: | Binding mon_type Vsetmode VsetSync VgetSize VgetRGB VsetMask |
C: | #include void VsetRGB( int16_t index, int16_t count, int32_t *array ); |
Assembler: | move.l array,-(sp) ; Offset 6 move.w count,-(sp) ; Offset 4 move.w index,-(sp) ; Offset 2 move.w #93,-(sp) ; Offset 0 trap #14 ; XBIOS aufrufen lea $A(sp),sp ; Stack korrigieren |
Name: | »VsetSync« - Art der Synchronisation setzen | ||||||||
Xbiosnummer: | 90 | ||||||||
Deklaration: | void VsetSync( int16_t flag ); | ||||||||
Beschreibung: | Die XBIOS-Funktion VsetSync legt fest, auf welche Art eine
Synchronisation erfolgen soll. Der Parameter flag wird wie
folgt kodiert:
| ||||||||
Ergebnis: | Die Funktion liefert kein Ergebnis zurück. | ||||||||
Verfügbar: | Die Funktion ist nur auf Computern der Falcon-Serie verfügbar. | ||||||||
Gruppe: | Bildschirmfunktionen | ||||||||
Querverweis: | Binding mon_type Vsetmode VgetSize VgetRGB VsetRGB VsetMask |
C: | #include void VsetSync( int16_t flag ); |
Assembler: | move.w flag,-(sp) ; Offset 2 move.w #90,-(sp) ; Offset 0 trap #14 ; XBIOS aufrufen addq.l #4,sp ; Stack korrigieren |
Name: | »vertical sync« - wartet auf das nächste vertikale Sync-Signal. |
Xbiosnummer: | 37 |
Deklaration: | void Vsync( void ); |
Beschreibung: | Die XBIOS-Routine Vsync wartet auf den nächsten
Bildschirm-Refresh (Vertical-Blank Interrupt). Damit ist es möglich,
Bildschirmoperationen mit dem Betriebssystem synchronisieren. Hinweis: Für zeitkritische Abfragen (Scrolling) sollte besser direkt auf den Zeilenzähler im Shifter zurückgegriffen werden. |
Ergebnis: | Die Funktion liefert kein Ergebnis. |
Verfügbar: | Alle TOS Versionen |
Gruppe: | Bildschirmfunktionen |
Querverweis: | Binding |
C: | #include void Vsync( void ); |
Assembler: | move.w #37,-(sp) ; Offset 0 trap #14 ; XBIOS aufrufen addq.l #2,sp ; Stack korrigieren |
Zur vereinfachten Programmierung des Videohardwareregisters des Falcons mittels der Funktion Vsetmode sind in der Headerdatei tos.h die folgenden Konstanten definiert, die mit | kombiniert werden:
#define VERTFLAG 0x0100 /* Interlace aktivieren */ #define STMODES 0x0080 /* ST-kompatible Grafik */ #define OVERSCAN 0x0040 /* Overscan aktivieren */ #define PAL 0x0020 /* PAL-Modus */ #define FALC_VGA 0x0010 /* VGA-Modus */ #define TV 0x0000 /* TV-Modus */ #define COL80 0x0008 /* Bildbreite mind. 640 Pixel */ #define COL40 0x0000 /* Bildbreite 320 Pixel */ #define BPS16 4 /* 16 Farbebenen: 65536 Farben */ #define BPS8 3 /* 8 Farbebenen: 256 Farben */ #define BPS4 2 /* 4 Farbebenen: 16 Farben */ #define BPS2 1 /* 2 Farbebenen: 4 Farben */ #define BPS1 0 /* 1 Farbebenen: 2 Farben */
Mit der folgenden Konstante kann die Anzahl der Farbebenen ausmaskiert werden:
#define NUMCOLS 7 /* if (( mode & NUMCOLS ) == 0 ) */ /* puts( "monochrome mode" ); */