Topic : The ATARI Compendium
Author : Scott Sanders / JAY Software
Version : 1.25 (20/6/2003)
Subject : Documentation
Nodes : 1117
Index Size : 32614
HCP-Version : 6
Compiled on : Atari
@charset : UTF-8
@lang : en
@default :
@help : %About
@options : +g -i -t4 +y +z
@width : 100
View Ref-FileSetscreen()VsetMode()VsetScreen() XBIOSSyntaxVOID VsetScreen( log, phys, mode, modecode )
VOIDP log, phys;
WORD mode, modecode;
Function VsetScreen() changes the base addresses and mode of the
current screen.
Opcode 5 (0x05)
Availability All TOSversions. The ability of this call to utilize the
modecode parameter and the memory allocation feature is
limited to systems having a '_VDO' cookie with a value of
0x00030000 or greater.
Parameters log is the address for the new logical screen base. phys is
the new address for the physical screen base. If either log
or phys is NULL, the XBIOS will allocate a new block of
memory large enough for the current screen and reset the
parameter accordingly. mode defines the screen mode to
switch to (same as Getrez()). Setting mode to SCR_MODECODE
(3) will cause modecode to be used to set the graphic mode
(see VsetMode() for valid values for this parameter),
otherwise modecode is ignored. If any of these three
parameters is set to SCR_NOCHANGE (1) then that value will
be left unchanged.
Binding move.w modecode,-(sp)
move.w mode,-(sp)
pea phys
pea log
move.w #$05,-(sp)
trap #14
lea 14(sp),sp
Caveats Changing screen modes with this call does not reinitialize
the AES. The VDI and VT52 emulator are, however, correctly
reinitialized. The AES should not be used after changing
screen mode with this call until the old screen mode is
restored.
Comments TOS 1.00 and 1.02 required that its physical screen memory
be on a 256 byte boundary. All other Atari computers only
require a WORD boundary. This call is actually a revised
binding of Setscreen() developed to allow access to the
newly available modecode parameter.
See Also Setscreen(), VsetMode()