Home XBIOSXBIOS BildschirmfunktionenBildschirmfunktionen Crazy-Dots-XBIOS-ErweiterungCrazy-Dots-XBIOS-Erweiterung

4.6 CENTScreen-XBIOS-Erweiterung

MultiMon Multisynchro Mode
SetMon Monitortyp setzen
SizeComp Vgetsize Kompatibilität
Vattrib Attribute des Videomodes ändern
Vclose Shutdown
Vcreate ein Videomode hinzufügen
Vdelete löscht ein Videomode
Vfirst Sucht den ersten Videomode
Vload Lädt VIDEO.DAT
Vlock Lockt den virtuellen Bildschirm
Vnext Nächster Videomode
Voffset Position des virtuellen Bildschirms
Vopen Bildschirm aufwecken
Vread Informationen über aktuellen Videomode abfragen
Vsave speichert VIDEO.DAT
Vscroll Scrollmethode festlegen
Vseek setzen der Position des virtuellen Bildschirms
Vsize ermittelt die Größe des Bildschirms
Vvalid prüft einen Videomode
Vwrite Auflösung wechseln

Hinweis:
Es handelt sich hierbei nicht um dokumentierte Routinen des Betriebssystems.

4.6.1 MultiMon

Name: »MultiMon« - Multisynchro Mode
 
Xbiosnummer: 82
 
Deklaration: int16_t MultiMon( int16_t Cmd );
 
Beschreibung: Die Umschaltung zwischen RGB und VGA zulassen oder sperren.
 

Cmd Beschreibung
0 Umschaltung sperren.
>0 Umschaltung zulassen.
-1 aktuellen Mode abfragen.
Ergebnis: Der bisherige Mode.
 
Verfügbar: CENTScreen
 
Gruppe: CENTScreen-XBIOS-Erweiterung
 
Querverweis: Binding
 

4.6.1.1 Bindings für MultiMon

C:
 
int16_t MultiMon( int16_t Cmd );
 
Assembler:
 
move.w    #Cmd,-(sp)  ; Offset 2
move.w    #82,-(sp)   ; Offset 0
trap      #14         ; XBIOS aufrufen
addq.l    #4,sp       ; Stack korrigieren

4.6.2 SetMon

Name: »SetMon« - Monitortyp setzen
 
Xbiosnummer: 81
 
Deklaration: int16_t SetMon( int16_t MontType );
 
Beschreibung: Setzt dem Monitortyp
 

MontType neuer Monitortyp
0 SM124 (prähistorischer Bildschirm des ST)
1 RGB (TV ähnlicher Bildschirm, ideal um blind zu
        machen... )
2 VGA (ein richtiger Monitor zum Arbeiten!)
3 TV (schlechtes RGB, alle user sind blind...)
Ergebnis: Der Monitortyp.
 
Verfügbar: CENTScreen
 
Gruppe: CENTScreen-XBIOS-Erweiterung
 
Querverweis: Binding
 

4.6.2.1 Bindings für SetMon

C: #include <tos.h>
 
int16_t SetMon( int16_t MontType );
 
Assembler:
 
move.w    #MontType,-(sp) ; Offset 2
move.w    #81,-(sp)       ; Offset 0
trap      #14             ; XBIOS aufrufen
addq.l    #4,sp           ; Stack korrigieren

4.6.3 SizeComp

Name: »SizeComp« - Vgetsize Kompatibilität
 
Xbiosnummer: 83
 
Deklaration: int16_t SizeComp( int16_t Cmd );
 
Beschreibung: Vgetsize Kompatibilität
 

Cmd Beschreibung
0 liefert die tatsächliche Größe des Originalbildschirms.
  Wenn das höchste Bit auf 1 gesetzt ist, wird die
  erweiterte Bildschirmgröße geliefert.
>0 liefert die erweiterte Größe.
-1 den aktuellen Mode abfragen.
Ergebnis: Der bisherige Mode.
 
Verfügbar: CENTScreen
 
Gruppe: CENTScreen-XBIOS-Erweiterung
 
