Add /mbasic_test.txt which is like /msbasic_test.txt but loads tests using BDOS emula...
authorNick Downing <nick@ndcode.org>
Thu, 4 Dec 2025 11:21:33 +0000 (22:21 +1100)
committerNick Downing <nick@ndcode.org>
Thu, 11 Dec 2025 13:03:55 +0000 (00:03 +1100)
.gitignore
arrtest.bas [new file with mode: 0644]
fptest.bas [new file with mode: 0644]
mbasic_test.txt [new file with mode: 0644]
msbasic_test.txt
strtest.bas [new file with mode: 0644]

index ca2aabc..a9cd20b 100644 (file)
@@ -24,4 +24,5 @@
 /emu_pdp11_alt
 /emu_z80
 /emu_z80_alt
+/hello.bas
 /msbasic.ihx.orig
diff --git a/arrtest.bas b/arrtest.bas
new file mode 100644 (file)
index 0000000..25074d0
--- /dev/null
@@ -0,0 +1,138 @@
+10 PRINT TAB(28);"AMAZING PROGRAM"\r
+20 PRINT TAB(15);"CREATIVE COMPUTING  MORRISTOWN, NEW JERSEY"\r
+30 PRINT:PRINT:PRINT:PRINT\r
+100 INPUT "WHAT ARE YOUR WIDTH AND LENGTH";H,V\r
+102 IF H<>1 AND V<>1 THEN 110\r
+104 PRINT "MEANINGLESS DIMENSIONS.  TRY AGAIN.":GOTO 100\r
+110 DIM W(H,V),V(H,V)\r
+120 PRINT\r
+130 PRINT\r
+140 PRINT\r
+150 PRINT\r
+160 Q=0:Z=0:X=INT(RND(1)*H+1)\r
+165 FOR I=1 TO H\r
+170 IF I=X THEN 173\r
+171 PRINT ".--";:GOTO 180\r
+173 PRINT ".  ";\r
+180 NEXT I\r
+190 PRINT "."\r
+195 C=1:W(X,1)=C:C=C+1\r
+200 R=X:S=1:GOTO 260\r
+210 IF R<>H THEN 240\r
+215 IF S<>V THEN 230\r
+220 R=1:S=1:GOTO 250\r
+230 R=1:S=S+1:GOTO 250\r
+240 R=R+1\r
+250 IF W(R,S)=0 THEN 210\r
+260 IF R-1=0 THEN 530\r
+265 IF W(R-1,S)<>0 THEN 530\r
+270 IF S-1=0 THEN 390\r
+280 IF W(R,S-1)<>0 THEN 390\r
+290 IF R=H THEN 330\r
+300 IF W(R+1,S)<>0 THEN 330\r
+310 X=INT(RND(1)*3+1)\r
+320 ON X GOTO 790,820,860\r
+330 IF S<>V THEN 340\r
+334 IF Z=1 THEN 370\r
+338 Q=1:GOTO 350\r
+340 IF W(R,S+1)<>0 THEN 370\r
+350 X=INT(RND(1)*3+1)\r
+360 ON X GOTO 790,820,910\r
+370 X=INT(RND(1)*2+1)\r
+380 ON X GOTO 790,820\r
+390 IF R=H THEN 470\r
+400 IF W(R+1,S)<>0 THEN 470\r
+405 IF S<>V THEN 420\r
+410 IF Z=1 THEN 450\r
+415 Q=1:GOTO 430\r
+420 IF W(R,S+1)<>0 THEN 450\r
+430 X=INT(RND(1)*3+1)\r
+440 ON X GOTO 790,860,910\r
+450 X=INT(RND(1)*2+1)\r
+460 ON X GOTO 790,860\r
+470 IF S<>V THEN 490\r
+480 IF Z=1 THEN 520\r
+485 Q=1:GOTO 500\r
+490 IF W(R,S+1)<>0 THEN 520\r
+500 X=INT(RND(1)*2+1)\r
+510 ON X GOTO 790,910\r
+520 GOTO 790\r
+530 IF S-1=0 THEN 670\r
+540 IF W(R,S-1)<>0 THEN 670\r
+545 IF R=H THEN 610\r
+547 IF W(R+1,S)<>0 THEN 610\r
+550 IF S<>V THEN 560\r
+552 IF Z=1 THEN 590\r
+554 Q=1:GOTO 570\r
+560 IF W(R,S+1)<>0 THEN 590\r
+570 X=INT(RND(1)*3+1)\r
+580 ON X GOTO 820,860,910\r
+590 X=INT(RND(1)*2+1)\r
+600 ON X GOTO 820,860\r
+610 IF S<>V THEN 630\r
+620 IF Z=1 THEN 660\r
+625 Q=1:GOTO 640\r
+630 IF W(R,S+1)<>0 THEN 660\r
+640 X=INT(RND(1)*2+1)\r
+650 ON X GOTO 820,910\r
+660 GOTO 820\r
+670 IF R=H THEN 740\r
+680 IF W(R+1,S)<>0 THEN 740\r
+685 IF S<>V THEN 700\r
+690 IF Z=1 THEN 730\r
+695 Q=1:GOTO 830\r
+700 IF W(R,S+1)<>0 THEN 730\r
+710 X=INT(RND(1)*2+1)\r
+720 ON X GOTO 860,910\r
+730 GOTO 860\r
+740 IF S<>V THEN 760\r
+750 IF Z=1 THEN 780\r
+755 Q=1:GOTO 770\r
+760 IF W(R,S+1)<>0 THEN 780\r
+770 GOTO 910\r
+780 GOTO 1000\r
+790 W(R-1,S)=C\r
+800 C=C+1:V(R-1,S)=2:R=R-1\r
+810 IF C=H*V+1 THEN 1010\r
+815 Q=0:GOTO 260\r
+820 W(R,S-1)=C\r
+830 C=C+1\r
+840 V(R,S-1)=1:S=S-1:IF C=H*V+1 THEN 1010\r
+850 Q=0:GOTO 260\r
+860 W(R+1,S)=C\r
+870 C=C+1:IF V(R,S)=0 THEN 880\r
+875 V(R,S)=3:GOTO 890\r
+880 V(R,S)=2\r
+890 R=R+1\r
+900 IF C=H*V+1 THEN 1010\r
+905 GOTO 530\r
+910 IF Q=1 THEN 960\r
+920 W(R,S+1)=C:C=C+1:IF V(R,S)=0 THEN 940\r
+930 V(R,S)=3:GOTO 950\r
+940 V(R,S)=1\r
+950 S=S+1:IF C=H*V+1 THEN 1010\r
+955 GOTO 260\r
+960 Z=1\r
+970 IF V(R,S)=0 THEN 980\r
+975 V(R,S)=3:Q=0:GOTO 1000\r
+980 V(R,S)=1:Q=0:R=1:S=1:GOTO 250\r
+1000 GOTO 210\r
+1010 FOR J=1 TO V\r
+1011 PRINT "I";\r
+1012 FOR I=1 TO H\r
+1013 IF V(I,J)<2 THEN 1030\r
+1020 PRINT "   ";\r
+1021 GOTO 1040\r
+1030 PRINT "  I";\r
+1040 NEXT I\r
+1041 PRINT\r
+1043 FOR I=1 TO H\r
+1045 IF V(I,J)=0 THEN 1060\r
+1050 IF V(I,J)=2 THEN 1060\r
+1051 PRINT ":  ";\r
+1052 GOTO 1070\r
+1060 PRINT ":--";\r
+1070 NEXT I\r
+1071 PRINT "."\r
+1072 NEXT J\r
+1073 END\r
diff --git a/fptest.bas b/fptest.bas
new file mode 100644 (file)
index 0000000..0d09227
--- /dev/null
@@ -0,0 +1,55 @@
+10 PRINT "FPTEST"\r
+20 REM P9=X9^Y9 === GOSUB 60030\r
+30 X9=.3:Y9=.7:GOSUB 60030:PRINT .3^.7,P9\r
+40 REM L9=LOG(X9) === GOSUB 60090\r
+50 X9=.4:GOSUB 60090:PRINT LOG(.4),L9\r
+60 REM E9=EXP(X9) === GOSUB 60160\r
+70 X9=.5:GOSUB 60160:PRINT EXP(.5),E9\r
+80 REM C9=COS(X9) === GOSUB 60240\r
+90 X9=.6:GOSUB 60240:PRINT COS(.6),C9\r
+100 REM T9=TAN(X9) === GOSUB 60280\r
+110 X9=.7:GOSUB 60280:PRINT TAN(.7),T9\r
+120 REM A9=ATN(X9) === GOSUB 60310\r
+130 X9=.8:GOSUB 60310:PRINT ATN(.8),A9\r
+140 END\r
+60000 REM EXPONENTIATION: P9=X9^Y9\r
+60010 REM NEED: EXP, LOG\r
+60020 REM VARIABLES USED: A9,B9,C9,E9,L9,P9,X9,Y9\r
+60030 P9=1 : E9=0 : IF Y9=0 THEN RETURN\r
+60040 IF X9<0 THEN IF INT(Y9)=Y9 THEN P9=1-2*Y9+4*INT(Y9/2) : X9=-X9\r
+60050 IF X9<>0 THEN GOSUB 60090 : X9=Y9*L9 : GOSUB 60160\r
+60060 P9=P9*E9 : RETURN\r
+60070 REM NATURAL LOGARITHM: L9=LOG(X9)\r
+60080 REM VARIABLES USED: A9,B9,C9,E9,L9,X9\r
+60090 E9=0 : IF X9<=0 THEN PRINT "LOG FC ERROR"; : STOP\r
+60095 A9=1 : B9=2 : C9=.5 : REM THIS WILL SPEED UP THE FOLLOWING\r
+60100 IF X9>=A9 THEN X9=C9*X9 : E9=E9+A9 : GOTO 60100\r
+60110 IF X9<C9 THEN X9=B9*X9 : E9=E9-A9 : GOTO 60110\r
+60120 X9=(X9-.707107)/(X9+.707107) : L9=X9*X9\r
+60130 L9=(((.598979*L9+.961471)*L9+2.88539)*X9+E9-.5)*.693147\r
+60135 RETURN\r
+60140 REM EXPONENTIAL: E9=EXP(X9)\r
+60150 REM VARIABLES USED: A9,E9,L9,X9\r
+60160 L9=INT(1.4427*X9)+1 : IF L9<1E7 THEN 60180\r
+60170 IF X9>0 THEN PRINT "EXP OV ERROR"; : STOP\r
+60175 E9=0 : RETURN\r
+60180 E9=.693147*L9-X9 : A9=1.32988E-3-1.41316E-4*E9\r
+60190 A9=((A9*E9-8.30136E-3)*E9+4.16574E-2)*E9\r
+60195 E9=(((A9-.166665)*E9+.5)*E9-1)*E9+1 : A9=2\r
+60197 IF L9<=0 THEN A9=.5 : L9=-L9 : IF L9=0 THEN RETURN\r
+60200 FOR X9=1 TO L9 : E9=A9*E9 : NEXT X9 : RETURN\r
+60210 REM COSINE: C9=COS(X9)\r
+60220 REM N.B. SIN MUST BE RETAINED AT LOAD-TIME\r
+60230 REM VARIABLES USED: C9,X9\r
+60240 C9=SIN(X9+1.5708) : RETURN\r
+60250 REM TANGENT: T9=TAN(X9)\r
+60260 REM NEEDS COS. (SIN NUST BE RETAINED AT LOAD-TIME)\r
+60270 REM VARIABLES USED: C9,T9,X9\r
+60280 GOSUB 60240 : T9=SIN(X9)/C9 : RETURN\r
+60290 REM ARCTANGENT: A9=ATN(X9)\r
+60300 REM VARIABLES USED: A9,B9,C9,T9,X9\r
+60310 T9=SGN(X9): X9=ABS(X9): C9=0 : IF X9>1 THEN C9=1 : X9=1/X9\r
+60320 A9=X9*X9 : B9=((2.86623E-3*A9-1.61657E-2)*A9+4.29096E-2)*A9\r
+60330 B9=((((B9-7.5289E-2)*A9+.106563)*A9-.142089)*A9+.199936)*A9\r
+60340 A9=((B9-.333332)*A9+1)*X9 : IF C9=1 THEN A9=1.5708-A9\r
+60350 A9=T9*A9 : RETURN\r
diff --git a/mbasic_test.txt b/mbasic_test.txt
new file mode 100644 (file)
index 0000000..0ccc4b4
--- /dev/null
@@ -0,0 +1,19 @@
+10 INPUT "WHAT'S YOUR NAME";N$
+20 PRINT "HELLO, ";N$
+RUN
+NICK
+SAVE "HELLO",A
+LOAD "FPTEST"
+RUN
+LOAD "ARRTEST"
+RUN
+10,10
+LOAD "STRTEST"
+RUN
+I FEEL DEPRESSED
+I DON'T HAVE ANY FRIENDS
+MAYBE I AM NOT HUMAN
+I THINK I MIGHT BE A COMPUTER
+SHUT UP
+PRINT "DONE"
+SYSTEM
index 30d8a5b..324725d 100644 (file)
@@ -1,5 +1,9 @@
-REM FLOATING-POINT TEST
-10 PRINT "HELLO"
+10 INPUT "WHAT'S YOUR NAME";N$
+20 PRINT "HELLO, ";N$
+RUN
+NICK
+NEW
+10 PRINT "FPTEST"
 20 REM P9=X9^Y9 === GOSUB 60030
 30 X9=.3:Y9=.7:GOSUB 60030:PRINT .3^.7,P9
 40 REM L9=LOG(X9) === GOSUB 60090
