Listing of file='3741010A' on disk='vmedia/3741_util.wvd.zip'
# Sector 29, program filename = '3741010A' 0010 REM 3741010A,02.00(12/1/78),THIS PROGRAM IS A PRODUCT OF WANG LABS. INC. 0030 COM Q$(2)64,Q6$64,Q7$1,Q5$64 : COM R1$8,R2$1,R9$8,R9$(16) : COM X9$(8)32 : DIM L9$(3)3 0105 DEFFN'15 : SELECT #1310,#5310,#6B10 : L9$(1)="310" : L9$(2)="310" : L9$(3)="B10" : INIT(20)X9$(1) : X9$(2)=HEX(202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E 3F) : FOR I=3TO 8 : X9$(I)=X9$(I-1) 0260 ADD(X9$(I),X9$(1)) : NEXT I : INIT("?")X9$(1),X9$(5),STR(X9$(4),32,1),STR(X9$(8),32,1) 0310 PRINT HEX(030A0A0A0A0A) : PRINT ,"(1) PROGRAM LOADING ADDRESS = ";L9$(1) : PRINT ,"(2) 2200 TC FILES ADDRESS = ";L9$(2) : PRINT ,"(3) 3741 FILES ADDRESS = ";L9$(3) 0370 GOSUB '200("0","3",1,0,"ENTER THE NUMBER OF THE ITEM TO CHANGE. (0=END)", 1) : IF Q9=0THEN 1320 : ON Q9GOSUB 470,670,870 : GOSUB '248(0,0,4) : GOTO 370 0430 PRINT HEX(010A0A0A07);"RE-ENTER" : GOTO 370 0470 PRINT HEX(010A);"KEY THE NUMBER OF THE DESIRED PROGGRAM LOADING ADDRESS." ;TAB(80) : GOSUB 1070 : L9$(1)=A$ : GOSUB '248(5,46,0) : PRINT A$ : ON IGOTO 530,550,570,590,610,630 0530 SELECT #1310 : RETURN 0550 SELECT #1320 : RETURN 0570 SELECT #1350 : RETURN 0590 SELECT #1B10 : RETURN 0610 SELECT #1B20 : RETURN 0630 SELECT #1360 : RETURN 0670 PRINT HEX(010A);"KEY THE NUMBER OF THE DESIRED 2200 TC FILES ADDRESS.";TA B(80) : GOSUB 1070 : L9$(2)=A$ : GOSUB '248(6,46,0) : PRINT A$ : ON IGOTO 730,750,770,790,810,830 0730 SELECT #5310 : RETURN 0750 SELECT #5320 : RETURN 0770 SELECT #5350 : RETURN 0790 SELECT #5B10 : RETURN 0810 SELECT #5B20 : RETURN 0830 SELECT #5360 : RETURN 0870 PRINT HEX(010A);"KEY THE NUMBER OF THE DESIRED 3741 FILES ADDRESS.";TAB(8 0) : GOSUB 1070 : L9$(3)=A$ : GOSUB '248(7,46,0) : PRINT A$ : ON IGOTO 930,950,970,990,1010,1030 0930 SELECT #6310 : RETURN 0950 SELECT #6320 : RETURN 0970 SELECT #6350 : RETURN 0990 SELECT #6B10 : RETURN 1010 SELECT #6B20 : RETURN 1030 SELECT #6360 : RETURN 1070 PRINT HEX(010A0A0A0A0A0A0A0A0A0A) : PRINT "---------------------------------------------------------------" : PRINT TAB(24);"1. 310 4. B10" : PRINT TAB(24);"2. 320 5. B20" : PRINT TAB(24);"3. 350 6. 360" 1120 GOSUB '200("1","6",1,0," ",1) : I=Q9 : GOSUB '248(10,0,4) : ON IGOTO 1180,1200,1220,1240,1260,1280 1180 A$="310" : RETURN 1200 A$="320" : RETURN 1220 A$="350" : RETURN 1240 A$="B10" : RETURN 1260 A$="B20" : RETURN 1280 A$="360" : RETURN 1320 IF L9$(1)=L9$(3)THEN 1340 : IF L9$(2)<>L9$(3)THEN 1360 1340 PRINT HEX(07) : GOTO 310 1360 PRINT HEX(03);"SYSTEM NOW LOADING - 3741 ACCESS SUBROUTINES" : LOAD DC T#1,"3741000A"10,2990 1400 DEFFN'31 1410 GOSUB '229(0,"START") : IF R=1THEN 1460 : PRINT HEX(030A);"MOUNT SYSTEM DISK." : GOSUB '254 : GOTO 1410 1460 COM CLEAR : PRINT HEX(03);"SYSTEM NOW LOADING - 'START'" : LOAD DC T#0,"START" 3000 PRINT HEX(03);"SYSTEM NOW LOADING - SYSTEM MENU" : LOAD DC T#1,"3741020A"3000,6990 7010 DEFFN'50(N$) 7030 $GIO/215(020803001222400040004000,R$) : IF STR(R$,8,1)=HEX(00)THEN 7100 : GOSUB '248(1,0,1) : PRINT "SELECT PRINTER" : GOSUB '254 : GOTO 7030 7100 SELECT PRINT 215 : PRINT N$ : SELECT PRINT 005 : RETURN 7140 DEFFN'200(Q$(1),Q$(2),Q3,Q4,Q6$,Q5) : Q6=Q9 : SELECT PRINT 005 : IF Q6$=" "THEN 7150 : PRINT HEX(010A);Q6$;TAB(80) 7150 INIT(20)Q5$,Q6$ : Q7=61 : IF Q3+Q4=0THEN 7160 : Q7=Q3+Q4+2*SGN(2-Q5) : INIT("-")STR(Q5$,1,Q7-SGN(2-Q5)) : BIN(STR(Q5$,Q3+SGN(2-Q5),1))=45+2*SGN(2-Q5) 7160 PRINT HEX(0D010A0A);TAB(80) : PRINT HEX(010A0A);"? ";Q5$ : PRINT HEX(010A0A0909); : Q8=0 : KEYIN Q7$,7170,7170 7170 KEYIN Q7$,7200,7180 : GOTO 7170 7180 IF Q7$=HEX(0F)THEN 7190 : IF Q7$<>HEX(1F)THEN 7170 : GOSUB '31 : GOTO 7170 7190 GOSUB '15 : GOTO 7170 7200 IF Q7$=HEX(08)THEN 7210 : IF Q7$=HEX(E5)THEN 7150 : IF Q7$=HEX(0D)THEN 7220 : IF Q7$<HEX(20)THEN 7170 : IF Q7$>HEX(7F)THEN 7170 : Q8=Q8+1 : IF Q8>Q7THEN 7290 : STR(Q6$,Q8,1)=Q7$ : PRINT Q7$; : GOTO 7170 7210 SELECT PRINT 005 : Q8=Q8-SGN(Q8) : STR(Q6$,Q8+1)=" " : IF Q8=0THEN 7160 : PRINT HEX(08);STR(Q5$,Q8,1);HEX(08); : GOTO 7170 7220 Q8=Q8+1-SGN(Q8) : ON Q5GOTO 7230,7310 : IF Q6$=" "THEN 7250 7230 IF Q8<>NUM(STR(Q6$,1,Q8))THEN 7290 : CONVERT Q6$TO Q9 : IF Q3+Q4=0THEN 7310 : IF ABS(Q9)>=10^ABS(Q3)THEN 7290 : IF INT(Q9*10^Q4)<>Q9*10^Q4THEN 7290 : GOTO 7310 7240 CONVERT Q$(1)TO Q7 : CONVERT Q$(2)TO Q8 : IF Q7>Q9THEN 7260 : IF Q9>Q8THEN 7260 7250 PRINT HEX(0D0A);TAB(80) : RETURN 7260 PRINT HEX(0D010A0A0A07);"RE-ENTER",Q7;"<= ENTRY <=";Q8;TAB(80) 7270 Q9=Q6 : GOTO 7150 7280 IF Q$(1)>Q6$THEN 7290 : IF Q6$<=Q$(2)THEN 7250 7290 GOSUB 7300 : GOTO 7270 7300 DEFFN'255 : PRINT HEX(0D010A0A0A07);"RE-ENTER";TAB(80) : RETURN 7310 IF Q$(1)<>Q$(2)THEN 7320 : IF Q$(1)=" "THEN 7250 7320 ON Q5+1GOTO 7240,7240,7280 7330 DEFFN'242(W0,Q6$) : SELECT PRINT 005 : IF W0<=0THEN 7340 : INIT(Q6$)Q6$ : PRINT STR(Q6$,1,W0-INT((W0-1)/63)*63); : W0=W0-(W0-INT((W0-1)/63)*63) : GOTO 7330 7340 RETURN 7350 DEFFN'254 : SELECT PRINT 005 : PRINT HEX(010A0A);TAB(80);HEX(010A0A) : Q6$=" " 7360 KEYIN Q6$,7360,7360 : INPUT "KEY RETURN(EXEC) TO RESUME ",Q6$ : PRINT HEX(010A);TAB(80),TAB(80),TAB(80) : RETURN 7370 DEFFN'248(Q6,Q7,Q8) : SELECT PRINT 005 : IF Q8=0THEN 7390 : IF ABS(Q8)<>9E99THEN 7380 : PRINT HEX(03) : GOTO 7390 7380 GOSUB 7390 : SELECT PRINT 205 : PRINT TAB(72-8*SGN(Q8)-Q7) : IF ABS(Q8)<2THEN 7390 : FOR W0=2TO ABS(Q8) : PRINT HEX(0A);TAB(72-8*SGN(Q8)) : NEXT W0 7390 PRINT HEX(01) : GOSUB '242(Q7,HEX(09)) : GOSUB '242(Q6,HEX(0A)) : SELECT PRINT 005 : RETURN 7400 DEFFN'229(R9,R9$) : DATA LOAD BA T#R9,(0,R3)R9$() : R4=VAL(STR(R9$(1),2)) : R1$=R9$ : XOR (STR(R1$,2),R1$) : R=3*VAL(STR(R1$,8)) : R=INT(R/256)+R-INT(R/256)*256 : R3,R5=R-INT(R/R4)*R4 7410 DATA LOAD BA T#R9,(R3,R)R9$() : R,R6=0 : FOR R7=2-SGN(R3)TO 16 : R2$=STR(R9$(R7),1,1) : IF R2$=HEX(00)THEN 7420 : IF R2$=HEX(21)THEN 7430 : IF STR(R9$(R7),9)<>R9$THEN 7430 : R=SGN(16.5-VAL(R2$))*(2-SGN(VAL(STR(R9$(R7),2,1)))) : R6=R7 7420 RETURN 7430 NEXT R7 : R2$=HEX(00) : R3=R3-1 : IF R3>=0THEN 7435 : R3=R4-1 7435 IF R3=R5THEN 7420 : GOTO 7410 7440 DEFFN'228(R9,R9$,R1) : GOSUB '229(R9,R9$) : ON VAL(R2$)-15GOTO 7510,7520 : R2$="0" : DATA LOAD BA T#R9,(0,R3)R9$() : AND (STR(R9$(1),3,1),7F) : AND (STR(R9$(1),5,1),7F) 7450 R3=256*VAL(STR(R9$(1),5))+VAL(STR(R9$(1),6))-256*VAL(STR(R9$(1),3))-VAL(S TR(R9$(1),4)) : IF R3<ABS(R1)+2THEN 7500 : IF R1>=0THEN 7460 : R3=ABS(R1) 7460 DATA SAVE DC OPEN T#R9,(R3),R9$ : RETURN 7470 DEFFN'227(R9,R9$,R1) : GOSUB '229(R9,R9$) : IF R2$=HEX(00)THEN 7520 : LIMITS T#R9,R9$,R2,R3,R0 : R2=R2+R1+R0-1 : IF R2>=R3THEN 7500 : DATA LOAD BA T#R9,(0,R4)R9$() : AND (STR(R9$(1),3,1),7F) : R4=256*VAL(STR(R9$(1),3))+VAL(STR(R9$(1),4)) 7480 IF R4-1<>R3THEN 7490 : BIN(STR(R9$(1),3,1))=INT((R2+1)/256) : BIN(STR(R9$(1),4,1))=R2+1-INT((R2+1)/256)*256 : DATA SAVE BA T#R9,(0,R)R9$() 7490 DATA LOAD BA T#R9,(R3,R3)R9$() : DATA SAVE BA T#R9,(R2,R3)R9$() : GOSUB '229(R9,R9$) : BIN(STR(R9$(R6),5,1))=INT(R2/256) : BIN(STR(R9$(R6),6,1))=R2-INT(R2/256)*256 : DATA SAVE BA T#R9,(R3,R3)R9$() : R2$="0" : RETURN 7500 R2$="1" : RETURN 7510 R2$="2" : RETURN 7520 R2$="3" : RETURN 7530 DEFFN'226(R9,R9$) : GOSUB '229(R9,R9$) : IF R6<>0THEN 7540 : R3=0 : GOTO 7580 7540 R6=R6+1 : IF R6>16THEN 7570 : R5=0 : FOR R7=R6TO 16 : R2$=R9$(R7) : IF R2$=HEX(00)THEN 7550 : IF R2$=HEX(21)THEN 7560 : R9$=STR(R9$(R7),9) : R5=1 : R6=R7 7550 R7=16 7560 NEXT R7 : IF R5=1THEN 7600 7570 R3=R3+1 : IF R3>=R4THEN 7590 7580 DATA LOAD BA T#R9,(R3,R)R9$() : R6=1-SGN(R3) : GOTO 7540 7590 INIT(00)R9$ 7600 GOSUB '229(R9,R9$) : RETURN