ADDRES 	ORG	5200H
 ENTRY	DI
 	LD	SP,BUFFER+100H
 	LD	A,(HL)
 	CP	0DH
 	LD	A,1
 	JR	Z,INVAL1
 	LD	A,(HL)
 	CP	':'
 	JR	NZ,INVAL
 	INC	HL
 NEWDR	LD	A,(HL)
 	SUB	30H
 	JR	C,INVAL
 	CP	4
 	JR	NC,INVAL
 	LD	C,1
 ENTTST	OR	A
 	JR	Z,ENTFND
 	SLA	C
 	DEC	A
 	JR	ENTTST
 ENTFND	LD	A,C
 FOUND1	LD	(DRIVE),A
 	JP	DECODE
 INVAL1	CALL	CREDIT
 	JR	PATSY
 INVAL	CALL	CREDIT
 	CALL	DISPLY
 	DEFB	0DH
 	DEFM	'Invalid drive specified !'
 	DEFB	0DH
 	DEFB	0
 PATSY	CALL	DISPLY
 	DEFM	'Which drive contains TARGET DISKETTE ? '
 	DEFB	0
 	LD	HL,(4020H)
 	LD	B,1
 	CALL	40H
 	JP	NEWDR
 DECODE	CALL	RESTOR
 	CALL	DISPLY
 	DEFW	1F1CH
 	DEFM	'Track #    Head #    Sector #   Sector Length   CRC 1   CRC 2'
 	DEFB	0DH
 	DEFB	0
 	XOR	A
 	LD	D,A
 	LD	E,D
 	LD	HL,350
 LOOP	PUSH	HL
 	PUSH	DE
 	CALL	READ
 	JP	NZ,ERROR
 	LD	IX,BUFFER
 	LD	A,(IX)
 	CALL	ASCII
 	LD	(STR1),BC
 	LD	A,(IX+1)
 	CALL	ASCII
 	LD	(STR2),BC
 	LD	A,(IX+2)
 	CALL	ASCII
 	LD	(STR3),BC
 	LD	A,(IX+3)
 	CALL	ASCII
 	LD	(STR4),BC
 	LD	A,(IX+4)
 	CALL	ASCII
 	LD	(STR5),BC
 	LD	A,(IX+5)
 	CALL	ASCII
 	LD	(STR6),BC
 	LD	HL,15360+960
 	LD	(4020H),HL
 	CALL	DISPLY
 	DEFM	'  '
 STR1	DEFM	'00         '
 STR2	DEFM	'00        '
 STR3	DEFM	'00            '
 STR4	DEFM	'00           '
 STR5	DEFM	'00      '
 STR6	DEFM	'00'
 	DEFB	0
 	CALL	SCROLL
 PAUSE1	LD	A,(3840H)
 	BIT	2,A
 	JP	NZ,TERMIN
 	BIT	7,A
 	JR	NZ,PAUSE2
 	BIT	1,A
 	JP	NZ,NOW
 	POP	DE
 	POP	HL
 	DEC	HL
 	LD	A,H
 	OR	L
 	JP	Z,TERMIN
 	INC	E
 	LD	A,E
 	SUB	0AH
 	JP	NZ,LOOP
 	LD	E,0
 	INC	D
 	JP	LOOP
 NOW	POP	DE
 	POP	HL
 	JP	LOOP
 PAUSE2	CALL	SELECT
 	JR	PAUSE1
 CREDIT	CALL	DISPLY
 	DEFW	1F1CH
 	DEFM	'-Address Decoder-'
 	DEFB	0DH
 	DEFB	0DH
 	DEFM	'Program by Kim Watt'
 	DEFB	0DH
 	DEFM	'Copyright (C) 1980'
 	DEFB	0DH
 	DEFM	'Breeze Computing Inc.'
 	DEFB	0DH
 	DEFM	'P.O. Box 1013'
 	DEFB	0DH
 	DEFM	'Berkley, Mich.  48072'
 	DEFB	0DH
 	DEFB	0DH
 	DEFB	0
 	RET
 RESTOR	CALL	SELECT
 	LD	BC,0
 	CALL	60H
 	LD	A,0BH
 	LD	(37ECH),A
 	NOP
 RESLP1	CALL	SELECT
 	LD	A,(37ECH)
 	RRCA
 	JR	C,RESLP1
 	RET
 SELECT	DEFB	3EH
 DRIVE	DEFB	0
 	LD	(37E1H),A
 	RET
 READ	LD	BC,BUFFER
 	PUSH	BC
 	CALL	READ2
 	POP	HL
 	RET	Z
 	LD	B,H
 	LD	C,L
 READ2	LD	(37EEH),DE
 	CALL	SELECT
 	LD	HL,37ECH
 	LD	(HL),1BH
 	PUSH	AF
 	POP	AF
 	PUSH	AF
 	POP	AF
 R1	LD	A,(HL)
 	RRCA
 	JR	C,R1
 	LD	(HL),0C4H
 	PUSH	DE
 	LD	DE,37EFH
 	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)
 	BIT	2,A
 	POP	DE
 	RET	Z
 	LD	(HL),0D0H
 	RET
 ASCII	LD	C,A
 	SRL	A
 	SRL	A
 	SRL	A
 	SRL	A
 	CALL	TEST
 	LD	H,A
 	LD	A,C
 	AND	0FH
 	CALL	TEST
 	LD	B,A
 	LD	A,H
 	LD	C,A
 	RET
 TEST	ADD	A,30H
 	CP	3AH
 	JP	M,TEST1
 	ADD	A,7
 TEST1	RET
 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	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
 SCROLL	LD	HL,15360+128
 	LD	DE,15360+64
 	LD	BC,896
 	LDIR
 	LD	HL,15360+960
 	PUSH	HL
 	POP	DE
 	INC	DE
 	LD	(HL),20H
 	LD	BC,63
 	LDIR
 	RET
 TERMIN	LD	HL,15360+832
 	LD	(4020H),HL
 	CALL	DISPLY
 	DEFB	31
 	DEFB	0
 	LD	A,1
 	LD	(DRIVE),A
 	CALL	RESTOR
 	JP	402DH
 ERROR	CALL	DISPLY
 	DEFM	'Lost some data that time !'
 	DEFB	0
 	POP	DE
 	POP	HL
 	JP	LOOP
 BUFFER	DEFB	0
 	END	ENTRY
 	DEFB	31
 	DE