Go Down

Topic: YM3812, from Yamaha (Read 15912 times) previous topic - next topic


Sep 18, 2013, 05:15 am Last Edit: Sep 18, 2013, 04:26 pm by Frédéric_Plante Reason: 1
Found that old opl2 chip, YM3812, from Yamaha, basically part of an old 8bit sound blaster card.

Now I'm wondering should I leave the chip on board  or should i try to hook it directly on a Mega256?

I found the PDF with the pin out:


Sound reasonably doable eider way but I would like a second opinion on this before starting the party.

Basically the card is MCA format, the Before ISA bus. And this bus is also well documented. I found some library for the chip, probably will need to be adjusted for the Arduino world.

But yeap What would you do leave it on board or stick it to a bread board?
As we fight our way northward into the great unknown, only that one thing remains certain...


So I've decide to hook the thing on the bread board. for one simple reason. There is so much to know about the whole sound card and the MCA standard, that there is a good probability that the required library to make the sound card run will not fit in the 256k available.

So I've made a neeter version of the PDF i listed above into 6 JPG that contain the important information.

So let's get started.

Cause of the 4 pictures limitation the last 2 pictures will be send in the next post
As we fight our way northward into the great unknown, only that one thing remains certain...


Sep 18, 2013, 06:32 pm Last Edit: Sep 18, 2013, 06:42 pm by Frédéric_Plante Reason: 1
Has promessed.

As you can see in picture #5 the project might be possible since the thing is meant to work under 5 volt. Aint life great?

But a question come up, what should I use to générate the clock signal? At first I was going to use some 555, but I believe that the 555 is not reliable over  1 mgh. Humm what would you do?
As we fight our way northward into the great unknown, only that one thing remains certain...


Oh! By the way, I will be using the Y3014B that fortunately was also on socket on the sound card. I can't find the PDF yet, but i will make some circuit picture up in the worst case scenario that the pdf does not exist.

It's a 8 pin dip chip so it should not require much work to figure out what is what since it's hooked straight to the YM3812.

Ok so that it for me for the rest of the after noon, working at 14:00 work some more tonight on this.

See ya.
As we fight our way northward into the great unknown, only that one thing remains certain...


Hi there, I do not know if you are still working on this project.
I am working on a similar project, a Synth using the YM3812.

I got the documentation, the first step is to generate the clock signal.
The YM3812 clock being 3.58 MHz, you can use a bit of the following schematic to generate that.
It uses a 3.579 MHz cristal and a bunch of 74LS04 "No" gates.

My main problem, is that I never worked with registers before so I do not really know what to expect.


Well, if I have a working partener, it mean it's time to take the chip out of the bag. I'll get back to you asap. :D
As we fight our way northward into the great unknown, only that one thing remains certain...


when looking at the documentation and beginning my wiring, I began to ask myself some questions.

The signals  ?SY (Clock), SH (Sync. Signal) and MO (Digital Output) are supposed to go to "the external D/A convertor unit", but no references are given in the small documentation we have.
Looking on the internet, i found the the D/A Chip is supposed to be a Yamaha YM3014B. Can someone with an AdLib card confirm that ? (I just have the bare YM3812 chip myself). Also no reference of the YM3812 on the YM3014B's documentation.

Also, the clock of the YM3014B is (min/typ/max : 0.65/2/3.2 Mhz) which is quite a wide range of frequences, I wonder what is the impact of changing the clock frequency.
And the Analog Out of the YM3014B requires a Buffer Operational Amplifier, is it just needed for electrical insulation ?

PS : I did not specify, but I am not an electrical engineer (as you would have guessed) but a young engineer in acoustics and vibration. I am getting myself onto this project because I want to build my unique synth.



Here's some documentation on programming with adlib (OPL2) cards : http://www.shipbrook.net/jeff/sb.html, should be usefull.

And I am linking the YM3014B's documentation since you said you didn't have it.

I still don't really know how to use registers ... any (good) documentation/learning material on that ?



I'm working on something with the SFX Sound Expander you posted the schematic of.
Video is here:

SFX Sound Expander plays Daisybell

All the information on registers is on the datasheet.
Quite happy to answer any q's here if you have any?


I'm also working on a similar project.

I have a project going where I can stream music from an SD card to various retro audio chips.  I am using an Arduino Micro.

You can see some older videos here (https://www.youtube.com/user/cbmeeks/videos).

But my circuit is newer than what the videos show (hoping to make more videos soon).

Anyway, I am using a 12-bit ripple counter to divide a 14.31818 MHz clock down to various stages for each audio clock. 

Some audio chips I am using are SN76489, AY-3-8912, etc.

My final circuit will hopefully play on 4-5 different audio chips using the VGM 1.70 standard.  Working pretty well so far.

Send me an email if you have any questions.  Maybe I can offer some help.

cbmeeks [at] gmail [dot] com

Go Up