MAKE80 ;	MAKE80/TXT	MAKE80/TOO	MAKE80/CMD
 	ORG	6D00H
 BUFFER	EQU	7B00H
 BUFF1	EQU	7900H
 FLAG	DEFB	0
 FLAG2	DEFB	0
 TOPMEM	DEFW	0
 TRAK	DEFB	0
 TRAK1	DEFB	0
 TRAK2	DEFB	0
 TRACKS	DEFB	0
 TYPE	DEFB	0
 COUNT	DEFW	0
 TEMP0	DEFW	0
 TEMP1	DEFW	0
 INPUT	DEFS	10
 ENTRY	DI
 	LD	SP,41F0H
 	CALL	CHKSUM
 	LD	HL,0C000H
 	XOR	A
 MEMTST	LD	(HL),A
 	CP	(HL)
 	JR	NZ,LOW
 	INC	A
 	JR	NZ,MEMTST
 	LD	HL,0
 LOW	LD	(TOPMEM),HL
 	CALL	DISPLY
 	DEFW	1F1CH
 	DEFM	'****  MAKE-80 by KIM WATT  ****'
 	DEFB	0DH
 RANDY	DEFM	'Distributed exclusively by A.M. Electronics, Inc.'
 	DEFB	0DH
 	DEFM	'3366 Washtenaw Ave. - Ann Arbor, Mich.  48104 - (313) 973-2312'
 	DEFW	0D0DH
 	DEFM	'Insert any 35 or 40 Track formatted diskette into your 80 Track'
 	DEFB	0DH
 	DEFM	'drive.  When you take it out it will still have the original'
 	DEFB	0DH
 	DEFM	'data, but will be formatted as 80 Tracks !!'
 	DEFB	0
 BAD1	LD	HL,3C00H+576
 	LD	(4020H),HL
 	CALL	DISPLY
 	DEFW	1E1DH
 	DEFM	'Which Drive contains mounted diskette ? '
 	DEFB	0
 	LD	HL,INPUT
 	LD	B,1
 	CALL	40H
 	LD	A,(HL)
 	SUB	30H
 	JR	C,BAD1
 	CP	4
 	JR	NC,BAD1
 	LD	B,1
 DRVCK	OR	A
 	JR	Z,DRVFN
 	SLA	B
 	DEC	A
 	JR	DRVCK
 DRVFN	LD	A,B
 	LD	(DRIVE+1),A
 BAD22	LD	HL,3C00H+640
 	LD	(4020H),HL
 	CALL	DISPLY
 	DEFW	1E1DH
 	DEFM	'Verify after completion ? '
 	DEFB	0
 	LD	B,3
 	LD	HL,INPUT
 	CALL	40H
 	LD	A,(HL)
 	CP	'Y'
 	JR	Z,VFND
 	CP	'N'
 	JR	NZ,BAD22
 VFND	LD	(FLAG2),A
 	LD	IX,TRAK
 	CALL	STATCK
 	XOR	A
 	LD	(IX+1),A
 	LD	(IX+2),A
 	CALL	IFGOOD
 	CALL	RESTOR
 	LD	DE,0
 	LD	(TEMP0),DE
 	LD	A,1
 	LD	(FLAG),A
 COPYLP	CALL	READ10
 	CALL	FMTTR
 	CALL	PUT10
 	LD	A,(FLAG)
 	OR	A
 	JR	NZ,COPYLP
 FINISH	CALL	FORMAT
 	LD	A,(IX+2)
 	CP	80
 	JP	Z,VERIFY
 	JR	FINISH
 STATCK	CALL	RESTOR
 	CALL	SELECT
 	LD	A,(37ECH)
 	LD	HL,ERMSG5
 	BIT	7,A
 	JP	NZ,DERROR
 	LD	HL,ERMSG6
 	BIT	2,A
 	JP	Z,DERROR
 	LD	HL,ERMSG7
 	BIT	6,A
 	JP	NZ,DERROR
 	LD	BC,00CDH
 	LD	HL,ERMSG8
 TST1	DEC	BC
 	LD	A,B
 	OR	C
 	JP	Z,DERROR
 	LD	A,(37ECH)
 	AND	2
 	JR	NZ,TST1
 	LD	BC,199DH
 	LD	HL,ERMSG9
 TST2	DEC	BC
 	LD	A,B
 	OR	C
 	JP	Z,DERROR
 	LD	A,(37ECH)
 	AND	2
 	JR	Z,TST2
 	LD	DE,0
 	LD	BC,00BAH
 	LD	HL,ERMSG0
 TST3	DEC	BC
 	LD	A,B
 	OR	C
 	JP	Z,DERROR
 	INC	DE
 	LD	A,(37ECH)
 	AND	2
 	JR	NZ,TST3
 	LD	BC,1720H
 	LD	HL,ERMSG9
 TST4	DEC	BC
 	LD	A,B
 	OR	C
 	JP	Z,DERROR
 	INC	DE
 	LD	A,(37ECH)
 	AND	2
 	JR	Z,TST4
 	LD	HL,0EACBH
 	ADD	HL,DE
 	LD	HL,ERMSG1
 	JP	NC,DERROR
 	RET
 ERMSG5	DEFB	0DH
 	DEFM	'Drive NOT READY !'
 	DEFB	0
 	JP	ERRORD
 ERMSG6	DEFB	0DH
 	DEFM	'Drive NOT IN SYSTEM !'
 	DEFB	0
 	JP	ERRORD
 ERMSG7	DEFB	0DH
 	DEFM	'Diskette is WRITE PROTECTED !'
 	DEFB	0
 	JP	ERRORD
 ERMSG8	DEFB	0DH
 	DEFM	'No SYSTEM in DRIVE !'
 	DEFB	0
 	JP	ERRORD
 ERMSG9	DEFB	0DH
 	DEFM	'DOOR NOT CLOSED on drive !'
 	DEFB	0
 	JP	ERRORD
 ERMSG0	DEFB	0DH
 	DEFM	'NO DISKETTE in drive !'
 	DEFB	0
 	JP	ERRORD
 ERMSG1	DEFB	0DH
 	DEFM	'Diskette is HARD SECTORED !'
 	DEFB	0
 ERRORD	LD	HL,3C00H+896
 	LD	(4020H),HL
 	CALL	DISPLY
 	DEFM	'MAKE-80 CANNOT CONTINUE because of detected error !'
 	DEFB	0DH
 	DEFM	'Press <ENTER> to restart program. '
 	DEFB	0
 	LD	HL,INPUT
 	LD	B,1
 	CALL	40H
 	JP	ENTRY
 DERROR	PUSH	HL
 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
 DISCTL	PUSH	DE
 	PUSH	IY
 	CALL	33H
 	POP	IY
 	POP	DE
 	JR	DISLP
 DISDN	PUSH	DE
 	RET
 SELECT	LD	A,(37ECH)
 	BIT	7,A
 DRIVE	LD	A,1
 	LD	(37E1H),A
 	RET	Z
 	PUSH	BC
 	LD	BC,8000H
 	CALL	60H
 	POP	BC
 	RET
 RESTOR	CALL	SELECT
 	LD	A,0BH
 	LD	(37ECH),A
 	PUSH	BC
 	POP	BC
 	PUSH	BC
 	POP	BC
 	NOP
 RESWT	CALL	SELECT
 	LD	A,(37ECH)
 	RRCA
 	JR	C,RESWT
 	XOR	A
 	LD	(IX),A
 	CALL	WHHEAD
 	RET
 STEPIN	CALL	SELECT
 	INC	(IX)
 	LD	A,5BH
 STEPCT	LD	(37ECH),A
 	PUSH	BC
 	POP	BC
 	PUSH	BC
 	POP	BC
 	NOP
 STIN	CALL	SELECT
 	LD	A,(37ECH)
 	RRCA
 	JR	C,STIN
 	JP	WHHEAD
 STEPOT	CALL	SELECT
 	DEC	(IX)
 	LD	A,7BH
 	JR	STEPCT
 READ10	LD	DE,(TEMP0)
 	LD	A,D
 	SLA	A
 	CALL	GOTRK
 	LD	BC,BUFFER
 	LD	HL,0
 	LD	(COUNT),HL
 	LD	DE,(TEMP0)
 	LD	(TEMP1),DE
 	LD	IY,BUFF1
 RDLP	LD	DE,(TEMP0)
 	LD	A,D
 	LD	(37EDH),A
 	CALL	READ
 	CALL	NZ,BADRD
 	JR	C,RDLP
 	INC	E
 	LD	A,E
 	SUB	0AH
 	JR	NZ,RDC1
 	LD	E,A
 	CALL	STEPIN
 	CALL	STEPIN
 	INC	D
 RDC1	LD	(TEMP0),DE
 	LD	A,(TYPE)
 	AND	60H
 	SRA	A
 	SRA	A
 	SRA	A
 	SRA	A
 	SRA	A
 	AND	3
 	OR	0A8H
 	LD	(IY),A
 	INC	IY
 	LD	HL,(COUNT)
 	INC	HL
 	LD	(COUNT),HL
 	LD	A,(TRACKS)
 	CP	D
 	JR	Z,ATEND
 	LD	HL,(TOPMEM)
 	DEC	H
 	LD	A,B
 	CP	H
 	JR	NZ,RDLP
 	RET
 ATEND	XOR	A
 	LD	(FLAG),A
 	RET
 PUT10	LD	DE,(TEMP1)
 	LD	A,D
 	CALL	GOTRK
 	LD	DE,(TEMP1)
 	LD	BC,BUFFER
 	LD	HL,(COUNT)
 	LD	IY,BUFF1
 WRLP	LD	A,D
 	LD	(37EDH),A
 	PUSH	HL
 WRLP1	LD	A,(IY)
 	LD	(TYPE),A
 	CALL	WRITE
 	CALL	NZ,BADWRT
 	JR	C,WRLP1
 	INC	IY
 	POP	HL
 	INC	E
 	LD	A,E
 	SUB	0AH
 	JR	NZ,WRLP2
 	LD	E,A
 	INC	D
 	PUSH	HL
 	PUSH	DE
 	CALL	STEPIN
 	POP	DE
 	POP	HL
 WRLP2	DEC	HL
 	LD	A,H
 	OR	L
 	JR	NZ,WRLP
 	RET
 GOTRK	LD	B,(IX)
 	CP	B
 	RET	Z
 	JR	C,GOOUT
 	SUB	B
 	LD	B,A
 INLOOP	CALL	STEPIN
 	DJNZ	INLOOP
 	RET
 GOOUT	LD	C,A
 	LD	A,B
 	SUB	C
 	LD	B,A
 OUTLP	CALL	STEPOT
 	DJNZ	OUTLP
 	RET
 WHHEAD	LD	HL,3C00H+704
 	LD	(4020H),HL
 	LD	A,(IX)
 	PUSH	DE
 	PUSH	BC
 	CALL	ASCII
 	LD	(HEAD),BC
 	CALL	DISPLY
 	DEFB	1DH
 	DEFM	'Head positioned over Track: '
 HEAD	DEFM	'00.'
 	DEFB	0
 	POP	BC
 	POP	DE
 	RET
 READ	CALL	SELECT
 	LD	A,E
 	PUSH	BC
 	CALL	ASCII
 	LD	A,B
 	LD	(RSEC),A
 	LD	A,D
 	CALL	ASCII
 	LD	(RTK),BC
 	PUSH	DE
 	LD	HL,3C00H+832
 	LD	(4020H),HL
 	CALL	DISPLY
 	DEFB	1DH
 	DEFM	'Reading    Track '
 RTK	DEFM	'00, Sector '
 RSEC	DEFM	'0.'
 	DEFB	0
 	POP	DE
 	POP	BC
 	PUSH	BC
 	CALL	R1
 	POP	HL
 	RET	Z
 	LD	B,H
 	LD	C,L
 	PUSH	BC
 	CALL	R1
 	POP	HL
 	RET	Z
 	LD	B,H
 	LD	C,L
 	PUSH	BC
 	CALL	R1
 	POP	HL
 	RET	Z
 	LD	B,H
 	LD	C,L
 	RET
 R1	CALL	SELECT
 	LD	HL,37ECH
 	LD	(37EEH),DE
 	LD	(HL),1BH
 	PUSH	BC
 	POP	BC
 	PUSH	BC
 	POP	BC
 RSKWT	CALL	SELECT
 	LD	A,(HL)
 	RRCA
 	JR	C,RSKWT
 	LD	(HL),88H
 	PUSH	DE
 	LD	DE,37EFH
 	PUSH	BC
 	POP	BC
 	JR	RDCO
 RDBY	RRCA
 	JR	NC,RDDN
 RDCK	LD	A,(HL)
 	BIT	1,A
 	JR	Z,RDBY
 	LD	A,(DE)
 	LD	(BC),A
 	INC	BC
 RDCO	JR	RDCK
 RDDN	LD	A,(HL)
 	LD	(TYPE),A
 	AND	1CH
 	POP	DE
 	RET	Z
 	LD	(HL),0D0H
 	RET
 WRITE	CALL	SELECT
 	LD	A,E
 	PUSH	BC
 	CALL	ASCII
 	LD	A,B
 	LD	(WSEC),A
 	LD	A,D
 	CALL	ASCII
 	LD	(WTK),BC
 	PUSH	DE
 	LD	HL,3C00H+832
 	LD	(4020H),HL
 	CALL	DISPLY
 	DEFB	1DH
 	DEFM	'Writing    Track '
 WTK	DEFM	'00, Sector '
 WSEC	DEFM	'0.'
 	DEFB	0
 	POP	DE
 	POP	BC
 	PUSH	BC
 	CALL	W1
 	POP	HL
 	RET	Z
 	LD	B,H
 	LD	C,L
 	PUSH	BC
 	CALL	W1
 	POP	HL
 	RET	Z
 	LD	B,H
 	LD	C,L
 	PUSH	BC
 	CALL	W1
 	POP	HL
 	RET	Z
 	LD	B,H
 	LD	C,L
 	RET
 W1	CALL	SELECT
 	LD	(37EEH),DE
 	LD	HL,37ECH
 	LD	(HL),1BH
 	PUSH	BC
 	POP	BC
 	PUSH	BC
 	POP	BC
 WSKWT	CALL	SELECT
 	LD	A,(HL)
 	RRCA
 	JR	C,WSKWT
 	LD	A,(TYPE)
 	LD	(HL),A
 	PUSH	DE
 	LD	DE,37EFH
 	PUSH	BC
 	POP	BC
 	JR	WCO
 WBZ	RRCA
 	JR	NC,WDN
 WCK	LD	A,(HL)
 	BIT	1,A
 	JR	Z,WBZ
 	LD	A,(BC)
 	LD	(DE),A
 	INC	BC
 WCO	JR	WCK
 WDN	LD	A,(HL)
 	AND	7CH
 	POP	DE
 	RET	Z
 	LD	(HL),0D0H
 	RET
 BADWRT	PUSH	DE
 	PUSH	BC
 	PUSH	HL
 	LD	HL,3C00H+896
 	LD	(4020H),HL
 	CALL	DISPLY
 	DEFM	'Disk WRITE ERROR!'
 	DEFB	0
 WRTCON	CALL	DISPLY
 	DEFM	'  <R>etry, <S>kip or <C>ancel ?'
 	DEFB	0
 WRTWT	PUSH	IY
 	CALL	2BH
 	POP	IY
 	OR	A
 	JR	Z,WRTWT
 	CP	'R'
 	SCF
 	JR	Z,GOBACK
 	CP	'S'
 	JR	Z,SKIP
 	CP	'C'
 	JP	Z,ERRORD
 	JR	WRTWT
 SKIP	INC	B
 	SCF
 	CCF
 GOBACK	PUSH	AF
 	CALL	DISPLY
 	DEFW	1E1DH
 	DEFB	0
 	POP	AF
 	POP	HL
 	POP	BC
 	POP	DE
 	RET
 BADRD	PUSH	DE
 	PUSH	BC
 	PUSH	HL
 	LD	HL,3C00H+896
 	LD	(4020H),HL
 	CALL	DISPLY
 	DEFM	'Disk READ ERROR!'
 	DEFB	0
 	JR	WRTCON
 VERIFY	LD	A,(FLAG2)
 	CP	'N'
 	JP	Z,UPDATE
 	XOR	A
 	CALL	GOTRK
 	LD	DE,0
 VERLP	LD	BC,BUFFER
 	LD	A,D
 	LD	(IX),A
 	CALL	WHHEAD
 V11	CALL	READ
 	CALL	NZ,BADRD
 	JR	C,V11
 	INC	E
 	LD	A,E
 	SUB	0AH
 	JR	NZ,V12
 	LD	E,A
 	INC	D
 V12	LD	A,80
 	CP	D
 	JP	Z,UPDATE
 	JR	VERLP
 COPBYE	LD	HL,3C00H+896
 	LD	(4020H),HL
 	CALL	DISPLY
 	DEFW	1E1DH
 	DEFM	'Routine Complete.  <ENTER> to restart. '
 	DEFB	0
 	LD	HL,INPUT
 	LD	B,1
 	CALL	40H
 	LD	A,(HL)
 	CP	'0'
 	JP	Z,0
 	CP	'D'
 	JP	Z,402DH
 	JP	ENTRY
 FMTTR	LD	HL,(COUNT)
 	LD	D,10
 	CALL	DIV16
 	LD	A,E
 	ADD	A,5
 	LD	B,A
 FORMLP	PUSH	BC
 	CALL	FORMAT
 	POP	BC
 	DJNZ	FORMLP
 	RET
 FORMAT	LD	A,80
 	LD	B,(IX+2)
 	CP	B
 	RET	Z
 	LD	A,B
 	CALL	GOTRK
 	INC	(IX+2)
 	LD	A,(IX+2)
 	DEC	A
 	CALL	ASCII
 	LD	(FTR),BC
 	LD	HL,3C00H+832
 	LD	(4020H),HL
 	CALL	DISPLY
 	DEFB	1DH
 	DEFM	'Formatting Track '
 FTR	DEFM	'00.                   '
 	DEFB	0
 	LD	HL,5200H
 	LD	DE,ORDER
 	LD	B,0EH
 	CALL	FILLFF
 SECLP	LD	B,6
 	LD	C,0
 	CALL	FILL
 	LD	C,0FEH
 	CALL	FILL1
 	LD	C,(IX)
 	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
 	LD	C,0FBH
 	CALL	FILL1
 	LD	B,0
 	LD	C,0EEH
 	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,SECLP
 	LD	B,5BH
 	CALL	FILLFF
 	CALL	WRITTR
 	RET	Z
 WRITTR	CALL	SELECT
 	LD	BC,5200H
 	LD	HL,37ECH
 	LD	(HL),0F4H
 	LD	DE,37EFH
 	PUSH	BC
 	POP	BC
 	PUSH	BC
 	POP	BC
 	DI
 	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
 	JR	WRBZZ
 WRDNZ	LD	A,(HL)
 	LD	(HL),0D0H
 	LD	HL,ERMSG2
 	BIT	2,A
 	JP	NZ,DERROR
 	LD	HL,0AE00H
 	ADD	HL,BC
 	EX	DE,HL
 	LD	HL,0F413H
 	ADD	HL,DE
 	LD	HL,ERMSG3
 	JP	NC,DERROR
 	LD	HL,0F397H
 	ADD	HL,DE
 	LD	HL,ERMSG4
 	JP	C,DERROR
 	RET
 ERMSG2	DEFB	0DH
 	DEFM	'Transfer rate TOO FAST !'
 	DEFB	0
 	JP	ERRORD
 ERMSG3	DEFB	0DH
 	DEFM	'Motor speed TOO SLOW !'
 	DEFB	0
 	JP	ERRORD
 ERMSG4	DEFB	0DH
 	DEFM	'Motor speed TOO FAST !'
 	DEFB	0
 	JP	ERRORD
 FILLFF	LD	C,0FFH
 FILL	CALL	FILL1
 	DJNZ	FILL
 	RET
 FILL1	LD	(HL),C
 	INC	HL
 	RET
 UPDATE	LD	HL,3C00H+896
 	LD	(4020H),HL
 	CALL	DISPLY
 	DEFW	1E1DH
 	DEFM	'Updating Directory to 80 tracks.'
 	DEFB	0
 	XOR	A
 	CALL	GOTRK
 	LD	DE,0
 	LD	BC,BUFFER
 	LD	IY,TRACKS
 UP1	CALL	READ
 	CALL	NZ,BADRD
 	JR	C,UP1
 	LD	HL,BUFFER
 	LD	A,(HL)
 	OR	A
 	JP	NZ,NONST
 	INC	HL
 	LD	A,(HL)
 	CP	0FEH
 	JP	NZ,NONST
 	INC	HL
 	LD	A,(HL)
 	CP	2
 	JP	C,NONST
 	CP	97H
 	JP	NC,NONST
 	LD	D,A
 	LD	E,0
 	PUSH	DE
 	CALL	GOTRK
 	POP	DE
 	LD	BC,BUFFER
 UP22	CALL	READ
 	CALL	NZ,BADRD
 	JR	C,UP22
 	LD	A,(IY)
 	LD	HL,BUFFER
 	ADD	A,L
 	LD	L,A
 	LD	A,80
 	LD	B,(IY)
 	SUB	B
 	LD	B,A
 	PUSH	HL
 	POP	IX
 UPLP	RES	0,(IX)
 	RES	1,(IX)
 	RES	0,(IX+60H)
 	RES	1,(IX+60H)
 	INC	IX
 	DJNZ	UPLP
 	LD	A,0A9H
 	LD	(TYPE),A
 	LD	BC,BUFFER
 UP33	CALL	WRITE
 	CALL	NZ,BADWRT
 	JR	C,UP33
 	JP	COPBYE
 NONST	CALL	DISPLY
 	DEFW	1E1DH
 	DEFM	'Cannot update directory.  Nonstandard disk.'
 	DEFB	0
 	JP	COPBYE
 ASCII	LD	C,30H
 ASCII1	SUB	0AH
 	JR	C,ASCII2
 	INC	C
 	JR	ASCII1
 ASCII2	ADD	A,3AH
 	LD	B,A
 	RET
 ORDER	DEFB	0
 	DEFB	5
 	DEFB	1
 	DEFB	6
 	DEFB	2
 	DEFB	7
 	DEFB	3
 	DEFB	8
 	DEFB	4
 	DEFB	9
 	DEFB	0FFH
 DIV16	PUSH	IX
 	LD	A,L
 	LD	L,H
 	LD	H,0
 	LD	E,0
 	LD	B,16
 	LD	IX,0
 LOOP	ADD	HL,HL
 	RLA
 	JP	NC,LOOP1
 	INC	L
 LOOP1	ADD	IX,IX
 	INC	IX
 	OR	A
 	SBC	HL,DE
 	JP	NC,CONT
 	ADD	HL,DE
 	DEC	IX
 CONT	DJNZ	LOOP
 	PUSH	IX
 	POP	DE
 	POP	IX
 	RET
 IFGOOD	LD	A,39
 	SLA	A
 	CALL	GOTRK
 	LD	A,39
 	LD	(37EDH),A
 	LD	D,A
 	LD	E,0
 GOODLP	LD	BC,BUFFER
 	CALL	READ
 	JR	NZ,TRY35
 	INC	E
 	LD	A,E
 	CP	0AH
 	JR	NZ,GOODLP
 	LD	A,40
 	LD	(TRACKS),A
 	JR	GOODCN
 TRY35	LD	A,34
 	SLA	A
 	CALL	GOTRK
 	LD	A,34
 	LD	(37EDH),A
 	LD	D,A
 	LD	E,0
 GOODL1	LD	BC,BUFFER
 	CALL	READ
 	JP	NZ,NOTIT
 	INC	E
 	LD	A,E
 	CP	0AH
 	JR	NZ,GOODL1
 	LD	A,35
 	LD	(TRACKS),A
 GOODCN	LD	A,(TRACKS)
 	CALL	ASCII
 	LD	(MGG2),BC
 	LD	HL,3C00H+512
 	LD	(4020H),HL
 	CALL	DISPLY
 	DEFW	1E1DH
 MGG2	DEFM	'00 Tracks assumed.'
 	DEFB	0
 	XOR	A
 	CALL	GOTRK
 	CALL	RESTOR
 	CALL	STEPIN
 	LD	DE,0100H
 GODLP1	LD	BC,BUFFER
 	LD	A,1
 	LD	(37EDH),A
 	CALL	READ
 	JR	Z,MB80
 	RET
 NOTIT	LD	A,(TRACKS)
 	DEC	A
 	CALL	ASCII
 	LD	(VVTT),BC
 	LD	HL,3C00H+832
 	LD	(4020H),HL
 	CALL	DISPLY
 	DEFW	1E1DH
 	DEFM	'Cannot verify track '
 VVTT	DEFM	'00.'
 	DEFB	0
 	POP	HL
 	JP	ERRORD
 MB80	LD	HL,3C00H+832
 	LD	(4020H),HL
 	CALL	DISPLY
 	DEFW	1E1DH
 	DEFM	'Diskette may already have 80 Tracks.  <ENTER> or X to abort. '
 	DEFB	0
 	LD	HL,INPUT
 	LD	B,1
 	CALL	40H
 	LD	A,(HL)
 	CP	'X'
 	JP	Z,ENTRY
 	LD	HL,3C00H+832
 	LD	(4020H),HL
 	CALL	DISPLY
 	DEFW	1E1DH
 	DEFB	0
 	RET
 CHKSUM	LD	DE,RANDY
 	LD	HL,0
 	LD	A,49
 CHKLP	PUSH	AF
 	LD	A,(DE)
 	INC	DE
 	LD	C,A
 	LD	B,0
 	ADD	HL,BC
 	POP	AF
 	DEC	A
 	JR	NZ,CHKLP
 	LD	BC,4500
 	OR	A
 	SBC	HL,BC
 	RET	Z
 	LD	HL,3C00H
 	LD	DE,3C01H
 	LD	BC,0
 	LD	(HL),0
 	LDIR
 	END	ENTRY
C	DE
 	LD	C,A
 	LD	B,0
 	ADD	HL,BC
 	POP	AF
 	DEC	A
 	JR	NZ,CHKLP
 	LD	BC,4500
 	OR	A
 	SB