image of READY prompt

Wang2200.org

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