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

HomeXBIOSMATRIX XBIOS extensionPCI-BIOS

4.15 OverScan XBIOS extension

Oscanis Returns OverScan's version number.
Oscanpatch Obtains patch block of OverScan.
Oscanphy Switches the Physbase emulator.
Oscanscr Switches the Setscreen calls.
Oscanswitch Switches or obtains current mode.
Oscantab Gets pointer to data structure of a screen resolution.
Oscanvb Switches the VB edge-test routine, as well as some tests in the IKBD interrupt.

Note:
These functions are only available under OverScan; they are not routines of the operating system.

4.15.1 Oscanis

Name: »Oscanis« - Return OverScan's version number.
Opcode: 4200
Syntax: int16_t Oscanis( void );
Description: The function returns the (hexadecimal) version number of OverScan. A value of 0x300 corresponds here to Version 3.0.

As this function is based on an undocumented feature, it is better to make use of the OVER cookie if possible.
Return value: The function (normally) returns the value 4200 when OverScan is not installed, otherwise its version number.
Availability: These functions are only available under OverScan; they are not routines of the operating system.
Group: OverScan XBIOS functions
See also: Binding   Oscanpatch   Oscanphy   Oscanscr   Oscanswitch   Oscantab   Oscanvb

4.15.1.1 Bindings for 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« - Obtain patch block of OverScan
Opcode: 4205
Syntax: OVERPATCH *Oscanpatch( void );
Description: The function returns a pointer to the patch block of OverScan.
Return value: The function returns a pointer to the OverScan patch block.
Availability: These functions are only available under OverScan; they are not routines of the operating system.
Group: OverScan XBIOS functions
See also: Binding   Oscanis   Oscanphy   Oscanscr   Oscanswitch   Oscantab   Oscanvb

4.15.2.1 Bindings for 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« - Switch the Physbase emulator.
Opcode: 4202
Syntax: int16_t Oscanphy( int16_t mode );
Description: The function permits the switching of the Physbase emulator. The following apply:
Parameter Meaning
mode

-1 = Obtain status
0 = Switch off emulator
1 = Switch on emulator (default)


When the emulator is switched on, then a call of Physbase returns the value of Logbase. Before terminating the program it is imperative that the Physbase emulator is switched on again.
Return value: For mode -1, the function returns the current status of the emulator.
Availability: These functions are only available under OverScan; they are not routines of the operating system.
Group: OverScan XBIOS functions
See also: Binding   Oscanis   Oscanpatch   Oscanscr   Oscanswitch   Oscantab   Oscanvb

4.15.3.1 Bindings for 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« - Switch the Setscreen calls.
Opcode: 4203
Syntax: int16_t Oscanscr( int16_t mode );
Description: The function permits switching of the Setscreen call. The following apply:
Parameter Meaning
mode

-1 = Obtain status
0 = Setscreen permissible
1 = Setscreen not permissible (default)


Normally under OverScan the relocation of the screen or a change of resolution is not possible. If one wants to relocate the screen memory with Setscreen, it is important that the offset between Logbase and Physbase is not destroyed.
Important: Before terminating the program, the Setscreen call must be locked once more.
Return value: The function returns the current setting.
Availability: These functions are only available under OverScan; they are not routines of the operating system.
Group: OverScan XBIOS functions
See also: Binding   Oscanis   Oscanpatch   Oscanphy   Oscanswitch   Oscantab   Oscanvb

4.15.4.1 Bindings for 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« -Switch or obtains current mode.
Opcode: 4206
Syntax: int16_t Oscanswitch( int16_t mode );
Description: The function switches between the normal mode and the OverScan mode. The following apply:
Parameter Meaning
mode

-1 = Obtain status
0 = Normal mode
1 = OverScan mode


The function not only switches over the hardware, but also all internal GEM variables are patched and the screen is copied over.
Return value: The function returns the current setting in each case.
Availability: These functions are only available under OverScan; they are not routines of the operating system.
Group: OverScan XBIOS functions
See also: Binding   Oscanis   Oscanpatch   Oscanphy   Oscanscr   Oscantab   Oscanvb

4.15.5.1 Bindings for 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« - Get pointer to data structure of a screen resolution.
Opcode: 4201
Syntax: SCREEN *Oscantab( int16_t res );
Description: The function returns a pointer to a structure for a description of the screen. The following apply:
Parameter Meaning
res

-1 = Current setting
0 = Low resolution
1 = Medium resolution
2 = High resolution


The data structure of the current setting is updated at each call of the function.
Return value: The function returns a pointer to the corresponding structure for the description of the screen.
Availability: These functions are only available under OverScan; they are not routines of the operating system.
Group: OverScan XBIOS functions
See also: Binding   Oscanis   Oscanpatch   Oscanphy   Oscanscr   Oscanswitch   Oscanvb

4.15.6.1 Bindings for 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« - witch the VB edge-test routine, as well as some tests in the IKBD interrupt.
Opcode: 4204
Syntax: int16_t Oscanvb( int16_t mode );
Description: The function permits switching off the VB edge-test routine as well as the test for Shift/Shift/Clear in the IKBD interrupt. The following apply:
Parameter Meaning
mode

-1 = Obtain status
0 = Switch tests off
1 = Switch tests on (default)


Though the tests require only some 1-2% CPU time, for time-critical animations and MIDI routines this could be just too much.

Important: Before termination of the program it is imperative that the tests are switched on again.
Return value: The function returns the current setting in each case.
Availability: These functions are only available under OverScan; they are not routines of the operating system.
Group: OverScan XBIOS functions
See also: Binding   Oscanis   Oscanpatch   Oscanphy   Oscanscr   Oscanswitch   Oscantab

4.15.7.1 Bindings for 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 extensionPCI-BIOS