VOGONS


First post, by mihai

User metadata
Rank Member
Rank
Member

Hello all,
I have an Orpheus which I enjoy a lot for DOS gaming. However, I want to use my machine for Windows 98, thus I have a SB Live (SB0100). The two cards do not play nice together.

The Issue
Standalone, each card works great. Once they are both in the same system, I experience crashes and freezes in DOS. Once I install Orpheus drivers in windows 98, I get an "windows protection error".

I would appreciate any pointers or ideas how to debug this issue.

System and debugging efforts.

My system is a p3 600 + P6BXT (440BX) + 256 MB ram, running bios defaults. No other board installed, other than Orpheus / SB Live / GF2 MX.
SB Live is on IRQ 10, Orpheus is on IRQ 7, PCMIDI on IRQ 3. All onboard devices / serial / parallel ports are disabled. I am running DOS 7.1, only himem.sys in config.sys.

Once I initialize SB Live (using Parus mixer) in DOS, the system freezes instantly - Orpheus does not need to be initialized.
I have an Audigy SB0090 as well. It works perfectly fine with Orpheus, no issues there. Only SB Live freezes instantly in DOS or gives a "windows protection error" when installing Orpheus drivers in win98.

I have other ISA (CMI 8330) card - works fine with SB Live.

I tried:
- moving SB Live in other PCI slots - no change
- changing IRQ (5/7) for Orpheus - no change.
- PNP OS (y/n), resources (auto / manual) - no change.
- playing with - delayed transaction / passive release / etc - no change.
- limited ram to 64 MB with himemx - no change.

I would really appreciate any ideas or what to try next, as I am at my wits' end. I really want to use SB Live with my 5.1 speakers and use line in to feed Orpheus audio in DOS (using Parus mixer).

Thanks for any ideas.

Reply 1 of 18, by darry

User metadata
Rank l33t++
Rank
l33t++

Make sure you use VXD drivers for the Live. Mixing VXD and WDM drivers can make Windows unstable .

I have a system with a Live!, an Orpheus, An AWE64 Value and a Gravis Ultrasound. All of these work fine in Windows 98 SE (except the Gravis, for which I did not bother to install Windows drivers because I see no point).

EDIT: Re-reading your post, I am a bit confused and realize I may have misunderstood you . I was under the impression it worked under DOS, but not under Windows 98 . I now realize your post implies it does not work in actual real-mode DOS either . Please correct me if I am wrong .

If it does not work under DOS, I am not surprised it does not work under Windows 98 either.

For reference, I used to use a CT4830 Live! with Parus Mixer in my setup (described above) and had no issues with it in DOS. Windows 98 SE ran fine too .

Why can't you use the SB0090 with your 5.1 speakers if that card works with the Orpheus in your system ?

Reply 2 of 18, by mihai

User metadata
Rank Member
Rank
Member

thanks, tried the vxd drivers, no improvement. Good to know that Live works with Orpheus, it seems the issue is with my motherboard.

I will try to change the PCI latency; if it doesn't work I will just write-off the motherboard.

Reply 3 of 18, by mihai

User metadata
Rank Member
Rank
Member

More research, more debugging - found a temporary solution:

If I enable "Force Updating ESCD" in the bios, then the cards work perfectly nice together. This lasts until the next reboot / reset, when the issue appears again.

So most likely the SB16 emulation IRQ conflicts with Orpheus IRQ. Not sure how to prevent this from happening!

Reply 4 of 18, by Gmlb256

User metadata
Rank l33t
Rank
l33t

Weird. On my Pentium III PC I have both CT4830 SB Live! and a real CT2230 SB16 installed on it. With the VXD drivers installed for the SB Live!, the SB16 emulation will disappear from the Device Manager if the real SB16 is enabled on Windows and PC is rebooted. The opposite happens when I disable the real SB16.

If there are IRQ conflicts with the Orpheus sound card you can change the SB16 emulation IRQ.

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce2 GTS 32 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 5 of 18, by Kahenraz

User metadata
Rank l33t
Rank
l33t
darry wrote on 2021-08-02, 22:37:

I have a system with a Live!, an Orpheus, An AWE64 Value and a Gravis Ultrasound.

