VOGONS


First post, by MrD

User metadata
Rank Newbie
Rank
Newbie

I'm trying to set up my Pentium 4 machine with a decent config for MS-DOS Mode for DOS games. I've got a Sound Blaster Live! PCI card SB0100 which is working fine under W98se. I've downloaded the livedos drivers from Phil's site ( https://www.philscomputerlab.com/sound-blaster-live.html - the livedos.zip has version 4 and the audigy set has version 5.) and it works with some games, but not others.

Duke Nukem 3D works with digitised sound and OPL or GM with the .ecw soundfont. One Must Fall 2097 works. Heartlight is silent.

What I'd really like to get working is Jazz 1. However, when I start Jazz (full, shareware, xmas - all tppatched in jazz.exe and file0001.exe) the PC will immediately reboot if any SB sound card has been selected in the setup menu. Jazz runs fine with no digitised sound (using PC speaker).

I had this working before I reinstalled Windows 98 recently ( When using a Win 98 boot/rescue disk, is it necessary to shut down the computer? ) and now I can't get things back to how they were, which is annoying. 🙁 Jazz 1 used to work flawlessly, and Tyrian was very very shaky but could be coerced into running. I made a backup copy of my autoexec.bat and config.sys, but something has changed somehow.

The only things that have changed since that point are: updating the motherboard BIOS, swapping a 40GB IDE HDD for a 32GB SDHC and adapter, possibly changing the order of the PCI cards in the slots. My first attempts at this were editing the properties of the Exit To Dos.pif, and when that didn't work I tried a standalone W98 system boot disk.

CONFIG.SYS

DOS=NOAUTO
DOS=HIGH,UMB
DEVICE=C:\WINDOWS\HIMEM.SYS /TESTMEM:OFF
DEVICE=C:\WINDOWS\EMM386.EXE RAM D=64
STACKSHIGH=0,0
BUFFERSHIGH=10,0
FCBSHIGH=1
FILESHIGH=30
DEVICEHIGH=C:\MSCDEX\ACTCD.SYS /D:MSCD001

AUTOEXEC.BAT

SET TMP=C:\WINDOWS\TEMP
SET TEMP=C:\WINDOWS\TEMP
SET PROMPT=$p$g
SET winbootdir=C:\WINDOWS
SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND
LH C:\MSCDEX\MSCDEX.EXE /D:MSCD001
CD C:\LIVEDOS
SET CTSYN=C:\LIVEDOS
SET BLASTER=A220 I7 D1 H5 P330 T6
LH SBEINIT.COM
SET DIRCMD=/OGE
CD C:\
LH C:\TOOLS\DRIVERS\MOUSE\MOUSE.COM
LH C:\TOOLS\DRIVERS\MOUSE\MOUSE.COM

Pentium 4 1.8Ghz, MS-6534 motherboard, 512MB ram (256mb x 2).
AGP: vacant
PCI: RTL8139C, SB Live! SB0100, Voodoo3 2000 PCI 16MB RAM.
The SB Live hardware uses IRQ5, with the emulation responding to IRQ7.

It feels like there's an issue with Jazz' DPMI, EMM386 and the SB16 emulation driver together somehow - there's been other reports of Jazz reboots in these threads Bizarre Issue With Tyrian and Jazz Jackrabbit On My DOS Machine - SBAWE32 Reboots computer when running certain games . I might have the wrong parameters to EMM386, but I've tried several combinations of NOEMS, and AUTO and things like that but nothing seems to work.

I've also tried setting SET DPMIMEM=MAXMEM 16383 in the autoexec but with no effect. I've disabled my motherboards USB keyboard support and parallel port.

Is there any way I can get more info out of Jazz, or some other software that uses RTM? What other info should I be looking for?

Reply 2 of 21, by megatron-uk

User metadata
Rank Oldbie
Rank
Oldbie

What is the stability like when booting with a clean config? I.e. nothing in config.sys and autoexec.bat - so you isolate any issues to do with the drivers and just focus on base system stability.

My collection database and technical wiki:
https://www.target-earth.net

Reply 3 of 21, by MrD

User metadata
Rank Newbie
Rank
Newbie

The system stability is rock solid in Win98 and MS-DOS. 😀 If I wasn't trying to specifically play Jazz, I wouldn't notice any issues. I'd memtested and was running Quake 2 multiplayer games immediately before this, so the rest of the system works together great.

To try to track down my problem I tried MS-DOS 6.22 with HIMEM, MS-DOS with JemmEx 5.78, and Win 98 MS-DOS mode.

I think I've tracked this down to an IRQ issue: Jazz will hard reboot the computer if the SB Live card hardware (not the emulated card) has been assigned to IRQ 5. (My baseless guess would be that it's checking for sound cards and doing something the SB Live doesn't like.)

With JemmEx, I get a more verbose error running Jazz.
JemmEx: exception 0C occured at CS:EIP=01E8:00001252, ERRC=00000000, SS:ESP=0018:0000FFFC, EBP=0001003C EFL=00013006 CR0=80000011 CR2=00000000 EAX=00115000 EBX=00400028 ECX=00000028 EDX=0009142D ESI=00401539 EDI=00020553
this is with any of the following Jemmex configs:
JEMMEX LOAD X=A000-FFFF NOHI NOVME NOINVLPG 32
JEMMEX LOAD NOHI NOVME NOINVLPG 32
JEMMEX LOAD
Weird that this happens only when the Creative driver is running, regardless of whether I have selected a sound card in Jazz' SETUP.

I figured out that it was adding the RTL8139 ethernet card recently that moved things about and made Jazz and Doom break. (Also note to self: Jazz will fail to start without EMS and Doom will silently hang without a lot of conventional memory - important to keep in mind when changing between memory managers.)

If I remove my network card, my motherboard gives me the following configuration:
- PCI 1 Empty
- PCI 2 SB Live = IRQ 10 (emulating a card on IRQ 7)
- PCI 3 Voodoo 3 = IRQ 11
Jazz works.

With the network card in, I get the following configuration:
- PCI 1 Network = IRQ 11
- PCI 2 SB Live = IRQ 5 (emulating a card on IRQ 7)
- PCI 3 Voodoo 3 = IRQ 9
For some reason Jazz just doesn't like that at all.

My MS6534 motherboard doesn't have the ability to manually assign IRQs to PCI slots. I can move around the serial ports between 3 and 4, and the parallel port between 5 and 7. If I turn off 'Assign IRQ to VGA', the SB Live ends up at IRQ 10 and the network card even works properly! But I'm told that Windows isn't going to like that...

It would be really useful if I could fix the SB Live at IRQ 10 and have the rest of the system organise itself around it. Win98's device manager tells me I can't manually set the IRQs. I've tried rotating the PCI cards but it doesn't seem to have a useful effect.

Reply 4 of 21, by digger

User metadata
Rank Oldbie
Rank
Oldbie

Aren't these both protected mode (DOS extender) games? That always complicates things when it comes to ISA Sound Blaster emulation. There is still no good solution for that, as far as I know, at least not in pure (non-virtualized) DOS mode.

Reply 5 of 21, by Jorpho

User metadata
Rank l33t++
Rank
l33t++
MrD wrote on 2021-06-02, 17:22:
With JemmEx, I get a more verbose error running Jazz. JemmEx: exception 0C occured at CS:EIP=01E8:00001252, ERRC=00000000, SS:ES […]
Show full quote

With JemmEx, I get a more verbose error running Jazz.
JemmEx: exception 0C occured at CS:EIP=01E8:00001252, ERRC=00000000, SS:ESP=0018:0000FFFC, EBP=0001003C EFL=00013006 CR0=80000011 CR2=00000000 EAX=00115000 EBX=00400028 ECX=00000028 EDX=0009142D ESI=00401539 EDI=00020553
this is with any of the following Jemmex configs:
JEMMEX LOAD X=A000-FFFF NOHI NOVME NOINVLPG 32
JEMMEX LOAD NOHI NOVME NOINVLPG 32
JEMMEX LOAD
Weird that this happens only when the Creative driver is running, regardless of whether I have selected a sound card in Jazz' SETUP.

Doesn't Jemmex have a specific "SB" switch for SoundBlaster driver compatibilty? It is mentioned in http://www.bootablecd.de/fdhelp-internet/en/h … base/jemmex.htm but not https://www.japheth.de/Jemm/README.html .

Reply 6 of 21, by digger

User metadata
Rank Oldbie
Rank
Oldbie
Jorpho wrote on 2021-06-02, 18:29:
MrD wrote on 2021-06-02, 17:22:
With JemmEx, I get a more verbose error running Jazz. JemmEx: exception 0C occured at CS:EIP=01E8:00001252, ERRC=00000000, SS:ES […]
Show full quote

With JemmEx, I get a more verbose error running Jazz.
JemmEx: exception 0C occured at CS:EIP=01E8:00001252, ERRC=00000000, SS:ESP=0018:0000FFFC, EBP=0001003C EFL=00013006 CR0=80000011 CR2=00000000 EAX=00115000 EBX=00400028 ECX=00000028 EDX=0009142D ESI=00401539 EDI=00020553
this is with any of the following Jemmex configs:
JEMMEX LOAD X=A000-FFFF NOHI NOVME NOINVLPG 32
JEMMEX LOAD NOHI NOVME NOINVLPG 32
JEMMEX LOAD
Weird that this happens only when the Creative driver is running, regardless of whether I have selected a sound card in Jazz' SETUP.

Doesn't Jemmex have a specific "SB" switch for SoundBlaster driver compatibilty? It is mentioned in http://www.bootablecd.de/fdhelp-internet/en/h … base/jemmex.htm but not https://www.japheth.de/Jemm/README.html .

As far as I know, it helps with the Sound Blaster drivers/emulators being able to load, but the emulators themselves only work with real mode games. As far as I know, the SB switch in Jemm doesn't magically make those drivers and emulators work with games that use DOS extenders.

Reply 7 of 21, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
digger wrote on 2021-06-02, 18:41:

As far as I know, it helps with the Sound Blaster drivers/emulators being able to load, but the emulators themselves only work with real mode games. As far as I know, the SB switch in Jemm doesn't magically make those drivers and emulators work with games that use DOS extenders.

This is not true. The SB Live's SB16 + Midi emulation can work with protected mode games. Doom, Descent, Duke 3D and other games on Build engine, Warcraft 2 etc. are all protected mode games using DOS extenders and work without problem with SB Live. And there are real mode games that simply do not. So as far as DOS games compatibility is concerned the SB Live is neither worse nor better with protected mode games than with real mode games.

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 8 of 21, by MrD

User metadata
Rank Newbie
Rank
Newbie

This is not true. The SB Live's SB16 + Midi emulation can work with protected mode games. Doom, Descent, Duke 3D and other games on Build engine, Warcraft 2 etc. are all protected mode games using DOS extenders and work without problem with SB Live.

Posting to second this. The SB Live's soundfont support on the emulated MIDI device for late protected mode games makes it a very good fit for Duke3D and Doom. 😀 I think it's quite likely that it's the main reason the SB16 DOS emulator exists.

Reply 9 of 21, by digger

User metadata
Rank Oldbie
Rank
Oldbie

Hmmm... Interesting. Didn't this only work on older motherboard chipsets, though? Due to dependency on certain features such as DDMA and DSDMA and such?

Reply 10 of 21, by MrD

User metadata
Rank Newbie
Rank
Newbie
digger wrote on 2021-06-02, 18:41:
Jorpho wrote on 2021-06-02, 18:29:
MrD wrote on 2021-06-02, 17:22:
With JemmEx, I get a more verbose error running Jazz. JemmEx: exception 0C occured at CS:EIP=01E8:00001252, ERRC=00000000, SS:ES […]
Show full quote

With JemmEx, I get a more verbose error running Jazz.
JemmEx: exception 0C occured at CS:EIP=01E8:00001252, ERRC=00000000, SS:ESP=0018:0000FFFC, EBP=0001003C EFL=00013006 CR0=80000011 CR2=00000000 EAX=00115000 EBX=00400028 ECX=00000028 EDX=0009142D ESI=00401539 EDI=00020553
this is with any of the following Jemmex configs:
JEMMEX LOAD X=A000-FFFF NOHI NOVME NOINVLPG 32
JEMMEX LOAD NOHI NOVME NOINVLPG 32
JEMMEX LOAD
Weird that this happens only when the Creative driver is running, regardless of whether I have selected a sound card in Jazz' SETUP.

Doesn't Jemmex have a specific "SB" switch for SoundBlaster driver compatibilty? It is mentioned in http://www.bootablecd.de/fdhelp-internet/en/h … base/jemmex.htm but not https://www.japheth.de/Jemm/README.html .

As far as I know, it helps with the Sound Blaster drivers/emulators being able to load, but the emulators themselves only work with real mode games. As far as I know, the SB switch in Jemm doesn't magically make those drivers and emulators work with games that use DOS extenders.

When I tested on my system, the three combinations of MS-DOS 6.22 HIMEM/EMM386, Win 98 HIMEM/EMM386 and MS-DOS 6.22 with HIMEMX/Jemm386 had exactly the same behaviour, with the exception of Jemm giving me a more detailed error. The SB switch has no effect at all on my problem.

Reply 11 of 21, by MrD

User metadata
Rank Newbie
Rank
Newbie

With the network card installed, I get the following IRQ usage:
IDE Cntrlr 14
SMBus Cntrlr 10
Simple COMM. Cntrlr 10
Multimedia Device 5 (SB Live)
Input Device NA
Display Cntrlr 10
Network Cntrlr 11
ACPI Controller 9

The SB Live takes whichever of 5 and 7 isn't assigned to the parallel port. If the parallel is disabled, the SB Live goes to 5.
If it's on 5 (emulating an SB16 on 7), Doom runs but Jazz reboots. If it's on 7 (emulating an SB16 on 5), Jazz runs but Doom reboots. Grr!

If I disable VGA Interrupts, the POST screen assignments become:
IDE Cntrlr 14
SMBus Cntrlr 10
Simple COMM. Cntrlr 10
Network Cntrlr 11
Multimedia Device 10 (SB Live)
Input Device NA
Display Cntrlr NA
ACPI Controller 9

When Windows 98 boots, some of these numbers are different, so I guess W98's IRQ assignments under PnP are completely independent of the BIOS' ones? It's even assigned an IRQ to the Voodoo 3, which I didn't think it would.

This means under Windows 98, everything is entirely 'above board' and stable, while my Exit To Dos.pif reboots into a new DOS state with no VGA interrupts, and with the SB Live living on IRQ 10 like I want it to, Jazz runs with the SB16 Emulation drivers.

The solution: disable VGA interrupts in the BIOS. 😀 (Or buy a decent motherboard which lets you set the IRQ usage manually!)

I'm glad there was no trickery in the end other than making sure the SB Live IRQ in DOS-land wasn't 5 or 7.

Here's the autoexec/config of my Exit To Dos.pif for reference. (nothing special)

CONFIG.SYS

DOS=NOAUTO
DOS=HIGH,UMB
DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.EXE RAM
STACKS=9,256
BUFFERS=10
FILES=30
DEVICEHIGH=C:\DOS\DRIVERS\CD\ACTCD.SYS /D:MSCD001
LASTDRIVE=L

AUTOEXEC.BAT

SET TMP=C:\WINDOWS\TEMP
SET TEMP=C:\WINDOWS\TEMP
SET PROMPT=$p$g
SET winbootdir=C:\WINDOWS
SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\DOS;C:\DOS\MTCP;C:\DOS\NC;C:\DOS\PKZIP
LH C:\DOS\DRIVERS\CD\MSCDEX.EXE /D:MSCD001
SET CTSYN=C:\WINDOWS
SET BLASTER=A220 I7 D1 H5 P330 T6
C:\DOS\DRIVERS\LIVEDOS\SBEINIT.COM
LH C:\DOS\DRIVERS\MOUSE\MOUSE.COM /P
SET DIRCMD=/OGE
SET LS_OPTIONS=/ena

Reply 12 of 21, by Jorpho

User metadata
Rank l33t++
Rank
l33t++
MrD wrote on 2021-06-02, 19:55:

Posting to second this. The SB Live's soundfont support on the emulated MIDI device for late protected mode games makes it a very good fit for Duke3D and Doom. 😀

Doesn't the SB Live only support soundfonts in DOS games if you're running from a DOS prompt in Win9x?

MrD wrote on 2021-06-02, 23:03:

The SB switch has no effect at all on my problem.

My earlier post suggests it is present in some versions but not others, though it's unclear if it was only introduced in later versions, or enabled by default in later versions, or dropped for simplicity.

Reply 13 of 21, by MrD

User metadata
Rank Newbie
Rank
Newbie
Jorpho wrote on 2021-06-03, 14:30:
MrD wrote on 2021-06-02, 19:55:

Posting to second this. The SB Live's soundfont support on the emulated MIDI device for late protected mode games makes it a very good fit for Duke3D and Doom. :)

Doesn't the SB Live only support soundfonts in DOS games if you're running from a DOS prompt in Win9x?

In my experience SBEINIT.COM runs fine on MS-DOS 6.22. I was running it with Doom and Duke yesterday. :) I believe it ought to work on any msdos/win dos mode/freedos system that meets the SB Live card's own listed minimum reqs (PCI slot, 64MB ram, memory manager, 400 Mhz, at a guess?) It takes .ecw soundfont files, not .sf2. It comes with a 2MB patch set, but there are 4MB and 8MB online that also work with it. (Not sure if the two formats are same/convertible.)

