Listing of file='3741040A' on disk='vmedia/3741_util.wvd.zip'
# Sector 116, program filename = '3741040A'
0010 REM 3741040A,02.00(12/1/78),THIS PROGRAM IS A PRODUCT OF WANG LABS. INC.
3000 % THIS MUST BE STATEMENT 3000
3010 DIM X$(4)62,Y3$(1)2,Y$8,F1$17,A$19,H1$64,N$64
3020 DEFFN'15
: PRINT HEX(03);,"CONVERT TC FILE TO 3741"
: PRINT "MOUNT DISK PLATTERS."
: GOSUB '254
3060 PRINT HEX(03);,"CONVERT TC FILE TO 3741"
: GOSUB '200("1","2",1,0,"ENTER MODE (1-ALL OR 2-ONE FILE)",1)
: C=Q9
: GOSUB '248(8,10,0)
: IF C=1THEN 3160
: C$="MODE - ONE FILE"
: PRINT C$
: GOTO 3250
3160 C$="MODE - ALL"
: PRINT C$
: STR(H1$,1,3)=HEX(0D0C0E)
: STR(H1$,4,18)="CONVERT TC TO 3741"
: STR(H1$,22,3)=HEX(0D0A0E)
: STR(H1$,25)="INPUT NAME OUTPUT NAME"
: GOSUB '50(H1$)
3250 GOSUB '200("1","2",1,0,"ENTER OPTION (1-TRANSLATE;2-LEAVE IN ASCII)",1)
: A=Q9
: IF A=1THEN 3300
: A$="LEAVE IN ASCII"
: GOTO 3320
3300 A$="TRANSLATE TO EBCDIC"
3320 GOSUB '248(9,10,0)
: PRINT "OPTION - ";A$
: GOSUB '248(1,0,3)
: IF C=2THEN 3470
: INIT(00)Y$
3380 GOSUB '226(5,Y$)
: Y$=R9$
: IF R=0THEN 4250
: GOSUB '40
: GOTO 3740
3470 GOSUB '200(" "," ",8,0,"ENTER THE INPUT FILE NAME.",2)
: Y$=Q6$
: GOSUB '229(5,Y$)
: IF R=2THEN 3550
: PRINT HEX(010A0A0A07);"ERROR - FILE DOES NOT EXIST."
: GOTO 3470
3550 GOSUB '200(" "," ",17,0,"ENTER THE OUTPUT FILE NAME.",2)
: F1$=Q6$
3570 GOSUB '189(F1$)
: IF Z8<=1948THEN 3640
: GOSUB '248(1,0,1)
: PRINT HEX(07);"CATALOGUE END ERROR"
: GOSUB '254
: GOTO 3570
3640 IF Z4=0THEN 3680
: IF Q$=HEX(05)THEN 3740
: PRINT HEX(010A0A0A07);"ERROR - FILE ALREADY EXISTS"
: GOTO 3550
3680 GOSUB '248(1,0,3)
: PRINT "ERROR - CATALOGUE FULL"
: GOSUB '254
: GOTO 3570
3740 GOSUB '248(10,10,1)
: PRINT "INPUT FILE NAME - ";Y$
: GOSUB '248(11,10,1)
: PRINT "OUTPUT FILE NAME - ";F1$
: GOSUB '248(1,0,3)
: K,K0,X=0
: Z1,Z0=Z8+1
: Z2=1950
: Z5=128
: Z6=9
: INIT(20)X$()
: GOSUB 4500
3920 IF K0>X1THEN 3940
: Z5,K0=X1
3940 IF A=1THEN 3970
: GOSUB '198
: GOTO 3980
3970 GOSUB '182
3980 IF Z0>1950THEN 4010
: IF Q$=" "THEN 4030
: IF Q$<>HEX(03)THEN 4320
4010 GOSUB '92
: GOTO 3920
4030 K=K+1
: PRINT HEX(010A0A0A0A0A);,"CONVERTING RECORD -";K
: GOSUB 4500
: IF X<>-1THEN 3920
: IF K0<=128THEN 4140
: K0=128
: PRINT HEX(03);"RECORDS HAVE BEEN TRUNCATED TO 128 BYTES"
: $GIO/005(40070240030012214000,A$)
4140 IF C3$<>"C"THEN 4170
: C3$="L"
: GOTO 4180
4170 C3$=" "
4180 GOSUB '187(F1$,K-C3+1,K0)
: GOSUB '184(K-C3+1)
: GOSUB '185
: GOSUB '194(" "," ",C3$)
: IF C=1THEN 3380
4250 PRINT HEX(03);,"CONVERT TC FILE TO 3741"
4260 GOSUB '200(" "," ",1,0,"DO YOU WANT TO RERUN THIS PROGRAM? (Y/N)",2)
: IF Q6$="Y"THEN 3060
: IF Q6$="N"THEN 4380
: GOSUB '255
: GOTO 4260
4320 PRINT HEX(010A0A0A);"ERROR - ";
: HEXPRINT STR(Q$,1,1);
: PRINT " - IN WRITING TO 3741"
: GOSUB '254
: GOTO 4250
4380 DEFFN'31
: GOSUB '229(1,"3741020A")
: IF R=1THEN 4440
: PRINT HEX(030A);"MOUNT SYSTEM PLATTER."
: GOSUB '254
: GOTO 4380
4440 PRINT HEX(03);"SYSTEM NOW LOADING - SYSTEM MENU"
: LOAD DC T#1,"3741020A"3000,6990
4500 IF X=0THEN 4610
: IF VAL(STR(X$(1),2,1))=XTHEN 4650
: MAT COPY X$()<X,1>TO Y3$()
: X1=VAL(Y3$(1))
: MAT COPY X$()<X+1,X1>TO Z$()
: X=X+X1+1
: RETURN
4610 DATA LOAD DC OPEN T#5,Y$
: X=1
4650 IF STR(X$(1),1,1)=HEX(F0)THEN 4700
: DATA LOAD DC #5,X$()
: X=3
: GOTO 4500
4700 X=-1
: RETURN
4740 DEFFN'40
: N0=0
: F1$=Y$
4790 GOSUB '189(F1$)
: IF Z8<=1948THEN 4870
: GOSUB '248(1,0,3)
: PRINT "CATALOGUE END ERROR"
: GOSUB '254
: GOTO 4790
4870 IF Z4<>0THEN 4920
: GOSUB '248(1,0,3)
: PRINT "ERROR - CATALOGUE FULL"
: GOSUB '254
: GOTO 4250
4920 IF Q$<>" "THEN 4980
: N0=N0+1
: CONVERT N0TO STR(F1$,9,2),(##)
: GOTO 4790
4980 INIT(20)N$
: STR(N$,1,2)=HEX(0D0A)
: STR(N$,3)=Y$
: STR(N$,42)=F1$
: GOSUB '50(N$)
: RETURN
5060 DEFFN'92
: C3$="C"
: GOSUB '187(F1$,K-C3+1,K0)
: GOSUB '184(K-C3+1)
: GOSUB '185
: GOSUB '194(" "," ","C")
: GOSUB '248(1,0,3)
: PRINT "CURRENT OUTPUT DISK FULL. MOUNT NEW PLATTER"
: GOSUB '254
5190 GOSUB '189(F1$)
: IF STR(Q$,1,1)=HEX(00)THEN 5310
: IF Z4<>0THEN 5280
: GOSUB '248(1,0,3)
: PRINT "ERROR - CATALOGUE FULL"
: GOSUB '254
: GOTO 5190
5280 IF Q$=HEX(05)THEN 5400
: GOTO 5350
5310 GOSUB '248(1,0,3)
: PRINT "CATALOGUE END ERROR"
: GOSUB '254
: GOTO 5190
5350 GOSUB '248(1,0,3)
: PRINT "ERROR - FILE ALREADY EXISTS IN CURRENT DISK"
: GOSUB '254
: GOTO 5190
5390 GOSUB '248(1,0,3)
5400 Z1,Z0=Z8+1
: Z2=1950
: Z5=128
: Z6=9
: C3=K
: PRINT HEX(010A0A0A0A0A);,"CONVERTING RECORD -";K
: RETURN