Listing of file='CIOVDRS' on disk='vmedia/701-2358C.wvd.zip'
# Sector 306, program filename = 'CIOVDRS' 0010 REM CIOVDRS, 09/21/81, OPEN DISK READ, SEARCH METHOD (VP/MVP), COPYRIGHT WANG LABS, 1981 0100 GOTO 9900 : ON AGOTO 105,4100,4120 0105 COM Z0,Z1,Z2,Z3,Z4,Z5,Z6,Z7,Z8,Z9,Z9$(16),Z,Z$(60)4,Z3$3 4090 E$=HEX(01) : OR (A2$(1),05) : Y6=0 : RETURN 4100 Y,Y1,Y6,Y9=0 : GOSUB 4270 4120 IF Y9<>1THEN 4130 : OR (STR(A2$(1),1,1),01) 4130 IF Y1<>0THEN 4225 : AND (STR(A2$(1),1,1),FE) : IF Y6=1THEN 4090 : GOSUB 4345 : PRINT HEX(0C);TAB(63);HEX(0D); : IF Y1=0THEN 4090 : Y6=1 : IF Y2=2THEN 4225 : IF STR(W$,1,3)<>"WPS"THEN 4200 : Y9=1 : GOTO 4220 4200 B$=" " : INPUT "SEND FILES SEPARATELY OR COMBINED AS ONE (1=SEPARATE)",B$ : IF B$="1"THEN Y9=1 4220 PRINT HEX(0C);TAB(63) 4225 DATA LOAD DC OPEN T#1,Y1$(Y1) : ERRORW2=ERR : GOSUB 6970 : GOTO 4100 4230 Y1=Y1+1 : IF Y1<>Y2THEN 4080 : Y1=0 : GOTO 4080 4270 PRINT D$(2) : PRINT TAB(63);HEX(0D); : Z$()="310 320 330 340 350 360 370 B10 B20 B30 B40 B50 B60 B70 D10 D11 D12 D13 D14 D15 D20 D21 D22 D23 D24 D25 D30 D31 D32 D33 D34 D35 D50 D51 D52 D53 D54 D55 D60 D61 D62 D63 D64 D65 D70 D71 D72 D73 D74 D75" 4280 GOSUB '100(Z3$,Z$()) : IF Y4<>0THEN 4285 : PRINT D$(2);TAB(63) : PRINT TAB(63) : PRINT TAB(63) : GOTO 4290 4285 PRINT AT(5,0);TAB(63) : PRINT AT(5,0);"Reenter --"; : ON Y4GOSUB 4300,4310,4315 : GOTO 4280 4290 PRINT AT(3,18);"from disk ";Z3$ : RETURN 4300 PRINT "device address not in table" : RETURN 4310 PRINT "device already $OPEN'd" : RETURN 4315 PRINT "device is unavailable" : RETURN 4320 Y4=1 : RETURN 4330 DEFFN'100(Z3$,Z$()) : Y4=0 : PRINT D$(2);"ENTER SEND DISK ADDRESS"; : LINPUT ?-Z3$ : IF Z3$=" "THEN 4330 : MAT SEARCHZ$(),=STR(Z3$,1,3)TO Y7$STEP 4 : IF VAL(Y7$,2)=0THEN 4320 : SELECT #1<Z3$> : $OPEN 4338,#1 : $CLOSE#1 : Z$=" " : HEXPACKZ$FROMSTR(Z3$,2,1) : Z1$=" " : GOSUB '120(Z$,Z1$) : IF Z1$<>"unavailable"THEN RETURN : Y4=3 : RETURN 4338 Y4=2 : RETURN 4345 Y1=1 : INIT(20)Y1$() 4355 PRINT D$(2);TAB(63);HEX(0D);"ENTER FILE NAME ";Y1; : INPUT Y1$(Y1) : PRINT TAB(63);HEX(0D); : IF Y1$(Y1)=" "THEN 4435 : W2=0 : GOSUB '229(1,Y1$(Y1)) : IF W2>0THEN 4100 : IF B$=HEX(00)THEN 4415 : IF B$=HEX(11)THEN 4415 : Y1=Y1+1 : IF Y1=11THEN 4435 : GOTO 4355 4415 PRINT "REENTER" : Y1$(Y1)=" " : GOTO 4355 4435 Y2=Y1 : Y1=1 : IF Y2<>1THEN 100 : Y1=0 : RETURN 6500 DEFFN'229(Z9,STR(A$,1,8)) : DATA LOAD BA T#Z9,(0,Z3)Z9$() : ERRORW2=ERR : GOSUB 6970 : RETURN 6510 Z4=VAL(STR(Z9$(1),2,1)) : STR(A$,9,8)=STR(A$,1,8) : XOR (STR(A$,10,7),STR(A$,9,8)) : B$=STR(A$,16,1) : STR(A$,18,2)=HEX(0000) : ADDC(STR(A$,18,2),B$) : ADDC(STR(A$,18,2),B$) : ADDC(STR(A$,18,2),B$) : ADD(STR(A$,18,1),STR(A$,19,1)) : Z3=VAL(STR(A$,18,2)) : Z3=Z3-INT(Z3/Z4)*Z4 : Z5=Z3 6620 DATA LOAD BA T#Z9,(Z3,Z8)Z9$() : Z6=0 : FOR Z7=1TO 16 : IF Z3<>0THEN 6680 : IF Z7<>1THEN 6680 : Z7=2 6680 B$=STR(Z9$(Z7),1,1) : IF B$=HEX(00)THEN 6740 : IF B$=HEX(10)THEN 6720 : IF B$<>HEX(11)THEN 6750 6720 IF STR(Z9$(Z7),9,8)<>STR(A$,1,8)THEN 6750 : Z6=Z7 6740 Z7=16 6750 NEXT Z7 : IF B$=HEX(00)THEN 6840 : IF Z6<>0THEN 6840 : B$=HEX(00) : Z3=Z3-1 : IF Z3=Z5THEN 6840 : IF Z3>=0THEN 6620 : Z3=Z4-1 : GOTO 6620 6840 RETURN 6970 PRINT AT(5,0);TAB(63) : IF W2=95THEN 6980 : IF W2<>98THEN 6990 : PRINT AT(5,0);"I98 (illegal sector address or platter not mounted)" : RETURN 6980 PRINT AT(5,0);"I95 (device error - in PROTECT?)" : RETURN 6990 PRINT AT(5,0);"Disk error = ";W2 : RETURN 7310 DEFFN'120(Z$,Z1$) : $GIO(731002000301122270A040008600,Z$) : ERRORW2=ERR : Z1$="unavailable" : RETURN 7320 IF STR(Z$,8,1)=HEX(00)THEN RETURN : Z1$="unavailable" : RETURN