	.TITLE	PULLDN
 	.DSABL	GBL
	.GLOBL	DISP	ENTRY
	.GLOBL	KILKEY	INPKEY	WINPKEY
	.GLOBL	DEVICE
	.GLOBL	$0	$1	$PANEL
	.GLOBL	SCROL	OFFS	DEV	DEVA	
	.GLOBL	MODE	TSORT	RREAD	RDRAW
	.GLOBL	BRIEF	FULL	INFO	ONOFF	CTRLO
	.GLOBL	BYNAME	BYEXT	BYDATE	BYSIZE
	.GLOBL	BRD1B

	.INCLU	"SCRMAC"

.MACRO	.LABEL	ADDR,CODE
	.WORD	ADDR-.,CODE
.ENDM

S.F10::	COMB	FL.ENT
	CLR	R5
MENU::	.WHCUR
	.WGET	#0,#0,#WIDTH,#1
	.WATTR	#^B1000
	.WPUT	#M.MAIN,#0,#0,#M..MAIN-M.MAIN
	.WCLRE
	.WATTR	#^B1001

	TST	R5
	BEQ	CURON

	CLR	TB.Y
	TST	-2(R5)
	BGT	1$
	MOV	#4,TB.Y
1$:	CLR	R5

CURON:	CALL	CURSOR
KEYIN:
FL.ENT	=	. + 2
	TSTB	#0
	BNE	ENTER

	CALL	KILKEY
	CALL	WINPKEY
.KEYIN:	JSR	R0,DISP
	.LABEL	UP	,214
	.LABEL	DOWN	,215
	.LABEL	LEFT	,216
	.LABEL	RIGHT	,217
	.LABEL	ENTER	,200
	.LABEL	DONE	,33
	.LABEL	DONE	,212
	.WORD
	CMPB	R0,#'A
	BLT	KEYIN
	CMPB	R0,#'Z
	BGT	KEYIN
	MOV	TB.ALL(R5),R4
	MOV	TB.C(R5),R1
	MOV	R1,R3
1$:	CMPB	(R1)+,R0
	BEQ	2$
	SOB	R4,1$
	BR	KEYIN

2$:	CALL	CURSOR
	SUB	R3,R1
	DEC	R1
	MOV	R1,TB.Y(R5)
	CALL	CURSOR
	BR	ENTER

UP:	TST	R5
	BEQ	KEYIN
	BR	.LEFT

LEFT:	TST	R5
	BEQ	.LEFT
	.WRES
	CLR	R5
	COMB	FL.ENT

.LEFT:	CALL	CURSOR
1$:	DEC	TB.Y(R5)
	BGE	2$
	ADD	TB.ALL(R5),TB.Y(R5)
2$:	CALL	TSTCUT
	BEQ	1$
	BR	CURON

DOWN:	TST	R5
	BEQ	ENTER
	BR	.RIGHT

RIGHT:	TST	R5
	BEQ	.RIGHT
	.WRES
	CLR	R5
	COMB	FL.ENT

.RIGHT:	CALL	CURSOR
1$:	INC	TB.Y(R5)
	CMP	TB.Y(R5),TB.ALL(R5)
	BNE	2$
	CLR	TB.Y(R5)
2$:	CALL	TSTCUT
	BEQ	1$
	BR	CURON

DONE:	.WRES
	TST	R5
	BEQ	1$
	CLR	R5
	BR	KEYIN

1$:	.WSCUR
.ENTRY:	JMP	ENTRY

ENTER:	JMP	@TB.E(R5)

F.ARR:	COM	AUTORR
	BR	.ENTRY
F.CL:	COM	CLOCK
	BNE	.ENTRY
	TST	MODE+$1
	BPL	1$
	.WCLR	#WIDTH-5,#0,#5
	BR	2$
1$:	.WATTR	#^B0110
	.WPUT	#BRD1B+<WIDTH/2>-5,#WIDTH-5,#0,#5
	.WATTR	#^B1001
2$:	BR	.ENTRY

E.MAIN:	CLRB	FL.ENT
	CLR	FL
	MOV	TB.Y(R5),R5
	CMP	R5,#3
	BNE	9$
