Listing of file='PKMONAD' on disk='vmedia/701-2720C.wvd.zip'
# Sector 249, program filename = 'PKMONAD' 0010 REM % C O M M O N V A R I A B L E S 0020 COM G3$(G3)G6,L3$(L3)L6,L3,L5,L6,G3,G5,G6,H7$7,G4$(G3)5,L3$(L3)L6,F7,F1$( F7)2 : COM M3,F5,C9,R9,C8,C6,D5,D6 : GOTO 3025 0050 DEFFNS(Q)=VAL(STR(F1$(Q),1,1)) 0060 DEFFNL(Q)=VAL(STR(F1$(Q),2,1)) 3000 REM DO NOT COMPRESS THIS CODE 3025 LOAD T"PKMAIN"3000,9999BEG 3025 6010 STR(G3$(G5+1),FNS(8),FNL(8))="Tot" : PRINT AT(16,0,80);AT(16,10);HEX(0E);"Total What ?";HEX(0F); : GOTO 6060 6020 STR(G3$(G5+1),FNS(8),FNL(8))="Max" : PRINT AT(16,0,80);AT(16,10);HEX(0E);"Maximum of What ?";HEX(0F); : GOTO 6060 6030 STR(G3$(G5+1),FNS(8),FNL(8))="Min" : PRINT AT(16,0,80);AT(16,10);HEX(0E);"Minimum of What ?";HEX(0F); : GOTO 6060 6040 STR(G3$(G5+1),FNS(8),FNL(8))="Avg" : PRINT AT(16,0,80);AT(16,10);HEX(0E);"Average of What ?";HEX(0F); : GOTO 6060 6050 STR(G3$(G5+1),FNS(8),FNL(8))="Cnt" : PRINT AT(16,0,80);AT(16,10);HEX(0E);"Count of What ?";HEX(0F); : GOSUB '98(3) : STR(G3$(G5+1),FNS(5),FNL(5))=HEX(0101010101FF) : FOR I1=1TO G5 : IF STR(G4$(I1),FNS(14),FNL(14))="Y"THEN 6110 : NEXT I1 : GOTO 3025 6060 GOSUB '98(2) : FOR I1=1TO G5 : IF STR(G4$(I1),FNS(14),FNL(14))="Y"THEN 6102 : NEXT I1 : GOTO 3025 6102 STR(G3$(G5+1),FNS(5),FNL(5))=STR(G3$(I1),FNS(5),FNL(5)) 6110 STR(G3$(G5+1),FNS(9),FNL(9))="F" : STR(G3$(G5+1),FNS(10),FNL(10))=STR(G3$(I1),FNS(1),FNL(1)) : STR(G3$(G5+1),FNS(1),3)=STR(G3$(G5+1),FNS(8),FNL(8)) : STR(G3$(G5+1),FNS(1)+3,1)="-" : STR(G3$(G5+1),FNS(1)+4,FNL(1)-4)=STR(G3$(I1),FNS(1),FNL(1)-4) 6145 PRINT AT(18,50,30);AT(19,50,30);AT(20,50,30);AT(21,50,30);AT(22,50,30);AT (23,50,30); 6160 PRINT AT(16,0,80);AT(16,10);HEX(0E);"Please enter this new fields name: " ; : GOSUB '123(STR(G3$(G5+1),FNS(1),FNL(1)),FNL(1),16,45,2424," ",HEX(0D82) ) : STR(G3$(G5+1),FNS(1),FNL(1))=S$ : PRINT HEX(0F); : IF STR(G3$(G5+1),FNS(1),FNL(1))<>" "THEN 6170 : PRINT HEX(07); : GOTO 6160 6170 FOR I1=1TO G5 : IF STR(G3$(I1),FNS(1),FNL(1))<>STR(G3$(G5+1),FNS(1),FNL(1))THEN GOTO 6175 : IF STR(G3$(I1),FNS(8),FNL(8))="???"THEN 6180 : PRINT HEX(07); : GOTO 6160 6175 NEXT I1 : STR(G3$(G5+1),FNS(3),FNL(3))=BIN(1,2) : STR(G3$(G5+1),FNS(4),FNL(4))=BIN(12,2) : STR(G3$(G5+1),FNS(5),FNL(5))=HEX(0101010101FF) : GOTO 6190 6180 STR(G3$(I1),FNS(1),FNL(1))=" " : STR(G3$(G5+1),FNS(3),FNL(3))=STR(G3$(I1),FNS(3),FNL(3)) : STR(G3$(G5+1),FNS(4),FNL(4))=STR(G3$(I1),FNS(4),FNL(4)) : STR(G3$(G5+1),FNS(5),FNL(5))=STR(G3$(I1),FNS(5),FNL(5)) 6190 STR(G3$(G5+1),FNS(2),FNL(2))="S" : STR(G3$(G5+1),FNS(13),FNL(13))="Y" : G5=G5+1 : PRINT HEX(0F); : PRINT AT(16,0,80);AT(16,10);HEX(0E);"Regenerating Diagram ...";HEX(0F); : LOAD T"PKREGEN"3000,9999 8010 DEFFN'99(M1) 8020 Z1=1 : FOR A3=1TO G5 : C9=VAL(STR(G4$(A3),FNS(16),FNL(16)),2) : R9=VAL(STR(G4$(A3),FNS(15),FNL(15))) : T3$=STR(G3$(A3),FNS(2),FNL(2)) : T2$=STR(G3$(A3),FNS(8),FNL(8)) : T4$=STR(G3$(A3),FNS(13),FNL(13)) : T1=VAL(STR(G3$(A3),FNS(6),FNL(6))) : C9=C9-W1(1,2)+W1(1,6) : R9=R9-W1(1,1)+W1(1,5) 8040 IF C9<W1(1,6)OR C9>W1(1,6)+W1(1,4)-1OR R9<W1(1,5)OR R9>W1(1,5)+W1(1,3)-1T HEN 8100 : IF T4$="N"THEN 8100 : IF T3$<>"S"AND T3$<>"U"AND M1=2THEN 8100 : IF STR(G3$(A3),FNS(8),FNL(8))="???"THEN 8100 : IF T4$="N"THEN 8100 : IF T1=0AND M1=1THEN 8100 : IF T2$<>"NO"AND M1=1THEN 8100 8046 IF STR(G4$(A3),FNS(14),FNL(14))="Y"THEN PRINT AT(R9+1,C9);HEX(0202020F960 202000E); : ELSE PRINT AT(R9+1,C9);"."; : Z1=0 8100 NEXT A3 : IF Z1=0THEN RETURN 8120 PRINT HEX(06); : KEYIN A$,,8140 8130 PRINT HEX(07); : GOTO 8120 8140 IF A$<>HEX(02)THEN 8170 : IF C6-C8<=80-C8THEN 8130 : C6=C6-C8 : PRINT AT(R9+1,0,80); : GOSUB '222(1,0,C8) : GOSUB '94 : GOTO 8020 8170 IF A$<>HEX(03)THEN 8210 : IF C6+C8>F5THEN 8130 : C6=C6+C8 : PRINT AT(R9+1,0,80); : GOSUB '222(1,0,-1*C8) : GOSUB '94 : GOTO 8020 8210 IF A$<>HEX(F0)AND A$<>HEX(50)THEN 8130 : Z1=1 : R9=1 : C9=11 : RETURN 8240 DEFFN'98(M3) : PRINT AT(18,50,30);AT(19,50,30);AT(20,50,30);AT(21,50,30);AT(22,50);"Retu rn - Select ";AT(23,50);HEX(0E);"CANCEL/EDIT - Cancel ";HEX(0F); : GOSUB '94 : FOR I1=1TO G5 : STR(G4$(I1),FNS(14),FNL(14))="N" : NEXT I1 : A2=1 8290 GOSUB '85 : GOSUB '99(M3) : IF Z1=1THEN 8570 8300 R9=VAL(STR(G4$(A2),FNS(15),FNL(15))) : R9=R9-W1(1,1)+W1(1,5) : C9=VAL(STR(G4$(A2),FNS(16),FNL(16)),2) : C9=C9-W1(1,2)+W1(1,6) : T3$=STR(G3$(A2),FNS(2),FNL(2)) : T4$=STR(G3$(A2),FNS(13),FNL(13)) : IF T4$="N"THEN 8315 : IF M3=2AND T3$<>"S"AND T3$<>"U"THEN 8315 : IF STR(G3$(A2),FNS(8),FNL(8))="???"THEN 8315 8310 IF C9>=W1(1,6)AND C9<=W1(1,6)+W1(1,4)-1AND R9>=W1(1,5)AND R9<=W1(1,5)+W1( 1,3)-1THEN 8320 8315 IF A2<G5THEN A2=A2+1 : ELSE A2=1 : GOTO 8300 8320 PRINT AT(R9+1,C9);HEX(02050F); : KEYIN A$,,8480 : PRINT AT(R9+1,C9);"."; : IF A$<>" "THEN 8390 8370 A2=A2+1 : IF A2>G5THEN A2=1 : R9=VAL(STR(G4$(A2),FNS(15),FNL(15))) : C9=VAL(STR(G4$(A2),FNS(16),FNL(16)),2) : R9=R9-W1(1,1)+W1(1,5) : C9=C9-W1(1,2)+W1(1,6) : T3$=STR(G3$(A2),FNS(2),FNL(2)) : T4$=STR(G3$(A2),FNS(13),FNL(13)) : IF T4$="N"THEN 8370 8379 IF M3=2AND T3$<>"S"AND T3$<>"U"THEN 8370 : IF STR(G3$(A2),FNS(8),FNL(8))="???"THEN 8370 : IF C9>=W1(1,6)AND C9<=W1(1,6)+W1(1,4)-1AND R9>=W1(1,5)AND R9<=W1(1,5)+W1( 1,3)-1THEN 8320 : GOTO 8370 8390 IF A$<>HEX(08)THEN 8420 8400 A2=A2-1 : IF A2<1THEN A2=G5 : R9=VAL(STR(G4$(A2),FNS(15),FNL(15))) : C9=VAL(STR(G4$(A2),FNS(16),FNL(16)),2) : R9=R9-W1(1,1)+W1(1,5) : C9=C9-W1(1,2)+W1(1,6) : T3$=STR(G3$(A2),FNS(2),FNL(2)) : T4$=STR(G3$(A2),FNS(13),FNL(13)) : IF T4$="N"THEN 8400 8409 IF M3=2AND T3$<>"S"AND T3$<>"U"THEN 8400 : IF STR(G3$(A2),FNS(8),FNL(8))="???"THEN 8400 : IF C9>=W1(1,6)AND C9<=W1(1,6)+W1(1,4)-1AND R9>=W1(1,5)AND R9<=W1(1,5)+W1( 1,3)-1THEN 8320 : GOTO 8400 8420 IF A$<>HEX(0D)THEN 8460 : STR(G4$(A2),FNS(14),FNL(14))="Y" : PRINT AT(R9+1,C9);HEX(0202020F960202000E0802050F); : Z1=0 : RETURN 8460 PRINT HEX(07); : GOTO 8320 8480 IF A$<>HEX(02)THEN 8510 : IF C6-C8<=80-C8THEN 8320 : C6=C6-C8 : PRINT AT(R9+1,0,80); : GOSUB '222(1,0,C8) : GOSUB '94 : GOTO 8290 8510 IF A$<>HEX(03)THEN 8550 : IF C6+C8>F5THEN 8320 : C6=C6+C8 : PRINT AT(R9+1,0,80); : GOSUB '222(1,0,-1*C8) : GOSUB '94 : GOTO 8290 8550 IF A$<>HEX(09)THEN 8560 : STR(G4$(A2),FNS(14),FNL(14))="N" : PRINT AT(R9+1,C9);"."; : GOTO 8320 8560 IF A$<>HEX(F0)AND A$<>HEX(50)THEN 8460 8570 PRINT HEX(06);AT(R9+1,0,80);AT(23,50,30); : R9=1 : C9=11 : FOR A2=1TO G5 : STR(G4$(A2),FNS(14),FNL(14))="N" : NEXT A2 : G3$(G5+1)=ALL(" ") : Z1=1 : RETURN 9001 DEFFN'123(S$,S1,S2,S3,S7,S5$,S6$) 9002 S5=S3 : $TRAN(S6$,HEX(FE0D))R : S4=1 : S8$=BIN(INT(S7/1000))&BIN(MOD(INT(S7/100),10)) : PRINT AT(S2,S3);HEX(0202020F0204);STR(S8$,1,2);HEX(0E);STR(S$,1,S1);AT(S2 ,S3); 9003 PRINT HEX(05); : KEYIN S9$,,9005 : PRINT HEX(06); : IF S9$=HEX(84)THEN 9003 : $TRAN(S9$,HEX(FE0D))R : IF POS(HEX(82FEA1E5)=S9$)>0THEN 9006 : IF S9$=HEX(08)THEN 9021 : IF S4>S1THEN 9003 : IF POS(S5$="S")>0AND S9$=" "THEN S9$=HEX(80) : PRINT AT(S2,S5);S9$; : STR(S$,S4,1)=S9$ : IF POS(S5$="A")>0AND S4>=S1THEN 9004 : S5=S5+1 : S4=S4+1 : GOTO 9003 9004 S8$=BIN(MOD(INT(S7/10),10))&BIN(MOD(INT(S7),10)) : IF POS(S5$="L")>0THEN S7=LEN(S$) : ELSE S7=S1 : PRINT AT(S2,S3);HEX(0202020F0204);STR(S8$,1,2);HEX(0E);STR(S$,1,S7);HEX(0 202000F020402000F); : IF POS(S5$="L")>0AND LEN(S$)<S1THEN PRINT STR(S$,LEN(S$)+1,S1-LEN(S$)); : IF POS(S5$="A")>0AND S4>=S1AND POS(S6$=S9$)=0THEN S9$=HEX(FF) : RETURN 9005 PRINT HEX(06); : $TRAN(S9$,HEX(0A4A0A5A094909590C5C0C4C0D5D0D4DE548))R : IF S9$=HEX(0D)THEN 9016 9006 PRINT HEX(06); : IF POS(S6$=S9$)>0THEN 9004 : IF S9$=HEX(E5)THEN 9023 : ON VAL(S9$)-3GOTO 9007,9003,9003,9009,9010,9012,9013,9014,9015,9016,9017 : GOTO 9003 9007 IF LEN(S$)=S1THEN S4=S1 : ELSE IF S$<>" "THEN S4=LEN(S$)+1 : ELSE S4=1 : S5=S3+LEN(S$) : IF S$=" "THEN S5=S3 : IF S5>S3+S1-1THEN S5=S3+S1-1 9008 PRINT AT(S2,S5); : GOTO 9003 9009 S5=S3 : S4=1 : GOTO 9008 9010 STR(S$,S4)=" " 9011 PRINT AT(S2,S3);STR(S$,1,S1);AT(S2,S5); : GOTO 9003 9012 STR(S$,S4)=STR(S$,S4+1) : GOTO 9011 9013 FOR S6=S1TO S4+1STEP -1 : IF S6>1THEN STR(S$,S6,1)=STR(S$,S6-1,1) : NEXT S6 : STR(S$,S4,1)=" " : GOTO 9011 9014 S6=5 : GOTO 9018 9015 S6=1 : GOTO 9018 9016 S6=-1 : GOTO 9018 9017 S6=-5 9018 S5=S5+S6 : S4=S4+S6 : IF S4>0THEN 9019 : S4=1 : S5=S3 9019 S6=LEN(S$) : IF S$=" "THEN S6=0 : IF S4<=S6THEN 9020 : S5=S3+S6 : S4=S6+1 9020 PRINT AT(S2,S5); : GOTO 9003 9021 S4=S4-1 : S5=S5-1 : IF S4>0THEN 9022 : S4=1 : S5=S3 9022 IF POS(S5$="S")=0THEN STR(S$,S4,1)=" " : ELSE STR(S$,S4,1)=HEX(80) : GOTO 9011 9023 S$=" " : GOTO 9002 9405 DEFFN'85 : RETURN 9410 KEYIN A$,9420,9420 : GOTO 9430 9420 PRINT HEX(07); : GOTO 9410 9430 RETURN 9500 DEFFN'94 : IF C6-C8<=80-C8THEN PRINT AT(18,50,30); : ELSE PRINT AT(18,50);"'2 - Look Right"; : IF C6+C8>F5THEN PRINT AT(19,50,30); : ELSE PRINT AT(19,50);"'3 - Look Left"; : RETURN 9701 DEFFNS(Q)=VAL(STR(F1$(Q),1,1)) 9702 DEFFNL(Q)=VAL(STR(F1$(Q),2,1)) 9900 DEFFN'0"PRINT HEX(03);:LIST SD 9000, 9699";HEX(0D) : ON SGOTO 6010,6020,6030,6040,6050 9999 % SCRATCH T "PKMONAD":SAVE T ()"PKMONAD"