It's completely independent of the Sound Bank Manager program in W98, or any W98 built-in emulator behaviour, which might be what you're thinking of?

SBECFG has a commandline flag to set the SBEINIT emulator's resource settings to completely independent of Windows' settings if you want - Phil's livedos.zip has batch files that use that switch, works great for me now. SBEINIT ultimately is as straightforward to use as any clone card that requires a resident driver to act Sound Blaster-ish in dos, like a gus. (afaik?)

Reply 14 of 21, by MrD

User metadata
Rank Newbie
Rank
Newbie

Also you might be thinking of the WDM driver behaviour where running games in a DOS box in Win98 does use the Win98 midi device (and so the soundfonts): The New Creative Labs Sound Blaster Drivers Collection. (Updated 6th Jan. 2014)

Reply 15 of 21, by canthearu

User metadata
Rank Oldbie
Rank
Oldbie

In your BIOS, can you reserve IRQ 5 for Legacy ISA?

If you can, then this will prevent the BIOS from assigning PCI devices to IRQ 5, and this will let the SB emulation drivers take over IRQ 5 for it's own purposes exclusively.

Reply 16 of 21, by MrD

User metadata
Rank Newbie
Rank
Newbie

Unfortunately not.

In the PnP/PCI Configuration screen of the BIOS, the options are:

