Listing of file='LIST010A' on disk='vmedia/701-2048D.wvd.zip'
# Sector 511, program filename = 'LIST010A' 0010 REM LIST010A,00-00(04/22/76),12003A - COPYRIGHT WANG LABS. INC., 1976 0170 COM P5,N$(40)8,M$4,L9,L8,I$3 : DIM R1$8,R2$1,R3$2,R9$8,R9$(16) : DIM Q6$64,B$(1)2 : PRINT HEX(03) : DATA LOAD DC OPEN T#0,"LISTF010" : DATA LOAD DC #0,M$,I$,L9,L8 : GOSUB 630 : GOSUB 1360 0280 GOSUB '243("ARE THE PARAMETERS OK? Y/N",1) : IF Q6$="Y"THEN 800 : IF Q6$="N"THEN 330 : GOSUB 2090 : GOTO 280 0330 F$="N" 0360 GOSUB '245("ENTER THE NUMBER OF THE ITEM TO BE CHANGED. 0=END",1,0) : IF Q9=0THEN 800 : IF Q9<5THEN 410 : GOSUB 2090 : GOTO 360 0410 ON Q9GOSUB 450,530,610,710 : GOSUB 1360 : GOTO 360 0450 GOSUB '243("ENTER THE DESIRED MODE. (ALL OR PART)",4) : IF Q6$="ALL"THEN 500 : IF Q6$="PART"THEN 500 : GOSUB 2090 : GOTO 450 0500 M$=Q6$ : RETURN 0530 GOSUB '245("ENTER THE LINE LENGTH. (64-130)",3,0) : IF Q9<64THEN 560 : IF Q9<131THEN 580 0560 GOSUB 2090 : GOTO 530 0580 L9=Q9 : RETURN 0610 GOSUB '243("ENTER THE INPUT ADDRESS.",3) : I$=Q6$ 0630 IF STR(I$,1,1)="B"THEN 650 : IF STR(I$,1,1)<>"3"THEN 680 0650 GOSUB '97(I$) : IF Q6$="N"THEN 680 : RETURN 0680 GOSUB 2090 : GOTO 610 0710 GOSUB '245("ENTER THE NUMBER OF LINES PER PAGE. (30-55)",2,0) : IF Q9<30THEN 740 : IF Q9<56THEN 760 0740 GOSUB 2090 : GOTO 710 0760 L8=Q9 : RETURN 0800 IF F$=" "THEN 900 : GOSUB '243("DO YOU WISH TO SAVE THESE VALUES AS THE SYSTEM DEFAULTS? Y/N ",1) : IF Q6$="N"THEN 900 : IF Q6$="Y"THEN 860 : GOSUB 2090 : GOTO 800 0860 DATA LOAD DC OPEN T#0,"LISTF010" : DATA SAVE DC #0,M$,I$,L9,L8 : DATA SAVE DC #0,END 0900 GOSUB '98(920,2,I$) : LOAD DC T#0,"SELECT"920,920 0920 %SELECT #2 GOES HERE 0950 IF M$="ALL"THEN 1280 : PRINT HEX(010A);"MOUNT INPUT PLATTER";TAB(64) : GOSUB '254 : P5=1 1000 PRINT HEX(010A);"ENTER THE NAME OF FILE NUMBER";P5;TAB(48);"0 = END";TAB( 64) : GOSUB '244(8) : IF Q6$=" "THEN 1000 : IF Q6$="0"THEN 1210 : MAT SEARCHN$(),=STR(Q6$,1,8)TO B$() : IF B$(1)=HEX(0000)THEN 1100 1070 PRINT HEX(010A0A0A);"DUPLICATE FILE NAMES ARE NOT ALLOWED" : GOTO 1000 1100 GOSUB '229(2,Q6$) : IF R2$<>HEX(10)THEN 1130 : IF STR(R9$(R6),1,2)=HEX(1080)THEN 1160 1130 PRINT HEX(010A0A0A);"FILE - ";Q6$;" - NOT AN ACTIVE PROGRAM FILE" : GOTO 1000 1160 N$(P5)=Q6$ : PRINT HEX(01);"PREVIOUS FILE NAME = ";Q6$;TAB(64) : P5=P5+1 : IF P5<40THEN 1000 1210 IF P5>1THEN 1270 1220 DEFFN'15 : GOSUB 1310 : COM CLEAR P5 : LOAD DC T#0,"START040" 1270 GOSUB 1310 1280 COM CLEAR I$ : LOAD DC T#0,"LIST020A" 1310 PRINT HEX(01),TAB(64),"REMOUNT ISS PLATTER IF REMOVED",TAB(64) : GOSUB '254 : RETURN 1360 GOSUB '248(6,0,0) : PRINT ," ISS LISTING PROGRAM" : PRINT : PRINT " 1. MODE = ";M$;TAB(32);"3. INPUT ADDRESS = ";I$ : PRINT " 2. LINE LENGTH =";L9;TAB(32);"4. LINES/PAGE =";L8 : GOSUB '248(11,0,5) : RETURN 1440 GOSUB '248(11,0,0) : PRINT ," ADDRESS AVAILABLE" : PRINT ," 1 - 310 5 - B10" : PRINT ," 2 - 320 6 - B20" : PRINT ," 3 - 330 7 - B30" : PRINT ," 4 - 350 8 - 360";HEX(01) : RETURN 1520 DEFFN'242(W0,Q6$) : IF W0<=0THEN 1570 : IF W0=1THEN 1560 : STR(Q6$,2)=STR(Q6$,1,W0-1) 1560 PRINT Q6$; 1570 RETURN 1590 DEFFN'254 : GOSUB '248(2,0,1) : INPUT "KEY RETURN(EXEC) TO RESUME ",Q6$ : W4$=Q6$ : GOSUB '248(1,0,3) : Q6$=W4$ : RETURN 1670 DEFFN'243(Q6$,Q0) : GOSUB 2120 1690 SELECT CO 205 : Q6$=" " : INPUT Q6$ : IF Q0=0THEN 2190 : IF LEN(Q6$)<=Q0THEN 2190 : GOSUB 2090 1760 DEFFN'244(Q0) : GOSUB 2170 : GOSUB 2140 : GOTO 1690 1810 DEFFN'245(Q6$,Q2,Q3) : Q0=ABS(Q2)+Q3+1 : GOSUB 2120 1840 IF ABS(Q2)+ABS(Q3)=0THEN 1880 : GOSUB '242(ABS(Q2)+2,HEX(09)) : PRINT "/" : GOTO 1890 1880 PRINT ,," " 1890 GOSUB 2170 : SELECT CO 205 : Q9,W0=-1E-99 : INPUT Q9 : IF W0=Q9THEN 1970 : IF ABS(Q2)+Q3=0THEN 2070 : IF Q9>=0THEN 2040 : IF Q2<=0THEN 2040 1970 GOSUB 2090 1990 DEFFN'246(Q2,Q3) : Q0=ABS(Q2)+Q3+1 : GOSUB 2170 : GOSUB 2140 : GOTO 1840 2040 IF ABS(Q9)>=10^ABS(Q2)THEN 1970 : W0=ABS(Q9*10^Q3) : IF INT(W0)<>W0THEN 1970 2070 GOSUB '248(3,0,1) : RETURN 2090 GOSUB '248(3,0,1) : PRINT "RE-ENTER" : RETURN 2120 SELECT PRINT 005(64),CO 005 : PRINT HEX(010A);STR(Q6$,1); 2140 SELECT PRINT 005(64),CO 005 : GOSUB '242(Q0+2,"-") : PRINT TAB(64) 2170 PRINT HEX(010A0A) : RETURN 2190 PRINT HEX(0A);TAB(64) : SELECT PRINT 005(64),CO 005 : RETURN 2230 DEFFN'248(Q6,Q7,Q8) : GOSUB 2370 : IF Q8<1THEN 2340 : GOSUB 2340 : SELECT PRINT 205 : Q6$=" " : PRINT STR(Q6$,Q7+1) : IF Q8<2THEN 2340 : FOR W0=2TO Q8 : PRINT HEX(0A);STR(Q6$,1) : NEXT W0 2340 PRINT HEX(01) : GOSUB '242(Q7,HEX(09)) : GOSUB '242(Q6,HEX(0A)) 2370 SELECT PRINT 005(64),CO 005 : RETURN 2400 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$) 2560 ADD(STR(R3$,1,1),STR(R3$,2,1)) : R3=VAL(R3$) : R3=R3-INT(R3/R4)*R4 : R5=R3 2640 DATA LOAD BA T#R9,(R3,R)R9$() : R6=0 : FOR R7=1TO 16 : IF R3<>0THEN 2720 : IF R7<>1THEN 2720 : R7=2 2720 R2$=STR(R9$(R7),1,1) : IF R2$=HEX(00)THEN 2810 : IF R2$=HEX(10)THEN 2780 : IF R2$<>HEX(11)THEN 2820 2780 IF STR(R9$(R7),9,8)<>R9$THEN 2820 : R6=R7 2810 R7=16 2820 NEXT R7 : IF R2$=HEX(00)THEN 2950 : IF R6<>0THEN 2950 : R2$=HEX(00) : R3=R3-1 : IF R3=R5THEN 2950 : IF R3>=0THEN 2640 : R3=R4-1 : GOTO 2640 2950 RETURN 2980 DEFFN'97(Q6$) : STR(Q6$,4)=HEX(00300131023203330434053506360737083809390A410B420C430D440E 450F462020) : $TRAN(Q6$<2,2>,Q6$<4,14>)R : IF STR(Q6$,2,1)>HEX(0F)THEN 3120 : IF STR(Q6$,3,1)>HEX(0F)THEN 3120 : ROTATE(STR(Q6$,2,1),4) 3050 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 3120 : Q6$="Y" : RETURN 3120 Q6$="N" : F$="N" : RETURN 3170 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