LOADER ;	LOADER1/TXT	LOADER1/CIM
 	ORG	4700H
 	DI
 	LD	A,(429FH)
 	LD	SP,4700H
 	PUSH	AF
 	CALL	FIXRST
 	LD	HL,MSG2
 	CALL	PRINT
 	LD	BC,4000H
 	LD	A,2
 	CALL	READ
 	JR	NZ,ERROR
 	POP	AF
 	LD	(0BFFFH),A
 	LD	A,3
 	LD	BC,0A000H
 	CALL	READ
 	JR	NZ,ERROR
 	LD	A,4
 	LD	BC,0A200H
 	CALL	READ
 	JR	NZ,ERROR
 	JP	0A300H
 ERROR	HALT
 MSG2	DEFM	'- WELCOME TO "SUPER UTILITY" -'
 	DEFB	0
 READ	LD	(37EEH),A
 	PUSH	BC
 	CALL	READ1
 	POP	HL
 	RET	Z
 	LD	B,H
 	LD	C,L
 READ1	CALL	SELECT
 	LD	HL,37ECH
 	LD	(HL),88H
 	PUSH	DE
 	LD	DE,37EFH
 	PUSH	BC
 	POP	BC
 	JR	WAIT1
 TEST	RRCA
 	JR	NC,DONE
 WAIT	LD	A,(HL)
 	BIT	1,A
 	JR	Z,TEST
 	LD	A,(DE)
 	LD	(BC),A
 	INC	BC
 WAIT1	JR	WAIT
 DONE	LD	A,(HL)
 	AND	1CH
 	POP	DE
 	RET	Z
 	LD	(HL),0D0H
 	RET
 PRINT	PUSH	HL
 	LD	HL,3C00H
 	LD	DE,3C01H
 	LD	(HL),20H
 	LD	BC,1023
 	LDIR
 	XOR	A
 	OUT	(0FFH),A
 	POP	DE
 DISP	LD	HL,3C00H
 PLOOP	LD	A,(DE)
 	INC	DE
 	OR	A
 	RET	Z
 	LD	(HL),A
 	INC	HL
 	JR	PLOOP
 SELECT	LD	A,(37ECH)
 	BIT	7,A
 	LD	A,1
 	LD	(37E1H),A
 	RET	Z
 	PUSH	BC
 	LD	BC,8000H
 	CALL	DELAY
 	POP	BC
 	RET
 DELAY	DEC	BC
 	LD	A,B
 	OR	C
 	RET	Z
 	JR	DELAY
 FIXRST	LD	A,0C3H
 	LD	(8),A
 	LD	(10H),A
 	LD	(18H),A
 	LD	(20H),A
 	LD	(28H),A
 	LD	(30H),A
 	LD	(38H),A
 	LD	HL,4000H
 	LD	(9),HL
 	LD	DE,3
 	ADD	HL,DE
 	LD	(11H),HL
 	ADD	HL,DE
 	LD	(19H),HL
 	ADD	HL,DE
 	LD	(21H),HL
 	ADD	HL,DE
 	LD	(29H),HL
 	ADD	HL,DE
 	LD	(31H),HL
 	ADD	HL,DE
 	LD	(39H),HL
 	RET
 	END	402DH
 	LD	DE,3
 	ADD	HL,DE
 	LD	(11H),HL
 	ADD	HL,DE