Listing of file='TPUT040B' on disk='vmedia/733-1004.wvd.zip'
# Sector 295, program filename = 'TPUT040B'
0012 REM . TPUT040B, 00-00 (08/10/77), 10189A
0013 DIM N$8,A1$(16),Z2$1,L$1,H$2,N$8
: I8,P2=1
: I0=12
: GOSUB 285
: GOSUB '101(STR(Y$,1,2))
: GOSUB '101(STR(Y$,3,2))
0090 V1=64-P1+1
: V2=64-P2+1
: IF V1<P9THEN 110
: V1=P9
0110 IF V1>V2THEN 155
: STR(D$(I8),P2,V1)=STR(C$(I9),P1,V1)
: P2=P2+V1
: P9=P9-V1
: IF P2<=64THEN 140
: GOSUB 425
0140 GOSUB 660
: IF H9=1THEN 205
: GOTO 90
0155 STR(D$(I8),P2,V2)=STR(C$(I9),P1,V2)
: P1=P1+V2
: P9=P9-V2
: P2=1
: I8=I8+1
: IF I8<=4THEN 190
: GOSUB 470
0190 GOSUB 670
: IF H9=1THEN 205
: GOTO 90
0205 DATA SAVE BA T#2,(A,A)D$()
: GOSUB 760
: STR(N0$(1),8,1)="0"
: DATA SAVE DC OPEN T#2,A-A1+2,N0$(1)
: DSKIP #2,A-A1S
: DATA SAVE DC #2,END
: DATA SAVE DC CLOSE#2
: PRINT HEX(030A0A);" END OF THE PROGRAM"
: O$="C"
: GOSUB '31(6)
: STOP
0285 INIT(20)C$()
: GOSUB '31(I0)
: I0=32
: GOSUB '204(T0)
: B9=B9+1
: IF STR(B$,7,1)<>HEX(04)THEN 330
: IF H8=0THEN 320
: H9=1
: GOTO 370
0320 H8=1
: GOTO 335
0330 H8=0
0335 P1,I9=1
: GOSUB '31(22)
: L3,P9=256*VAL(STR(B$,9,1))+VAL(STR(B$,10,1))
: IF L3=1THEN 375
: STR(Y$,1,2)=STR(B$,9,2)
: L0=INT(L2/256)
: BIN(STR(Y$,3,1))=L0
: BIN(STR(Y$,4,1))=L2-L0*256
0370 RETURN
0375 STR(Y$,1,2),STR(Y$,3,2)=HEX(0001)
: RETURN
0385 DEFFN'101(Y1$)
: STR(D$(I8),P2,1)=STR(Y1$,1,1)
: P2=P2+1
: IF P2>64THEN 445
0405 STR(D$(I8),P2,1)=STR(Y1$,2,1)
: P2=P2+1
: IF P2>64THEN 425
: RETURN
0425 IF I8=4THEN 470
: I8=I8+1
: P2=1
: RETURN
0445 IF I8<4THEN 455
: GOSUB 470
: GOTO 405
0455 I8=I8+1
: P2=1
: GOTO 405
0470 PRINT HEX(010A);" DATA SAVE ON THE DISK SECTOR ";A
: DATA SAVE BA T#2,(A,A)D$()
: IF A<A9-2THEN 650
: GOSUB 760
: STR(N0$(1),8,1)="1"
: DATA SAVE DC OPEN T#2,A9-A1,N0$(1)
: DSKIP #2,A-A1S
: DATA SAVE DC #2,END
: DATA SAVE DC CLOSE#2
: GOSUB '248(1,0,8)
0550 GOSUB '243("REMOVE THE CURRENT DISK, MOUNT NEXT ONE KEY (EXEC) TO RESUME"
,0)
: Z=0
: GOSUB '248(1,0,8)
0565 GOSUB '243("ENTER THE DISK STATUS (O=OLD FILE, N=NEW FILE)",1)
: IF Q6$="O"THEN 590
: IF Q6$="N"THEN 630
: GOSUB 9854
: GOTO 565
0590 CONVERT VTO STR(N0$(1),6,2),(##)
: STR(N0$(2),6,2)=STR(N0$(1),6,2)
: GOSUB '209(N0$(1),1)
: IF H0<>1THEN 615
0605 PRINT HEX(0A0A);" * FILE ALREADY CATALOGED *"
: GOTO 550
0615 GOSUB '209(N0$(2),2)
: IF H0=1THEN 605
: GOTO 635
0630 GOSUB '245("ENTER THE SECTOR # OF 'END CAT. AREA'",4,0)
: SCRATCH DISK T#2,END =Q9
0635 GOSUB '248(1,0,8)
: GOSUB 715
: IF Z=1THEN 550
0650 I8,P2=1
: RETURN
0660 P1=1
: I9=I9+1
0670 IF P9<=0THEN 685
: IF (I8-1)*64+P2>256THEN 470
: RETURN
0685 GOSUB 285
: IF H9=0THEN 700
: Y$="EOF1"
0700 GOSUB '101(STR(Y$,1,2))
: GOSUB '101(STR(Y$,3,2))
: RETURN
0715 DATA LOAD BA T#2,(0,M$)D$()
: AND (STR(D$(1),3,1),7F)
: A,A1=256*VAL(STR(D$(1),3,1))+VAL(STR(D$(1),4,1))
: AND (STR(D$(1),5,1),7F)
: A9=256*VAL(STR(D$(1),5,1))+VAL(STR(D$(1),6,1))
: IF A9>A1THEN 755
: PRINT " * REACH THE 'END CAT. AREA' *"
0730 Z=1
0755 RETURN
0760 DATA LOAD BA T#2,(0,M$)D$()
: AND (STR(D$(1),3,1),80)
: A8=INT((A+1)/256)
: BIN(STR(V$,1,1))=A8
: BIN(STR(D$(1),4,1))=A-A8*256+1
: OR (STR(D$(1),3,1),STR(V$,1,1))
: CONVERT VTO STR(N0$(1),6,2),(##)
: V=V+1
: RETURN