Querverweis: Binding
 

4.6.3.1 Bindings für SizeComp

C: #include <tos.h>
 
int16_t SizeComp( int16_t Cmd );
 
Assembler:
 
move.w    #Cmd,-(sp)  ; Offset 2
move.w    #83,-(sp)   ; Offset 0
trap      #14         ; XBIOS aufrufen
addq.l    #4,sp       ; Stack korrigieren

4.6.4 Vattrib

Name: »Vattrib« - Attribute des Videomodes ändern
 
Xbiosnummer: 67
 
Deklaration: void Vattrib( VDO_PARAM *InParam, VDO_PARAM *OutParam );
 
Beschreibung: Mit dieser Funktion kann der Originalmode geändert werden.
 
Ergebnis: Das out-array ist voll.
 
Verfügbar: CENTScreen
 
Gruppe: CENTScreen-XBIOS-Erweiterung
 
Querverweis: Binding
 

4.6.4.1 Bindings für Vattrib

C:
 
void Vattrib( VDO_PARAM *InParam, VDO_PARAM *OutParam );
 
Assembler:
 
move.l    #OutParam,-(sp) ; Offset 6
move.l    #InParam,-(sp)  ; Offset 2
move.w    #67,-(sp)       ; Offset 0
trap      #14             ; XBIOS aufrufen
lea       10(sp),sp       ; Stack korrigieren

4.6.5 Vclose

Name: »Vclose« - Shutdown
 
Xbiosnummer: 76
 
Deklaration: int16_t Vclose( void );
 
Beschreibung: Shutdown
 
Ergebnis:  0 : kein Fehler.
-1 : unwahrscheinlich.
 
Verfügbar: CENTScreen
 
Gruppe: CENTScreen-XBIOS-Erweiterung
 
Querverweis: Binding
 

4.6.5.1 Bindings für Vclose

C:
 
int16_t Vclose( void );
 
Assembler:
 
move.w    #76,-(sp)    ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #2,sp        ; Stack korrigieren

4.6.6 Vcreate

Name: »Vcreate« - ein Videomode hinzufügen
 
Xbiosnummer: 68
 
Deklaration: void Vcreate( VDO_PARAM *InParam, VDO_PARAM *OutParam );
 
Beschreibung: Die Funktion nimmt direkt die videl Parameter und erzeugt ein neues Handle mit den angegebenen Parametern.
 
It use by CENTvidel.
 
Ergebnis: OutParam ist mit den tatsächlichen Werten gefüllt.
 
Verfügbar: CENTScreen
 
Gruppe: CENTScreen-XBIOS-Erweiterung
 
Querverweis: Binding
 

4.6.6.1 Bindings für Vcreate

C:
 
void Vcreate( VDO_PARAM *InParam, VDO_PARAM *OutParam );
 
Assembler:
 
move.l    #OutParam,-(sp) ; Offset 6
move.l    #InParam,-(sp)  ; Offset 2
move.w    #68,-(sp)       ; Offset 0
trap      #14             ; XBIOS aufrufen
lea       10(sp),sp       ; Stack korrigieren

4.6.7 Vdelete

Name: »Vdelete« - löscht ein Videomode
 
Xbiosnummer: 69
 
Deklaration: int16_t Vdelete( int16_t Handle);
 
Beschreibung: Verändert nicht die Handles, aber komprimiert die internen Daten. Nach einer save-load Sequenz können sich die Handles ändern.
 
Ergebnis:  0: kein Fehler
-1: ungültiges Handle
 
Verfügbar: CENTScreen
 
Gruppe: CENTScreen-XBIOS-Erweiterung
 
Querverweis: Binding
 

4.6.7.1 Bindings für Vdelete

C:
 
int16_t Vdelete( int16_t Handle);
 
Assembler:
 
move.w    #Handle,-(sp)   ; Offset 2
move.w    #69,-(sp)       ; Offset 0
trap      #14             ; XBIOS aufrufen
addq.l    #4,sp           ; Stack korrigieren

4.6.8 Vfirst

