	.TITLE	DEVICE
 	.DSABL	GBL
	.GLOBL	RAD
	.GLOBL	ENTRY
	.GLOBL	WINPKEY
	.GLOBL	DEV	MODE	BAX	RREAD
	.GLOBL	INFO	ONOFF	CTRLO
	.GLOBL	NDEV	DEVTAB	D07TAB

	.INCLU	"SCRMAC"
	.INCLU	"DIAMAC"

BY	=	6.

.MACRO	.LABEL	ADDR,CODE
	.WORD	ADDR-.,CODE
.ENDM

DISP:	TST	(R0)+
	BEQ	NOTF
	CMP	(R0)+,(SP)
	BNE	DISP
	CALL	CURSOR
	TST	-(R0)
	ADD	-(R0),R0
NOTF:	RTS	R0

A.F1::
	TST	-2(R5)
	BLT	OTHER
	BR	DEVICE
A.F2::
	TST	-2(R5)
	BLT	DEVICE
OTHER:	ADD	-(R5),R5

DEVICE::
	MOV	NDEV,R3
	MUL	#5.,R3
	MOV	R3,DX

	CMP	DX,#5.*2.
	BGE	5$
	MOV	#5.*2.,DX
5$:	.DIALOG	#D.DEV
	CMP	NDEV,#1
	BGT	6$
	ADD	#3,DIA.BX
6$:	MOV	DIA.BX,X

	.WATTR	#^B1011

	CLR	SX
	MOV	NDEV,R2
	MOV	#D07TAB,R1
	MOV	#DEVTAB,R3
1$:	MOV	(R3)+,R0
	MOV	R0,SDEV
	MOV	R1,-(SP)
	MOV	#STR+1,R1
	CALL	RAD

	MOV	(SP)+,R1
	MOV	#10,R4
	MOV	#BY,Y
	CLR	SY

2$:	TST	(R1)+
	BNE	4$
	.WATTR	#^B1000

4$:	CMP	SDEV,@DEV(R5)
	BNE	3$
	MOV	SX,FX
	MOV	SY,FY

3$:	.WPUT	#STR,X,Y,#5
	.WATTR	#^B1011
	INCB	STR+3
	INC	SDEV
	INC	Y
	INC	SY
	SOB	R4,2$
	ADD	#5.,X
	INC	SX
	SOB	R2,1$

	MOV	FX,R1
	MOV	FY,R2

CURON:	CALL	CURSOR
KEYIN:	CALL	WINPKEY
	JSR	R0,DISP
	.LABEL	DOWN	,215
	.LABEL	DOWN	, 40
	.LABEL	UP	,214
	.LABEL	LEFT	,216
	.LABEL	RIGHT	,217
	.LABEL	RIGHT	, 11
	.LABEL	DONE	,212
	.LABEL	DONE	, 33
	.LABEL	ENTER	,200
	.WORD
	SUB	#'0,R0
	BLT	KEYIN
	CMP	R0,#7.
	BGT	KEYIN
	CALL	CURSOR
	MOV	R0,R2
	BR	ENTER

UP:	DEC	R2
	BR	BIC7

DOWN:	INC	R2
BIC7:	BIC	#^C7,R2
	BR	CURON

LEFT:	DEC	R1
	BGE	CURON
	MOV	NDEV,R1
	BR	LEFT

RIGHT:	INC	R1
	CMP	R1,NDEV	
	BNE	CURON
	CLR	R1
	BR	CURON

ENTER:	CALL	CURSOR
	MOV	R1,R0
	ASH	#3,R0
	ADD	R2,R0
	ASL	R0
	MOV	D07TAB(R0),R0
	BEQ	KEYIN
	MOV	R0,@DEV(R5)
	CLRB	CTRLO
	BIC	#ONOFF!INFO,MODE(R5)
	INCB	RREAD(R5)
DONE:	.WRES
	.WSCUR
	JMP	ENTRY

CURSOR:	MOV	R1,R3
	MUL	#5,R3
	ADD	DIA.BX,R3
	MOV	R2,R4
	ADD	#BY,R4
	.WSWAB	R3,R4,#5
	RETURN

FX:	.WORD
FY:	.WORD
SX:	.WORD
SY:	.WORD
X:	.WORD
Y:	.WORD

SDEV:	.RAD50	"XX0"

D.DEV:
	.BYTE	^B1000,-1
DX:	.WORD	0,10
	.WORD	BY-2.
	.WORD	TL.DEV
	.WORD
	.WORD

TL.DEV:	.ASCIZ	" Device "

FOUND:	.BYTE
STR:	.ASCII	" XX0 "
	.EVEN

	.END
                                                                                                                                                                                                                                                                                                                                                                                         