VDMSound
» see vdmsound.sourceforge.net as it lived, on the wayback machine
~ the obit ~
There is a specific disappointment that belongs to the early 2000s: you upgrade the house PC from Windows 98 to 2000 or XP, you put in a DOS game you have had for years, and it runs perfectly in total silence. Windows NT and its descendants would execute the game through a 16-bit subsystem called NTVDM, but they would not let it near a sound card. The music and the voices were simply gone.
VDMSound was one man's answer to that. Vlad Romascanu started it as a private project in Montreal in 1998, and his original motive was narrower than what it became: he wanted to capture the MIDI music out of games as a file, which meant intercepting what the game thought was a sound card. The first public release came on 4 July 2000, and after a full rewrite in the spring of 2001 it became open source and moved to SourceForge.
What it emulated was a decent shelf of 1990s PC audio hardware. AdLib and Sound Blaster were the headline acts, with MPU-401 MIDI underneath them and joystick support on top. It could record everything it captured to WAV and MID files, which was the feature the whole thing had grown out of. By version 2.1.0 beta in July 2003 it had a wizard built as a Windows shell extension, so you right-clicked any DOS executable and it set itself up. A separate port for the Windows 9x line came from a contributor named Chris Chua.
~ the rap sheet ~
| Born | 4 July 2000, from a private project begun in Montreal in 1998 |
|---|---|
| Peak | 2.0.4 on 4 August 2001; a 2.1.0 beta followed on 5 July 2003 |
| Killed | February 2004, last check-in on the 14th |
| Lifespan | about 3 years, 7 months in public |
| Made by | Vlad Romascanu, open-sourced on SourceForge in 2001 |
| Killed by | the limits of the Windows 16-bit subsystem |
~ only the sound card ~
The design choice that defined VDMSound is also the one that killed it. DOSBox emulates an entire PC in software, processor and all. VDMSound emulated the audio hardware and let Windows handle everything else natively through NTVDM. On the machines people actually owned in 2002 this was a real advantage, because a game running through the operating system's own virtualization ran considerably faster than the same game running inside a software PC.
The cost was that VDMSound inherited every defect of a subsystem Microsoft was not maintaining for this purpose. DPMI support across the NT line was incomplete, so some games refused to start or crashed at random the moment they talked to the emulated card. Interrupt emulation on the older kernels was wrong in a way that hung certain games until you patched them with a tool called CLI2NOP.
~ the ceiling ~
Those are not bugs in VDMSound. They are bugs underneath it, in a part of Windows that nobody at Microsoft was going to fix for the sake of DOS games, and no amount of work on the emulator could reach them. The project was discontinued in early 2004 with the last check-in on 14 February, and the stated reason was exactly that: further improvement in emulation was no longer possible given what the 16-bit subsystem would do.
It is a rarer ending than it sounds. Most abandoned software runs out of a maintainer or runs out of money. VDMSound ran out of room underneath it, and Romascanu wrote that down and stopped instead of shipping against a wall for another two years.
~ where the code went ~
The sound emulation did not die with the project. It was taken into DOSBox, which took the slower and more thorough approach and which is still going a quarter of a century later. So the work survives under another name, inside the software that solved properly the problem VDMSound could only solve halfway. That is the ordinary good ending for open source, and it is still a death for the thing that carried the name.
The hardware argument settled itself too. NTVDM never made it into 64-bit Windows, so on an ordinary machine today there is no 16-bit subsystem for VDMSound to sit on even if you found a copy, and copies are on the Internet Archive. For those of us who came up on dial-up in the late nineties and were still playing DOS-era games well into the broadband years, because that is what was on the shelf at home and on the machines in the cafes, VDMSound covered about three of those years.
~ leave a rose ~
an anonymous tribute. one rose per visitor per day.
@}-->-- ... roses left here
~ leave a wreath ~
a rose fades by morning. a wreath stays on this grave for good, with your name on it.
from $1, paid once through stripe. it keeps the graveyard running: the hosting and the nightly digging. adopt it and the headstone reads "maintained in memory by" you. the groundskeeper plants new wreaths at the next tending, usually within a day.
» one email a week: new graves and the anniversaries of the dead. subscribe
other utilities: GeekTools, 12ft.io, StartCom / StartSSL, Fetchnotes
also died in the 2000s: Iris Browser, Jubii, Netian
~ leave a note ~
visitors before you have left these graveside notes. anonymous welcome.