Home XBIOSXBIOS Screen functionsScreen functions Crazy-Dots XBIOS extensionCrazy-Dots XBIOS extension

4.6 CENTScreen XBIOS extension

MultiMon Multisynchro mode.
SetMon Sets the monitor type.
SizeComp Vgetsize compatibility.
Vattrib Alters attribute of a video mode.
Vclose Shutdown
Vcreate Adds a video mode.
Vdelete Deletes a video mode.
Vfirst Finds the first video mode.
Vload Loads VIDEO.DAT.
Vlock Locks the virtual screen.
Vnext Next video mode.
Voffset Gets position of the virtual screen.
Vopen Wakes up the screen.
Vread Obtains the current video mode.
Vsave Saves VIDEO.DAT.
Vscroll Chooses the method of scrolling.
Vseek Sets the position of the virtual screen.
Vsize Returns the size of the screen.
Vvalid Validates a video mode.
Vwrite Changes the screen resolution.

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

4.6.1 MultiMon

Name: »MultiMon« - Multisynchro mode
 
Opcode: 82
 
Syntax: int16_t MultiMon( int16_t Cmd );
 
Description: You can authorise the switch between RGB and VGA.
 

Cmd Description
0 Forbid the switch.
>0 Authorize the switch.
-1 The current mode.
Return value: The old mode.
 
Availability: CENTScreen
 
Group: CENTScreen XBIOS extension
 
See also: Binding
 

4.6.1.1 Bindings for MultiMon

C:
 
int16_t MultiMon( int16_t Cmd );
 
Assembler:
 
move.w    #Cmd,-(sp)  ; Offset 2
move.w    #82,-(sp)   ; Offset 0
trap      #14         ; Call XBIOS
addq.l    #4,sp       ; Correct stack

4.6.2 SetMon

Name: »SetMon« - Set the monitor type.
 
Opcode: 81
 
Syntax: int16_t SetMon( int16_t MontType );
 
Description: Set the monitor type.
 

MontType New type of monitor
0 SM124 SM124 (prehistoric screen of the ST)
1 RGB (TV-like screen, ideal to make one blind...)
2 VGA (a real monitor to work with!)
3 TV (worst RGB, makes all users blind...)
Return value: The type of screen.
 
Availability: CENTScreen
 
Group: CENTScreen XBIOS extension
 
See also: Binding
 

4.6.2.1 Bindings for 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             ; Call XBIOS
addq.l    #4,sp           ; Correct stack

4.6.3 SizeComp

Name: »SizeComp« - Vgetsize compatibility
 
Opcode: 83
 
Syntax: int16_t SizeComp( int16_t Cmd );
 
Description: Vgetsize compatibility.
 

Cmd Description
0 Return the real size of the original screen.
  Put the height bit to 1 to return the extended
  size of the video mode.
>0 Return the extended size.
-1 The current mode.
Return value: The old mode.
 
Availability: CENTScreen
 
Group: CENTScreen XBIOS extension
 
See also: Binding
 

4.6.3.1 Bindings for 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         ; Call XBIOS
addq.l    #4,sp       ; Correct stack

4.6.4 Vattrib

Name: »Vattrib« - Changes the attiributes of a video mode
 
Opcode: 67
 
Syntax: void Vattrib( VDO_PARAM *InParam, VDO_PARAM *OutParam );
 
Description: This function allows you to change the parmeters of original video modes. It is possible to change only the set, eco, eco2 and virt flags, the virtual screen size and the screen saver waiting period.
 
As the flag_set flag can be set only once for each resolution type, this function handles the previous mode deactivation. Of course, it is only useful for the former functions.
 
Return value: The OutParam is filled with the prameters really set.
 
Availability: CENTScreen
 
Group: CENTScreen XBIOS extension
 
See also: Binding
 

4.6.4.1 Bindings for Vattrib

C: #include <tos.h>
 
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             ; Call XBIOS
lea       10(sp),sp       ; Correct stack

4.6.5 Vclose

