Tiido's KickÄss Yamaha Based Sound Card (T-04YBSC-x)
In late 2018, Tiido Priimägi released a Yamaha OPL3-SAx based sound card. We've had sound cards based on this chip since the late 90's, but this sound card takes things to a new level.
I've been playing around with these in a retro capable machine since 2017, and I can say without a doubt this is by far the best OPL3-SAx based sound card I've ever used. I would even say it eliminated my desire to have a Sound Blaster in the machine at all.
I have no interest in recording features of the card, so they won't be covered here. High fidelity playback is what I'm most interested in. Does it deliver? Absolutely.
Support
Here's a list of links that will make life easier for owners of this card.
Features
The T-04YBSC-x comes with a number of features, some optional. The card has a wide range of support for synthesis and communication. From the readme:
- Windows Sound System, mostly CS4231 compatible.
- Sound Blaster Pro 2.0, supporting most features of the real deal.
- One MPU-401 UART wired to WaveBlaster header and GamePort.
- Second MPU-401 UART wired to YMF721 based MIDI ROMpler.
- Two OPL3L, one in YMF719 and one in YMF721. Compatible with OPL2 and OPL3.
- Covox Speech Thing support. Uses YMF719 Microphone line.
- Secondary IDE port with PIO based access for stuff like CD-ROM drives.
- WaveBlaster header that can accommodate all the goodies.
- Fully functional GamePort with MIDI I/O and a polyfuse on the 5V line.
- Dedicated headphone output with a proper amplifier, can drive even 4 ohms.
- AC97 compatible front panel audio connector (lacks microphone support).
- Proper Line-Out with near 5Vpp output capability.
- Proper Line-In capable of 5Vpp signal input.
- PC-Speaker input. Repurposes Mono-In line of YMF719.
- Software controlled component and system resources management.
- YMFDEC, a custom CPLD that allows software control of various components.
Some models will not have the YMF721 (OPL4-ML2). A lot of these features are further elaborated in the Readme.
My Card
I received the T-04YBSC-A in August 2018. I decided not to go with the OPL4 option since I was using a WaveBlaster addon: the Dreamblaster X2.
Configuration
The T-04YBSC-x can be configured using Yamaha's own SETUPSA application. But why would you want to when Tiido wrote a more capable one? On the support site, Tiido provides a download to SETYMF, a really fantastic alternative.
The card itself can be configured to use one or two IRQs, and features of the card can be independently configured to use either the first or second. I've configured my Sound Blaster module to use IRQ 5 and my MPU-401 module to use IRQ 9. Windows Sound System and AdLib support can be configured separately as well. The MPU-401 and AdLib support can also be disabled.
DMA configuration works similarly, although neither of these can be disabled. They can be used for Windows Sound System audio functionality and Sound Blaster recording.
There are seven fully configurable addresses: CTRL is used to configure the card, WSS is used for Windows Sound System functions, SB Pro is the base address for all Sound Blaster functionality, MPU-401 is used as the address for MIDI functions, AdLib is used for AdLib communication, GamePort is used to report the current state of the joystick plugged in to the sound card, and Covox is used as the address for Covox Speech Thing support.
The DSP version of the Sound Blaster Pro 2 can be selected. This is sometimes useful for auto-detection routines in sound drivers. It indicates the sound card's capabilities for Sound Blaster compatible drivers. It's generally advised to leave this on DSP version 3.
The configuration program can also play test tones on all supported outputs. This will ensure that your configuration will work for all the devices you wish to use.
There is a second page dedicated to mixer settings. This page will allow you to change the levels for each of the signals relative to one another, so you can have whatever balance between sound and music (and other things) you would like.
Ymersion and tone controls are available for capable cards. In the screenshot above, mine does not contain these features, so they are hidden. SETYMF is good at hiding features that don't apply, and will do the same even for existing OPL3-SAx cards.
Lastly, there is a page which allows you to save your settings in a variety of ways. You can have the setup program automatically insert your BLASTER settings and also set up the driver when the system starts. You can also write the settings to EEPROM, which is used during the PnP process.
Windows
The T-04YBSC-x is a PnP capable card. In my experience, Windows occasionally attempted to auto-configure it differently than already configured. It is designed to honor the settings stored in EEPROM, according to Tiido, but I don't think the driver I'm using is playing nice. It is somewhat humorous to see "KickAss Yamaha Based Sound Card" show up in the Device Manager, though.
You could always just configure Windows to use a specific IRQ and DMA in the Device Manager, but I didn't want Windows doing anything with this card whatsoever. So, I simply uninstalled the OPL3-SAx driver in Windows. Disabling the card will prevent it from working altogether in Windows even if you still want it to be seen by DOS games, so that's not a very good option.
It's not a very good sound card for Windows; I experienced quite a lot of stuttering and other problems with a number of different driver versions. I suggest if you plan to also play something like Unreal Tournament, maybe consider adding a second sound card to your system such as a Vortex 2 or similar.
Autoexec
In autoexec.bat
, all that's needed to initialize the card on boot is setymf /initonly
. Again, the card can be configured with Yamaha's own software using setupsa /s
, but it offers no real benefits.
Other Command Line Switches
There's a long list of switches that can be used with SetYMF. They shouldn't be needed in most circumstances, but it doesn't hurt to refer to the Readme.
Fidelity
The card seems to be able to output up to about 25khz. This is expected, because the internal rate of an OPL chip is 49.716khz (which gives us a Nyquist frequency of 24.858khz.) There's a gentle roll off at the top as you can see.
Playback
This card has a huge range of features. It's unlikely that you will find a game that does not support at least one of the following.
AdLib
OPL3 synthesis with a licensed core is what I was truly after. It's a prerequisite for any ISA sound card going into my machine. How good is it?
The FM synthesis sounds identical to other cards with discrete OPL3 I own. That's expected: after all, the core is an OPL3-SAx from Yamaha, and this has been verified in other cards with the same chip.
What separates this card from others is the crisp output and low noise. It's a beautifully quiet card. So quiet, in fact, that it's a little easier to hear the aliasing in the OPL synth. Some music depends on this characteristic to generate metallic or goofy timbres, such as Bio Menace and Jill of the Jungle.
Sound Blaster
Sound Blaster Pro and later cards generally come with a filter onboard that will reduce some of the high frequency noise that comes from resampling from a lower sample rate to a higher one. But this card applies no such filtering, so you get that raw crispy sound. It's not everyone's favorite thing, but this unfiltered sound is absolutely essential to me personally. Later Sound Blaster cards utilized a dynamic filter which caused a lot of DOS game sound effects at low sample rates to become immensely muffled.
Games that utilize certain forms of ADPCM compression in sound effects will experience some trouble reproducing those sounds. Some explosion sound effects are completely missing from Duke Nukem 2. This is a known issue that affects all OPL3-SAx based sound cards. Thankfully, not many games use this compression algorithm. Duke Nukem 2 is the only one I can think of off the top of my head.
Games generally utilized a combination of FM synthesis (for music) and digital sampling (for sound effects). One game I know of, Zone 66, uses a combination of the two in music. This gives us an excellent reference for sound/music balance.
Covox Speech Thing
The setup program generated a tone, but I wasn't able to find any games in my library that supported this thing and not the Sound Blaster. I should revisit this section once I've been able to test it.
MPU-401 / MIDI
Devices implementing the MPU-401 protocol can work on both the WaveBlaster header and the GamePort.
I don't have a GamePort MIDI device sitting around, so the WaveBlaster will have to do. And it sounds lovely. If a particularly loud WaveBlaster adapter is in use (reportedly the DB60XG outputs a rather hot signal), 6dB attenuation can be applied via jumpers. I have it disabled for my DreamBlaster X2 and it doesn't distort, even when the music gets super loud. Tiido mentions, "[the] newer card has 9db, because 6db is right on the edge."
PC Speaker
While the PC speaker is supported, there's some kind of filtering applied that will muffle the output quite a lot. It isn't quite whittled down to a sine wave, but the filter is definitely significant. I'm used to the sizzle of a bright square wave. It isn't configurable (in fact, nothing but the gain of the PC speaker output is) so I might consider sticking to a different output for this, for the time being.
The filtered output is far more suitable for games that play digitized samples via the PC Speaker. I booted up Crime Wave - a game that solely uses the PC Speaker - and it sounds less tinny than on the real deal. It's definitely a plus if the high frequency grittiness is undesired.
"This will be addressed in the next version," Tiido claims. I'm excited to see what sorts of adjustments will be made to PC Speaker support.
Regardless, if you have the option of using other output methods, go with those. The PC speaker can only sound so good.
CD Audio
The CD audio input works. It's there. There isn't much to say about it other than its level can be configured with the SETYMF utility. It doesn't sound distorted at all, extremely clean signal.
Example Audio
I'll be uploading more examples in the future, but for now, have a listen to what I've got so far from this card:
FM Playback
Digital Playback
Other Fun Bits
In my current setup, I have connected audio output from the AC'97 connector to the Line In pins of a DS-XG card. This is so that I only need to connect the speaker output to the DS-XG without an external mixer. Of course, I only do this for general gameplay, and will not be doing this when rendering examples as mentioned above.
Conclusion
There are really only two reasons why you would want a Sound Blaster compatible ISA card that isn't the T-04YBSC-x:
- The few missing sound effects from Duke Nukem 2 are an absolute must (due to the unsupported ADPCM compression)
- You want 16-bit digital sample playback (the SBPro only did 8-bit playback)
For DOS games, the lack of 16-bit support is no big deal, because most of them don't even support anything but 8-bit playback.
The ADPCM compression is a bigger annoyance, but it may be possible to patch games that use them to use a different format that is supported. So few games use it that even this isn't a big deal.
I give the T-04YBSC-x my highest recommendation. They're being made in very limited quantities, though. But you also get the satisfaction in knowing you will have one of the highest quality cards for your retro-capable machine.
Future Plans
There is another card planned soon, the T-05YBSC-A. There's not much info on it yet, but there's a lot of activity over at the Vogons thread. Be sure to check it out. I'll continue to update this post when new information becomes available.