Monthly Archives: June 2015

UINT32_C Macro Considered Harmful

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 … Continue reading

Posted in C, Development | 2 Comments

Broken Spigot

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 … Continue reading

Posted in Graphics, PC hardware, PC history | 3 Comments

44-Voice MIDI on Yamaha OPL4

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 … Continue reading

Posted in MIDI, Sound | 6 Comments

Bad Month for Laptop Disks

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 … Continue reading

Posted in PC hardware | 7 Comments