image of READY prompt

Wang2200.org

Listing of file='XREF010A' on disk='vmedia/701-2048D.wvd.zip'

# Sector 366, program filename = 'XREF010A'
0010 REM XREF010A,00-00(03/24/76),12003A - COPYRIGHT WANG LABS. INC., 1976
0160 COM N1$(40)8,F,M$4,N$8,C,P2,P3,P4,P9,P5
   : COM R1$8,R2$1,R3$2,R9$8,R9$(16),I$3
   : DIM B$(1)2,Q6$64
   : INIT(20)N1$()
   : PRINT HEX(03)
   : DATA LOAD DC OPEN T#0,"XREFF010"
   : DATA LOAD DC #0,I$,F,M$,P2,P3,P4,P9
   : GOSUB 710
   : PRINT HEX(03)
   : GOSUB 1710
0310 GOSUB '243("ARE THE PARAMETERS OK? (Y/N)",1)
   : IF Q6$="Y"THEN 1040
   : IF Q6$="N"THEN 360
   : GOSUB 2090
   : GOTO 310
0360 F$="N"
0390 GOSUB '245("ENTER THE NUMBER OF THE ITEM TO BE CHANGED.  (0 = END)",1,0)
   : IF Q9=0THEN 1040
   : IF Q9<7THEN 440
   : GOSUB 2090
   : GOTO 390
0440 ON Q9GOSUB 480,690,610,790,870,950
   : GOSUB 1710
   : GOTO 390
0480 GOSUB '248(11,0,0)
   : PRINT ,"FUNCTIONS AVAILABLE"
   : PRINT ,"   1 - LIST"
   : PRINT ,"   2 - CROSS REFERENCE"
   : PRINT ,"   3 - LIST/CROSS REFERENCE"
0530 GOSUB '245("ENTER THE NUMBER OF THE FUNCTION DESIRED.",1,0)
   : IF (Q9-1)*(Q9-2)*(Q9-3)=0THEN 570
   : GOSUB 2090
   : GOTO 530
0570 P9=3-SGN(3-Q9)*Q9
   : GOSUB '248(11,0,4)
   : RETURN
0610 GOSUB '243("ENTER THE DESIRED MODE.  (ALL OR PART)",4)
   : IF Q6$="ALL"THEN 660
   : IF Q6$="PART"THEN 660
   : GOSUB 2090
   : GOTO 610
0660 M$=Q6$
   : RETURN
0690 GOSUB '243("ENTER THE INPUT ADDRESS.",3)
   : I$=Q6$
0710 IF STR(I$,1,1)="B"THEN 750
   : IF STR(I$,1,1)<>"3"THEN 760
   : GOSUB '97(I$)
   : IF Q6$="N"THEN 760
0750 RETURN
0760 GOSUB 2090
   : GOTO 690
0790 GOSUB '245("ENTER THE NUMBER OF SPACES FOR THE MARGIN.  (1-10)",2,0)
   : IF Q9<1THEN 820
   : IF Q9<11THEN 840
0820 GOSUB 2090
   : GOTO 790
0840 P2=Q9
   : RETURN
0870 GOSUB '245("ENTER THE LINE LENGTH, INCLUDING MARGIN.  (70-130)",3,0)
   : IF Q9<70THEN 900
   : IF Q9<131THEN 920
0900 GOSUB 2090
   : GOTO 870
0920 P4=Q9
   : RETURN
0950 GOSUB '245("ENTER THE NUMBER OF LINES PER PAGE.  (10-55)",2,0)
   : IF Q9<10THEN 980
   : IF Q9<56THEN 1000
0980 GOSUB 2090
   : GOTO 950
1000 P3=Q9
   : RETURN
1040 IF F$=" "THEN 1150
   : GOSUB '243("DO YOU WISH TO SAVE THESE VALUES AS THE SYSTEM DEFAULTS?   Y/
     N",1)
   : IF Q6$="N"THEN 1150
   : IF Q6$="Y"THEN 1100
   : GOSUB 2090
   : GOTO 1040
1100 DATA LOAD DC OPEN T#0,"XREFF010"
   : DATA SAVE DC #0,I$,F,M$,P2,P3,P4,P9
   : DATA SAVE DC END
1150 GOSUB '98(1170,2,I$)
   : LOAD DC T#0,"SELECT"1170,1170
