Read Console Buffer

CP/M call 10, Read Console Buffer, has a range of additional facilities.

The read buffer reads a line of edited console input into a buffer addressed by registers DE. Console input is terminated when either the buffer overflows, or on control J or control M.

The Read buffer is of the form:

DE | +0 | +1 | +2 | +3 | +4 | +5 | ...... | +N |
   | mx | nc | c1 | c2 | c3 | c4 | ...... | ?? |

where mx is the mamimum number of characters the buffer will hold (1 to 255).

nc number of characters read (set by DEMOS on return). nc is followed by c1, c2, etc., the characters read from the console.

If nc < mx then uninitialised positions follow the last character (represented by ?).

A number of control functions are recognised during line edit:

Control Key Action
Control C reboots system if at start of line
Control E causes physical end of line
Control H backspace one character position
Control J terminate input
Control M terminate input
Control R retype current line after new line
Control X backspaces to beginning of current line