Name: »Vclose« - Shut down
 
Opcode: 76
 
Syntax: int16_t Vclose( void );
 
Description: Shut down
 
Return value:  0 : No error.
-1 : Improbable.
 
Availability: CENTScreen
 
Group: CENTScreen XBIOS extension
 
See also: Binding
 

4.6.5.1 Bindings for Vclose

C: #include <tos.h>
 
int16_t Vclose( void );
 
Assembler:
 
move.w    #76,-(sp)    ; Offset 0
trap      #14          ; Call XBIOS
addq.l    #2,sp        ; Correct stack

4.6.6 Vcreate

Name: »Vcreate« - Add a video mode
 
Opcode: 68
 
Syntax: void Vcreate( VDO_PARAM *InParam, VDO_PARAM *OutParam );
 
Description: It take directly the videl parameters and affect a new handle on it with your parameters.
 
It use by CENTvidel.
 
Return value: The OutParam is filled with the prameters really set.
 
Availability: CENTScreen
 
Group: CENTScreen XBIOS extension
 
See also: Binding
 

4.6.6.1 Bindings for Vcreate

C: #include <tos.h>
 
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             ; Call XBIOS
lea       10(sp),sp       ; Correct stack

4.6.7 Vdelete

Name: »Vdelete« - Delete a video mode
 
Opcode: 69
 
Syntax: int16_t Vdelete( int16_t Handle);
 
Description: Doesn't move the handles but compresses the internal data. The handles may change after a save-load sequence.
 
Return value:  0: No error
-1: Bad handle
 
Availability: CENTScreen
 
Group: CENTScreen XBIOS extension
 
See also: Binding
 

4.6.7.1 Bindings for Vdelete

C: #include <tos.h>
 
int16_t Vdelete( int16_t Handle);
 
Assembler:
 
move.w    #Handle,-(sp)   ; Offset 2
move.w    #69,-(sp)       ; Offset 0
trap      #14             ; Call XBIOS
addq.l    #4,sp           ; Correct stack

4.6.8 Vfirst

Name: »Vfirst« - Search the first video mode
 
Opcode: 70
 
Syntax: int16_t Vfirst( VDO_PARAM *Mask, VDO_PARAM *Mode );
 
Description: Finds the first video mode.
 
Return value:  0: The out-array is full
-1: No mode match
 
Availability: CENTScreen
 
Group: CENTScreen XBIOS extension
 
See also: Binding
 

4.6.8.1 Bindings for Vfirst

C: #include <tos.h>
 
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            ; Call XBIOS
lea       10(sp),sp      ; Correct stack

4.6.9 Vload

Name: »Vload« - Load VIDEO.DAT file
 
Opcode: 73
 
Syntax: int16_t Vload( void );
 
Description: Load the VIDEO.DAT file.
 
Return value:  0 : No error.
-1 : File not found.
 
Availability: CENTScreen
 
Group: CENTScreen XBIOS extension
 
See also: Binding
 

4.6.9.1 Bindings for Vload

C: #include <tos.h>
 
int16_t Vload( void );
 
Assembler:
 
move.w    #73,-(sp)    ; Offset 0
trap      #14          ; Call XBIOS
addq.l    #2,sp        ; Correct stack

4.6.10 Vlock

Name: »Vlock« - Lock the virtual screen
 
Opcode: 80
 
Syntax: int16_t Vlock( int16_t cmd );
 
Description: Locks the virtual screen.
 

cmd Description
0 The mouse can move the virtual screen
1 The mouse can not move the virtual screen
Return value: The old configuration.
 
Availability: CENTScreen
 
Group: CENTScreen XBIOS extension
 
See also: Binding
 

4.6.10.1 Bindings for Vlock

C: #include <tos.h>
 
int16_t Vlock( int16_t cmd );
 
Assembler:
 
move.w    #cmd,-(sp)   ; Offset 2
move.w    #80,-(sp)    ; Offset 0
trap      #14          ; Call XBIOS
addq.l    #4,sp        ; Correct stack

