• Please review our updated Terms and Rules here
  • From now on we will require that a prefix is set for any items in the sales area. We have created regions and locations for this. We also require that you select a delivery option before posting your listing. This will hopefully help us streamline the things that get listed for sales here and help local people better advertise their items, especially for local only sales. New sales rules are also coming, so stay tuned.

Wanted: AdLib Sound Card

jmetal88

Veteran Member
Joined
Jul 23, 2010
Messages
878
Location
Derby, KS
I want to build a clone of the AdLib card to use in my PCjr, and I don't have enough info about the card from my internet searches to do so without actually having the card on hand. I have a Sound Blaster 2.0 that I will be using for parts on this project.

Anyone have an 8-bit ISA AdLib card they'd be willing to give or sell to me?

Thanks!
 
I want to build a clone of the AdLib card to use in my PCjr, and I don't have enough info about the card from my internet searches to do so without actually having the card on hand. I have a Sound Blaster 2.0 that I will be using for parts on this project.

Anyone have an 8-bit ISA AdLib card they'd be willing to give or sell to me?

Thanks!

It's basically an I/O address decoder, an OPL2 (with a corresponding DAC) and a mono audio amplifier. You shouldn't really need an actual card in order to build a clone.
 
It's basically an I/O address decoder, an OPL2 (with a corresponding DAC) and a mono audio amplifier. You shouldn't really need an actual card in order to build a clone.

Maybe not, but it'd be a lot easier with the card in hand.

I'm trying to work out the details on my own, but what I'm coming up with doesn't seem to match where the traces are on the pictures of the cards I've seen online.
 
Maybe not, but it'd be a lot easier with the card in hand.

I'm trying to work out the details on my own, but what I'm coming up with doesn't seem to match where the traces are on the pictures of the cards I've seen online.

Ok, so you are trying to make an exact replica rather than just a clone. Then you will need a card, and an X-ray scope of some kind would problably come in handy too.

Just be aware that these cards are getting quite hard to get by the time, and you may expect a decent price if you want one fast.
 
I had to pay $100ish on ebay for one, and I've been looking for 2-3 years for one online before hand, some people wanted 2x that price.

Is building an adlib clone for a PC Jr really worth the effort?
 
How about a multi function card for the IBM PC/JR, adlib and ide all in one :p

Adlib is simple enough. All you need is the OPL2 itself with it's corresponding DAC, some logic to trigger the /ChipEnable line of the OPL2 when the computer calls certain I/O ports, and a simple mono audio amplifier. The rest is done internally by the OPL2 itself.

Code:
+-----+   +-------------------+
|     |==>| I/O addres decode |
|     |   +-------------------+
|     |            | /CE
| BUS |            v
|     |   +-------------------+   +-----+   +----------------------+   +-----------+
|     |<=>|       OPL2        |==>| DAC |==>| Mono Audio Amplifier |==>| Audio out |
+-----+   +-------------------+   +-----+   +----------------------+   +-----------+

IDE would be possible through the XTIDE design, but it may be a little hard to fit it all within a single sitekart then. It may work, but somebody has to do it.

Address decode can be done with a single PAL, or with one comparasion unit. You problably want to buffer the data too, which requires a buffer. Then you need the OPL2 and it's DAC, and then you need wathever you wish to make the amplifier from. All in all you can get by with only 5 ICs, and some analog components for the amp.
 
Last edited:
Adlib is simple enough. All you need is the OPL2 itself with it's corresponding DAC, some logic to trigger the /ChipEnable line of the OPL2 when the computer calls certain I/O ports, and a simple mono audio amplifier. The rest is done internally by the OPL2 itself.

Code:
+-----+   +-------------------+
|     |==>| I/O addres decode |
|     |   +-------------------+
|     |            | /CE
| BUS |            v
|     |   +-------------------+   +-----+   +----------------------+   +-----------+
|     |<=>|       OPL2        |==>| DAC |==>| Mono Audio Amplifier |==>| Audio out |
+-----+   +-------------------+   +-----+   +----------------------+   +-----------+

