• Please review our updated Terms and Rules here

Building an MCA sound card from scratch

EverythingIBM

Experienced Member
Joined
Aug 23, 2010
Messages
367
Location
Canada
So on the quest to buy an MCA sound card, I thought it would be cool to brainstorm a few ideas on building an MCA sound card from scratch.

My method for getting an interface would be to take an existing MCA card, desolder all of the components (or remove the majority of the card leaving only the connector edge), and then taking some wires to bring out those connections.
Then the circuitry can be made on a breadboard separately and wired up to the MCA connector as needed.

As NJRoadfan suggested, using a standard chipset (that many of the other cards that do) and then pointing it to a standard address. I'm assuming that would be done in a modified ADF file? This is probably going to the trickiest part.​

The two ESS chipsets that I was able to find used by the chipchat and soundpiper are as follows:
  • Chipchat uses: ES1688F
  • SoundPiper uses: ES688F

Now, these are just audiodrives, so, I'm pretty sure there's a lot of crossovers between the different models. There is also ES1868F (and probably a handful of others-- I happen to own a few ESS audiodrive cards. I like them for their OPL3 implementation called "ESFM", which offers a cool spin on OPL3's waveform generation).
There also happens to be chipsets from Crystal Semiconductor, such as the CS4236B (which is my favourite because it has the best of the best). This is basically the same as the audiodrive, but with Crystal stuff, such as Crystal FM synthesis instead of ESFM.

So basically with the audiodrive option (or possibly crystal), we'd be looking at mounting an audiodrive chip to an MCA interface-- along with audio jacks and an amplifier section with decoupling capacitors. Implementing serial for a gameport would require more work of course.

--> Another way around this would be to wire up an existing ISA soundcard to an MCA connector-- if that's possible.

Let me know if anyone has some feedback and/or tips.
 
So I'm pretty sure some of the more complex soundcards are actually using bridges as those ESS chips are generally ISA or PCI by nature.

However after scouring some more PS/2 archives (which I've digested a lot of!) I found that the MCA AdLib uses a micro channel IC.
That would be the *P82C611*. However the P82C612 has DMA arbitration which I assume is probably better to have. [Vague] datasheet can be found at the datasheet archive for these chips.

Unfortunately there's no pin out or anything technically useful. However... I'm going to seeing if I can find some sort of picture of the MCA Adlib card and perhaps pinouts of those chips.
If I could get my hands on one of those MCA bus chips it wouldn't be too hard to just MAKE my own MCA Adlib card. After all, it's just a nice juicy OPL2 YM3812 and an audio jack. And I could design a proper meaty decoupling section with my favourite Rubycon RX30s.
 
Well I've been expanding the concept some more now. A handful of the chips are going to have to be either sourced NOS or extracted off of existing cards.
--> an alternative may have to be made in lieu of P82C611's unavailability. I have a feeling I'll be moved to buy a Willem programmer at some point...

Here's a quick sketchup I did of the card:
attachment.php


Calling the card OPL/2 seems hilariously fitting.

So basically you have the OPL2 chip, its accompanying DAC, the MCA controller chip, (M1877N should actually say LM1877N-- basically it's just an amp chip, and I'm sure any can be used). I generally like the Philips amps better, so I'll see if they still make any NEW ones. And of course a 470uF capacitor-- I definitely want to use an RX30 there. Finally a 1/8" TRS jack-- yes the YM3812 will output in mono, however, using a TRS jack provides proper grounding opposed to just using TR.

N.B. the blue sled can be extracted from another MCA card, such as the oh-so-common standard token ring ones and snapped on to an existing card.

The only thing left to do is get a breadboard, some of the chips, and jack an MCA connector off of an existing card for now. I don't have the best EE knowledge (since there's not many people interested in it, or post secondary courses-- which is ironic considering electronics are so popular), but, I'm sure with some reading and trial and error I can get something done.

If anyone has pinouts to some of these things, that'd be helpful. Not too much documentation on how *MCA* works anymore. At least the IBM technical documents on some systems are enlightening.
 

Attachments

  • opl2_mca.png
    opl2_mca.png
    6.9 KB · Views: 1
I looked in to building MCA adapters a while back, but basically gave up because the card identification (and auto configuration) requirements seemed well beyond my limited skills. But I seem to recall there are analogue audio signals included on the card-edge connector, so that the motherboard can present audio jacks directly I guess.
 
I looked in to building MCA adapters a while back, but basically gave up because the card identification (and auto configuration) requirements seemed well beyond my limited skills. But I seem to recall there are analogue audio signals included on the card-edge connector, so that the motherboard can present audio jacks directly I guess.

Well in the case of controlling the OPL2 chip, we only need it to speak to 388h through the MCA bus.
It is possible for MCA to send audio through its bus (as is SCSI); but I don't want audio playback, just straight up FM synthesis.

I'm not as interested in direct *audio* output because any generic computer can do that. What most computers cannot do is discreet waveform synthesis.

Now I guess the above system would be able to be modded and inject sound from the MCA's bus into a separate audio jack or something as a "side feature".
 
So an MCA card could be built without any auto-detection and auto-configuration logic on it?
 
So an MCA card could be built without any auto-detection and auto-configuration logic on it?

Well I just have to determine the minimum possible logic required by the aforementioned P82C611/P82C612 chips. I can just re-use the existing adlib mca ADF file.

I'm going to ASSume that port 388h can be spoken to through MCA without any special drivers or configuring-- it should, considering it has the ABIOS.
However, some additional steps would be required to get it seen in windows for the midi mapper and such-- which is where the ADF file would come into play. Which is probably a useful feature for some.

Auto-configuring would only generally be required for devices that wouldn't be speaking to a port like 388h which is specially reserved for FM in IBM-PCs. This is why you don't need drivers for FM in DOS.
 
Back
Top