Listing of file='OFFLINE' on disk='vmedia/701-2110C.wvd.zip'
# Sector 58, program filename = 'OFFLINE' 0010 REM OFFLINE 05/11/78 OFF LINE RETRIEVAL OF TC PRINT FILES 0020 DIM A1$(4)62,F$(10)8,B$(1)1,O$(140)1,M$(10)2,B$1,E(10),E1(10),P9$(3)50 : DIM C$(1)2,D(10),F$1 : SELECT #4215,#5005 : H$="P" : GOTO 1060 0100 RETURN 0102 DATA LOAD DC #2,A1$() : %^ERR58SAYSNOSUCHFILE 0104 Y2=VAL(STR(A1$(1),2)) : Y3=3 0110 MAT COPY A1$()<Y3,1>TO B$()<1,1> : Y1=VAL(B$(1))-1 : MAT COPY A1$()<Y3+1,1>TO B$()<1,1> : B$=B$(1) : MAT COPY A1$()<Y3+2,Y1>TO O$()<1,Y1> : ON TGOTO 550 : IF H=0THEN 550 : GOSUB 1390 0200 Y3=Y3+Y1+2 : IF Y3<>Y2THEN 110 : IF STR(A1$(1),1,1)<>HEX(F0)THEN 102 : F$=" " : IF H<>0THEN 216 : INPUT "KEY RETURN TO CONTINUE",S$ 0216 NEXT I9 : GOTO 1060 0550 PRINT "LINE CONTROL ="; : HEXPRINT B$ : IF Y1<=64THEN 554 : $GIO#5(A000400A400D,Z$)O$()<1,64> : $GIO#5(A000400A400D,Z$)O$()<65,Y1-64> : GOTO 556 0554 $GIO#5(A000400A400D,Z$)O$()<1,Y1> 0556 KEYIN B$,558,558 : GOTO 600 0558 PRINT "PAUSE KEY (EXEC) TO CONTINUE" 0560 KEYIN B$,600,590 : GOTO 560 0590 IF B$=HEX(1F)THEN 3000 0600 GOTO 200 1000 B$="E" : MAT SEARCHO$()<2,Y1-1>,=B$TO M$() : E=VAL(STR(M$(1),2)) : B$=" " : A=2 : MAT SEARCHO$()<A,Y1-1>,<>B$TO M$() : J=0 : FOR I=1TO 10 1015 IF M$(I)=HEX(0000)THEN 1016 : IF O$(VAL(STR(M$(I),2))+1)="E"THEN 1017 : E(I-J)=VAL(STR(M$(I),2))+1 : CONVERT O$(E(I-J))TO E1(I-J) : GOTO 1018 1016 I=10 1017 J=J+1 1018 NEXT I : A=1 : GOTO 200 1055 DEFFN'0 1060 PRINT HEX(03); : PRINT " OFF-LINE RETRIEVAL OF TC PRINT FILES" : PRINT " SF'31 TO RETURN TO MAIN MENU" : PRINT 1076 H=1 : PRINT "CRT OR PRINTER (C OR P,DEFAULT=";H$;")"; : INPUT H$ : IF H$<>"C"THEN 1078 : PRINT "KEY RETURN(EXEC) TO PAUSE THE LIST" : H=0 1078 N1=1 : INPUT "ENTER NUMBER OF FILES TO PRINT (DEFAULT=1)",N1 : IF N1>10THEN 1078 : I8=1 1079 DEFFN'1 : FOR I=I8TO N1 : PRINT "FILE #";I 1080 INPUT "INPUT DEVICE 1=(F)310 2=(R)B10 3=(F)320 4=(R)B20",D(I) : D(I)=INT(D(I)) : IF D(I)<1THEN 1080 : IF D(I)>4THEN 1080 : I8=I 1129 INPUT "DATA FILE NAME ",F$(I) : IF F$(I)=" "THEN 1129 : I9=I : GOSUB 2000 1131 LIMITS T#2,F$(I),S1,S2,S3 : %FILENOTFOUND-KEYSF'1 1133 NEXT I : L=1 : T=0 : PRINT : FOR I9=1TO N1 : GOSUB 2000 : PRINT HEX(03);"PRINTING FILE ";F$(I9) : DATA LOAD DC OPEN T#2,F$(I9) : %^ERR80NOSUCHFILE 1145 P9=66 : IF H=0THEN 1160 : PRINT "READY LINE PRINTER FOR FILE=";F$(I9) 1160 A=0 : GOTO 102 1372 $GIO#4(010002011212400040004000,Z$) : C$=STR(Z$,8,1) : RETURN 1390 GOSUB 1372 : IF C$=HEX(10)THEN 1390 : C=Y1+1 : IF B$="@"THEN 1680 : $GIO#4(A000,Z$)O$()<1,Y1> 1430 ON VAL(B$)-46GOTO 100,1570,1580,1580,1580,1580,1580,1580,1580,1580,1580,1 435,1435,1435,1435,1435,1435,1680,1598,1610,1610,1610,1610,1610,1610,1610 ,1610,1610,1610,1610 1435 STOP "1435 -- ERROR -- IN PRINT CONTROL BYTE " 1570 P8=P8+1 1580 IF P8+VAL(B$)-48>=P9THEN 1600 : $GIO#4(400D,Z$) : IF B$<HEX(32)THEN 1590 : FOR A=1TO VAL(B$)-49 : $GIO#4(400A,Z$) : NEXT A 1590 P8=P8+VAL(B$)-48 : RETURN 1598 IF F$="@"THEN 1610 1600 P8=1 : $GIO#4(400D400C,Z$) : RETURN 1610 MAT SEARCHP9$()<P8+1,150-P8>,=B$TO C$() : IF C$(1)=HEX(0000)THEN 1630 : P8=P8+VAL(STR(C$(1),2)) : IF P8>=P9THEN 1600 : $GIO#4(400D,Z$) : IF C$(1)=HEX(0001)THEN 100 : FOR A=1TO VAL(STR(C$(1),2))-1 : $GIO#4(400A,Z$) : NEXT A : RETURN 1630 MAT SEARCHP9$(),=B$TO C$() : IF C$(1)=HEX(0000)THEN 1640 : $GIO#4(400D400C,Z$) : P8=VAL(STR(C$(1),2)) : IF P8=1THEN 100 : FOR A=1TO P8-1 : $GIO#4(400A,Z$) : NEXT A : RETURN 1640 IF B$<>"B"THEN 100 : $GIO#4(4009,Z$) : RETURN 1680 F$="@" : MAT COPY O$()<1,Y1>TO P9$()<1,Y1> : B$="M" : MAT SEARCHP9$()<1,99>,=B$TO C$() : IF C$(1)=HEX(0000)THEN 100 : P9=VAL(STR(C$(1),2)) : RETURN 2000 ON D(I9)GOTO 2010,2020,2030,2040 : STOP "ILLEGAL DISK ADDRESS" 2010 SELECT #2310 : RETURN 2020 SELECT #2B10 : RETURN 2030 SELECT #2320 : RETURN 2040 SELECT #2B20 : RETURN 3000 DEFFN'31 : LOAD DC T#1,"MENU010A"