The Text VDU

&BB4E TXT INITIALISE
Action Initialise the text Video Display Unit 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 bytesbyte 1 is the number of parameters needed by the control codebytes 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