VOGONS


First post, by FinalJenemba

User metadata
Rank Newbie
Rank
Newbie

I recently "upgraded" (debatable I know) my DOS rig from an AWE64 to a SB Pro 2.0. There are alot of games that I play with OPL soundtracks. But I would really love if I could still use my sound canvas somehow. I know I can just run a second cheap card like a vibra, but it seems like I always run into issues with running 2 sound cards. Any suggestions ideas? Is there such a thing as a cheap ISA card with just basic MP401 UART?

Reply 2 of 12, by dionb

User metadata
Rank l33t++
Rank
l33t++

Define "cheap"...

What you're describing there is basically the original MPU-401 or its later derivatives (particularly the MPU-401AT) and clones (such as MusicQuest or more recently HardMPU). Of course they give intelligent mode as well and probably aren't what you call "cheap" unless you are very lucky.

But step back: what issues do you have with multiple sound cards? I wouldn't use a second SB16 (even if it's a Vibra) as they're all buggy to some degree around their MIDI implementation, but pretty much any basic SBPro2 clone will do it without issue, and if you don't need any sound from the card, you can go with very cheap/crap OPTi or ALS-based cards. Make sure you choose different base address, IRQ and DMA, and you point the BLASTER variable back to the your SBPro 2.0 after configuring the second card and you won't even notice it's there - except when using MIDI of course.

Reply 3 of 12, by FinalJenemba

User metadata
Rank Newbie
Rank
Newbie
dionb wrote on 2023-03-26, 00:45:

Define "cheap"...

What you're describing there is basically the original MPU-401 or its later derivatives (particularly the MPU-401AT) and clones (such as MusicQuest or more recently HardMPU). Of course they give intelligent mode as well and probably aren't what you call "cheap" unless you are very lucky.

But step back: what issues do you have with multiple sound cards? I wouldn't use a second SB16 (even if it's a Vibra) as they're all buggy to some degree around their MIDI implementation, but pretty much any basic SBPro2 clone will do it without issue, and if you don't need any sound from the card, you can go with very cheap/crap OPTi or ALS-based cards. Make sure you choose different base address, IRQ and DMA, and you point the BLASTER variable back to the your SBPro 2.0 after configuring the second card and you won't even notice it's there - except when using MIDI of course.

Fair point, I guess what I meant was something that wasn't smart capable so would cost less than those options. In the time being I have messed with putting my AWE64 in as a second card and pretty much disabling everything except for the MIDI output and core functions. Works fine actually, no where near the issues I have had in the past. Sure it's a bit of a waste of an AWE, but I already own it and im not using it for anything else so it works for now 🤣.

Reply 4 of 12, by stanwebber

User metadata
Rank Member
Rank
Member

ensoniq soundscape and mediatrix cards support a very narrow subset (ack) of mpu-401 intelligent mode commands which *supposedly* is enough to satisfy 90% of the games out there requiring intelligent mode.

i purchased my vivo90 last year for $25, but the opus is the under $100 soundscape card to get since it doesn't require emm386. (the vivo90 has a crippled no-emm tsr, but i don't know if it enables the mpu-401 port since i have yet to get any useable audio from it.)

Reply 5 of 12, by SScorpio

User metadata
Rank Member
Rank
Member

Unisound should resolve your issues. You can initialize only the MPU401 on the second card so you don't need to worry about other resource conflicts.

Depending on the games you want to play. A YMF719 might work well for a single-card solution. Its OPL4 has some issues with a small number of games. But overall it has excellent OPL playback and can handle MPU401 as well.

Reply 6 of 12, by Pickle

User metadata
Rank Member
Rank
Member

another recent option is the picogus it have intelligent mpu-401 capability. I just built one myself and you looking $50+ to get all the parts for it and it requires assembly.
but you can achive the same with softmpu and your awe64 card.
And like was suggested above, use unisound and you can reassign all the resources i.e ports, irq to something your pro doesnt have. Then you have pro and sb16 options in your machine. Just route the line out from one into the line out of another,
You can even zero out the opl address of the awe card so it doesnt conflict.

