Listing of file='LPMAINT' on disk='vmedia/701-2721C.wvd.zip'
# Sector 362, program filename = 'LPMAINT' 0100 REM %LIST PROCESSING MAINTENANCE MENU 0230 DATA 4,0,0,"DATAMERGE Maintenance Functions" : DATA 4,5,10,"Please Select the Next Operation" : DATA 1,7,21,1,"Display the Capitalization Exception Tables" : DATA "Add a Capitalization Exception to the Table" : DATA "Modify or Delete an Existing Exception Pair" 0280 DATA "Change Default Addresses of the IDEAS Files" : DATA "Change Default User ID / Definition Address" : DATA "\DE" : DATA 4,21,40,"Press EXEC/RUN to Continue" : DATA 4,22,40," CANCEL/EDIT to Return" : DATA 0 : DATA 4,0,0," " : DATA 4,15,05,"IDEAS Control File Address" 0360 DATA 4,15,45,"IDEAS Data File Address" : DATA 2,15,33,3," " : DATA 2,15,70,3," " : DATA 4,21,40,"Press EXEC/RUN to Change Addresses" : DATA 4,22,40," CANCEL/EDIT to Return" : DATA 0 0420 DATA 4,0,0," " : DATA 4,15,05,"Type of Entry" : DATA 4,15,27,"Input String" : DATA 4,15,53,"Output String" : DATA 1,17,05,1,"Complete Word" : DATA "Partial Word","\DE" : DATA 2,15,41,8," " : DATA 2,15,68,8," " : DATA 4,21,40,"Press EXEC/RUN to Make Addition" : DATA 4,22,40," CANCEL/EDIT to Return" 0520 DATA 0 0530 DATA 4,0,0," " : DATA 4,15,05,"Type of Entry" : DATA 4,15,27,"Input String" : DATA 1,17,05,1,"Complete Word" : DATA "Partial Word","\DE" : DATA 2,15,41,8," " : DATA 4,21,40,"Press EXEC/RUN to Modify Entry" : DATA 4,22,40," CANCEL/EDIT to Return" : DATA 0 : DATA 4,0,0," " : DATA 4,15,27,"Input String" 0640 DATA 4,15,53,"Output String" : DATA 2,15,41,8," " : DATA 2,15,68,8," " : DATA 4,21,0,"Enter SPACES in Both Strings" : DATA 4,22,0," to Delete Exception Pair" : DATA 0 0690 DATA 4,0,0," " : DATA 4,15,05,"DATAMERGE User ID" : DATA 4,15,35,"DATAMERGE Definition Address" : DATA 2,15,24,3," " : DATA 2,15,65,3," " : DATA 4,21,40,"Press EXEC/RUN to Change Defaults" : DATA 4,22,40," CANCEL/EDIT to Return" : DATA 0 : COM L8(5),L1$6 : DIM L5$(64,2)8,L6$(64,2)8 0790 DIM E$80,L$2,N$8,I,J,T,X1$(24)8,X2$(2)8 : DIM S5(1),S0(1),T5(1),S3(1) : DIM T1$(5)43,S1$(5)2 : DIM T1(6),S6(6),S1(6),T2$(6)37 : DIM T2(2),S7(2),S2(2),S4(2),T5$(2)8 : DIM S2$(16)2,S1$4 : DIM S2$1,T1$80,T2$2,K$1 : FOR I=1TO 4STEP 1 : DATA LOAD BA T(L8(1)+I)STR(L5$(),(I-1)*256+1,256) 0890 DATA LOAD BA T(L8(1)+10+I)STR(L6$(),(I-1)*256+1,256) : NEXT I : J=1 : PRINT HEX(03) 0930 GOSUB '61 : T5(1)=J : PRINT AT(1,0);BOX(0,80);AT(20,0);BOX(0,80) 0950 GOSUB '62 : IF T5<=0THEN GOTO 1900 : IF T5>1THEN GOTO 950 : J=T5(1) : ON T5(1)GOTO 1590,1120,1330,1000,1780 1000 GOSUB '61 : DATA LOAD DA T(L8(1))T5$(),X1$() 1020 GOSUB '62 : IF T5<=0THEN GOTO 1080 : IF T5>1THEN GOTO 1020 : IF VER(STR(T5$(1),1,3),"HHH")=3AND VER(STR(T5$(2),1,3),"HHH")=3THEN GOTO 1070 : PRINT AT(23,0,40);L1$;"Invalid Device Address";HEX(0F); : GOTO 1020 1070 DATA SAVE DA T(L8(1))T5$(),X1$() 1080 PRINT AT(15,0,) : RESTORE LINE230 : L9$(1)=T5$(1) : L9$(2)=T5$(2) : GOTO 930 1120 RESTORE LINE420 : GOSUB '61 1140 GOSUB '62 : IF T5<=0THEN GOTO 1270 : IF T5>1THEN GOTO 1140 : IF T5$(1)=" "AND T5$(2)=" "THEN GOTO 1270 : GOSUB '55(T5$(1),T5(1)) : IF I=0THEN GOTO 1200 : E$="Entry Already Exists" : GOTO 1300 1200 GOSUB '55(HEX(0000000000000000),T5(1)) : IF I<>0THEN GOTO 1240 : E$="Translate Table Full" : GOTO 1300 1240 IF LEN(T5$(1))=LEN(T5$(2))THEN 1250 : E$="Output and Input Lengths Must Be Equal" : GOTO 1300 1250 IF T5(1)=1THEN L5$(I,1)=T5$(1) : ELSE L6$(I,1)=T5$(1) : IF T5(1)=1THEN L5$(I,2)=T5$(2) : ELSE L6$(I,2)=T5$(2) 1270 PRINT AT(15,0,) : RESTORE LINE230 : GOTO 930 1300 PRINT AT(23,0,40);L1$;E$;HEX(0F); : GOTO 1140 1330 RESTORE LINE530 : GOSUB '61 1350 GOSUB '62 : IF T5<=0THEN GOTO 1530 : IF T5>1THEN GOTO 1350 : GOSUB '55(T5$(1),T5(1)) : IF I<>0THEN GOTO 1410 : E$="Entry Does Not Exist" : GOTO 1560 1410 GOSUB '61 : T5$(1)=N$ : N1$=N$ : IF T5(1)=1THEN T5$(2)=L5$(I,2) : ELSE T5$(2)=L6$(I,2) 1440 GOSUB '62 : IF T5<=0THEN GOTO 1530 : IF T5>1THEN GOTO 1440 : IF T5$(1)=" "AND T5$(2)=" "THEN T5$()=ALL(HEX(00)) : IF POS(T5$()>HEX(00))=0THEN GOTO 1500 : IF T5$(1)=N$OR T5$(1)=N1$THEN GOTO 1500 : I1=I : GOSUB '55(T5$(1),T5(1)) : IF I=0THEN GOTO 1490 : N1$=N$ : E$="Entry Already Exists" : PRINT AT(23,0,40);L1$;E$;HEX(0F); : PRINT AT(15,53,24) : GOTO 1330 1490 I=I1 : IF LEN(T5$(1))=LEN(T5$(2))THEN 1510 : E$="Output and Input Lengths Must Be Equal" : PRINT AT(23,0,40);L1$;E$;HEX(0F); : GOTO 1440 : I=I1 : IF T5(1)=1THEN L5$(I1,1)=T5$(1) : ELSE L6$(I1,1)=T5$(1) : IF T5(1)=1THEN L5$(I1,2)=T5$(2) : ELSE L6$(I1,2)=T5$(2) 1500 IF LEN(T5$(1))=LEN(T5$(2))THEN 1510 : E$="Output and Input Lengths Must Be Equal" : PRINT AT(23,0,40);L1$;E$;HEX(0F); : GOTO 1440 1510 IF T5(1)=1THEN L5$(I,1)=T5$(1) : ELSE L6$(I,1)=T5$(1) : IF T5(1)=1THEN L5$(I,2)=T5$(2) : ELSE L6$(I,2)=T5$(2) 1530 PRINT AT(15,0,) : RESTORE LINE230 : GOTO 930 1560 PRINT AT(23,0,40);L1$;E$;HEX(0F); : GOTO 1350 1590 GOSUB '45(1) : PRINT AT(21,40);"Press EXEC/RUN to Display Next Table"; : PRINT AT(22,40);" CANCEL/EDIT to Return"; 1620 KEYIN K$ : PRINT AT(23,0,); : IF K$=HEX(F0)THEN GOTO 1700 : ELSE IF K$<>HEX(82)THEN GOTO 1730 : GOSUB '45(2) : PRINT AT(21,40);"Press CANCEL/EDIT to Return"; 1670 KEYIN K$ : PRINT AT(23,0,); : IF K$<>HEX(F0)THEN GOTO 1750 1700 PRINT HEX(03) : RESTORE LINE230 : GOTO 930 1730 PRINT AT(23,0,40);L1$;"Invalid Key";HEX(0F); : GOTO 1620 1750 PRINT AT(23,0,40);L1$;"Invalid Key";HEX(0F); : GOTO 1670 1780 RESTORE LINE690 : GOSUB '61 : DATA LOAD DA T(L8(1))X2$(),X1$() : T5$(1)=X1$(2*#TERM-1) : T5$(2)=X1$(2*#TERM) 1800 GOSUB '62 : IF T5<=0THEN GOTO 1860 : IF T5>1THEN GOTO 1800 : IF VER(STR(T5$(2),1,3),"HHH")=3THEN GOTO 1845 : PRINT AT(23,0,40);L1$;"Invalid Device Address";HEX(0F); : GOTO 1800 1845 X1$(2*#TERM-1),L9$(3)=T5$(1) : X1$(2*#TERM),L9$(4)=T5$(2) : DATA SAVE DA T(L8(1))X2$(),X1$() 1860 PRINT AT(15,0,) : RESTORE LINE230 : GOTO 930 1900 FOR I=1TO 4STEP 1 : DATA SAVE BA T(L8(1)+I)STR(L5$(),(I-1)*256+1,256) : DATA SAVE BA T(L8(1)+10+I)STR(L6$(),(I-1)*256+1,256) : NEXT I : A0$()="LPSCREN1"&"Prime 62" : LOAD T"LPDDOPEN" 1990 DEFFN'55(N$,T) : IF T=1THEN MAT SEARCHL5$(),=STR(N$,1,8)TO L$STEP 16 : ELSE MAT SEARCHL6$(),=STR(N$,1,8)TO L$STEP 16 : I=VAL(L$,2) : IF I=0THEN RETURN : I=(I-1)/16+1 : RETURN 9000 DEFFN'0"SCRATCH T ";HEX(22);"LPMAINT";HEX(22) 9100 DEFFN'1"SAVE T() ";HEX(22);"LPMAINT";HEX(22)