An MPU-401 emulation TSR for DOS
Update 21/01/18 - SoftMPU 1.91 is out! This release adds support for Princess Maker and fixes issues with Compaq BIOS and LPC MPUs.
Update 16/06/14 - SoftMPU 1.9 is out! This release adds support for large SYSEX messages.
Download SoftMPU here: http://github.com/bjt42/softmpu/archive/v1.91.zip
Discuss SoftMPU here: http://www.vogons.org/viewforum.php?f=57
Compatibility lists & serial MIDI cable pinouts: http://github.com/bjt42/softmpu/wiki
Copyright (C) 2013-2018 bjt, elianda Copyright (C) 2002-2013 The DOSBox Team
Release Notes (21/01/18)
SoftMPU is a DOS TSR that emulates an ‘intelligent mode’ hardware MPU-401 interface. It’s designed to work in tandem with the MIDI interfaces found on Sound Blaster and other common sound cards.
Games from the late 80s and early 90s that support music via the Roland MT-32/CM-32L often expect to find a hardware MPU-401 interface that supports ‘intelligent mode’. These are now expensive and difficult to find.
By supporting the ‘intelligent mode’ features in software, these games will work with the basic MIDI interfaces found on sound cards.
Run SoftMPU specifying the base port address and interrupt of your Sound Blaster, and the base port address of the MPU-401 interface, e.g.
SOFTMPU.EXE /SB:220 /IRQ:5 /MPU:330
/OUTPUT:SBMIDI switch forces Sound Blaster MIDI to be used. This
mode is intended for use with the Sound Blaster Pro 2 and other sound cards
without a hardware MPU-401 interface. Game compatibility may be reduced.
Run SoftMPU specifying the serial interface to be used and the base port address of the MPU-401 interface, e.g.
SOFTMPU.EXE /MPU:330 /OUTPUT:COM1
A Sound Blaster base port address and IRQ can optionally be specified if MPU-401 interrupts are required.
/DELAYSYSEX switch enables small transmission delays to prevent
buffer overflow with the Rev.0 MT-32.
/RA50 switch enables simulated “All Notes Off” commands for
compatibility with the Roland RA-50.
SoftMPU will remain active until the PC is restarted. It occupies approximately 8KB and can be loaded into high memory using the LH command.
Problem: When using a PS/2 mouse, moving the cursor causes slow playback. Solution: Use a mouse driver that supports direct hardware access e.g. CuteMouse 2.0 (but not 2.1).
Problem: Some games expect to find an MPU interface on IRQ 2, but my sound but my sound card doesn’t support it. Solution: Configure your sound card to use IRQ 9.
Problem: SoftMPU can’t find a hardware MPU interface when using a Sound
Blaster Pro 2 or older sound card.
Solution: Run SoftMPU with the
Problem: My Rev.0 MT-32 displays “EXC. BUFFER OVERFLOW”. Music playback sounds incorrect.
Solution: Run SoftMPU with the
Problem: Music playback stops working after running a specific program. Solution: Restart your PC. Software that reprograms the Real-Time Clock will stop SoftMPU from working correctly.
For compatibility information and serial MIDI cable pinouts, please see http://github.com/bjt42/softmpu/wiki.
Microsoft C 6.0A & MASM 6.11 are required (earlier versions may work, but are untested).
The default install directories are C:\C600 and C:\MASM611. You will need to edit BUILD.BAT if you have selected different install directories.
Run BUILD.BAT to build SOFTMPU.EXE in the current directory.
SoftMPU is distributed under the GNU General Public License. Please read LICENSE for further information.