VOGONS

Common searches


First post, by Strahssis

User metadata
Rank Member
Rank
Member

Hi everyone,

I have multiple old laptops that do not have a built-in sound card, I have some Compaq Contura's for example. I got MIDI to work in Windows by using a EES PC-MIDI 1/4 parallel interface with a Roland SC-55st, RA-30 and E-66. However, I would like to use MIDI in DOS games as well and with some searching I stumbled on SoftMPU. It says it requires a SoundBlaster sound card in order to work, but I don't understand why. If MIDI can work in Windows independently from a SoundBlaster, then why can't it in DOS?

My question is simple: is there a way to get MIDI to work using SoftMPU or an alternative with a Compaq Contura and if so, how? I prefer to use parallel over serial, because then I can use the E-66 and RA-30 as well instead of the SC-55st only. I do have the serial cable for the SC-55 if that makes any difference for DOS or SoftMPU, but of course I can only use the SC-55st then and not the E-66 or RA-30. Please let me know what I can do and thank you in advance!

All the best,

Miko, Strahssis

(The exact models I have planned for SoftMPU is a Compaq Contura 430C, Contura 420CX, Contura Aero 4/25 and an Olivetti Philos 20.)

Mimi: AMD K6-2/266, S3 Trio64, Diamond Monster 3D II, Sound Blaster CT2800, 32MB RAM
Satellite 220CS: Pentium 133, SVGA DSTN, Sound Blaster Pro, 64MB RAM
Contura 420CX: 486DX4 75, VGA TFT, Roland Serial MIDI, 16MB RAM

Reply 1 of 6, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hi Miko!

The SoftMPU is some sort of background application that simulates an intelligent MIDI port in software.
However, it needs a physical MPU-401 port to send the data to. Or a serial port, if memory serves.

Edit: In theory, your ESS MIDI adapter could be used, if the author of SoftMPU would add special support for your MIDI adapter.
However, he likely doesn't have your adapter model at hand for testing,
so even if he wanted, he can't add special support right now.

https://en.wikipedia.org/wiki/MPU-401#SoftMPU

On Windows, any MIDI port can be used, because Windows applications can use the APIs MCI and DirectMusic.
But in order to get DOS games working, an MPU-401 must be visible to the games.
It can either be real or simulated by a Windows driver.
That driver can be part of the soundcard, Windows itself or a special program (VDMSound).

Edit: SoftMPU uses Protected-Mode tricks to intercept calls to its fake MPU-401.
This makes it incompatible to both 16-Bit DOS PCs (8086/286) and the virtual DOS under Windows.
Also, SoftMPU only works with Real-Mode games.
Any games using DOS4GW won't work with SoftMPU.

https://en.wikipedia.org/wiki/Media_Control_Interface
https://en.wikipedia.org/wiki/DirectMusic

By the way. Real Sound Blaster 16 cards had two MIDI interfaces, also.
SB-MIDI that worked through the SB's own processor ('DSP') and the aforementioned MPU-401.
The early 8-Bit models had SB-MIDI only.
Most Sound Blaster Pro/16 compatibles do have MPU-401 only.

Good luck! 🙂👍

Edit: I'm speaking under correction, of course. I'm just a user.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 2 of 6, by Strahssis

User metadata
Rank Member
Rank
Member

Thank you for your elaborate reply, I really appreciate that. I have a better understanding now between the differences in how Windows handles MIDI and how that is different from DOS. VDMSound looks like a good option for me. I might be able to use the Windows 9X driver for running the DOS games that way. I have been looking around a bit, but I notice that in all the information they talk about port 220 for VDMSound (SoundBlaster port if I recall correctly), but since the EES PC-MIDI 1/4 is a parallel device, I think I should somehow set it up for port 378. I can't find how to change that and I know also that DOS games usually don't provide the option for 378 as well.

There is also the issue of limited VDMSound support for Windows 95 if at all. I read about mixed results. Sadly all sources that mention 9X only talk about sound card emulation as well, they never say anything about MPU-401. Only the NT-versions say anything about MPU-emulation, so I hope it is even supported. I guess this part is just a matter of trying and see what happens though.

Mimi: AMD K6-2/266, S3 Trio64, Diamond Monster 3D II, Sound Blaster CT2800, 32MB RAM
Satellite 220CS: Pentium 133, SVGA DSTN, Sound Blaster Pro, 64MB RAM
Contura 420CX: 486DX4 75, VGA TFT, Roland Serial MIDI, 16MB RAM

Reply 3 of 6, by sergm

User metadata
Rank Oldbie
Rank
Oldbie

If VDMSound turn out to be a suitable option, I might help with coupling all that stuff.

First of all, I trust you have MIDI fully working in Windows, that is it's available for Windows applications and not only in DOS sessions. That's a requirement for this sort of setup, and VDMSound essentially binds a virtual MPU-401 device that it provides in DOS sessions with a Windows MIDI driver.

Albeit, the VDMSound for Windows 9x might be not very stable comparing to its NT counterpart, yet I've never tried it with Windows 95 (BTW, which version do you have installed, OSR?). Given the amount of RAM on that machine, it might be a problem, actually. Ideally, the highest hope would of course be making SoftMPU support that device, as many games refuse to work in Windows box normally. But that indeed requires time of a core DOS developer to write the driver for the device, and those guys are scarce these days...

Reply 4 of 6, by Strahssis

User metadata
Rank Member
Rank
Member
sergm wrote on 2022-05-12, 19:12:

If VDMSound turn out to be a suitable option, I might help with coupling all that stuff.