AUTORR	==	. + 2
	TST	#0
	BEQ	10$
	MOVB	#5.,FL1
10$:
CLOCK	==	. + 2
	TST	#0
	BEQ	9$
	MOVB	#6.,FL2

9$:	INC	R5
	ASL	R5
	MOV	TB.01(R5),R4
	BEQ	FLSET
	MOVB	TB.12(R5),R0
	MOVB	R0,.MLR1
	MOVB	R0,.MLR2

	TSTB	CTRLO
	BNE	3$

	MOV	MODE(R4),R0
	TST	R0
	BPL	4$
3$:	MOVB	#5,R1
	BR	6$
4$:	TSTB	R0
	BPL	5$
	MOVB	#4,R1
	BR	6$
5$:	MOVB	R0,R1
	INCB	R1
6$:	MOVB	R1,FL1

	MOV	TSORT(R4),R0
	BNE	7$
	MOVB	#11.,R0
	BR	8$
7$:	ASR	R0
	ADD	#6,R0
8$:	MOVB	R0,FL2

FLSET:	MOV	TB.BX(R5),R1
	MOV	#1,R2
	MOV	TB.ALL(R5),R4
	ADD	#2,R4
	.PUSH	R1
	.PUSH	R2
	.PUSH	TB.DX(R5)
	ADD	#2,@SP
	.PUSH	R4
	INC	@SP
	.WGET

	MOV	TB.M(R5),R0
	MOV	TB.L(R5),R3
1$:	.WPUT	R0,R1,R2,TB.DX(R5)
	TST	@R3
	BEQ	2$
	.PUSH	R1
	ADD	@R3,@SP
	.WBRIT	,R2,#1

2$:	TST	(R3)+
	CMPB	R2,FL1
	BEQ	4$
3$:	CMPB	R2,FL2
	BNE	5$
4$:	.PUSH	#.MARK
	.PUSH	R1
	INC	@SP
	.WPUT	,,R2,#1
5$:
	ADD	TB.DX(R5),R0
	INC	R2

	.PUSH	R1
	ADD	TB.DX(R5),@SP
	.WDARK	,R2,#2

	SOB	R4,1$

	ADD	#2,R1
	.PUSH	R1
	.PUSH	R2
	.PUSH	TB.DX(R5)
	SUB	#2,@SP
	.WDARK

	JMP	CURON

E.LR:	MOV	TB.01(R5),R4
	MOV	TB.Y(R5),R0
	ASL	R0
	ADD	R0,PC
	BR	1$
	BR	2$
	BR	4$
	BR	5$
	.WORD
	BR	6$
	BR	7$
	BR	8$
	BR	9$
	BR	10$
	.WORD
	BR	11$
	.WRES
	.WRES
	MOV	R4,R5
	JMP	DEVICE

1$:	MOV	#BRIEF,R0
	BR	20$
2$:	MOV	#FULL,R0
	BR	20$
20$:	CMP	R0,MODE(R4)
	BEQ	.DONE
	MOV	R0,MODE(R4)
	BR	23$

4$:	MOV	#INFO,R0
	XOR	R0,MODE(R4)
	BIC	#ONOFF,MODE(R4)
	INCB	RREAD(R4)
	BR	24$
5$:	MOV	#ONOFF,R0
	XOR	R0,MODE(R4)
	INCB	RREAD(R4)
	BR	25$

6$:	MOV	#BYNAME,R0
	BR	22$
7$:	MOV	#BYEXT,R0
	BR	22$
8$:	MOV	#BYDATE,R0
	BR	22$
9$:	MOV	#BYSIZE,R0
	BR	22$
10$:	CLR	R0
22$:	CMP	R0,TSORT(R4)
	BEQ	.DONE
	MOV	R0,TSORT(R4)
23$:	BIC	#INFO,MODE(R4)
24$:	BIC	#ONOFF,MODE(R4)
25$:	DECB	RDRAW(R4)
	CLRB	CTRLO
	BR	.DONE

11$:	MOV	R4,R5
	INCB	RREAD(R5)
.DONE:	.WRES
	CLR	R5
	JMP	DONE

