The screen editor uses both the keyboard handler and the screen
handler to provide interactive control of the computer. In fact, the
keyboard handler, the screen handler and the screen editor are
contained in a single section of code and are therefore very closely
related.
The editor works with one line of characters at a time. The lines it
works with are called logical lines and are up to three screen lines
long.
The screen editor inputs data from the keyboard and then prints the
data on the screen. When the [RETURN] key is pressed, the editor
inputs all of the data on the present logical line for processing by
CIO.
If characters are typed on the screen, and then the cursor is moved
off the line, then back on the line, and new characters are typed,
only the characters to the right of the reentry point of the cursor
are input when [RETURN] is pressed. However, if the cursor is moved
off the line again, then moved back on, all characters on that logical
line are input.
If bit 0 of ICAX1 is 1, the editor will act as if the [RETURN] key is
being held down. This bit may be changed at any time.
Editor control codes
The screen editor treats certain ATASCII codes as special control
codes.
Screen editor control codes
KEY HEX DEC FUNCTION
[RETURN] $9B 155 carriage return or EOL
[CLEAR] $7D 125 Clear screen,put cursor in upper left
[UP ARROW] $1C 28 Move cursor up one screen line
[DOWN] $1D 29 down one line
[LEFT] $1E 30 left one character
[RIGHT] $1F 31 right one character
[BACK S] $7E 126 Back-space operation
[SET TAB] $9F 159 sets tab stop at cursor
[CLEAR
TAB] $9E 158 Clear tab stop at cursor
[TAB] $7F 127 move to next tab stop
[SHIFT]
[INSERT] $9D 157 Make space for a new line
[SHIFT]
[DELETE] $9C 156 delete the logical line at the cursor
[CTRL]
[INSERT] $FF 255 make room for a character
[CTRL]
[DELETE] $FE 254 delete character at cursor
[ESCAPE] $1B 27 causes next non-EOL code to be
displayed as an ATASCII character, even if it is an editor
control code
[CTRL][1] screen print start/stop
[CTRL] $FD