Home XBIOSXBIOS MATRIX-XBIOS-ErweiterungMATRIX-XBIOS-Erweiterung PCI-BIOSPCI-BIOS

4.16 OverScan-XBIOS-Erweiterungen

Oscanis Liefert die Versionsnummer von OverScan.
Oscanpatch Patchbereich von Overscan ermitteln.
Oscanphy Umschalten des Physbase-Emulators.
Oscanscr Umschalten des Setscreen-Aufrufes.
Oscanswitch Aktuellen Modus umschalten oder abfragen.
Oscantab Zeiger auf Datenstruktur einer Auflösung ermitteln.
Oscanvb Schaltet die VB-Randtest-Routine, sowie einige Tests im IKBD-Interrupt ein oder aus.

Hinweis: Diese Funktionen stehen nur zur Verfügung, wenn der Cookie 'OVER' vorhanden ist und seit der Version 1.8 von AutoSwitch-OverScan ST.

4.16.1 Oscanis

Name: »Oscanis« - Versionsnummer von OverScan ermitteln.
 
Xbiosnummer: 4200 (alt: 84)
 
Deklaration: int16_t Oscanis( void );
 
Beschreibung: Die Funktion liefert die (hexa-dezimale) Versionsnummer von OverScan. Ein Wert von 0x300 entspricht dabei der Version 3.0.
 
Da diese Funktion auf einem nicht-dokumentierten Feature basiert, sollte zur Ermittlung der Versionsnummer nach Möglichkeit auf den OVER-Cookie zurückgegriffen werden.
 
Ergebnis: Die Funktion liefert (normalerweise) den Wert 4200 zurück, wenn OverScan nicht installiert ist, ansonsten dessen Versionsnummer.
 
Verfügbar: Wenn der Cookie 'OVER' vorhanden ist und seit der Version 1.8.
 
Gruppe: OverScan-XBIOS-Funktionen
 
Querverweis: Binding   Oscanpatch   Oscanphy   Oscanscr   Oscanswitch   Oscantab   Oscanvb
 

4.16.1.1 Bindings für Oscanis

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

4.16.2 Oscanpatch

Name: »Oscanpatch« - Patchbereich von OverScan ermitteln.
 
Xbiosnummer: 4205 (alt: 89)
 
Deklaration: OVERPATCH *Oscanpatch( void );
 
Beschreibung: Die Funktion liefert einen Zeiger auf den Patchbereich von OverScan.
 
Ergebnis: Die Funktion gibt einen Zeiger auf den OverScan-Patchbereich zurück.
 
Verfügbar: Wenn der Cookie 'OVER' vorhanden ist und seit der Version 1.8.
 
Gruppe: OverScan-XBIOS-Funktionen
 
Querverweis: Binding   Oscanis   Oscanphy   Oscanscr   Oscanswitch   Oscantab   Oscanvb
 

4.16.2.1 Bindings für Oscanpatch

C: OVERPATCH *Oscanpatch( void );
 
Assembler:
 
move.w    #4205,-(sp)  ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #2,sp        ; Stack korrigieren

4.16.3 Oscanphy

Name: »Oscanphy« - Umschalten des Physbase-Emulators.
 
Xbiosnummer: 4202 (alt:86)
 
Deklaration: int16_t Oscanphy( int16_t mode );
 
Beschreibung: Die Funktion erlaubt es, den Physbase-Emulator umzuschalten. Es gilt:
 
Parameter Bedeutung
 
mode
 

-1 = Status abfragen
0 = Emulator ausschalten
1 = Emulator einschalten (Default)

Wenn der Emulator eingeschaltet ist, wird bei Aufruf von Physbase der Wert von Logbase zurückgegeben. Vor Beenden des Programms muß der Physbase-Emulator unbedingt wieder eingeschaltet werden.
 
Ergebnis: Die Funktion liefert beim mode -1 den aktuellen Status des Emulators zurück.
 
Verfügbar: Wenn der Cookie 'OVER' vorhanden ist und seit der Version 1.8.
 
Gruppe: OverScan-XBIOS-Funktionen
 
Querverweis: Binding   Oscanis   Oscanpatch   Oscanscr   Oscanswitch   Oscantab   Oscanvb
 

4.16.3.1 Bindings für Oscanphy

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

4.16.4 Oscanscr

Name: »Oscanscr« - Umschalten des Setscreen-Aufrufes.
 
Xbiosnummer: 4203 (alt: 87)
 
Deklaration: int16_t Oscanscr( int16_t mode );
 
Beschreibung: Die Funktion ermöglicht es, den Setscreen-Aufruf umzuschalten. Es gilt:
 
Parameter Bedeutung
 
mode
 

-1 = Status abfragen
0 = Setscreen zulässig
1 = Setscreen nicht zulässig (Default)