First of all, I trust you have MIDI fully working in Windows, that is it's available for Windows applications and not only in DOS sessions. That's a requirement for this sort of setup, and VDMSound essentially binds a virtual MPU-401 device that it provides in DOS sessions with a Windows MIDI driver.

Albeit, the VDMSound for Windows 9x might be not very stable comparing to its NT counterpart, yet I've never tried it with Windows 95 (BTW, which version do you have installed, OSR?). Given the amount of RAM on that machine, it might be a problem, actually. Ideally, the highest hope would of course be making SoftMPU support that device, as many games refuse to work in Windows box normally. But that indeed requires time of a core DOS developer to write the driver for the device, and those guys are scarce these days...

Thanks for your offer to help out, I really appreciate that. I am planning to try out VDMSound. I could use SoftMPU for like a Yamaha TG100 or Roland SC-55 of course, but any other MIDI-device I have I can't use with serial MIDI, so I would really like to see what I can do with my parallel PC-MIDI in DOS. The EES PC-MIDI 1/4 is fully setup in Windows and works perfectly with all Windows applications.

For games that don't work in the DOS window, I could always fall back on serial MIDI with SoftMPU.

I use Windows 95 OSR2 on most of my computers, Windows 95 RTM on a few. The RAM on both my Contura 420CX and 430C is upgraded to 16MB. Only my Contura Aero 4/25 is stock with 4MB, but I don't run Windows on that laptop anyways.

Mimi: AMD K6-2/266, S3 Trio64, Diamond Monster 3D II, Sound Blaster CT2800, 32MB RAM
Satellite 220CS: Pentium 133, SVGA DSTN, Sound Blaster Pro, 64MB RAM
Contura 420CX: 486DX4 75, VGA TFT, Roland Serial MIDI, 16MB RAM

Reply 5 of 6, by Jo22

User metadata
Rank l33t++
Rank
l33t++
Strahssis wrote on 2022-05-13, 23:03:

For games that don't work in the DOS window, I could always fall back on serial MIDI with SoftMPU.

Yes, that's a possibility.

If you're into MT-32, the MT-32Pi project supports SoftMPU, too.
https://github.com/dwhinham/mt32-pi/releases

The standard baut rate was set to PC compatible speeds because of this (38400 Baud).

v0.10.1 Changed […]
Show full quote

v0.10.1
Changed

Update to libmt32emu v2.5.2.
Update to FluidSynth v2.2.2.
The default value for usb_serial_baud_rate is now 38400 to reflect the most common use case (connecting to a vintage PC with SoftMPU

Alternatively, there's a parallel port MIDI synth, also.
A special version of SoftMPU seems to work with it.
Anyway, I have little knowledge about it.
https://www.serdashop.com/S2P

Strahssis wrote on 2022-05-13, 23:03:

I use Windows 95 OSR2 on most of my computers, Windows 95 RTM on a few. The RAM on both my Contura 420CX and 430C is upgraded to 16MB. Only my Contura Aero 4/25 is stock with 4MB, but I don't run Windows on that laptop anyways.

Hi! I'm a user of a Contura, too! 😃
It's a wonderful little companion for programming and tinkering.
I'm still using Windows 3.10 (+DOS 6.2), though.

Edit: There's more. MIDI modules with an RS232 port can act as a converter to DIN MIDI.
Their pass-through should make the MIDI signals appear as if it was normal.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 6 of 6, by Strahssis

User metadata
Rank Member
Rank
Member

Hi there, thanks again for helping out! It's much appreciated.

Jo22 wrote on 2022-05-23, 13:34:

If you're into MT-32, the MT-32Pi project supports SoftMPU, too.

I have heard of the project and I heard that it emulates the MT-32 pretty well. I might use this at some point, but I am kind of a purist when it comes to sound cards and MIDI modules, so I usually stay away from emulation as much as I can. I am still looking for a cheap RA-50, which would be the cheap way to get into MT-32.

Jo22 wrote on 2022-05-23, 13:34:

Alternatively, there's a parallel port MIDI synth, also.
A special version of SoftMPU seems to work with it.
Anyway, I have little knowledge about it.

I tried this version already, but I couldn't get it to work with the PC-MIDI so far, which is weird. It complained about the soundblaster not being there, but since I was using the right port for LPT that shouldn't have been an issue. Maybe Daggerfall and Transport Tycoon don't support it? Those are the games I tried.

Jo22 wrote on 2022-05-23, 13:34:

Hi! I'm a user of a Contura, too! 😃
It's a wonderful little companion for programming and tinkering.
I'm still using Windows 3.10 (+DOS 6.2), though.

Awesome! Yeah these are some great laptops. I love their serviceability, build quality and looks very much. The performance isn't anything spectacular, but it does the job. Never really used Windows 3.11 much on these, on my Aero for a bit, but I went back to MS-DOS 5.0 fast.

Jo22 wrote on 2022-05-23, 13:34:

Edit: There's more. MIDI modules with an RS232 port can act as a converter to DIN MIDI.
Their pass-through should make the MIDI signals appear as if it was normal.

That is a useful tip! Luckily I have one device that meets these requirements. The Yamaha TG100 has both RS232 port and a MIDI Thru port.

Next Thursday and Friday I have some days off, so I should be ready to do some tinkering with my Contura's 😀

Mimi: AMD K6-2/266, S3 Trio64, Diamond Monster 3D II, Sound Blaster CT2800, 32MB RAM
Satellite 220CS: Pentium 133, SVGA DSTN, Sound Blaster Pro, 64MB RAM
Contura 420CX: 486DX4 75, VGA TFT, Roland Serial MIDI, 16MB RAM