	.TITLE	DELETE
	.MCALL	.PURGE	.FPROT	.DELET
	.DSABL	GBL
	.GLOBL	.10	RAD	ASC
	.GLOBL	ENTRY
	.GLOBL	DEV	RREAD
	.GLOBL	GETDIR
	.GLOBL	KEYIN
	.GLOBL	UPACK	UNPACK	PRPACK
	.GLOBL	AREA
	.GLOBL	DEFS	SCANS	TOASZ	FFILE	FUNC	FLAG
	.GLOBL	BREAK
	.GLOBL	MASK	SCNMSK
	.GLOBL	UNCACHE
	.GLOBL	KILKEY

	.INCLU	"SCRMAC"
	.INCLU	"DIAMAC"

	.GLOBL	.UNPRO

S.WHAT::.WORD
TL:	.WORD	TL.DEL	,TL.PRO	,TL.UNP
T:	.WORD	T.DTF	,T.PTF	,T.UTF
.FUNC:	.WORD	.DELET	,.UNPRO	,.UNPRO

S.DELETE::
	CLRB	AL
	CLR	S.WHAT
S.DPU::
	CALL	UNCACHE
	CLRB	FOUND
	MOV	S.WHAT,R1
	MOV	TL(R1),D.SDPU+10
	MOV	T(R1),D.SDPU+12
	.DIALOG	#D.SDPU
	TST	R1
	BNE	1$
	JMP	KEYIN

1$:	MOV	#T.F1,R1
	CALL	ASC

	MOV	@DEV(R5),WDEV
	MOV	R0,NDEV
	MOV	R0,@DEV(R5)
GD:	CALL	GETDIR
	BCS	EGD

	MOV	#<T.F1+4>,MASK
	MOV	S.WHAT,R1
	MOV	.FUNC(R1),FUNC
	CLRB	BREAK
	CALL	SCNMSK
	TSTB	BREAK
	BNE	1$
	MOV	S.WHAT,R1
FOUND	==	. + 2
	TSTB	#0
	BNE	1$
	MOV	TL(R1),D.CFFS+10
	.DIALOG	#D.CFFS
1$:	BR	.EX

EGD:	MOV	#T.F3,R1
	CALL	DEVTR1
	.DIALOG	#D.ERDR
	DEC	R1
	BEQ	GD
	BR	.RERE

.EX:	TSTB	ING
	BEQ	.RERE
	CLRB	ING
	.WRES
	.WSCUR

.RERE:
WDEV	=	. + 2
	MOV	#0,@DEV(R5)
	INCB	RREAD(R5)
	MOV	R5,R0
	ADD	-(R0),R0
NDEV	=	. + 2
	CMP	#0,@DEV(R0)
	BNE	ENT
	INCB	RREAD(R0)
	BR	ENT

DELETE::
	CALL	UNCACHE
	CLR	FLAG
	CLRB	AL
	CALL	DEFS
	BEQ	NOSEL

	MOV	#<T.YHS+18.>,R1
	MOV	#3.,R3
	CALL	.10
	.DIALOG	#D.SELDEL
	DEC	R1
	BNE	ENT

	MOV	#.DELETE,FUNC
	CALL	SCANS
	BR	EX

NOSEL:	MOV	#T.F3,R3
	CALL	UPACK
	CALL	PRPACK
	CALL	TOASZ
	.DIALOG	#D.DELETE
	DEC	R1
	BNE	ENT
	CALL	.DELETE
EX::	TSTB	ING
	BEQ	RERE
	CLRB	ING
	.WRES
	.WSCUR

RERE::	TST	FLAG
	BEQ	ENT
	INCB	RREAD(R5)
	MOV	R5,R0
	ADD	-(R0),R0
	CMP	@DEV(R5),@DEV(R0)
	BNE	ENT
	INCB	RREAD(R0)
ENT:	CALL	KILKEY
	JMP	ENTRY

.MACRO	.BREAK	?LABEL
	TSTB	BREAK
	BEQ	LABEL
	RETURN
LABEL:
.ENDM

.DELETE:
	CALL	UNPACK
	CALL	PRPACK
	MOV	#T.F3,R3
	CALL	TOASZ
	CALL	FFILE

	INCB	FOUND
	.DIALOG	#D.DELING
	INCB	ING

	.BREAK
	TST	(R2)
	BPL	DEL
AL	=	. + 2
	TSTB	#0
	BNE	FPROT
	.DIALOG	#D.RONLY
	TST	R1
	BEQ	RET
	CMP	R1,#3
	BEQ	RET
	DEC	R1
	BEQ	FPROT
	COMB	AL
FPROT:	.PURGE	#0
	.FPROT	#AREA,#0,R4,#0
	BCC	1$
	.DIALOG	#D.CUPF
	DEC	R1
	BEQ	FPROT
	RETURN

1$:	INC	FLAG

DEL:	.PURGE	#0
	.DELET	#AREA,#0,R4
	BCC	1$
	.DIALOG	#D.CDF
	DEC	R1
	BEQ	DEL
	RETURN

1$:	INC	FLAG
RET:	RETURN

DEVTR1::
	MOV	@DEV(R5),R0
	CALL	RAD
	ADD	#3,R1
	MOVB	#':,(R1)+
	CLRB	(R1)
	RETURN

	.END
                                                                 