WikiPendium

(beta)

Setscreen()

WikiPendium :: RecentChanges :: RecentlyCommented :: UserSettings :: You are ec2-3-15-235-196.us-east-2.compute.amazonaws.com

Setscreen()


VOID Setscreen( log, phys, mode )

VOIDP log, phys;
WORD mode;

Setscreen() can change the base addresses of both PhysicalScreen and LogicalScreen, and also can change current video mode — i.e. size and color depth of the current screen.

Opcode

5 (0x05)

Availability

All TOS versions.
As of TOS 4.00, this function has a new binding (see VsetScreen()), which is actually an extension of this old Setscreen() binding.

Parameters

log is the new address at which the LogicalScreen buffer will start.
phys is the new address at which the PhysicalScreen buffer will start.
mode defines the video mode to switch to (see Getrez() for video mode values).
If any of these three parameters is set to SCR_NOCHANGE (-1) then that value will be left unchanged.

Binding

	move.w	mode,-(sp)
	pea	phys
	pea	log
	move.w	#$5,-(sp)
	trap	#14
	lea	12(sp),sp


Caveats

Changing screen modes with this call does not reinitialize the AES.
Under genuine TOS system, the VDI and VT52? emulator are, however, correctly reinitialized, but under NVDI? it looks like the VDI is not. This leads to the necessity under NVDI? to hide the mouse (see v_rmcur()?) before switching to a new video mode, and show it again (see v_dspcur()?) after switching back to the former mode.
The AES should not be used after changing screen mode with this call until the former mode is restored.

Comments

TOS 1.00 to 1.04 required that their PhysicalScreen buffer be on a 256 byte boundary. The Videl chip on Falcon030? requires a LONG boundary. All other Atari computers only require a WORD boundary.
To access the unique video modes of the Falcon030? the call VsetScreen() (which is actually an alternate binding of this call with the same opcode) should be used in place of this call.

See Also

VsetScreen(), VsetMode()?, EsetShift()?, v_rmcur()?, v_dspcur()?

Il n'y a pas de commentaire sur cette page. [Afficher commentaires/formulaire]