| Funciton Name | Description | Entry condition | Exit condition | Entry Address (Hex.) |
|---|---|---|---|---|
| LCD | Displays a character on the LCD at current cursor position (Also RST 4) | A= Character to be displayed | none | 4B44 |
| SETCUR | Move cursor to specified location. | D = column number ( 1-40 ) E = row number |
none | 7440 |
| PLOT | Turn on pixecl at specified location. | D= x coordinate (0-239) E = y coordinate (0-63) |
none | 744C |
| UNPLOT | Turn off pixecl at specified location | D = x coordinate (0-239) E = y coordinate (0-63) |
none | 744D |
| POSIT | Set cursor position. | H = column number (1-40) L = Low Number |
none | 427C |
| ESCA | Send Specified Escape Code Sequence | A = escape code | none | 4270 |
| Function Name | Description | Entry Address (Hex.) | Equiv. ESC |
|---|---|---|---|
| CRLF | Generate a Carriage Return and Line Feed | 4222 | -- |
| HOME | Move cursot to Home position (1,1) | 422D | -- |
| CLS | Clear display | 4231 | -- |
| SETSYS | Set system Line (lock line 8, Label) | 4235 | T |
| RSTSYS | Reset system line (unlock line 8, Label | 423A | U |
| LOCK | Lock Display (no scrolling) | 423F | Y |
| UNLOCK | Unlock display (scrolling) | 4244 | W |
| CURSON | Turn on cursor | 4249 | P |
| CUROFF | Turn off cursor | 424E | Q |
| DELLIN | Delete line at cursor position | 4253 | M |
| INSLIN | Insert a blank line at cursor position | 4258 | L |
| ERAEOL | Erase from cursor to end of line | 425D | K |
| ENTREV | Set Reverse chracter mode | 4269 | P |
| EXREV | Turn off Reverse character mode | 426E | q |
| Name | Contents | Address |
|---|---|---|
| CSRY | Cursor Position (ROW) | F639 |
| CSRX | Cursor Position (Column) | F63A |
| BEGLCD | Start of LCD memory | FE00 |
| ENDLCD | End of LCD memory | FF40 |
| Function Name | Description | Entry Conditions | Exit conditions | Entry Address (Hex) | |||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| KEYREAD | Scan keyboard for a key. Return with or without one. | none | A = character, if any
|
7242 | |||||||||||||||||||||||||||||||||||
| CHGET | Wait and get character from Keyboard | none | A = character code Carry --set if special character Carry --reset if normal character (<F1>-<F8> return preprogrrammed strings) |
12CB | |||||||||||||||||||||||||||||||||||
| CHSNS | Check keyboard queue for characters | none | Z flag set if queue empty, rest if keys pending | 13DB | |||||||||||||||||||||||||||||||||||
| KEYX | Check keyboard queue for chracters or BREAK | none | Z flag set if queue empty, reset if keys pending Carry flag set when BREAK entered, reset with any other key |
7270 | |||||||||||||||||||||||||||||||||||
| BRKCHK | Check for BREAK characters only (CTRL-C or -S) | none | Carry flat is set if BREAK or PAUSE entered, reset if not BREAK characters | 7283 | |||||||||||||||||||||||||||||||||||
| INLIN | Get line from keyboard (terminated by <ENTER>) | none | Data stored at location F685 | 4644 |
The function table consists of character strings to be used by the keyboard driver when processing <F1> - <F8> keys. The strings have maximum length of 16 characters and are terminated by a "80" ( Hex.) code. If the last character of the string is OR'ed with 80, the character will also serve as a terminator. The entire string will be placed in the keyboard buffer when the appropriate strings for all 8 key is pressed. You must specify character strings for all 8 function keys (use the terminator byte for any you wish to ignore).
FCTAB DEFM 'Files' ; F1
DEFW 0D80
DEFM 'Load' ; F2
DEFB 80
DEFM 'Save' ; F3
DEFB 80
DEFM 'Run' ; F4
DEFW 0D80
DEFM 'List' ; F5
DEFW 0D80
DEFB 80 ; Ignore F6
DEFB 80 ; Ignore F7
DEFM 'Menu' ; F8
DEFW 0D80
| Function Name | Description | Entry onditions | Exit conditions | Entry Address (HEX) |
|---|---|---|---|---|
| STFNK | Set Function key definitions | HL = Address of function table (above) | none | 5A7C |
| CLRFLK | Clear function key definition table (fills with 80's) | none | none | 5A79 |
| DSPNFK | Display function keys | none | none | 42A8 |
| STDSPF | Set and display function keys | HL = Start address of function table | none | 42A5 |
| ERAFNK | Erase function key display | none | none | 428A |
| FNKSB | Display function table (if enabled | none | none | 5A9E |
| Function Name | Description | Entry conditions | Exit conditions | Entry Address (Hex) |
|---|---|---|---|---|
| PRINTR | Send a character tothe line printer | A = Character to be printed | Carry is set if cancelled by BREAK, reset if normal return | 6D3F |
| PNOTAB | Print character without exanding tab characters | A = character to be printed | 1470 | |
| PRTTAB | Print a character expandign tabs to spaces | A = character to be printed | 4B55 | |
| PRTLCD | Print contents of LCD | none | none | 1E5E |
| Function Name | Description | Entry conditions | Exit conditions | Entry address (Hex) |
|---|---|---|---|---|
| DISC | Disconnect Phone line | none | none | 52BB |
| CONN | Connect phone line | none | none | 52D0 |
| DIAL | Dial a specified phone number | HL = Ph. number address | none | 532D |
| RCVX | Check RS232 queue for characters | none | A = number of characters in queue Z flas is set if no data, reset if characters pending |
6D6D |
| RV232C | Get a character from Rs232 received queue | none | A = character received Z flag set if O.K., reset if error (PE, FF, or OF) Carry set if Break pressed, else reset |
|
| SENSCQ | Send an XON resume character (CTL-Q) | none | none | 6E0B |
| SENDCS | Send an XOFF pause character (CTL-S) | none | none | 6E1E |
| SD232C | Send a character to the RS-232 or Modem (with XON/XOFF) | A = character to be sent | 6E32 | |
| CARDET | Detect carrier | none | A = 0 if carrier Z flag is set if carrier, else reset |
6EEF |
| SNDCOM | Send a character to RS232-C or modem (wihtout XON?XOFF flow control) | C = characer to be sent | 6E3A | |
| BAUDST | Set Baud rate for RS232-C | H = Baud rate (1-9,M) | none | 6E75 |
| INZCOM | Initiailize RS232-C and Modem | H = Baud rate (1-9,M) L = UART configuratin code (see UART byte description below) Bit 0: specifies number of Stop Bits 0=1, 1=2 Bit 1-2: Parity Setting. 00=None, 01 = Even, 10 = Odd Bit 3-4: Word Length: 00=6, 01=7, 10=8 The byte is ANDed wit 1FH to ignore Bits 5-7. The text string containign hte current STAT settings is located at F65BH(5 bytes): Baud, Length, Parity, Stop Bits and XON/XOFF switch. |
none | 6EA6 |
| SETSER | Set serial interface parameters and acivate RS232-C/Modem | HL = Start address of ASCII string containing parameters terminated by a binary zero ('78E1E',0). Syntax same as in Telcom's STAT Carry set for RS232-C, reset for Modem |
none | 17E6 |
| CLSCOM | Deactivate RS232-C/Modem | none | none | 6ECB |
| Function Name | Description | Entry Conditions | Exit Conditions | Entry Address (HEX) |
|---|---|---|---|---|
| DATAR | Read character from cassette (no checksum) | none | D = character from cassette | 702A |
| CTON | Turn motor on | none | none | 14A8 |
| CTOFF | Turn motor off | none | none | 14AA |
| CASIN | Read a character from cassette and update checksum | C = current checksum | A = character C = contains the updated checksum |
14B0 |
| CSOUT | Send character to cassette and update checksum | A = character to be sent C = current checksum |
C = updated checksum | 14C1 |
| SYNCW | Write cassette header and sync byte only | none | none | 6F46 |
| SYNCR | Read cassette header and sync byte only | none | none | 6F85 |
| DATAW | Write a character to cassette (no checksum) | A = character to be sent | none | 6F5B |
The Directory Table (located at F962) contains all file location, type and status information.
Each file is managed by an 11-byte directory entry in the format:
Byte 1: Directory Flag (for file type and status)
Bytes 2-3: Address of file
Bytes 4-11: 8 Byte filename
The Directory Flag contains the following information:
Bit 7 MSB 1 if a valid entry
Bit 6 1 for ASCII text file (DO)
Bit 5 1 for Machine lnguage (CO)
Bit 4 1 for ROM file
Bit 3 1 for invisibile file
Bit 2 reserved for future use
Bit 1 reserved for future use
Bit 0 internal use only
| Function Name | Description | Entry conditions | Exit conditions | Entry Address (Hex) |
|---|---|---|---|---|
| MAKTXT | Create a text file | filename (max. 8 bytes) must be stored in FILNAM (0FC93). 'DO' extension not required | HL = TOP address of new file DE = address of Directory entry (Flag) Carry set if file already exits, reset if new file |
220F |
| CHKDC | Search for file in directory | DE = address of filename to find (ASCII filename + 0 byte terminator | HL = start address (TOP) of file Z Flag -- 0 (file found), 1 file not found |
5AA9 |
| GTXTTB | Get top address of file | HL = address of directory entry for file | HL = Top start address of file | 5AE3 |
| KILASC | Kill a text (DO) file | DE = file TOP start address HL = address of directory entry (flag) |
none | 1FBE |
| INSCHR | Insert a character in a file | A = character to insert HL = address to insert character |
HL = +1 Carry -- set if out of memory |
6B61 |
| MAKHOL | Insert a specified number of spaces in a file | BC = number of spaces to insert HL = address to insert spaces |
HL & BC are preserved Carry -- set if out of memory |
6B6D |
| MASDEL | Delete specified number of characters | BC = number of characters to delete HL = address of deletion |
HL & BC are preserved | 6B9F |
| Function Name | Description | Entry conditions | Exit conditions | Entry address (HEX) |
|---|---|---|---|---|
| INITIO | Cold start reset | none | none | 6CD6 |
| IOINIT | Warm start reset | none | none | 6CE0 |
| MENU | Go to Main Menu | none | none | 5797 |
| MUSIC | Make tone (See owner's manual for frequency and duration information) | DE = frequency B = duration |
none | 72C5 |
| TIME | Read system TIME | HL = address of 8 byte area for TIME | HL => TIME (hh:mm:ss) | 190F |
| DATE | Read system DATE | HL = address of 8-byte area for DATE | HL => DATE (mm/dd/yy) | 192F |
| DAY | READ system DAY of the week | HL = address of 3 byte area for DAY | HL => DAY (ddd) | 1962 |