Listing of file='DIRSRT.BAS;01' on disk='vmedia/comtronics-sector.ccvf'
1000 REM ******* DIRECTORY MOVE SORT PROGRAM **************. 1010 CLEAR 5000:DIM PG$(150),B$(150):P= 1:JL= 0 1020 PLOT 12,6,2,15,13,10,10,10:PR= 0:DS= 0 1030 INPUT "DO YOU WISH TO DISPLAY SORTED 'DIR.' FILES: ";FL$ 1040 IF LEFT$ (FL$,1)= "Y"THEN 2120 1050 INPUT "ARE YOU USING A PRINTER WITH THIS PROGRAM: ";PR$ 1060 IF LEFT$ (PR$,1)= "Y"THEN PR= 1:REM ** PR=PRINTER FLAG **. 1070 INPUT "DO YOU WISH TO STORE THIS LISTING ON DISK: ";DS$ 1080 IF LEFT$ (DS$,1)= "Y"THEN DS= 1:REM ** DS=DISPLAY FLAG **. 1090 GOTO 1670 1100 HL= 29448 1110 A$= "":FOR X= 1TO 10:A= PEEK (HL):A$= A$+ CHR$ (A) 1120 HL= HL+ 2:NEXT X 1130 IF MID$ (A$,1,7)= "MENU ."THEN P= P- 1:A$= "":JL= JL+ 1:GOTO 1160 1140 IF A$= "<FREE SPAC"THEN RETURN 1150 PG$(P)= A$+ DN$+ "/"+ RIGHT$ (SN$,1):B$(P)= PG$(P) 1160 P= P+ 1:HL= HL+ 108:GOTO 1110 1170 LN= LEN (PG$(I)) 1180 IF LN= 14THEN 1220 1190 GK$= GK$+ PG$(I)+ " * ":JK= JK+ 1 1200 IF JK> 2THEN 1250 1210 RETURN 1220 GK$= GK$+ PG$(I)+ " * ":JK= JK+ 1 1230 IF JK> 2THEN 1250 1240 RETURN 1250 GK$= MID$ (GK$,1,62):PRINT GK$:GOTO 1320 1260 IF HY= 30THEN HY= 1:GOTO 1280 1270 HY= HY+ 1:RETURN 1280 IF DS= 1THEN PLOT 8:GOTO 1300 1290 PLOT 12,6,2,15:RETURN 1300 PLOT 27,4:PRINT "SAVE DIRFIL.DSP 7000 1000":PLOT 27,27 1310 PLOT 6,2,12,15:RETURN 1320 IF PR= 1THEN PLOT 27,18,4,27,13:PRINT GK$:POKE 33265,0 1330 GK$= "":JK= 0:GOTO 1260 1340 K= 0:JK= 0:GK$= "":HY= 1:HN= 0 1350 PLOT 6,2,12,15 1360 I= 1 1370 FOR J= 2TO P 1380 IF B$(I)< B$(J)THEN 1400 1390 I= J 1400 NEXT 1410 IF PG$(I)= "9999"THEN 1430 1420 GOSUB 1170 1430 B$(I)= "ZZ":K= K+ 1 1440 IF K= PTHEN 1460 1450 GOTO 1360 1460 HY= HY+ 1:PRINT GK$:GOSUB 1260:HY= HY- 1:GOSUB 1320:GOSUB 1300 1470 IF PR= 1THEN PLOT 27,18,4,27,13:PRINT :JX= 1:GOTO 1490 1480 PRINT :PRINT :JX= 0 1490 PRINT "TOTAL PROGRAMS: ";P- 1 1500 PRINT "TOTAL MENU'S: ";JL:PRINT :PRINT "E N D" 1510 POKE 33265,0:IF JX= 1THEN 1480 1520 END 1530 PG$(P)= "9999":GOTO 1340 1540 H$= "0123456789ABCDEF":HX$= "":L$= "":E$= "":D7= D5 1550 Q= INT (D5/ 16):E= ((D5/ 16)- Q)* 16 1560 IF INT (Q)< 1THEN E= D5 1570 E$= MID$ (H$,E+ 1,1):L$= L$+ E$ 1580 IF Q> .9THEN D5= Q:GOTO 1550 1590 FOR K= 4TO 1STEP - 1:HX$= HX$+ MID$ (L$,K,1) 1600 NEXT K:RETURN 1610 D4= 31104:AS= PEEK (D4+ 1)+ 1:C= AS:RETURN 1620 IF SD= SITHEN RETURN 1630 PLOT 6,1,15:PRINT "E R R O R!! ";:PLOT 6,3:PRINT 1640 PRINT "YOU ARE ON SIDE";SI", NOT SIDE";SD", OF 'DIR."; 1650 PRINT " DISK'." 1660 PLOT 6,2:GOTO 2100 1670 PLOT 12,6,2,15:PRINT :PRINT "SELECT SEARCH ROUTINE: " 1680 PRINT "(1) - SELECTIVE SCAN:" 1690 PRINT "(2) - SEQUENTIAL SCAN:" 1700 PLOT 3,22,1:INPUT "";ST 1710 IF ST< 1OR ST> 2THEN 1670 1720 ON STGOTO 1990,1730 1730 RS= 1:RE= 64:SD= 1 1740 BB= RS:D5= RS* 6:Y= RE* 6 1750 GOSUB 1870 1760 GOSUB 1540:D5= D7 1770 IF D5> YTHEN 1850 1780 PLOT 27,4:PRINT "REA "HX$" 7980 300":PLOT 27,27 1790 GOSUB 1610:FF= 1:GOSUB 1920 1800 PLOT 27,4:PRINT "WRI "0" 7980 300":PLOT 27,27 1810 PLOT 12,6,2,15,27,4:PRINT "DIR":PLOT 27,27 1820 PRINT "DIRECTORY FOR DISK";BB" SIDE";SD;"" 1830 DN$= STR$ (BB):SN$= STR$ (SD):GOSUB 1100 1840 BB= BB+ 1:D5= BB* 6:GOTO 1760 1850 BB= RS:D5= RS* 6:SD= SD+ 1:PRINT 1860 IF SD= 3THEN 1530 1870 PRINT :PRINT "INSERT SIDE";SD;" OF DIRECTORY DISK" 1880 INPUT "THEN PRESS ENTER: ";Q$:PLOT 12 1890 GOSUB 2020:GOSUB 1620:GOTO 1760 1900 PRINT "NO DIRECTORY STORED IN SECTION ";:PLOT 6,3 1910 PRINT HX$;" FOR DISK";BB;" SIDE";SD:GOTO 1840 1920 IF AS< 1OR AS> 10THEN 1970 1930 IF PEEK (31106)< > 65THEN 1970 1940 RETURN 1950 PLOT 6,1:PRINT :PRINT "E R R O R";:PLOT 6,3 1960 PRINT " NO DIRECTORY FOUND":PLOT 6,2:GOTO 2100 1970 IF FF= 1THEN 1900 1980 GOTO 1950 1990 PLOT 3,0,5:INPUT "WHICH SIDE OF 'DIR. DISK': ";SD 2000 INPUT "ENTER DISK RANGE,IE.(6,12):";RS,RE 2010 Y= RE* 6:BB= RS:D5= RS* 6:GOTO 1870 2020 PLOT 12,27,4:PRINT "REA "186" 7980 80":PLOT 27,27 2030 D3= 31104 2040 IF PEEK (D3)= 255AND PEEK (D3+ 2)= 68THEN 2070 2050 PLOT 6,1:PRINT "E R R O R! ";:PLOT 6,3 2060 PRINT "NOT DIRECTORY DISK":PLOT 6,2:GOTO 2100 2070 IF PEEK (D3+ 1)= 2THEN 2090 2080 SI= 1:RETURN 2090 SI= 2:RETURN 2100 INPUT "TRY AGAIN / PRESS ENTER:";Q$:PRINT 2110 GOTO 1870 2120 PRINT :INPUT "WHAT PAGE WOULD YOU LIKE TO SEE: ";DP$ 2130 PRINT :INPUT "PRESS ENTER WHEN READY: ";F$ 2140 PLOT 6,0,12,15 2150 PLOT 27,4:PRINT "LOAD DIRFIL.DSP;"DP$:PLOT 27,27 2160 PLOT 6,3,15,3,0,30:PRINT "(1)=NEXT PAGE / (2)=QUIT "; 2170 GOSUB 2210 2180 IF MM= 49THEN PLOT 12:GOTO 2200 2190 END 2200 DP= VAL (DP$):DP= DP+ 1:DP$= STR$ (DP):PLOT 6,0:GOTO 2150 2210 POKE 33278,0:POKE 33279,80 2220 MM= PEEK (33278) 2230 IF MM= 49THEN RETURN 2240 IF MM= 50THEN RETURN 2250 GOTO 2220 2260 END