Normalerweise ist unter OverScan ein Verlegen des Bildschirms oder ein Wechsel der Auflösung nicht möglich. Wenn man den Bildschirmspeicher mit Setscreen verlegen will, darf man den Offset zwischen Logbase und Physbase nicht zerstören.
Wichtig: Vor dem Beenden des Programms muß der Setscreen-Aufruf wieder gesperrt werden.
 
Ergebnis: Die Funktion liefert die aktuelle Einstellung zurück.
 
Verfügbar: Wenn der Cookie 'OVER' vorhanden ist und seit der Version 1.8.
 
Gruppe: OverScan-XBIOS-Funktionen
 
Querverweis: Binding   Oscanis   Oscanpatch   Oscanphy   Oscanswitch   Oscantab   Oscanvb
 

4.16.4.1 Bindings für Oscanscr

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

4.16.5 Oscanswitch

Name: »Oscanswitch« - aktuellen Modus umschalten oder abfragen.
 
Xbiosnummer: 4206 (alt: 90)
 
Deklaration: int16_t Oscanswitch( int16_t mode );
 
Beschreibung: Die Funktion schaltet zwischen dem Normalmodus und dem OverScan-Modus um. Es gilt:
 
Parameter Bedeutung
 
mode
 

-1 = Status abfragen
0 = Normalmodus
1 = OverScan-Modus

Dabei wird nicht nur die Hardware umgeschaltet, sondern auch alle internen GEM-Variablen gepatcht und der Bildschirm umkopiert.
 
Ergebnis: Die Funktion liefert die jeweils aktuelle Einstellung zurück.
 
Verfügbar: Wenn der Cookie 'OVER' vorhanden ist und seit der Version 1.8.
 
Gruppe: OverScan-XBIOS-Funktionen
 
Querverweis: Binding   Oscanis   Oscanpatch   Oscanphy   Oscanscr   Oscantab   Oscanvb
 

4.16.5.1 Bindings für Oscanswitch

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

4.16.6 Oscantab

Name: »Oscantab« - Zeiger auf die Datenstruktur einer Auflösung ermitteln.
 
Xbiosnummer: 4201 (alt: 85)
 
Deklaration: SCREEN *Oscantab( int16_t res );
 
Beschreibung: Die Funktion liefert einen Zeiger auf eine Struktur zur Beschreibung des Bildschirms zurück. Es gilt:
 
Parameter Bedeutung
 
res
 

-1 = aktuelle Einstellung
0 = niedrige Auflösung
1 = mittlere Auflösung
2 = hohe Auflösung

Die Datenstruktur der aktuellen Einstellung wird bei jedem Aufruf der Funktion aktualisiert.
 
Ergebnis: Die Funktion liefert einen Zeiger auf die entsprechende Struktur zur Beschreibung des Bildschirms zurück.
 
Verfügbar: Wenn der Cookie 'OVER' vorhanden ist und seit der Version 1.8.
 
Gruppe: OverScan-XBIOS-Funktionen
 
Querverweis: Binding   Oscanis   Oscanpatch   Oscanphy   Oscanscr   Oscanswitch   Oscanvb
 

4.16.6.1 Bindings für Oscantab

C: SCREEN *Oscantab( int16_t res );
 
Assembler:
 
move.w    res,-(sp)    ; Offset 2
move.w    #4201,-(sp)  ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.16.7 Oscanvb

Name: »Oscanvb« - VB Randtest-Routine und Tests im IKBD Interrupt ein- oder ausschalten.
 
Xbiosnummer: 4204 (alt: 88)
 
Deklaration: int16_t Oscanvb( int16_t mode );
 
Beschreibung: Die Funktion erlaubt es, die VB-Randtest-Routine sowie den Test auf Shift/Shift/Clear im IKBD-Interrupt auszuschalten. Es gilt:
 
Parameter Bedeutung
 
mode
 

-1 = Status abfragen
0 = Tests ausschalten
1 = Tests einschalten (Default)

Die Tests benötigen zwar nur ca. 1-2% Rechenzeit, für zeitkritische Animationen und MIDI-Routinen könnte dies aber zuviel sein. Wichtig: Vor dem Beenden des Programms müssen die Tests unbedingt wieder eingeschaltet werden.
 
Ergebnis: Die Funktion liefert die jeweils aktuelle Einstellung zurück.
 
Verfügbar: Wenn der Cookie 'OVER' vorhanden ist und seit der Version 1.8.
 
Gruppe: OverScan-XBIOS-Funktionen
 
Querverweis: Binding   Oscanis   Oscanpatch   Oscanphy   Oscanscr   Oscanswitch   Oscantab
 

4.16.7.1 Bindings für Oscanvb

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

Home XBIOSXBIOS MATRIX-XBIOS-ErweiterungMATRIX-XBIOS-Erweiterung PCI-BIOSPCI-BIOS