A while ago, a reader commented that in certain circles, it’s well known that there were “fake” OPL3 chips. This does not appear to be widespread knowledge. After a bit of digging, an interesting chapter in the history of PC hardware unfolds.
First let’s remember that the Yamaha OPL3 FM synthesizer, typically an YMF262 or an YMF289B, was an essential part of a Sound Blaster compatible sound card (let’s forget about exceptions like Ensoniq SoundScape and its bizarre OPL3 “emulation”). At the same time the Yamaha chips were somewhat expensive, and protected by a patent.
It is apparent that someone manufactured OPL3 copies, disguised them as nondescript chips, and sold them to many more or less reputable sound card OEMs. It is not clear what exactly these chips were. However, the sound they produce is normally close enough to real Yamaha chips that they were likely manufactured based on stolen “blueprints” of the originals. And the fact that companies like ESS, Crystal, OPTi, or Aureal couldn’t produce 100% accurate OPL3 clones strongly hints that there’s something fishy about these chips. Continue reading →
Once again it’s summer and the frequency of site updates will slow down somewhat. In the next two weeks I’ll be gone with very limited or no Internet access. So if you don’t get an answer right away, please be patient…
The C99 family of INTN_C and UINTN_C macros fills a real gap in the language, but it also lays extremely nasty traps for the unwary. The evolution of how the macros are defined in the C99 language standard shows that they were poorly defined from the beginning.
Consider code such as this:
unsigned x = 1024 / UINT32_C(1 << 8);
Depending on how the UINT32_C macro is implemented, the value of x might end up being 262144 or 4, or perhaps something different altogether.
That’s not how the macro is supposed to be used you say? That may be true, but why does the compiler not complain then? No error, not even a warning. Or were the language designers really so foolish as to expect every programmer to know the entire text of the Standard by heart? Say it ain’t so… Continue reading →
While searching for an unrelated piece of hardware, I came across an old video capture board. Alarm bells started going off when I heard something rattling in the anti-static wrap.
Sure enough, one of the large capacitors fell off… because it had started leaking and corroded its own solder points as well as some of the surrounding components. Another capacitor only needed a gentle prod to fall off as well. The bad caps used to be C62 and C64. The third capacitor of the same type (C71) is still attached, but it may be beginning to leak as well and probably needs removing:
In 1994, sound cards with wavetable synthesizers were all the rage. Typically these supported 24-voice or at most 32-voice polyphony. So 44-voice synthesis sounded fancy. The following text can be found in a README file in the driver package for the MediaTriX Audiotrix Pro sound card:
Now includes 44 voice MIDI compositions FIDLING.MID and TECNOVOX.MID by Gerard Jones and EUROMAN.MID by Henri Chalifour. Combined Wavetable/FM compositions expand General MIDI horizon into imaginative territory. Game developers and amateur musicians take note! Only the Jukebox for Windows is able to play these 44 voice compositions.
The Audiotrix Pro was based on Yamaha’s OPL4 synthesizer (YMF278B plus DAC). The OPL4 wavetable synthesizer supported 24-voice polyphony. That’s a lot less then 44. But the OPL4 also included the OPL3 core, which provided up to 20 voices using classic FM synthesis. 24 + 20 = 44.
The MIDI files mentioned above can actually be found in the Audiotrix driver package. Finding an Audiotrix Pro board is however a lot harder. What to do if you’d like to listen to the 44-voice MIDI files but don’t have an Audiotrix Pro and aren’t satisfied with existing MP3 recordings? Continue reading →
Instead of writing new articles, I recently spent a lot of time fighting laptop hard disks going bad.
The first was a Seagate ST1000LM14 (apparently originally a Samsung design), a hybrid 1TB 5,400rpm disk with 8GB flash. The disk was installed in a Lenovo Z50-75 laptop and started failing after only about 7 or 8 months. The interesting thing is that the disk didn’t have bad sectors but rather CRC errors on the SATA interface during transfers.
The disk was set up for dual booting with Windows and Linux, each using close to 500GB. Linux (Ubuntu 14.04) could somewhat deal with the transfer errors by reducing the SATA transfer speed and retrying very hard. Windows 8.1 on the other hand wouldn’t even boot, couldn’t repair itself, and entirely failed to produce any kind of useful diagnostic. Boo. Continue reading →
The guessing game is back, this time with a twist: I don’t know the correct answer. A generic-looking 1997 vintage sound card recently showed up:
This is what I call a high-end low-end card… it’s a standard low-end sound card, except it also includes a low-end wavetable synthesizer, which makes it a better class of a Made in China cheap card.
The board has more or less zero distinguishing marks. There is no FCC ID, no obvious model number, no manufacturer designation. A tiny ‘S6159′ near the ISA connector may or may not mean something. Continue reading →
According to some sources, a Sound Blaster model CT-1320C is a Sound Blaster 1.5. But according to Creative’s own reference materials (which do contain many inaccuracies and cannot be taken as gospel), the only difference between a Sound Blaster 1.0 and a 1.5 is the presence of C/MS chips which provide Game Blaster compatibility.
For example this card is clearly a Sound Blaster 1.5:
Model CT-1320C, no C/MS chips, case closed. But what then is this one?
That’s another model CT-1320C, but with C/MS chips. According to Wikipedia, 1320C makes it a SB 1.5. According to Creative, C/MS chips make it a SB 1.0. How to tell who’s right and who’s wrong? Fortunately, there is a way. Continue reading →
The OS/2 Museum recently obtained a somewhat unusual board: A 1993 vintage 486 PCI/ISA board equipped with the Intel 420TX chipset.
The 420TX chipset, codenamed Saturn, was probably Intel’s first PCI chipset available to customers. It was probably first sold in 1992. The 420TX consisted of three chips. 82423TX and 82424TX together formed what would later be called a northbridge, and 82378IB was the southbridge.
Identifying the board took a little while but in the end wasn’t too difficult as it has several very unusual features. A Socket 2 486 board with PCI slots, onboard SCSI controller, but no onboard IDE or floppy—that is a rare sight indeed. Continue reading →