Can anyone send me the source code for the Biorhythms.prg (not Biorhythms compatibility)..
I have the .prg im looking for the source.
I would like to look at it in a format i can read on a PC.
Thanks so much!
Galger
(I got my start in the software engineering field when I got my Vic20 in 1980 or 81 when I was 10 or 11. I had a long career and am now retired, I loved the Biorhythms program that came with the Vic20 my parents bought for me. Now i have some time on my hands I would like to take a detailed look at it, with any luck it was written in Basic. Thanks again.. If there is an emulator link out there that runs Biorhythms I would also like to experience it again.. Thanks so much!)
Looking for the source code for Biorhythms.prg
Moderator: Moderators
-
- Vic 20 Newbie
- Posts: 2
- Joined: Mon Jun 27, 2022 4:20 pm
- Location: New York
- chysn
- Vic 20 Scientist
- Posts: 1204
- Joined: Tue Oct 22, 2019 12:36 pm
- Website: http://www.beigemaze.com
- Location: Michigan, USA
- Occupation: Software Dev Manager
Re: Looking for the source code for Biorhythms.prg
Are you talking about the one that came with the 6-pack of tapes? That's the first thing my family bought when we got our VIC-20. It had Blue Meanies from Outer Space and Slither, along with other classics.
If that's what you're looking for, it's here: http://www.zimmers.net/anonftp/pub/cbm/ ... hythms.prg
Unfortunately, it hasn't been updated for Y2K!
Edit: Re-read & noticed that you need the source and not the PRG. I just ran this through VICE's petcat...
If that's what you're looking for, it's here: http://www.zimmers.net/anonftp/pub/cbm/ ... hythms.prg
Unfortunately, it hasn't been updated for Y2K!

