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.
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