VDMSound is an open source (licensed under the GPL) emulator of legacy sound card devices, designed to allow video games and other applications written for MS-DOS to run on the Microsoft Windows NT/2000/XP/95/98/Me operating systems. Its author is Vlad Romascanu.
VDMSound allows the user to provide custom mappings for MIDI instruments as well as for joystick buttons and axes.
- MIDI mappings are particularly useful when the type of MIDI device supported by a game (e.g. MT-32) is different from the type of hardware or software device actually present on the system (e.g. Microsoft GS Wavetable SW Synth.)
- Joystick mappings are needed principally for DOS-based flight simulation applications, when matching yokes, throttles and pedals to the simulator's expected configuration.
Graphical user interface
As opposed to DOSBox, which emulates an entire x86 personal computer with DOS, VDMSound emulates only the sound hardware. All other aspects of DOS emulation are managed natively by the Windows operating system's 16-bit subsystem (NTVDM) through virtualization. This results in reduced system load (and thus games will run faster than under DOSBox on the same hardware specifications), at the expense of reduced compatibility (see limitations below.)
The Windows operating system's 16-bit subsystem is lacking in several areas which directly or indirectly affect VDMSound emulation:
- Incomplete DPMI support in Windows NT/2000/XP results in a number of games not starting or crashing randomly when they communicate with the emulated sound card
- Improper interrupt emulation in Windows NT/2000 (but not XP) results in some games hanging when they communicate with the emulated sound card (requiring patching via CLI2NOP.)
- Improper PIC emulation in Windows results in games not being able to use normal (or intelligent) mode, limiting VDMSound's MPU-401 emulation support to UART-mode only.
DOSBox does not rely on the Windows 16-bit subsystem and is thus not subject to these limitations.
VDMSound started as a private project in 1998, in Montreal, its motivating purpose being that of capturing in-game MIDI music through software while taking advantage of Windows NT's 16-bit subsystem virtualization. It became open-source and moved to SourceForge after a full rewrite in the early spring of 2001. It was discontinued in early 2004 (last checkin occurred on 2004-02-14), when additional improvements in emulation were no longer possible due to limitations in the Windows 16-bit subsystem. The sound emulation code from VDMSound has since been integrated into DOSBox.
VDMSound is not compatible with Windows Vista, making the project obsolete. The current version, 2.1.0 beta, will remain the final version.
- Original VDMSound project page
- SourceForge VDMSound project page
- VDMSound 2.0.4 README
- Win9x + VDMSound **ALPHA**
- VOGONS: How can i dump the sound to a wav file?
- VDMSound FAQ: The music sounds strange...
- VOGONS: Joystick Emulation
- The Sierra Help Pages: VDMS Launchpad
- Windows Driver Development Kit: Application-Based Intercepts
- CLI2NOP FAQ
- Is the latest version of VDMSound 2.1.0?