'=========================================================================== ' Subject: FM CHIP LIBRARY FUNCTIONS Date: 10-21-97 (10:51) ' Author: Davey W. Taylor Code: QB, QBasic, PDS ' Origin: audio.squad@mailbox.swipnet.se Packet: SOUND.ABC '=========================================================================== DEFINT A-Z:DIM SHARED K,S,B&,Z&:V1 'Created by PostIt! 7.2 SUB V1:OPEN "O",1,"FMLIB.ZIP",4^6:Z&=7258:?STRING$(50,177); U"%up()%9%%%[-%U'dfHZ%5[fB'7%%>7%%%1%%%%kf%syfxA(VS'7xrfz:rzLeI9b U"QonW-sI)dQtZ>^J+V,Irx\sttr U"NF^?Vb&&Y?RmNr%MZfnztpZVv12uPO]&75ZR/]YSFJfF4=(mSiXH]Bz/:OQq;lpes43HmeC=q.(b0Aj)n),vQq[eHdnW0;a;bSMr*6oO5b U"er%L[92X(Bj1E>N&y3udFixbsVFY?_lU9A;B*j_:t$74k\K,s/Z4/Fg9Hoh?dvs U"tCYC%MnX=d6afDhB1NJBw6dWXbJjWbiKh&/D*M1co%+%BUBD%f_GD/*7wl;.zLJ U"[H:uE'*[u9DEiT2N$eF<6DBA,67W?GQZjrdSApmg6aIb-QkEf*NSno9 U"ep1CaI/phV3dB_Gu%&up(%)9%%#%-%_]&fHf;8$Z)%&%%%%'%%.%%%%j.fx(V(S U"'xr*>[bp#)V5U&.ji3+vO8#R66;HkJDH0M/6_S%52pg^]Ef)-,Iwp;JCkFDg=73+OP_bkVGU\,1q2Ns.6rrF6TerI[SJSisqEL U")K0R=kG)GLu8.%up()%9%%%[-%z&#fH>o,IWM&7%%-'%%%0%%%%oz%slqj.VS'x U"jr^^8+o.h[+e'\M&+4EcCp>)2VN3MLASE?aTtcnwI\=G9>yM,IG9cs*>nsWUaZKTA[*QIM>8JwST.BHt=Y*M*dt:&9yV9IbRRT)P%+<# U";$5mF8?NQUaUPUW#sZU15-W.9J_1un+M[/34(DVomtCuOf80MPovRMRg\V9KW84 U"S+/gaA2GPlsB8vuV1HsES#1mMocTtD'LTlthPl]8HSgDKW8NeP+bu0Gf5fmK.*N2I U"*$klHs9F-O(Yb7S,tah-+K(%F,X-+nFFAb3QqbrCQ]%zT'a]>rL'Qc95KEEwJ). U"9[\Z-r\bKo2GT?=43JcWZ:2>SEzG]qR]BbB6(&z9n86K<4w?/-)rSIb#Ku\8jWJ U"T5B1TP&Y[M#m>r$/[[?$agwq=#wAuSuQjA/)z<<*]BMd1NPRDn]L%Y+8G^#\#cO U"QWq?EgL5umy;Yy+O>LSX,&J[AGK0g,6GV5[j'[.K#212az\mgP?,N<4u%p()9.% U"%O-4%fSo1HY\S);z0%%%eG%%%0%%(%'xr%wjfi%SgfxSl>TEoSmkVc$qDC#qU52 U"n_)?Q<2k>g:=<12Ja\hL^xo2SJOis5t;$0oj,o08G1xI>ZTNVa;iZ*XCaOy,Wpy U"'yn=/xtuhwHrl2qQlAn%d^8^/x+%6X=eTc4# U"p1lt&_DXG[CJxqfs)4X3b U"r0$ihjUYnAB*=tv)7hN.JLu8ZcP-i*7diqzOIX/lHBtnphXkRN>RsbGbqhwZo;$)LVu$;W8-k[Lf6\eeTRHgey;==B*i3BAHBSkce0=kfra]a6))e-WKbYpu?A U"SNBtb,1,1Z6vcy)RR,ePP:V)2X>0;a=Q]f:Ro5*6*8P[;R,a#qN:]KhULfc:PR$&lFE.uIY](VRdT U"FktZj&.)8ft(C&Y(2Ev]Y_Y.s)UYYM$-zthHhOR,QDIU#f4cl'\[LVNgCgGBJym U"83vo3WV6==[5L?K1NV U";kxFewnM\1fb(TPOZ9.?;GDA1^e'1BTBG?RWu#5.m976iE%K0;S#d1E[)gnmAkR U"^gQXW8(LYYmh'EUUQe>]N,qOy U"o(a?DM+U#rA1Ujm'/6q:cZW0aUCk/Y6l(DU)*_R90,$Mx3M:+ZTa2Fe\:f>mV:h U"%q,C6N[T-WM[cK4B-nmb)9:C[gW)V$%0?;68EbP0IP&_P0B:y)L>RXo_L8lhfs) U"u5s9b\mB/&cZSprP18Yu0moj(v>]Au:$'VK,9%j7Frp(u])R[=;G6pdgIig4$A0 U"M*p3Aw-igM?\5Q[E.V5 U">A;TwrXeAqBDx:NeE2cbQE9J8-B/C,bUYiASQVacBJGE\'kU$^S&>_C-UF6/)9> U">e>%03hHCFOGW3]C*;((ED_$W=Zu=peo7yF>3NR=NK-$O&W4&Hs5v;81,nQDO( U"nfSQhB.:jagkJ+GrAtC8ZL'0q&mIFas04G.MZ=D:^N-r>j'$lR]l6;e[L.y+OjsEjCN]T4.Uo?+Ubz\up5,mVD0 U">]UInCnteyk)PO[ijiiaBQ[[7Dm3OONT> U"X(7vZQet[(O-v0jQH^qh^s3R=_gXW*BRhZC4w'JuJ;G$f;zS*-O>_de[k&7a>V] U"ZqZ/n=&$4ql2^R]DZouEDlL<(MIndZ59aK+VD1uA,6qk]Wk]Z1OSqT'[asD=HD6 U"smB#>1WXY U"Ya,3A9SZ^c:r]ED$Y+HlfBq#Qe_xb;yR,3CObk^=,fgKZ\lKda2U U"l]R$/Y&FBrG.mS.tqDB98v*AYrgl0ZmL/=pRXD_q)Yli:59+s4\/#C[CPS**\qI U"v'5CZF9hqa5s;c8tb/Bu7P[UmDjb=C:-]:N10j[aFC9Y+OiX6D-CI\#rx?jZY;4 U"OPq7$wcxAI/=A,A#R8yWOZi;_ssCCn\hamS7t?QNoGZig_o?7CfFh/QStEDv&B>(.9C7cMUHA U"7_IaoX/sU#E/w3X/q[WC:4K2nA.#+X1Ul1qifl[%slv?9CTitV5&Ju\a'yU) U"VIK,%+^6>/QIxw)K5cqD%4itJsDuDGA4kYn]M'n&EVZvtNN7&+=GBI&:PodKWaA U"sY^+r6G$rEQMDe-PhBV4dUDpRwG:+7z_3iW0gO8AYo(,W:etgl*V4DemN.J,#e2 U"4)\Ldo4ite\9Qt9.rV#joPV45kTkRC]wA].EG7>G#49dlhNCstTZ6-TsLDX9YOA U".XC4M2Bcf4b0W9e-/m.wQ5xgA[:Cn&iuODUrs14R[dP*n;]3(79bNjJ=J=&);-a U"A$#CyMt9wMwyrQ%AQFvA6Fbsu__Z2f+rVsI<#7mlnCs0(Tj7GlBw*qdtfiw0Qmc U"uSrGH9HN\')DNQ&DqWuYr0%0MvwfESkyTEUwq:mRpN::0#f^T;4ai4Dng*Zr%)u U"Al\9UN_*;6bK'D*T:r-TJ%w>iVjfTleZov4VnVp^87cv1wJ&zpw',Tv*s[HvtZ? U"?e>m.^FBf:x>Ue3U,;)iI+XOIeyhE:97Eqr4)3;Sh&1eEF0O.j+:-)gp>>9ew;1 U"_T.x;EcYS&47OwN#_ph[E_t'c&e=RQ\'*QSI9uEc])G,tsHzA-xba:gDNJkJ/.3-tqv-Tx5^hW5l^)b U"iLa6,d4wM5C67JUA9M\a99*dlFmlt=v(PxO%ppm?7O0>&+-eR7*Y/]2-YFR%*Y\ U"^;-<7/g,,5h<3+X>qdmtL1>UFS0i(/>;?4$IKR]G]:qw(Io#BkS0>FIj-Bx(u%p U"()9.%%O-4%rSo7H-e#&kq-%(%t;%%%.%%%%krq%ngSgIfxd'a4Nfm$_:5gMvr2; U"Lctn(8bibhuuZ8xgN7ss]Ta]r.ill\VkW80lKow1_VE0#DI'VnD+j+mUsUb[mj: U"nFk4^=K#pOQv=;YqW/,HsmG5tB_9L=?soXG*<('-oS0H[w(*))+HYDv[IgCSP0U+Sh_86uQHD^;U,lZI'>-g-'X U"KPhJG=e-;.'H$fx#4b)[%^Gf#PI?o=*Tg*39?KEc[$'j'j)l< U"PL8-mga<7yYMPH-dsu6Qd9M&&)Ro-5oar9N%Q*iPKrTwd,5O40%.cwYPX41;Ith U"UKhC?5tc=5$YH\Hyco=6u6G2+C$vmSHR:2F1Q5;*ZIl8)kgW/mS%ChNbtW]dsAi U"rUvA?i-.W6nS5[H7sb23Jq7DeM.Cyt$x;[NKH8OnaEp9fgI,57i)n4clLIv%_1w U"h55iH(q4.KvD>z]xO8tPa)j\7_48[aRPf#2:jq^dfugs>n;rP)u[RS(?:lANJHH U"^^J7(k&D.[tDdm6.Ww$9J[t=3PRgl#PG.cON',xd/SYko*npWl,P2oHC#F6eJ U"AXP9[z[H994qLtkk$K)='CSkBSTpp4$DRGSFfXWQ+9h&Tgl\K9Aq%RDn=G^l*Gk U"U\-rw\nUySSIRSXEKxgzM#M-Po'.sQWK=.Xt+/+HKuU)Z&9$,g#:UTu(?>Zz^z3 U"8hAS#M\Y5WNej'j9&8fqb-j:Lia<\*q1k\oeSQ6DvZ[7zoR8+W_%F+['UoaHLIG U".']Z][0ODoLstWJ;gz4O1Xop2E9.pYX1xG%/BZ:r0Tq7iJ968'nRQdXG([)lG;^qecI/NblA)Ta4RN U"*GC2Q'kEZ/9*?AfDd3Lz?)Ti\0*V^6Dm]QQU=cfY/fY\-^C/C_lo-K*nYRi:]<, U"qPq:VR)A+Dp9=$IgqBG> U"W),,vU=IxbOG[&p/Pdd/Yc4?LTvtvuu'VOxIULD2e/9k-.3]8/FLT+vVVq/a_wr U"dE'3ZO=gCYC37Lwtubs,Y8+n6dN]QB/MKW8wB=MIPI/_^ytC/P_V:'Do)'K3*_% U"t'b1WEQNp.U2Dtqk-'3AF1?X*:=b<+s$g.i\*#.8Yjd4L(Wf;lcG+_ts$_t8*qV U".<0D(Ul&'tpukJ=E:eIMRB])8oa[n)3Z^35[4gPv3IW3.]]Y/QV2obg?2V_+(l2 U"0+3gaZ]*T0rC*PD:2ppDEYI(HXn=/opkoQx]2=rjgQ2?GXnPj_#iVI8=s9LAxI'i,8 U"ra#aH[HjgC#L-^qUG=mVLuFIfnFYL)iugb/si0\<[DMFYv($ythU^OdKT;=8TpX U"ztHGrXmAMz(h^dOyTCITChQ'Wt=IYZDd\Y&BXUJbP7+POow*$R/yO)R8=j5C*cs U"JEesRB:TfGk17qt(v[K.qo\n.Jk.YOei$OA:gMPE8l9oQDXEf=i_U1$pR/EgC3A U"k5ioC$TO'i&mtAO1Z>dO+\_kKwM3CJonQo/$U5,I&Zi)^oPe.za]E#vGdjS+%m;%qTZgBT11qUS'0UgFf\BgqRZ2Ya+ U"/HcgZK3X?]kKrv,EB>2zD7u?qpEo[/\MTy7Y;Jk$Luqvrclb.m:o,B2o5bqUN'6 U"oL(LjrLbfB?X%lLA3FpiEWBG3&iEqr5+LXiOd5H+,iuql4+/ScZN5jKtiAJi^Nl U"giEi7%%%1%%%%%%%%%%%%E%%%%%%%%%kfsy.fx(V(S'x U"r%up&'%9%9%%%%-%,_&fHif8$Z%)&%%%%'%%%.%%%%%%%%%%%E%.%%l'%%%jf(x U"(VS&'xru%p&'9%%9%%%%-%z'&fH>;oIWM[&%%-%'%%0%%%%%%%%%%%%E%%+%A(% U"%%ozs%lqjV(S'xr%up&'%9%9%%%%-%,W&fHQp,<*&9&%%'6'%%%/%%%%%%%%%%% U"E%%%%>*%%%hm%nqiV(S'xr%up&'%9%9%%%%-%*fSoHDY\S;&z0%%%eG%%%0%%%% U"%%%%%&%E%.%%z+.%%'x%rwjf%iSgf%xup&%'9%9%%%%-4%rSo7H-e#&kq-%(%t; U"%%%.%%%%%%%%%&%E#%%%N%7%%k%rqng%Sgfx%up*+%%%%%%+%+%%w&%%'k?%%%% U"% END SUB CLOSE:IF S=113AND B&=Z&THEN?" :) Ok!"ELSE?" :( Bad! SUB U(A$):FOR A=1TO LEN(A$):C=ASC(MID$(A$,A))-37:IF C<0THEN C=91+C*32 IF K<4THEN K=C+243ELSE?#1,CHR$(C+(K MOD 3)*86);:K=K\3:B&=B&+1 S=(S+C)AND 255:NEXT:LOCATE,1:?STRING$(B&*50\Z&,219);:END SUB