  	nolist

	LIMIT	&9700			; Finish before &9700 or ELSE!
IF1
	PRINT	"And off we go..."
ENDIF
IF2
	PRINT	"Now putting it back together again!"
ENDIF
true		equ	1
false		equ	0
on		equ	true
off		equ	false
screen_depth	equ	24
;
save		equ	true
colour		equ	true
;
if save
	write	"a:term22b.bin"
	if2
		print "Conversing with the disc drive..."
	endif
endif
;
;See history.doc file for history of program
;
;	ORG	&6800			; Start assembling at &7800
	ORG	&7000			; Above was for Charset.

;	READ "CHARSET .22A"		; Now loaded in at run time.

.Characterset	EQU	&6800
.HCharSet	EQU	&68

.Screen_C	EQU	&5800
.Screen_A	EQU	&6000
.Out_Buffer	EQU	&5000		; Might as well go low...

.top
;
;	Firmware routines used by this program...
;

;***	Keyboard
KM_READ_KEY		EQU	&BB1B
KM_WAIT_KEY		EQU	&BB18
KM_GET_EXPAND		EQU	&BB12
KM_TEST_KEY		EQU	&BB1E
KM_READ_CHAR		EQU	&BB09
KM_WAIT_CHAR		EQU	&BB06
KM_GET_TRANSLATE        EQU	&BB2A
KM_SET_TRANSLATE	EQU	&BB27
;***	Text Screen
TXT_OUTPUT		EQU	&BB5A
TXT_WR_CHAR		EQU	&BB5D
TXT_WIN_ENABLE		EQU	&BB66
TXT_GET_WINDOW		EQU	&BB69
TXT_SET_COLUMN		EQU	&BB6F
TXT_SET_ROW		EQU	&BB72
TXT_SET_CURSOR		EQU	&BB75
TXT_GET_CURSOR		EQU	&BB78
TXT_CUR_ON		EQU	&BB81
TXT_CUR_OFF		EQU	&BB84
TXT_GET_MATRIX		EQU	&BBA5
;***	Screen, General
SCR_SET_OFFSET		EQU	&BC05
SCR_SET_MODE		EQU	&BC0E
SCR_GET_MODE		EQU	&BC11
SCR_CLEAR		EQU	&BC14
SCR_SET_INK		EQU	&BC32
SCR_GET_INK		EQU	&BC35
SCR_HW_ROLL		EQU	&BC4D
;***	Machine pack
MC_WAIT_FLYBACK		EQU	&BD19
MC_PRINT_CHAR		EQU	&BD2B
MC_BUSY_PRINTER		EQU	&BD2E
;***	Cassette/Disc
CAS_OUT_OPEN		EQU	&BC8C
CAS_OUT_CLOSE		EQU	&BC8F
CAS_OUT_CHAR		EQU	&BC95
;***	Kernel - High
KL_U_ROM_DISABLE	EQU	&B903
KL_ROM_RESTORE		EQU	&B90C
;***	Kernal - Normal
KL_LOG_EXT		EQU	&BCD1
KL_FIND_COMMAND		EQU	&BCD4
KL_NEW_FRAME_FLY	EQU	&BCD7
KL_DEL_FRAME_FLY	EQU	&BCDD
KL_NEW_FAST_TICKER	EQU	&BCE0
KL_DEL_FAST_TICKER	EQU	&BCE6
KL_DISARM_EVENT		EQU	&BD0A

89			; Start line numbering again
;
;	Logon on the three RSX's
;
;
.login	LD	BC,command_table
	LD	HL,rsx_data_area
	CALL	KL_LOG_EXT
	RET

.command_table
	WORD	rsx_names
	JP	term
;	JP	clearbuffer
	JP	setup
;	JP	captureon
;	JP	captureoff
;	JP	status
.rsx_names				; Names of the routines.
	STR	"TERM"			; Terminal program
;	STR	"CLRBUF"		; Clear readin buffer
	STR	"SETUP"			; Configuration program
;	STR	"CAPTURE"		; Turn capture, with filename.
;	STR	"CAPTUREOFF"		; Turn capture off.
;	STR	"STATS"			; Current user settings
	BYTE	0
.rsx_data_area
	RMEM	4			; 4 bytes for RSX workspace

	READ "MAINLINE.22B"
	READ "ANSITERM.22B"
	READ "SCREEN  .22B"
	READ "SETP    .22B"
	READ "DATA    .22B"

	END
