image of READY prompt

Wang2200.org

Listing of file='BIORYTHM' on disk='vmedia/more_games.wvd.zip'

# Sector 113, program filename = 'BIORYTHM'
0010 REM *BIORYTHM*
   : LOAD DC T#6,"GAMES"
0020 REM ******************* B I O S I N E ********************      MICHIGAN
     DATASYSTEMS,INC - GRAND RAPIDS, MICHIGAN  3/25/76
0030 DIM Q$(2)64,Q5$64,Q6$64,Q7$1
   : DIM U9$8,U8$64
   : DIM W$8,W3$3,W4$1,W$(3)8,Q4(3),Q5(3)
   : DIM P$1
   : DIM B4(1)
   : DIM B5(1)
   : DIM B6(1)
   : DIM D4(1)
   : DIM D5(1)
   : DIM D6(1)
   : SELECT D
   : DIM N$30
   : DIM S$61
   : DIM B$1
   : DIM A$30
0040 PRINT HEX(03)
   : SELECT P6
   : PRINT
   : PRINT
   : PRINT "DID YOU EVER NOTICE THAT SOME DAYS ARE BETTER THAN OTHERS?"
   : PRINT
   : PRINT "A * B I O S I N E * CHART MAY HELP TO EXPLAIN WHY"
   : SELECT P0
   : INPUT "KEY 'RETURN' TO CONTINUE",B$
   : PRINT HEX(03)
0050 Q6$="TYPE YOUR NAME"
   : GOSUB '243(Q6$,30)
   : N$=Q6$
   : U8$="ENTER YOUR BIRTH DATE IN THE FORM MM/DD/YY"
   : GOSUB '220(U8$)
   : D5$=U9$
   : D9=U9
   : Q5$="HOW MANY DAYS DO YOU WISH TO CHART? ( 1-730 )"
0060 Q3$="1"
   : Q4$="730"
   : Q3=3
   : Q4=0
   : Q5=1
   : GOSUB '200(Q3$,Q4$,Q3,Q4,Q5$,Q5)
   : N6=Q9
   : U8$="ENTER TODAY'S DATE IN THE FORM MM/DD/YY"
   : GOSUB '220(U8$)
   : D6$=U9$
   : D6=U9
   : STR(P$,1,1)="Y"
   : D=0
   : U1=D9
   : U2=D6
0070 GOSUB '225(U1,U2)
   : D=U3
   : IF D6-(INT(D6/1000))*1000+N6<=999THEN 80
   : Q9=(INT(D6/1000))*1000+999
   : GOSUB '224(Q9)
   : N6=D6-(INT(D6/1000))*1000+N6-999
   : D6=Q9
0080 Q9=D6+N6-1
   : GOSUB '224(Q9)
   : GOSUB '223(Q9)
   : D4$=U9$
   : D4=U9
   : Q6=10
   : Q7=0
   : Q8=3
   : GOSUB '248(Q6,Q7,Q8)
   : PRINT "**** CONGRATULATIONS ON BEING";D;"DAYS OLD ****"
   : A$="                              "
   : B$="^"
0090 P1=D/23.0
   : X=INT(D/23)
   : P1=(P1-X)*360.0
   : S=D/28.0
   : X=INT(D/28)
   : S=(S-X)*360.0
   : C=D/33.0
   : X=INT(D/33)
   : C=(C-X)*360.0
   : PRINT " *** ALIGN FORM TO TOP OF PAGE *** "
0100 PRINT " *** HIT RETURN KEY TO INITIATE PRINTOUT *** "
   : INPUT Z9
   : SELECT PRINT 215(80)
   : N1=0
   : GOTO 120
0110 PRINT HEX(0C)
0120 L=16
   : N1=N1+1
   : PRINT
   : PRINT
   : PRINT
   : PRINT "******************"
   : PRINT "******************"
   : PRINT
   : PRINT "BIO-RHYTHM CHART FOR ",N$
   : PRINT "PAGE",N1,D5$
   : PRINT D6$, "THROUGH",D4$
   : PRINT "******************"
   : PRINT "******************"
   : PRINT
   : PRINT
0130 IF STR(P$,1,1)="Y"THEN 140
   : GOTO 150
0140 GOSUB 440
0150 PRINT "    DATE     ----------------------------- 0 +++++++++++++++++++++
     ++++++++"
   : PRINT
   : PRINT