4.6.11 Vnext

Name: »Vnext« - Next video mode
 
Opcode: 71
 
Syntax: int16_t Vnext( VDO_PARAM *Mask, VDO_PARAM *Mode );
 
Description: Next video mode
 
Return value:  0: The out-array is full
-1: No mode match
 
Availability: CENTScreen
 
Group: CENTScreen XBIOS extension
 
See also: Binding
 

4.6.11.1 Bindings for Vnext

C: #include <tos.h>
 
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            ; Call XBIOS
lea       10(sp),sp      ; Correct stack

4.6.12 Voffset

Name: »Voffset« - Position of the virtual screen
 
Opcode: 78
 
Syntax: int16_t Voffset( void );
 
Description: Returns the position of the virtual screen in relation to the top left corner of the physical screen.
 
Return value: Holds the current position with x in the high word and y in the low word.
 
Availability: CENTScreen
 
Group: CENTScreen XBIOS extension
 
See also: Binding
 

4.6.12.1 Bindings for Voffset

C: #include <tos.h>
 
int16_t Voffset( void );
 
Assembler:
 
move.w    #78,-(sp)   ; Offset 0
trap      #14         ; Call XBIOS
addq.l    #2,sp       ; Correct stack

4.6.13 Vopen

Name: »Vopen« - Wake up the screen
 
Opcode: 75
 
Syntax: int16_t Vopen( void );
 
Description: Wake up the screen.
 
Return value:  0 : No error.
-1 : Improbable.
 
Availability: CENTScreen
 
Group: CENTScreen XBIOS extension
 
See also: Binding
 

4.6.13.1 Bindings for Vopen

C: #include <tos.h>
 
int16_t Vopen( void );
 
Assembler:
 
move.w    #75,-(sp)    ; Offset 0
trap      #14          ; Call XBIOS
addq.l    #2,sp        ; Correct stack

4.6.14 Vread

Name: »Vread« - Obtain the current video mode
 
Opcode: 65
 
Syntax: void Vread( VDO_PARAM *Result );
 
Description: With one call you can know all the information about the installed video mode.
 
Return value: Result is filled.
 
Availability: CENTScreen
 
Group: CENTScreen XBIOS extension
 
See also: Binding
 

4.6.14.1 Bindings for Vread

C: #include <tos.h>
 
void Vread( VDO_PARAM *Result );
 
Assembler:
 
move.l    #Result,-(sp) ; Offset 2
move.w    #65,-(sp)     ; Offset 0
trap      #14           ; Call XBIOS
addq.l    #4,sp         ; Correct stack

4.6.15 Vsave

Name: »Vsave« - Save a VIDEO.DAT file
 
Opcode: 74
 
Syntax: int16_t Vsave( void );
 
Description: Save a VIDEO.DAT file.
 
Return value:  0 : No error.
-1 : Save impossible.
 
Availability: CENTScreen
 
Group: CENTScreen XBIOS extension
 
See also: Binding
 

4.6.15.1 Bindings for Vsave

C: #include <tos.h>
 
int16_t Vsave( void );
 
Assembler:
 
move.w    #74,-(sp)    ; Offset 0
trap      #14          ; Call XBIOS
addq.l    #2,sp        ; Correct stack

4.6.16 Vscroll

Name: »Vscroll« - Choose the method of scrolling
 
Opcode: 77
 
Syntax: int16_t Vscroll( int16_t ScrollMode );
 
Description: Choose the method of scrolling.
 

ScrollMode New method to use
0 Edge scrolling (default method)
1 Proportionnal scrolling
2 Focus scrolling
Return value: The old method.
 
Availability: CENTScreen
 
Group: CENTScreen XBIOS extension
 
See also: Binding
 

4.6.16.1 Bindings for Vscroll

C: #include <tos.h>
 
int16_t Vscroll( int16_t ScrollMode );
 
Assembler:
 
move.w    #ScrollMode,-(sp) ; Offset 2
move.w    #77,-(sp)         ; Offset 0
trap      #14               ; Call XBIOS
addq.l    #4,sp             ; Correct stack

