Functions built into the Simulator's IO page.
The following table lists the IO functions supported within the IO page. The IO Page is set in the
options menu. The variable "IO_AREA" is reserved and will return the start address of the IO page. Data
is passed through the accumulator register.
- IO_AREA+0: TERMINAL_CLS (w)
- IO_AREA+1: TERMINAL_OUT (w)
- IO_AREA+2: TERMINAL_OUT_CHR (w)
- IO_AREA+3: TERMINAL_OUT_HEX (w)
- IO_AREA+4: TERMINAL_IN (r)
- IO_AREA+5: TERMINAL_X_POS (r/w)
- IO_AREA+6: TERMINAL_Y_POS (r/w)
- (w) means write only port, (r) read only, (r/w) read/write.
TERMINAL_CLS - clear terminal window, set cursor at (0,0) position.
TERMINAL_OUT - output single character interpreting control characters.
Terminal can only recognize these control characters:
ASCII $0D (carriage return) moving cursor to the beginning of line,
ASCII $0A (line feed) moving cursor to the next line and scrolling window if necessary,
ASCII $08 (backspace) moving one position to the left and erasing char below cursor.
TERMINAL_OUT_CHR - outputs single character; control chars are being output just like regular characters.
TERMINAL_OUT_HEX - outputs single byte as a two-digit hexadecimal number.
TERMINAL_IN - input single byte, returns 0 if there's no characters available in terminal's buffer
When I/O terminal window is active, it can accept keyboard input; press [Ins] key to paste clipboard's contents into terminal.
TERMINAL_X_POS - cursor X position (column).
TERMINAL_Y_POS - cursor Y position (row).