PNP OS Installed: *Yes*/No
Reset Configuration Data: *Disabled*/Enabled

PCI/VGA Palette Snoop: *Disabled*/Enabled
Assign IRQ For VGA: *Enabled*/Disabled
Assign IRQ For USB: *Enabled*/Disabled

Reply 17 of 21, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
digger wrote on 2021-06-02, 21:36:

Hmmm... Interesting. Didn't this only work on older motherboard chipsets, though? Due to dependency on certain features such as DDMA and DSDMA and such?

Yes, but it's generally true for all PCI Sound cards under DOS. None of them works properly on newest systems.
But the SB Live is really more problematic in this respect than e.g. Aureal Vortex and Yamaha YMF 744.
Actually SB Live can not work on any of the NForce based motherboards (it fails even on 'retro' Athlon systems based on NForce) and also fails on Intel system with newer south bridge than ICH5.
The most important system component that determines SB Live DOS compatibility is the south bridge of the chipset.
Namely it has to support ISA DMA/NMI. More info:
PCI sound cards and Chipsets from various manufacturers...
https://docs.google.com/spreadsheets/d/1cvhr6 … K4l0/edit#gid=0

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 18 of 21, by Riikcakirds

User metadata
Rank Member
Rank
Member
MrD wrote on 2021-06-02, 19:55:

