1 WIDTH 80:FILL 32
10 DIM A(12),M$(12)
20 DATA 0,31,59,90,120,151,181,212,243,273,304,334
30 FOR I=1 TO 12:READ A(I):NEXT 
40 PI=3.14159
50 PRINT :PRINT 
60 PRINT "THIS PROGRAM WILL PRINT OUT YOUR PERSONAL BIO-RHYTHM ANALYSIS"
100 PRINT 
110 INPUT "SELECT CHART TIME LENGTH IN NUMBER OF DAYS ";LL$
120 PRINT 
130 INPUT "SELECT  CHART  START  DATE (MM,DD,YY) ";M,D,Y
140 PRINT 
150 M=INT(M):D=INT(D):Y=INT(Y)
160 INPUT "WHAT'S THE BIRTHDATE (MONTH,DAY,YEAR)";MB,DB,YB
165 PRINT 
170 MB=INT(MB):DB=INT(DB):YB=INT(YB)
180 IF MB*DB*YB=0 THEN 860
190 INPUT "WHATS THE NAME TOOTS";A$
200 PRINT 
202 AD=PEEK(&103)+PEEK(&104)*256
203 INPUT "PRINTER ON ? (Y/N) ";A$:IF A$="Y" THEN POKE AD+5,5
210 DEF FNI(X)=INT(20*SIN(2*PI*X/33)+.5)
220 DEF FNE(X)=INT(20*SIN(2*PI*X/28)+.5)
230 DEF FNP(X)=INT(20*SIN(2*PI*X/23)+.5)
240 T=INT(D+365.25*Y+A(M)+.01*M-.03)
250 TB=INT(DB+365.25*YB+A(MB)+.01*MB-.03)
260 X=T-TB
270 V=INT((40-LEN(A$))/2)
280 RB=TB-1-INT((TB-1)/7)*7
290 DATA MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY
300 FOR I=0 TO 6:READ DAY$(I):NEXT 
310 DATA MON,TUE,WED,THU,FRI,SAT,SUN
320 FOR I=0 TO 6:READ D$(I):NEXT 
330 DATA JANUARY,FEBRUARY,MARCH,APRIL,MAY,JUNE,JULY,AUGUST
340 PRINT :PRINT 
350 DATA SEPTEMBER,OCTOBER,NOVEMBER,DECEMBER
360 FOR I=1 TO 12:READ M$(I):NEXT 
370 PRINT SPC(2):FOR I=1 TO V:PRINT "*";:NEXT 
380 PRINT "BIO-RHYTHM ANALYSIS FOR  "A$;
390 PRINT "*";:IF POS(0)<64 THEN 390
400 PRINT :PRINT 
410 R=T-1-INT((T-1)/7)*7
420 LE=21+LEN(DAY$(R))+LEN(M$(M))+LEN(STR$(D))+LEN(RIGHT$(STR$(Y),2))
430 V2=INT((64-LE)/2)
440 PRINT SPC(2):FOR I=1 TO V2:PRINT "*";:NEXT 
450 PRINT "STARTING DATE: "DAYS$(R)", "M$(M)STR$(D)", 19";
460 PRINT RIGHT$(STR$(Y),2);
470 PRINT "*";:IF POS(0)<64 THEN 470
480 PRINT :PRINT 
490 LB=LL+18
500 VB=INT((64-LB)/2)
510 PRINT SPC(2):FOR I=1 TO VB:PRINT "*";:NEXT 
520 PRINT "BIRTH DATE:"DAYS$(RB)","M$(MB)STR$(DB)", 19";
530 PRINT RIGHT$(STR$(YB),2);
540 PRINT "*";:IF POS(0)<64 THEN 540
550 PRINT :PRINT 
560 PRINT "WATCH FOR CRITICAL DAYS",TAB(34)"---CRITICAL+++"
570 PRINT D$(R)D;M$(M);
580 F(0)=40:F$(0)="*"
590 F(1)=40+FNI(X):F$(1)="I"
600 F(2)=40+FNE(X):F$(2)="E"
610 F(3)=40+FNP(X):F$(3)="P"
620 FOR I=0 TO 2
630 FOR J=I+1 TO 3
640 IF F(I)<F(J) THEN 690
650 IF F(I)=F(J) THEN F(I)=0:F$(I)="":F$(J)="X":GOTO 690
660 Q=F(I):Q$=F$(I)
670 F(I)=F(J):F$(I)=F$(J)
680 F(J)=Q:F$(J)=Q$
690 NEXT J:NEXT I
700 FOR I=0 TO 3
710 PRINT TAB(F(I));F$(I);
720 NEXT 
730 PRINT :X=X+.5:IF INT(X)<>X THEN 580
740 IF Z=VAL(LL$) THEN 840
750 R=R+1:IF R=7 THEN R=0
760 D=D+1:IF M=4 OR M=6 OR M=9 OR M=11 THEN L=30:GOTO 800
770 IF M=2 AND Y/4=INT(Y/4) THEN L=29:GOTO 800
780 IF M=2 THEN L=28:GOTO 800
790 L=31
800 IF D>L THEN D=D-L:M=M+1:GOTO 820
810 PRINT D$(R);D;:Z=Z+1:GOTO 580
820 IF M=13 THEN M=1:Z=Z+1:GOTO 570
830 Z=Z+1:GOTO 570
840 PRINT "TRY ME AGAIN TOOTS";TAB(26)"-RECEPTIVE-",TAB(46)"+EXPRESSIVE+"
850 END 
860 PRINT "LET'S BE REAL***TURKEY!"
870 GOTO 160