Following up on the Aztech ISA Sound Cards post, this post will have details about Yamaha's integrated OPL Sound Blaster clone chipset. I found that these chips provide the easiest setup.
Note: This will be a constantly updated post as new information becomes available.
Yamaha had great success thanks to the proliferation of the Sound Blaster. In the late 90's, use of their FM synth chips for music faded in favor of wavetable synthesis. However, DOS games were still being released and OEM demand for compatible sound cards existed right up to the turn of the millennium.
Developing the OPL3-SA would not only provide OEMs with great compatibility for DOS gaming, but also help Yamaha ride the success of their invention into the 2000s.
There are a few different known chips. Each chip adds to the features of the chip that came before it. Many of the interfaces are just capabilities; the headers may or may not be present on the board for everything.
- OPL3 core
- PnP compatible
- CD Rom interface
- Modem interface
- Zoomed Video Port
- DAC for OPL4
- 3D sound DSP
All of these parts exist, but may not necessarily have been used in an ISA card:
SETUPSAsoftware makes a distinction between the different OPL3-SA3 models, but none of the datasheets for these discrete chips seem to be available.
- Sometimes, OPL3-SA3 might be referred to as OPL3-SA3A.
- These chips might also collectively be referred to as OPL3-SAx.
The OPL-SA chips implement the Sound Blaster Pro 2.0 standard, and also contain a fully compatible MPU-401 interface. There is some Sound Blaster functionality that is not emulated, although the state machine for these features still is:
- Select mono/stereo output
- The OPL3-SA is always outputting stereo
- Speaker on/off
- The OPL3-SA is always outputting an audio signal
- 2bit ADPCM
- 3bit ADPCM
Fortunately, there's only one game that is known to use the above ADPCM compressions: Duke Nukem II.
There is one known bug that affects all cards, and some bugs that I have experienced on my fast test system.
SB Mixer Level (easily fixed)
The SB Mixer Level is bugged. This would be considered a major bug if not for being able to resolve it using the setup program. It doesn't control a level at all. Rather, it controls the range of volume that games controlling the mixer will use. Set the SB Mixer level to 1 and leave it that way if you want it to behave most like a real Sound Blaster Pro.
Reversed Waveblaster Channels (minor)
The left and right channels of Waveblaster cards are reversed. This is not a consideration if you aren't using one. This can be resolved with a hardware modification. Follow the link for more information.
Low Pass Filter (minor)
The Sound Blaster Pro has a low pass filter which reduces the artifacts you normally hear when audio is resampled from low sampling rate to a higher one. Capacitors exist on most cards, but they aren't nearly as significant as the ones on the Pro. Check out this post if you prefer to use accurate filters. Be warned, this will involve replacing capacitors.
But, if you're like me, and you prefer the metallic sound, you don't have to think about this. In fact, that's what gives it character!
MPU-401 IRQ Is Forced To Sound Blaster IRQ
The IRQ used for the MPU-401 is forced to use the same IRQ as the Sound Blaster emulation. This could be bad for some games that don't know how to handle this situation, especially for older games that look for the MPU-401 on IRQ 2/9.
I don't know if this is due to the chip or its configuration software yet. Once I test this, I'll update this post.
In my test system, I've encountered a few bugs that I suspect are DMA related. My test system is an industrial Pentium 4 board manufactured in 2015, however. These bugs might not surface on appropriately old systems. I ran these tests with the ATC-6631 and the LWHA151A00.
- Impulse Tracker 2.14
- Buffers get dropped, causing songs to play back faster. How much faster depends on which editor is being viewed
- WSS driver doesn't appear to be compatible in pure DOS
- Duke Nukem 3D
- Sounds play back too quickly
DMA compatibility is really dependent on the motherboard. It's a safe bet if you are dealing with a motherboard made in the 90's, this card will work great.
There are a few ways you can maximize the power of OPL3-SA based cards.
Output Level Jumpers
On most cards that utilize the OPL3-SA chip, you'll notice there's a pair of jumpers that indicates whether the output is line-level or speaker-level. What this means is you can select whether or not the output is amplified or not. If you are using powered speakers or an amplified mixer, you're better off selecting line-level. The amplifiers in such devices are often way better, and you also get less interference when using external amplifiers. If you are using unpowered speakers or headphones, you will likely need to use speaker-level output.
These jumpers aren't marked on all cards. If you don't see a table of how to set JP1 printed on your card, line-level is generally the rightmost position. For vertical jumpers, the topmost position is often line-level. If you are unsure, just be sure whenever you're moving the jumpers around that they are both in the same position (both left, both right, etc.)
Disabling Unused Inputs
In the configuration utility called
SETUPSA, you should disable inputs you aren't using. Volume sliders should be set to zero. That way, you are introducing less input noise into the output signal.
Many brand names were slapped onto cards manufactured by Atrend (ATC), Labway (LWH), and Best Union Electronics (MF). However, even on rebranded cards, you should find some similar markings.
There's also some Bannsan BS-1 boards floating around. If you find one of these, be absolutely certain the text "Yamaha 3D Sound Card" is printed at the bottom of the board to know it is based on the OPL3-SA technology.
This card is a bit of a curiosity- it uses the OPL-SA in an unusual way. Originally, this card retailed with the DB60XG daughterboard. It routes the daughterboard's audio output back in to the card via Line In. Line In therefore must be muted, otherwise a feedback loop will be created. They're fantastic cards otherwise, and even come with their own spiffy drivers. See below for more details.
Here are some guidelines if you're looking to obtain one of these fine cards yourself:
- Some sellers put YMF in their listing. Some do not. If you are browsing eBay, make sure to search for the ID of individual cards, too.
- Almost all boards with this chip contain a Waveblaster header. A few may not, but it won't be an issue if you aren't using a Waveblaster daughterboard, you don't need to worry at all. Be sure to get photo verification if you're looking for one.
- SM718 cards have many revisions. Rev 3 is likely the most compact OPL3-SA3 board out there. It contains an upside-down Waveblaster header, which makes it very easy to mount tall Waveblaster boards. However, if such Waveblaster boards are also long, you may run into issues.
- The DreamBlaster S2 makes a fantastic Waveblaster board companion.
Making It Work
There are two ways you can configure OPL3-SA cards.
Using Official Drivers
The OPL3SAX drivers are required. Find them at Phil's Computer Lab. The drivers for the Audician 32 work perfectly. Since the drivers are for the chipset and not the card specifically, this single driver set covers all ISA cards with the Yamaha chip.
In the driver pack, you'll find
SETUPSA.EXE. Run this program without any command line parameters and you are greeted with a configuration application. Here, the IRQ and DMA settings for each subsystem can be configured. Use the Tab key to move between the options and use the arrow keys to highlight your selection.
There may be a 3D section at the bottom. If you press Enter, you'll see a second configuration panel with special effects options. I disable all these and turn everything down to zero, but you may set it however you like.
Once you have finished making your selections, press Enter. If there are no conflicts, your settings will be saved.
If you want advanced control over the card's settings, you can edit the
OPL3SA.INI file directly with a text editor of your choice. It's in a recognizable and easy format.
Once you have saved your settings, you will need to add
SETUPSA.EXE /S to your
autoexec.bat file. This will load your settings into the card, and remind you of the IRQ and DMA you have configured.
Using AudioTrix 3D Drivers
The AudioTrix 3D drivers also work for this card. Please see that thread for details. I have not yet tried these drivers. When I do, I'll update this post.