image of READY prompt

Wang2200.org

Listing of file='CIOVDSS' on disk='vmedia/731-0110A.wvd.zip'

# Sector 190, program filename = 'CIOVDSS'
0010 REM CIOVDSS, 10/05/81, OPEN DISK SAVE/SEARCH METHOD (VP/MVP), COPYRIGHT W
     ANG LABS, 1981
0100 GOTO 9900
   : ON AGOTO 105,3220
0105 COM Z0,Z1,Z2,Z3,Z4,Z5,Z6,Z7,Z8,Z9,Z9$(16),Z,Z$(60)4,Z3$3
3220 DATA SAVE DC #2,END
   : GOSUB '227(2,X$,0)
   : X2=X2+1
   : IF X2>99THEN 100
   : CONVERT X2TO STR(X$,7,2),(##)
   : GOSUB '228(2,X$,10)
   : GOSUB '80
   : RETURN
4500 DEFFN'80
   : PRINT D$(3)
   : B$(3)="1"
   : IF X2>99THEN 4620
   : IF X0=0THEN 4590
   : B$(3)="0"
   : PRINT "RECEIVE FILE ";X$;" OPENED"
   : RETURN
4590 PRINT "RECEIVE DISK FILE NOT OPENED"
   : RETURN
4620 PRINT "ENTER NEW FILE NAME FOR RECEIVE DISK"
   : RETURN
6000 DEFFN'83
   : PRINT HEX(0D010A0A0A);
   : FOR A=1TO 4
   : PRINT TAB(63)
   : NEXT A
   : PRINT HEX(0D010A);"'0=CONTROL        '1=OPEN RECEIVE FILE         '2=ERAS
     E FILE";HEX(0D);
6035 KEYIN B$,6035,6045
   : GOTO 6035
6045 ON VAL(B$)+1GOTO 100,6190,6355
   : GOTO 6035
6075 GOSUB 7200
6090 PRINT HEX(010A);TAB(63);HEX(0D);"'0=CONTROL";HEX(0D0A0A);TAB(64)
   : PRINT HEX(0C0D);
   : IF X0>0THEN 6075
   : A=0
6095 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"
6120 GOSUB '200(Z3$,Z$())
   : IF X4=0THEN 6130
   : PRINT AT(5,0);TAB(63)
   : PRINT AT(5,0);"Reenter --";
   : ON X4GOSUB 6160,6165,6170
   : GOTO 6120
6130 PRINT D$(2);TAB(63)
   : PRINT TAB(63)
   : PRINT TAB(63)
   : RETURN
6150 X4=1
   : RETURN
6160 PRINT "device address not in table"
   : RETURN
6165 PRINT "device already $OPEN'd"
   : RETURN
6170 PRINT "device is unavailable"
   : RETURN
6180 DEFFN'200(Z3$,Z$())
6185 X4=0
   : PRINT D$(2);TAB(63)
   : PRINT D$(2);"ENTER RECEIVE DISK ADDRESS";
   : LINPUT ?-Z3$
   : IF Z3$=" "THEN 6185
   : MAT SEARCHZ$(),=STR(Z3$,1,3)TO X7$STEP 4
   : IF VAL(X7$,2)=0THEN 6150
   : SELECT #2<Z3$>
   : $OPEN 6188,#2
   : $CLOSE#2
   : Z$=" "
   : HEXPACKZ$FROMSTR(Z3$,2,1)
   : Z1$=" "
   : GOSUB '120(Z$,Z1$)
   : IF Z1$<>"unavailable"THEN RETURN
   : X4=3
   : RETURN
6188 X4=2
   : RETURN
6190 GOSUB 6090
   : PRINT AT(5,0);TAB(63)
   : PRINT TAB(63)
   : W2=0
   : GOSUB '128(2,10)
   : IF W2>0THEN 6190
   : PRINT AT(2,0);X6;" Sectors available";" on disk ";Z3$
6215 PRINT D$(2);TAB(63);HEX(0D)
   : INPUT "ENTER 1- TO 6-CHARACTER FILE NAME",X$
   : PRINT HEX(0C0D);TAB(63);HEX(0D0A);TAB(63);HEX(0D);
   : IF X$=" "THEN 6240
   : IF LEN(X$)<=6THEN 6250
6240 PRINT "REENTER";HEX(0D0C);
   : GOTO 6215
6250 PRINT "SEARCHING CATALOGUE";
   : W2=0
   : GOSUB '129(2,X$)
   : IF W2>0THEN 6190
   : IF B$=HEX(00)THEN 6290
   : PRINT HEX(0D);TAB(63);HEX(0D);"ROOT ";X$;" ALREADY CATALOGUED. ";HEX(0D0C
     );
   : GOTO 6215
6290 X2=1
   : CONVERT X2TO STR(X$,7,2),(##)
   : W2=0
   : GOSUB '228(2,X$,10)
   : IF W2>0THEN 6190
   : IF B$="1"THEN 6350
   : X0=1
   : GOTO 3160
6350 RETURN
6355 ON X0GOTO 6360
   : X$=" "
   : GOSUB 6090
6360 PRINT HEX(010A);TAB(63);HEX(0D);"'0=CONTROL";HEX(0D0A0A);
   : PRINT HEX(0D);TAB(63);HEX(0D);"ERASE File ";X$;
   : IF X$<>" "THEN 6400
   : LINPUT ?-X$
6400 GOSUB 7200
   : IF W2<>0THEN 6190
   : 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
6844 DEFFN'128(Z9,Z1)
   : DATA LOAD BA T#Z9,(0,Z3)Z9$()
   : ERRORW2=ERR
   : GOSUB 6970
   : RETURN
6845 Z2=VAL(STR(Z9$(),3),2)
   : Z3=VAL(STR(Z9$(),5),2)
   : B$="0"
   : X6=Z3-Z2
   : IF X6>Z1+2THEN 100
   : B$="1"
   : RETURN
6850 DEFFN'228(Z9,X$,Z1)
   : W2=0
   : GOSUB '128(Z9,Z1)
   : IF W2>0THEN 100
   : IF B$="1"THEN 100
   : IF X5=0THEN 6880
   : IF X5>X6THEN 6880
   : X6=X5
6880 DATA SAVE DC OPEN T#Z9,(X6),X$
   : ERRORW2=ERR
   : GOSUB 6970
6881 RETURN
6910 DEFFN'227(Z9,X$,Z1)
   : LIMITS T#Z9,X$,Z2,Z3,Z0
   : Z2,Z4=Z2+Z1+Z0-1
   : DATA LOAD BA T#Z9,(Z3,Z3)Z9$()
   : DATA SAVE BA T#Z9,(Z4,Z3)Z9$()
   : GOSUB '229(Z9,X$)
   : Z4=Z2
   : BIN(STR(Z9$(Z6),5,1))=INT(Z4/256)
6950 BIN(STR(Z9$(Z6),6,1))=Z4-INT(Z4/256)*256
   : DATA SAVE BA T#Z9,(Z3,Z3)Z9$()
   : DATA LOAD BA T#Z9,(0,Z3)Z9$()
   : BIN(STR(Z9$(1),3,1))=INT((Z4+1)/256)
   : BIN(STR(Z9$(1),4,1))=Z4+1-INT((Z4+1)/256)*256
   : DATA SAVE BA T#Z9,(0,Z3)Z9$()
   : RETURN
6970 PRINT D$(3);TAB(63)
   : IF W2=95THEN 6980
   : IF W2<>98THEN 6990
   : PRINT D$(3);"I98 (illegal sector address or platter not mounted)"
   : RETURN
6980 PRINT D$(3);"I95 (device error - in PROTECT?)"
   : RETURN
6990 PRINT D$(3);"Disk error = ";W2
   : RETURN
7000 DEFFN'129(Z9,X$)
   : Z=0
   : Z1,Z2=2
   : DATA LOAD BA T#Z9,(Z,Z)Z9$()
   : ERRORW2=ERR
   : GOSUB 6970
   : RETURN
7010 Z4=VAL(STR(Z9$(1),2,1))
7060 IF Z9$(Z1)=HEX(00000000000000000000000000000000)THEN 7100
   : IF STR(Z9$(Z1),9,6)=STR(X$,1,6)THEN 7160
7080 Z1=Z1+1
   : IF Z1<17THEN 7060
7100 Z1=1
   : IF Z=Z4THEN 7140
   : DATA LOAD BA T#Z9,(Z,Z)Z9$()
   : GOTO 7060
7140 B$=HEX(00)
   : RETURN
7160 B$=STR(Z9$(Z1),1,1)
   : IF B$=HEX(21)THEN 7080
   : RETURN
7200 PRINT HEX(0C0A0D);"SEARCHING FOR FILE ";X$;HEX(0D);
   : W2=0
   : GOSUB '229(2,X$)
   : IF W2<>0THEN 100
   : IF B$>HEX(00)THEN 7210
   : PRINT TAB(63);HEX(0D);"FILE NOT CATALOGUED"
   : GOTO 7300
7210 PRINT TAB(63);HEX(0D);"ERASING FILE ";X$
   : LIMITS T#Z9,X$,A,B,A
   : STR(Z9$(Z6),1,1)=HEX(21)
   : INIT(00)STR(Z9$(Z6),9,8)
   : DATA SAVE BA T#Z9,(Z3,Z8)Z9$()
   : STR(A$,18,2)=STR(Z9$(Z6),3,2)
   : DATA LOAD BA T#Z9,(0,Z8)Z9$()
   : IF VAL(STR(Z9$(),3),2)<>B+1THEN 7290
   : STR(Z9$(1),3,2)=STR(A$,18,2)
   : DATA SAVE BA T#Z9,(0,Z8)Z9$()
7290 PRINT TAB(63);HEX(0D);"FILE  ";X$;"  ERASED"
7300 X0=0
   : X$=" "
   : 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