Reply 8 of 12, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Wouldn't it be possible to build a simple MPU-401 card by using an ATmega328p ("Arduino"), a basic "COM-Port" (8250, 16550A) at port 330h/at 31250 Baud?

I vaguely remember that normal COM ports on ISA multi-i/o cards could be modified to run at 31250 Baud (instead of 38400 Baud) by changing their default quarz crystal.

If the 3 MHz crystal was changed for a 4 MHz one (?), the divider was altered.
Selecting the 38400 Baud rate in software (its divider setting, actually) caused the serial port to physically run at 31250 Baud.

Of course, this won't give us a proper MIDI DIN port yet. MIDI via DIN uses a current loop interface. And waveblaster header uses 5v/0v TTL, not +12/-12v RS-232 levels.

But it would already allow us to talk to a microcontroller at 31250 Baud from the software side (through a MAX232 level converter or opto coupler).

That way, the microcontroller can communicate with a single baud rate to PC side and MIDI module side.

Another idea would be to implement a generic "serial" port at port 330h that's being implemented entirely in software on the microcontroller.

Anyway, I'm just thinking out loud. I would have to check how the MPU-401 port in PC memory works. Like a real serial port or more like an AdLib style i/o port, etc.

"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 9 of 12, by SScorpio

User metadata
Rank Member
Rank
Member
Jo22 wrote on 2023-03-27, 13:30:

Wouldn't it be possible to build a simple MPU-401 card by using an ATmega328p ("Arduino"), a basic "COM-Port" (8250, 16550A) at port 330h/at 31250 Baud?

I vaguely remember that normal COM ports on ISA multi-i/o cards could be modified to run at 31250 Baud (instead of 38400 Baud) by changing their default quarz crystal.

All the work has already been done as part of the HardMPU project. https://github.com/ab0tj/HardMPU/

The problem is building one yourself as prebuilds are done in limited batches, and I wouldn't call them cheap or affordable.

Reply 10 of 12, by FinalJenemba

User metadata
Rank Newbie
Rank
Newbie
Pickle wrote on 2023-03-27, 13:02:

Also my previous suggestion using softmpu with a device like serdadhop sells:
https://www.serdashop.com/DB15MIDI
This would be your cheapest option without the awe64

I already have a DB15 MIDI from them, thats what im using with the AWE64. Right now I have the 2 cards running together, and so far so good, much better than my previous experiece. I think running one non-PNP with 1 PNP helps simplify. But what do you mean by without the AWE? How would the DB15 work without it?

And since i'm using a sound canvas, I don't need intelligent mode at all. UART mode is fine. 1 day id love an MT-32, but it isn't in the financial cards right now 🤣.

Reply 11 of 12, by Pickle

User metadata
Rank Member
Rank
Member

Whoops I posted the wrong link the serial port needs https://www.serdashop.com/MIDICloudRS232

Yeah since you have the db15 already I wouldn’t change anything
Look into mt32 pi for an affordable mt32 emulation device. Serdashop also sells premade versions. I built my own and it’s affordable

Reply 12 of 12, by Tiido

User metadata
Rank l33t
Rank
l33t
Jo22 wrote on 2023-03-27, 13:30:

Wouldn't it be possible to build a simple MPU-401 card by using an ATmega328p ("Arduino"), a basic "COM-Port" (8250, 16550A) at port 330h/at 31250 Baud?
...snip...

Those UARTs don't have their status bits etc. in the same place as MPU401 interface so direct compatibility with software cannot be had this way. It is one reason why for example GUS MIDI is not MPU401 compatible, while it has an UART that is compatible with a standard Motorola one, also running at the correct speed, it doesn't have same register layout, so no MPU401 expecting software works with it.

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