This is non-commercial site, its content is based on Atari 8-bit home computer contents and references.
If you feel your rights are violated by showing/using any part of contents of your product represented on this page,
please contact me immediatelly so I can remove it!
Entry name:
Disk Directory
|
Publisher/Developer:
BELLCOM - Public Domain Library (Software library) |
|
|
-
Entry name:Disk Directory
-
Category:Disk utilities
-
Publisher/Developer:BELLCOM - Public Domain Library
Listing 1
10REM*********************** 11REM** 12REM*by* 13REM*RogerHumphries* 14REM*********************** 15REMREVISIONDATE:84-09-31 20REM 21REMNOTE:Thebinaryloadportion 22REMofthisprogrammakesan 23REMillegaljumpintotheRev.B 24REMoperatingsystem.Itmaynot 25REMworkforotherversions! 26REMIfyouwishtoENTERbutnot 27REMRUNListedfiles,delete 28REMline4420fromtheprogram. 29REM 90GOSUB910 100GOSUB410:GOSUB610 110GOSUB510:GOTO310 200REM 201REMSubroutines 202REM 210REMSetUpFileNameArray 212J=1:FORI=3TO10:IFIN$(I,I)<>""THENF$(J,J)=IN$(I,I):J=J+1:NEXTI 214IFIN$(11,11)=""THEN218 216F$(J,J)=".":J=J+1:FORI=JTOJ+2:F$(I,I)=IN$(11+I-J,11+I-J):NEXTI 218FN$(LEN(FN$)+1)=F$ 220REMThenSetUpDirectoryArray 221REC$(1,1)="":IFIN$(1,1)="*"THENREC$(1,1)=CHR$(10) 222FORI=15TO17:REC$(I,I)=CHR$(ASC(IN$(I,I))-32):NEXTI:I=1:TRAP227 223C$=F$(I,I):C=ASC(C$) 224IFC>64ANDC<91THENF$(I,I)=CHR$(C+32):I=I+1:GOTO223 225IFC$="."THENF$(I,I)=CHR$(14):I=I+1:GOTO223 226IFC>47ANDC<58THENF$(I,I)=CHR$(C-32):I=I+1:GOTO223 227REC$(2,13)=F$:D$(LEN(D$)+1)=REC$ 228TRAP40000:RETURN 230REMSelectFileName 232I=OFST+VF:ERD=I*17:POSITION1,VF:?#6;D$(ERD-16,ERD);:VF=VF+DV:DV=0:IFVF<1THENVF=VM 234IFVF>VMTHENVF=1 236I=OFST+VF:ERF=I*12:F$=FN$(ERF-11,ERF):ERD=I*17:BRD=ERD-16:POSITION2,VF:?#6;F$;:FS$(3)=F$ 238RETURN 240REMScreenHeader 242GRAPHICS0:POKE752,1:POSITION0,0:?"":RETURN 250REMPeelTrailingBlanksfromF$ 252LF=LEN(F$):IFF$(LF)=""THENF$=F$(1,LF-1):GOTO252 254RETURN 260REMGenralDOSFunction 262XIOOP,#1,0,0,FS$:GOTO110 264XIOOP,#1,0,0,FS$:GOTO100 270REMSoundRoutine 271TONE=14:GOTO274:REMPromptTone 272TONE=4:REMWarningTone 274FORZ=1TO30:SOUND0,10,TONE,12:NEXTZ 276FORZ=39TO1STEP-1:SOUND0,10,TONE,Z/3:NEXTZ 278SOUND0,0,0,0:RETURN 280REMDelay 282FORI=1TO300:NEXTI:RETURN 290REMBlankLine 292POSITION1,19:?#6;BL$:RETURN 300REM 301REMCheckConsoleandKeys 302REM 310CON=PEEK(CONSOL):K=PEEK(KEY):STK=STICK(0)+100*(1-STRIG(0)):POKECONSOL,8:POKEKEY,255 320TRAP330:GOTO1000+K 330TRAP340:GOTO1300+CON 340TRAP310:GOTO1400+STK 400REM 401REMSetUpScreen 402REM 410GRAPHICS1:SETCOLOR2,0,0:SETCOLOR3,0,0:SETCOLOR4,0,0:C$=CHR$(142) 420POSITION0,0:?#6;C$;C$;C$;"";C$;C$;C$ 430FORV=1TO16:POSITION0,V:?#6;C$;BL$;C$:NEXTV 440POSITION0,17:FORH=1TO20:?#6;C$;:NEXTH:SETCOLOR3,10,8 450RETURN 500REM 501REMDisplayDirectory 502REM 510SETCOLOR0,0,0:SETCOLOR1,0,0:SETCOLOR2,0,0:SETCOLOR4,0,0:POKE752,1:VM=16:IFS>SCRNSTHENS=1 520OFST=(S-1)*16:ERF=(OFST+1)*12:IFS=SCRNSTHENVM=NF-16*(SCRNS-1) 530?"";"FilesonDisk:";NF$;"^H^U^L^D^R^Q" 540?"FreeSectors:";FRESEC$;"" 550IFSCRNS>1THEN?:?"Screen";S;"of";SCRNS;"formore"; 560FORV=1TO16:I=OFST+V:ERD=I*17 570POSITION1,V:?#6;D$(ERD-16,ERD);:NEXTV:GOSUB230 580POSITION1,19:?#6;"":POSITION11,19:?#6;"":SETCOLOR0,2,12:SETCOLOR1,12,10 590POKECONSOL,8:POKEKEY,255:GOSUB271:RETURN 600REM 601REMReadDirectory 602REM 610CLOSE#1:OPEN#1,6,0,"D:*.*":NF=0:D$="":FN$="":SETCOLOR0,5,10 615POSITION6,7:?#6;"READING":POSITION5,9:?#6;"DIRECTORY" 620INPUT#1;IN$:IFIN$(5,8)="FREE"THEN640 630F$=BL$:REC$=BL$:NF=NF+1:GOSUB210:GOTO620 640NF$="":IFNF<10THENNF$="" 642NF$(LEN(NF$)+1,2)=STR$(NF) 644FRESEC$=IN$(1,3):IFFRESEC$(1,1)="0"THENFRESEC$(1,1)="":IFFRESEC$(2,2)="0"THENFRESEC$(2,2)="" 650SCRNS=INT(NF/16+0.99):REC$=BL$:FORN=NF+1TOSCRNS*16:D$(LEN(D$)+1)=REC$:NEXTN 660RETURN 900REM 901REMInitializeProgram 902REM 910MAXD=17*64:MAXF=12*64:DIMD$(MAXD),FN$(MAXF) 920DIMF$(12),FS$(31),IN$(17),NF$(2),FRESEC$(3),BL$(18),REC$(17),C$(1) 930POKE82,2:POKE83,39:POKE752,1:S=1:VF=1:DV=0 940CONSOL=53279:KEY=764:HDR=240:DELAY=280 950BL$="":FS$="D:" 960CLOSE#2:OPEN#2,4,0,"K:" 990RETURN 1014DV=-1:GOSUB230:GOTO310 1015DV=+1:GOSUB230:GOTO310 1128GOSUB290:?"Locking==>";FS$:GOSUBDELAY:D$(BRD,BRD)=CHR$(10):OP=35:GOTO262 1139GOSUB290:?"Unlocking==>";FS$:GOSUBDELAY:D$(BRD,BRD)="":OP=36:GOTO262 1142DV=-1:GOSUB230:GOTO310 1143DV=+1:GOSUB230:GOTO310 1168GOTO3410 1175GRAPHICS0:END 1185GOTO2000 1186GOTO3310 1301RUN 1303GOSUB290:S=S+1:VF=1:GOTO110 1305DV=+1:GOSUB230:GOTO310 1306GOTO4000 1413DV=+1:GOSUB230:GOTO310 1414DV=-1:GOSUB230:GOTO310 1515GOTO4000 2000REM 2002REMHelpMenu 2100GOSUBHDR:POSITION0,1:?"" 2110?"orSelectfile(down)" 2115POKE82,8:?:?"Selectfile(up)" 2120?:?"Loadandrunfile" 2125?:?"Displaynextscreen" 2127POKE82,1:?:?"+Rerun(fornewdisk)" 2128?:?",Selectandrunfile" 2130POKE82,8:?:?"^=CTRLkey" 2135?"^HHelp(displaythispage)" 2140?"^LLockfile" 2145?"^UUnlockfile" 2150?"^DDeletefilefromdisk" 2155?"^RRenamefile" 2160?"^QQuit(exittoBasic)" 2170POKE82,2:POSITION6,23:?"PressforDirectory";:GOSUB271 2180GET#2,C:IFC=155THENGOSUB410:GOTO110 2190GOTO2180 3300REM 3301REMDeleteFile 3302REM 3310GOSUB290:SETCOLOR4,3,4:SETCOLOR2,3,4:?"PressYtodelete==>";FS$:GOSUB271 3315GET#2,C:IFC=89THENTRAP3350:OP=33:GOTO264 3320?"DELETEcancelled":GOSUBDELAY:GOTO110 3350IFPEEK(195)<>167THEN110 3360?"FileisLOCKED" 3365?"PressYtodelete":GOSUB272:GET#2,C:IFC=89THENXIO36,#1,0,0,FS$:OP=33:GOTO264 3370GOTO3320 3400REM 3401REMRenameFile 3402REM 3410GOSUB290:?"Inputnewnamefor==>";F$:?""; 3420GOSUB271:POKE752,0:INPUTIN$:POKE752,1:? 3430GOSUB250:FS$(3)=F$:F$=IN$:IFIN$(1,2)="D:"THENF$=IN$(3) 3440LF=LEN(FS$):FS$(LF+1)=",":FS$(LF+2)=F$ 3450TRAP3460:OP=32:GOTO264 3460?"FileisLOCKED" 3465?"PressYtorename":GOSUB272:GET#2,C:IFC=89THENXIO36,#1,0,0,FS$:OP=32:GOTO264 4000REM 4001REMLOADandRUNprogram 4002REM 4100IFF$(1,3)="DOS"ORF$(1,3)="DUP"THENDOS 4120TRAP4130:GOSUBHDR:?:?"Loading==>";FS$:RUNFS$ 4130IFPEEK(195)<>21THEN4230 4200TRAP4230:CLOSE#1:OPEN#1,4,0,FS$:GET#1,BYT1:GET#1,BYT2:IFBYT1<>255ORBYT2<>255THEN4300 4210?:?"" 4220CLOSE#1:OPEN#1,4,0,FS$:X=USR(5576) 4230?:?"":GOTO2170 4300GOSUB250:LF=LEN(F$):IFF$(LF-2,LF)<>"DOC"THEN4400 4310?:?"":?:?"Presstostopreading":?:?"Press-topause/restart" 4315POKE82,0:? 4320CLOSE#1:OPEN#1,4,0,FS$:TRAP4340 4330GET#1,C:PUT#6,C:IFPEEK(764)=28THENPOKE764,255:?:?:GOTO2170 4335GOTO4330 4340POKE82,2:?:?:?"End-of-FileEncountered":?:GOTO2170 4400?:?"" 4410POSITION2,15:?"ENTER";CHR$(34);FS$;CHR$(34) 4415REM***Deleteline4420toLOADfilebutnotRUNit 4420POSITION2,15:?"POKE764,12:":POSITION2,18:?"RUN" 4430POSITION2,9:?"":?"" 4440POKE752,0:POSITION2,13:POKEKEY,12:NEW
References
Listing downloads
Downloads
Copyright holder
