English Version Spanish Version French Version

MIDIbox Hardware Platform, OPL3 Module

This page describes the technical details of the MBHP_OPL3 module, which is used in the MIDIbox FM project.

FM synthesis became very popular in the 80s after Yamaha released the GS1, and two years later the DX7, which was some kind of revolution these days since most synthesizers were normaly based on analogue parts and limited to the possibilities of additive/subtractive synthesis. FM synthesis is very hard to realize with analog componets, because it requires a stable relation between the modulator(s) and carrier oscillators for audible (or lets say musical) results. Yamaha developed (and patented) a digital solution which was the basis for various chipsets. Fortunately Yamaha did not only build these chips exclusively into their own synthesizers, they also started a product line of OEM chips dedicated for video games and home computers - for example YM2149 (used in the Atari ST, MSX, Intellivision and ZX Spectrum), YM3812 (used in AdLib and early Sound Blaster sound cards) and finally the YMF262 (used in Sound Blaster Pro 2.0 and later cards until the OPL3 was ousted by wavetable synth chips in the late 90s) - computer ventors preferred these FM chips since they were cheap and covered a wide range of instruments.

More in-depth informations about FM and the OPL3 can be found here:

Technical Details

The YMF262 sound chip was mostly sold in a 24-pin SOP package which is (unfortunately) hard to handle for soldering novices. It provides an 8bit parallel interface to the registers, requires a stable clock source of 14.318 MHz and one or two separate DACs (YAC512). The parallel interface is directly connected to the "LCD" port of the MBHP_CORE module, most pins are shared with the LCD in order to reduce the IO pin count. The DAC outputs are directly connected to the YAC512. Sound cards are mostly stuffed with only one YMF/YAC pair (I've never seen a card with two YAC512) which results to 2 audio channels. With an additional YAC512 four separate channels are available, which is especially useful if the outputs should be routed through different external effects.

Each YAC512 requires an quad-OP amp for reference voltages and the sample&hold stage. The outputs of the S&H stages are buffered again by a third OP amp, which acts as a low-pass filter, before the signal goes to the audio jacks.

Note that the OP amps are powered from a balanced voltage source (+/- 12V). I specified this large voltage range since it allows to take the same PSU like for the MBHP_AOUT module. The TL074s can be alternatively powered from +/-5V to +/-18V.


It isn't so easy to find a distributor who still has the YMF262/YAC512 in stock and sells them in low-quantities (-> try this site). However, the MIDIbox community has already organized a bulk order (see this Forum posting), and future orders are feasible if enough people are interested.

Another way to get the treasured chips is to canibalize them from old soundcards. Thats how I got the chips for the prototype - I purchased some old soundcards from Ebay for ca. 1 EUR each (people don't know what they miss ;-)) and desoldered the SMD chips like described below. Unfortunately the sellers normaly don't specifiy if an OPL3 chipset is on board or not, but sometimes this information is available somewhere in the web. Here a list of some cards which are known as applicable:

  • Creative Soundblaster Pro II (or Soundblaster Pro 2)
  • Creative Soundblaster 16 (not the VALUE version!)
  • Creative Soundblaster Pro SCSI
  • Creative Soundblaster 16 SCSI (CT1770)
  • Creative Vibra 16 (CT2260)
  • Creative Vibra 16 (CT2800)
  • Creative Vibra 16 (CT2810)
  • Creative Vibra 16 PnP (CT2890)
  • Creative SB16 MCD (CT1750)
  • Media Vision Pro AudioSpectrum 16
  • Media Vision Jazz 16
  • Media Vision PAS16 LMSI 1992 (IXW-PAS16P)
  • Media Vision PROAUDIO 3D
  • Turtle Beach Tropez Rev 2.0
  • Turtle Beach Monte Carlo (P/N 500.2)
  • ESS AudioDrive
  • Aztech Sound Galaxy
  • Aztech Sound Galaxy Washington 16
  • Aztech Sound Galaxy Nova 16
  • Aztech AZT2316-S
  • Mozart ISA
  • Mediamagic ISP-16
  • TeleVideo teleWave Q32=/SRS (Rev.C)
  • Televideo Telesound Pro16
  • Adlib Gold 1000
  • Windows SOUNDSYSTEM (rev B.)
  • OPTi 930 Soundsystem (S0930S0010)

Soundcards which are known that they are not stuffed with an OPL3 chipset:

  • Creative Soundblaster 1.0, 1.5, 2.0, Pro
  • Creative Soundblaster 16 VALUE (PNP)
  • all new soundcards which are produced today
  • all PCI soundcards (search for ISA cards)

Please let me know if you've found an applicable soundcard which is not in the list!


PCB data, can be viewed, modified and converted with Eagle Light. The .pdf based schematic has been created with xcircuit. There are no special eagle schematics available, since components have been netlisted in the .brd file directly!
Module Schematic Layout Data Quick-view
MBHP_OPL3_V1 mbhp_opl3.pdf mbhp_opl3_v1b.brd mbhp_opl3_v1b.png
Additional informations
File Size Description
mbhp_opl3_orderlist.txt 1k Reichelt orderlist
mbhp_opl3_interconnections.pdf 7k Interconnection diagram for CORE/OPL3 module
bipolar_12v_psu Wiki Wiki article about bipolar PSUs (required to get a +/- 12V voltage)

Desoldering Guide

Desoldering the YMF262 and YAC512 from and old soundblaster (or compatible) card is one of the most critical things in this project which requires some practice. The easiest way I found out is the use of an isolated copper cable (can be taken from a old coil or transformer), which has to be threaded beneath the small SMD pins.
Add some solder-tin to the pins and remove it again with a solder sucker. This will not only remove the new solder, but also the small portion of tin which was there before. Now you can pull on the copper wire while the tip of your soldering iron still heats up the pins a little to lift up the pins from the PCB without any damage!
You have to do the same on the YAC512.
It makes sense to train this method on some of the other SMD chips before. Very important: don't heat up the chips too much!!!

Soldering Guide

At the beginning the SMD chips should be mounted at the bottom of the PCB. Just solder some tin to the pads, make sure that no tin clumps are between the tracks (!), attach the chip and head up each single pin a little.
Note: a soldering iron with a small tip is absolutely required!
The second YAC512 is an optional chip for two additional audio channels. On a common soundblaster soundcard you will only find one YAC512, this means that you have to purchase two cards. If you have only one, just left the appr. pads of the second YAC512 open.
Now add the 8 bridges at the top of the PCB.
Mount each part, but left out the TL074 from the sockets to test the voltages. Attach the +5V connection from J2 of the core module first and check if the green LED is lit. If it isn't, you've probably a short on the PCB! Remove the power-supply immediately and visually check for the error.
Thereafter connect the +12V/-12V power supply. If the LED gets brighter, remove it immediately and search for soldering errors. Measure the voltages at pin 4 and 11 of the TL074 (see schematic).
Finally switch off the power-supplies, put the TL074s into the sockets, and add the additional connections like described in mbhp_opl3_interconnections.pdf
In the MIOS Download section you can find a testprogram, which allows you to check the interconnections (follow the instructions in the the main.asm file). There is also a testtone application, which sends a 1kHz tone over all 4 channels.

Last update: 2023-11-04

Copyright 1998-2023, Thorsten Klose. All rights reserved.