Article View: alt.comp.hardware.homebuilt
Article #976Re: "Noisemaker": Need G.I. AY-3-8910 sound chip app note
From: Boston-Baden
Date: Sun, 09 Oct 1994 08:16
Date: Sun, 09 Oct 1994 08:16
62 lines
4874 bytes
4874 bytes
I wrote: : Does anyone have the application note that engineers at General : Instruments (now Microchip), possibly on an unofficial basis, issued on : the AY-3-8910 sound chip? They also produced a 28-pin '8912 which didn't : I just received, from Michael MacKenzie, photocopies from a 64 page : booklet entitled: AY-3-8910/8912 Programmable Sound Generator Data Manual. I talked to my engineer, gave him the table of contents, and he says that's the book. (Apparently it's been typeset since he first saw it as a typescript.) He's still convinced it's got "bell" sound instructions, but no matter. I have discovered, by fiddling with the envelope controls, that it's got the capability to simulate something closely approximating what I want; or at least it sounds better than what I've got. It's a decay envelope... It even keeps repeating... The wave form looks something like this \__\__\__\__\__\__ so it goes Pinggggg Pinggggg Pinggggg Pinggggg... A couple of people have written saying they've got a card or something using the chips and don't know how to use it. Well I know a little bit about it... And if you're struggling to interface the card at all, here's a couple of tips. First of all the PSG (that's the name of the chip, Programmable Sound Generator) has 16 registers. (0-15 decimal/0-F hex/0-17 octal.) The last two are i/o ports, if we're just making noises then we just worry about $0-$D. The first 6 are frequency controls; $0-$1 is a LSB word, $2-$3 is another, $4-$5 is another. Valid values are $00-$FF for the low bytes, $00-$0F for the high bytes. (12-bit control of frequency.) The other registers do other things, I'll go into them later, but let me tell you of a byte value you can write to all 14 registers and have it go pinggg-pinggg-pinggg for you to: $36. (That's 070 octal, 56 decimal.) If you're trying to interface to an old Apple II board, you might have a situation where the 16 ports $0-$F are wired directly into a set of addresses $XXX0-$XXXF. Or, they could be latched, where you'd write a value of $0-$F to one location $XXXX and write the data byte to another location such as $XXXY. (It turns out that's how my game board works, I have to write to $0002 with the register number and to $0004 with the value.) So, if you go ahead and write that data byte I gave you, $36, to the first 14 registers, you should get an analog signal coming out of the appropriate pin that makes a Pinggg-Pinggg-Pingg sound. And you don't have to keep toggling it, either; once you set up the sound, it repeats until you kill it. ($00 to all ports will kill it. So will a reset.) That's where I'm at so far. When I get something that's bell-like enough for my uses, I'll let you know how it all turns out... -- hazel-chaz@netcom.com - Home of Margarita Jell-O, an alcoholic use for lime jello. Email me w/ "request margarita" in subject or as 1st line of message and a robot will send you the recipe. More recipes, ftp.netcom.com:/pub/hazel * L.A.con III * Aug29-Sep02 '96, Anaheim CA * Infobot: lacon3-info@netcom.com * '96 WorldCon * Join for $90 * L.A.con III, P.O. Box 8442, Van Nuys CA 91409
Technical Details
Message-ID:
<hazelCxECAo.C20@netcom.com>Path:
arc1-ca.pugleaf.net!bga.com!news.sprintlink.net!howland.reston.ans.net!europa.eng.gtefsd.com!emory!nntp.msstate.edu!paladin.american.edu!netcomsv!ix.netcom.com!netcom.com!hazelReferences:
<hazelCwLtxF.5BJ@netcom.com> <hazelCx0LJq.CnF@netcom.com>Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fd705,d9a6cb91ef9b68cf X-Google-Attributes: gidfd705,public X-Google-Thread: 115174,d9a6cb91ef9b68cf X-Google-Attributes: gid115174,public X-Google-Thread: 101243,8c36a2643939c612 X-Google-Attributes: gid101243,public X-Google-Thread: 103c3f,8c36a2643939c612 X-Google-Attributes: gid103c3f,public X-Google-Thread: 105d97,d9a6cb91ef9b68cf X-Google-Attributes: gid105d97,public X-Google-Thread: 10d0b7,8c36a2643939c612 X-Google-Attributes: gid10d0b7,public X-Google-Thread: f70d1,d9a6cb91ef9b68cf X-Google-Attributes: gidf70d1,public X-Google-Thread: f5ddf,8c36a2643939c612 X-Google-Attributes: gidf5ddf,public X-Google-ArrivalTime: 1994-10-09 03:34:12 PST Newsgroups: alt.comp.hardware.homebuilt,alt.folklore.computers,alt.technology.obsolete,sci.electronics,comp.sys.apple2,comp.sys.apple2.programmer,bit.listserv.apple2-l,comp.os.cpm Path: arc1-ca.pugleaf.net!bga.com!news.sprintlink.net!howland.reston.ans.net!europa.eng.gtefsd.com!emory!nntp.msstate.edu!paladin.american.edu!netcomsv!ix.netcom.com!netcom.com!hazel From: hazel@netcom.com (Boston-Baden) Subject: Re: "Noisemaker": Need G.I. AY-3-8910 sound chip app note Message-ID: <hazelCxECAo.C20@netcom.com> Followup-To: alt.comp.hardware.homebuilt,alt.folklore.computers,alt.technology.obsolete,sci.electronics,comp.sys.apple2,comp.sys.apple2.programmer,bit.listserv.apple2-l,comp.os.cpm Reply-To: hazel-chaz@netcom.com Organization: Tiddly Jell-O Factory X-Newsreader: TIN [version 1.2 PL1] References: <hazelCwLtxF.5BJ@netcom.com> <hazelCx0LJq.CnF@netcom.com> Date: Sun, 9 Oct 1994 08:16:00 GMT Lines: 62