U4/TXT ;	U4/TXT	U4/TOO	U4
 	ORG	8419H
 TRACKS	EQU	401BH
 DSKSLO	EQU	5383H
 DISPLY	EQU	4100H
 BAIL	EQU	439FH
 DRVASC	EQU	43BCH
 NOTIN	EQU	6349H
 STAT	EQU	4FBEH
 SUPER	EQU	6E28H
 BUFFER	EQU	0A300H
 BUFF1	EQU	0A100H
 BUFF2	EQU	0A200H
 KEY	EQU	4E4EH
 SECTOR	EQU	4017H
 RDDIR	EQU	66F1H
 WRDIR	EQU	67BCH
 CURSOR	EQU	4020H
 NAME	EQU	64BFH
 DATE	EQU	64BFH+8
 CPYCON	EQU	97C4H
 SCOPYF	EQU	9772H
 SCOPY	EQU	95ADH
 UCOPY	EQU	9A01H
 STACK	EQU	40DEH
 DELAY	EQU	41A6H
 STEPOT	EQU	48EEH
 FIXDRV	EQU	43ADH
 GDRV	EQU	688AH
 ADDR	EQU	4B6BH
 MOVE	EQU	55FFH
 INPUT	EQU	40A6H
 WHERE	EQU	4015H
 GETSEL	EQU	4F4FH
 ENTRY	EQU	43EAH
 GOTABL	EQU	4625H
 BOOT	EQU	68D6H
 DRIVE	EQU	401AH
 SELECT	EQU	4385H
 STEPIN	EQU	48CBH
 RETURN	EQU	61F0H
 TEMP0	EQU	4031H
 CODE	EQU	7592H
 VALUE	EQU	607DH
 RESTOR	EQU	43CAH
 GETDIR	EQU	631FH
 BADRD	EQU	4750H
 ALLOC	EQU	651CH
 TYPE	EQU	4026H
 BADWRT	EQU	556CH
 DREAD	EQU	42A2H
 FLAG	EQU	4041H
 FORMAT	LD	A,7
 	LD	(WHERE),A
 	RST	8
 	DEFB	3
 	DEFM	'- BREEZE FORMAT UTILITY -'
 	DEFW	0404H
 	DEFM	'<1>.  Standard Format'
 	DEFB	4
 	DEFM	'<2>.  Format Without Erase'
 	DEFB	4
 	DEFM	'<3>.  Special Format'
 	DEFB	4
 	DEFM	'<4>.  Read Address Marks on Disk'
 	DEFB	0
 	CALL	GETSEL
 	JP	Z,SFMT
 	SUB	30H
 	JP	C,FORMAT
 	JP	Z,FORMAT
 	CP	5
 	JP	NC,FORMAT
 	CALL	GOTABL
 TABLE1	DEFW	SFMT
 	DEFW	SFMTW
 	DEFW	UFMT
 	DEFW	RDADD
 SFMT	LD	A,1
 	LD	(FLAG),A
 	RST	8
 	DEFB	3
 	DEFM	'- Standard Format -'
 	DEFW	0404H
 	DEFB	0
 	LD	HL,BOOT
 	LD	DE,BUFF1
 	LD	BC,100H
 	LDIR
 	LD	HL,DIRENT
 	LD	DE,BUFF2+0CAH
 	LD	BC,50
 	LDIR
 	CALL	GETDRV
 	CALL	STATCK
 	LD	IX,ONES
 	LD	IY,TRACKS
 	CALL	GETDAT
 	CALL	SETGAT
 GOMORE	XOR	A
 	LD	(TRAK),A
 	LD	A,(IX)
 	CP	0FFH
 	JP	Z,FMTBYE
 	CP	99
 	JR	Z,SKIP1
 	LD	(DRIVE),A
 	CALL	FORM
 SKIP1	INC	IX
 	JR	GOMORE
 FORM	CALL	DRVASC
 	LD	(FMTDRV),A
 	RST	8
 	DEFB	3
 	DEFM	'- Breeze Formatter -'
 	DEFW	0404H
 	DEFB	0
 	CALL	FIXGAT
 	CALL	RESTOR
 	XOR	A
 	LD	(TRAK),A
 FMTLP	LD	A,(TRAK)
 	RST	28H
 	LD	(FMTTR),BC
 	LD	(FMTTR1),BC
 	LD	(FMTTR2),BC
 	LD	A,(FLAG)
 	CP	2
 	PUSH	AF
 	CALL	Z,GET10
 	POP	AF
 	LD	B,0FBH
 	JR	Z,GOFMT1
 	LD	A,(BUFF1+2)
 	LD	B,A
 	LD	A,(TRAK)
 	CP	B
 	LD	B,0FAH
 	JR	Z,GOFMT1
 	LD	HL,BUFF2
 	LD	L,A
 	LD	A,(HL)
 	INC	A
 	LD	B,0FBH
 	JR	NZ,GOFMT1
 	DEFB	3EH
 FMTLCK	DEFB	0
 	CP	'Y'
 	JP	NZ,NXTFMT
 	LD	B,0F9H
 GOFMT1	LD	A,B
 	LD	(DATMRK),A
 	LD	HL,BUFFER+200H
 	CALL	ORDNEW
 	CALL	ORDNEW
 	NOP
 	NOP
 	NOP
 	LD	B,0EH
 	CALL	FILLFF
 SECLP	LD	B,6
 	LD	C,0
 	CALL	FILL
 	LD	C,0FEH
 	CALL	FILL1
 	DEFB	0EH
 TRAK	DEFB	0
 	CALL	FILL1
 	LD	C,0
 	CALL	FILL1
 	LD	A,(DE)
 	LD	C,A
 	CALL	FILL1
 	LD	C,1
 	CALL	FILL1
 	LD	C,0F7H
 	CALL	FILL1
 	LD	C,0FFH
 	CALL	FILL1
 	LD	B,0BH
 	CALL	FILLFF
 	LD	B,6
 	LD	C,0
 	CALL	FILL
 	DEFB	0EH
 DATMRK	DEFB	0
 	CALL	FILL1
 	LD	B,0
 	DEFB	0EH
 FILBYT	DEFB	0EEH
 	CALL	FILL
 	LD	C,0F7H
 	CALL	FILL1
 	LD	C,0FFH
 	CALL	FILL1
 	LD	B,10H
 	CALL	FILLFF
 	INC	DE
 	LD	A,(DE)
 	INC	A
 	JR	NZ,SECLP
 	LD	B,5BH
 	CALL	FILLFF
 	RST	8
 	DEFB	5
 	DEFM	'Formatting Drive '
 FMTDRV	DEFM	'0, Track '
 FMTTR	DEFM	'00.'
 	DEFB	0
 	CALL	WRITTR
 	LD	A,(FLAG)
 	CP	2
 	CALL	Z,PUT10
 NXTFMT	LD	A,(TRAK)
 	INC	A
 	LD	(TRAK),A
 	CP	(IY)
 	JR	Z,VERIF
 	CALL	STEPIN
 	JP	FMTLP
 VERIF	LD	A,(FLAG)
 	CP	4
 	JP	Z,CPYCON
 	JP	VERIFY
 WRITTR	CALL	BAIL
 	CALL	TRWRIT
 	RET	Z
 TRWRIT	CALL	SELECT
 	LD	BC,BUFFER+200H
 	LD	HL,37ECH
 	LD	(HL),0F4H
 	LD	DE,37EFH
 	CALL	DSKSLO
 	JR	WRBZZ
 BZWRZ	RRCA
 	JR	NC,WRDNZ
 WRBZZ	LD	A,(HL)
 	BIT	1,A
 	JR	Z,BZWRZ
 	LD	A,(BC)
 	LD	(DE),A
 	INC	BC
 	JP	WRBZZ
 WRDNZ	LD	A,(HL)
 	LD	(HL),0D0H
 	LD	HL,ERMSG2
 	BIT	2,A
 	JP	NZ,DERROR
 	LD	HL,0-BUFFER-200H
 	ADD	HL,BC
 	EX	DE,HL
 	LD	HL,0F413H
 	ADD	HL,DE
 	LD	HL,ERMSG4
 	JP	NC,DERROR
 	LD	HL,0F397H
 	ADD	HL,DE
 	LD	HL,ERMSG3
 	JP	C,DERROR
 	RET
 ERMSG2	DEFB	4
 	DEFM	'Transfer Rate TOO FAST !'
 	DEFB	0
 	JP	ERRORD
 ERMSG3	DEFB	4
 	DEFM	'Motor Speed TOO SLOW !'
 	DEFB	0
 	JP	ERRORD
 ERMSG4	DEFB	4
 	DEFM	'Motor Speed TOO FAST !'
 	DEFB	0
 ERRORD	RST	8
 	DEFB	4
 	DEFM	'FORMAT CANNOT CONTINUE because of Detected Error !'
 	DEFB	0
 	JP	RETURN
 DERROR	PUSH	HL
 	JP	DISPLY
 FMTBYE	RST	8
 	DEFW	0404H
 	DEFM	'Formatting Completed !'
 	DEFB	4
 	DEFB	0
 BYEET	RST	8
 	DEFB	6
 	DEFM	'Format again ? '
 	DEFB	0
 	LD	A,3
 	RST	10H
 	JR	Z,BYEET
 	CP	'N'
 	JP	Z,ENTRY
 	CP	'Y'
 	JR	NZ,BYEET
 	RST	8
 	DEFB	4
 	DEFB	0
 BADF	RST	8
 	DEFB	6
 	DEFM	'Same parameters ? '
 	DEFB	0
 	LD	A,3
 	RST	10H
 	JR	Z,BADF
 	CP	'N'
 	JP	Z,FORMAT
 	CP	'Y'
 	JR	NZ,BADF
 	RST	8
 	DEFW	0404H
 	DEFM	'Press <ENTER> when Disks are mounted. '
 	DEFB	0
 	XOR	A
 	RST	10H
 	LD	IX,ONES
 	CALL	STATCK
 	LD	IX,ONES
 	LD	A,(FLAG)
 	CP	3
 	JP	Z,UFORM
 	JP	GOMORE
 DIRENT	DEFM	'SU'
 	DEFW	0
 	DEFW	0
 	DEFM	'        '
 	DEFM	'        '
 	DEFB	0DH
 	DEFW	0
 	DEFW	0
 	DEFW	0
 	DEFW	0
 	DEFW	0
 	DEFW	0
 	DEFW	0
 	DEFB	0
 	DEFM	' Super  Utility '
 GET10	LD	HL,0B600H
 	LD	DE,0B601H
 	LD	BC,09FFH
 	LD	(HL),0
 	LDIR
 	LD	A,(TRAK)
 	LD	D,A
 	LD	E,0
 	LD	BC,0B600H
 GET10L	PUSH	BC
 	PUSH	DE
 	LD	A,E
 	RST	28H
 	LD	A,B
 	LD	(SE1),A
 	RST	8
 	DEFB	5
 	DEFM	'Reading Track '
 FMTTR1	DEFM	'00, Sector '
 SE1	DEFM	'0.    '
 	DEFB	0
 	POP	DE
 	POP	BC
 	PUSH	BC
 	RST	18H
 	POP	BC
 	EX	AF,AF'
 	LD	(TEMP0),A
 	EX	AF,AF'
 	CALL	NZ,NOREAD
 	INC	E
 	INC	B
 	LD	A,E
 	CP	0AH
 	JR	NZ,GET10L
 	JP	CARRET
 NOREAD	PUSH	BC
 	PUSH	DE
 	RST	8
 	DEFM	'  Forget that one !'
 	DEFB	4
 	DEFB	0
 	POP	DE
 	POP	BC
 	RET
 PUT10	LD	A,(TEMP0)
 	LD	(SETYPE+1),A
 	RST	8
 	DEFB	4
 	DEFB	0
 	LD	A,(TRAK)
 	LD	D,A
 	LD	E,0
 	LD	BC,0B600H
 PUT10L	PUSH	BC
 	PUSH	DE
 	LD	A,E
 	RST	28H
 	LD	A,B
 	LD	(SE2),A
 	RST	8
 	DEFB	5
 	DEFM	'Writing Track '
 FMTTR2	DEFM	'00, Sector '
 SE2	DEFM	'0.    '
 	DEFB	0
 	POP	DE
 	POP	BC
 	PUSH	BC
 SETYPE	LD	A,0A8H
 	RST	20H
 	POP	BC
 	CALL	NZ,NOREAD
 	INC	E
 	INC	B
 	LD	A,E
 	CP	0AH
 	JR	NZ,PUT10L
 	PUSH	DE
 	PUSH	HL
 	LD	HL,(CURSOR)
 	LD	A,L
 	AND	0C0H
 	LD	L,A
 	LD	DE,-40H
 	ADD	HL,DE
 	ADD	HL,DE
 	LD	(CURSOR),HL
 	POP	HL
 	POP	DE
 	RET
 GETDAT	RST	8
 	DEFW	0404H
 	DEFM	'Diskette Name ? '
 	DEFB	0
 	LD	A,8
 	RST	10H
 	JR	Z,BAD1
 	LD	C,B
 	LD	B,0
 	JR	BADAA
 BAD1	LD	HL,NAME
 	LD	BC,8
 BADAA	LD	DE,BUFF2+0D0H
 	LDIR
 	RST	8
 	DEFB	4
 	DEFM	'Creation Date ? '
 	DEFB	0
 	LD	A,8
 	RST	10H
 	JR	Z,BAD3
 	LD	C,B
 	LD	B,0
 	JR	BADB
 BAD3	LD	HL,DATE
 	LD	BC,8
 BADB	LD	DE,BUFF2+0D8H
 	LDIR
 	RST	8
 	DEFB	4
 	DEFM	'Master Password ? '
 	DEFB	0
 	LD	A,8
 	RST	10H
 	JR	NZ,BADC
 	LD	HL,42E0H
 	JR	RESUME
 BADC	CALL	CODE
 RESUME	LD	(BUFF2+0CEH),HL
 	RST	8
 	DEFB	4
 	DEFB	0
 BAD88	RST	8
 	DEFB	6
 	DEFM	'Track count ? '
 	DEFB	0
 	LD	A,3
 	RST	10H
 	JR	Z,BAD8
 	CALL	VALUE
 	JR	C,BAD88
 	LD	A,B
 	OR	A
 	JR	NZ,BAD88
 	LD	A,C
 	CP	2
 	JR	C,BAD88
 	CP	97
 	JR	NC,BAD88
 	JR	RESUM2
 BAD8	RST	8
 	DEFB	4
 	DEFM	'40 Tracks assumed.'
 	DEFB	0
 	LD	A,40
 RESUM2	LD	(IY),A
 	LD	HL,BUFF2
 	XOR	A
 OPEN1	LD	(HL),0FCH
 	INC	HL
 	INC	A
 	CP	(IY)
 	JR	NZ,OPEN1
 OPEN2	CP	0CAH
 	JR	Z,OPENDN
 	LD	(HL),0FFH
 	INC	HL
 	INC	A
 	JR	OPEN2
 BAD4	RST	8
 	DEFB	4
 	DEFM	'Invalid track number !'
 	DEFB	0
 OPENDN	LD	HL,BUFF2+0CAH
 	LD	(HL),'S'
 	INC	HL
 	LD	(HL),'U'
 	INC	HL
 	LD	(HL),0
 	INC	HL
 	LD	(HL),0
 	LD	A,(IY)
 	LD	(BUFF2+0C0H),A
 	LD	A,'Y'
 	LD	(FMTLCK),A
 	RST	8
 	DEFB	4
 	DEFB	0
 BADDVV	RST	8
 	DEFB	6
 	DEFM	'Lock out any tracks ? '
 	DEFB	0
 	LD	A,3
 	RST	10H
 	JP	Z,BAD5
 	CP	'N'
 	JP	Z,BAD5
 	CP	'Y'
 	JR	NZ,BADDVV
 	RST	8
 	DEFB	4
 	DEFM	'Lockout which tracks ? '
 	DEFB	0
 	LD	A,1EH
 	RST	10H
 	JR	Z,BAD5
 LOKLP	CALL	VAL
 	LD	D,E
 	CP	2DH
 	JR	NZ,NORANG
 	CALL	VAL
 NORANG	EX	AF,AF'
 	LD	A,D
 	OR	A
 	JP	Z,BAD4
 	CP	(IY)
 	JP	NC,BAD4
 	LD	A,E
 	CP	(IY)
 	JP	NC,BAD4
 	SUB	D
 	JP	C,BAD4
 	INC	A
 	LD	B,A
 	PUSH	HL
 	LD	HL,BUFF2
 	LD	L,D
 LOCKLP	LD	(HL),0FFH
 	INC	HL
 	DJNZ	LOCKLP
 	POP	HL
 	EX	AF,AF'
 	CP	0DH
 	JR	NZ,LOKLP
 	RST	8
 	DEFB	4
 	DEFM	'Format the locked out tracks ? '
 	DEFB	0
 	LD	A,3
 	RST	10H
 	JR	NZ,FNO
 UVUV	LD	A,'Y'
 FNO	LD	(FMTLCK),A
 BAD5	RST	8
 	DEFB	4
 	DEFM	'Which Track for Directory ? '
 	DEFB	0
 	LD	A,3
 	RST	10H
 	JR	Z,FINDTR
 	CALL	VALUE
 	LD	A,B
 	OR	A
 	JR	NZ,BAD5
 	LD	A,C
 	CP	1
 	JR	C,BAD5
 	CP	(IY)
 	JR	NC,BAD5
 	JP	DIRFND
 FINDTR	LD	HL,BUFF2+011H
 	LD	C,0
 FINLP1	LD	A,(HL)
 	CP	0FCH
 	JR	Z,DIRFN1
 	INC	C
 	LD	A,C
 	RRCA
 	LD	A,L
 	JR	NC,FINLP2
 	ADD	A,C
 	LD	L,A
 	CP	(IY)
 	JR	NZ,FINLP1
 	JR	BAD6
 FINLP2	SUB	C
 	LD	L,A
 	JR	NZ,FINLP1
 BAD6	RST	8
 	DEFB	4
 	DEFM	'No tracks available for directory !'
 	DEFB	0
 	JP	ERRORD
 DIRFN1	LD	A,L
 DIRFND	LD	(BUFF1+2),A
 	LD	E,A
 	LD	HL,BUFF2
 	LD	L,A
 	LD	A,(HL)
 	INC	A
 	JP	Z,BAD5
 	LD	A,E
 	RST	28H
 	LD	(DIRTRK),BC
 BADEGG	RST	8
 	DEFB	4
 	DEFM	'Empty sector fill byte ? '
 	DEFB	0
 	LD	A,3
 	RST	10H
 	JR	Z,FILE5
 	CALL	VALUE
 	JR	C,BADEGG
 	LD	A,B
 	OR	A
 	JR	NZ,BADEGG
 	LD	A,C
 	CP	0F7H
 	JR	NC,BADEGG
 	JR	DODO
 FILE5	LD	A,0EEH
 DODO	LD	(FILBYT),A
 	RET
 GETDRV	RST	8
 	DEFB	4
 	DEFM	'You may format any number of Drives, any combination.'
 	DEFB	4
 	DEFB	0
 	LD	A,1
 	LD	C,0
 	LD	B,4
 	LD	IX,ONES
 GETLP	PUSH	BC
 	PUSH	AF
 	LD	A,C
 	RST	28H
 	LD	A,B
 	LD	(WHDRIV),A
 	RST	8
 	DEFB	4
 	DEFB	0
 BAD7	RST	8
 	DEFB	6
 	DEFM	'Format Drive '
 WHDRIV	DEFM	'0 ? '
 	DEFB	0
 	LD	A,3
 	RST	10H
 	JR	Z,OKNO
 	CP	'Y'
 	JR	Z,OKYES
 	CP	'N'
 	JR	NZ,BAD7
 OKNO	LD	A,99
 	LD	(IX),A
 	JR	NEXT
 OKYES	POP	AF
 	LD	(IX),A
 	PUSH	AF
 NEXT	POP	AF
 	POP	BC
 	INC	IX
 	SLA	A
 	INC	C
 	DJNZ	GETLP
 	LD	IX,ONES
 	LD	A,(IX)
 	CP	99
 	RET	NZ
 	LD	A,(IX+1)
 	CP	99
 	RET	NZ
 	LD	A,(IX+2)
 	CP	99
 	RET	NZ
 	LD	A,(IX+3)
 	CP	99
 	RET	NZ
 	JP	FORMAT
 ONES	DEFW	0
 	DEFW	0
 	DEFB	0FFH
 STATCK	LD	A,(IX)
 	CP	0FFH
 	RET	Z
 	CP	99
 	JP	Z,NOCHK
 	LD	(DRIVE),A
 	CALL	RESTOR
 	CALL	STAT
 NOCHK	INC	IX
 	JR	STATCK
 SPACES	DEFM	'                '
 VAL	LD	E,0
 VALLP	LD	A,(HL)
 	INC	HL
 	CP	30H
 	RET	C
 	CP	3AH
 	RET	NC
 	SUB	30H
 	LD	B,A
 	LD	A,E
 	ADD	A,A
 	ADD	A,A
 	ADD	A,E
 	ADD	A,A
 	ADD	A,B
 	LD	E,A
 	JR	VALLP
 VERIFY	CALL	CARRET
 	CALL	CARRET
 	CALL	CARRET
 	CALL	RESTOR
 	LD	D,0
 	LD	A,(FLAG)
 	CP	2
 	JR	Z,VERCO
 VERLP	LD	HL,BUFF2
 	LD	L,D
 	LD	A,(HL)
 	INC	A
 	JP	Z,VERNO
 VERCO	LD	A,D
 	RST	28H
 	LD	(ASDR),BC
 	LD	E,0
 VERLP1	PUSH	DE
 	CALL	SELECT
 	LD	A,E
 	RST	28H
 	LD	A,B
 	LD	(ASSC),A
 	RST	8
 	DEFB	5
 	DEFM	'Verifying Track '
 ASDR	DEFM	'00, Sector '
 ASSC	DEFM	'0.    '
 	DEFB	0
 	POP	DE
 	LD	BC,BUFFER+100H
 	RST	18H
 	LD	HL,ERMSGA
 	BIT	4,A
 	JP	NZ,LOKIT
 	LD	HL,ERMSGB
 	BIT	3,A
 	JP	NZ,LOKIT
 	LD	HL,ERMSGC
 	BIT	2,A
 	JP	NZ,LOKIT
 VERDO	INC	E
 	LD	A,E
 	CP	0AH
 	JP	NZ,VERLP1
 VERNO	INC	D
 	LD	A,D
 	CP	(IY)
 	JP	NZ,VERLP
 	LD	A,(FLAG)
 	CP	2
 	JP	Z,UPDATE
 	LD	HL,BUFF2
 	LD	DE,BUFF2+60H
 	LD	A,(IY)
 	LD	C,A
 	LD	B,0
 	LDIR
 	LD	HL,BUFF2
 	LD	A,(HL)
 	OR	1
 	LD	(HL),A
 	LD	A,(BUFF1+2)
 	LD	(DRTRK),A
 	LD	HL,BUFF2
 	LD	L,A
 	LD	A,(HL)
 	INC	A
 	JP	Z,DIRERR
 	LD	(HL),0FFH
 	RST	8
 	DEFB	4
 	DEFM	'Writing Boot.'
 	DEFB	0
 	LD	DE,0
 	LD	BC,BUFF1
 	LD	A,0A8H
 	RST	20H
 	JP	NZ,DIRERR
 	RST	8
 	DEFB	4
 	DEFM	'Writing Directory on Track '
 DIRTRK	DEFM	'00.'
 	DEFB	0
 	LD	HL,SUPER
 	LD	DE,BUFF2+0F0H
 	LD	BC,10H
 	LDIR
 	LD	BC,BUFF2
 	LD	A,(BUFF1+2)
 	LD	D,A
 	LD	E,0
 	LD	A,0A9H
 	CALL	DIRWRT
 	JP	NZ,DIRERR
 	LD	HL,BUFF2
 LP1	LD	(HL),0
 	INC	L
 	JR	NZ,LP1
 	LD	(HL),0A2H
 	INC	HL
 	LD	(HL),0C4H
 	DEC	HL
 	LD	E,1
 	LD	BC,BUFF2
 	LD	A,0A9H
 	CALL	DIRWRT
 	JP	NZ,DIRERR
 	LD	DE,BUFF2
 	LD	HL,BOOTEN
 	LD	BC,20H
 	LDIR
 	LD	A,(BUFF1+2)
 	LD	D,A
 	LD	E,2
 	LD	BC,BUFF2
 	LD	A,0A9H
 	CALL	DIRWRT
 	JP	NZ,DIRERR
 	LD	HL,DIREN
 	LD	DE,BUFF2
 	LD	BC,20H
 	LDIR
 	LD	A,(BUFF1+2)
 	LD	D,A
 	LD	E,3
 	LD	BC,BUFF2
 	LD	A,0A9H
 	CALL	DIRWRT
 	JP	NZ,DIRERR
 	LD	HL,BUFF2
 	LD	B,20H
 LP2	LD	(HL),0
 	INC	HL
 	DJNZ	LP2
 	LD	A,(BUFF1+2)
 	LD	D,A
 	LD	E,4
 LP3	LD	BC,BUFF2
 	LD	A,0A9H
 	CALL	DIRWRT
 	JP	NZ,DIRERR
 	INC	E
 	LD	A,E
 	CP	0AH
 	JR	NZ,LP3
 	RET
 DIRERR	RST	8
 	DEFW	0404H
 	DEFM	'Can'
 	DEFB	27H
 	DEFM	't initialize SYSTEM information !'
 	DEFB	0
 	JP	ERRORD
 ERMSGA	DEFM	'  Not Found, TRACK LOCKED OUT.'
 	DEFB	4
 	DEFB	0
 	POP	DE
 	JP	VERNO
 ERMSGB	DEFM	'  CRC Error, TRACK LOCKED OUT.'
 	DEFB	4
 	DEFB	0
 	POP	DE
 	JP	VERNO
 ERMSGC	DEFM	'  Can'
 	DEFB	27H
 	DEFM	't Verify, TRACK LOCKED OUT.'
 	DEFB	4
 	DEFB	0
 	POP	DE
 	JP	VERNO
 LOKIZ	PUSH	DE
 	RST	8
 	DEFM	'   Can'
 	DEFB	27H
 	DEFM	't Verify.'
 	DEFB	4
 	DEFB	0
 	POP	DE
 	JP	VERDO
 LOKIT	LD	A,(FLAG)
 	CP	2
 	JR	Z,LOKIZ
 	PUSH	DE
 	PUSH	HL
 	LD	HL,BUFF2
 	LD	L,D
 	LD	(HL),0FFH
 	JP	DISPLY
 ORDER	DEFB	0
 	DEFB	5
 	DEFB	1
 	DEFB	6
 	DEFB	2
 	DEFB	7
 	DEFB	3
 	DEFB	8
 	DEFB	4
 	DEFB	9
 	DEFB	0FFH
 BOOTEN	DEFB	5EH
 	DEFW	0
 	DEFW	0
 	DEFM	'BOOT    SYS'
 	DEFB	60H
 	DEFB	7FH
 	DEFB	1FH
 	DEFB	0B2H
 	DEFB	5
 	DEFW	0
 	DEFB	0
 	DEFW	0FFFFH
 	DEFW	0
 	DEFW	0
 	DEFW	0
 DIREN	DEFB	5DH
 	DEFW	0
 	DEFW	0
 	DEFM	'DIR     SYS'
 	DEFB	0A7H
 	DEFB	1DH
 	DEFB	0F9H
 	DEFB	0E5H
 	DEFB	0AH
 	DEFB	0
 DRTRK	DEFB	11H
 	DEFB	01
 	DEFW	0FFFFH
 	DEFW	0
 	DEFW	0
 	DEFW	0
 FILLFF	LD	C,0FFH
 FILL	CALL	FILL1
 	DJNZ	FILL
 	RET
 FILL1	LD	(HL),C
 	INC	HL
 	RET
 DIRWRT	RST	20H
 	RET	NZ
 	LD	A,(FLAG)
 	CP	2
 	RET	Z
 	PUSH	BC
 	LD	BC,BUFFER+100H
 	RST	18H
 	POP	BC
 	RET	Z
 BADA	RST	8
 	DEFB	4
 	DEFM	'Can'
 	DEFB	27H
 	DEFM	't initialize SYSTEM information, DIRECTORY TRACK FLAWED !'
 	DEFB	4
 	DEFB	0
 	JP	ERRORD
 FIXGAT	LD	HL,BUFFER
 	LD	DE,BUFF2
 	LD	BC,100H
 	LDIR
 	RET
 SETGAT	LD	HL,BUFF2
 	LD	DE,BUFFER
 	LD	BC,100H
 	LDIR
 	RET
 SFMTW	LD	A,2
 	LD	(FLAG),A
 	RST	8
 	DEFB	3
 	DEFM	'- Format Without Erase -'
 	DEFW	0404H
 	DEFB	0
 	LD	HL,BUFFER
 	LD	DE,BUFFER+1
 	LD	BC,0FFH
 	LD	(HL),0
 	LDIR
 	LD	A,0FFH
 	LD	(BUFF1+2),A
 	LD	IX,ONES
 	CALL	GETDRV
 	CALL	STATCK
 	LD	IX,ONES
 	LD	IY,TRACKS
 	RST	8
 	DEFB	4
 	DEFB	0
 BADYYY	RST	8
 	DEFB	6
 	DEFM	'Track count ? '
 	DEFB	0
 	LD	A,3
 	RST	10H
 	JR	Z,BADYYY
 	CALL	VALUE
 	JR	C,BADYYY
 	LD	A,B
 	OR	A
 	JR	NZ,BADYYY
 	LD	A,C
 	CP	2
 	JR	C,BADYYY
 	CP	97
 	JR	NC,BADYYY
 	LD	(IY),A
 	JP	GOMORE
 UPDATE	LD	A,(3840H)
 	BIT	1,A
 	RET	NZ
 	RST	8
 	DEFB	4
 	DEFM	'Updating Directory.'
 	DEFB	0
 	PUSH	IX
 	CALL	GETDIR
 	JP	C,NONST
 	PUSH	AF
 	CALL	NZ,BADRD
 	JP	C,NONST
 	POP	AF
 	PUSH	AF
 	RST	28H
 	LD	(DYT),BC
 	RST	8
 	DEFB	4
 	DEFM	'Directory on Track '
 DYT	DEFM	'00.'
 	DEFB	0
 	POP	AF
 	CALL	RDDIR
 	JP	C,NONST
 	LD	HL,BUFFER
 	LD	DE,BUFFER+1
 	LD	BC,96+95
 	LD	(HL),0FFH
 	LDIR
 	LD	IX,BUFFER
 	LD	A,(TRACKS)
 	LD	B,A
 	OR	A
 	JP	Z,NONST
 UPLP	LD	(IX),0FCH
 	LD	(IX+60H),0FCH
 	INC	IX
 	DJNZ	UPLP
 	LD	IX,BUFFER+200H
 	LD	B,64
 UPLP1	LD	A,(IX)
 	BIT	4,A
 	CALL	NZ,ALLOC
 	LD	DE,20H
 	ADD	IX,DE
 	DJNZ	UPLP1
 	CALL	WRDIR
 	POP	IX
 	RET
 NONST	RST	8
 	DEFB	4
 	DEFM	'Can'
 	DEFB	27H
 	DEFM	't update Directory.  Non-Standard Disk.'
 	DEFB	4
 	DEFM	'<ENTER> to proceed. '
 	DEFB	0
 	XOR	A
 	RST	10H
 	POP	IX
 	RET
 UFMT	LD	A,3
 	LD	(FLAG),A
 	RST	8
 	DEFB	3
 	DEFM	'- Special Format -'
 	DEFW	0404H
 	DEFB	0
 	LD	IX,ONES
 	CALL	GETDRV
 	LD	IX,ONES
 	CALL	STATCK
 	RST	8
 	DEFB	4
 	DEFB	0
 UBAD1	RST	8
 	DEFB	6
 	DEFM	'Track count ? '
 	DEFB	0
 	LD	A,3
 	RST	10H
 	JR	Z,UBAD1
 	CALL	VALUE
 	JR	C,UBAD1
 	LD	A,B
 	OR	A
 	JR	NZ,UBAD1
 	LD	A,C
 	OR	A
 	JR	Z,UBAD1
 	CP	97
 	JP	NC,UBAD1
 	LD	(TRACKS),A
 	RST	8
 	DEFB	4
 	DEFB	0
 BAD1H	RST	8
 	DEFB	6
 	DEFM	'Fill byte ? '
 	DEFB	0
 	LD	A,3
 	RST	10H
 	JR	Z,BAD1HA
 	CALL	VALUE
 	JR	C,BAD1H
 	LD	A,B
 	OR	A
 	JR	NZ,BAD1H
 	LD	A,C
 	CP	0F7H
 	JR	NC,BAD1H
 	JR	BAD1HB
 BAD1HA	LD	A,0EEH
 BAD1HB	LD	(FILBYT),A
 	RST	8
 	DEFB	4
 	DEFB	0
 BAD1I	RST	8
 	DEFB	6
 	DEFM	'<S>tandard, <R>ead protect, <D>eleted data, <U>ser defined ? '
 	DEFB	0
 	LD	A,1
 	RST	10H
 	JR	Z,BAD1I
 	LD	B,0FAH
 	CP	'R'
 	JR	Z,BAD1J
 	LD	B,0FBH
 	CP	'S'
 	JR	Z,BAD1J
 	LD	B,0F9H
 	CP	'D'
 	JR	Z,BAD1J
 	LD	B,0F8H
 	CP	'U'
 	JR	NZ,BAD1I
 BAD1J	LD	A,B
 	LD	(DATMRK),A
 	XOR	A
 	LD	(TRAK),A
 	LD	IX,BUFF1+10H
 	LD	HL,BUFF1
 	LD	DE,BUFF1+1
 	LD	BC,889
 	LD	(HL),0
 	LDIR
 	LD	DE,BUFF1+6
 	LD	HL,ORDER
 	LD	BC,10
 	LDIR
 ULOOP	LD	A,(TRAK)
 	RST	28H
 	LD	(UA1),BC
 UBAD3	PUSH	IX
 UBAD2	RST	8
 	DEFB	4
 UA1	DEFM	'00 = ? '
 	DEFB	0
 	LD	A,56
 	RST	10H
 	JR	Z,UBAD2
 	CP	'T'
 	JR	Z,MTRAK
 	CP	'R'
 	JP	Z,REPEAT
 	CP	'S'
 	JR	Z,SAME
 	LD	A,(TRAK)
 	LD	(IX),A
 	INC	IX
 MSEC	LD	E,10
 ULOOP1	PUSH	DE
 	CALL	VALUE
 	POP	DE
 	JP	C,UBADX
 	LD	(IX),C
 	INC	IX
 	DEC	E
 	JR	NZ,ULOOP1
 UNEXT	LD	A,(TRAK)
 	INC	A
 	LD	(TRAK),A
 	LD	B,A
 	POP	IX
 	LD	DE,11
 	ADD	IX,DE
 	LD	A,(TRACKS)
 	CP	B
 	JP	Z,UFORM
 	JP	ULOOP
 UBADX	POP	IX
 	JR	UBAD3
 MTRAK	INC	HL
 	CALL	VALUE
 	JP	C,UBADX
 	LD	A,B
 	OR	A
 	JP	NZ,UBADX
 	LD	A,C
 	LD	(IX),A
 	INC	IX
 POS	LD	A,(HL)
 	CP	20H
 	JR	Z,POS1
 	CP	0DH
 	JP	Z,UBADX
 	CP	','
 	JR	Z,POS1
 	CP	'S'
 	JR	Z,SAME2
 	JP	MSEC
 POS1	INC	HL
 	JR	POS
 SAME	LD	A,(TRAK)
 	LD	(IX),A
 	INC	IX
 SAME2	LD	B,10
 SAME1	PUSH	IX
 	POP	HL
 	LD	DE,-11
 	ADD	HL,DE
 SAMELP	LD	A,(HL)
 	LD	(IX),A
 	INC	HL
 	INC	IX
 	DJNZ	SAMELP
 	JP	UNEXT
 REPEAT	LD	B,11
 	JR	SAME1
 COPY	LD	A,8
 	LD	(WHERE),A
 	LD	A,4
 	LD	(FLAG),A
 	RST	8
 	DEFB	3
 	DEFM	'- BREEZE DISK COPY UTILITY -'
 	DEFW	0404H
 	DEFM	'<1>.  Standard Copy with Format'
 	DEFB	4
 	DEFM	'<2>.  Standard Copy Without Format'
 	DEFB	4
 	DEFM	'<3>.  Special Copy'
 	DEFB	0
 	CALL	GETSEL
 	JP	Z,SCOPYF
 	SUB	30H
 	JP	C,COPY
 	JP	Z,COPY
 	CP	4
 	JP	NC,COPY
 	CALL	GOTABL
 TABLE2	DEFW	SCOPYF
 	DEFW	SCOPY
 	DEFW	UCOPY
 UFORM	RST	8
 	DEFB	3
 	DEFM	'- Special Format -'
 	DEFW	0404H
 	DEFB	0
 	LD	IX,ONES
 UFMTLP	XOR	A
 	LD	(TRAK),A
 	LD	A,(IX)
 	CP	99
 	JR	Z,NFMTLP
 	CP	0FFH
 	JP	Z,FMTBYE
 	LD	(DRIVE),A
 	CALL	DRVASC
 	LD	(UDR),A
 	LD	IY,BUFF1+10H
 	JR	UDOIT
 NFMTLP	INC	IX
 	JR	UFMTLP
 UDOIT	LD	A,(IY)
 	RST	30H
 	LD	(UTR),HL
 	RST	8
 	DEFB	5
 	DEFM	'Formatting Drive '
 UDR	DEFM	'0, Track '
 UTR	DEFM	'00H.'
 	DEFB	0
 	LD	HL,BUFFER+200H
 	LD	DE,ORDER
 	LD	B,0EH
 	CALL	FILLFF
 	LD	A,(IY)
 	LD	(UTRRR+1),A
 	INC	IY
 USECLP	LD	B,6
 	LD	C,0
 	CALL	FILL
 	LD	C,0FEH
 	CALL	FILL1
 UTRRR	LD	A,0
 	LD	C,A
 	CALL	FILL1
 	LD	C,0
 	CALL	FILL1
 	LD	A,(IY)
 	INC	IY
 	LD	C,A
 	CALL	FILL1
 	LD	C,1
 	CALL	FILL1
 	LD	C,0F7H
 	CALL	FILL1
 	LD	C,0FFH
 	CALL	FILL1
 	LD	B,0BH
 	CALL	FILLFF
 	LD	B,6
 	LD	C,0
 	CALL	FILL
 	LD	C,0F9H
 	CALL	FILL1
 	LD	B,0
 	LD	A,(FILBYT)
 	LD	C,A
 	CALL	FILL
 	LD	C,0F7H
 	CALL	FILL1
 	LD	C,0FFH
 	CALL	FILL1
 	LD	B,0BH
 	CALL	FILLFF
 	INC	DE
 	LD	A,(DE)
 	INC	A
 	JR	NZ,USECLP
 	LD	B,5BH
 	CALL	FILLFF
 	CALL	WRITTR
 	LD	A,(TRAK)
 	INC	A
 	LD	(TRAK),A
 	LD	B,A
 	LD	A,(TRACKS)
 	CP	B
 	JP	Z,UVER
 	CALL	STEPIN
 	JP	UDOIT
 UVER	RST	8
 	DEFW	0404H
 	DEFB	0
 	CALL	RESTOR
 	XOR	A
 	LD	(TRAK),A
 	LD	IY,BUFF1+10H
 UVERLP	LD	A,(IY)
 	RST	30H
 	LD	(VT),HL
 	LD	D,(IY)
 	INC	IY
 	LD	B,10
 UVER10	PUSH	BC
 	LD	A,(IY)
 	INC	IY
 	LD	E,A
 	PUSH	DE
 	RST	30H
 	LD	(VS),HL
 	RST	8
 	DEFB	5
 	DEFM	'Verifying Track '
 VT	DEFM	'00H, Sector '
 VS	DEFM	'00H.'
 	DEFB	0
 	POP	DE
 	LD	(SECTOR),DE
 	CALL	DREAD
 	POP	BC
 	CALL	NZ,CANFIN
 	DJNZ	UVER10
 	CALL	STEPIN
 	LD	A,(TRAK)
 	INC	A
 	LD	(TRAK),A
 	LD	B,A
 	LD	A,(TRACKS)
 	CP	B
 	JP	Z,NFMTLP
 	JR	UVERLP
 CANFIN	PUSH	BC
 	PUSH	IY
 	RST	8
 	DEFM	'    Bad Sector !'
 	DEFB	4
 	DEFB	0
 	POP	IY
 	POP	BC
 	RET
 RDADD	CALL	GDRV
 	RST	8
 	DEFB	4
 	DEFB	0
 RBAD	RST	8
 	DEFB	6
 	DEFM	'Track count ? '
 	DEFB	0
 	LD	A,3
 	RST	10H
 	JP	Z,RBAD
 	CALL	VALUE
 	JR	C,RBAD
 	LD	A,B
 	OR	A
 	JR	NZ,RBAD
 	LD	A,C
 	OR	A
 	JP	Z,RBAD
 	CP	61H
 	JR	NC,RBAD
 	LD	(TRACKS),A
 	XOR	A
 	LD	(TRAK),A
 	CALL	RESTOR
 	CALL	STAT
 	RST	8
 	DEFB	3
 	DEFM	'Real     Track     Head     Sector     Length     CRC 1    CRC 2'
 	DEFB	0
 ADDLP	CALL	SELECT
 	LD	A,(3840H)
 	BIT	7,A
 	JR	NZ,ADDLP
 	LD	HL,INPUT
 	LD	DE,INPUT+1
 	LD	BC,8
 	LD	(HL),0
 	LDIR
 	CALL	ADDR
 	LD	HL,3C00H+128
 	LD	DE,3C00H+129
 	LD	BC,63
 	LD	(HL),20H
 	LDIR
 	LD	HL,3C00H+192
 	LD	DE,3C00H+128
 	LD	BC,832
 	LDIR
 	LD	A,(TRAK)
 	RST	30H
 	LD	(3C00H+960+1),HL
 	LD	A,(INPUT)
 	RST	30H
 	LD	(3C00H+960+11),HL
 	LD	A,(INPUT+1)
 	RST	30H
 	LD	(3C00H+960+20),HL
 	LD	A,(INPUT+2)
 	RST	30H
 	LD	(3C00H+960+30),HL
 	LD	A,(INPUT+3)
 	RST	30H
 	LD	(3C00H+960+41),HL
 	LD	A,(INPUT+4)
 	RST	30H
 	LD	(3C00H+960+51),HL
 	LD	A,(INPUT+5)
 	RST	30H
 	LD	(3C00H+960+60),HL
 	CALL	KEY
 	JP	Z,ADDLP
 	CP	5BH
 	JR	Z,ADDUP
 	CP	5CH
 	JR	Z,ADDDN
 	CP	1BH
 	JR	Z,ADDTOP
 	CP	1AH
 	JR	Z,ADDBOT
 	JP	ADDLP
 ADDUP	LD	A,(TRACKS)
 	LD	B,A
 	LD	A,(TRAK)
 	INC	A
 	CP	B
 	JP	Z,ADDLP
 	LD	(TRAK),A
 	CALL	STEPIN
 	JP	ADDLP
 ADDDN	LD	A,(TRAK)
 	OR	A
 	JP	Z,ADDLP
 	DEC	A
 	LD	(TRAK),A
 	CALL	STEPOT
 	JP	ADDLP
 ADDTOP	LD	A,(TRACKS)
 	LD	B,A
 	LD	A,(TRAK)
 	INC	A
 	CP	B
 	JP	Z,ADDLP
 	LD	(TRAK),A
 	CALL	STEPIN
 	JR	ADDTOP
 ADDBOT	CALL	RESTOR
 	XOR	A
 	LD	(TRAK),A
 	JP	ADDLP
 ADDONE	LD	HL,3C00H+896
 	LD	(CURSOR),HL
 	JP	RETURN
 CARRET	RST	8
 	DEFB	4
 	DEFB	0
 	RET
 ORDNEW	PUSH	IY
 	LD	DE,ORDER
 	PUSH	DE
 	PUSH	BC
 	LD	B,9
 	LD	IY,ORDER
 NEORLP	LD	A,(IY+9)
 	LD	C,(IY+8)
 	LD	(IY+9),C
 	LD	(IY+8),A
 	DEC	IY
 	DJNZ	NEORLP
 	POP	BC
 	POP	DE
 	POP	IY
 	RET
 	END	402DH
,ORDER
 	PUSH	DE
 	PUSH	BC
 	LD	B,9
 	LD	IY,ORDER
 NEORLP	LD	A,(IY+9)
 	LD	C,(IY+8)
 	LD	(IY+9),C
 	LD	(IY+8),A
 	DEC	IY
 	DJNZ	NEORLP
 	POP	BC
 	POP	