Pc-speaker Driver

 BBS: Inland Empire Archive
Date: 07-11-92 (09:04)             Number: 96
From: RICH GELDREICH               Refer#: NONE
  To: ALL                           Recvd: NO  
Subj: Pc-speaker Driver              Conf: (2) Quik_Bas
    Here's a PC-Speaker driver that plays 8-Bit signed digitized samples
in the background. The assembly code is completely documented, hell, I
even included the file that made the speaker translation table!

    The code is from my (up and coming) QB4.5 and PDS7.1 Amiga .MOD
player... Get it while it's hot!

'PostIt! by Rich Geldreich 1992
DEFINT A-Z:FOR A=0 TO 6:P(A)=2^A:NEXT
OPEN "B",1,"qbtweakr.zip":B$=" ":I=1
FOR A=1 TO 7310:IF L=0 THEN GOSUB G: L=6
W=T\P(6-L)
DO WHILE L<8: GOSUB G: W=W OR T*P(L):L=L+6: LOOP
L=L-8:B$=CHR$(W AND 255):PUT #1,,B$:NEXT:END
G:IF I>LEN(W$) THEN READ W$: I=1
T=ASC(MID$(W$,I))-35:I=I+1:RETURN
DATA"3PW#'K####C$#7L+MFDD864$a*###'X####&####0(W5(085*\G.%(W70+3#5/%(8;"
DATA"V0KHKI>V6$)+T''8O`9Ab6YWCQWE1XGA7J]5D)WL%5DI:3-XW19W%UF99Y59\9IGb)"
DATA"MS658WIY\%%DB]EYU%5\aY]5ZW]YUO_*9]%UY)9U9IM^S@OP?QSPOD@PH811RH>;@^"
DATA"?<&Z^Wa9ZO_1OEHPHX($^,<``@H>=L><)9T`5[`?J><>&Y.WXI00@R$\;&.>-A6931"
DATA"ZWA9Z-6:K`QPO+`0=#][@.^83:DNVVb:_]TUY]5)VbW3PB*W@\Ka+>JK(XK,XL7(G$"
DATA"PH=<\2L0(G;(HUOIX/(.RT=/$<2$,/X,+VETR0NTV>Fa7L3a1'62$,8B-+JL0/A28M"
DATA"97KC?b(CRL$[>3%ECZ1P19@(7F_(b^8%%N@71WJ1877b(aQIZWHU/*'RRTS^;1U7%5"
DATA"8?bYHVG)FB)26Ta8C.(EaPR0GLSQ-[48:2@J%QbO#X(9>'B_RF$`G((N7,\MX1)AZ%"
DATA"O*7:T7MZ*+BK.B-7.M6$L+7VWEKAa6N-8D=8'U>2YF+b2KG[`:GG8/&RK.T7JU'*8@"
DATA"SOD1X[0ERDQ>=5,-,445QH%T.TX$0HL;2XU/(8bEGHE#`]G=73UG[8<R,4X>B%U>KJ"
DATA"25=A88G38-]LCA0.+b0-8,D\2.?284`7GA%M)VV&UZ'<>VO;I06.=N@B&U)H-*&K27"
DATA"IW]^E;_]XM3PW#'K####C$#7S+MFDANa;I)/###/[###C%####7@84$PG7Q_G3-`##"
DATA"5/#,8;V,[GF=^T7JQ`4%)'S'W7Q`9AB#V3#M3]AZU)YX-::)WLYWIF[2/P6X]-:Ta9"
DATA"3)W\1ZUY9TUYU-:3%5N3_V0PRXPC7IQ'I\)T5'C#0`8)GM*&Y&bZ4_#KY<MH(SaF)H"
DATA"X36<.R3#5SD1XEA'EbL'PK='V*[]PM#([#&[IDO&'b#A3MAXE)WHa7J[Qb6+b#K@'#"
DATA"0P40-*GaT&<+'PJ3KUWCIXLaWM]7E%`#%3F&L\1LB$GVJ-8&-8N]7DU\&='6#WA4*S"
DATA"+&=P-CSV^D?8:/^`K8R-F4QFT1Q4;0>A+XPC&[1XA@4SVV[CRVC6ZHQ;J=S#JBCU\^"
DATA"-W4I?]]6F>#[`'^3\)S'^4])3)>3^)3`,bH3aDP00b3X8=2Q\10RB_0238/T)AU*9)"
DATA"13V*9;&NN:I#Z_%,[D0G5a`b8RaTQMObA3a42Y41Q40I4/ET.A4.=T-9T-54-5T,1T"
DATA",-4,'_4/%$2'D3SbS*'_1W$$^0O$$^/G$$^.?$$N-7$$N,/$$N+'$$N*_#$V0K$%I:"
DATA"S%'/JC'+;a#*3SOb7$V&;#%I1K$,;13$5S_BaFC\aW*$V^<2%IV6A'/BJ^+;Q1X4S="
DATA"1V4S-1T4S]0R4SM0P4SA0N4S10L4Sa/J4S.6<'_T/)$2/D4SbU:a5:]5:YU9Y59UU8"
DATA"Q58MU7EU6=U55U4-U3abb@[%0GDM.$O2/ab6Z&%>3=A3EXJ&<2=3N1HIC5?>EZ#Q>\"
DATA"%36M;%A0C[V'[.YFaT0O*$?#8_TJ+_6GYa1P,B&[?:[9`]$bS`G+Y'(`Nb@0a+:O40"
DATA";2S&a/*,SL^.JLW8/X8/[8OTRR0Y&Nb4DWR;RU#$b)]'B(1=`)S$]8'S?/@?aTX&C3"
DATA"B`BL$='WY$\T&_aE_QQH+M8)2_@1_]Q4`\].9a13%aE>$&R%_[^&YB5U2;bb[UDO.$"
DATA"(32I:aM\?:$+TH+8&+TLTS11)Y\TSa.)aE>KD@10ObLD`80ObMD`>0ORND@I0O&RD@"
DATA"]0ORRDZ[$;;*$&^/;;2%&^G;;b*&^5<[JPE'O?]%X5&3C%#;##)#3HCK1)\XQJP1['"
DATA"##CZ\###-####3X8((W55\536X7;-OZ$)OD$^US5&GS$.GS%,?C(*CC$(;S$)7C0*;"
DATA"T(.KC$+KS%(;3(';S((K#%(;3()K3,)CS$;KS$-CS%*O#$H33,'KC$'7#((G#0*;S("
DATA",KT-_V2b^Rba/O#..SU%_O#.NS-&$+U+77D0ZC9E=Q02(;C'F34\Y>\`$FabB+=MPE"
DATA"_^[SO6AF>J_2XS`^?XKU2MZJXZQH[@5WFA1(8/7RLOR`&4JR=G3MF>2;W2N_U_.U2L"
DATA"DPb<GZ'Ea-@JW\6[9bbXNUH1RV*GB]6>AP_NB8`=\-GA:bRQ2B7B`R*D^Pb5H^B5FI"
DATA"YQW`6%Z>\LXRZ1FZ0R22:$\a*BHNXHV>1AEU6'Qbb=V*;_a>,Vbb>O:ZGR'bN&4B-0"
DATA"Z__MDFZXZ.b?DX^CH;Ra&Za_Y]b;2a3\b2a__2[bOIC?R.8A9W\`:`UZBFP^]IPFRU"
DATA"`Y0FZE?8MB`\>]B*RQA:Q\LJ^[R9M_>D:Z+G6A\I^B]BPUa_<`bV\]QRBJQ<_YMJBU"
DATA";`IH8R.^^(5b.0^*19M_7*HbB\A(^bUBBATOJ_8NB>.?(G:A\$@V`Y8]*PBUD^:E_A"
DATA"^Z.Z>>VHKQBbY[XHB&6B$L^aIa`*2J+@5QL:DT^0Fb:*Zb>2M&ZB5]\H6QT[R?8YSb"
DATA"VB`QTa4@(N8_R@:>B^YE^BM&]Y9HaV`),+^'NbbXH`5IZBN[)P]V>5^)^P>D9Q1M=B"
DATA"LaX@C6V*TA\:a<4H0F:@KGX^(KBWN->FO`O?&7BSKb]FR<:@ba\/AWVM_.FZ2[@FW*"
DATA"NO>ZDO\^F)DFO7,\N]F,TN8FX`4&`5*UIB1R9%JBbJ&)R@b7[Rb^Xa'XJBQ\I>H3]:"
DATA"UK_.2Z3K=*QH.91:<M.F:IGN;Z\&[6&&EXS/,b?'1-FPTUXaT-/RMH^Z*C@`]UI.49"
DATA")b:N/A:=>R]Y6<(bN3baOaFSa\?<5MAZKU1&b?#TRH8MaZ#bbT`\M0R.0UV`<)2)Ub"
DATA"XL](]aT<[aYX<80bNA3GBTP0AbN==74[/2Q?8M5WTNNZZH0_:*+bZZ9QL-^BTT_b_D"
DATA"HRI:XT[(UUA^IEC=U.M&-,bI8T_I5VRT@`\P^%_>IL#^3?&`.F<MT[05NXQ132/L`0"
DATA"JN=Z]%DAb$+bL,FD=^RO1b]b$TIHB``B<Ka/*-U`XQ%2FZTaQ/S$]C;6DZ+]JNF)JV"
DATA"E7(X/H0;0'08+>Y1R7aLQBVb50IQ]LN<_A<^\;`_T[M;_BOS>*EL3^?P)(Z[\CaM-X"
DATA"B\4@\@?EB,aZ]0FZ^'[:=&*DN)U7TC7;^.OFb&*2%V=IM.PD;JB,5M02^)QaXEK5W]"
DATA"[]J:0VN#KJ6TbGL;*D.HZ4&I^9TF[Q^$BD'/)RZ42H9WKAXH#IFAJ2N:TV6H,7b_]I"
DATA"2A8.N\]'>^a^?>aW8XA52J/VYNN0M?8%`K<SNC[9__,7X&;9C%(<bSU%F`3]:<]:%L"
DATA"-H\*=C^P'QT#>:\a<6GA:`*3N`;=PP`U5;()BLM7NP^DE<3V,#(VZ)B)OUD$2A:*%R"
DATA"2MA63/%/&<W6II(TaJ.MP;:^=XO/X7YQR:TZ$,=`;'^))05*=Z_4L`U1)19Y]<YZ/a"
DATA"5UR,A<3AFPZN']7LI>=F@3@4WGRPT@I0RST09CX`VSH22R/a9B:@JY_QT&OB+F(E8)"
DATA"XNPX./a-T='Q>;TJ_:Y))G)-FR[(GI1^W=-[a%\`8(]NV-$)//Y$%6(MPKP+Y7*BXY"
DATA"1.2>.BE0M1AHTD<MQAB'DNP`FUZ*G)2'Ua8;a0ACW\_3R(\X=>5O^:aAbO1;?abYZ8"
DATA"(^8EBb^FM.8C[J%KL;=/=L=<@([OE)bB?SaN9Z[#3'F/XCO2?6F$_VBU2\*U8bEU<>"
DATA"?8.?Y`;IT;[<.O)aV:_[JUZ[<26I4L4b[@`%a3Pb4GTY*,+[](FPPL:LT+0TZSQ(a<"
DATA"$YZ%<6N4&9>Y<F[L2%%_NLTSI,HK/5;$0:@V4L6R&b6F(_?B5/V$Z80)Y-*F:6[M7,"
DATA"LOEO1@TH>-0%6aJS0Kb'M'5,9,Q_<_7XJ[3:4P2%=<$:+@X$8V_bLQ5<TWO:HR1BY3"
DATA"@M%T595b3\JY.2.VNb%.[FDF;H6]?VP^Q[_W,=X(M59T78U&KV\]V.H((BHSKHWA<Q"
DATA"90;`7Y&PaQ/-]_-')URa)]5R(0WB3[4AN;C7,Z-:N;'#4>M[;2(]I0RQRDEO$T;?W]"
DATA"VL/aI:L::QSZ/5OQ<N_H,_:*B4],]-MM0V[68UI[F2GD5E`I)aa]34bP7<XWKG,/3^"
DATA"+)1INXUU(YO(.0]`9aBDR9Y44?ZZ8Z`aNV*,Z.>NOMN94A:9COA(_b<6R/Sa3LM=='"
DATA"FQRC%]V=(O]S[66\M<X1@P:?G^-H=@M@W3D>7TDP8@WW.KJQEX/F2a-MQ7%[^@)\8>"
DATA"XFR1<X)(4?bUW8OF)#>HT*Z*I.%HM=7b;3S[;TKXPa`]`9'[CN&0;6DT*2PN7RP^I;"
DATA"RD\b6Mb[3.BaX>^aRR,`\Q-M>_WYA>TMB[3^$_%L$A(;V%aZ\;;aGB^K_YRR4]La1&"
DATA"MXUVGX83.T9<&J()4IEK8W4]]?VT&1C884.A@0\`BK0T#]NGUV[&>6;-]V^*Z8BZWS"
DATA"_A/(E2SX+;;_\LD>-R]F7-&LY6D=`45`(84(+-7TF=C3LQ;.;\9M-F<Q[VS97O`(T?"
DATA"L__DHNM8QT_J\2UaP1a=I^=P]V.\Q&TTY#'7;Z&;_X3Z7;H`5ZXID6b%[WP>ZUR:0G"
DATA"N$bIFH%*B[:^V*5/IN]<'?]DTY,8,a0AY3_D>2?0`C^[NKA+TT5-P49ZBFHPVSQ,C%"
DATA"1$*O/_1+(`VMJ@_(/BT/R<G8D]XE]]:Y;Z[`4S^T6[V5[-@bFF5-5?G+BOV%.?.)[;"
DATA"20(^\C.(.8-D8_^IAIERE82BX>aXG0,$H]@`\)'`%B8[&,7a6?(T:/b^*D5+OGTMON"
'Continued...

--- RBBSMAIL 17.2A
 * Origin: Computer Co-Op RBBS HST, 609-784-9404 Voorhees
NJ (RBBS-PC 1:266/29)
Outer Court
Echo Basic Postings

Books at Amazon:

Back to BASIC: The History, Corruption, and Future of the Language

Hackers: Heroes of the Computer Revolution (including Tiny BASIC)

Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution

The Advent of the Algorithm: The Idea that Rules the World

Moths in the Machine: The Power and Perils of Programming

Mastering Visual Basic .NET