This is not true. The SB Live's SB16 + Midi emulation can work with protected mode games. Doom, Descent, Duke 3D and other games on Build engine, Warcraft 2 etc. are all protected mode games using DOS extenders and work without problem with SB Live.

Posting to second this. The SB Live's soundfont support on the emulated MIDI device for late protected mode games makes it a very good fit for Duke3D and Doom. 😀 I think it's quite likely that it's the main reason the SB16 DOS emulator exists.

Do you mean soundfont support in real dos or win9x dos prompt.

Reply 19 of 21, by MrD

User metadata
Rank Newbie
Rank
Newbie
Riikcakirds wrote on 2021-06-05, 17:55:
MrD wrote on 2021-06-02, 19:55:

This is not true. The SB Live's SB16 + Midi emulation can work with protected mode games. Doom, Descent, Duke 3D and other games on Build engine, Warcraft 2 etc. are all protected mode games using DOS extenders and work without problem with SB Live.

Posting to second this. The SB Live's soundfont support on the emulated MIDI device for late protected mode games makes it a very good fit for Duke3D and Doom. 😀 I think it's quite likely that it's the main reason the SB16 DOS emulator exists.

Do you mean soundfont support in real dos or win9x dos prompt.

I mean using SBEINIT.COM in real dos, freedos or rebooting into ms-dos mode.