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

HomeXBIOSMATRIX-XBIOS-ErweiterungPCI-BIOS

4.15 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 unter OverScan zur Verfügung; es handelt sich nicht um dokumentierte Routinen des Betriebssystems.

4.15.1 Oscanis

Name: »Oscanis« - Versionsnummer von OverScan ermitteln.
Xbiosnummer: 4200
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: Diese Funktion steht nur unter OverScan zur Verfügung; es handelt sich nicht um eine dokumentierte Funktion des Betriebssystems.
Gruppe: OverScan-XBIOS-Funktionen
Querverweis: Binding   Oscanpatch   Oscanphy   Oscanscr   Oscanswitch   Oscantab   Oscanvb

4.15.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.15.2 Oscanpatch

Name: »Oscanpatch« - Patchbereich von OverScan ermitteln.
Xbiosnummer: 4205
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: Diese Funktion steht nur unter OverScan zur Verfügung; es handelt sich nicht um eine dokumentierte Funktion des Betriebssystems.
Gruppe: OverScan-XBIOS-Funktionen
Querverweis: Binding   Oscanis   Oscanphy   Oscanscr   Oscanswitch   Oscantab   Oscanvb

4.15.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.15.3 Oscanphy

Name: »Oscanphy« - Umschalten des Physbase-Emulators.
Xbiosnummer: 4202
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: Diese Funktion steht nur unter OverScan zur Verfügung; es handelt sich nicht um eine dokumentierte Funktion des Betriebssystems.
Gruppe: OverScan-XBIOS-Funktionen
Querverweis: Binding   Oscanis   Oscanpatch   Oscanscr   Oscanswitch   Oscantab   Oscanvb

4.15.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.15.4 Oscanscr

Name: »Oscanscr« - Umschalten des Setscreen-Aufrufes.
Xbiosnummer: 4203
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: Diese Funktion steht nur unter OverScan zur Verfügung; es handelt sich nicht um eine dokumentierte Funktion des Betriebssystems.
Gruppe: OverScan-XBIOS-Funktionen
Querverweis: Binding   Oscanis   Oscanpatch   Oscanphy   Oscanswitch   Oscantab   Oscanvb

4.15.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.15.5 Oscanswitch

Name: »Oscanswitch« - aktuellen Modus umschalten oder abfragen.
Xbiosnummer: 4206
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: Diese Funktion steht nur unter OverScan zur Verfügung; es handelt sich nicht um eine dokumentierte Funktion des Betriebssystems.
Gruppe: OverScan-XBIOS-Funktionen
Querverweis: Binding   Oscanis   Oscanpatch   Oscanphy   Oscanscr   Oscantab   Oscanvb

4.15.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.15.6 Oscantab

Name: »Oscantab« - Zeiger auf die Datenstruktur einer Auflösung ermitteln.
Xbiosnummer: 4201
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: Diese Funktion steht nur unter OverScan zur Verfügung; es handelt sich nicht um eine dokumentierte Funktion des Betriebssystems.
Gruppe: OverScan-XBIOS-Funktionen
Querverweis: Binding   Oscanis   Oscanpatch   Oscanphy   Oscanscr   Oscanswitch   Oscanvb

4.15.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.15.7 Oscanvb

Name: »Oscanvb« - VB Randtest-Routine und Tests im IKBD Interrupt ein- oder ausschalten.
Xbiosnummer: 4204
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: Diese Funktion steht nur unter OverScan zur Verfügung; es handelt sich nicht um eine dokumentierte Funktion des Betriebssystems.
Gruppe: OverScan-XBIOS-Funktionen
Querverweis: Binding   Oscanis   Oscanpatch   Oscanphy   Oscanscr   Oscanswitch   Oscantab

4.15.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

HomeXBIOSMATRIX-XBIOS-ErweiterungPCI-BIOS