VOGONS


First post, by randomtestsubject

User metadata
Rank Newbie
Rank
Newbie

This is a bit of an unusual request I'm sure, but does anyone here know of any PCI sound cards that can be initialized to use IRQ 4 in pure DOS?

For those curious as to why anyone on Earth would want that, I have a pure MS-DOS 6.22 PC (Cyrix III 700mhz on an ECS P6BAT-A+ motherboard) that I have set up for the sole purpose of running Voyetra's old Sequencer Plus Gold on. This DOS-only and MIDI-only sequencer is capable of driving 8 MIDI output ports given the right combination of interfaces, using its own specific drivers. There are two driver types: a primary "VAPI" driver which supports a broad range of now-vintage MIDI interfaces, must be loaded (but can only be loaded once), and secondary "SAPI" drivers, which only support Voyetra interfaces or MPU-401 compatible cards, but can be loaded multiple times, once for each additional interface. Each SAPI MPU driver that is loaded adds a single 16 channel MIDI Out per card.

Currently I have 5 MIDI Outs, based on the following sound card/midi interface configuration:

1. A Music Quest 2Port/SE parallel port interface using the motherboard's LPT1 on IRQ 7. This provides MIDI Outs 1 and 2.
2. A Music Quest MQX-32M on IRQ 2/9. This is a two output card but the SAPI MPU driver sees it as one. So that's MIDI Out 3.
3. A Yamaha Audician 32 ISA PNP sound card on IRQ 3, for MIDI Out 4. (This and the MQX occupy the motherboard's only two ISA slots.)
4. A CMI8738 on the motherboard, which grabs hold of IRQ 5 with no apparent way to change it, provides MIDI Out 5.

Amazingly, this all works, and I'm actually pretty chuffed to have this many ports. I hope that one day I can acquire a Voyetra V-24s, which in place of the MQX-32M would give me the full 8 ports, but these surface so rarely that I'm not holding my breath. In the meantime though, I do wonder if I might be able to achieve 6, given that I still have a free PCI slot and one free IRQ from the 3,4,5,7 and 9 that SAPI scans. (Both COM ports are disabled in the BIOS, freeing IRQs 3 and 4.)

The one card I have tried to add so far was an Ensoniq AudioPCI, which was unsuccessful. Even though the card initializes correctly, SAPI cannot see its MPU-401 port. Perhaps there is something particular about how this card emulates the port, but it leads me to believe that no Creative or Ensoniq cards are likely to work.

So that's the back story. In the end I'm okay with 5 ports, but the possibility of 6 provides an interesting tech challenge if nothing else. I'm dreaming that there is some PCI sound card out there that works in pure DOS, can be initialized to IRQ 4, is cheap because it does something this use-case doesn't require very poorly, but still provides a reliable MPU-401 compatible port in UART mode.

Does such a card exist, to anyone's knowledge? Thoughts and ideas welcome.

Reply 1 of 3, by fjardest

User metadata
Rank Newbie
Rank
Newbie

Any pci card would do, if your bios assigns that irq and the pci irq map for the slot corresponds to it.

You can also use a pci-lpt card and another midi to parallel port device. I think that ensoniq doesn't, because the midi port is assigned to software synth.

Reply 2 of 3, by randomtestsubject

User metadata
Rank Newbie
Rank
Newbie
fjardest wrote on 2023-11-02, 20:45:

Any pci card would do, if your bios assigns that irq and the pci irq map for the slot corresponds to it.

You can also use a pci-lpt card and another midi to parallel port device. I think that ensoniq doesn't, because the midi port is assigned to software synth.

Thank you for the suggestion. My understanding is that any PCI sound card running under pure DOS will be assigned an IRQ in the BIOS, but must be initialized from DOS to a separate IRQ, or is this not correct? For instance, since I want the lower IRQs to be reserved for legacy use, I set them to legacy/ISA in the BIOS, so the BIOS sets the CMI8738 to IRQ 11 or 12, while the driver initializes it to IRQ 5 for use in DOS.

The trouble as I understand it is that none of these DOS sound card drivers seem to allow IRQ 4 to be assigned this way - it's always 5, 7, or 9... and sometimes 3.

This is one of those areas where I feel like I have a lot to learn - are you saying if the BIOS assigns IRQ 4 to a PCI sound card, I can initialize it to any value in DOS and still access it from DOS programs directly at IRQ 4?

I had thought about the possibility of a PCI LPT card, but I'm not aware of any MPU-401 compatible parallel MIDI interfaces. Voyetra did make a VP-11 parallel interface but I think they're probably as rare now as the V-24s.

Reply 3 of 3, by randomtestsubject

User metadata
Rank Newbie
Rank
Newbie

Just an update in the unlikely event anyone should have the same question in the future, I have found (quite by accident) that the ALS4000 can be configured to use IRQ 4 using the "Avance Logic ALS4000 DOS Drivers" found on this site.

The longer version: I had an old Startech Parallel PCI card and decided to install it after reading that it supports MS-DOS. To my surprise it worked with the MusicQuest 2Port/SE and SPG, and allowed me to move LPT1 from IRQ 7 to IRQ 11. With that, I ordered the ALS4000 off of Ebay for 10 dollars, planning to use it on IRQ 7 and fairly confident that it would work since it does not require a TSR or Expanded Memory to work in DOS. I received it today, installed it, and it initialized and fired up in SPG without any issues.

Even though I no longer needed it to, just out of curiosity I configured it to use IRQ 4 after that, and it initialized just fine. So I've succeeded in getting 6 MIDI Out ports, and IRQ 7 is free in addition. I suppose theoretically that means I could go for 7 ports, but I think I'll just call it at 6 until I can track down a V-22 or V-24.

All 6 ports show MIDI jitter of plus or minus 2 ms. It's really amazing to me how tight MIDI can be under DOS even with a typical sound card's MPU port.

Anyway, mission accomplished. I'm a happy camper.