1170 % SELECT #2 GOES HERE
1200 IF M$="ALL"THEN 1680
   : PRINT HEX(010A);"MOUNT INPUT PLATTER";TAB(64)
   : GOSUB '254
   : P5=0
1260 PRINT HEX(010A);"ENTER THE NAME OF FILE #";P5+1,"  (0 = END)";TAB(64)
   : GOSUB '244(8)
   : IF Q6$=" "THEN 1260
   : N$=Q6$
   : MAT SEARCHN1$(),=STR(N$,1,8)TO B$()STEP 8
   : IF B$(1)=HEX(0000)THEN 1390
   : GOSUB '248(3,0,1)
1360 PRINT "FILE - ";N$;" - IS A DUPLICATE FILE NAME"
   : GOTO 1260
1390 IF N$="0"THEN 1550
   : GOSUB '229(2,N$)
   : IF R2$<>HEX(10)THEN 1440
   : IF STR(R9$(R6),1,2)=HEX(1080)THEN 1480
1440 GOSUB '248(3,0,1)
   : PRINT "FILE - ";N$;" - NOT AN ACTIVE PROGRAM FILE."
   : GOTO 1260
1480 P5=P5+1
   : N1$(P5)=N$
   : PRINT HEX(01);"INPUT FILE = ";N$;TAB(63)
   : IF P5<40THEN 1260
1550 IF P5>0THEN 1650
   : PRINT HEX(030A);"NUMBER OF FILES = 0"
   : GOSUB '254
1580 DEFFN'15
   : COM CLEAR N1$()
   : PRINT HEX(030A)
   : PRINT "REMOUNT ISS PLATTER IF REMOVED.";TAB(64)
   : GOSUB '254
   : LOAD DC T#0,"START040"
1650 PRINT HEX(01);TAB(64)
   : PRINT "REMOUNT ISS PLATTER IF REMOVED.";TAB(64)
   : GOSUB '254
1680 LOAD DC T#0,"XREF010B"
1710 GOSUB '248(4,0,0)
   : PRINT ,"ISS LIST/CROSS REFERENCE UTILITY"
   : PRINT
   : PRINT " 1. FUNCTION = ";
   : ON P9-1GOTO 1780,1800
   : PRINT "CROSS REFERENCE";
   : GOTO 1810
1780 PRINT "LIST";
   : GOTO 1810
1800 PRINT "LIST/CROSS REFERENCE";
1810 PRINT TAB(40);"4. MARGIN =";P2;TAB(64)
   : PRINT " 2. INPUT ADDRESS = ";I$;TAB(40);"5. LINE LENGTH =";P4;TAB(64)
   : PRINT " 3. MODE = ";M$;TAB(40);"6. LINES/PAGE =";P3;TAB(64)
   : GOSUB '248(11,0,5)
   : RETURN
1860 DEFFN'229(R9,R9$)
   : DATA LOAD BA T#R9,(0,R3)R9$()
   : AND (STR(R9$(1),2,1),7F)
   : R4=VAL(STR(R9$(1),2,1))
   : R1$=R9$
   : XOR (STR(R1$,2),R1$)
   : R2$=STR(R1$,8,1)
   : R3$=HEX(0000)
   : ADDC(R3$,R2$)
   : ADDC(R3$,R2$)
   : ADDC(R3$,R2$)
1870 ADD(STR(R3$,1,1),STR(R3$,2,1))
   : R3=VAL(R3$)
   : R3=R3-INT(R3/R4)*R4
   : R5=R3
1880 DATA LOAD BA T#R9,(R3,R)R9$()
   : R6=0
   : FOR R7=1TO 16
   : IF R3<>0THEN 1890
   : IF R7<>1THEN 1890
   : R7=2
1890 R2$=STR(R9$(R7),1,1)
   : IF R2$=HEX(00)THEN 1910
   : IF R2$=HEX(10)THEN 1900
   : IF R2$<>HEX(11)THEN 1920
1900 IF STR(R9$(R7),9,8)<>R9$THEN 1920
   : R6=R7
1910 R7=16
1920 NEXT R7
   : IF R2$=HEX(00)THEN 1930
   : IF R6<>0THEN 1930
   : R2$=HEX(00)
   : R3=R3-1
   : IF R3=R5THEN 1930
   : IF R3>=0THEN 1880
   : R3=R4-1
   : GOTO 1880
1930 RETURN
1940 DEFFN'242(W0,Q6$)
   : IF W0<=0THEN 1960
   : IF W0=1THEN 1950
   : STR(Q6$,2)=STR(Q6$,1,W0-1)