Name: »Vfirst« - Sucht den ersten Videomode
 
Xbiosnummer: 70
 
Deklaration: int16_t Vfirst( VDO_PARAM *Mask, VDO_PARAM *Mode );
 
Beschreibung: Sucht den ersten Videomode.
 
Ergebnis:  0: das out-array ist voll
-1: kein Mode gefunden
 
Verfügbar: CENTScreen
 
Gruppe: CENTScreen-XBIOS-Erweiterung
 
Querverweis: Binding
 

4.6.8.1 Bindings für Vfirst

C:
 
int16_t Vfirst( VDO_PARAM *Mask, VDO_PARAM *Mode );
 
Assembler:
 
move.l    #Mode,-(sp)    ; Offset 6
move.l    #Mask,-(sp)    ; Offset 2
move.w    #70,-(sp)      ; Offset 0
trap      #14            ; XBIOS aufrufen
lea       10(sp),sp      ; Stack korrigieren

4.6.9 Vload

Name: »Vload« - Lädt VIDEO.DAT
 
Xbiosnummer: 73
 
Deklaration: int16_t Vload( void );
 
Beschreibung: Lädt VIDEO.DAT
 
Ergebnis:  0 : kein Fehler.
-1 : Datei nicht gefunden.
 
Verfügbar: CENTScreen
 
Gruppe: CENTScreen-XBIOS-Erweiterung
 
Querverweis: Binding
 

4.6.9.1 Bindings für Vload

C:
 
int16_t Vload( void );
 
Assembler:
 
move.w    #73,-(sp)    ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #2,sp        ; Stack korrigieren

4.6.10 Vlock

Name: »Vlock« - Lockt den virtuellen Bildschirm
 
Xbiosnummer: 80
 
Deklaration: int16_t Vlock( int16_t cmd );
 
Beschreibung: Lockt den virtuellen Bildschirm
 

cmd Beschreibung
0 Die Maus kann den virtuellen Bildschirm verschieben
1 Die Maus kann den virtuellen Bildschirm nicht verschieben
Ergebnis: Die alte Konfiguration.
 
Verfügbar: CENTScreen
 
Gruppe: CENTScreen-XBIOS-Erweiterung
 
Querverweis: Binding
 

4.6.10.1 Bindings für Vlock

C:
 
int16_t Vlock( int16_t cmd );
 
Assembler:
 
move.w    #cmd,-(sp)   ; Offset 2
move.w    #80,-(sp)    ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.6.11 Vnext

Name: »Vnext« - Nächster Videomode
 
Xbiosnummer: 71
 
Deklaration: int16_t Vnext( VDO_PARAM *Mask, VDO_PARAM *Mode );
 
Beschreibung: Nächster Videomode
 
Ergebnis:  0: das out-array ist voll
-1: kein Mode gefunden
 
Verfügbar: CENTScreen
 
Gruppe: CENTScreen-XBIOS-Erweiterung
 
Querverweis: Binding
 

4.6.11.1 Bindings für Vnext

C:
 
int16_t Vnext( VDO_PARAM *Mask, VDO_PARAM *Mode );
 
Assembler:
 
move.l    #Mode,-(sp)    ; Offset 6
move.l    #Mask,-(sp)    ; Offset 2
move.w    #71,-(sp)      ; Offset 0
trap      #14            ; XBIOS aufrufen
lea       10(sp),sp      ; Stack korrigieren

4.6.12 Voffset

Name: »Voffset« - Position des virtuellen Bildschirms
 
Xbiosnummer: 78
 
Deklaration: int16_t Voffset( void );
 
Beschreibung: Die Funktion liefert die Position der linken oberen Ecke des realen Bildschirms innerhalb des virtuellen Bildschirms.
 
Ergebnis: Liefert die aktuelle Position mit x im oberen Word und y im unteren Word.
 
Verfügbar: CENTScreen
 
Gruppe: CENTScreen-XBIOS-Erweiterung
 
Querverweis: Binding
 

4.6.12.1 Bindings für Voffset

C:
 
int16_t Voffset( void );
 