E.J:	MOV	$PANEL,R0
	BIT	#ONOFF!INFO,MODE(R0)
	BEQ	1$

	MOV	TB.DS(R5),R0
	ADD	TB.Y(R5),R0
	TSTB	@R0
	BNE	1$
	JMP	KEYIN

1$:	.WRES
	.WRES
	.WSCUR
	MOV	TB.Y(R5),R0
	ASL	R0
	ADD	TB.J(R5),R0
	MOV	$PANEL,R5
	JMP	@(R0)+

CURSOR:	MOV	TB.Y(R5),R0
	TST	R5
	BNE	1$
	INC	R0
	ASL	R0
	.WINV	TB.BX(R0),#0,TB.MDX(R0)
	RETURN

1$:	.PUSH	TB.BX(R5)
	INC	@SP
	.PUSH	R0
	ADD	#2,@SP
	.PUSH	TB.DX(R5)
	SUB	#2,@SP
	.WSWAB
	RETURN

TSTCUT:	MOV	TB.C(R5),R1
	ADD	TB.Y(R5),R1
	TSTB	@R1
	RETURN

.MACRO	.EXT	CHAR,N
	.REPT	N
		.BYTE	200!CHAR
	.ENDR
.ENDM

FL:
FL1:	.BYTE
FL2:	.BYTE

	.GLOBL	A.F7	A.F9	S.F9

	.GLOBL	HELP	EDIT	VIEW	RENMOV
	.GLOBL	COPY	UNPRO	PRO	DELETE
	.GLOBL	GPL	GMI
	.GLOBL	$DONE

	.GLOBL	A.F8	S.O	S.L	S.P	A.F5	A.F10

	.RADIX	10

F.FILE:	.BYTE	1,	0,	0,	0,	0,	0
	.BYTE	0,	0,	0,	0,	0,	0
	.BYTE	1

F.COMM:	.BYTE	1,	0,	1,	0,	0,	0
	.BYTE	0,	1

F.OPT:	.BYTE	1,	1,	0,	1,	1,	0
	.BYTE	1
	.EVEN

TB.DS:	.WORD	0	,0	,F.FILE	,F.COMM	,F.OPT

TB.Y:	.BLKW	6
TB.E:	.WORD	E.MAIN	,E.LR	,E.J	,E.J	,E.J	,E.LR
TB.01:	.WORD	0	,$0	,0	,0	,0	,$1
TB.12:	.WORD	0	,'1	,0	,0	,0	,'2
TB.MDX:	.WORD	0	,8	,9	,12	,11	,9
TB.BX:	.WORD	0	,2	,10	,19	,31	,42
TB.ALL:	.WORD	5	,13	,13	,8	,7	,13
TB.DX:	.WORD	0	,22	,26	,34	,24	,22
TB.M:	.WORD	M.MAIN	,M.LR	,M.FILE	,M.COMM	,M.OPT	,M.LR
TB.C:	.WORD	C.MAIN	,C.LR	,C.FILE	,C.COMM	,C.OPT	,C.LR
TB.L:	.WORD	0	,L.LR	,L.FILE	,L.COMM	,L.OPT	,L.LR
TB.J:	.WORD	0	,0	,J.FILE	,J.COMM	,J.OPT

J.OPT:	.WORD	A.F9	,A.F7	,0	,F.ARR	,F.CL	,0
	.WORD	S.F9

J.FILE:	.WORD	HELP	,EDIT	,VIEW	,RENMOV
	.WORD	COPY	,UNPRO	,PRO	,DELETE	,0
	.WORD	GPL	,GMI	,0
	.WORD	$DONE

J.COMM:	.WORD	A.F8	,0	,S.O	,S.L	,S.P
	.WORD	A.F5	,0	,A.F10

L.LR:	.WORD	,3,3,3,3, ,3,4,5,3,3, ,3,3,
L.FILE:	.WORD	,2,2,2,2,2,2,2,2, ,9,3, ,2,
L.COMM:	.WORD	,2, ,9,11,11,2, ,3,
L.OPT:	.WORD	,3,3, ,8,3, ,3,
	.RADIX

