BOOT/T ;		* * * * * * * * * * * * *
 ;		*  PROGRAM BY KIM WATT  *
 ;		* BREEZE COMPUTING INC. *
 ;		*     P.O. BOX  1013    *
 ;		* BERKLEY, MICH.  48072 *
 ;		*    (313)  288-9422    *
 ;		* * * * * * * * * * * * * 												
 ;
 ;
 	ORG	4200H		;ALL LOADERS START HERE
 ENTRY	DI			;CAN'T BE BOTHERED
 	LD	SP,ENTRY	;BUILDS DOWNWARD
 	CALL	DISPLY
 	DEFW	1F1CH
 	DEFM	'-Adventure Loader-'
 	DEFB	0DH
 	DEFM	'   by Kim Watt'
 	DEFB	0
 PAST1	LD	BC,6000H
 	LD	DE,0017H
 	CALL	READ
 	JR	Z,DEAD
 	CP	8
 	JR	Z,CONTIN
 DEAD	JR	DEAD
 CONTIN	LD	BC,6000H	;LOAD ADDRESS
 	LD	DE,0200H	;TRACK/SECTOR OF PROGRAM
 	LD	L,50		;# OF SECTORS TO READ
 READLP	PUSH	HL
 	CALL	READ
 	JP	NZ,ERROR
 	POP	HL
 	DEC	L
 	JP	Z,6000H
 	INC	E
 	LD	A,E
 	SUB	0AH
 	JR	NZ,READLP
 	LD	E,A
 	INC	D
 	JR	READLP
 READ	PUSH	BC
 	CALL	READ1
 	POP	HL
 	RET	Z
 	LD	B,H
 	LD	C,L
 READ1	CALL	SELECT
 	LD	(37EEH),DE
 	LD	HL,37ECH
 	LD	(HL),1BH
 	CALL	DSKSLO
 R1	CALL	SELECT
 	LD	A,(HL)
 	RRCA
 	JR	C,R1
 	LD	(HL),88H
 	PUSH	DE
 	LD	DE,37EFH
 	CALL	DSKSLO
 	JR	R4
 R3	RRCA
 	JR	NC,R6
 R4	LD	A,(HL)
 	BIT	1,A
 	JR	Z,R3
 	LD	A,(DE)
 	LD	(BC),A
 	INC	BC
 R5	JR	R4
 R6	LD	A,(HL)
 	AND	0FFH
 	POP	DE
 	RET	Z
 	LD	(HL),0D0H
 	RET
 ERROR	CALL	DISPLY		;DISPLAY MESSAGE
 	DEFW	1F1CH		;CLEAR SCREEN
 	DEFB	17H		;VIDEO DOUBLE SIZE
 ;  USER ERROR MESSAGE IF I/O ERROR DURING LOAD PROCESS
 	DEFM	'DISK ERROR !!!'
 	DEFB	0		;END OF MESSAGE
 HOLDIT	LD	A,(3840H)
 	CP	1
 	JR	NZ,HOLDIT
 	HALT
 ;  ADDRESS OF WHERE ERROR WAS GENERATED IS ON STACK
 ;	USER MAY RETRY-TO READ BY PRESSING ANY KEY
 DISPLY	POP	DE
 DISLP	LD	HL,(4020H)
 	LD	A,(DE)
 	OR	A
 	INC	DE
 	JR	Z,DISDN
 	CP	20H
 	JR	C,DISCTL
 	LD	(HL),A
 	CP	(HL)
 	JR	Z,DISOK
 	SUB	20H
 	LD	(HL),A
 DISOK	INC	HL
 	LD	(4020H),HL
 	JR	DISLP
 DISCTL	PUSH	DE
 	CALL	33H
 	POP	DE
 	JR	DISLP
 DISDN	PUSH	DE
 	RET
 SELECT	LD	A,(37ECH)
 	BIT	7,A
 	LD	A,1
 	LD	(37E1H),A
 	RET	Z
 	PUSH	BC
 SELWT	DEC	C
 	JR	NZ,SELWT
 	DJNZ	SELWT
 	POP	BC
 	RET
 DSKSLO	EX	(SP),HL
 	EX	(SP),HL
 	EX	(SP),HL
 	EX	(SP),HL
 	RET
 	DB	'ADVENTURE IS FUN'
 	END
 	LD	(37E1H),A
 	RET	Z
 	PUSH	BC
 SELWT	DEC	C
 	JR	NZ,SELWT
 	DJNZ	SELWT
 	POP	BC
 	RET
 DSKSLO	EX	(SP),HL
 	