What purpose does the AWE64 serve in this collection? I would imagine that all bases are covered between the Live! for Windows and the Orpheus for DOS. Midi sound banks, perhaps?

Reply 6 of 18, by Gmlb256

User metadata
Rank l33t
Rank
l33t
Kahenraz wrote on 2021-08-10, 21:18:
darry wrote on 2021-08-02, 22:37:

I have a system with a Live!, an Orpheus, An AWE64 Value and a Gravis Ultrasound.

What purpose does the AWE64 serve in this collection? I would imagine that all bases are covered between the Live! for Windows and the Orpheus for DOS. Midi sound banks, perhaps?

Very likely for SB16 and EMU8K compatibility because the SB Live! EMU10K1 chip is not register compatible with the EMU8K and DOS support for WSS is poor compared to the SB16 when 16-bit mixing is concerned.

Notable DOS games that supports 16-bit mixing on SB16 but not anything at all on WSS are the DOS version of Quake, the Crusader series and anything that uses the Apogee Sound System such as Duke Nukem 3D.

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce2 GTS 32 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 7 of 18, by darry

User metadata
Rank l33t++
Rank
l33t++
Gmlb256 wrote on 2021-08-10, 21:35:
Kahenraz wrote on 2021-08-10, 21:18:
darry wrote on 2021-08-02, 22:37:

I have a system with a Live!, an Orpheus, An AWE64 Value and a Gravis Ultrasound.

What purpose does the AWE64 serve in this collection? I would imagine that all bases are covered between the Live! for Windows and the Orpheus for DOS. Midi sound banks, perhaps?

Very likely for SB16 and EMU8K compatibility because the SB Live! EMU10K1 chip is not register compatible with the EMU8K and DOS support for WSS is poor compared to the SB16 when 16-bit mixing is concerned.

Notable DOS games that supports 16-bit mixing on SB16 but not anything at all on WSS are the DOS version of Quake, the Crusader series and anything that uses the Apogee Sound System such as Duke Nukem 3D.

That mostly sums it up nicely, thank you .

In addition to that, for MIDI playback, I somehow prefer the synthesis engine on the EMu8000 to that of its EMU10K1 and later descendants . See Re: How much ram do I really need sb32 .

Reply 8 of 18, by darry

User metadata
Rank l33t++
Rank
l33t++
mihai wrote on 2021-08-10, 20:30:

More research, more debugging - found a temporary solution:

If I enable "Force Updating ESCD" in the bios, then the cards work perfectly nice together. This lasts until the next reboot / reset, when the issue appears again.

So most likely the SB16 emulation IRQ conflicts with Orpheus IRQ. Not sure how to prevent this from happening!

That "feels" like a Plug 'n Play BIOS bug (on the motherboard) of some kind .

Just a thought, have you tried "Force Updating ESCD" with either PnP OS set to true or false and seeing if that makes a difference as to the persistence of the fix after RESET/reboot ?

Reply 9 of 18, by Namrok

User metadata
Rank Oldbie
Rank
Oldbie

I have a few questions about your whole setup.

What order are you initializing the cards in? What utilities are you using? UNISOUND and SBEINIT? Do you use them both at the same time along with EK1M to mix them?

I run an AWE64 and a SBLive in my system. Although I never activate them at the same time. My understanding is, since the SBLive is PCI, the BIOS assigns it an IRQ during boot. The AWE64 being ISA doesn't get an IRQ until a utility like UNISOUND or CTCM/CTCU initializes it with one. To this end, I reserved as many IRQs as I needed to in order to bump the SBLive up to IRQ9. Then I have a batch file which lets me choose between the AWE64 or the SBLive. SBEINIT can use IRQs you've reserved for Legacy ISA in the bios. As can UNISOUND.

I think UNISOUND and SBEINIT both just read the blaster variable in DOS for their settings. Are you changing this between invocations? How do you assign different values to them if you are trying to use them at the same time?

I've also found EK1M, at least for my setup, does not play well with SBEINIT. If I have SBEINIT loaded, then run EK1M, it kneecaps my XMS memory to only 2 MB. No clue why. I've also found that initializing only the AWE64, but using the SBLive as a mixer causes the SBLive to generate a ton of random noise. Luckily I can use EK1M to mute it's internal lines. Then it just dumbly mixes the PC Speaker, CD Audio and the AWE64.

