This is an old version from the tos.hyp. The new is on GitHub!

HomeXBIOSBildschirmfunktionenCrazy-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

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

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.(!nl) 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 *InParam, VDO_PARAM *OutParam );
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 gegebenfalls 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 *InParam, VDO_PARAM *OutParam );
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

HomeXBIOSBildschirmfunktionenCrazy-Dots-XBIOS-Erweiterung