C.MAIN:	.ASCII	"LFCOR"<-1>
C.LR:	.ASCII	"BFIO"<0>"NXTSU"<0>"RD"<-1>
C.FILE:	.ASCII	"HEVRCUPD"<0>"GN"<0>"Q"<-1>
C.COMM:	.ASCII	"H"<0>"OLPC"<0>"X"<-1>
C.OPT:	.ASCII	"EP"<0>"RC"<0>"S"<-1>

M.MAIN:	.ASCII	"    Left    Files    Commands    Options    Right"
M..MAIN:

M.LR:	.EXT	52,1
	.EXT	65,20.
	.EXT	43,1
	.ASCII	<267>"  Brief             "<267>
	.ASCII	<267>"  Full              "<267>
	.ASCII	<267>"  Info              "<267>
	.ASCII	<267>"  On/Off    Ctrl-F"
.MLR1:	.ASCII	"? "<267>
	.ASCII	<267>" "
	.EXT	65,18.
	.ASCII	" "<267>
	.ASCII	<267>"  Name              "<267>
	.ASCII	<267>"  eXtension         "<267>
	.ASCII	<267>"  daTe              "<267>
	.ASCII	<267>"  Size              "<267>
	.ASCII	<267>"  Unsorted          "<267>
	.ASCII	<267>" "
	.EXT	65,18.
	.ASCII	" "<267>
	.ASCII	<267>"  Re-read    Ctrl-R "<267>
	.ASCII	<267>"  Device...  Alt-F"
.MLR2:	.ASCII	"? "<267>
	.EXT	46,1
	.EXT	65,20.
	.EXT	71,1

M.FILE:	.EXT	52,1
	.EXT	65,24.
	.EXT	43,1
	.ASCII	<267>" Help            F1     "<267>
	.ASCII	<267>" Edit            F2     "<267>
	.ASCII	<267>" View            F3     "<267>
	.ASCII	<267>" Rename or move  F4     "<267>
	.ASCII	<267>" Copy            F5     "<267>
	.ASCII	<267>" Unprotect       F6     "<267>
	.ASCII	<267>" Protect         F7     "<267>
	.ASCII	<267>" Delete          F8     "<267>
	.ASCII	<267>" "
	.EXT	65,22.
	.ASCII	" "<267>
	.ASCII	<267>" select Group    Gray + "<267>
	.ASCII	<267>" uNselect group  Gray - "<267>
	.ASCII	<267>" "
	.EXT	65,22.
	.ASCII	" "<267>
	.ASCII	<267>" Quit            F10    "<267>
	.EXT	46,1
	.EXT	65,24.
	.EXT	71,1

M.COMM:	.EXT	52,1
	.EXT	65,32.
	.EXT	43,1
	.ASCII	<267>" History                Alt-F8  "<267>
	.ASCII	<267>" "
	.EXT	65,30.
	.ASCII	" "<267>
	.ASCII	<267>" panels On/off          Ctrl-O  "<267>

	.ASCII	<267>" info paneL on/off      Ctrl-L  "<267>
	.ASCII	<267>" inactive Panel on/off  Ctrl-P  "<267>

	.ASCII	<267>" Compare directories    Alt-F5  "<267>
	.ASCII	<267>" "
	.EXT	65,30.
	.ASCII	" "<267>
	.ASCII	<267>" eXtention file edit    Alt-F10 "<267>
	.EXT	46,1
	.EXT	65,32.
	.EXT	71,1

M.OPT:	.EXT	52,1
	.EXT	65,22.
	.EXT	43,1
	.ASCII	<267>"  Editor...    Alt-F9 "<267>
	.ASCII	<267>"  Palette...   Alt-F7 "<267> 
	.ASCII	<267>" "
	.EXT	65,20.
	.ASCII	" "<267>
	.ASCII	<267>"  auto Re-read        "<267>
	.ASCII	<267>"  Clock               "<267>
	.ASCII	<267>" "
	.EXT	65,20.
	.ASCII	" "<267>
	.ASCII	<267>"  Save setup  Ctrl-F9 "<267>
	.EXT	46,1
	.EXT	65,22.
	.EXT	71,1

.MARK:	.BYTE	203

	.EVEN

	.END 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                       