0160 IF L>56THEN 110
   : STR(S$,1,30)=STR(A$,1,30)
   : STR(S$,31,1)=STR(B$,1,1)
   : STR(S$,32,30)=STR(A$,1,30)
   : S1=31+SIN(P1)*30
   : N=INT(S1)
   : STR(S$,N,1)="P"
   : S1=31+SIN(S)*30
   : N=INT(S1)
   : IF STR(S$,N,1)="P"THEN 170
   : STR(S$,N,1)="S"
   : GOTO 180
0170 STR(S$,N,1)="*"
0180 S1=31+SIN(C)*30
   : N=INT(S1)
   : IF STR(S$,N,1)="*"THEN 200
   : IF STR(S$,N,1)="P"THEN 190
   : IF STR(S$,N,1)="S"THEN 190
   : STR(S$,N,1)="C"
   : GOTO 200
0190 STR(S$,N,1)="*"
0200 CONVERT STR(D6$,1,2)TO B4
   : CONVERT STR(D6$,4,2)TO B5
   : CONVERT STR(D6$,7,2)TO B6
   : GOSUB 290
   : IF STR(D6$,1,5)<>STR(D5$,1,5)THEN 210
   : PRINT "     ***** HAPPY BIRTHDAY, ";
   : Z=POS(N$=" ")-1
   : PRINT STR(N$,1,Z);" ****"
0210 PRINT
   : PRINT "             ";S$
   : L=L+2
   : Q9=D6+1
   : GOSUB '224(Q9)
   : GOSUB '223(Q9)
   : D6$=U9$
   : D6=U9
   : IF D6>D4THEN 280
   : P1=P1+360/23.0
   : IF P1>360THEN 220
   : GOTO 230
0220 P1=P1-360
0230 S=S+360/28.0
   : IF S>360THEN 240
   : GOTO 250
0240 S=S-360
0250 C=C+360/33.0
   : IF C>360THEN 260
   : GOTO 270
0260 C=C-360
0270 GOTO 160
0280 SELECT PRINT 005(64)
   : GOTO 20
0290 ON B4GOTO 300,310,320,330,340,350,360,370,380,390,400,410
0300 PRINT "JAN ";
   : GOTO 420
0310 PRINT "FEB ";
   : GOTO 420
0320 PRINT "MAR ";
   : GOTO 420
0330 PRINT "APR ";
   : GOTO 420
0340 PRINT "MAY ";
   : GOTO 420
0350 PRINT "JUN ";
   : GOTO 420
0360 PRINT "JUL ";
   : GOTO 420
0370 PRINT "AUG ";
   : GOTO 420
0380 PRINT "SEP ";
   : GOTO 420
0390 PRINT "OCT ";
   : GOTO 420
0400 PRINT "NOV ";
   : GOTO 420
0410 PRINT "DEC ";
0420 IF B5>=10THEN 430
   : PRINT " ";
0430 PRINT B5;B6;
   : RETURN
0440 STR(P$,1,1)=" "
   : PRINT "     THE BIO-RHYTHM THEORY POSTULATES THAT THERE ARE CERTAIN"
   : PRINT "METABOLIC RHYTHMS THAT HAVE A CONSTANT CYCLE IN THE HUMAN"
0450 PRINT "BODY THAT ARE CALLED BY SOME 'INNER CLOCKS'."
   : PRINT "     TWO PHYSICIANS, ONE A CONTEMPORARY OF FREUD, CONCURRENTLY "
0460 PRINT "DESCRIBED A 23-DAY CYCLE THAT CORRELATED WITH PHYSICAL VITALITY,"
   : PRINT "ENDURANCE, AND ENERGY...AND A 28-DAY CYCLE THAT CORRESPONDS"
0470 PRINT "WITH SENSITIVITY, INTUITION, AND CHEERFULNESS."
   : PRINT "A THIRD CYCLE WAS OBSERVED IN THE EARLY TWENTIETH CENTURY,"
0480 PRINT "AND IS A 33-DAY COGNITIVE OR INTELLECTUAL CYCLE THAT RELATES"
   : PRINT "TO MENTAL ALERTNESS."
   : PRINT "     ALL THREE CYCLES START UP AT BIRTH -- THE TIME YOU ARE"
0490 PRINT "DETACHED FROM YOUR MOTHER AND HER 'CLOCKS'."
   : PRINT "     THE DAYS ON WHICH THE MEDIAN LINE (^) IS CROSSED ARE"
   : PRINT "CRITICAL, ESPECIALLY FOR THE PHYSICAL AND SENSITIVITY CYCLES,"
