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