Why have the SBLive at all? Windows games.

Win95/DOS 7.1 - P233 MMX (@2.5 x 100 FSB), Diamond Viper V330 AGP, SB16 CT2800
Win98 - K6-2+ 500, GF2 MX, SB AWE 64 CT4500, SBLive CT4780
Win98 - Pentium III 1000, GF2 GTS, SBLive CT4760
WinXP - Athlon 64 3200+, GF 7800 GS, Audigy 2 ZS

Reply 10 of 18, by mihai

User metadata
Rank Member
Rank
Member

@namrok - order does not matter; actually, I do not even need to initialize the Orpheus. Once I initialize the Live, the system crashes.

Finally, I believe I have cracked the case: it is an incompatibility between the Live mixer and 440BX chipset . I have tested with a completely different 440BX board / CPU / RAM. I could reproduce the issue immediately.

I have tested the same setup but using a VIA Apollo 133 board. Perfect compatibility, no errors; Live + Orpheus + Live mixer work perfectly.

Conclusion: 440bx chipset and Live mixer are not compatible.

Reply 11 of 18, by Gmlb256

User metadata
Rank l33t
Rank
l33t
mihai wrote on 2021-08-19, 19:04:

Conclusion: 440bx chipset and Live mixer are not compatible.

This statement is quite broken as the Sound Blaster Live! is not problematic on a 440BX chipset.

The only issue I had in DOS was related to the EK1M mixer in AUTOEXEC.BAT due to the PMODE/W extender and had to do a "trick" with MPXPLAY prior for it to work. You don't really need to load the Live! DOS drivers (which is mediocre and reduces compatibility with some DOS programs due to EMM386) for the EK1M mixer to work.

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce2 GTS 32 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 12 of 18, by mihai

User metadata
Rank Member
Rank
Member

I stand by what I said, as I spent ~ 3 weeks debugging and tinkering. I thought I was quite precise - my statement is about EK1M mixer and SB Live (tested two cards: SB0100 / SB0220), tested with two different BX boards and an Orpheus.
I am not using the Live drivers as I am trying to avoid EMS; also, the Live cards work great in Windows 9x on my 440BX, just not with the EK1M mixer.

Not sure I understand the trick on EK1M mixer, please let me know how to use it.

Reply 13 of 18, by Gmlb256

User metadata
Rank l33t
Rank
l33t
mihai wrote on 2021-08-19, 20:24:

Not sure I understand the trick on EK1M mixer, please let me know how to use it.

The trick here was to use the MPXPLAY program with a sound file that plays nothing and using command line switches to avoid displaying the MPXPLAY screen. This is prior to initializing the sound drivers and the EK1M mixer in AUTOEXEC.BAT.

MPXPLAY supports the Sound Blaster Live! without having any drivers and the EK1M mixer loaded.

I'll later show you how I exactly did it.

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce2 GTS 32 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 14 of 18, by Kahenraz

User metadata
Rank l33t
Rank
l33t
Gmlb256 wrote on 2021-08-19, 20:34:

MPXPLAY supports the Sound Blaster Live! without having any drivers and the EK1M mixer loaded.

In pure DOS? I didn't know that. That's cool. 😀

Reply 15 of 18, by darry

User metadata
Rank l33t++
Rank
l33t++
Gmlb256 wrote on 2021-08-19, 20:34:
The trick here was to use the MPXPLAY program with a sound file that plays nothing and using command line switches to avoid disp […]
Show full quote
mihai wrote on 2021-08-19, 20:24:

Not sure I understand the trick on EK1M mixer, please let me know how to use it.

The trick here was to use the MPXPLAY program with a sound file that plays nothing and using command line switches to avoid displaying the MPXPLAY screen. This is prior to initializing the sound drivers and the EK1M mixer in AUTOEXEC.BAT.

MPXPLAY supports the Sound Blaster Live! without having any drivers and the EK1M mixer loaded.

I'll later show you how I exactly did it.