Assembler:
 
move.w    #78,-(sp)   ; Offset 0
trap      #14         ; XBIOS aufrufen
addq.l    #2,sp       ; Stack korrigieren

4.6.13 Vopen

Name: »Vopen« - Bildschirm aufwecken
 
Xbiosnummer: 75
 
Deklaration: int16_t Vopen( void );
 
Beschreibung: Bildschirm aufwecken
 
Ergebnis:  0 : kein Fehler.
-1 : unwahrscheinlich.
 
Verfügbar: CENTScreen
 
Gruppe: CENTScreen-XBIOS-Erweiterung
 
Querverweis: Binding
 

4.6.13.1 Bindings für Vopen

C:
 
int16_t Vopen( void );
 
Assembler:
 
move.w    #75,-(sp)    ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #2,sp        ; Stack korrigieren

4.6.14 Vread

Name: »Vread« - Informationen über aktuellen Videomode abfragen
 
Xbiosnummer: 65
 
Deklaration: void Vread( VDO_PARAM *Result );
 
Beschreibung: Mit einem Aufruf können sämtliche Informationen über den installierten Videomode ermittelt werden.
 
Ergebnis:
 
Verfügbar: CENTScreen
 
Gruppe: CENTScreen-XBIOS-Erweiterung
 
Querverweis: Binding
 

4.6.14.1 Bindings für Vread

C:
 
void Vread( VDO_PARAM *Result );
 
Assembler:
 
move.l    #Result,-(sp) ; Offset 2
move.w    #65,-(sp)     ; Offset 0
trap      #14           ; XBIOS aufrufen
addq.l    #4,sp         ; Stack korrigieren

4.6.15 Vsave

Name: »Vsave« - speichert VIDEO.DAT
 
Xbiosnummer: 74
 
Deklaration: int16_t Vsave( void );
 
Beschreibung: speichert VIDEO.DAT
 
Ergebnis:  0 : kein Fehler.
-1 : speichern nicht möglich.
 
Verfügbar: CENTScreen
 
Gruppe: CENTScreen-XBIOS-Erweiterung
 
Querverweis: Binding
 

4.6.15.1 Bindings für Vsave

C:
 
int16_t Vsave( void );
 
Assembler:
 
move.w    #74,-(sp)    ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #2,sp        ; Stack korrigieren

4.6.16 Vscroll

Name: »Vscroll« - Scrollmethode festlegen
 
Xbiosnummer: 77
 
Deklaration: int16_t Vscroll( int16_t ScrollMode );
 
Beschreibung: Scrollmethode festlegen
 

ScrollMode neue Methode
0 edge scrolling (Defaultmethode)
1 proportional scrolling
2 focus scrolling
Ergebnis: the old methode
 
Verfügbar: CENTScreen
 
Gruppe: CENTScreen-XBIOS-Erweiterung
 
Querverweis: Binding
 

4.6.16.1 Bindings für Vscroll

C:
 
int16_t Vscroll( int16_t ScrollMode );
 
Assembler:
 
move.w    #ScrollMode,-(sp) ; Offset 2
move.w    #77,-(sp)         ; Offset 0
trap      #14               ; XBIOS aufrufen
addq.l    #4,sp             ; Stack korrigieren

4.6.17 Vseek

Name: »Vseek« - setzen der Position des virtuellen Bildschirms
 
Xbiosnummer: 78
 
Deklaration: VPOS Vseek( int16_t x, int16_t y );
 
Beschreibung: Die Funktion setzt die Position der linken oberen Ecke des realen Bildschirms innerhalb des virtuellen Bildschirms.
 
Ergebnis: Liefert die aktuelle Position mit x im oberen Word und y im unteren Word.
 
Verfügbar: CENTScreen
 
Gruppe: CENTScreen-XBIOS-Erweiterung
 
Querverweis: Binding
 

4.6.17.1 Bindings für Vseek

C:
 
VPOS Vseek( int16_t x, int16_t y );
 
Assembler:
 