Edit: Re-read & noticed that you need the source and not the PRG. I just ran this through VICE's petcat...
Code: Select all
1 dima(12),x(3),j(3),cd(3,2),r(3),s%(3):fori=1to12:reada(i):next:deffny(i)=28-(i/4=int(i/4))
2 v=36879:p(1)=16:p(2)=5:p(3)=9:m$="janfebmaraprmayjunjulaugsepoctnovdec":w$="mtwtfss"
3 s(1)=v-5:s(2)=v-4:sp$=" ":f$="{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}"
4 i=(peek(v-13)and128)*4:sb=i+64*(peek(v-10)and120):cb=i+37888-sb
5 deffns(i)=8*sin((t/i-int(t/i))*2*~):deffnp(i)=sb+439-int(i+11.5)*22+int((q+1)/2)
6 s(3)=v-3:pokev,27:print"{clr}{down}{down}{down}{blk}{rvon}{rght}{rght}{rght}"left$(sp$,16):print"{rvon}{rght}{rght}{rght} vic biorhythms "
7 print"{rvon}{rght}{rght}{rght}"left$(sp$,16):print"{red}{down}{down} by andy finkel
8 printtab(7)"{blu}{down}{down}{down}(c) 1981{sret} commodore business{sret} machines, inc.
9 fori=0to21:j=i+(i>7)*8+(i>15)*8:pokesb+cb+i,j:pokesb+505+cb-i,j:pokesb+i,160:pokesb+505-i,160:next
10 printf$"{up}{up}{grn}{rght}{rght}{rght}{rght}instructions ?";:gosub59:ifi$="n"then15
11 print"{clr}{blu}{down}{down}enter dates like this:{down}{down}{red}month/day/year
12 print"{down}{down}{red}(8/13/57{blu}=aug 13,1957){sret}{down}{down}{down}{pur}use slashes":gosub58:print"{clr}{down}{swlc}COMMANDS
13 print"{red}{down}{down}f1{blu} New chart{sret}{down}{red}f7{blu} Plot next 20 days
14 print"{down}{red}C{blu} Critical days{sret}{down}{red}Q{blu} Quit{sret}{down}{red}R{blu} Compare":gosub58
15 pokev,27:print"{swuc}{clr}{down}{blu}plot from{sret}(mo/da/yr){left}{up}";:gosub54:ifi1=0then15
16 m1=i1:d1=i2:y1=i3:d0=d1:fori=1tom1-1:d0=d0+a(i):next
17 d3=y1*365+d0:fori=1toy1-1:d3=d3-(i/4=int(i/4)):next
18 print"{home}{down}{down}{down}{down}{down}{blu}birthday";:gosub54:ifi1=0then18
19 m=i1:fori=1tom-1:i2=i2+a(i):next:gosub50:d=i2:y=i3
20 print"{down}compare?":gosub59:r=0:t3=0:ifi$="n"then23
21 r=1:printleft$(f$,10)"birthday 2";:gosub54:ifi1=0then21
22 fori=1toi1-1:i2=i2+a(i):next:t3=t:gosub50:gosub53
23 ift<0ort3<0thenprint"{rvon}plot starts before{sret}{rvon}birthday":gosub58:goto15
24 print"{clr}{down}{down}{red}on "mid$(m$,3*m1-2,3)d1","y1+1900:print"{down}you will have lived{sret}{left}{down}"t"days
25 gosub58:pokev,8:print"{clr}{cyn}"left$(f$,9):fori=1to20:print"-";:nexti:printleft$(f$,19)"{rvon}"sp$:t2=m1
26 printleft$(f$,19)"{rvon}"mid$(m$,3*m1-2,3)y1+1900"{rvof}";:printleft$(f$,20);
27 fori=1to3:j(i)=0:r(i)=0:forj=0to2:cd(i,j)=0:nextj,i:forq=1to40:ifq/2=int(q/2)then31
28 e=d3-1:e=int(7*(e/7-int(e/7))+.5)+1:e$=mid$(str$(d1),2)
29 print"{wht}{rvon}"mid$(w$,e,1)"{rvof}{down}{left}"left$(e$,1)"{down}";:iflen(e$)>1thenprint"{left}"right$(e$,1);
30 print"{up}{up}";
31 pokev-1,9:fori=1to3:x=fns(18+i*5):gosub53:r(i)=r(i)-(sgn(x)=sgn(fns(18+i*5)))*2.5:gosub53
32 ifx<.6andx>-.6thencd(i,j(i))=m1*100+d1:j(i)=j(i)+1
33 z=peek(fnp(x)):ifz=32orz=45orz=p(i)thenpokefnp(x),p(i):pokefnp(x)+30720,i+3:goto35
34 pokefnp(x),42
35 pokes(i),2*x+200:forj=0to9:next:pokes(i),0:nexti:d3=d3+.5:t=t+.5:t3=t3+.5:d1=d1+.5
36 ifd1>=a(m1)+1thend1=1:m1=m1+1:ifm1>12thenm1=1:y1=y1+1
37 nextq:poke198,0:ift2<>m1andd1<>1thenprintleft$(f$,19)"{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{cyn}{rvon}"mid$(m$,3*m1-2,3)y1+1900"{rvof}"
38 printf$"{grn}hit f1,f7,c,q";:ifr=1thenprint",r";
39 gosub59:i=asc(i$):ifi=133then15
40 ifi=81thenprint"{clr}":pokev,27:end
41 ifi<>82orr=0then43
42 print"{clr}{wht}compatability{sret}{down}phy: "r(1)"%{sret}emot:"r(2)"%{sret}int: "r(3)"%":goto38
43 ifi=136then24
44 ifi<>67then38
45 print"{clr}{red}{rvon}critical days{sret}{down}{down}{rvon}p{rvof}hys.{rght}{rght}{rvon}e{rvof}mot.{rght}{rght}{rvon}i{rvof}nt.
46 fori=1to3:forj=0to2:ifcd(i,j)=0then49
47 k2=int(cd(i,j)/100):k1=cd(i,j)-k2*100:k2=k2-1
48 printleft$(f$,6+2*j)tab((i-1)*7)mid$(b$,k2*3+1,3)str$(int(k1))
49 nextj,i:goto38
50 t=0:ify1=i3then52
51 fori=i3+1toy1-1:t=t-(i/4=int(i/4)):next:t=t-(i3/4=int(i3/4)andi2>58)
52 t=t+(y1-i3-1-(d0>=i2))*365-(d0>=i2)*(d0-i2)-(d0<i2)*(365-i2+d0):return
53 k2=t:t=t3:t3=k2:return
54 i=4:inputi$:i1=val(left$(i$,2)):ifmid$(i$,2,1)>"9"ormid$(i$,2,1)<"0"theni=3
55 i2=val(mid$(i$,i,2)):i3=val(right$(i$,2)):a(2)=fny(i3):ifi1>12ori1<1then57
56 ifi2>0andi2<=a(i1)thenreturn
57 print"{rvon}improper date":gosub58:print"{clr}":i1=0:return
58 printf$"{up}{red} hit a key"
59 geti$:ifi$=""then59
60 return
61 data31,28,31,30,31,30,31,31,30,31,30,31
VIC-20 Projects: wAx Assembler, TRBo: Turtle RescueBot, Helix Colony, Sub Med, Trolley Problem, Dungeon of Dance, ZEPTOPOLIS, MIDI KERNAL, The Archivist, Ed for Prophet-5
WIP: MIDIcast BASIC extension
he/him/his
WIP: MIDIcast BASIC extension
he/him/his
-
- Vic 20 Newbie
- Posts: 2
- Joined: Mon Jun 27, 2022 4:20 pm
- Location: New York
Re: Looking for the source code for Biorhythms.prg
Thanks so much, really appreciate it !
Wow I can't believe (even with the : separators) that it is only 61 lines of code.
Thanks again !
Wow I can't believe (even with the : separators) that it is only 61 lines of code.
Thanks again !
- highinfidelity
- Vic 20 Nerd
- Posts: 582
- Joined: Thu Jul 28, 2011 2:34 am
- Website: http://www.hirtel.it
- Location: Torino, Italy.
Re: Looking for the source code for Biorhythms.prg
Heh, biorhythms!
They're also a fundamental part of the '80s living experience!
I remember that on TV guides there were even companies advertising pocket biorhythms calculators... I can hardly think what could happen to your life, shouldn't you always be able to instantly check your biorhyhtms with your biorhythms pocket calculator! 



GOD is REAL. Unless declared DOUBLE PRECISION.