home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carousel Volume 2 #1
/
carousel.iso
/
comdore
/
64misc
/
bio
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1988-11-02
|
12KB
|
399 lines
1 GOTO910
2 REM ** ML STOP KEY DISABLE **
3 PRINT"x[169]=[141][169][141]X` [234][255][169][255][133][145]L4[234]x[169]1[141][169][234][141]X`
4 [153]"xhhh+hNOThhhhhhhPRINT#HRUNHX`111"
5 [153]"hhhhhhh`1"
6 [143] ** 4 - POP ML SUBROUTINE **
10 [143] **GENERAL INPUT ROUTINE **
15 :
30 :
35 [143] +++ INPUT SECTION +++
40 UR$[178]"":UI$[178]"":[151] UO,0
42 [139]UL[178]0[167]UL[178]80
45 [153]" CMDCMD";:[151]UC,0
50 [161]UI$:[139]UI$[178]""[167]50
55 [139]UI$[178][199](13)[175][195](UR$)[177][178]1[167][151]UC,1:[153]" CMD";:[137]85
60 [139]UI$[178][199](20)[167]105
62 [139] [195](UR$)[178][177]UL[167]50
65 [141]120:[143] CHECK FOR VALID CHARACTER
70 UR$[178]UR$[170]UI$
75 [153]UI$;
80 [137]50
85 [143] +++ CHECK FOR HELP REQUEST +++
90 [139]UR$[178]UX$[167]195:[143] EXIT TO HELP ROUTINE
95 [139]UF[178]1[167][141]240
100 UF[178]0:[153]:[142]
102 [143] ++ CHECK DELETE ++
105 [139][195](UR$)[179]1[167]50
110 UR$[178][200](UR$,[195](UR$)[171]1)
115 [153]"CMD CMDCMD";:[137]50
120 [143] ++ CHECK FOR VALID CHARACTERS ++
125 [139][195](US$)[178]0[167]150
130 [129]US[178]1[164][195](US$)
135 [139]UI$[178][202](US$,US,1)[167][142]
140 [130]
145 UI$[178]"":[142]
150 [143] ** STANDARD INPUT **
152 [139][198](UI$)[178]46[167][142]
155 [139]UI$[178][199](32)[167][142]
160 [139][198](UI$)[179]48[176][198](UI$)[177]57[167]170
165 [142]
170 [139][198](UI$)[179]65[176][198](UI$)[177]90[167]180
175 [142]
180 [139][198](UI$)[179]193[176][198](UI$)[177]218[167]UI$[178]"":[142]
185 [139][194](UT)[178]UU%[167]UI$[178][199]([198](UI$)[171]128):[142]
187 [142]
190 UI$[178]"":[142]
195 UF[178]1:[143] +++ HELP ROUTINE EXIT +++
197 [141]250
200 [141]244
205 [129]UQ[178]UB[164](U2%[172]256[170]U1%[170]U3%[171]2)
210 UQ%(UQ[171]UB)[178][194](UQ):[130]:[153]"LOAD"
215 UZ[178]1:UV%[178][194](UT)
216 [137]300
217 UZ[178]0:US$[178]UJ$:UG$[178]UK$:UP[178]UJ:UL[178]UK
218 [139][194](50003)[178]0[167][151]53281,1:[153]"LOAD";:[151]53281,6:[151]53280,14:[137]220
219 [153]"LOAD";
220 UT$[178]UL$:[151]UT,UV%:[129]UQ[178]UB[164](U2%[172]256[170]U1%[170]U3%[171]3)
225 [151]UQ,UQ%(UQ[171]UB):[130]
230 [151]U1,U1%
232 [151]U2,U2%
233 [151]U4,U4%
234 [151]U3,U3%[171]1
236 [137]9000
240 UD%[178]((U2%[172]256[170]U1%[170]U3%)[171]UB)[173]40:[153][200](UD$,UD%[170]1):[142]
244 [153][200](UD$,23);" "
245 [153][200](UD$,24);" HELP COMING WAIT ":[142]
250 U1%[178][194](U1):U2%[178][194](U2):U3%[178][194](U3):U4%[178][194](U4)
251 UJ$[178]US$:UK$[178]UG$:UL$[178]UT$:UJ[178]UP:UK[178]UL
255 [142]
300 [143] ** MENU **
301 :
302 [153]"LOAD":[151]UT,UU%:[139][194](50003)[178]0[167][151]53281,9:[151]53280,8
303 :
305 [153]" MENU"
310 [153]" --------------------------------------"
315 [153]" 1. BEGIN BIORHYTHMS "
320 [153]" 2. STUDENT INSTRUCTIONS"
325 [153]" 3. TEACHER INSTRUCTIONS"
335 [153]" 4. QUIT"
340 [153]" --------------------------------------"
345 [153]" PRESS A NUMBER KEY (1-4) ";
350 UL[178]1:US$[178]"1234":[141]35:[143] INPUT ROUTINE
352 US$[178]""
355 [145][197](UR$)[141]1000,400,500,396
360 [137]300
395 [143] ** RE-ENABLE STOP KEY AND END **
396 [139][194](50003)[179][177]1[175][194](50003)[179][177]160[175][194](50003)[179][177]0[167]399
397 [158]UU[170]71:[139][194](50003)[178]0[167][151]53281,6:[151]53280,14
398 [153]"CONTLOAD":[128]
399 [141]875:[142]
400 [143] ** STUDENT INSTRUCTIONS **
405 [153]"LOAD":[151]UT,UL%:[139][194](50003)[178]0[167][151]53281,0:[151]53280,0
410 UP[178]0:UG$[178]"(null)TUDENT RIGHT$NST"
420 [141] 2410
490 [139]UZ[178]1[167][158]UP%:[137]217
499 [142]
500 [143] ** TEACHER INSTRUCTIONS **
501 [153]"LOAD":[151]UT,UL%:[139][194](50003)[178]0[167][151]53281,2:[151]53280,10
502 UP[178]0:UG$[178]"(null)EACHER RIGHT$NST":[141]850
503 [153]" (null)O THE BEST OF OUR KNOWLEDGE,"
504 [153]" THIS PROGRAM IS IN THE PUBLIC"
505 [153]" DOMAIN. RIGHT$F THIS IS NOT THE CASE"
506 [153]" PLEASE CONTACT:"
507 [153]" LENOMMODORE PEEKUSINESS (null)ACHINES"
508 [153]" 3370 (null)HARMACY ATNVE.
509 PRINT" [193]GINCOURT, [207]NTARIO"
510 PRINT" [195]ANADA [205]1[215] 2[203]4"
511 PRINT" (416) 499-4292"
512 UP=1:GOSUB 835:GOSUB 850:
513 PRINT" [208]ROGRAM [206]AME: [194]IORHYTHMS
514 [153]" (null)RITTEN PEEKY : (null)HIL ASCELDMAN";[166]28);"& (null)OM (null)UGG
515 PRINT" [213]PGRADED [194]Y : [208]AUL [193]GOSTA
516 [153]" (null)HIS PROGRAM WILL RUN ON ANY
519 PRINT" [208][197][212] 64 [195][207][205][208][213][212][197][210]
520 [153]" LEN(null)(null)(null)(null)STR$(null)(null)VAL 64 LEN(null)(null)(null)(null)(null)VAL(null)
521 GOSUB835
530 REM GOSUB TO PRINTER SECTION GOES HERE (GOSUB 655)
535 REM PRINTER SECTION DOESN'T WORK
590 IFUZ=1THENSYSUP%:GOTO217
599 RETURN
600 REM ** PROGRAM MODIFICATION INST **
601 PRINT"[147]":POKEUT,UL%
605 UP=0:UG$="[208]ROGRAM [205]OD":GOSUB850
655 POKE59468,14:PRINT"[147] [196]O YOU WISH IT PRINTED (Y/N) ?";
660 US$="YN":UL=1:GOSUB 35:YP$=UR$
665 IFYP$="Y"THENPRINT:PRINT:PRINT"[215]HAT IS YOUR NAME ? ";
670 IFYP$="Y"THENUS$="ABCDEFGHIJKLMNOPQRSTUVWXYZ.: ":UL=40:GOSUB35:NAME$=UR$
675 GOSUB835
690 IFUZ=1THENSYSUP%:GOTO217
699 RETURN
700 REM ** TO USE 8032 LOAD CBM4032 **
710 PRINT"[147]BEFORE RUNNING THIS PROGRAM ON AN 8032
720 [153]" LOAD THE 'CBM 4032' PROGRAM"
730 [158]UU[170]71
740 [128]
800 [143] ** T I T L E P A G E **
802 [153]"LOAD";:[151]UT,UU%:[139][194](50003)[178]0[167][151]53280,14:[151]53281,6
804 [129]I[178]1[164]38:[153]"SPC(WAIT";:[130]
806 [129]I[178]1[164]22:[153]"CMDSPC(WAIT";:[130]
808 [129]I[178]1[164]37:[153]"CMDCMDSPC(WAIT";:[130]
810 [129]I[178]1[164]22:[153]"ONCMDSPC(WAIT";:[130]
812 [153]"STEP WAIT
814 PRINT" [146] [146][169]
816 [153]" WAIT TAB((null)
818 PRINT"[223] [146]
820 [153]"C O M M O D O R E
822 PRINT"EDUCATIONAL
824 [153]"SOFTWARE
826 REM ** COMMODORE LOGO **
827 PRINTLEFT$(UD$,24);"PRESS SPACE BAR OR WAIT[146]":I=0
828 GETA$:IFA$<>" "THENI=I+1:IFI<250THEN828
830 T1$="":T2$="":T3$="":T4$="":I=0
832 GOTO300
835 REM ** SPACE BAR PRESS **
840 POKE UO,0:PRINTLEFT$(UD$,24);"PRESS SPACE BAR TO CONTINUE[146]"
844 GETUI$:IFUI$<>" "THEN844
846 RETURN
850 REM ** PAGE DESIGN ROUTINE **
852 UP=UP+1
855 PRINT"[147]"LEFT$(UT$+UP$,21);RIGHT$(UP$+UG$+STR$(UP),18)
860 PRINT" --------------------------------------"
864 IFUH<>0THEN870
865 PRINTLEFT$(UD$,24);LEFT$(UP$,7);"HELP - PRESS H <RETURN>"
870 UH=0:PRINT"":RETURN
875 REM ** PLEASE WAIT REMARK **
880 PRINTLEFT$(UD$,24);" ONE MOMENT PLEASE... "
885 RETURN
900 REM ** SET UP VARIABLES **
901 UX$="H":DIMUQ%(1000):UB=32768:U1=196:U2=197:U3=198:U4=216:UC=167:UU=1024
902 UT=59468:UU%=12:UL%=14:UP%=1146:UM=32768:UO=158:POKE 50003,0
903 IFPEEK(50003)=0THENUB=1024:U1=209:U2=210:U3=211:U4=214:UC=204:UU=2048
904 IFPEEK(50003)=0THENUT=53272:UU%=21:UL%=23:UP%=2139:UM=1024:UO=198
905 UD$=""
906 UP$=" "
907 UT$=" [194][201][207][210][200][217][212][200][205][211] [160][160][160][160][160][160]":REM PLACE PROGRAM TITLE HERE !!!!!!!!!!!!!!!!!***
908 RETURN
910 REM ** SET VARIABLES **
915 GOSUB900
916 DIM QU$(250),AN$(250)
920 REM ** CHECK FOR 8032 **
925 PRINT"[147]":PRINT"[160]":REM SHIFTED SPACE
930 IFPEEK(UB+40)<>96THENGOSUB700
931 REM ** MEMORY CHECK **
932 IF FRE(0)>2000THEN937
933 PRINT"[147]THIS MACHINE DOES NOT HAVE ENOUGH"
934 PRINT"MEMORY TO RUN THIS PROGRAM !"
935 SYSUU+71
936 END
937 PRINT"[147]":IFPEEK(50003)=0THEN962
940 REM ** BASIC 2.0 OR 4.0 OR C-64 SETUP **
941 POKE1075,133:POKE1076,144:POKE1077,234:POKE1079,4:POKE1080,133:POKE1081,145
942 POKE1091,155:POKE1098,133:POKE1099,144:POKE1100,234:POKE1103,133
943 POKE1104,145:POKE1105,234:POKE1082,234
945 IFPEEK(50003)<>160THEN955
950 POKE1093,88:POKE1094,228:POKE1097,85:POKE1102,228:GOTO965
955 IFPEEK(50003)<>1THEN990
960 POKE1093,49:POKE1094,230:POKE1097,46:POKE1102,230:GOTO965
962 POKE2099,141:POKE2100,20:POKE2101,3:POKE2103,8:POKE2104,141:POKE2105,21
963 POKE2106,3:POKE2115,145:POKE2117,52:POKE2118,234:POKE2121,49:POKE2122,141
964 POKE2123,20:POKE2124,3:POKE2126,234:POKE2127,141:POKE2128,21:POKE2129,3
965 SYSUU+48:REM DISABLE STOP KEY
970 GOSUB800:REM TITLE
980 GOTO300:REM MENU
990 PRINT"[147]THE PGM WILL NOT WORK ON THIS MACHINE!":END
1000 IFUZ=1THENSYSUP%:SYSUP%:UZ=0:REM ** PROGRAM STARTS HERE **
1001 PRINT"[147]";:RESTORE:IFPEEK(50003)=0THENPOKE53281,6:POKE53280,14
1002 IF PEEK(50003)=0THEN POKE 53280,6:POKE 53281,6
1100 POKE59468,12
1110 REM SEE INSTRUCTIONS PAGE FOR CREDITS
1130 AA$="[145] [145]"
1140 DD=18:L=0:Z=.9999:T=15:P=3.14159265
1150 IFFLAG=1THENPRINT"[147]":GOTO1230
1160 POKE59468,12:PRINT"[147]";TAB(12);" BIORHYTHMS "
1170 FLAG=0:REM PRINT" ARE YOU USING A PRINTER (Y/N)";
1180 IFYP$=""THENYP$="N":
1185 IFYP$="N"THEN1230
1190 IFYP$<>"Y"THEN1200
1200 FLAG=1:PRINT:PRINT"[145] IS THERE PAPER IN IT [157][157][157][157][157]";
1210 GOSUB1880:IFY$="Y"THEN1230
1220 IFY$<>"N"THEN1210
1230 GOSUB2320:PRINT" ENTER YOUR BIRTH DATE "
1240 GOSUB1540
1250 GOSUB1760
1260 JB=JD:GOSUB2130:D$=C$
1270 GOSUB8000:PRINT" ENTER DATE OF INTEREST "
1280 GOSUB1540
1290 GOSUB1760
1300 JC=JD
1310 IFJC>=JBTHEN1340
1320 M$="YOU WERE NOT BORN AS OF"+STR$(M)+"/"+STR$(D)+"/"+STR$(Y):TT=2:GOSUB2370
1330 PRINT"":GOTO1230
1340 IFFLAG<>1THEN1380
1350 PRINT:PRINT"HOW MANY DAYS SHOULD THE CHART RUN ";:GOSUB1660:DD=MD
1360 OPEN4,4:CMD4:PRINTCHR$(147)
1370 REM IFFF=-1THENGOSUB2490:PRINTCHR$(147)
1380 GOSUB1840
1390 N=JC-JB
1400 V=23:GOSUB1930:GOSUB1950
1410 V=28:GOSUB1930:GOSUB1950
1420 V=33:GOSUB1930:GOSUB1950
1430 GOSUB2130
1440 PRINTC$;TAB(8);L$
1450 JC=JC+1:L=L+1:IFL<DDTHEN1390
1455 IFFLAG=1THENPRINT:PRINT:PRINT:PRINT"THIS HAS BEEN A BIORHYTHM CHART"
1456 IFFLAG=1THENPRINT"FOR ";NAME$
1457 REM IFFLAG=1THENPRINTTAB(75);"KK"
1460 IFFLAG=1THENPRINT#4:CLOSE4:YP$="N":FLAG=2:GOTO300
1470 PRINT"PRESS 'H' FOR HELP "
1471 M1=1
1472 PRINT" 'C' TO CONTINUE ";:US$="HC":UL=1:GOSUB35:Y$=UR$
1475 M1=0
1480 IFY$="C"THEN1530
1485 GOTO195
1490 PRINT:PRINTAA$:PRINT"DO YOU WANT TO LOOK AT ANOTHER CHART ";
1500 GOSUB1880:IFY$="Y"THEN1140
1510 IFY$<>"N"THEN1500
1520 PRINT:PRINTAA$:PRINTTAB(17);"SO LONG !! [145][145]":SYS1093:GOTO300
1530 L=0:GOTO1340
1540 TT=11
1545 PRINT "":GOSUB 8000:A1=0
1550 PRINT"[145] MONTH (1 TO 12) [157][157][157][157][157][157][157][157]";:GOSUB1660:M=A1
1560 IFM<1ORM>12THENM$=" NO SUCH MONTH":GOSUB2370:PRINT"[145][145][145]": GOTO1550
1570 PRINT:PRINT"[145] DAY (1 TO 31) [157][157][157][157]";
1580 :GOSUB1660:D=A1
1590 IFD<1ORD>31THENM$=" NO SUCH DAY":GOSUB2370:PRINT"[145][145][145][145]":GOTO1570
1600 PRINT:PRINT"[145] YEAR ";
1620 A1=-1:GOSUB1660:Y=A1:PRINT" "
1630 IFY>99THEN1650
1640 Y=Y+1900:M$=STR$(Y)+", I ASSUME.":GOSUB2370
1650 RETURN
1660 US$="0123456789"
1670 UL=2 :IF A1<0 THEN UL=4
1680 GOSUB35
1690 A1=VAL(UR$)
1700 RETURN
1710 IFY$<"0"ORY$>"9"THEN1670
1720 PRINTY$;:Y$(J)=Y$
1730 J=J+1:BB=BB+1:GOTO1670
1740 B$="":FORK=1TO(J-1)
1750 B$=B$+Y$(K):NEXT:MD=VAL(B$):BB=0:RETURN
1760 W=INT((M-14)/12+Z)
1770 JD=INT(1461*(Y+4800+W)/4)
1780 B=367*(M-2-W*12)/12
1790 IFB<0THENB=B+Z
1800 B=INT(B):JD=JD+B
1810 B=INT(INT(3*(Y+4900+W)/100)/4)
1820 JD=JD+D-32075-B
1830 RETURN
1840 PRINT"[147][145]BIORHYTHM CHART FOR BIRTH DATE ";D$
1850 PRINT"--DATE--";SPC(3);"DOWN";SPC(8);"0";SPC(8);"UP"
1860 PRINTTAB(8);U$
1870 RETURN
1880 REM INPUT CHARACTER
1890 PRINT"?[157]";:FORK=1TO20:NEXT
1900 PRINT"[146]?[157]";:FORK=1TO20:NEXT
1910 GETY$:IFY$=""THEN1890
1920 RETURN
1930 W=INT(N/V):R=N-W*V
1940 RETURN
1950 IFV<>23THEN2010
1960 L$=CHR$(32):FORJ=1TO4
1970 L$=L$+L$:NEXT
1980 L$=L$+LEFT$(L$,15)
1990 L$=LEFT$(L$,T)+CHR$(194)+RIGHT$(L$,T)
2000 IFV=23THENC$="P"
2010 IFV=28THENC$="E"
2020 IFV=33THENC$="I"
2030 W=R/V:W=W*2*P
2040 W=T*SIN(W):W=W+T+1.5
2050 W=INT(W):A$=MID$(L$,W,1)
2060 IFA$="P"ORA$="E"ORA$="*"THENC$="*"
2070 IFW=1THEN2110
2080 IFW=31THEN2120
2090 L$=LEFT$(L$,W-1)+C$+RIGHT$(L$,31-W)
2100 RETURN
2110 L$=C$+RIGHT$(L$,30):RETURN
2120 L$=LEFT$(L$,30)+C$:RETURN
2130 IFJB=JDTHENW=JB+68569:R=INT(4*W/146097):GOTO2150
2140 W=JC+68569:R=INT(4*W/146097)
2150 W=W-INT((146097*R+3)/4)
2160 Y=INT(4000*(W+1)/1461001)
2170 W=W-INT(1461*Y/4)+31
2180 M=INT(80*W/2447)
2190 D=W-INT(2447*M/80)
2200 W=INT(M/11):M=M+2-12*W
2210 Y=100*(R-49)+Y+W
2220 A$=STR$(M):W=LEN(A$)-1
2230 C$=MID$(A$,2,W)+"/"
2240 A$=STR$(D):W=LEN(A$)-1
2250 C$=C$+MID$(A$,2,W)+"/"
2260 A$=STR$(Y):W=LEN(A$)-1
2270 C$=C$+MID$(A$,W,2)
2280 IFFLAG<>1THEN2310
2290 IFLEN(C$)=6THENC$=" "+C$
2300 IFLEN(C$)=7THENC$=" "+C$
2310 RETURN
2320 U$=CHR$(210):FORJ=1TO4
2330 U$=U$+U$:NEXT
2340 U$=U$+LEFT$(U$,15)
2350 IFFLAG=1THENU$=U$+LEFT$(U$,13)
2360 RETURN
2370 PRINT:PRINT"";TAB(TT);M$
2380 FORJ=1TO1000:NEXT
2390 PRINTAA$
2400 RETURN
2410 REM INSTRUCTION SUBROUTINE
2420 REM
2490 GOSUB 850
2500 PRINT" [212]HE BIORHYTHM THEORY STATES THAT ALL
2510 [153]" OF US HAVE CYCLES, BEGINNING WITH THE
2520 PRINT" MOMENT OF BIRTH, THAT INFLUENCE OUR "
2530 PRINT" PHYSICAL, EMOTIONAL, AND INTELLECTUAL
2540 [153]" STATES.
2545 GOSUB835:GOSUB850
2550 PRINT" [208]HYSICAL [195]YCLE[146]: [201]S 23 DAYS LONG. [198]OR
2560 [153]" THE FIRST 11 1/2 DAYS YOU ARE IN THE
2570 PRINT" POSITIVE SIDE OF THE CYCLE. [212]HIS MEANS
2580 [153]" YOU SHOULD HAVE A FEELING OF WELL-BEING
2590 PRINT" STRENGTH, AND ENDURANCE. [195]ONVERSELY,
2600 [153]" DURING THE 'DOWN' SIDE, YOU HAVE LESS
2610 PRINT" STRENGTH AND VIGOR.
2615 [141]835:[141] 850
2620 [153]" VALMOTIONALCLOSELENYCLEWAIT: (null)ASTS 28 DAYS. STR$URING
2630 PRINT" THE POSITIVE HALF, YOU SHOULD FEEL MORE
2640 [153]" CHEERFUL AND COOPERATIVE. STR$URING THE
2650 PRINT" NEGATIVE, YOU TEND TO BE MORE MOODY
2660 [153]" IRRITABLE, AND PESSIMISTIC.
2680 GOSUB835:GOSUB 850
2700 PRINT" [201]NTELLECTUAL [195]YCLE[146] [204]ASTS FOR 33 DAYS."
2710 PRINT" [212]HE FIRST HALF IS A PERIOD IN WHICH YOU
2720 [153]" SHOULD HAVE GREATER SUCCESS
2730 PRINT" LEARNING NEW MATERIAL AND PURSUING
2740 [153]" CREATIVE ACTIVITIES. STR$URING THE LAST"
2750 [153]" HALF, YOU ARE SUPPOSEDLY BETTER OFF
2760 PRINT" REVIEWING OLD MATERIAL.
2765 [141]835:[141] 850
2770 [153]" ATNNY DAY WHICH THE CYCLE CROSSES FROM
2780 PRINT" ONE SIDE TO THE OTHER IS SAID TO BE
2790 [153]" A 'CRITICAL DAY.' (null)HE THEORY IS THAT
2800 PRINT" YOU ARE MORE ACCIDENT-PRONE ON CRITICAL
2810 [153]" PHYSICAL AND EMOTIONAL DAYS (CRITICAL
2820 PRINT" INTELLECTUAL DAYS ARE NOT CONSIDERED
2830 [153]" DANGEROUS UNLESS THEY COINCIDE WITH A
2840 PRINT" CRITICAL DAY IN ANOTHER CYCLE.) [207]N A
2850 [153]" TRIPLE CRITICAL DAY (A RARITY), YOU
2860 PRINT" PROBABLY SHOULDN'T EVEN GET OUT OF BED!"
2880 GOSUB835:RETURN
8000 PRINT " "
8010 PRINT " "
8020 FOR A1=1 TO 8
8030 PRINT " "
8040 NEXT A1
8050 PRINT "
8060 [142]
9000 [139] M1[178]0 [167] [141] 35
9010 [153] [200](UD$,22)
9020 [158]UP%
9030 [137] 1470