VOGONS


First post, by Deunan

User metadata
Rank Oldbie
Rank
Oldbie

Good people, I'm sure this topic has been already covered many times but there's so many posts, different HW mentioned, and some conflicting info that I decided to ask this again.

What I want: MIDI output in DOS on 286/386/486 class HW - think Sierra adventure games and the like. Cheap, no 300$+ cards to hunt down if at all possible. But if the alternatives are considerably worse, please mention that.

What I have: Roland CM-64 and Roland CM-300, both working, I've been using those in DOSBox on Windows via E-MU XMidi1X1 with pretty good results. But now I want the DOS experience.
I also have a few different sound cards, that I understand can be made to work as MPU-401 (with some TSR?): Audio Drive ES688, Aztech Labs AZT2316A, Creative AVE64 (Value I guess, CT4520), 3D Melody based on ALSA100 and Opti 931 - and I can get ESS1868 if required.

What else do I need? Some custom cable I guess, I found some schematics: http://midi.teragonaudio.com/hardware/pc_intfc.htm
I remember seeing a bit more advanced double opto-isolated (both in and out) version but I can't find it now. I've also seen MIDI interfaces for serial ports, using external MCU (this I guess will need a TSR or driver on the PC side as well). In general unless it involves soldering BGA chips I can do it, I'd rather have a more robust (and safer for the HW involved) solution even if it's more work and money spent. Within reason.

What do I do to make the sound card work as MIDI output? Just enable the 0x300 MIDI port in config and connect the cable? What's that TSR that some cards seem to need? How compatbile is this solution, in general, will I have missing notes or wrong instruments playing in some cases? Especially when using CM-64 as MT-32. I'd also want to be able to use MIDI for music and SB for digitized sounds, in games that support it.

Also I've never had AWE card back in the day, the AWE64 I have now is still untested because I got just the card, no software, and I've read the cards needs to be initialized on boot to work? So far the installation CDs I've found only carry Windows drivers - I might need help with this as well. I don't want to end up with self-inflicted problems because I'm using old or buggy or wrong software for this card.

Kindly point me to the relevant reading material, I can build my own cables, or even hardware or software if required, but obviously I'd prefer solutions ready to use.

Reply 1 of 8, by keropi

User metadata
Rank l33t++
Rank
l33t++

Here is a link to a great article explaining how to get "intelligent mode MPU" the hardware way for DOS games: http://nerdlypleasures.blogspot.com/2010/03/t … land-mt-32.html

the other way is the software way - you can emulate an intelligent mode MPU interface with SOFTMPU , this requires a soundcard with a MPU-401 interface and 386+ system to get it working and a gameport->midi cable adapter

if you read the above I am sure all your questions will be answered 😀

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 2 of 8, by Shponglefan

User metadata
Rank l33t
Rank
l33t

For hardware, all you should need is a sound card with MPU-401 support and a gameport, plus a gameport to MIDI adapter. You can find such cables for under $30. For example, the Media Vision MIDI Mate is such an adapter. There's one on Ebay right now for $27 USD.

Then as per keropi's post, you can use SoftMPU to enable intelligent mode MIDI support.

Pentium 4 Multi-OS Build
486 DX4-100 with 6 sound cards
486 DX-33 with 5 sound cards

Reply 3 of 8, by Deunan

User metadata
Rank Oldbie
Rank
Oldbie

So... for any PC not capable of running DOS 6+ and EMM386 I need actual intelligent MPU hardware - and I do have a 286 machine with MFM drive and DOS 3.31 that I wanted to use. I think I saw some projects that re-create Roland cards, will look into that. If I'm to spend so much money on ye olde ISA card then I might as well make it into a project and create my own. If I have to throw FPGA at it, I will, but not right now.

