RSS Bot Posted February 24, 2009 Share Posted February 24, 2009 1440 PRINT "2. 'A' TO CHECK ALL FILES;" 1450 PRINT "3. 'D' TO SEE DIRECTORY LIST AGAIN" 1460 PRINT "NOTE: ERRORS SHOW UP ON DIR LISTING " 1470 PRINT "AFTER THEY OCCUR IN SEARCH." 1480 INPUT N$ 1490 IF N$="A" THEN FILE=128:GOTO 1690 1500 IF N$"D" THEN GRAPHICS 0:GOTO 1070 1510 ON ERROR 1540 1520 FILE=VAL(N$) 1530 GOTO 1560 1540 PRINT "ERROR. RE-ENTER." 1550 RESUME 1420 1560 REM --- PROCESS. CHECK. 1570 IFFILE>FNUM OR FILE<0 OR FILE<>INT(FILE) THEN PRINT "ERROR.":GOTO 1420 1580 REM SINGLE ENTRY HANDLER 1590 PRINT "TRACING=='SELECT' TO ABORT." 1600 SS=INFO(FILE,2) ! STARTING SECT 1610 SC=INFO(FILE,1) ! SECTOR COUNT 1620 RSECTOR=SS 1630 REM GO TRACE IT ...ARROR=RETURN 1640 GOSUB 1850 1650 IF ARROR=1 THEN PRINT "***BAD FILE***" 1660 IF ARROR=1 THEN DEAD(FILE)=1 ELSE DEAD(FILE)=-1 1670 GOSUB 2110 ! MARK FILE NAME 1680 GOTO 1350 1690 REM ALL ENTRIES HANDLER 1700 FOR FILE=1 TO FNUM 1710 CLS 1720 PRINT "TRACING FILE #";FILE 1730 IF LP=1 THEN PRINT #3,"TRACING FILE #";FILE 1740 PRINT "PRESS 'SELECT' TO ABORT." 1750 SS=INFO(FILE,2) ! STARTING SECT 1760 SC=INFO(FILE,1) ! SECTOR COUNT 1770 RSECTOR=SS 1780 GOSUB 1850 1790 IF ARROR=1 THEN PRINT "***BAD FILE***" **" 1800 IF ARROR=1 THEN DEAD(FILE)=1 ELSE DEAD(FILE)=-1 1810 GOSUB 2110 1820 NEXT FILE 1830 PRINT "COMPLETED." 1840 GOTO 1350 1850 REM TRACING SUBROUTINE 1860 ARROR=0 1870 PRINT 1880 PRINT "---SEC CNT=";SC;" READING SEC ";RSECTOR 1890 POKE &D01F,0 ' CLEAR BUTTONS 1900 GOSUB 70 'READ 1910 REM CHECK BUTTONS 1920 IF PEEK(&D01F)<>7 THEN RETURN 1930 IF DSTATS=1 THEN 1960 1940 PRINT "***ERROR. DSTATS=;DSTATS;" ON SECTOR ";RSECTOR 1950 GOTO 1900 !RETRY 1960 IF SC=0 THEN RETURN 1970 SC=SC-1 ! DECR S COUNT 1980 REM GET FORWARD POINTER + FNUM 1990 FWD=(PEEK(BUFF+125) AND 3)*256 2000 FWD=FWD+PEEK(BUFF+126) 2010 FN=INT((PEEK(BUFF+125) AND &FC)/4) ! WENCE, SWIFTED 2 BITS RIGHT 2020 FN=FN+1 ! (DISK STARTS AT 0) 2030 PRINT "---DATA: FILE NUM=";FN;" FWD SEC =";FWD 2040 IF FN<>FILE THEN PRINT "FILE NUMBER ERROR.":ARROR=1 2050 IF FWD>720 OR FWD<0 THEN PRINT "FORWARD PTR OUT OF RANGE,ABORT.:ARROR=1:RETURN 2060 IF FWD=0 THEN 2090 2070 RSECTOR=FWD 2080 GOTO 1870 2090 PRINT "COMPLETED." 2100 RETURN 2110 REM MARK A FILE AS BAD IN NAME. 2120 REM SET HIGH BIT SO IT SHOWS 2130 REM UP IN INVERSE VIDEO.. 2140 IF ARROR=0 THEN RETURN 2150 Z$=NIME$(FILE) 2160 NIME$(FILE)="" 2170 FOR Z=1 TO LEN(Z$) 2180 NIME$(FILE)=NIME$(FILE)+CHR$((ASC(MID$(Z$,Z,1)) OR &80)) !SET HIGH BIT 2190 NEXT Z 2200 RETURN http://www.atariage.com/forums/index.php?a...;showentry=5833 Link to comment Share on other sites More sharing options...
Recommended Posts