Listing of file='ddu.025 ' on disk='vmedia/701-2720C.wvd.zip'
# Sector 833, program filename = 'ddu.025'
1090 COM A1,A1$3,A2$3,T1$(128)1,S0$(1)1,A3$(5)8
1095 LOAD T"SE.SUBS"3800,4000BEG 1105
1105 PRINT HEX(03);
1110 GOSUB '100(HEX(F218010150)," ")
: IF R1=0THEN 1265
: IF R1<>1THEN 1110
: IF POS("3BD"=STR(A1$,1))*POS("123567"=STR(A1$,2))*POS("012345"=STR(A1$,3)
)<>0THEN 1130
: GOSUB '128("Invalid device address for Version 1.0 Definition File",99,0,
20)
: GOTO 1110
1130 IF POS("3BD"=STR(A2$,1))*POS("123567"=STR(A2$,2))*POS("012345"=STR(A2$,3)
)<>0THEN 1134
: GOSUB '128("Invalid device address for Version 2.0 Definition File",99,0,
20)
: GOTO 1110
1134 SELECT #2<A1$>
: SELECT #3<A2$>
: FOR A1=2TO 3STEP 1
: LIMITS T#A1,"DD.DEF",A,B,C,D
: LIMITS T#A1,"DD.REL",A,B,C,E
: LIMITS T#A1,"DDA.WORK",A,B,C,F
: IF D+E+F=6THEN 1170
1160 IF A1=2THEN GOSUB '128("Definition file invalid for version 1.0 device ad
dress",99,0,20)
: ELSE GOSUB '128("Definition file invalid for version 2.0 device addres",9
9,0,20)
: GOTO 1110
1170 NEXT A1
: A3$()="DDA.141 DDA.LSUB "
: LOAD T<2>A3$()7000,7999BEG 1200
1200 GOSUB '131("DD.DEF DD.REL ",2,"025")
: IF M<>0THEN 1245
: GOSUB '141("DD.DEF DD.REL ",3,"025")
: IF M<>0THEN 1255
: COM CLEAR A1$
: PRINT AT(20,0);HEX(020402000E);"(In Progress)";HEX(0F);
: LOAD T"ddu.027"
1245 GOSUB '136
: COM CLEAR A8$
: LOAD T"@MENU"
1255 A3$()="DDA.ERR DDA.CLOSDDA.HSUB"
: LOAD T<3>A3$()7000,7999BEG 1258
1258 GOSUB '160(1,"ddu.025","Open new")
: GOSUB '134
: COM CLEAR A8$
: LOAD T"@MENU"
1265 COM CLEAR A8$
: LOAD T"@MENU"
3000 DEFFN'100(S9$,S0$)
: S4=1
: S3=02
: S2=0
: S1=0
: T0$=" "
: IF POS(S9$=F2)>0THEN T0$=STR(S9$,POS(S9$=F2)+1,4)
: RESTORE LINE3021
: PRINT AT(1,0);BOX(0,80);AT(20,0);BOX(0,80);
: GOSUB '129("DATA",0)
: T9=0
: FOR T4=1TO 02
: ON T4GOSUB 3011,3016
: NEXT T4
: T9=-1
: T3=S4
3007 ON T3GOSUB 3011,3016
: ON R1GOTO ,,,,3009,3010
: RETURN
3009 T3=MOD(T3+1,S3+1)
: IF T3=0THEN T3=S4
: GOTO 3007
3010 T3=MOD(T3-1,S3+1)
: IF T3<S4THEN GOTO 3010
: GOTO 3007
3011 GOSUB '126(17,60,03,01,01,001,A1$,S0$,"X",1,T9," ")
: A1$=T1$()
: RETURN
3016 GOSUB '126(19,60,03,01,01,001,A2$,S0$,"X",1,T9," ")
: A2$=T1$()
: RETURN
3021 DATA 01,21,20,"DATAMERGE Definition Conversion Utility"
: DATA 04,06,00,"The Purpose of this program is to convert DATAMERGE defini
tions in a"
: DATA 05,06,00,"version 1.0 Definition file to the version 2.0 format. Th
e following"
3024 DATA 06,06,00,"steps must be performed before continuing with this progra
m:"
: DATA 08,10,00,"1) Run the program DDU.INIT to create a version 2.0 Defini
tion file"
: DATA 09,13,00,"on a different surface than the version 1.0 Definition fil
e."
3027 DATA 11,10,00,"2) Run the 'Describe an IDEAS-2 file in the Definition Fil
e' menu"
: DATA 12,13,00,"option for all IDEAS-2 files used by your DATAMERGE defini
tions."
: DATA 14,06,00,"If the above steps have been performed you may continue wi
th this program. "
3030 DATA 15,06,00,"Please enter the following information:"
: DATA 17,16,00,"Version 1.0 Definition file device address:"
: DATA 19,16,00,"Version 2.0 Definition file device address:"
: DATA 22,46,00,"EXEC/RUN - Convert Definition File "
3034 DATA 23,43,00,"CANCEL/EDIT - Cancel Conversion"
: DATA 0,0,0," "
8510 %DDA.141, RELEASE X01, (AUG 03, 81) OPEN FILES
8512 DEFFN'131(Y1$(),X0,X1$)
: M=0
: X1=INT((LEN(Y1$())-1)/8)+1
: MAT X=ZER
: MAT X0=ZER
: MAT X1=ZER
: MAT X2=ZER
: MAT X3=ZER
: X0$(),X1$(),X2$(),X3$(),X5$(),X0$=ALL(00)
: $OPEN #X0
: J=0
8520 J=J+1
: GOSUB 8544
: IF M>0THEN 8540
: IF J>1THEN 8530
: MAT SEARCHX9$,=STR(X1$,,3)TO X2$()STEP 3
: IF X2$(1)=HEX(0000)THEN 8526
: M=77
: GOTO 8540
8526 MAT SEARCHX9$,=HEX(FFFFFF)TO X2$()STEP 3
: IF X2$(1)>HEX(0000)THEN 8528
: M=79
: GOTO 8540
8528 STR(X9$,VAL(X2$(1),2),3)=X1$
: DATA SAVE DA T#X0,(X(J,3))X0(),X9$
: ERRORM=ERR
: GOTO 8540
8530 X(J,1)=1
: X(J,2)=1
: GOSUB '135(X(J,3)+X0(1),X0(6),1)
: IF X1(3)=0THEN GOTO 8536
: ELSE M=X1(3)
: GOTO 8540
8536 MAT COPY X0$()<1,256>TO X5$()<(J-1)*256+1>
: IF J<X1THEN GOTO 8520
8540 $CLOSE#X0
: RETURN
8544 LIMITS T#X0,Y1$(J),X2(1),X2(2),X2(3),X2(4)
: IF X2(4)=2THEN GOTO 8546
: M=71
: GOTO 8554
8546 DATA LOAD DA T#X0,(X2(1))X0(),X9$
: ERRORM=74
: GOTO 8554
8548 X1(9)=J
: IF X0(9)=0THEN GOTO 8552
: M=70
: GOTO 8554
8552 X(J,3)=X2(1)
: X(J,4)=X2(2)
8554 RETURN
8844 %DDA.149, RELEASE X01, (AUG 3, 81) READ PHYSICAL BLOCK
8846 DEFFN'135(J3,J4,J5)
: %PRINT HEX(020402000E);"(..DISK ACCESS..)";HEX(0F);
8848 X1(3)=0
: X1(1)=J3+((J5-1)*J4)
: J0=0
8850 J0=J0+1
: DATA LOAD BA T#X0,(X1(1),X1(1))STR(X0$(),(J0-1)*256+1)
: ERRORX1(3)=ERR
: GOTO 8856
8854 IF J0<J4THEN GOTO 8850
8856 RETURN
8858 DEFFN'136
: PRINT HEX(020402000E);
: PRINT AT(17,0,80);HEX(07);
: IF M<80THEN 8868
: PRINT "Disk Error(";M;")occurred while accessing definitions - Press any
key to exit";
: GOTO 8888
8868 IF M<>43THEN 8872
: PRINT "Program has not been properly initialized - Press any key to exit"
;
: GOTO 8888
8872 IF M<70THEN 8886
: ON M-69GOTO 8876,8878,8886,8886,8886,8886,8880,8882,8886,8884
8876 PRINT "Definition file is currently being reorganized - Press any key to
exit";
: GOTO 8888
8878 PRINT "Definition file is not on the specified device - Press any key to
exit";
: GOTO 8888
8880 PRINT "Definition file is full or requires reorganization - Press any key
to exit";
: GOTO 8888
8882 PRINT "Definition file is already in use by this user id. - Press any key
to exit";
: GOTO 8888
8884 PRINT "User list for Definition file is full - Press any key to exit";
: GOTO 8888
8886 PRINT "Software error(";M;")occurred while accessing definitions - Press
any key to exit";
: GOTO 8888
8888 KEYIN J8$
: IF M<>77THEN GOSUB '134
: PRINT AT(18,0,80);HEX(0F);
: RETURN
8900 %DDA.147, RELEASE X01, (AUG 03, 81) CLOSE ALL FILES
8902 DEFFN'134
: M=0
: $OPEN #X0
: IF X(1,3)=0THEN 8922
: DATA LOAD DA T#X0,(X(01,3))X0(),X9$
: ERRORM=ERR
: GOTO 8922
8912 MAT SEARCHX9$,=STR(X1$,,3)TO X2$()STEP 3
: IF X2$(1)=HEX(0000)THEN 8922
: MAT COPY X9$<VAL(X2$(1),2)+3>TO X9$<VAL(X2$(1),2)>
: STR(X9$,46)=ALL(FF)
: DATA SAVE DA T#X0,(X(01,3))X0(),X9$
: ERRORM=ERR
8920 MAT X=ZER
8922 $CLOSE#X0
: RETURN