IDE would be possible through the XTIDE design, but it may be a little hard to fit it all within a single sitekart then. It may work, but somebody has to do it.

Address decode can be done with a single PAL, or with one comparasion unit. You problably want to buffer the data too, which requires a buffer. Then you need the OPL2 and it's DAC, and then you need wathever you wish to make the amplifier from. All in all you can get by with only 5 ICs, and some analog components for the amp.

Question:

Is the 74LS245 transciever shown on the AdLib board necessary then, or did the company just put it on there for extra insurance? EDIT: Sorry, I didn't read that thoroughly, I see you do say to buffer the data.

It sounds easy enough to put together a circuit based on your block diagram there - in fact, I'm already re-doing the address decode logic based on chips I already had lying around rather than the chips actually used in the AdLib. Is the information I got on the AdLib being accessed at addresses 0x338 and 0x339 correct? EDIT 3: I found another page saying it's 0x388 and 0x389. That sounds more correct to me, I may have been looking at this the wrong way, anyway.

What do you mean by a comparison unit? I was just going to try using a couple of 74154s, like I used in my 512k memory upgrade, for the address decoding. EDIT 3: Score! I found a board with a couple of 74ls138s I can desolder. I should be able to duplicate the original address decode logic now.

EDIT 2: Also, I was thinking I'd just take the output from the DAC and put it through a single op amp and feed it to the 'Audio In' line on the PCjr's bus, where I believe the PCjr will handle the rest of the amplification.
 
Last edited:
Hi! I am willing to make some prototype boards using the same approach as we the XT-IDE project. I do not recommend combining the OPL2 logic with XT-IDE though as it makes the board too complicated and overly specialized. They should be separate boards for simplicity and to keep its functionality general.

Also, I recommend it should be a generic OPL2 board not an "AdLib" clone as the term is probably copyrighted and IP encumbered. However a generic OPL2 board with an IO address that is configurable probably would do the trick. As a group we could write some software for the board as a driver.

To make PCBs, I'll need whatever schematic you have plus someone or someone(s) willing to buy the initial prototype boards for the initial build and test round. Like XT-IDE this isn't really an N8VEM style project so we'll need a project manager and a software lead. If we can organize a project like XT-IDE using the "stone soup" approach this project seems like it has a chance to succeed.

I am not sure of how many people would be interested in such a board though and that matters to assess its feasibility as a project. Gauging the level of interest in terms of how many hobbyists would be interested in getting boards would help a lot. I would assume the same basic parameters as the XT-IDE since this would roughly fit in that mold. At least I would use the XT-IDE board as a template for the OPL2 design.

Please consider. Thanks and have a nice day!

Andrew Lynch
 
Interest here, totally interested. It's hard enough to find these cards now as it is, having the ability to make our own is gold. :)

It shouldn't need a driver though, in DOS it "just works" IIRC.
 
Hi! To be sure we should disavow any connection to AdLib and start a new thread to kick off the project. Name the project Generic OPL2 or something catchy like that. :)

Thanks and have a nice day!

Andrew Lynch
 
Hi! To be sure we should disavow any connection to AdLib and start a new thread to kick off the project. Name the project Generic OPL2 or something catchy like that. :)

Thanks and have a nice day!

Andrew Lynch

Is there any posibility to add support for both the OPL2 and OPM/OPP? I don't know the difference in pinout, but I don't think there are many. If any, therse differences could be selectable with jumpers. What I do know for sure is that then we would need the stereo(/dual)-version of the DAC, and a stereo amp instead of a mono one.

For those who don't know, the OPP is the synth used in the IBM Music feature card, while the OPM is a very similar chip used in very many arcade machines from the mid-to-end 80s. Both chips are 4-channel/8-voice FM synths, with LFO and to some degree compability with the MIDI 1.0 spesification.
 