move.w    #78,-(sp)   ; Offset 0
trap      #14         ; XBIOS aufrufen
addq.l    #2,sp       ; Stack korrigieren

4.6.18 Vsize

Name: »Vsize« - ermittelt die Größe des Bildschirms
 
Xbiosnummer: 84
 
Deklaration: Bindings für Vsize
 
Beschreibung: Diese Funktion ermittelt die Größe des Bildschirms mit input Parametern.
 
Wird -1 als Handle angegeben, wird das aktuelle Handle benutzt.
 
Die Funktion liest nur die logischen Parameter (nicht für -1) und das virtual flag (nicht für -1).
 
Parameter: Long: in-array
 
Ergebnis: D0 enthält die Größe in Bytes.
0 steht für einen Fehler (ungültige Parameter?!)
 
Verfügbar: CENTScreen
 
Gruppe: CENTScreen-XBIOS-Erweiterung
 
Querverweis: Binding
 

4.6.18.1 Bindings für Vsize

C:
 
?????
 
Assembler:
 
move.l    #Mode,-(sp) ; Offset 2
move.w    #84,-(sp)   ; Offset 0
trap      #14         ; XBIOS aufrufen
addq.l    #6,sp       ; Stack korrigieren

4.6.19 Vvalid

Name: »Vvalid« - prüft einen Videomode
 
Xbiosnummer: 72
 
Deklaration: int16_t Vvalid( int16_t Handle );
 
Beschreibung: Prüft einen Videomode
 
Ergebnis:  0: wenn der Mode existiert.
-1: kein Mode zu diesem Handle
 
Verfügbar: CENTScreen
 
Gruppe: CENTScreen-XBIOS-Erweiterung
 
Querverweis: Binding
 

4.6.19.1 Bindings für Vvalid

C:
 
int16_t Vvalid( int16_t Handle );
 
Assembler:
 
move.w    #Handle,-(sp)  ; Offset 2
move.w    #72,-(sp)      ; Offset 0
trap      #14            ; XBIOS aufrufen
addq.l    #4,sp          ; Stack korrigieren

4.6.20 Vwrite

Name: »Vwrite« - Auflösung wechseln
 
Xbiosnummer: 66
 
Deklaration: int16_t Vwrite( int16_t InitVDI, VDO_PARAM *In, VDO_PARAM *Out );
 
Beschreibung: Es ist möglich, das VDI durch einen Aufruf dieser Funktion zu initialsieren. Es wird gleichzeitig Speicher neu angefordert.
 
Im in-array kann die geewünschte neue Auflösung übergeben werden:
 
  • handle <>-1: das Handle gehört zu einem bekannten Videomode (wie z.B. die Auflösung beim Systemstart). Die neue virtuelle Auflösung kann mit einem Wert ungleich -1 angegeben werden, andernfalls wird die aktuelle virtuelle Auflösung benutzt.
     

  • handle = -1: die Auflösung muß angegeben werden. Es wird Modus benutzt, der eine Auflösung kleiner oder gleich der gewünschten bietet und gegebenenfalls wird ein virtueller Bildschirm benutzt.
     

Ergebnis: Nach dem Funktionsaufruf enthält das out-array die tatsächliche Auflösung.
 
Im Fehlerfall wird als aktuelle Auflösung -1 geliefert.
 
Verfügbar: CENTScreen
 
Gruppe: CENTScreen-XBIOS-Erweiterung
 
Querverweis: Binding
 

4.6.20.1 Bindings für Vwrite

C:
 
int16_t Vwrite( int16_t InitVDI, VDO_PARAM *In, VDO_PARAM *Out );
 
Assembler:
 
move.l   #OutParam,-(sp) ; Offset 6
move.l   #InParam,-(sp)  ; Offset 2
move.w   #66,-(sp)       ; Offset 0
trap     #14             ; XBIOS aufrufen
lea      10(sp),sp       ; Stack korrigieren

Home XBIOSXBIOS BildschirmfunktionenBildschirmfunktionen Crazy-Dots-XBIOS-ErweiterungCrazy-Dots-XBIOS-Erweiterung