SoftMPU and MPU-401 on LPC interface

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

SoftMPU and MPU-401 on LPC interface

Postby Kamerat » 2017-12-20 @ 06:18

A lot of motherboards from the early to mid 00's came with an MPU-401 interface integrated to the LPC interface chip, they even got their own IRQ assigned. I've tried some of these MPU LPC interfaces but SoftMPU fails to detect them even if they work with games like Descent and Doom (Duke Nukem 3D also fails on detecting MPU).

Is there any way to make SoftMPU work? It can be useful with PCI sound cards that lacks connection for external MIDI devices like Sound Blaster PCI/Live!/Audigy, Trident 4DWaveDX/NX and some Cirrus Logic based cards.
User avatar
Kamerat
Oldbie
 
Posts: 856
Joined: 2014-3-14 @ 19:09
Location: Oslo, Norway

Re: SoftMPU and MPU-401 on LPC interface

Postby bjt » 2018-1-09 @ 20:50

What's the error output from SoftMPU? Failed to detect MPU-401?

The MPU check relies on the interface returning an ACK. Maybe some games don't do this check and just squirt data at the interface?
User avatar
bjt
Oldbie
 
Posts: 1430
Joined: 2013-2-06 @ 10:40
Location: UK

Re: SoftMPU and MPU-401 on LPC interface

Postby Kamerat » 2018-1-10 @ 04:33

bjt wrote:What's the error output from SoftMPU? Failed to detect MPU-401?

Yes, that's correct.
bjt wrote:The MPU check relies on the interface returning an ACK. Maybe some games don't do this check and just squirt data at the interface?

Yeah, that may be the case. A little weird thing is that Descent detects MPU-401 on the LPC interface but not on my ESS Solo-1 (for SoftMPU it's the other way around).

Do you think if it's possible to add a "force" option to SoftMPU to get around the issue?
User avatar
Kamerat
Oldbie
 
Posts: 856
Joined: 2014-3-14 @ 19:09
Location: Oslo, Norway

Re: SoftMPU and MPU-401 on LPC interface

Postby bjt » 2018-1-10 @ 13:58

Yes, could do. Would you be able to test & report back if I sent you a patched version?
User avatar
bjt
Oldbie
 
Posts: 1430
Joined: 2013-2-06 @ 10:40
Location: UK

Re: SoftMPU and MPU-401 on LPC interface

Postby Kamerat » 2018-1-10 @ 19:19

bjt wrote:Yes, could do. Would you be able to test & report back if I sent you a patched version?

Yes, I can do that.
User avatar
Kamerat
Oldbie
 
Posts: 856
Joined: 2014-3-14 @ 19:09
Location: Oslo, Norway

Re: SoftMPU and MPU-401 on LPC interface

Postby bjt » 2018-1-10 @ 23:12

OK, please try the attached test versions and let me know if test1 and/or test2 work for you. Cheers
Attachments
SMPUTST.ZIP
(12.63 KiB) Downloaded 29 times
User avatar
bjt
Oldbie
 
Posts: 1430
Joined: 2013-2-06 @ 10:40
Location: UK

Re: SoftMPU and MPU-401 on LPC interface

Postby Kamerat » 2018-1-11 @ 01:15

Thanks, much appreciated! :-D

Tried it on a MSI KT266 Pro2 with the W83627HF-AW LPC chip where the regular SoftMPU won't work. Both versions you supplied in the archive seems to work fine.
Used a Sound Blaster PCI64 (Creative CT5507/Ensoniq ES1370) and a Turtle Beach Santa Cruz (Crystal CS4630) for testing as none of theese cards supports external MIDI devices under DOS. The internal synth of the Sound Blaster PCI64 were set to I/O 340h during the test. Games I tried, all with success: A-10 Tank Killer, Space Quest 4, Ski or Die, Indy 500 and Silpheed. I can test it on some other motherboards too.

Anther question: Would it be possible to use the IRQ of the LPC MPU-401 instead of the Sound Blaster IRQ omitting the SB requirement? I guess that also need some change to SoftMPU itself.

Edit: Also works on the Asus P4C800-E Deluxe (W83627THF-A).
User avatar
Kamerat
Oldbie
 
Posts: 856
Joined: 2014-3-14 @ 19:09
Location: Oslo, Norway

Re: SoftMPU and MPU-401 on LPC interface

Postby bjt » 2018-1-11 @ 23:38

Good to hear, I'll look to add a force MPU option in the next version.

Unfortunately I don't think the hardware MPU IRQ can be used as a replacement for the SB IRQ, because as far as I know there's no way to trigger the MPU IRQ from software. The MPU IRQ only gets triggered when the MIDI port receives data.
User avatar
bjt
Oldbie
 
Posts: 1430
Joined: 2013-2-06 @ 10:40
Location: UK

Re: SoftMPU and MPU-401 on LPC interface

Postby Kamerat » 2018-1-12 @ 17:41

Thanks for the explanation. I've also tried the Audigy 2 ZS (last card from Creative with inofficial DOS Sound Blaster support) with success even with some games requiring IRQ 2/9, had the Audigy set to IRQ 2 in CTSYN.INI
User avatar
Kamerat
Oldbie
 
Posts: 856
Joined: 2014-3-14 @ 19:09
Location: Oslo, Norway

Re: SoftMPU and MPU-401 on LPC interface

Postby bjt » 2018-1-13 @ 20:47

Cool, I'll add it to the compatibility list.
User avatar
bjt
Oldbie
 
Posts: 1430
Joined: 2013-2-06 @ 10:40
Location: UK

Re: SoftMPU and MPU-401 on LPC interface

Postby bjt » 2018-1-22 @ 11:40

Just a heads up that this change made it into 1.91. The MPU detection no longer requires ACK to be returned. Let me know if there's any further issues.
User avatar
bjt
Oldbie
 
Posts: 1430
Joined: 2013-2-06 @ 10:40
Location: UK


Return to SoftMPU

Who is online

Users browsing this forum: No registered users and 0 guests