image of READY prompt

Wang2200.org

Listing of file='TPUT050B' on disk='vmedia/733-1004.wvd.zip'

# Sector 260, program filename = 'TPUT050B'
0012 REM .   TPUT050B,     00-00(08/10/77),    10189A
0013 DIM N0$8,A$(16),L$1,H$2,N$8
   : GOSUB '248(1,0,4)
   : GOSUB 220
   : P1,I9=1
   : GOSUB 240
   : L1,P9=L0
   : GOSUB 240
0110 V1=64-P1+1
   : V2=64-P2+1
   : IF V1<P9THEN 125
   : V1=P9
0125 IF V1>V2THEN 160
   : STR(C$(I9),P1,V1)=STR(D$(I8),P2,V1)
   : P2=P2+V1
   : P9=P9-V1
   : IF P2<=64THEN 150
   : GOSUB 300
0150 GOSUB 350
   : GOTO 110
0160 STR(C$(I9),P1,V2)=STR(D$(I8),P2,V2)
   : P1=P1+V2
   : P9=P9-V2
   : P2=1
   : I8=I8+1
   : IF I8<=4THEN 185
   : GOSUB 220
0185 GOSUB 355
   : GOTO 110
0195 L0=S9
   : GOSUB '31(10)
   : GOSUB '31(10)
   : GOSUB '31(6)
   : O$="C"
   : PRINT HEX(030A0A0A);"END OF PROGRAM"
   : STOP
0220 IF A>=A9-1THEN 415
   : DATA LOAD BA T#2,(A,A)D$()
   : I8,P2=1
   : RETURN
0240 IF L0<0THEN 335
   : L0=256*VAL(STR(D$(I8),P2,1))
   : P2=P2+1
   : IF P2>64THEN 310
0265 L0=L0+VAL(STR(D$(I8),P2,1))
   : IF L0=17743THEN 195
   : P2=P2+1
   : IF L0<>1THEN 290
   : GOSUB '31(10)
   : GOSUB 290
   : P2=P2+1
   : GOSUB 290
   : P2=P2+1
   : GOSUB 290
   : P2=P2+1
   : L0=-1
0290 IF P2>64THEN 300
   : RETURN
0300 IF I8=4THEN 220
   : I8=I8+1
   : P2=1
   : RETURN
0310 IF I8<4THEN 325
   : GOSUB 220
   : GOTO 265
0325 I8=I8+1
   : P2=1
   : GOTO 265
0335 L0=0
   : GOSUB 240
   : L1,P9=L0
   : GOSUB 240
   : L2=L0
   : RETURN
0350 P1=1
   : I9=I9+1
0355 IF P9<=0THEN 370
   : IF (I8-1)*64+P2>256THEN 220
   : RETURN
0370 IF L1<>80THEN 374
   : IF STR(C$(1),1,3)="EOF"THEN 373
   : IF STR(C$(1),1,3)<>HEX(C5D6C6)THEN 374
0373 S9=80
0374 L0=S9
   : GOSUB '204(T0)
   : GOSUB '31(11)
   : B9=B9+1
   : PRINT HEX(010A);" WRITE BLOCK ";B9;" ON TAPE"
   : P1,I9=1
   : GOSUB 240
   : L1,P9=L0
   : GOSUB 240
   : L2=L0
   : RETURN
0415 IF STR(N$(J9),8,1)="0"THEN 455
   : GOSUB '248(1,0,4)
   : GOSUB '243("REMOVE THE PLATTER,MOUNT NEXT ONE, KEY (EXEC) TO RESUME",0)
   : GOSUB '248(1,0,4)
   : CONVERT STR(N$(1),6,2)TO V4
   : V4=V4+1
   : CONVERT V4TO STR(N$(1),6,2),(##)
0441 STR(N$(2),6,2)=STR(N$(1),6,2)
   : GOTO 535
0455 PRINT " * MISSING 'EOF1' MARK ON DISK *"
   : STOP
   : GOTO 195
0505 GOSUB '243("MOUNT THE DISK PLATTER, KEY (EXEC) TO RESUME",0)
   : GOSUB '248(1,0,4)
   : GOSUB '243("ENTER THE DISK DATA FILE NAME (1 TO 5 CHARS)",5)
   : STR(N$(1),1,5)=Q6$
   : STR(N$(1),6,3)="001"
   : N$(2)=N$(1)
0523 STR(N$(2),8,1)="0"
0535 GOSUB '209(N$(1),1)
   : IF H0=1THEN 575
   : GOSUB '209(N$(2),2)
   : IF H0=1THEN 575
   : GOSUB '248(1,0,8)
   : GOSUB '243("DATA FILE IS NOT ON THE WORKING DISK, KEY (EXEC) TO RETRY",0)
   : GOSUB '248(1,0,4)
   : GOTO 505
0575 DATA LOAD DC OPEN T#2,N$(J9)
   : LIMITS T#2,N$(J9),A7,A9,A8
   : A=A7
   : I8,P2=1
   : DATA LOAD BA T#2,(A,A)D$()
   : GOTO 110
0780 DEFFN'209(N$,J9)
   : O9=0
   : XOR (STR(N$,2),N$)
   : L$=STR(N$,8,1)
   : H$=HEX(0000)
   : ADDC(H$,L$)
   : ADDC(H$,L$)
   : ADDC(H$,L$)
   : ADD(STR(H$,1,1),STR(H$,2,1))
   : H=VAL(H$)
   : DATA LOAD BA T#2,(0,M$)A$()
   : S=VAL(STR(A$(1),2,1))
   : H=H-INT(H/S)*S
   : H0=0
0840 DATA LOAD BA T#2,(H,H)A$()
   : FOR I=1TO 16
   : IF I+H=1THEN 880
   : IF STR(A$(I),1,2)<>HEX(0000)THEN 875
   : I=16
   : O9=1
   : GOTO 880
0875 IF STR(A$(I),1,1)=HEX(11)THEN 880
   : IF STR(A$(I),9,8)=N$(J9)THEN 920
0880 NEXT I
   : IF O9=1THEN 915
   : H0=H0+1
   : IF H0>STHEN 915
   : H=H-2
   : IF H>=0THEN 840
   : H=S-1
   : GOTO 840
0915 H0=-1
   : RETURN
0920 H0=1
   : RETURN