| &BB4E | TXT INITIALISE |
| Action | Initialise the text VDU to its settings when the computer is switched on, includes resetting all the text VDU indirections, selecting Stream 0, resetting the text paper to pen 0 and the text pen to pen 1, moving the cursor to the top left corner of the screen and setting the writing mode to be opaque |
| Entry | No entry conditions |
| Exit | AF, BC, DE and HL are corrupt, and all others are preserved |
| &BB51 | TXT RESET |
| Action | Resets the text VDU indirections and the control code table |
| Entry | No entry conditions |
| Exit | AF, BC, DE and HL are corrupt, and all the other registers are preserved |
| &BB54 | TXT VDU ENABLE |
| Action | Allows characters to be printed on the screen in the current stream |
| Entry | No entry conditions |
| Exit | AF is corrupt, and all other registers are preserved |
| &BB57 | TXT VDU DISABLE |
| Action | Prevents characters from being printed to the current stream |
| Entry | No entry conditions |
| Exit | AF is corrupt, and al1 the other registers are preserved |
| &BB5A | TXT OUTPUT |
| Action | Output a character or control code (&00 to &1F) to the screen |
| Entry | A contains the character to output |
| Exit | All registers are preserved |
| Notes | Any control codes are obeyed and nothing is printed if the VDU is disabled; characters are printed using the TXT OUT ACTION routine; if using graphics printing mode, then control codes are printed and not obeyed |
| &BB5D | TXT WR CHAR |
| Action | Print a character at the current cursor position - control codes are printed and not obeyed |
| Entry | A contains the character to be printed |
| Exit | AF, BC, DE and HL are corrupt, and all others are preserved |
| Notes | This routine uses the TXT WRITE CHAR indirection to put the character on the screen |
| &BB60 | TXT RD CHAR |
| Action | Read a character from the screen at the current cursor position |
| Entry | No entry conditions |
| Exit | If it was successful then A contains the character that was read from the screen and Carry is true; otherwise Carry is false, and A holds 0; in either case, the other flags are corrupt, and all registers are preserved |
| Notes | This routine uses the TXT UNWRITE indirection |
| &BB63 | TXT SET GRAPHIC |
| Action | Enables or disables graphics print character mode |
| Entry | To switch graphics printing mode on, A must be non- zero; to turn it off, A must contain zero |
| Exit | AF corrupt, and all other registers are preserved |
| Notes | When turned on, control codes are printed and not obeyed; characters are printed by GRA WR CHAR |
| &BB66 | TXT WIN ENABLE |
| Action | Sets the boundaries of the current text window - uses physical coordinates |
| Entry | H hoIds the column number of one edge, D holds the column number of the other edge, L holds the line number of one edge, and E holds the line number of the other edge |
| Exit | AF, BC, DE and HL are corrupt |
| Notes | The window is not cleared but the cursor is moved to the top left corner of the window |
| &BB69 | TXT GET WINDOW |
| Action | Returns the size of the current window - returns physical coordinates |
| Entry | No entry conditions |
| Exit | H holds the column number of the left edge, D holds the column number of the right edge, L holds the line number of the top edge, E holds the line number of the bottom edge, A is corrupt, Carry is false if the window covers the entire screen, and the other registers are always preserved |
| &BB6C | TXT CLEAR WINDOW |
| Action | Clears the window (of the current stream) and moves the cursor to the top left corner of the window |
| Entry | No entry conditions |
| Exit | AF, BC, DE and HL are corrupt, and alI others are preserved |
| &BB6F | TXT SET COLUMN |
| Action | Sets the cursor's horizontal position |
| Entry | A contains the logical column number to move the cursor to |
| Exit | AF and HL are corrupt, and all the other registers are preserved |
| Notes | See also TXT SET CURSOR |
| &BB72 | TXT SET ROW |
| Action | Sets the cursor's vertical position |
| Entry | A contains the logical line number to move the cursor to |
| Exit | AF and HL are corrupt, and all others are preserved |
| Notes | See also TXT SET CURSOR |
| &BB75 | TXT SET CURSOR |
| Action | Sets the cursor's vertical and horizontal position |
| Entry | H contains the logical column number and L contains the logical line number |
| Exit | AF and HL are corrupt, and all the others are preserved |
| Notes | See also TXT SET COLUMN and TXT SET ROW |
| &BB78 | TXT GET CURSOR |
| Action | Gets the cursor's current position |
| Entry | No entry conditions |
| Exit | H holds the logical column number, L holds the logical line number, and A contains the roll count, the flags are corrupt, and all the other registers are preserved |
| Notes | The roll count is increased when the screen is scrolled down, and is decreased when it is scrolled up |
| &BB7B | TXT CUR ENABLE |
| Action | Allows the text cursor to be displayed (if it is allowed by TXT CUR ON) - intended for use by the user |
| Entry | No entry conditions |
| Exit | AF is corrupt, and all other registers are preserved |
| &BB7E | TXT CUR DISABLE |
| Action | Prevents the text cursor from being displayed -intended for use by the user |
| Entry | No entry conditions |
| Exit | AF is corrupt, and all others are preserved |
| &BB81 | TXT CUR ON |
| Action | Allows the text cursor to be displayed - intended for use by the operating system |
| Entry | No entry conditions |
| Exit | All registers and flags are preserved |
| &BB84 | TXT CUR OFF |
| Action | Prevents the text cursor from being displayed -intended for use by the operating system |
| Entry | No entry conditions |
| Exit | All registers and flags are preserved |
| &BB87 | TXT VALIDATE |
| Action | Checks whether a cursor position is within the current window |
| Entry | H contains the logical column number to check, and L holds the logical line number |
| Exit | H holds the logical column number where the next character will be printed, L holds the logical line number; if printing at this position would make the window scroll up, then Carry is false and B holds &FF; if printing at this position would make the window scroll down, then Carry is false and B contains &00; if printing at the specified cursor position would not scroll the window, then Carry is true and B is corrupt; always, A and the other flags are corrupt, and all others are preserved |
| &BB8A | TXT PLACE CURSOR |
| Action | Puts a `cursor blob' on the screen at the current cursor position |
| Entry | No entry conditions |
| Exit | AF is corrupt, and all other registers are preserved |
| Notes | It is possible to have more than one cursor in a window (see also TXT DRAW CURSOR); do not use this routine twice without using TXT REMOVE CURSOR between |
| &BB8D | TXT REMOVE CURSOR |
| Action | Removes a `cursor blob' from the current cursor position |
| Entry | No entry conditions |
| Exit | AF is corrupt, and all the others are preserved |
| Notes | This should be used only to remove cursors created by TXT PLACE CURSOR, but see also TXT UNDRAW CURSOR |
| &BB90 | TXT SET PEN |
| Action | Sets the foreground PEN for the current stream |
| Entry | A contams the PEN number to use |
| Exit | AF and HL are corrupt, and all other registers are preserved |
| &BB93 | TXT GET PEN |
| Action | Gets the foreground PEN for the current stream |
| Entry | No entry conditions |
| Exit | A contains the PEN number, the flags are corrupt, and all other registers are preserved |
| &BB96 | TXT SET PAPER |
| Action | Sets the background PAPER for the current stream |
| Entry | A contains the PEN number to use |
| Exit | AF and HL are corrupt, and all other registers are preserved |
| &BB99 | TXT GET PAPER |
| Action | Gets the background PAPER for the current stream |
| Entry | No entry conditions |
| Exit | A contains the PEN number, the flags are corrupt, and all other registers are preserved |
| &BB9C | TXT INVERSE |
| Action | Swaps the current PEN and PAPER colours over for the current stream |
| Entry | No entry conditions |
| Exit | AF and HL are corrupt, and all others are preserved |
| &BB9F | TXT SET BACK |
| Action | Sets the character write mode to either opaque or transparent |
| Entry | For transparent mode, A must be non-zero; for opaque mode, A has to hold zero |
| Exit | AF and HL are corrupt, and all other registers are preserved |
| Notes | Setting the character write mode has no effects on the graphics VDU |
| &BBA2 | TXT GET BACK |
| Action | Gets the character write mode for the current stream |
| Entry | No entry conditions |
| Exit | If in transparent mode, A is non-zero; in opaque mode, A is zero; in either case DE, HL and flags are corrupt, and the other registers are preserved |
| &BBA5 | TXT GET MATRIX |
| Action | Gets the address of a character matrix |
| Entry | A contains the character whose matrix is to be found |
| Exit | If it is a user-defined matrix, then Carry is true; if it is in the lower ROM then Carry is false; in either event, HL contains the address of the matrix, A and other flags are corrupt, and others are preserved |
| Notes | The character matrix is stored in 8 bytes; the first byte is for the top row of the character, and the last byte refers to the bottom row of the character; bit 7 of a byte refers to the leftmost pixel of a line, and bit 0 refers to the rightmost pixel in Mode 2. |
| &BBA8 | TXT SET MATRIX |
| Action | Installs a matrix for a user-defined character |
| Entry | A contains the character which is being defined and HL contains the address of the matrix to be used |
| Exit | If the character is user-definable then Carry is true; otherwise Carry is false, and no action is taken; in both cases AF, BC, DE and HL are corrupt, and all other registers are preserved |
| &BBAB | TXT SET M TABLE |
| Action | Sets the address of a user-defined matrix table |
| Entry | DE is the first character in the table and HL is the table's address (in the central 32K of RAM) |
| Exit | If there are no existing tables then Carry is false, and A and HL are both corrupt; otherwise Carry is true, A is the first character and HL is the table's address; in both cases BC, DE and the other flags are corrupt |
| &BBAE | TXT GET M TABLE |
| Action | Gets the address of a user-defined matrix table |
| Entry | No entry conditions |
| Exit | See TXT SET M TABLE above for details of the values that can be returned |
| &BBB1 | TXT GET CONTROLS |
| Action | Gets the address of the control code table |
| Entry | No entry conditions |
| Exit | HL contains the address of the table, and all others are preserved |
| Notes | The table has 32 entries, and each entry has three bytes byte 1 is the number of parameters needed by the control code bytes 2 and 3 are the address of the routine, in the Lower ROM, to execute the control code |
| &BBB4 | TXT STR SELECT |
| Action | Selects a new VDU text stream |
| Entry | A contains the value of the stream to change to |
| Exit | A contains the previously selected stream, HL and the flags are corrupt, and all others are preserved |
| &BBB7 | TXT SWAP STREAMS |
| Action | Swaps the states of two stream attribute tables |
| Entry | B contains a stream number, and C contains the other stream number |
| Exit | AF, BC, DE and HL are corrupt, and all other registers are preserved |
| Notes | The foreground pen and paper, the window size, the cursor position, the character write mode and graphic character mode are all exchanged between the two streams |