*START HERE* SoftMPU 1.9 - Software Intelligent MPU-401 Emulator

Forum for discussion of bugs, code, and other aspects of SoftMPU.

*START HERE* SoftMPU 1.9 - Software Intelligent MPU-401 Emulator

Postby bjt » 2013-5-01 @ 00:05

Update 16/06/14 - SoftMPU 1.9 is out! This release adds support for large SYSEX messages.

Update 20/02/14 - SoftMPU 1.8 is out! This release adds support for serial MIDI output, improves performance on slower systems and fixes compatibility with ESS ISA chipsets.

I've written a TSR to allow games that require 'intelligent mode' for Roland sound/music to work with a normal sound card's MIDI interface.

Download it here: http://bjt42.github.io/softmpu

From the README:

WHAT IS IT?

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.

WHY'S THIS USEFUL?

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.
Last edited by bjt on 2013-8-30 @ 13:57, edited 13 times in total.
User avatar
bjt
Oldbie
 
Posts: 1414
Joined: 2013-2-06 @ 10:40
Location: UK

Re: SoftMPU 0.5 - Software MPU-401 Emulator

Postby bjt » 2013-5-01 @ 00:06

Please see http://github.com/bjt42/softmpu/wiki for compatibility information.
Last edited by bjt on 2013-7-10 @ 23:30, edited 7 times in total.
User avatar
bjt
Oldbie
 
Posts: 1414
Joined: 2013-2-06 @ 10:40
Location: UK

Re: SoftMPU 0.5 - Software MPU-401 Emulator

Postby Mau1wurf1977 » 2013-5-01 @ 03:59

Hi bjt!

Fantastic effort on your work! There will be a ton of people supporting you with this project that's for sure.

Challenging games to test are adventures from Legend (Gateway, Gateway Homeworld, Eric The Unready, Time Quest, Spellcasting series). They seem to perform some kind of resource check to test for a MPU401 presence.

Even a Midiman MM401 struggles here...
User avatar
Mau1wurf1977
l33t++
 
Posts: 7652
Joined: 2010-8-27 @ 04:15
Location: Western Australia

Re: SoftMPU 0.5 - Software MPU-401 Emulator

Postby keropi » 2013-5-01 @ 06:35

what a great utility! kudos for making something like this, amazing! :D
User avatar
keropi
l33t++
 
Posts: 5648
Joined: 2003-9-08 @ 06:45
Location: Greece

Re: SoftMPU 0.5 - Software MPU-401 Emulator

Postby Pingaloka » 2013-5-01 @ 09:34

WOW! Amazing utility, I was actually having big problems with a particular game.
I'm soon going to try it and report results.

Great work!
User avatar
Pingaloka
Member
 
Posts: 429
Joined: 2013-2-07 @ 13:12
Location: Spain

Re: SoftMPU 0.5 - Software MPU-401 Emulator

Postby bjt » 2013-5-01 @ 09:50

Edit: Legend games and others requiring MPU interrupts work as of SoftMPU 1.0 :happy:

Thanks everyone for your comments :happy:

Although I haven't tested them, I expect that the Legend games and other games which rely on MPU interrupts won't work with this release. The current functionality is similar to the Ensoniq Soundscape MPU interface.
Last edited by bjt on 2013-6-18 @ 10:17, edited 1 time in total.
User avatar
bjt
Oldbie
 
Posts: 1414
Joined: 2013-2-06 @ 10:40
Location: UK

Re: SoftMPU 0.5 - Software MPU-401 Emulator

Postby jwt27 » 2013-5-01 @ 13:33

Nice work! I didn't think this would be possible.. So EMM386 has an API for this?
Does it actually require MS EMM386, or will third party EMMs work as well?
WANTED - Manuals/drivers for:
  • Tecmar Graphics Master
  • Paradise Autoswitch EGA 350 (EGA1A)
User avatar
jwt27
Oldbie
 
Posts: 1628
Joined: 2011-8-15 @ 02:19
Location: Fryslân

Re: SoftMPU 0.5 - Software MPU-401 Emulator

Postby bjt » 2013-5-01 @ 15:35

MS EMM386 4.46 (MS-DOS 6.0) or later is required. AFAIK no third party EMMs support the MS port trapping API.

JEMM and QEMM do have their own (incompatible) port trapping APIs.
User avatar
bjt
Oldbie
 
Posts: 1414
Joined: 2013-2-06 @ 10:40
Location: UK

Re: SoftMPU 0.5 - Software MPU-401 Emulator

Postby Pingaloka » 2013-5-01 @ 20:56

I can just say... AMAZING work bjt! What a great app you've made!

My results so far:

HARDWARE USED,

Sound Blaster Ct2230 + NEC XR385 (BTW I don't get hanging note with this this SB16 card)


GAMES THAT WORKED,

Elvira II Jaws of Cerberus (1992)
Sensible Soccer (1992)
User avatar
Pingaloka
Member
 
Posts: 429
Joined: 2013-2-07 @ 13:12
Location: Spain

Re: SoftMPU 0.5 - Software MPU-401 Emulator

Postby bjt » 2013-5-02 @ 09:17

Thanks, have updated the list. Enjoy your new MT-32 :happy:

Interestingly, I've found that having SoftMPU loaded seems to cure some games that have speed-related issues with Roland music.

For example, both Monkey Island and Loom play Roland music incorrectly on my P233MMX unless I disable L1 cache. With SoftMPU loaded, they work fine with both L1 and L2 enabled.

I don't think this is an MT-32 buffer overflow issue, as Monkey Island uses default instruments only (Loom too?) and it happens on CM-32L too.

It seems that the small extra delay introduced by SoftMPU slows these games down enough to work properly.
User avatar
bjt
Oldbie
 
Posts: 1414
Joined: 2013-2-06 @ 10:40
Location: UK

Re: SoftMPU 0.5 - Software MPU-401 Emulator

Postby NewRisingSun » 2013-6-02 @ 20:12

You know, in all those years, I had never become aware of the "MS port trapping API". How embarrassing :)
NewRisingSun
Oldbie
 