This reminds of a similar workaround I discovered for a different issue . In my case using Live! Module Player to play a short file did the trick . See here for gory details of my admittedly very corner use case
Re: ORPHINIT: New Init Software For The Orpheus Sound Card

Reply 16 of 18, by Gmlb256

User metadata
Rank l33t
Rank
l33t

Here's an abridged version of the AUTOEXEC.BAT for the sound initialization on my Slot 1 computer:

REM Initialize the SB16
SET BLASTER=A220 I7 D1 H5 P330 T6
SET SOUND=C:\SB16
SET MIDI=MAP:G MODE:1
C:\SB16\DIAGNOSE.EXE /S
C:\SB16\MIXERSET.EXE /P /Q
REM Start the EK1M mixer for the Sound Blaster Live!
C:\MPXPLAY\MPXPLAY.EXE -scs SBA -f0 C:\MPXPLAY\INIT.WAV -xel
C:\EK1M\EK1M.EXE -f C:\EK1M\EK1M.INI

For MPXPLAY (I use the DOS/4G version) the "-scs SBA" forces the Sound Blaster Live! driver, "-f0" is to use the file to play at the beginning and "-xel" command lime switch is to avoid displaying the screen and exit after finishing playing the file.

INIT.WAV is just an dummy wav file with silent samples around 30KB.

This helps to avoid the problem when initializing the EK1M mixer in AUTOEXEC.BAT. That mixer has some weird bugs though such as ac97 afront output always staying at 0 no matter what (affects MPXPLAY output) but the rest works without any issues. Doubt that this will be fixed...

Kahenraz wrote on 2021-08-19, 20:48:

In pure DOS? I didn't know that. That's cool. 😀

Yeah. But only in pure DOS, not on a Windows environment regardless whether is 9x or NT based.

There is another program that works with that card without driver and is LMP (Live! Module Player) by Lada Kopecky. This is a DOS module player based of AMP by the same author that uses the features of EMU10K1, however it is not accurate as the other module players there but the output quality is decent.

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce2 GTS 32 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 17 of 18, by mihai

User metadata
Rank Member
Rank
Member

Thanks. Will try it out.

Reply 18 of 18, by thp

User metadata
Rank Member
Rank
Member
Gmlb256 wrote on 2021-08-19, 21:49:

REM Start the EK1M mixer for the Sound Blaster Live!
C:\MPXPLAY\MPXPLAY.EXE -scs SBA -f0 C:\MPXPLAY\INIT.WAV -xel
C:\EK1M\EK1M.EXE -f C:\EK1M\EK1M.INI

For some reason, this (running MPXPLAY before EK1M) was also needed for my SB Live CT4830 (its green output going to my speaker, its blue input coming from my SB16 card) to get it working, just using EK1M wasn't enough:

The attachment setup.jpg is no longer available

For documentation purposes (in case I need to reproduce this again in the future), here's the CONFIG.INI / EK1M.INI I'm using that works for me (could probably be adapted to silence some parts):

; ekm config, ver. 106
; ------------------------------------------------------
-b

; mix matrix
; input afront dfront rear acenter dcenter spdif2
; ------------------------------------------------------
-io ac97 100 68 68 68 68 68
-io spdif0 68 68 68 68 68 68
-io spdif1 68 68 68 68 68 68
-io spdif2 68 68 68 68 68 68
-io i2s0 68 68 68 68 68 68
-io i2s1 68 68 68 68 68 68
-io i2s2 68 68 68 68 68 68
-io wave 68 68 68 68 68 68
-io synth 0 0 0 0 0 0

; output levels
; afront dfront rear acenter dcenter spdif2
; ------------------------------------------------------
-o 100 100 100 100 100 100

; ac97
; ------------------------------------------------------
-as line
-ai line 100
aux 0
cd 0
tad 0
mic 0
beep 0

I used https://freesound.org/people/jobro/sounds/244604/ as the boot-up sound instead of silence, since it's CC0 I'm also attaching it here.

MPXPlay used was "Mpxplay v1.67 DOS/32" from https://mpxplay.sourceforge.net
EK1M used was "ekm049.zip" from Multichannel DOS mixer for DOS sound builds v0.49 for Live, v1.01 for Audigy