COPYBO ;		* * * * * * * * * * * * *
 ;		*  Program by Kim Watt  *
 ;		* Breeze Computing Inc. *
 ;		*     P.O. Box  1013    *
 ;		* Berkley, Mich.  48072 *
 ;		*    (313)  288-9422    *
 ;		* * * * * * * * * * * * *
 ;
 ;
 ;
 ;
 ;
 ;
 ;
 ;
 	ORG	4200H
 	JP	ENTRY
 SELECT	DEFB	3EH
 DRIVE	DEFB	1
 	LD	(37E1H),A
 	RET
 DREAD	PUSH	BC
 	CALL	R2
 	POP	HL
 	RET	Z
 	LD	B,H
 	LD	C,L
 R2	LD	(37EEH),DE
 	LD	HL,37ECH
 	LD	(HL),1BH
 	PUSH	AF
 	POP	AF
 	PUSH	AF
 	POP	AF
 R1	CALL	SELECT
 	LD	A,(HL)
 	RRCA
 	JR	C,R1
 	LD	(HL),88H
 	PUSH	DE
 	LD	DE,37EFH
 	PUSH	BC
 	POP	BC
 	JR	R5
 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	1CH
 	POP	DE
 	RET	Z
 	LD	(HL),0D0H
 	RET
 ENTRY	DI
 	LD	SP,4200H
 	LD	HL,1
 	LD	DE,0094H
 	LD	BC,4300H
 	CALL	DREAD
 HOLD	JR	NZ,HOLD
 	CALL	DISPLY
 	DEFW	1F1CH
 	DEFM	'FORMAT master by Kim Watt'
 	DEFW	0D0DH
 	DEFM	'One moment for load'
 	DEFB	0
 	CALL	SELECT
 	LD	DE,0100H
 	LD	HL,20
 	LD	BC,7000H
 ENTLP	PUSH	HL
 	CALL	DREAD
 	JP	NZ,ERROR
 	POP	HL
 	DEC	L
 	JP	Z,7000H
 	INC	E
 	LD	A,E
 	SUB	0AH
 	JR	NZ,ENTLP
 	LD	E,0
 	INC	D
 	JR	ENTLP
 DISPLY	POP	DE
 DISLP	LD	HL,(4020H)
 	LD	A,(DE)
 	INC	DE
 	OR	A
 	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
 DISDN	PUSH	DE
 	RET
 DISCTL	PUSH	DE
 	PUSH	IY
 	CALL	33H
 	POP	IY
 	POP	DE
 	JR	DISLP
 ERROR	CALL	DISPLY
 	DEFW	1F1CH
 	DEFM	'! DISK ERROR !'
 	DEFB	0
 WAIT	CALL	2BH
 	OR	A
 	JP	NZ,0
 	JR	WAIT
 	DEFM	'DO NOT COPY!'
 	DEFB	0
 	DEFW	0
 	END	ENTRY
OP	IY
 	POP	DE
 	JR	DISLP
 ERROR	CALL	DISPLY
 	DEFW	1F1CH
 	DEFM	'! DISK ERROR !'