0500 PRINT "AND ARE WHEN ACCIDENTS ARE MOST LIKELY TO OCCUR.  THE HIGH"
   : PRINT "PERIODS (+) ARE THE TIMES WHEN YOU SHOULD HAVE THE MOST "
0510 PRINT "ENERGY, BE MOST CHEERFUL, OUT-GOING, AND MENTALLY ALERT."
   : PRINT "THE LOW TIMES (-) ARE REGARDED AS RECUPERATIVE PERIODS."
0520 PRINT "     IN A STUDY OF 700 RANDOM ACCIDENTS, IT WAS FOUND THAT"
   : PRINT "NEARLY 60% OF THEM HAPPENED ON CRITICAL DAYS -- EVEN THOUGH"
   : PRINT "ONLY 20% OF YOUR DAYS ARE 'CRITICAL'."
0530 PRINT "CERTAIN BUS COMPANIES SCHEDULE THEIR DRIVERS IN RELATION TO"
   : PRINT "THEIR BIO-RHYTHMS, AND HAVE NOTICED A MARKED REDUCTION IN"
   : PRINT "ACCIDENTS."
0540 PRINT "     ALTHOUGH ALL CYCLES ARE SAID TO START AT BIRTH, BIO-RHYTHMS"
   : PRINT "HAVE NOTHING TO DO WITH ASTROLOGY."
   : PRINT "     THIS PROGRAM WAS ADAPTED FROM ONE PREPARED AT THE"
0550 PRINT "UNIVERSITY OF CALIFORNIA AT BERKELEY.  THIS PRESENT VERSION "
   : PRINT "IS WRITTEN IN  B A S I C , A PRODUCT OF WANG LABORATORIES."
0560 PRINT "                           P  =  PHYSICAL     ( 23 DAYS )"
   : PRINT "                           S  =  SENSITIVITY  ( 28 DAYS )"
0570 PRINT "                           C  =  COGNITIVE    ( 33 DAYS )"
   : PRINT "     AN ASTERISK MEANS THAT MORE THAN ONE CYCLE HAS THE SAME VALUE
     "
   : PRINT "THAT DAY."
   : PRINT
   : PRINT
   : PRINT
   : L=L+38
   : RETURN
0580 DEFFN'220(U8$)
0590 GOSUB '243(U8$,8)
   : GOSUB '221(Q6$)
   : IF Q6$= "E"THEN 590
   : GOSUB '223(U9)
   : GOSUB '248(1,0,3)
   : PRINT "IS DATE OK?   (Y/N)",U9$,U9
0600 GOSUB '244(1)
   : IF Q6$= "N"THEN 580
   : IF Q6$<> "Y"THEN 600
   : RETURN
0610 DEFFN'221(Q6$)
   : U9$=Q6$
   : IF Q6$= " "THEN 760
   : IF NUM(Q6$)=0THEN 760
   : IF POS(Q6$="/")-1<>NUM(Q6$)THEN 760
   : CONVERT STR(Q6$,1,NUM(Q6$))TO U8
   : IF U8<1THEN 760
   : IF U8>12THEN 760
   : STR(Q6$,1)=STR(Q6$,POS(Q6$="/")+1)
   : IF NUM(Q6$)=0THEN 760
   : IF POS(Q6$="/")-1<>NUM(Q6$)THEN 760
0620 CONVERT STR(Q6$,1,NUM(Q6$))TO U6
   : IF U6<1THEN 760
   : IF U6>31THEN 760
   : STR(Q6$,1)=STR(Q6$,POS(Q6$="/")+1)
   : IF NUM(Q6$)<>64THEN 760
   : CONVERT Q6$TO U0
   : U7=(1-SGN(U0-INT(U0/4)*4))*SGN((U8-1)*(U8-2))
0630 ON U8GOTO 750,740,730,720,710,700,690,680,670,660,650,640
0640 U7=U7+30
0650 U7=U7+31
0660 U7=U7+30
0670 U7=U7+31
0680 U7=U7+31
0690 U7=U7+30
0700 U7=U7+31
0710 U7=U7+30
0720 U7=U7+31
0730 U7=U7+28
0740 U7=U7+31
0750 U9=U7+U6+U0*1000
   : RETURN
0760 Q6$= "E"
   : RETURN
0770 DEFFN'222(U8$)
   : GOSUB '245(U8$,5,0)
   : GOSUB '223(Q9)
   : GOSUB '221(U9$)
   : GOSUB '248(1,0,3)
   : PRINT "IS DATE OK?   (Y/N)",U9$,U9