So I guess I'm sticking to 386+ and SoftMPU for now. Looks like I need to read the whole thread because the compatibility list is a bit confusing, I'm not sure if the card needs to support IRQ2/9 for proper interrupt operation or not, and which card does. I might also need some workarounds for my CM-64 it seems, to disable the unused CM-32P part for some games, but I never had to do that in DOSBox (or at least I don't remember any weird sounds, perhaps it filters the MT-32 output to only use channels 2-10?). I have no idea where I could find MID files that do that, or how to create my own.
At least it looks like newer games that use protected mode would mostly use General Midi rather than MT-32 so pure UART mode should be good enough for the CM-300 to run as SC-55. My CM-300 is GS and not GM but that doesn't seem to be a big issue.

As for the MIDI adapter, thanks for the name but less than 30$ in USA is more than 30$ for me (taxes) and almost 40$ more for shipping and custom duties, at this point I'd rather build my own. In fact I might even splurge on a custom PCB. It should be possible to have both the joystick and the MIDI interface connected at the same time.

Sigh, I was rather hoping I'm missing something obvious but apparently getting MT-32 to play in DOS is as difficult now as it was in the late '80 and even more expensive. Maybe I should make a HW MPU-401 for ISA and start selling it.

Reply 4 of 8, by keropi

User metadata
Rank l33t++
Rank
l33t++

no, it's not that hard
there is PCMIDI if you look at my signature, there is softmpu and if you search on github there is hardmpu that is hardware softmpu implementation
so plenty of options available ranging from free to ready-made

and yeah, you only need the fancy mpu boards for MT-32 era games, GM/GS ones work fine with the "simple" MPU interfaces found on soundcards
attached is a SysEx file that will disable the CM32-P part of CM-64 making it a CM-32L so you don't get the extra channels that cause problems in games

edit: DB15MIDI will provide 2x MIDI OUT ports on gameports if you don't care about losing joystick connections... else the diagram you found earlier is a good+correct way to build a midi gameport cable yourself - keep in mind that you don't need the IN port if all you do is playback/gaming
https://www.serdashop.com/DB15MIDI

Attachments

  • Filename
    cm32poff.zip
    File size
    17.78 KiB
    Downloads
    40 downloads
    File license
    Public domain

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 5 of 8, by iraito

User metadata
Rank Member
Rank
Member

I did my own cable Sc-55 and RA-50 gameport to midi cables which has 2 5pin din connectors, so both thr ra-50 and sc-55 can work at the same time.
Ended up using softmpu, connecting the ra-50 and sc-55 audio ouput (which i made end with a 3.5 aux) togheter with a Y cable, i power on a single synth at a time per game, it works well for me.

uRj9ajU.pngqZbxQbV.png
If you wanna check a blue ball playing retro PC games
MIDI Devices: RA-50 (modded to MT-32) SC-55

Reply 6 of 8, by Deunan

User metadata
Rank Oldbie
Rank
Oldbie

Ooh, many thanks for that CM-32P pack, and the links, may whatever gods you belive in grant you many children.

In the meantime I've tested the AWE64 card, seems to work but putting it into non PnP system requires running several init programs. I guess I'll keep it for something else and try to use the ALSA100 card - this one required just one init program (A3INIT.EXE) and the minmal init / software config package for DOS was just 400k. OPTi 931 is also capable of using IRQ2/9 for SB part but the minimal software package is bigger. I was thinking of using a real HDD for this build and the only IDE below 504MB that I have (that works) is merely 125MB.

As for the cable, it looks like MIDI inputs are already opto-isolated on the device side and I only need the output on PC side - it should be possible to make a circuit with just one chip and some wires and glue it inside DB15 connector case. The joystick pass-through is not a requirement for now.

Reply 7 of 8, by keropi

User metadata
Rank l33t++
Rank
l33t++
Deunan wrote on 2023-07-10, 21:25:

Ooh, many thanks for that CM-32P pack, and the links, may whatever gods you belive in grant you many children.

In the meantime I've tested the AWE64 card, seems to work but putting it into non PnP system requires running several init programs. I guess I'll keep it for something else and try to use the ALSA100 card - this one required just one init program (A3INIT.EXE) and the minmal init / software config package for DOS was just 400k. OPTi 931 [...]

As for the cable, it looks like MIDI inputs are already opto-isolated on the device side and I only need the output on PC side - it should be possible to make a circuit with just one chip and some wires and glue it inside DB15 connector case. The joystick pass-through is not a requirement for now.

😁

try UNISOUND to initialize the AWE64 , IMHO it is better than the creative drivers -> UNISOUND - Universal ISA PnP Sound Card Driver for DOS v0.81b
it even supports the OPTi931 so no need to mess with OPTi drivers as well

and yeah , all you need is the buffer chip and you can have it all inside a DB15 shell, I have done it as well

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 8 of 8, by Gmlb256

User metadata
Rank l33t
Rank
l33t

There is one little detail that UNISOUND doesn't do with the AWE64, though. Apply reverb/chorus to the FM synth which AWEUTIL does.

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce3 Ti 200 64 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS