VOGONS


First post, by jklaiho

User metadata
Rank Newbie
Rank
Newbie

Hi all,

I'm building a Pentium 133 MMX box for DOS (and occasional Windows 3.11) gaming, and have been buying components for it left and right. In the sound department, I've got a GUS Classic rev 2.4 coming in from eBay, and am about to bid on multiple SB 16 versions in hopes of winning one.

I've also got an MT-32 from an earlier retro buying spree for a Pentium 3 machine a decade ago, and I discovered the PCMIDI project which should run it more or less without configuration in intelligent mode.

What I hope to achieve is for all of these cards to run in harmony without conflicting with each other. Basically:

  • If a game only supports Sound Blaster (and not the MT-32), use that without ever resorting to GUS emulating the SB
  • Use MT-32 for music and SB or GUS for sound effects, where this split is supported.

I've got a hardware mixer between the cards and the speakers, so getting the MT-32 and SB/GUS levels pleasant shouldn't be too hard.

I used to futz around with SB/GUS configs back in the 90s, including having an SB16 and a GUS ACE in the same machine, but need to significantly refresh my memory. Some questions:

  • Is there something that isn't self-evident about this setup, like some preferred IRQ/DMA assignments for maximum compatibility? (The PCMIDI defaults to IRQ 2, which should be fine.)
  • I think I need to disable one of the joystick ports, and set the other so that it doesn't conflict with PCMIDI (300 or 330), right?
  • Does the sound card providing the joystick port need to be the same one that's being used for audio by a game? (Never had to think about this in the 90s. I actually have an untested ISA bus CH GameCard III, so I might even try disabling the joystick ports of both sound cards and just use that, honestly...)

BONUS: If I was to get the X2GS bundle of the PCMIDI for proper General Midi audio as an SB16 wavetable board, how much would that complicate things in terms of configuration or resource allocation? I actually have no idea what using it in DOS involves at the config.sys/autoexec.bat level, as I never had such a daughterboard back in the day...

Reply 1 of 16, by Scali

User metadata
Rank l33t
Rank
l33t
jklaiho wrote on 2023-06-14, 12:52:

[*]I think I need to disable one of the joystick ports, and set the other so that it doesn't conflict with PCMIDI (300 or 330), right?

Yes, you'll want to enable only one joystick interface at most.
The address of the joystick interface is fixed at 201h though.
Perhaps you are confusing it with the MIDI interface, which uses some additional pins on the joystick port?
Yes, you should disable that on the SB16 (the GUS MIDI port is not MPU-401 compatible by default, and unless you load MegaEm, it shouldn't take control of that port).

jklaiho wrote on 2023-06-14, 12:52:

[*]Does the sound card providing the joystick port need to be the same one that's being used for audio by a game? (Never had to think about this in the 90s. I actually have an untested ISA bus CH GameCard III, so I might even try disabling the joystick ports of both sound cards and just use that, honestly...)

No, the joystick functionality is completely separate from the MIDI port or onboard sound functionality.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 3 of 16, by jklaiho

User metadata
Rank Newbie
Rank
Newbie
Scali wrote on 2023-06-14, 13:00:

The address of the joystick interface is fixed at 201h though.
Perhaps you are confusing it with the MIDI interface, which uses some additional pins on the joystick port?[...]the joystick functionality is completely separate from the MIDI port or onboard sound functionality.

OK, yeah, I didn't realize that. Thanks!

Scali wrote on 2023-06-14, 13:00:

Yes, you should disable that on the SB16 (the GUS MIDI port is not MPU-401 compatible by default, and unless you load MegaEm, it shouldn't take control of that port).

Since I initially misunderstood, I'll clarify my questioning:

Having the PCMIDI to connect the MT-32 with, I won't be needing either the SB or GUS gameports for MIDI functionality. I'll need one of them for joystick connectivity only. This being the case, does it matter which card's joystick port I disable to prevent a 201h conflict? Is the answer different if I get the X2GS and use it as an SB16 daughterboard? (Asking just in case there's a situation where disabling the game port on the SB would somehow affect its use as an MPU-401 device as a side effect.)

Reply 4 of 16, by Scali

User metadata
Rank l33t
Rank
l33t

I'm not aware of disabling gameports causing any issues.
So I would suggest... if you don't plan on using a joystick, just disable all of them.
Else, just enable the one that works best on your system. Gameports are speed-sensitive, so depending on the overall system speed, one card may work better than others. The GUS has a pretty advanced speed-compensating port, so that should be good. I'm not sure about the SB16. May depend on the exact model/revision of the card.
So I guess it's a case of trial-and-error.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 5 of 16, by jklaiho

User metadata
Rank Newbie
Rank
Newbie
Disruptor wrote on 2023-06-14, 13:05:

Note that I haven't found any GUS classic driver that works with Win98, if you consider this.

Good to know—I have the Pentium 3 machine for Win98 use, so while I won't go beyond 3.11 on this new machine, I won't bother testing the GUS on the P3 box.

Scali wrote on 2023-06-14, 13:36:

Gameports are speed-sensitive, so depending on the overall system speed, one card may work better than others.

All right. I'll give both of them a shot, and assuming I have ISA slots left over, will also try the CH GameCard 3.

Reply 6 of 16, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie
jklaiho wrote on 2023-06-14, 13:42:

Good to know—I have the Pentium 3 machine for Win98 use, so while I won't go beyond 3.11 on this new machine, I won't bother testing the GUS on the P3 box.

Win95C is okay with the GUS classic drivers.

Reply 7 of 16, by Shponglefan

User metadata
Rank l33t
Rank
l33t

In theory it should work. I have a triple sound card setup (technically more like a 4 sound card setup) in a Pentium MMX 200 using an AW64 Gold, GUS Extreme, Roland MPU401-AT. I was able to get it working with no conflicts and every game producing sound and music.

The main thing is figuring out the order of install and making sure the hardware settings are set in a way that games will use the desired sound card. This tends to be more of an issue for games where you have less control over sound card options or games with otherwise finnicky requirements.

For example, Address 220 and IRQ 5 or 7 tend to be standard Sound Blaster settings. And General MIDI tends to be IRQ 2 and Address 330. If you start from there, you'll likely have less issues than if trying non-standard settings.

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

Reply 8 of 16, by Gmlb256

User metadata
Rank l33t
Rank
l33t
Disruptor wrote on 2023-06-14, 14:18:
jklaiho wrote on 2023-06-14, 13:42:

Good to know—I have the Pentium 3 machine for Win98 use, so while I won't go beyond 3.11 on this new machine, I won't bother testing the GUS on the P3 box.

Win95C is okay with the GUS classic drivers.

Those drivers do work with Windows 98 too. However, I rather initialize the GUS thru ULTRINIT in AUTOEXEC.BAT as the Windows drivers are ill suited for it.

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

Reply 9 of 16, by AppleSauce

User metadata
Rank Oldbie
Rank
Oldbie

I've also got a similar setup , but with a pentium 233 mmx , a GF1 gus clone ,
sound blaster 16 ct1740 and a AWE64 gold then a roland MIF IPC clone card made by Texelec going connected to an official Roland MPU 401 via DB25.

Since you dont have a third sound card you should probably be able to set the SB16 to : 220, 5, 1 ,5
and the GUS to : 240 7, 7, 7 ,7

As for the daughterboard I'm not sure , I've got a midi stack connected via a midi switchbox and they all the use the same port (330) so I've never had to deal with those kind of conflicts .
I'd say if you can set the midi daughterboard to 300 since I think most general midi games let you pick the port , whereas some mt32 stuff might be hardcoded to the default 330 port.

Reply 10 of 16, by Scali

User metadata
Rank l33t
Rank
l33t
AppleSauce wrote on 2023-06-15, 01:51:

Since you dont have a third sound card you should probably be able to set the SB16 to : 220, 5, 1 ,5
and the GUS to : 240 7, 7, 7 ,7

I'd recommend swapping the IRQs.
Early SBs came with IRQ7 by default, and some software has IRQ7 hardcoded. So for best SB compatibility, IRQ7 is your choice.
As for the GUS... you could set it to IRQ5 or IRQ7, but there's really no reason to stay within the XT-range. IRQ11 was the default, and that is what I would recommend.
That leaves you with an extra IRQ in the rare XT-range for other hardware.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 11 of 16, by Pierre32

User metadata
Rank Oldbie
Rank
Oldbie

I had this exact setup in my 386 (GUS classic, Yamaha SB clone, PC MIDI). Here are the relevant lines from my autoexec:

SET ULTRASND=240,5,5,11,7
SET ULTRADIR=C:\ULTRASND
C:\ULTRASND\ULTRINIT.EXE
SET BLASTER=A220 I5 D1 T4
C:\OPL3SA\SETUPSA.EXE /S

As you can see from the range of replies, a few ways to skin the cat and your mileage will vary depending on motherboard, available resources, software you're running etc.

I recall taking the GUS 240,7,7,7,7 approach in a different machine.

Reply 12 of 16, by digistorm

User metadata
Rank Member
Rank
Member

The problem with IRQ 11 is that some DOS extenders don’t like those high IRQs. Also, some audio libraries don’t play nice with IRQs > 7. For the GUSpnp there was a tool to patch games to play nice with IRQs > 7 but I don’t know if it also works for other GUSes.

Reply 13 of 16, by Scali

User metadata
Rank l33t
Rank
l33t

I never had any issues with IRQ11 on a GUS (GF1-based ones, haven't used P&P extensively).
It's not relevant whether or not certain DOS extenders have issues with high IRQs.
What matters is: does software exist that supports a GUS *and* uses a DOS extender that has problems with high IRQs?
I've never run into one, because most probably most games either use a DOS extender that doesn't have these issues, or they don't support a GUS in the first place, so the issue is not relevant.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 14 of 16, by MJay99

User metadata
Rank Member
Rank
Member

I actually have run into an issue with IRQ 11:

Re: FastDoom. A new Doom port for DOS, optimized to be as fast as possible for 386/486 personal computers!

The reason being (affecting the Apogee Sound System there):

- GUS only supports IRQs below 8. At higher IRQs, the dos extender seems to be too slow.

Reply 15 of 16, by Scali

User metadata
Rank l33t
Rank
l33t

Weird, because the regular DOOM works fine.
It's not a big deal anyway, because the GUS IRQ is set by ultrinit. You can reconfigure it on-the-fly from the prompt.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 16 of 16, by Gmlb256

User metadata
Rank l33t
Rank
l33t
Scali wrote on 2023-06-16, 09:14:
I never had any issues with IRQ11 on a GUS (GF1-based ones, haven't used P&P extensively). It's not relevant whether or not cert […]
Show full quote

I never had any issues with IRQ11 on a GUS (GF1-based ones, haven't used P&P extensively).
It's not relevant whether or not certain DOS extenders have issues with high IRQs.
What matters is: does software exist that supports a GUS *and* uses a DOS extender that has problems with high IRQs?
I've never run into one, because most probably most games either use a DOS extender that doesn't have these issues, or they don't support a GUS in the first place, so the issue is not relevant.

There are two obscure DOS games where I have run into this: Flynn Sprint and Terroid. Both uses the DSIK library and do take advantage of the hardware mixer the GUS has.

Scali wrote on 2023-06-16, 09:27:

It's not a big deal anyway, because the GUS IRQ is set by ultrinit. You can reconfigure it on-the-fly from the prompt.

Exactly, swapping IRQ with sound cards where that resource can be configured thru software isn't hard. Batches are useful for this kind of situation.

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