0780 GOSUB '244(1)
   : IF Q6$= "N"THEN 770
   : IF Q6$<> "Y"THEN 780
   : RETURN
0790 DEFFN'223(U9)
   : U1=INT(U9/1E3)
   : U2=U9-U1*1E3
   : U3=1-SGN(U1-INT(U1/4)*4)
   : IF U2<=334+U3THEN 800
   : U4=U2-334-U3
   : U5=12
   : GOTO 910
0800 IF U2<=304+U3THEN 810
   : U4=U2-304-U3
   : U5=11
   : GOTO 910
0810 IF U2<=273+U3THEN 820
   : U4=U2-273-U3
   : U5=10
   : GOTO 910
0820 IF U2<=243+U3THEN 830
   : U4=U2-243-U3
   : U5=9
   : GOTO 910
0830 IF U2<=212+U3THEN 840
   : U4=U2-212-U3
   : U5=8
   : GOTO 910
0840 IF U2<=181+U3THEN 850
   : U4=U2-181-U3
   : U5=7
   : GOTO 910
0850 IF U2<=151+U3THEN 860
   : U4=U2-151-U3
   : U5=6
   : GOTO 910
0860 IF U2<=120+U3THEN 870
   : U4=U2-120-U3
   : U5=5
   : GOTO 910
0870 IF U2<=90+U3THEN 880
   : U4=U2-90-U3
   : U5=4
   : GOTO 910
0880 IF U2<=59+U3THEN 890
   : U4=U2-59-U3
   : U5=3
   : GOTO 910
0890 IF U2<=31THEN 900
   : U4=U2-31
   : U5=2
   : GOTO 910
0900 U4=U2
   : U5=1
