VDU 22
From BeebWiki
Selects a display MODE.
| Syntax | VDU 22,<numeric>
|
| Character stream (hex) | 16 <mode>
|
| Description | Changes the display to MODE <mode>
|
Description
VDU 22,n changes the display to MODE n. For a list of display modes, see MODE.
- The start of display memory is moved, but the current language is not informed.
- The CRTC, video ULA and address translation latches are reprogrammed, taking into account the
*TVsetting. - Changing to a graphics mode, the actions of
VDU 20are performed: - The text and graphics windows are reset to fill the whole display.
- The text and graphics cursors are uncoupled.
- The text window (the whole screen) is cleared.
- Paged mode is turned off.
- The text cursor is made visible and returned home.
Since the display memory may 'explode' without the current language being informed, VDU 22,n can corrupt user memory in the I/O processor. Mode changes must therefore be made through the language (for instance in BASIC, by the statement MODE n.)
When user memory is separate from display memory (that is, when *SHADOW mode, a Tube coprocessor or the Archimedes is in use) then mode changes can be made by either method.
The start of display memory for a given MODE can be found without changing to that MODE, with OSBYTE &85.
-- beardo 20:52, 10 November 2007 (UTC)

