Difference between revisions of "VDU 21"
m (1 revision)
m (1 revision)
Revision as of 02:13, 8 March 2015
Disables the screen drivers, or erases the current line of input.
|Keyboard equivalent||CTRL U|
|Character stream (hex)|| |
|Description|| When NAK is sent to OSWRCH, it prevents subsequent characters affecting the display.|
When CTRL U is typed during OSWORD &00, the current line of input is reset to the empty string.
Disable display drivers
VDU 21 disables the display drivers. The screen is not blanked, but characters printed from this point onward do not appear on the screen. They may still go to the printer or other enabled output devices. This is often used to hide passwords as they are typed.
In this state the
VDU 2 printer feed remains active or inactive, but cannot be toggled.
While the display is turned off with
VDU 21, VDUCHR continues to parse incoming VDU sequences. The only commands still acted upon are
VDU 1 and
VDU 6; all others are discarded. As usual if a stream of binary characters is printed, it may create a VDU sequence (a queue) that must be cleared with nine NULs before issuing the next command.
Under MOS 1.20 while the display has been disabled in this way, characters 8 to 13 (including newlines and carriage returns) will be sent to the printer regardless of
3 state, and
VDU 1,n will send two copies of
n to the printer. See VDUCHR.
To re-enable the display, use
This mechanism is separate from OSBYTE &03, which can disable the display by blocking the flow of characters to VDUCHR.
Erase current line of input
The other function of code 21, to erase the current line of input, is a feature of OSWORD &00. While the computer is waiting for a command, or a line of
INPUT to be completed, pressing CTRL U makes it 'forget' all the characters typed so far so that the user can start again. This key binding probably originated from Unix.
A CTRL U keypress does not turn off the display, unless a program indiscriminately prints the result of
-- beardo 00:15, 24 September 2007 (BST)