0910 CONVERT U5TO STR(U9$,1,2),(##)
   : CONVERT U4TO STR(U9$,4,2),(##)
   : CONVERT U1TO STR(U9$,7,2),(##)
   : STR(U9$,3,1),STR(U9$,6,1)="/"
   : RETURN
0920 DEFFN'224(Q9)
   : U2=INT(365.25*(INT(Q9/1E3)-1))+Q9-INT(Q9/1E3)*1E3
   : Q9=INT(U2/365.25)-1+SGN((U2/365.25)-INT(U2/365.25))
   : Q9=Q9*1E3+(U2-INT(365.25*Q9))+1E3
   : RETURN
0930 DEFFN'225(U1,U2)
   : U3=INT(365.25*(INT(U2/1E3)-1))+U2-INT(U2/1E3)*1E3
   : U3=U3-(INT(365.25*(INT(U1/1E3)-1))+U1-INT(U1/1E3)*1E3)
   : RETURN
0940 DEFFN'200(Q$(1),Q$(2),Q3,Q4,Q5$,Q5)
0950 SELECT PRINT 005(64)
   : PRINT HEX(010A);Q5$;TAB(63)
   : PRINT "? ";
   : FOR Q8=1TO Q3
   : PRINT "-";
   : NEXT Q8
   : IF Q5=2THEN 960
   : PRINT "/";
   : IF Q4=0THEN 960
   : FOR Q8=1TO Q4
   : PRINT "-";
   : NEXT Q8
0960 PRINT TAB(63)
   : PRINT HEX(010A0A0909);
   : Q8=0
   : INIT(20)Q6$
   : Q7$= "0"
   : Q6=0
0970 Q9$= " "
   : KEYIN Q9$,980,970
   : GOTO 970
0980 IF Q9$=HEX(0D)THEN 1030
   : IF Q9$=HEX(08)THEN 1060
   : IF Q9$=HEX(E5)THEN 950
   : PRINT Q9$;
   : IF Q5=2THEN 1100
   : ON VAL(Q9$)-42GOTO 1000,990,1000,1010
0990 IF Q9$<HEX(30)THEN 1050
   : IF Q9$>HEX(39)THEN 1050
   : GOTO 1020
1000 IF Q8<>0THEN 1050
   : Q6=1
   : GOTO 1020
1010 IF POS(Q6$=".")=0THEN 1020
   : IF POS(Q6$=".")<>Q8+1THEN 1050
1020 Q8=Q8+1
   : STR(Q6$,Q8,1)=Q9$
   : GOTO 970
1030 PRINT HEX(070D0A)
   : PRINT TAB(63)
   : IF Q5=2THEN 1110
   : IF Q8=0THEN 1050
   : IF Q8>13THEN 1050
   : IF Q8>Q3+Q4THEN 1050
   : Q7=POS(Q6$= ".")
   : IF Q7=0THEN 1040
   : IF Q7>Q3+Q6+1THEN 1050
   : IF Q8-Q7>Q4THEN 1050
1040 CONVERT STR(Q6$,1,Q8)TO Q9
   : CONVERT Q$(1)TO Q6
   : CONVERT Q$(2)TO Q7
   : IF Q9<Q6THEN 1050
   : IF Q9<=Q7THEN 1120
1050 PRINT HEX(07)
   : PRINT HEX(010A0A0A);"INVALID. RE-ENTER"
   : GOTO 950
1060 Q8=Q8-1
   : IF Q8<0THEN 1050
   : STR(Q6$,Q8+1,1)= " "
   : IF Q8=Q3THEN 1090
   : IF Q8<=Q3+Q4THEN 1080
1070 PRINT HEX(082008);
   : GOTO 970
1080 PRINT HEX(082D08);
   : GOTO 970
1090 IF Q5<>1THEN 1070
   : PRINT HEX(082F08);
   : GOTO 970
1100 IF Q9$<HEX(20)THEN 1050
   : IF Q9$>HEX(7F)THEN 1050
   : GOTO 1020
1110 IF Q8>Q3THEN 1050
   : IF Q6$<Q$(1)THEN 1050
   : IF Q6$>Q$(2)THEN 1050
1120 RETURN
1130 DEFFN'242(W0,Q6$)
   : IF W0<=0THEN 1150
   : IF W0=1THEN 1140
   : STR(Q6$,2)=STR(Q6$,1,W0-1)
1140 PRINT Q6$;
1150 RETURN
1160 DEFFN'243(Q6$,Q0)
   : GOSUB 1280
1170 SELECT CO 205
   : Q6$=" "
   : INPUT Q6$
   : IF Q0=0THEN 1310
   : IF LEN(Q6$)<=Q0THEN 1310
   : GOSUB 1270
1180 DEFFN'244(Q0)
   : GOSUB 1300
   : GOSUB 1290
   : GOTO 1170
1190 DEFFN'245(Q6$,Q2,Q3)
   : Q0=ABS(Q2)+Q3+1
   : GOSUB 1280
1200 IF ABS(Q2)+ABS(Q3)=0THEN 1210
   : GOSUB '242(ABS(Q2)+2,HEX(09))
   : PRINT "/"
   : GOTO 1220
1210 PRINT ,," "
1220 GOSUB 1300
   : SELECT CO 205
   : Q9,W0=-1E-99
   : INPUT Q9
   : IF W0=Q9THEN 1230
   : IF ABS(Q2)+Q3=0THEN 1260
   : IF Q9>=0THEN 1250
   : IF Q2<=0THEN 1250
1230 GOSUB 1270
1240 DEFFN'246(Q2,Q3)
   : Q0=ABS(Q2)+Q3+1
   : GOSUB 1300
   : GOSUB 1290
   : GOTO 1200
1250 IF ABS(Q9)>=10^ABS(Q2)THEN 1230
   : W0=ABS(Q9*10^Q3)
   : IF INT(W0)<>W0THEN 1230
1260 GOSUB '248(3,0,1)
   : RETURN
1270 GOSUB '248(3,0,1)
   : PRINT "RE-ENTER"
   : RETURN
1280 SELECT PRINT 005(64),CO 005
   : PRINT HEX(010A);STR(Q6$,1);
1290 SELECT PRINT 005(64),CO 005
   : GOSUB '242(Q0+2,"-")
   : PRINT TAB(64)
1300 PRINT HEX(010A0A)
   : RETURN
1310 PRINT HEX(0A);TAB(64)
   : SELECT PRINT 005(64),CO 005
   : RETURN
1320 DEFFN'248(Q6,Q7,Q8)
   : GOSUB 1340
   : IF Q8<1THEN 1330
   : GOSUB 1330
   : SELECT PRINT 205
   : Q6$=" "
   : PRINT STR(Q6$,Q7+1)
   : IF Q8<2THEN 1330
   : FOR W0=2TO Q8
   : PRINT HEX(0A);STR(Q6$,1)
   : NEXT W0
1330 PRINT HEX(01)
   : GOSUB '242(Q7,HEX(09))
   : GOSUB '242(Q6,HEX(0A))
1340 SELECT PRINT 005(64),CO 005
   : RETURN