Posts: 776
Joined: 2005-9-02 @ 02:26

Re: SoftMPU 0.5 - Software MPU-401 Emulator

Postby rfnagel » 2013-6-02 @ 21:42

I realize that this is a DOS TSR, but could something similar to that help with this problem described in one of my older message threads here -> viewtopic.php?t=21442 ?
Rich ¥Weeds¥ Nagel
http://www.richnagel.net
User avatar
rfnagel
Oldbie
 
Posts: 1194
Joined: 2009-4-03 @ 22:24
Location: Out in the woods of Crystal River, Florida USA

Re: SoftMPU 0.5 - Software MPU-401 Emulator

Postby bjt » 2013-6-03 @ 09:24

Actually a driver of this type is provided with various sound cards, Google "virtual MPU driver".

As an aside, I have the next version of SoftMPU working with Gateway and Laser Squad now. Presumably other games that require MPU interrupts will work too. I'm using code from DOSBox for the high-level logic. I'm on holiday this week but am aiming for a release when I get back.
User avatar
bjt
Oldbie
 
Posts: 1414
Joined: 2013-2-06 @ 10:40
Location: UK

Re: SoftMPU 0.5 - Software MPU-401 Emulator

Postby Jolaes76 » 2013-6-06 @ 05:41

One cannot help wondering why on earth this came this late... I can only conclude on this: must have been "hell" of a job.
If properly aired, this TSR will seriously supress the prices of real MPU 401 interfaces


:shocked:
"Ita in vita ut in lusu alae pessima iactura arte corrigenda est."
Jolaes76
Oldbie
 
Posts: 733
Joined: 2011-3-23 @ 09:31
Location: Hungary

Re: SoftMPU 0.5 - Software MPU-401 Emulator

Postby Mau1wurf1977 » 2013-6-06 @ 09:05

Jolaes76 wrote:If properly aired, this TSR will seriously supress the prices of real MPU 401 interfaces


It never does :)

People will always want the "real thing" and prices will keep going up.
User avatar
Mau1wurf1977
l33t++
 
Posts: 7652
Joined: 2010-8-27 @ 04:15
Location: Western Australia

Re: SoftMPU 0.5 - Software MPU-401 Emulator

Postby Great Hierophant » 2013-6-07 @ 05:48

Real Roland MPU-401 and compatible interfaces still have their place in 8088-80286 machines which cannot use EMM386.EXE. Also, the potential speed decrease on low-end 386s may compel some people to seek out the real hardware.
User avatar
Great Hierophant
l33t
 
Posts: 2326
Joined: 2003-4-27 @ 08:20

Re: SoftMPU 0.5 - Software MPU-401 Emulator

Postby Great Hierophant » 2013-6-07 @ 21:37

I have had some irritating issues with my Sound Blaster 16s' MIDI port and digital sound effects. Day of the Tentacle, Sam 'N Max, Gabriel Knight Sins of the Fathers and Wing Commander II all crash if I select Roland MT-32 (DOTT, WCII) or General MIDI (S&M, Gabriel) with digital voice/speech. SoftMPU is not required for the Sierra VGA or LucasArts games, but WCII refused to load with both MIDI and speech. Running the utility SBMPU401.EXE fixed these issues as it disables the MPU interrupt. Perhaps the next release should disable the MPU interrupt from the SB16 entirely?
User avatar
Great Hierophant
l33t
 
Posts: 2326
Joined: 2003-4-27 @ 08:20

Re: SoftMPU 0.5 - Software MPU-401 Emulator

Postby bjt » 2013-6-09 @ 06:02

As another data point I ran a quick test on Wing Commander II using my SB16 CT2940 (Vibra Pro). MPU out + digital speech worked without any problems.

Would like to understand this issue better - perhaps it only affects earlier SB16s.

Is Wing Commander II + speech pack the only game that requires intelligent mode and also uses digital sound? Certainly I'm not aware of any others.
User avatar
bjt
Oldbie
 
Posts: 1414
Joined: 2013-2-06 @ 10:40
Location: UK

Re: SoftMPU 0.5 - Software MPU-401 Emulator

Postby Mau1wurf1977 » 2013-6-09 @ 06:09

Seeing this requires EMM386.EXE, are there games that don't work with EMM386.EXE and UART interface? Thinking of one of the Ultima games here...

Another angle of attack. The AudioPCI (and Creative incarnations) behave like Ensoniq cards, however I was never able to get them to use the external MIDI interface.
User avatar
Mau1wurf1977
l33t++
 
Posts: 7652
Joined: 2010-8-27 @ 04:15
Location: Western Australia

Re: SoftMPU 0.5 - Software MPU-401 Emulator

Postby bjt » 2013-6-09 @ 23:00

Ultima VI requires intelligent mode and works with SoftMPU 0.5. It doesn't seem to have a problem with EMM386.

Ultima VII on the other hand doesn't tolerate either EMM386 or HIMEM.SYS, but works fine with UART mode.
User avatar
bjt
Oldbie
 
Posts: 1414
Joined: 2013-2-06 @ 10:40
Location: UK

Next

Return to SoftMPU

Who is online

Users browsing this forum: No registered users and 2 guests