4.6.17 Vseek

Name: »Vseek« - Set the position of the virtual screen
 
Opcode: 78
 
Syntax: VPOS Vseek( int16_t x, int16_t y );
 
Description: Sets the position of the virtual screen in relation to the top left corner of the physical screen.
 
Return value: Holds the current position with x in the high word and y in the low word.
 
Availability: CENTScreen
 
Group: CENTScreen XBIOS extension
 
See also: Binding
 

4.6.17.1 Bindings for Vseek

C: #include <tos.h>
 
VPOS Vseek( int16_t x, int16_t y );
 
Assembler:
 
move.w    #78,-(sp)   ; Offset 0
trap      #14         ; Call XBIOS
addq.l    #2,sp       ; Correct stack

4.6.18 Vsize

Name: »Vsize« - Return the size of the screen
 
Opcode: 84
 
Syntax: Bindings for Vsize
 
Description: This function allows you to know the size of a screen with input parameters.
 
If you put -1 for handle, the current handle is taken by default as a reference.
 
The function reads only the logical parameter (not if -1) and the virtual flag (not if -1).
 
Parameters:
Long: in-array
 
Return value: D0 hold the size in bytes.
0 for error (bad parameters ?!)
 
Availability: CENTScreen
 
Group: CENTScreen XBIOS extension
 
See also: Binding
 

4.6.18.1 Bindings for Vsize

C:
 
?????
 
Assembler:
 
move.l    #Mode,-(sp) ; Offset 2
move.w    #84,-(sp)   ; Offset 0
trap      #14         ; Call XBIOS
addq.l    #6,sp       ; Correct stack

4.6.19 Vvalid

Name: »Vvalid« - Validate a video mode
 
Opcode: 72
 
Syntax: int16_t Vvalid( int16_t Handle );
 
Description: Validate a video mode.
 
Return value:  0: If the mode exists
-1: No mode for this handle
 
Availability: CENTScreen
 
Group: CENTScreen XBIOS extension
 
See also: Binding
 

4.6.19.1 Bindings for Vvalid

C: #include <tos.h>
 
int16_t Vvalid( int16_t Handle );
 
Assembler:
 
move.w    #Handle,-(sp)  ; Offset 2
move.w    #72,-(sp)      ; Offset 0
trap      #14            ; Call XBIOS
addq.l    #4,sp          ; Correct stack

4.6.20 Vwrite

Name: »Vwrite« - Change the screen resolution.
 
Opcode: 66
 
Syntax: int16_t Vwrite( int16_t InitVDI, VDO_PARAM *InParam, VDO_PARAM *OutParam );
 
Description: It is possible to use the VDI in order to use the graph functions immediately. It allows to reallocate the needed screen for the chosen video mode.
 
With InParam, you can send the new desired resolution:
 
  • handle <>-1: This is the handle of a known video mode (for instance when restoring the initial screen). It is possible to give the virtual screen size by setting a value different than -1, otherwise it will use the setting of the default video mode.
     

  • handle = -1: you MUST specify the resolution and you MAY specify the virtual screen size. The function looks for a video mode able to accept the requested resolution and, if needed, add an over-width (virtual screen).
     


Once the resolution is passed in argument to the function, the output array contains the mode actually passed (useful to validate the mode).
 
In case of failure (not enough memory for the VDI screen, invalid handle, or requested resolution too small), the current mode is returned for information in the output array, in addition an error message is provided.
 
Return value: After the call, OutParam contains the real resolution made.
 
If an error occurs, the actual resolution is returned with -1.
 
Availability: CENTScreen
 
Group: CENTScreen XBIOS extension
 
See Also: Binding
 

4.6.20.1 Bindings for 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             ; Call XBIOS
lea      10(sp),sp       ; Correct stack

Home XBIOSXBIOS Screen functionsScreen functions Crazy-Dots XBIOS extensionCrazy-Dots XBIOS extension