&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 |