1 CLS
2 INPUT"START ADDRESS";S
3 IF S=0 THEN S=14000:E=16000:GOTO5
4 INPUT"END ADDRESS";E
5 AD=S
6 GR=&HD200
8 DIM C(30)
9 K1=15/64:K2=12/64
10 PMODE4,1:PCLS:SCREEN1,1
12 O=0:GOSUB9000
15 EXEC 7680,AD
20 X=INT(JOYSTK(0)*K1)*16+8:Y=INT(JOYSTK(1)*K2)*16:PUT(X,Y)-(X+15,Y+15),C,NOT
30 BL=0
190 PUT(X,Y)-(X+15,Y+15),C,NOT
200 X=INT(JOYSTK(0)*K1)*16+8
210 Y=INT(JOYSTK(1)*K2)*16
250 IF(PEEK(65280)AND1)=0THEN1000
260 PUT(X,Y)-(X+15,Y+15),C,NOT
270 A$=INKEY$
290 IF A$=CHR$(12)THEN3100
295 IF A$=" "THEN IF O=0 THEN O=9:GOSUB9000 ELSE O=0:GOSUB9000
300 GOTO 190
1000 IF X=8 AND Y=160 AND AD<=(E-10*16)THEN AD=AD+16:EXEC 7680,AD:GOTO250
1010 IF X=8 AND Y=176 AND AD>S THEN AD=AD-16:EXEC 7680,AD:GOTO250
1020 IF X>=8 AND X<=232 AND Y>=0 AND Y<=128 THEN GOSUB2000:GOTO200
1030 IF Y=160 AND X>=24 THEN GOSUB3000:GOTO250
1040 IF Y=176 AND X>=24 THEN GOSUB3020:GOTO250
1090 GOTO260
2000 A=AD+(X-8)/16+Y
2010 POKEA,BL
2020 EXEC7680,AD
2090 RETURN
3000 BL=(X-24)/16+7:IF BL=7 THEN BL=0
3010 RETURN
3020 BL=(X-24)/16+21+O:RETURN
3100 FORYY=0TO8
3110 FORXX=0TO15
3120 POKEAD+XX+16*YY,0:NEXT
3130 EXEC7680,AD
3140 NEXT
3150 GOTO250
9000 '
9010 DRAW"BM8,173 R14 H7 G7"
9012 DRAW"BM8,178 R14 G7 H7"
9020 P=1536+160*32+3
9022 EXEC 7900,&HD100,P
9023 P=P+2
9025 FOR G=0 TO 12
9030 EXEC 7900,GR+G*32,P
9040 P=P+2
9050 NEXT
9055 P=1536+176*32+3
9060 FOR G=13+O TO 26+O
9070 EXEC 7900,GR+G*32,P
9075 P=P+2
9080 NEXT
9900 RETURN
