170 PRINT : PRINT "ENTER THE FILE NAMES OF THE BASIC PROGRAMS TO BE COMPARED. YOU MAY ALSO RESPOND WITH CATALOG/CATALOGD1/CATALOGD2OR QUIT IN PLACE OF A FILE NAME. FILES MAY BE ON THE SAME OR DIFFERENT DRIVES."
180 ONERR GOTO 480
190 IF NOT WARM THEN PRINT D$;"BLOADCOMPARER.OBJ0":WARM = TRUE
220 IF LEFT$(F$(I),7) = "CATALOG" THEN PRINT D$;F$(I): GOTO 210
230 IF F$(I) = "QUIT" THEN END
240 PRINT "DRIVE NUMBER (1 OR 2) ";: CALL -1008: CALL -1008: GOSUB 560
250 REM CHECK FILE
260 ONERR GOTO 280
270 GOTO 310
280 POKE 216,0: CALL FIX:ERR = PEEK(222)
290 IF ERR = 6 OR ERR = 11 THEN PRINT "NO SUCH FILE. PRESS RETURN TO CONTINUE";: GET A$: POKE 36,0: PRINT SPC( 40);: VTAB PEEK(37) -3: GOTO 210
300 RESUME
310 PRINT D$;"VERIFY";F$(I);",D";D
320 POKE 216,0
330 IF PEEK(FTYPE) < >2 AND PEEK(FTYPE) < >130 THEN PRINT "WRONG FILE TYPE"; CHR$(7): GOTO 210
340 REM CAPTURE T/S LIST
350 POKE ADR +I,D
360 Q = CBUF +(I -1) *256:P = TS3 -Q
370 FOR C = Q TO Q +255: POKE C, PEEK(C +P): NEXT
380 NEXT I
390 REM COMPARE FILES
400 PRINT "PRINTER (P) OR SCREEN(S) ?";: GET P$:AA = ASC(P$):AA = AA -32 *(AA >96 AND AA <123):P$ = CHR$(AA): IF P$ < >"P" AND P$ < >"S" THEN POKE 36,0: GOTO 400
410 PRINT : PRINT : PRINT "COMPARISON MAY BE TERMINATED AT ANY TIMEUSING CNTRL-C OR PAUSED USING CNTRL-S": PRINT
420 IF P$ = "P" THEN PRINT D$;"PR#"; STR$(SL): PRINT CHR$(9);"80N"; CHR$(12)
430 PRINT " PROGRAM COMPARISON OF *< ";F$(1);" >* AND *< ";F$(2);" >*"
440 CALL COMPARER
450 PRINT D$;"PR#0"
460 INPUT "PRESS RETURN TO CONTINUE";A$
470 GOTO 150
480 EN = PEEK(222)
490 EL = PEEK(219) *256 + PEEK(218)
500 IF EN < >6 THEN PRINT : PRINT "ERROR #";EN;" OCCURRED.": PRINT CHR$(7);: END
510 PRINT : PRINT "FILE NOT FOUND."
520 IF EL = 190 THEN PRINT "INSERT DISK WITH COMPARER.OBJ0": PRINT "AND PRESS RETURN";: GET A$
530 POKE 36,0: PRINT SPC( 39): FOR I = 0 TO 2: VTAB PEEK(37): POKE 36,0: PRINT SPC( 39): NEXT : VTAB PEEK(37): POKE 36,0: RESUME
540 RESUME
550 GOTO 200
560 GET DR$: IF DR$ < >"1" AND DR$ < >"2" AND DR$ < > CHR$(13) THEN 560