start tok64 d64-L3G7At 0 GOTO8640 120 PRINT"{clear} {reverse on}{light blue}U{D*36}I" 140 PRINT" {reverse on}{light blue}{sh -}{blue}{space*12}disk{space*2}master{space*12}{light blue}{sh -}{reverse off}{black}" 160 PRINT" {reverse on}{light blue}J{C*36}K{reverse off}{black}":PRINT:PRINT:RETURN 180 200 220 c-64 / SINgle 1541 240 260 280 improved by 300 fritz oppliger 320 pobox 1187 340 redway ca 95560 360 380 thanks TO 400 r w baker 420 m CONTino 440 460 ok TO copy but NOT TO sell 480 500 520 CLOSE5:CLOSE4:cx=0:pd=3:c$="" 540 POKE53280,15:GOSUB1000:GOSUB120 560 v$(0)="> list disk{blue} names,id's {black}{space*15}" 580 v$(1)="> display{blue} selected directory{black}{space*10}" 600 v$(2)="> find{blue} specified file {black}{space*16}" 620 v$(3)=">{blue} update {black}master directory{space*13}" 640 v$(4)=">{blue} delete {black}disk entry from master{space*7}" 660 v$(5)=">{space*3}list{blue} min {black}free blocks per disk{space*5}" 680 v$(6)=">{space*3}list{blue} max {black}free blocks per disk{space*5}" 700 v$(7)=">{space*3}quick list of{blue} id's in use {black}{space*8}" 720 v$(8)=">{space*3}print full id useage{blue} chart {black}{space*7}" 740 v$(9)=">{white}{space*3}{red}{space*2}{white} exit {black}to basic{space*18}" 760 PRINT"{down*11}{space*8}UC{red}{reverse on}{sh pound}{cm asterisk}{reverse off}{black}{C*5}I{space*10}U{C*8}I" 780 PRINT"{space*2}use{space*3}B {red}cursor{black} B{space*3}and{space*4}B {red}return{black} B" 800 PRINT"{space*8}J{C*5}{red}{cm asterisk}{sh pound}{black}CK{space*10}J{C*8}K" 820 np=9:GOSUB8940 840 860 REM branching... 880 900 ONv GOTO5340,3520,1140,1960,4300,7320,7480,5060,4580,7000 920 940 960 sound... 980 1000 POKE54296,15:POKE54277,2:POKE54278,251 1020 POKE54276,17:POKE54273,80 :POKE54272,10:FORp=.TO22:NEXT 1040 FORp=.TO30:POKE54276,16:NEXT 1060 RETURN 1080 1100 specIFied file... 1120 1140 IFnx=0THENGOSUB5720:GOTO520 1160 CLOSE4:PRINT"{clear}to find what disk(s) a file is on":PRINT 1180 PRINT"enter file name ":PRINT:PRINT"(first letters;'*'not needed)":PRINT 1200 INPUTf$:IFf$=""THEN520 1220 IFf$="*"THENPRINT:PRINT"re-";:GOTO1180 1240 s$=f$:GOSUB6000:v=y:GOSUB6100 1260 OPEN4,pd:PRINT#4,"{reverse on}{light blue} file name {.*6} id, disk name{space*2}{.*7}{black}":PRINT#4 1280 IFst<>.THENGOSUB8220:GOTO520 1300 PRINT#4,s$:q$=LEFT$(s$,1):PRINT#4 1320 POKEad-1,ASC(q$):POKEgin+27,192:REM modify ml 1340 FORz=.TOnx-1:di$=LEFT$(x$(z),2):dn$=MID$(x$(z),3) 1360 s$="0:dir."+di$ 1380 PRINT"{blue}{space*8}U{C*9}{cm r}CCI{space*3}U{C*4}I{space*7}" 1400 PRINT"{reverse on}{blue} reading{reverse off}{cm k}{black}";LEFT$(dn$,9);"{blue}B{black}";di$;"{blue}B{space*3}B{red} {arrow left}{blue} {cm asterisk}{reverse on}to skip {reverse off}" 1420 PRINT"{blue}{space*8}J{C*9}{cm e}CCK{space*3}J{C*4}K{space*7}" 1440 GOSUB9420:PRINT"{up*3}"; 1460 OPEN5,8,5,"0:dir."+di$+",s,r":ef=15 1480 INPUT#5,df$,nb 1500 IFPEEK(q)>.THENGOSUB1000:GOTO1840 1520 SYSad 1540 IFPEEK(q)>.THENGOSUB1000:GOTO1840 1560 s$=CHR$(PEEK(ad-2)):POKEgin+28,18:SYSgin:s$=s$+LEFT$(in$,15):POKEgin+28,20 1620 ss=st:INPUT#15,en,em$:IFen>.THENGOSUB6520:GOTO8140 1640 IFf$.THEN1720 1700 SYSgin:s$=MID$(in$,2,16):GOTO1620 1720 CLOSE5:NEXTz 1740 GOSUB6520 1760 IFpd=4THEN520 1780 GOSUB9700 1800 GOSUB6260 1820 GOTO520 1840 GETc$:IFc$="{arrow left}"THENPOKEq,.:GOTO1720 1860 IFc$="q"THENCLOSE5:GOSUB6520:GOTO520 1880 PRINT"{red}Q{left}{blue}";:FORx=.TO99:NEXT:WAIT197,64,64:GOSUB1000:PRINT" {left}";: 1900 FORx=.TO99:NEXTx:POKEq,.:GOTO1520 1920 1940 updating... 1960 1980 CLOSE15:cx=0:POKE53280,14 2000 me$="insert disk to be catalogued" 2020 GOSUB8280 2040 IFc$="q"THENGOSUB7100:GOTO520 2060 GOSUB6480:PRINT"ok":OPEN15,8,15,"i0" 2080 IFst<>.THEN8140 2100 OPEN5,8,5,"$0" 2120 SYSgin 2140 GOSUB8120 2160 dn$=MID$(in$,143,16) 2180 di$=MID$(in$,161,2) 2200 di$=LEFT$(di$+"{space*2}",2) 2220 PRINT"{clear}{down*3}{reverse on}{blue}{space*2}disk name, id{space*2}:{black}{reverse off} "dn$", "di$:PRINT 2240 nb=0 :REM bam 2260 FORz=3TO141STEP4:c$=MID$(in$,z,1):v=ASC(c$) 2280 IFz=71THENNEXTz 2300 nb=nb+v 2320 NEXT 2340 IFnx=0THEN2640 2360 FORx=0TOnx-1:c$=LEFT$(x$(x),2) 2380 IFdi$c$THENNEXTx:GOTO2640 2420 IFdn$=MID$(x$(x),3)THEN2640 2440 PRINT"{clear}{down*2}"SPC(10)"*{space*2}warning{space*2}*":PRINT:PRINT"this disk id : {reverse on}";di$;"{reverse off}" 2460 PRINT:PRINT"disk name: {reverse on}";dn$ 2480 PRINT:PRINT"is already cataloged with a different " 2500 PRINT:PRINT"disk name: {reverse on}";MID$(x$(x),3):PRINT 2520 GOSUB6480 2540 PRINT"cataloging this disk will delete the" 2560 PRINT:PRINT"previous data" 2580 GOSUB6480:PRINT 2600 INPUT"catalog this disk? y{left*3}";c$:IFc$<>"y"THENGOSUB7100:GOTO3420 2620 PRINT"{clear}{down*3}{space*4}cataloging disk with new disk name":PRINT 2640 PRINT"reading directory entries{.*3}":PRINT 2660 df$=MID$(in$,164,2) 2680 nf=0:z=0 2700 se=18 2720 se=se-1:SYSgin 2740 j=257:z=32 2760 j=j-z:a=.:v=.:l=. 2780 f$=MID$(in$,j,1):a=ASC(f$) 2800 IFa<129THEN3020 2820 s$=MID$(in$,j+3,16) 2840 c$=MID$(in$,j+28,1):IFc$<>""THENv=ASC(c$) 2860 q$=MID$(in$,j+29,1):IFq$<>""THENl=ASC(q$) 2880 IFnf=0THEN2940 2900 FORx=1TOnf:IFs$1THEN2760 3040 IFstTHENse=. 3060 IFseTHEN2720 3080 CLOSE5:PRINTnb" {reverse on} blocks free{reverse off}":FORi=.TO1300:NEXT:GOSUB1000 3100 GOSUB7100 3120 PRINT"{down*4}{space*5}updating master directory{.*3}{down}" 3140 IFnx=0THEN3240 3160 FORx=0TOnx-1:c$=LEFT$(x$(x),2):IFdi$0 THEN FOR x=1 TO nf:PRINT#5,d$(x);cr$; 3380 GOSUB8120 3400 NEXTx 3420 CLOSE5:GOSUB6720 3440 cx=0:GOTO540 3460 3480 display.... 3500 3520 PRINT"{clear}{down*2}{space*6}to display disk directory" 3540 GOSUB5700 3560 IFmTHENm=.:GOTO520 3580 PRINT"{reverse on}{blue}{space*2}disk name, id{space*2}:{black}{reverse off} "dn$", "di$:PRINT:PRINT 3600 GOSUB6120 3620 OPEN5,8,5,s$+",s,r":GOSUB8120 3640 INPUT#5,df$,nb:GOSUB8120 3660 OPEN4,pd:PRINT#4,"{reverse on}{blue}{space*2}disk name, id{space*2}:{black}{reverse off} "dn$", "di$: 3680 IFst<>.THENGOSUB8220:GOTO520 3700 PRINT#4:PRINT#4,"{reverse on}{blue}{space*5}blocks free :{black}{reverse off} "nb 3720 PRINT#4:PRINT#4,"{reverse on}{blue}{space*10}format :{black}{reverse off} "df$:PRINT#4 3740 PRINT#4,"{C*40}":PRINT#4 3760 PRINT"{up*3}":GOSUB9420:PRINT"{down*3}" 3780 nf=0:j=8:IFss<>0THEN4180 3800 GOSUB6500 3820 SYSgin:GOSUB8120 3840 c$=LEFT$(in$,1):ft=ASC(c$) 3860 s$=MID$(in$,2,16) 3880 z=ASC(MID$(in$,18,1)) 3900 v=ASC(MID$(in$,19,1)) 3920 PRINT#4,RIGHT$("{space*6}"+STR$(z+(256*v)),4);"{space*2}";s$;"{space*3}"; 3940 IFft=129THENPRINT#4,"seq{space*3}"; 3960 IFft=130THENPRINT#4,"prg{space*3}"; 3980 IFft=131THENPRINT#4,"usr{space*3}"; 4000 IFft=132THENPRINT#4,"rel{space*3}"; 4020 PRINT#4 4040 IFPEEK(q)>.THENGOSUB1000:GETc$:IFc$<>""ANDc$<>"q"THENGOSUB6420 4060 IFc$="q"THENGOSUB6520:GOTO520 4080 nf=nf+1:IFss=.THEN3820 4100 GOSUB6520 4120 PRINT#4 4140 PRINT#4,nb;" {reverse on}blocks free{reverse off}{space*7}";nf;" {reverse on}files{reverse off}{space*4}" 4160 PRINT#4 4180 IFpd=3THENPRINT"this was "di$", "dn$ 4200 GOSUB6260 4220 GOTO520 4240 4260 deLETe..... 4280 4300 PRINT"{clear}{down*2}{space*2}to delete disk from master directory" 4320 POKE53280,2:GOSUB5700:POKE53280,15 4340 IFmTHENm=.:GOTO520 4360 PRINT"{down*2}{right*4}deleting :"di$"{space*2}"dn$:PRINT:PRINT 4380 PRINT#15,"s"+s$ 4400 cx=0:FORx=0TOnx-1:IFLEFT$(x$(x),2)=di$THENcx=1 4420 IFcxTHENx$(x)=x$(x+1) 4440 NEXTx:nx=nx-1 4460 INPUT"{space*4}any more? n{left*3}";c$:IFc$="y"THEN4300 4480 GOSUB6720 4500 GOTO520 4520 4540 PRINT chart..... 4560 4580 GOSUB1000:INPUT"{clear}{down*4}{space*7}printer ready? y{left*3}";c$:PRINT:IFc$<>"y"THEN540 4600 PRINT"{clear}{down*2}{space*2}printing chart{.*3}":OPEN4,4 4620 PRINT#4,""SPC(15);CHR$(14);"{space*2}disk id useage chart" 4640 PRINT#4,CHR$(15):PRINT#4," "; 4660 IFst<>.THENGOSUB8220:GOTO520 4680 FORx=48TO90:IFx=58THENx=65 4700 PRINT#4," ";CHR$(x);:NEXTx:PRINT#4 4720 z=0:FORx=48TO90:IFx=58THENx=65 4740 PRINT#4,CHR$(15);" {sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}"; 4760 PRINT#4,"{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}{sh asterisk}{sh +}";CHR$(8) 4780 PRINT#4,CHR$(15)CHR$(x); 4800 FORy=48TO90:IFy=58THENy=65 4820 PRINT#4,CHR$(221);:IFz=nxTHEN4880 4840 c$=CHR$(x)+CHR$(y):s$=LEFT$(x$(z),2) 4860 IFs$=c$THENPRINT#4,CHR$(166);:z=z+1:GOTO4900 4880 PRINT#4," "; 4900 NEXTy:PRINT#4,CHR$(221)CHR$(8) 4920 IFPEEK(q)>.THENGOSUB1000:POKEq,.:GOSUB6420 4940 IFc$<>"q"THENNEXTx 4960 PRINT#4,CHR$(15);" {cm z}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}"; 4980 PRINT#4,"{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm e}{sh asterisk}{cm x}":GOTO520 5000 5020 quick LIST.... 5040 5060 PRINT"{clear}":OPEN4,pd 5080 PRINT#4,"{space*7}{reverse on}{blue} disk id's currently in use {reverse off}{black}" 5100 IFst<>.THENGOSUB8220:GOTO520 5120 PRINT#4:IFnx=.THENz=.:GOTO5220 5140 v=12:IFpd=4THENv=25 5160 z=0:FORx=0TOnx-1:PRINT#4,LEFT$(x$(x),2);" "; 5180 z=z+1:IFz=INT(z/v)*vTHENPRINT#4 5200 NEXTx:PRINT#4:IFz<>INT(z/v)*vTHENPRINT#4 5220 PRINT#4,z;" disks in master directory":CLOSE4:IFpd=4THEN520 5240 GOSUB6100:IFpd=4GOTO5060 5260 GOTO520 5280 5300 names & id... 5320 5340 PRINT"{clear}":PRINT 5360 OPEN4,pd:PRINT#4,"{reverse on}{blue} id{space*2}{.*3}disk name {.*3}{black}{reverse off}":PRINT#4 5380 IFst<>.THENGOSUB8220:GOTO520 5400 GOSUB9420:PRINT"{down*3}" 5420 c$="":IFnx=.THENGOTO5540 5440 FORx=.TOnx-1 5460 PRINT#4,LEFT$(x$(x),2);"{space*2}";MID$(x$(x),3);"{space*10}" 5480 IFPEEK(q)>.THENGOSUB1000:GETc$:IFc$<>""ANDc$<>"q"THENGOSUB6420 5500 IFc$="q"THENGOTO520 5520 NEXTx:PRINT#4 5540 PRINT#4,nx;" disks in master directory{space*9}":CLOSE4 5560 IFpd=4THENGOTO520 5580 GOSUB6100:IFpd=4THENGOTO5360 5600 GOTO520 5620 5640 setup strings FOR seleciON... 5660 5680 FORx=1TO nr:v$(x)=b$:NEXT:RETURN 5700 v=3:IFnx>0THEN5740 5720 PRINT"{clear}{reverse on}{down*2}{right*4} no entries in master directory":FORx=1TO150:NEXT:RETURN 5740 sl=1:np=0:v$(0)="{space*2}next page{.*7}{white}exit{black}":GOSUB9520 5760 nr=19 5780 sl=sl+np:np=nx-sl+1:IFnp>nrTHENnp=nr 5800 IFnp=.THEN5940 5820 GOSUB5680:PRINT"{home}{down*4}":FORx=.TO18:PRINT"{space*23}":NEXT 5840 FORx=1TOnp:v$(x)=LEFT$(x$(sl+x-2),2)+"{space*4}"+MID$(x$(sl+x-2),3):NEXT 5860 GOSUB8940:IFcl+rl=0THEN5780 5880 di$=LEFT$(x$(sl+v-3),2) 5900 dn$=MID$(x$(sl+v-3),3) 5920 s$="0:dir."+di$:PRINT"{clear}":RETURN 5940 PRINT"{clear}{down*3}{right*4}end of files":FORx=1TO1000:NEXT:m=1:RETURN 5960 s$="0:dir."+di$:RETURN 5980 6000 f$=LEFT$(f$,16) 6020 IFRIGHT$(f$,1)="*"THENy=LEN(f$)-1:f$=LEFT$(f$,y):RETURN 6040 y=LEN(f$) 6060 f$=LEFT$(f$+"{space*16}",y):RETURN 6080 6100 GOSUB6480 6120 GOSUB1000:INPUT"{red}{space*10}want printed copy? n{left*3}";c$:PRINT"{black}" 6140 pd=3:IFc$="y"THENpd=4:GOSUB6200 6160 IFpd=3THENPRINT"{clear}"; 6180 RETURN 6200 GOSUB1000:INPUT"{space*9}printer ready? y{left*3}";c$:PRINT:IFc$<>"y"THEN6120 6220 RETURN 6240 6260 PRINT"{blue}{space*8}U{C*9}I{space*20}" 6280 PRINT"{reverse on}{space*8}{cm l}{reverse off}{red} return{blue} {cm asterisk}{reverse on}to continue{.*3}{space*8}{reverse off}" 6300 PRINT"{up}{space*8}J{C*9}K{space*17}{black}" 6320 IFnTHENRETURN 6340 GOSUB1000 6360 GETc$:IFc$<>CHR$(13)THEN6360 6380 GOSUB1000:RETURN 6400 : 6420 GETc$:IFc$=""THEN6420 6440 GOSUB1000:RETURN 6460 : 6480 PRINT"{blue}{reverse on}{space*40}{reverse off}{black}":RETURN 6500 POKE gin+27,192:POKE gin+28,20:RETURN:REM get 20 chars at a time 6520 POKE gin+27,196:POKE gin+28,139:RETURN:REM restore to get full in$ 6540 : 6560 INPUT#15,en,em$,et,es:IFen=.THENRETURN 6580 PRINT"{clear}{reverse on}{red} disk error {black}{reverse off} while "; 6600 IFcxTHENPRINT"writing new" 6620 IFcx=0THENPRINT"reading" 6640 PRINT:PRINT"disk directory cross reference file.":PRINT 6660 PRINTen;em$;et;es 6680 PRINT:PRINT"{reverse on}{red} program aborted! {black}" 6700 GOTO7020 6720 IFcx=0THENRETURN 6740 PRINT"{down*2} updating directory cross reference{.*3}":PRINT 6760 IFnx=0THENPRINT#15,"s0:disk dir xref":RETURN 6780 PRINT#15,"s0:dir xref temp" 6800 OPEN5,8,5,"0:dir xref temp,s,w" 6820 GOSUB6560 6840 FORx=0TOnx-1:PRINT#5,x$(x);cr$; 6860 GOSUB6560 6880 NEXTx 6900 CLOSE5:PRINT#15,"s0:disk dir xref" 6920 PRINT#15,"r0:disk dir xref=0:dir xref temp" 6940 GOSUB6560 6960 RETURN 6980 7000 PRINT"{clear}" 7020 CLOSE4:CLOSE5:CLOSE15 7040 END 7060 7080 7100 PRINT"{clear}" 7120 me$="{space*3}insert{space*2}master{space*2}disk{space*5}" 7140 CLOSE15:GOSUB8280 7160 OPEN15,8,15,"i0":GOSUB8120 7180 PRINT#15,"c0:disk master=0:disk master" 7200 INPUT#15,en,em$ 7220 IFen=63THENRETURN 7240 FORx=.TO60:PRINT"{reverse on}{red}incorrect disk!{reverse off}{black}":NEXT:GOSUB6480:GOTO7140 7260 7280 min... 7300 7320 PRINT"{clear}enter minimum number of free blocks" 7340 PRINT:PRINT"to be displayed{space*3}0{left*3}"; 7360 INPUTs$:REM default=0 7380 y=VAL(s$):IFs$<>"0"ANDy=0THEN520 7400 vf=0:GOTO7560 7420 7440 max... 7460 7480 PRINT"{clear}enter maximum number of free blocks" 7500 PRINT:PRINT"to be displayed{space*2}99{left*4}";:INPUTs$ 7520 y=VAL(s$):IFy=0THEN520 7540 vf=1 7560 OPEN4,pd:PRINT#4:PRINT#4,"{reverse on}{light blue} #blks free..id{.*5}disk name{.*11}{black}":PRINT#4 7580 IFst<>.THENGOSUB8220:GOTO520 7600 FORx=0TOnx-1:di$=LEFT$(x$(x),2):dn$=MID$(x$(x),3) 7620 OPEN5,8,5,"0:dir."+di$+",s,r" 7640 GOSUB8120 7660 INPUT#5,df$,nb 7680 GOSUB8120 7700 CLOSE5 7720 IF(vf=0)AND(nby)THEN7800 7760 PRINT#4,RIGHT$("{space*7}"+STR$(nb),7);SPC(6);di$;"{space*5}";dn$ 7780 GOSUB9420 7800 IFPEEK(q)>.THENGOSUB1000:GETc$:IFc$<>""ANDc$<>"q"THENGOSUB6420 7820 IFc$="q"THENCLOSE4:GOTO540 7840 NEXTx:CLOSE4:GOSUB9700 7860 IFpd=3THENGOSUB6100:IFpd=4THEN7560 7880 GOTO540 7900 7920 7940 PRINT"{clear}{space*7}{reverse on}*** disk bam is invalid ***{reverse off}" 7960 GOSUB6480 7980 PRINT:PRINT"{space*3}current disk can not be cataloged!":PRINT:PRINT:PRINT 8000 PRINT"please verify or check disk contents":PRINT 8020 PRINT"before attempting to catalog this disk.":PRINT 8040 GOSUB6480 8060 GOSUB6260:PRINT"{clear}" 8080 GOTO3420 8100 8120 ss=st:INPUT#15,en,em$,et,es:IFen=.THENRETURN 8140 PRINT"{clear}{reverse on}{red} disk error! {black}":PRINT 8160 GOTO6660 8180 8200 8220 IFst=-128THENPRINTSPC(10)"device not present" 8240 PRINT"{space*2}??":GOSUB6260:RETURN 8260 8280 PRINT"{clear}" 8300 n=4:IFblTHENco$="{black}":GOTO8340 8320 co$="{white}" 8340 n=n-1 8360 PRINT"{down*4}{light blue}{space*4}U{C*12}{D*6}{C*12}I" 8380 PRINT"{light blue}{reverse on}{space*6}{reverse off}"co$;me$"{light blue}{reverse on}{space*6}{reverse off}" 8400 PRINT"{up}{light blue}{space*4}J{C*12}{F*6}{C*12}K{black}" 8420 GOSUB6260:GOTO8440 8440 GETc$:IFc$=CHR$(13)THENGOSUB1000:n=.:GOTO8560 8460 IFc$="q"THEN8560 8480 PRINT"{up*12}" 8500 IFn>1THEN8340 8520 IFblTHENbl=.:GOTO8300 8540 bl=1:GOTO8300 8560 PRINT"{clear}":RETURN 8580 8600 setup.... 8620 8640 POKE53281,15:POKE53280,15:POKE646,0:GOSUB120:GOSUB1000 8660 CLR:in$="zz":FORi=.TO5:in$=in$+in$:NEXT 8680 in$=MID$(in$,2):in$=in$+in$ 8700 c$="":s$=c$:q$="":z=.:x=.:y=.:l=.:ss=.:q=198:v=.:ad=932:gin=896 8720 IFPEEK(ad)<>162ORPEEK(gin)<>160THENFORi=gin TOad+38:READx:POKEi,x:NEXT 8740 cr$=CHR$(13):DIMd$(230),x$(230),v$(230) 8760 PRINT"{down}{space*3}reading cross reference file{.*3} 8780 OPEN15,8,15,"i0" 8800 GOSUB6560 8820 OPEN5,8,5,"0:disk dir xref,s,r" 8840 INPUT#15,en,em$,et,es:IFen=62THEN520 8860 INPUT#5,x$(nx):ss=st 8880 GOSUB6560 8900 nx=nx+1:IFss=0THEN8860 8920 GOTO520 8940 8960 REM cursor... 8980 9000 b$="{space*39}" 9020 xa=214:xb=198: 9040 PRINT"{home}{down*3}":FORx=.TOnp:PRINT"{right}";v$(x) 9060 NEXT 9080 POKExb,0:rl=.:cl=0:GOSUB9300 9100 FORi=0TO1STEP0 9120 GETz$:IFz$=""THEN9120 9140 z=ASC(z$):tc=cl:tr=rl:FORj=0TO1STEP0 9160 IFz=17THENrl=rl+1:IFrl=np+1THENrl=0 9180 IFz=145THENrl=rl-1:IFrl=-1THENrl=np 9200 IFz=13THENi=1 9220 IFv$<>b$THENj=1 9240 NEXT:IF(tc<>cl)OR(tr<>rl)THENGOSUB 9280 9260 NEXT:GOTO9320 9280 POKExa,tr+3:PRINT:PRINT"{right}";v$(tr) 9300 POKExa,rl+3:PRINT:PRINT"{reverse on}{right}";v$(rl):RETURN 9320 v=rl+1:GOSUB1000 9340 RETURN 9360 9380 various... 9400 9420 PRINT"{blue}{space*2}U{C*4}I{space*10}U{C*10}I{space*8}" 9440 PRINT"{reverse on}{space*2}{cm l}{reverse off}{red} q{blue} {cm asterisk}{reverse on}to quit{space*4}{cm l}{reverse off}{red} any{blue} key {cm asterisk}{reverse on}to hold{space*2}{reverse off}" 9460 PRINT"{space*2}J{C*4}K{space*10}J{C*10}K{space*8}{black}{up*3}":RETURN 9480 9500 9520 PRINTSPC(31)"{down*5}use":PRINT 9540 PRINTSPC(28)"UC{red}{reverse on}{sh pound}{cm asterisk}{reverse off}{black}{C*5}I" 9560 PRINTSPC(28)"B {red}cursor{black} B 9580 PRINTSPC(28)"J{C*5}{red}{cm asterisk}{sh pound}{black}CK 9600 PRINT:PRINTSPC(31)"and":PRINT 9620 PRINTSPC(28)"U{C*8}I 9640 PRINTSPC(28)"B {red}return{black} B 9660 PRINTSPC(28)"J{C*8}K 9680 RETURN 9700 FORz=1TO3:PRINT"*{space*37}*":NEXT:RETURN 9720 DATA 160,2,177,45,153,137,0,200,192,6 9740 DATA 208,246,162,5,32,198,255,32,228,255 9760 DATA 164,142,145,140,200,132,142,196,139,208 9780 DATA 242,76,204,255:REM sysgin 9800 DATA 0,0,162,5,32,198 9820 DATA 255,32,207,255,32,207,255,141,162,3 9840 DATA 205,163,3,240,17,176,15,162,18,32 9860 DATA 207,255,202,208,250,164,144,208,3,76 9880 DATA 169,3,76,204,255:REM sysad stop tok64 (bastext 1.0)