start tok64 d64-oKKiKi 0 REM directory viewer 1 REM (c) 1991 mr.p. for sys 5 POKE53280,.:POKE53281,.:PRINT"{green}{clear}{down}{right}directory viewer (c) mr.p.":REM title 6 PRINT"{home}{white} {down*2}" 10 DIMf$(144) :REM entries in f$() 11 DIMt(17),s(17) :REM track§or #s 20 t(1)=18:s(1)=0 :REM starting block 25 n=1 :REM block counter 26 f=1 :REM file counter 30 OPEN15,8,15 :REM command channel 40 OPEN5,8,5,"#" :REM define buffer 50 PRINT#15,"u1 5 0"t(n);s(n):os=s(n) :REM read block 55 PRINT"{green}reading track{yellow}"t(n)"{left}{green},sector{yellow}"s(n)"{light blue}"; :REM message 56 INPUT#15,en,em$,et$,es$:IFen>19THENPRINT:PRINTen;em$" "et$" "es$:CLOSE15:END 60 GET#5,t$,s$ :REM blocklink 70 t=ASC(t$+CHR$(.)):REM next track 80 s=ASC(s$+CHR$(.)):REM next sector 90 IFt<>.THENn=n+1:t(n)=t:s(n)=s:PRINT"{green}link{yellow}"t"{green}{left},{yellow}"s :REM save linker 100 IFos>.THEN150 :REM not first block 110 PRINT#15,"b-p 5 144" :REM buffer-pointer 120 FORi=144TO159:GET#5,a$:dn$=dn$+a$:NEXT :REM disk name 125 PRINT#15,"b-p 5 162" :REM buffer-pointer 130 FORi=162TO166:GET#5,a$:id$=id$+a$:NEXT :REM disk id 140 GOTO50 :REM read directory 150 FORi=1TO8 :REM dir entries 160 PRINT#15,"b-p 5"(i-1)*32+2 :REM buffer-pointer 165 POKE1024,56-i :REM countdown 170 FORj=0TO29:GET#5,a$:f$(f)=f$(f)+CHR$(ASC(a$+CHR$(.))):NEXT:REM read entry 190 f=f+1 :REM increase count 200 NEXT :REM all 8 entries 210 IFt<>.THEN50 :REM next block 220 CLOSE5:CLOSE15 :REM close channels 300 f=f-1 :REM correct counter 310 IFMID$(f$(f),4,1)=CHR$(.)THENf=f-1:GOTO310 :REM check #of files 320 PRINT"{yellow}{clear}{down}{right}disk "dn$","id$ :REM print title 330 PRINT"{green}{down}{right}contains"f"files{light blue}{down}" :REM print #of files 340 ro=1:FORi=1TOf :REM loop names 350 IFro/16=INT(i/16)THENPRINT"{white}press a key{light blue}{up}":POKE198,.:WAIT198,1:POKE198,. 360 nm$=MID$(f$(i),4,16):REM name 361 tr$=MID$(f$(i),2,1) :REM track 362 sc$=MID$(f$(i),3,1) :REM sector 363 tp$=LEFT$(f$(i),1) :REM type 364 st$=MID$(f$(i),20,1):REM side- 365 ss$=MID$(f$(i),21,1):REM sector 366 bl$=RIGHT$(f$(i),2) :REM #of blocks 367 rl$=MID$(f$(i),22,1):REM rec.length 370 ro=ro+1:PRINTnm$" :t"MID$(STR$(ASC(tr$)),2)" s"MID$(STR$(ASC(sc$)),2)TAB(25) 380 tp=ASC(tp$):tp$="{space*2}" :REM init type $ 390 IF(tpAND128)=0THENtp$="* " :REM not closed 400 IF(tpAND64)=64THENtp$=LEFT$(tp$,1)+">" :REM locked 410 tp=tpAND15:r=0 :REM bit0-3 411 IFtp=0THENtp$=tp$+"del":GOTO420 412 IFtp=1THENtp$=tp$+"seq":GOTO420 413 IFtp=2THENtp$=tp$+"prg":GOTO420 414 IFtp=3THENtp$=tp$+"usr":GOTO420 415 IFtp=4THENtp$=tp$+"rel":r=-1:GOTO420 419 tp$=tp$+"{-*3}" :REM unknown type 420 b=ASC(bl$)+256*ASC(RIGHT$(bl$,1)):PRINTtp$" b"MID$(STR$(b),2) 430 IFr=0THEN500 :REM if not relative 440 PRINT" sidesector: t"MID$(STR$(ASC(st$)),2)" s"MID$(STR$(ASC(ss$)),2)" "; 441 PRINT" rec.length:"ASC(rl$) 442 ro=ro+1 :REM row counter 500 NEXT :REM end of loop 510 PRINT"{white}press a key{light blue}{up}":POKE198,.:WAIT198,1:POKE198,. :REM wait for key 520 POKE53280,14:POKE53281,6:PRINT"{light blue}{clear}"; stop tok64 (bastext 1.0)