home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
busi
/
pcode153.zip
/
PC-CODE2.153
< prev
next >
Wrap
Text File
|
1984-06-11
|
20KB
|
714 lines
'
'
' <<<<< P C - C O D E 2 . 1 5 3 >>>>>
'
'
' * * * * * * * * * * * * * * * * * * * *
' * *
' * COPYRIGHT 1984 by *
' * Richard Nolen Colvard *
' * Freeware Distribution OK *
' * Public Domain use OK *
' * *
' * WARNING: This Program must be *
' * COMPILED with IBM *
' * BASCOM/T/O/N *
' * Donot use BASICA *
' * *
' * Highly recommend 8087 link libs *
' * *
' * * * * * * * * * * * * * * * * * * * *
'
'
DIM B#(37), C#(99), CONS!(7), CONS#(6), IX%(256)
DIM BCNT%(37), CCNT%(99), CHNO%(256), SAV%(256)
CONS!(1)=8: CONS!(2)=131072! : CONS!(3)=8192: CONS!(4)=128
CONS!(5)=2: CONS!(6)=32 : CONS!(7)=2048 : L0% = 95 : K0% = L0% * 2
CONS#(1)=1: CONS#(2)=128 : CONS#(3)=32768# : CONS#(4)=8388608#
CONS#(5)=4096 : CONS#(6)=1048576# : ACNT! = 0
M%=7: N%=17: YY# = 999991! : MU# = 16807 : MD# = 2147483647#
SAME1! = 0 : SAME2! = 0 : TOT! = 0
WH$="V1.53 PC-CODE2"
WZ$="P C C o m p u t e r S e c u r i t y " + WH$
HDR$=WH$ + " ENCODED " + DATE$ + " " + TIME$
DOTS$ = STRING$(78,46)
FOR J%=1 TO 37 : BCNT%(J%)=0 : NEXT J%
FOR J%=1 TO 99 : CCNT%(J%)=0 : NEXT J%
FOR J%=1 TO 256 : CHNO%(J%)=0 : SAV%(J%)=J% : NEXT J%
YES% = ASC("Y") : NO% = ASC("N")
PRINT WZ$ : PRINT : PRINT
GOSUB 6590
PRINT : PRINT
YES% = ASC("Y") : NO% = ASC("N")
PRINT "Debug Statistics will slow down program execution"
PRINT "Do You Wish Debuging Statistics";
GOSUB 8300 : BUG% = REPLY%
PRINT : PRINT
PRINT "Do You Wish to Load KEYS from a FILE";
GOSUB 8300 : IF REPLY% = 1% THEN GOSUB 6810 : GOTO 2550
GOSUB 8190
FOR J%=10 TO 15
IF CL%= 1% THEN COLOR J%,9,1
PRINT "P C - C O D E 2 ......Textual SuperEncipherment......"
NEXT J%
IF CL% = 1% THEN COLOR 15,9,1
PRINT: PRINT : PRINT : PRINT : PRINT
YES% = ASC("N") : NO% = ASC("A")
PRINT " Enter the type of KEY desired"
PRINT " Numeric; Number Only key ";
IF CL% = 1% THEN COLOR 13,0,0: PRINT "N" : COLOR 15,9,1
IF CL% = 0% THEN PRINT "N"
PRINT " Alphabetic; alphanumeric ";
IF CL% = 1% THEN COLOR 13,0,0: PRINT "A" : COLOR 15,9,1
IF CL% = 0% THEN PRINT "A"
GOSUB 8300 : TY% = REPLY% : IF REPLY% = 0% THEN 3880
'
'
'
GOSUB 8190
PRINT " There are two(2) levels of Security HIGH and LOW"
PRINT " Enter H for HIGH or L for LOW";
YES% = ASC("H") : NO% = ASC("L")
GOSUB 8300 : IF REPLY% = 1% THEN 1980
'
' ----------- LOW level of SECURITY -------------
'
PRINT " LOW Level of Security Selected"
PRINT
PRINT " You must now enter SEVEN (7) KEY numbers as indicated:"
PRINT
GOSUB 4090
GOTO 2550
'
'
'
1980 PRINT
PRINT " You have Selected HIGH security"
PRINT
PRINT " You must enter ";1+N%+M%;" key numbers between 1 and 2,147,483,646"
2020 INPUT " A(1) ? "; A#
A#=FIX(A#)
IF A# < 1 OR A# >= MD# THEN GOSUB 2400: GOTO 2020
PRINT
'
'
FOR J%=1 TO M%
2090 PRINT " B(";J%;") ";
INPUT B#(J%)
B#(J%)=FIX(B#(J%))
IF B#(J%) < 1 OR B#(J%) >= MD# THEN GOSUB 2400: GOTO 2090
NEXT J%
GOSUB 8190
'
'
FOR J%=1 TO N%
2180 PRINT " C(";J%;") ";
INPUT C#(J%)
C#(J%)=FIX(C#(J%))
IF C#(J%) < 1 OR C#(J%) >= MD# THEN GOSUB 2400: GOTO 2180
IF J% = 18 THEN GOSUB 8190
IF J% = 36 THEN GOSUB 8190
NEXT J%
'
GOTO 2550
'
'
'
2300 PRINT "[";X%;"] ";
INPUT "Enter a NUMBER between 1 and 9,999,999 "; K2!
IF K2! < 1 OR K2! > 9999999! THEN GOSUB 2400: GOTO 2300
Z!=K2!
GOSUB 2490
S!=Z!
RETURN
'
'
' ---------- ERROR Messages ----------
2400 IF CL% = 1% THEN COLOR 4+16,0,0
PRINT " ERROR: Number RANGE must be 1 to 9,999,999"
IF CL% = 1% THEN COLOR 15,1,9
RETURN
'
'
' ------ scaling ---------
2490 Z! = Z! / 100!
IF Z! > 1! THEN 2490
RETURN
'
'
'
2550 GOSUB 8190 : PRINT
PRINT "Possible Output files:"
PRINT " 'A:FILE.EXT' 'B:FILE.EXT' 'LPT1:' 'CON:' 'CAS1:'"
PRINT " for FILES the input and Output must be different"
PRINT
INPUT "Enter Output file name (Full name): "; U$
IF U$ = "con:" THEN U$="CON:"
IF U$ <> "CON:" THEN OPEN "O",2,U$
PRINT: PRINT
PRINT "Possible Input files:"
PRINT " 'A:FILE.EXT' 'B:FILE.EXT' 'C:FILE.EXT' 'CON:' 'CAS1:'"
PRINT
INPUT "Enter Input FILE (full name): "; F1$
IF F1$= "con:" THEN F1$="CON:"
IF F1$ <> "CON:" THEN OPEN "I",1,F1$
PRINT
PRINT
PRINT "Encode or Decode";
YES% = ASC("E") : NO% = ASC("D")
GOSUB 8300 : EN% = REPLY%
IF EN%= 1% AND U$ <> "CON:" THEN PRINT #2, HDR$
IF EN% <> 0% THEN 2870
IF F1$="CON:" THEN 2870
LINE INPUT #1, HDR$
IF LEFT$(HDR$,14) = WH$ THEN 2870
PRINT "* * * File was never Encoded by "; WH$
PRINT " file header = "; HDR$
END
2870 GOSUB 8190
IF CL% = 1% THEN COLOR 4+16,0,0
IF CL% = 0% THEN COLOR 7+16,0
PRINT " * * * R U N N I N G * * *"
IF CL% = 1% THEN COLOR 15,9,1
IF CL% = 0% THEN COLOR 7,0
PRINT
IF F1$="CON:" THEN PRINT "--> Terminate Console Input with use '//END'"
IF EN% = 0% AND F1$ <> "CON:" THEN PRINT "File Header: "; HDR$
PRINT
2970 IF F1$ = "CON:" THEN 3010
IF EOF(1) <> 0 THEN 3590
LINE INPUT #1, M$
GOTO 3030
3010 LINE INPUT M$
IF M$ = "//END" OR M$ = "//end" OR M$ = CHR$(26) THEN 3590
3030 L%=LEN(M$)
IF L% = 0 THEN 3390
FOR JJ%=1 TO L%
IX%(JJ%)=JJ%
NEXT JJ%
L9%=INT(L%/2)
GOSUB 5990
IF EN% = 0% THEN GOSUB 6270
FOR J%=1 TO L%
H%=ASC( MID$(M$,J%,1))
H% = H% - 32
S#=A#
L=M%
GOSUB 3450
A#=S#
B%=O%
L=N%
S#=B#(B%)
BCNT%(B%) = BCNT%(B%) + 1%
GOSUB 3450
B#(B%)=S#
B%=O%
S#=C#(B%)
CCNT%(B%) = CCNT%(B%) + 1%
L=L0%
GOSUB 3450
C#(B%)=S#
IF EN% = 1% THEN H% = H% + O% ELSE H% = K0% + (H% - O%)
H% = H% MOD L0%
H% = H% + 32%
CHNO%(H%) = CHNO%(H%) + 1%
MID$(M$,J%,1)=CHR$(H%)
NEXT J%
IF EN% = 1% THEN GOSUB 6270
3390 IF U$ <> "CON:" THEN PRINT #2, M$
IF U$ = "CON:" THEN PRINT M$
IF U$ = "CON:" AND F1$ = "CON:" THEN PRINT
GOTO 2970
'
'
' -------- RANDOM NUMBER GENERATOR (1) ------
3450 S#=S# * MU#
S#=S# - (MD# * INT(S# / MD#) )
O%=1 + FIX(L * (S# / MD#) )
RETURN
'
'
' -------- RANDOM NUMBER GENERATOR (2) ------
3520 S!=(S! + 1.352968) ^ 1.256973
S!=S! - FIX(S!)
O%=1 + FIX(L * S!)
RETURN
'
'
'
3590 PRINT
IF U$ <> "CON:" THEN CLOSE 2
IF F1$ <> "CON:" THEN CLOSE 1
'
'
' ------- CLEAR MEMORY & STOP --------
PRINT "Wish to Save newly Computed KEYS to a FILE";
YES% = ASC("Y") : NO% = ASC("N")
GOSUB 8300 : IF REPLY% = 1% THEN GOSUB 7040
PRINT "Wish to Save Log Statistics for keys used";
GOSUB 8300 : IF REPLY% = 1% THEN GOSUB 7690
Z!=0: A#=0# : M$=SPACE$(128): S! = 0 : S# = 0#
FOR J%=1 TO M%
B#(J%)=0# : BCNT%(J%)=0%
NEXT J%
FOR J%=1 TO N%
C#(J%)=0# : CCNT%(J%)=0%
NEXT J%
FOR J%=1 TO 256
IX%(J%)=0%
NEXT J%
IF CL% = 1% THEN COLOR 7,0,0
IF IBM% = 1% THEN CLS
END
'
' ----------- ALPHANUMERIC KEYS -----------
'
3880 GOSUB 8190
PRINT " There are two(2) levels of Security HIGH and LOW"
PRINT " Enter H for HIGH or L for LOW ";
YES% = ASC("H") : NO% = ASC("L")
GOSUB 8300 : IF REPLY% = 1% THEN 5190
'
' ----------- LOW level of SECURITY -------------
'
PRINT " LOW Level of Security Selected"
PRINT
PRINT " You must now enter SEVEN (7) key Alphanumerics as indicated:"
PRINT
GOSUB 4090
GOTO 2550
'
'
' ---------- KEY 1 ---------
4090 X%=1% : M% = 11% : N% = 47%
IF TY% = 0% THEN GOSUB 5340 ' Alpha
IF TY% = 1% THEN GOSUB 2300 ' Numeric
GOSUB 3520
GOSUB 3520
A#=FIX((1# - S!) * MD#)
'
'
' ---------- KEY 2 ----------
X%=2
IF TY% = 0% THEN GOSUB 5340 ' Alpha
IF TY% = 1% THEN GOSUB 2300 ' Numeric
GOSUB 3520
L=4
FOR J%=1 TO M%
GOSUB 3520
O2% = O%
FOR K%=1 TO O2%
GOSUB 3520
NEXT K%
GOSUB 3520
B#(J%)=FIX((1# - S!) * MD#)
NEXT J%
'
'
' ---------- KEY 3 -----------
X%=3
IF TY% = 0% THEN GOSUB 5340 ' Alpha
IF TY% = 1% THEN GOSUB 2300 ' Numeric
GOSUB 3520
L=3
FOR J%=1 TO N%
GOSUB 3520
O2% = O%
FOR K%=1 TO O2%
GOSUB 3520
NEXT K%
GOSUB 3520
C#(J%)=FIX((1# - S!) * MD#)
NEXT J%
'
'
' ---------- KEY 4 -------------
X%=4
IF TY% = 0% THEN GOSUB 5340 ' Alpha
IF TY% = 1% THEN GOSUB 2300 ' Numeric
GOSUB 3520
L=INT(N%/2)
GOSUB 3520
K%=O% + 1
L=N%
FOR J%=1 TO K%
GOSUB 3520
L%=O%
GOSUB 3520
C#(L%)=FIX(S! * MD#)
NEXT J%
'
'
' ----------- KEY 5 ---------------
X%=5
IF TY% = 0% THEN GOSUB 5340 ' Alpha
IF TY% = 1% THEN GOSUB 2300 ' Numeric
GOSUB 3520
L=INT(M%/2)
GOSUB 3520
K%=O% + 1
L=M%
FOR J%=1 TO K%
GOSUB 3520
L%=O%
GOSUB 3520
B#(L%)=FIX(S! * MD#)
NEXT J%
'
'
' ------------ KEY 6 ---------------
X%=6
IF TY% = 0% THEN GOSUB 5340 ' Alpha
IF TY% = 1% THEN GOSUB 2300 ' Numeric
GOSUB 3520
L=M%
FOR J%=1 TO M%
GOSUB 3520
D#=B#(O%)
B#(O%)=B#(J%)
B#(J%)=D#
NEXT J%
'
'
' ------------- KEY 7 --------------
X%=7
IF TY% = 0% THEN GOSUB 5340 ' Alpha
IF TY% = 1% THEN GOSUB 2300 ' Numeric
GOSUB 3520
L=N%
FOR J%=1 TO N%
GOSUB 3520
D#=C#(O%)
C#(O%)=C#(J%)
C#(J%)=D#
NEXT J%
'
GOSUB 7440 ' Display generated keys
'
RETURN
'
' ---------- end of LOW security ------------
'
'
5190 GOSUB 8190
PRINT " You must enter 3 long PASSWORDS of alphanumeric data"
X%=1
GOSUB 5530
X%=M%
GOSUB 5530
X%=N%
GOSUB 5530
'
GOSUB 7440 ' Display generated keys
'
GOTO 2550
'
'
'
' --------- alphanumeric password to RND ------------
5340 PRINT "[";X%;"] Enter Password: ";
LINE INPUT P$
L%=LEN(P$)
IF L% < 6% THEN PRINT " *** password too short; not > 5": GOTO 5340
IF X%=1 THEN K# = 0
FOR J%=1 TO L%
C%=ASC( MID$(P$,J%,1) )
LL%=J%
IF LL% > 7% THEN LL% = LL% MOD 7% : LL% = LL% + 1%
K# = K# + (CONS!(LL%) * C%)
NEXT J%
Z! = K#
GOSUB 2490
K# = K# - (YY# * INT( K# / YY#))
S! = Z!
RETURN
'
'
'
' ------- alphanumeric to DECIMAL --------
5530 X2%=X% * 6
X3% = X2% : X4% = 0
IF X%=1 THEN PRINT " (A) Enter Password of at least (MIN) ";X2%;" Chars"
IF X%=M% THEN PRINT " (B) Enter Password of at least (MIN) ";X2%;" Chars"
IF X2% > 60 THEN X3% = 60: X4% = X2% - 60 : GOSUB 8190
IF X%=N% THEN PRINT " (C) Enter Password of at least (MIN) ";X2%;" Chars"
W1$="123456789012345678901234567890123456789012345678901234567890"
W2$=" 1 2 3 4 5 6"
W3$=".........+.........+.........+.........+.........+.........+"
W4$=" 7 8 9 10 11 12"
PRINT: PRINT
PRINT " "; LEFT$(W2$,X3%)
PRINT " "; LEFT$(W1$,X3%)
PRINT " "; LEFT$(W3$,X3%)
PRINT "Password:";
LINE INPUT P$
PRINT
IF X4% = 0 THEN 5740
PRINT: PRINT
PRINT " "; LEFT$(W4$,X4%)
PRINT " "; LEFT$(W1$,X4%)
PRINT " "; LEFT$(W3$,X4%)
PRINT "Password:";
LINE INPUT P2$
P$ = P$ + P2$
5740 L%=LEN(P$)
IF L% < X2% THEN PRINT " *** Password TOO SHORT reenter ": GOTO 5530
T%=INT(L%/X%)
K#=0
FOR K%=1 TO X%
P2$=LEFT$(P$,T%)
L%=L%-T%
IF L% < 1 THEN 5830
P$=RIGHT$(P$,L%)
5830 FOR J%=1 TO T%
LL%=J%
IF LL% > 6% THEN LL% = LL% MOD 6% : LL% = LL% + 1%
C% = ASC( MID$(P2$,J%,1) )
K# = K# + (CONS#(LL%) * C%)
NEXT J%
IF X%=1 THEN A#=K#
IF X%=M% THEN B#(K%) = K#
IF X%=N% THEN C#(K%) = K#
K# = K# - (MD# * INT( K# / MD# ))
NEXT K%
RETURN
'
'
' ------ TRANSPOSITION -------
'
5990 FOR JJ%=1 TO L%
L=M%
S#=A#
GOSUB 3450
A#=S#
B%=O%
L=N%
S#=B#(B%)
GOSUB 3450
B#(B%)=S#
B%=O%
S#=C#(B%)
L=L%
GOSUB 3450
C#(B%)=S#
IS% = IX%(JJ%)
IX%(JJ%) = IX%(O%)
IX%(O%) = IS%
NEXT JJ%
IF BUG% = 0% THEN 6230
FOR JJ%=1 TO L% : B% = IX%(JJ%)
IF SAV%(JJ%) = B% THEN SAME1! = SAME1! + 1
SAV%(JJ%) = B%
IF B% = JJ% THEN SAME2! = SAME2! + 1
NEXT JJ%
TOT! = TOT! + L%
6230 RETURN
'
'
'
6270 FOR JJ%=1 TO L9%
G1%=IX%(JJ%)
G2%=IX%(JJ%+L9%)
G1$=MID$(M$,G1%,1)
G2$=MID$(M$,G2%,1)
MID$(M$,G1%,1)=G2$
MID$(M$,G2%,1)=G1$
NEXT JJ%
RETURN
'
'
'
' ------ Help / Instructions -----
6400 OPEN "I",3,"PC-CODE2.DOC"
6420 GOSUB 8190
JJ%=1
6450 IF EOF(3) <> 0 THEN 6540
LINE INPUT #3, M$
PRINT M$
JJ%=JJ%+1
IF JJ% < 19 THEN 6450
PRINT "======================="
PRINT "Wish More Documentation";
YES% = ASC(" ") : NO% = ASC("N")
GOSUB 8300 : IF REPLY% = 1% THEN 6420 ELSE 6550
6540 GOSUB 7230 ' Pause
6550 GOSUB 8190
CLOSE 3
RETURN
'
'
'
6590 PRINT: PRINT
YES% = ASC("Y") : NO% = ASC("N")
PRINT "Does your Terminal Support IBM Clear (CLS) screen";
GOSUB 8300 : IBM% = REPLY%
PRINT : PRINT
PRINT "Do you have COLOR installed on your PC";
GOSUB 8300 : CL% = REPLY%
IF CL%= 0% THEN 6700
SCREEN 0,1
COLOR 15,9,1
GOSUB 8190
6700 PRINT : PRINT
PRINT "Do you wish some instructions/Help";
GOSUB 8300 : IF REPLY% = 1% THEN GOSUB 6400
RETURN
'
'
'
6810 INPUT "Enter the Fully Qualified Input Key FILE name: "; F$
OPEN "I", 5, F$
LINE INPUT #5, P$
IF LEFT$(P$,1) <> "*" THEN A#=VAL(P$): GOTO 6880
INPUT #5, T%, M%, N%
INPUT #5, A#
6872 IF T% <> 1 THEN PRINT "ERROR: Bad Key File ": END
6880 A# = ABS( FIX( A# ) )
IF A# = 0 THEN T% = 99 : GOTO 6872
FOR J%=1 TO M% : INPUT #5, B#(J%)
B#(J%) = ABS( FIX( B#(J%) ) ) : NEXT J%
FOR J%=1 TO N% : INPUT #5, C#(J%)
C#(J%) = ABS( FIX( C#(J%) ) ) : NEXT J%
IF EOF(5) <> 0 THEN PRINT "*** ERROR *** Reading Key File": END
T% = M% + N% + 1
PRINT "*** Loaded "; T% ;" Keys from "; F$; " Successfully"
GOSUB 7230 ' Pause
CLOSE 5
RETURN
'
'
'
7040 INPUT "Enter the Fully Qualified Output Key File Name: "; F$
OPEN "O", 5, F$
PRINT #5, "* HDR PC-CODE2 saved KEYS "
WRITE #5, 1, M%, N%
PRINT #5, A#
FOR J%=1 TO M% : PRINT #5, B#(J%)
NEXT J%
FOR J%=1 TO N% : PRINT #5, C#(J%)
NEXT J%
PRINT #5, "* Keys computed on " + DATE$ + " " + TIME$ + " " + WH$
T% = M% + N% + 1
PRINT "*** Saved "; T% ;" Keys to "; F$; " Successfully"
GOSUB 7230 ' Pause
CLOSE 5
RETURN
'
'
'
' ------- Delay function -------
7230 PRINT : PRINT
PRINT " <PAUSE> Press Enter to Continue ";
LINE INPUT Z$
RETURN
'
'
'
' ----- Generated Key Seeds display ------
7440 GOSUB 8190
PRINT "The following Numeric Keys/Seeds were generated:"
PRINT : PRINT
P$=SPACE$(16)
PRINT " ( A ) : "; A#
PRINT
PRINT " ( B ) : ";
FOR J%=1 TO M%
PRINT LEFT$(STR$(B#(J%))+P$,16);
NEXT J%
PRINT : PRINT
PRINT " ( C ) : ";
FOR J%=1 TO N%
PRINT LEFT$(STR$(C#(J%))+P$,16);
NEXT J%
PRINT: PRINT
PRINT " --- To Print this screen depress 'Shift PrtSc' ---"
GOSUB 7230 ' Pause
RETURN
'
'
'
'
'
' ---- Save Log Statistics for Keys used -----
7690 PRINT "Enter Stat Log File Name or 'LPT1:' or default of blank"
F$ = " "
INPUT "Enter Log File Name: "; F$
IF LEN(F$)=0 OR LEFT$(F$,1)=" " THEN F$="PC-STAT2.LOG"
OPEN "O", 6, F$
FOR J%=1 TO M% : ACNT! = ACNT! + BCNT%(J%) : NEXT J%
PRINT #6, " "
PRINT #6, " <<<<< PC-CODE2 Statistics for Keys Used >>>>>"
PRINT #6, " " : PRINT #6, " "
PRINT #6, " Date and Time Stamp = "; DATE$ + " " + TIME$
PRINT #6, " Keys Setup (B) size = "; M%
PRINT #6, " Keys Setup (C) size = "; N%
PRINT #6, " Total Characters processed = "; ACNT!
PRINT #6, " "
PRINT #6, " ----- Key Utilitization/Balance -----"
PRINT #6, " " : PRINT #6, " "
PRINT #6, " * For Key Group (B)"
PRINT #6, " "
PRINT #6, " KEY Count"
FOR J%=1 TO M%
PRINT #6, USING " ### ####### "; J%, BCNT%(J%)
NEXT J%
PRINT #6, " " : PRINT #6, " "
PRINT #6, " * For Key Group (C)"
PRINT #6, " "
PRINT #6, " KEY Count"
FOR J%=1 TO N%
PRINT #6, USING " ### ####### "; J%, CCNT%(J%)
NEXT J%
PRINT #6, " " : PRINT #6, " "
PRINT #6, " * Output Character Set Statistics:"
PRINT #6, " "
PRINT #6, " CHR$ Char Count"
PRINT #6, " Num ---- Occur"
FOR J%=0 TO 255
IF CHNO%(J%)=0 THEN 8040
IF J% > 31 AND J% < 127 THEN P$=CHR$(J%) ELSE P$=" "
PRINT #6, USING " #### ! ####### "; J%, P$, CHNO%(J%)
8040 NEXT J%
PRINT #6, " "
IF BUG% = 0% THEN 8130
PRINT #6, " ": PRINT #6, " * Debuging Statistics": PRINT #6, " "
PRINT #6, " "
PRINT #6, " Transposition count: "; TOT!, " 100%"
PRINT #6, " coincidences T1 "; SAME1!, 100 * (SAME1!/TOT!);"%"
PRINT #6, " coincidences T2 "; SAME2!, 100 * (SAME2!/TOT!);"%"
PRINT #6, " ": PRINT #6, " "
8130 PRINT #6, " *** END of STATISTICAL LOG ***"
PRINT " *** Saved Stat Log file to "; F$; " ***"
CLOSE 6
RETURN
'
'
' C L E A R S C R E E N
8190 IF IBM% = 1% THEN CLS ELSE PRINT : PRINT DOTS$ : PRINT
PRINT WZ$
PRINT : PRINT
RETURN
'
'
'
'
' Y E S / N O Prompt Subroutine
8300 IF YES% <> 32% THEN PRINT " (";CHR$(YES%);" or ";CHR$(NO%);") ";
IF YES% = 32% THEN PRINT " ( ";CHR$(NO%);" or <CR> ) ";
Z$=" "
INPUT Z$
IF Z$ = "" AND YES% = 32 THEN REPLY% = 1% : GOTO 8400
IF Z$ = "" THEN 8300
REPLY% = 99%
ANS% = ASC(Z$)
IF ANS% > 90% THEN ANS% = ANS% - 32%
IF ANS% = YES% THEN REPLY% = 1%
IF ANS% = NO% THEN REPLY% = 0%
IF REPLY% <> 99% THEN 8400
PRINT " ERROR: Re-enter as follows: ";
GOTO 8300
8400 RETURN
'
'
' END