Hi! I think it depends on the part used. Yamaha YM3812 (OPL2) is a nice little 24 pin DIP chip and the rest can be done using hobbyist friendly PTH/DIP/PLCC style chips. If you have a schematic and some part numbers it is OK with me to use other parts.

There may be similar parts with more capabilities but please keep it simple and hobbyist friendly. For instance, using SMT parts is a non-starter for me as I'll make the PCBs but won't do the assembly. Keep the requirements and design simple and it will improve the chances of success. If the project blooms into a complex SB replacement with many ICs and complicated circuitry it will crush under its own weight.

Either way, I'll need a schematic to even start or at least specific part numbers like YM3812. I can implement some generic circuitry but I am not familar with dedicated audio chip circuitry to make a board off the top of my head. Draft a handwritten schematic so we have a starting point.

Thanks and have a nice day!

Andrew Lynch
 
Either way, I'll need a schematic to even start or at least specific part numbers like YM3812. I can implement some generic circuitry but I am not familar with dedicated audio chip circuitry to make a board off the top of my head. Draft a handwritten schematic so we have a starting point.

Thanks and have a nice day!

Andrew Lynch

Ok. The OPM is YM2151 while the OPP is YM2164. Both ICs are pin-to-pin compatible 24-pin DIPs, and the OPM is well documented. The Mono DAC is YM3014, while the Stereo DAC is YM3012.
 
Code:
      +---\/---+
 GND -|        |- øM
/IRQ -|        |- ø1
 /IC -|        |- +5V
  A0 -|        |- SO
 /WR -|        |- SH1
 /RD -|  OPM   |- SH2
 /CS -|  OPP   |- D7
 CT1 -|        |- D6
 CT2 -|        |- D5
  D0 -|        |- D4
 GND -|        |- D3
  D1 -|        |- D2
      +--------+

      +---\/---+
 +5V -|        |- øM
/IRQ -|        |- øSY
 /IC -|        |- NC
  A0 -|        |- MO
 /WR -|        |- SH
 /RD -|        |- NC
 /CS -|  OPL2  |- D7
  NC -|        |- D6
  NC -|        |- D5
  D0 -|        |- D4
  D1 -|        |- D3
 GND -|        |- D2
      +--------+

Common:
øM      = (I)   Master clock     (3.58MHz)
D0-D7   = (I/O) Interface data   (to/from computer)
/CS     = (I)   Chip select      (from computer)
/RD     = (I)   Read enable      (from computer)
/WR     = (I)   Write enable     (from computer)
A0      = (I)   Register select  (from computer)
/IRQ    = (O)   Interrupt out    (controll)
/IC     = (I)   Initial Clear    (controll)

OPM/OPP:
ø1      = (O)   Clock for D/A    (to DAC)
SH1/SH2 = (O)   Sample and hold  (to DAC)
SO      = (O)   Serial output    (to DAC)
CT1     = (O)   General Output 1 (controll)
CT2     = (O)   General Output 2 (controll)

OPL2:
øSY     = (O)   Clock            (to DAC)
SH      = (O)   Sync signal      (to DAC)
MO      = (O)   Digital data out (to DAC)
NC      =       Not connected

It seems like the DAC output signals are named differently, but they should in theory be much the same. The only major difference there is that the OPM has two SH lines (for stereo, see the YM3012 datasheet), while the OPL has only one.

Other differences are the power-lines, and the fact that the OPM/OPP got two general-purpose output ports. Also note the difference of the D1 line.

What need jumpers:
The Power lines has to have jumpers to support both pinouts, along with D1. The analog/stereo problem with the OPL2 can be solved with a clock splitter (AKA: flip-flop), which generates two SH lines out from one.
 
Last edited:
Here is some badly drawn schematics for how to add support for both synths using jumpers. The rest of the signals not presented should be as presented in the datasheets. I have not cared about filtering or load capacitros (clock line), so those have to be taken care of too.
 

Attachments

  • signals.zip
    5.2 KB · Views: 1
Last edited:
Back
Top