  ROM Subroutines
  names are from Model100 Technical Manual !not what I would have picked!
--- LCD ---
LCD		4B44	Display character on LCD
 >A=character
PLOT	744C	Turn on PIXEL
 >D=x E=y
UNPLOT	744D	Turn off PIXEL
 >D=x E=y
POSIT	427C	Get cursor position
 <H=col(1-40) L=row(1-8)
ESCA	4270	Send specific ESC code sequence
 >A=esc_Code
CRLF	2444	--	Newline
HOME	422D	--	Cursor to home
CLS		4231	--	Clear screen
SETSYS	4235	T	Set system line (lock line 8)
RETSYS	423A	U	Reset system line (unlock line 8)
LOCK	423F	Y	Lock display (no scroll)
UNLOCK	4244	W	Unlock display (scroll)
CURSON	4249	P	Turn on cursor
CUROFF	424E	Q	Turn off cursor
DELLIN	4253	M	Delete line at cursor
INSLIN	4258	I	Insert line at cursor
ERAEOL	425D	K	Erase cursor to EOL
ENTREV	4269	p	Set reverse char mode
EXTREV	426E	q	Turn off reverse char mode

;LCD Variables
-------------
CSRY	F639	Cursor ROW
CSRX	F63A	Cursor COL
BEGLCR	FE00	Start of LCD memory
ENDLCD	FF40	End of LCD memory

--- Keyboard ---
KYREAD	7242	scan keyboard
 <ZnoKey Cspecial A=char
 special: 0-7=F1-F8 8=Label 9=Print A=ShiftPRint B=Paste
CHGET	12CB	Wait for char
 <Cspecial A=char
 F1-F8 return preprogrammed strings)
CHSNS	13DB	Check kbk queue
 <Zempty
KEYX	7270	Check kbd queue/break
 <Zempth Cbreak
BRKCHK	7283	Check for break only (^C ^S)
 <C^c^s
INLIN	4644	Get line
 <@F685
STFNK	5A7C	Set function keys
 >HL=AddressOfTable (strings\x80)
 "Files\r\x80Load\x80Save\x80Run\r\x80List\r\x80\x80\x80Menu\r\x80"
CLRFNK	5A79	Clear function keys
DSPFNK	42A8	Display function keys
STDSPF	42A5	Set and display function keys
 >HL=AddressOfTable
ERAFNK	428A	Erase function key display
FNKSB	5A9E	Display finction table (if enabled)

--- Printer ---
PRINTF	6D3F	Send char to printer
 >A=char
 <CcanBreak
PNOTAB	1470	Print char (no tab expand)
 >A=char
PRTTAB	4B55	Print (tab expansion)
 >A=char
PRTLCD	1E5E	Print LCD

-- RS232 and Model ---
DISC	525B	Disconnect phone line
CONN	52D0	Connect phone line
DISL	532D	Dial phone number
 >HL=number address
RCVX	6D6D	Check RS-232 queue for chars
 <ZnoData A=#chars
RV232C	6D7E	Get char from RS232 queue
 <Z1noErr0PE,FF,OF Cbreak A=char
SENDCQ	6E0B	Send XON
SENDCS	6E1E	Send XOFF
SD232C	6E32	Send char
 >A=char
CARDET	6EEF	Detect carrier
 <Zcarrier A=0carrier
BAUDST	6E75	Set baud
 >H=baud(109,M)
INZCOM	6EA5	Initialize RS-232 & Model
 >C1rs2320model H=baud L=uart(xxxWWWPPS)
  www:WordLength P:Parity S:StopBits
  @F65B (5-byteTXT baud,length,parity,stop,XONOFF)
SETSER	17E6	Set serial interface parms
 >C1rs2320Model HL="78E1E",0
CLSCOM	6ECB	Deactivate RS232/Modem

--- Cassette ---
DATAR	702A	Read character from casette (no checksum)
 <D=char
CTON	14A8	Turn on motor
CTOFF	14AA	Turn off motor
CASIN	14B0	Read char from cassette & update cksum
 >C=cksum
 <A=char C=cksum
CSOUT	14C1	Send char to casette & uodate cksum
 >A=char C=cksum
 <C=cksum
SYNCW	6F46	Write casette header & sync byte only
SYNCR	6F85	Read casette header and sync byte only
DATAW	6F5B	Write char to cassette (no checksum)
 >A=char

-- RAM files ---
DIRTAB	F962 Directory table
 1		File type & status	[VTMRIrri]
	Valid file Text.DO Maching.CO Rom Invisible reserved internal-use
 2-3	Address
 4-11	Filename
MAKTXT	220F	Make text file
 >@FC93filename
 <Cexists HL=topAddressNewFile DE=addressDirectoryEntry
CHKDC	5AA9	Search for file in directory
 >DE="filaname\0"
 <ZnotFound HL=start(Top)address
GTXTTB	5AE3	Get TOP address of file
 >HL=addressDirectory
 <HL=start(Top)address
KILASC	1FBE	Kill a text.DO file
 >DE=start(Top)address HL=addressDirectory
INSCHR	6B61	Insert character in file
 >A=char HL=address
 <CoutMemory
MAKHOL	6B6D	Insert # spaces in file
 <BC=#spaces HL=addressInsert
MASDEL	6E9F	Delete # chars
 >BC=#chars HL=addressDelete

--- Other ---
INITIO	6CD6	Cold start reset
IOINIT	6CE0	Warm start reset
MENU	5797	Go to main menu
MUSIC	72C5	Make tone
 >DE=freq. B=duration
TIME	190F	Read time
 >HL=dstAddress(8)
 <[HL]hh:mm:ss
DATE	192F	Read date
 >HL=dstAddr(8)
 <[HL]mm/dd/yy
DAY		1962	DayOfWeek
 >HL=dstAddress(3)
 <[HL]ddd