1950 PRINT Q6$;
1960 RETURN
1970 DEFFN'254
   : GOSUB '248(2,0,1)
   : INPUT "KEY RETURN(EXEC) TO RESUME ",Q6$
   : W4$=Q6$
   : GOSUB '248(1,0,3)
   : Q6$=W4$
   : RETURN
1980 DEFFN'243(Q6$,Q0)
   : GOSUB 2100
1990 SELECT CO 205
   : Q6$=" "
   : INPUT Q6$
   : IF Q0=0THEN 2130
   : IF LEN(Q6$)<=Q0THEN 2130
   : GOSUB 2090
2000 DEFFN'244(Q0)
   : GOSUB 2120
   : GOSUB 2110
   : GOTO 1990
2010 DEFFN'245(Q6$,Q2,Q3)
   : Q0=ABS(Q2)+Q3+1
   : GOSUB 2100
2020 IF ABS(Q2)+ABS(Q3)=0THEN 2030
   : GOSUB '242(ABS(Q2)+2,HEX(09))
   : PRINT "/"
   : GOTO 2040
2030 PRINT ,," "
2040 GOSUB 2120
   : SELECT CO 205
   : Q9,W0=-1E-99
   : INPUT Q9
   : IF W0=Q9THEN 2050
   : IF ABS(Q2)+Q3=0THEN 2080
   : IF Q9>=0THEN 2070
   : IF Q2<=0THEN 2070
2050 GOSUB 2090
2060 DEFFN'246(Q2,Q3)
   : Q0=ABS(Q2)+Q3+1
   : GOSUB 2120
   : GOSUB 2110
   : GOTO 2020
2070 IF ABS(Q9)>=10^ABS(Q2)THEN 2050
   : W0=ABS(Q9*10^Q3)
   : IF INT(W0)<>W0THEN 2050
2080 GOSUB '248(3,0,1)
   : RETURN
2090 GOSUB '248(3,0,1)
   : PRINT "RE-ENTER"
   : RETURN
2100 SELECT PRINT 005(64),CO 005
   : PRINT HEX(010A);STR(Q6$,1);
2110 SELECT PRINT 005(64),CO 005
   : GOSUB '242(Q0+2,"-")
   : PRINT TAB(64)
2120 PRINT HEX(010A0A)
   : RETURN
2130 PRINT HEX(0A);TAB(64)
   : SELECT PRINT 005(64),CO 005
   : RETURN
2140 DEFFN'248(Q6,Q7,Q8)
   : GOSUB 2160
   : IF Q8<1THEN 2150
   : GOSUB 2150
   : SELECT PRINT 205
   : Q6$=" "
   : PRINT STR(Q6$,Q7+1)
   : IF Q8<2THEN 2150
   : FOR W0=2TO Q8
   : PRINT HEX(0A);STR(Q6$,1)
   : NEXT W0
2150 PRINT HEX(01)
   : GOSUB '242(Q7,HEX(09))
   : GOSUB '242(Q6,HEX(0A))
2160 SELECT PRINT 005(64),CO 005
   : RETURN
2190 DEFFN'97(Q6$)
   : STR(Q6$,4)=HEX(00300131023203330434053506360737083809390A410B420C430D440E
     450F462020)
   : $TRAN(Q6$<2,2>,Q6$<4>)R
   : IF STR(Q6$,2,1)>HEX(07)THEN 2330
   : IF STR(Q6$,3,1)>HEX(07)THEN 2330
   : ROTATE(STR(Q6$,2,1),4)
2260 STR(Q6$,4,1)=STR(Q6$,2,1)
   : OR (STR(Q6$,4,1),STR(Q6$,3,1))
   : $GIO(02000316122273404400,Q6$)
   : IF STR(Q6$,8,1)<>HEX(00)THEN 2330
   : Q6$="Y"
   : RETURN
2330 Q6$="N"
   : F$="N"
   : RETURN
2380 DEFFN'98(Q8,Q9,Q6$)
   : R9$(1)=HEX(20FF0000A5D7313331300D0000FE)
   : PACK(####)STR(R9$(1),3,2)FROMQ8
   : CONVERT Q9TO STR(R9$(1),7,1),(#)
   : STR(R9$(1),8,3)=Q6$
   : LIMITS T#0,"SELECT",Q8,Q9,Q9
   : DATA SAVE BA T#0,(Q8+1,Q9)R9$()
   : RETURN