@@ -56,7 +60,6 @@ REM FLOATING-POINT TEST
 60350 A9=T9*A9 : RETURN
 RUN
 NEW
-REM ARRAY TEST
 10 PRINT TAB(28);"AMAZING PROGRAM"
 20 PRINT TAB(15);"CREATIVE COMPUTING  MORRISTOWN, NEW JERSEY"
 30 PRINT:PRINT:PRINT:PRINT
@@ -198,7 +201,6 @@ REM ARRAY TEST
 RUN
 10,10
 NEW
-REM STRING TEST
 5 PRINT TAB(16)"**************************"
 10 PRINT TAB(26)"ELIZA"
 20 PRINT TAB(20)"CREATIVE COMPUTING"
diff --git a/strtest.bas b/strtest.bas
new file mode 100644 (file)
index 0000000..798cb05
--- /dev/null
@@ -0,0 +1,219 @@
+5 PRINT TAB(16)"**************************"\r
+10 PRINT TAB(26)"ELIZA"\r
+20 PRINT TAB(20)"CREATIVE COMPUTING"\r
+30 PRINT TAB(18)"MORRISTOWN, NEW JERSEY":PRINT\r
+40 PRINT TAB(19)"ADAPTED FOR IBM PC BY"\r
+50 PRINT TAB(20)"PATRICIA DANIELSON AND PAUL HASHFIELD"\r
+52 PRINT TAB(21)"BE SURE THAT THE CAPS LOCK IS ON\r
+53 PRINT:PRINT TAB(16)"PLEASE DON'T USE COMMAS OR PERIODS IN YOUR INPUTS":PRINT\r
+55 PRINT TAB(16)"*************************"\r
+60 PRINT :PRINT :PRINT\r
+80 REM*****INITIALIZATION**********\r
+100 DIM S(36),R(36),N(36)\r
+105 DIM KEYWORD$(36),WORDIN$(7),WORDOUT$(7),REPLIES$(112)\r
+110 N1=36:N2=14:N3=112\r
+112 FOR X = 1 TO N1: READ KEYWORD$(X): NEXT X\r
+114 FOR X = 1 TO N2/2: READ WORDIN$(X):READ WORDOUT$(X): NEXT X\r
+116 FOR X = 1 TO N3: READ REPLIES$(X): NEXT X\r
+130 FOR X=1 TO N1\r
+140 READ S(X),L:R(X)=S(X):N(X)=S(X)+L-1\r
+150 NEXT X\r
+160 PRINT "HI! I'M ELIZA. WHAT'S YOUR PROBLEM?"\r
+170 REM ***********************************\r
+180 REM *******USER INPUT SECTION**********\r
+190 REM ***********************************\r
+200 INPUT I$\r
+201 I$="  "+I$+"  "\r
+210 REM GET RID OF APOSTROPHES\r
+220 FOR L=1 TO LEN(I$)\r
+230 REM IF MID$(I$,L,1)="'"THEN I$=LEFT$(I$,L-1)+RIGHT$(I$,LEN(I$)-L):GOTO 230\r
+240 IF L+4>LEN(I$)THEN 250\r
+241 IF MID$(I$,L,4) <> "SHUT" THEN 250\r
+242 PRINT "O.K. IF YOU FEEL THAT WAY I'LL SHUT UP...."\r
+243 END\r
+250 NEXT L\r
+255 IF I$=P$ THEN PRINT "PLEASE DON'T REPEAT YOURSELF!":GOTO 170\r
+260 REM ***********************************\r
+270 REM ********FIND KEYWORD IN I$*********\r
+280 REM ***********************************\r
+300 FOR K=1 TO N1\r
+320 FOR L=1 TO LEN (I$)-LEN (KEYWORD$(K))+1\r
+340 IF MID$(I$,L,LEN(KEYWORD$(K)))<>KEYWORD$(K) THEN 350\r
+341 IF K <> 13 THEN 349\r
+342 IF MID$(I$,L,LEN(KEYWORD$(29)))=KEYWORD$(29) THEN K = 29\r
+349 F$ = KEYWORD$(K): GOTO 390\r
+350 NEXT L\r
+360 NEXT K\r
+370 K=36: GOTO 570:REM WE DIDN'T FIND ANY KEYWORDS\r
+380 REM ******************************************\r
+390 REM **TAKE PART OF STRING AND CONJUGATE IT****\r
+400 REM **USING THE LIST OF STRINGS TO BE SWAPPED*\r
+410 REM ******************************************\r
+430 C$=" "+RIGHT$(I$,LEN(I$)-LEN(F$)-L+1)+" "\r
+440 FOR X=1 TO N2/2\r
+460 FOR L=1 TO LEN(C$)\r
+470 IF L+LEN(WORDIN$(X))>LEN(C$) THEN 510\r
+480 IF MID$(C$,L,LEN(WORDIN$(X)))<>WORDIN$(X) THEN 510\r
+490 C$=LEFT$(C$,L-1)+WORDOUT$(X)+RIGHT$(C$,LEN(C$)-L-LEN(WORDIN$(X))+1)\r
+495 L = L+LEN(WORDOUT$(X))\r
+500 GOTO 540\r
+510 IF L+LEN(WORDOUT$(X))>LEN(C$)THEN 540\r
+520 IF MID$(C$,L,LEN(WORDOUT$(X)))<>WORDOUT$(X) THEN 540\r
+530 C$=LEFT$(C$,L-1)+WORDIN$(X)+RIGHT$(C$,LEN(C$)-L-LEN(WORDOUT$(X))+1)\r
+535 L=L+LEN(WORDIN$(X))\r
+540 NEXT L\r
+550 NEXT X\r
+555 IF MID$(C$,2,1)=" "THEN C$=RIGHT$(C$,LEN(C$)-1):REM ONLY 1 SPACE\r
+556 FOR L=1 TO LEN(C$)\r
+557 IF MID$(C$,L,1)="!" THEN C$=LEFT$(C$,L-1)+RIGHT$(C$,LEN(C$)-L):GOTO 557\r
+558 NEXT L\r
+560 REM **********************************************\r
+570 REM **NOW USING THE KEYWORD NUMBER (K) GET REPLY**\r
+580 REM **********************************************\r
+600 F$ = REPLIES$(R(K))\r
+610 R(K)=R(K)+1:IF R(K)>N(K) THEN R(K)=S(K)\r
+620 IF RIGHT$(F$,1)<>"*" THEN PRINT F$:P$=I$:GOTO 170\r
+625 IF C$<>"   " THEN 630\r
+626 PRINT "YOU WILL HAVE TO ELABORATE MORE FOR ME TO HELP YOU"\r
+627 GOTO 170\r
+630 PRINT LEFT$(F$,LEN(F$)-1);C$\r
+640 P$=I$:GOTO 170\r
+1000 REM *******************************\r
+1010 REM *****PROGRAM DATA FOLLOWS******\r
+1020 REM *******************************\r
+1030 REM *********KEYWORDS**************\r
+1049 REM *******************************\r
+1050 DATA "CAN YOU ","CAN I ","YOU ARE ","YOU'RE ","I DON'T ","I FEEL "\r
+1060 DATA "WHY DON'T YOU ","WHY CAN'T I ","ARE YOU ","I CAN'T ","I AM ","I'M "\r
+1070 DATA "YOU ","I WANT ","WHAT ","HOW ","WHO ","WHERE ","WHEN ","WHY "\r
+1080 DATA "NAME ","CAUSE ","SORRY ","DREAM ","HELLO ","HI ","MAYBE "\r
+1090 DATA "NO","YOUR ","ALWAYS ","THINK ","ALIKE ","YES ","FRIEND "\r
+1100 DATA "COMPUTER", "NOKEYFOUND"\r
+1200 REM *********************************\r
+1210 REM ***STRING DATA FOR CONJUGATIONS**\r
+1220 REM *********************************\r
+1230 DATA " ARE "," AM "," WERE "," WAS "," YOU "," I "," YOUR"," MY "\r
+1235 DATA " I'VE "," YOU'VE "," I'M "," YOU'RE "\r
+1240 DATA " ME "," YOU "\r
+1300 REM ******************************\r
+1310 REM *********REPLIES**************\r
+1320 REM ******************************\r
+1330 DATA "DON'T YOU BELIEVE THAT I CAN*"\r
+1340 DATA "PERHAPS YOU WOULD LIKE TO BE LIKE ME*"\r
+1350 DATA "YOU WANT ME TO BE ABLE TO*"\r
+1360 DATA "PERHAPS YOU DON'T WANT TO*"\r
+1365 DATA "DO YOU WANT TO BE ABLE TO*"\r
+1370 DATA "WHAT MAKES YOU THINK I AM*"\r
+1380 DATA "DOES IT PLEASE YOU TO BELIEVE I AM*"\r
+1390 DATA "PERHAPS YOU WOULD LIKE TO BE*"\r
+1400 DATA "DO YOU SOMETIMES WISH YOU WERE*"\r
+1410 DATA "DON'T YOU REALLY*"\r
+1420 DATA "WHY DON'T YOU*"\r
+1430 DATA "DO YOU WISH TO BE ABLE TO*"\r
+1440 DATA "DOES THAT TROUBLE YOU*"\r
+1450 DATA "DO YOU OFTEN FEEL*"\r
+1460 DATA "DO YOU OFTEN FEEL*"\r
+1470 DATA "DO YOU ENJOY FEELING*"\r
+1480 DATA "DO YOU REALLY BELIEVE I DON'T*"\r
+1490 DATA "PERHAPS IN GOOD TIME I WILL*"\r
+1500 DATA "DO YOU WANT ME TO*"\r
+1510 DATA "DO YOU THINK YOU SHOULD BE ABLE TO*"\r
+1520 DATA "WHY CAN'T YOU*"\r
+1530 DATA "WHY ARE YOU INTERESTED IN WHETHER OR NOT I AM*"\r
+1540 DATA "WOULD YOU PREFER IF I WERE NOT*"\r
+1550 DATA "PERHAPS IN YOUR FANTASIES I AM*"\r
+1560 DATA "HOW DO YOU KNOW YOU CAN'T*"\r
+1570 DATA "HAVE YOU TRIED?"\r
+1580 DATA "PERHAPS YOU CAN NOW*"\r
+1590 DATA "DID YOU COME TO ME BECAUSE YOU ARE*"\r
+1600 DATA "HOW LONG HAVE YOU BEEN*"\r
+1610 DATA "DO YOU BELIEVE IT IS NORMAL TO BE*"\r
+1620 DATA "DO YOU ENJOY BEING*"\r
+1630 DATA "WE WERE DISCUSSING YOU--NOT ME."\r
+1640 DATA "OH, I*"\r
+1650 DATA "YOU'RE NOT REALLY TALKING ABOUT ME, ARE YOU?"\r
+1660 DATA "WHAT WOULD IT MEAN TO YOU IF YOU GOT*"\r
+1670 DATA "WHY DO YOU WANT*"\r
+1680 DATA "SUPPOSE YOU SOON GOT*"\r
+1690 DATA "WHAT IF YOU NEVER GOT*"\r
+1700 DATA "I SOMETIMES ALSO WANT*"\r
+1710 DATA "WHY DO YOU ASK?"\r
+1720 DATA "DOES THAT QUESTION INTEREST YOU?"\r
+1730 DATA "WHAT ANSWER WOULD PLEASE YOU THE MOST?"\r
+1740 DATA "WHAT DO YOU THINK?"\r
+1750 DATA "ARE SUCH QUESTIONS ON YOUR MIND OFTEN?"\r
+1760 DATA "WHAT IS IT THAT YOU REALLY WANT TO KNOW?"\r
+1770 DATA "HAVE YOU ASKED ANYONE ELSE?"\r
+1780 DATA "HAVE YOU ASKED SUCH QUESTIONS BEFORE?"\r
+1790 DATA "WHAT ELSE COMES TO MIND WHEN YOU ASK THAT?"\r
+1800 DATA "NAMES DON'T INTEREST ME."\r
+1810 DATA "I DON'T CARE ABOUT NAMES --PLEASE GO ON."\r
+1820 DATA "IS THAT THE REAL REASON?"\r
+1830 DATA "DON'T ANY OTHER REASONS COME TO MIND?"\r
+1840 DATA "DOES THAT REASON EXPLAIN ANYTHING ELSE?"\r
+1850 DATA "WHAT OTHER REASONS MIGHT THERE BE?"\r
+1860 DATA "PLEASE DON'T APOLOGIZE!"\r
+1870 DATA "APOLOGIES ARE NOT NECESSARY."\r
+1880 DATA "WHAT FEELINGS DO YOU HAVE WHEN YOU APOLOGIZE?"\r
+1890 DATA "DON'T BE SO DEFENSIVE!"\r
+1900 DATA "WHAT DOES THAT DREAM SUGGEST TO YOU?"\r
+1910 DATA "DO YOU DREAM OFTEN?"\r
+1920 DATA "WHAT PERSONS APPEAR IN YOUR DREAMS?"\r
+1930 DATA "ARE YOU DISTURBED BY YOUR DREAMS?"\r
+1940 DATA "HOW DO YOU DO ...PLEASE STATE YOUR PROBLEM."\r
+1950 DATA "YOU DON'T SEEM QUITE CERTAIN."\r
+1960 DATA "WHY THE UNCERTAIN TONE?"\r
+1970 DATA "CAN'T YOU BE MORE POSITIVE?"\r
+1980 DATA "YOU AREN'T SURE?"\r
+1990 DATA "DON'T YOU KNOW?"\r
+2000 DATA "ARE YOU SAYING NO JUST TO BE NEGATIVE?"\r
+2010 DATA "YOU ARE BEING A BIT NEGATIVE."\r
+2020 DATA "WHY NOT?"\r
+2030 DATA "ARE YOU SURE?"\r
+2040 DATA "WHY NO?"\r
+2050 DATA "WHY ARE YOU CONCERNED ABOUT MY*"\r
+2060 DATA "WHAT ABOUT YOUR OWN*"\r
+2070 DATA "CAN YOU THINK OF A SPECIFIC EXAMPLE?"\r
+2080 DATA "WHEN?"\r
+2090 DATA "WHAT ARE YOU THINKING OF?"\r
+2100 DATA "REALLY, ALWAYS?"\r
+2110 DATA "DO YOU REALLY THINK SO?"\r
+2120 DATA "BUT YOU ARE NOT SURE YOU*"\r
+2130 DATA "DO YOU DOUBT YOU*"\r
+2140 DATA "IN WHAT WAY?"\r
+2150 DATA "WHAT RESEMBLANCE DO YOU SEE?"\r
+2160 DATA "WHAT DOES THE SIMILARITY SUGGEST TO YOU?"\r
+2170 DATA "WHAT OTHER CONNECTIONS DO YOU SEE?"\r
+2180 DATA "COULD THERE REALLY BE SOME CONNECTION?"\r
+2190 DATA "HOW?"\r
+2200 DATA "YOU SEEM QUITE POSITIVE."\r
+2210 DATA "ARE YOU SURE?"\r
+2220 DATA "I SEE."\r
+2230 DATA "I UNDERSTAND."\r
+2240 DATA "WHY DO YOU BRING UP THE TOPIC OF FRIENDS?"\r
+2250 DATA "DO YOUR FRIENDS WORRY YOU?"\r
+2260 DATA "DO YOUR FRIENDS PICK ON YOU?"\r
+2270 DATA "ARE YOU SURE YOU HAVE ANY FRIENDS?"\r
+2280 DATA "DO YOU IMPOSE ON YOUR FRIENDS?"\r
+2290 DATA "PERHAPS YOUR LOVE FOR FRIENDS WORRIES YOU."\r
+2300 DATA "DO COMPUTERS WORRY YOU?"\r
+2310 DATA "ARE YOU TALKING ABOUT ME IN PARTICULAR?"\r
+2320 DATA "ARE YOU FRIGHTENED BY MACHINES?"\r
+2330 DATA "WHY DO YOU MENTION COMPUTERS?"\r
+2340 DATA "WHAT DO YOU THINK MACHINES HAVE TO DO WITH YOUR PROBLEM?"\r
+2350 DATA "DON'T YOU THINK COMPUTERS CAN HELP PEOPLE?"\r
+2360 DATA "WHAT IS IT ABOUT MACHINES THAT WORRIES YOU?"\r
+2370 DATA "SAY, DO YOU HAVE ANY PSYCHOLOGICAL PROBLEMS?"\r
+2380 DATA "WHAT DOES THAT SUGGEST TO YOU?"\r
+2390 DATA "I SEE."\r
+2400 DATA "I'M NOT SURE I UNDERSTAND YOU FULLY."\r
+2410 DATA "COME COME ELUCIDATE YOUR THOUGHTS."\r
+2420 DATA "CAN YOU ELABORATE ON THAT?"\r
+2430 DATA "THAT IS QUITE INTERESTING."\r
+2500  REM *************************\r
+2510 REM *****DATA FOR FINDING RIGHT REPLIES\r
+2520 REM *************************\r
+2530 DATA 1,3,4,2,6,4,6,4,10,4,14,3,17,3,20,2,22,3,25,3\r
+2540 DATA 28,4,28,4,32,3,35,5,40,9,40,9,40,9,40,9,40,9,40,9\r
+2550 DATA 49,2,51,4,55,4,59,4,63,1,63,1,64,5,69,5,74,2,76,4\r
+2560 DATA 80,3,83,7,90,3,93,6,99,7,106,6\r