VOGONS


Win9x + VDMSound **ALPHA**

Topic actions

Reply 60 of 208, by Nicht Sehr Gut

User metadata
Rank l33t
Rank
l33t

Originally posted by jez Do we still need to put the line SET VDMSPATH=C:\VDMSOUND in autoexec.bat?

Since there is no installation program as of yet, and since the author(s) have not stated otherwise, you probably still need to set the path manually.

Is it advisable to put the SET BLASTER= line in dosdrv.bat, so that DOS programs will see the settings?

So long as that path is defined at some point before you try to run a DOS title, DOS programs should "see" those settings. That's why it's usually defined "right away" (AUTOEXEC.BAT).

And what are the default port/IRQ/DMA settings?

From the VDMS.INI:

[SB Controller.config] version = 4.15 ; 1.05 for SB1.x, 2.01 for SB2, 3.02 for SBPro, 4.05 for SB16 port = 0x220 ; u […]
Show full quote

[SB Controller.config]
version = 4.15 ; 1.05 for SB1.x, 2.01 for SB2, 3.02 for SBPro, 4.05 for SB16
port = 0x220 ; usually 0x220 (can also be 210, 230, 240, 250, 260 or 280)
IRQ = 7 ; usually 5 or 7
DMA8 = 1 ; usually 1
DMA16 = 5 ; usually 5


Therefore:
SET BLASTER=A220 I7 D1 H5 P330 T6

A=Address
I=IRQ
D=DMA (8-Bit DMA if the card is 16-Bit)
H="High" DMA (the 16-Bit DMA)
P=Port (as in the MIDI Port address)
T=Type (as in "type of SoundBlaster, with 6 representing a SB16).

Included text file copied from a dead website cache that has a more detailed description.

Is Adlib supported?

Yes. Basically, all soundblaster music that is not MIDI is "AdLib" (exception to this are the AWE cards, etc...).

Soundblaster?

Yes. An SB16, if possible.

What is it emulating???

Basically the same thing that the NT version emulates, except that it's doing so in a much less stable environment than in NT/2000/XP. That means if it crashes horribly, give thanks for whatever amount of time it worked for you, reboot, and hope it doesn't crash next time. You can thank the OS for these problems.

Attachments

  • Filename
    sb-settings.txt
    File size
    6.97 KiB
    Downloads
    1275 downloads
    File license
    Fair use/fair dealing exception

Reply 61 of 208, by MajorGrubert

User metadata
Rank Member
Rank
Member
someone42 wrote:

Any bug reports/errors would be appreciated.

I've just installed Win98SE to give it a try. Here are the specs:

Athlon XP 1800+ (1533MHz) on Asus A7V333
512MB DDR266
C-Media 8738 sound chip (built-in) with v0639 drivers from C-Media web site
GeForce 4 MX440 with v43.45 drivers from nVidia
Windows 98SE (localized version, Brazilian Portuguese)
DirectX 9.0

I downloaded and installed vcredist.exe, then VMDS for Win 9x from the original post by Vlad, no problems to run install.bat. Then I downloaded both updates from previous posts and unzipped then over the original files. Edited autoexec.bat to include SET VDMSPATH=D:\VDMSOUND (yeah, its installed on D), then edited dosdrv.bat edited to include SET BLASTER=A220 I7 D1 H5 P330

After that, I decided to give it a try with Champ Ms.Pac-Em (from this thread: showthread.php?threadid=1132), afaik, the official standard game for testing VDMS *grin*). DOSDRV.BAT runs fine (showing the error message about the Tip of the Day), but when I try to run the game I get a dialog box with this error:

An exception occured in thread -223161 (DMA Transfer Manager) […]
Show full quote

An exception occured in thread -223161 (DMA Transfer Manager)

0xc0000005 - (no exception description is available)
Fault location: 0x00653fb7
Parameters: 0x00000000 0xeefb8000

Do you want to continue? Yes No

Followed by another message:

VXDSLOAD caused an invalid page fault on module VDDLOADER.DLL at 016f:00653fb7. Registers: EAX=00000188 CS=016f EIP=00653fb7 EFL […]
Show full quote

VXDSLOAD caused an invalid page fault on module VDDLOADER.DLL at 016f:00653fb7.
Registers:
EAX=00000188 CS=016f EIP=00653fb7 EFLGS=00010212
EBX=00000188 SS=0177 ESP=014df9cc EBP=014df9d8
ECX=00000062 DS=0177 ESI=eefb8000 FS=2c9f
EDX=003b8000 ES=0177 EDI=0188f150 GS=0000
Bytes at CS:EIP:
f3 a5 8b c8 83 e1 03 33 c0 f3 a4 8d 65 f4 5f 5e
Stack dump:
00000188 0072808c 008374a8 014dfa40 01883825 008374a8 00000000 003b8000 00000002 0188f150 00000188 008387c0 003b8000 00000020 0072810c 00000000

Any ideas?

Regards,

Major Grubert

Athlon 64 3200+/Asus K8V-X/1GB DDR400/GeForce FX 5700/SB Live! 5.1

Reply 62 of 208, by Nicht Sehr Gut

User metadata
Rank l33t
Rank
l33t

Originally posted by MajorGrubert C-Media 8738 sound chip (built-in) with v0639 drivers from C-Media web site

*gah* Have had to deal with this same chipset...my best reason to run out and get a Philips soundcard. It's fine so long as you're dealing with undemanding audio from Windows titles. "Real" DOS support is terrible.

After that, I decided to give it a try with Champ Ms.Pac-Em ..., afaik, the official standard game for testing VDMS

It's a good title for testing: only about 440K in size, it auto-configures itself, runs fine in Win9x or an NT OS, it plays FM/AdLib music at the start of each game (to confirm working FM/Adlib emulation), and doesn't require much in the way of resources (so people without high-powered PC's can still run it easily).

but when I try to run the game I get a dialog box with this error:

Does it run properly if you just start MSPACEM.EXE? (IOW, without VDMSound?)

Reply 63 of 208, by MajorGrubert

User metadata
Rank Member
Rank
Member
Nicht Sehr Gut wrote:

Does it run properly if you just start MSPACEM.EXE? (IOW, without VDMSound?)

Well, actually no. It worked once, but since I spent the whole night going back and forth between Win 98SE and 2000, I will assume it worked in 98SE before I installed the sound drivers.
Now, when I try to get Ms. Pac-Em to run withou VDMS I get a blue screen with an error message, something like:

Fatal error (0E) at 0028:FF0CC310 in Vxd sbemul(06) + 00002C80.

I am afraid this is getting off-topic, but what the heck is this sbemul VxD? A quick search on Google got this page: http://msdn.microsoft.com/library/en-us/strea … design_1kiv.asp. Look at this:

SBEmul System Driver
The SBEmul system driver (sbemul.sys) provides Sound Blaster emulation for MS-DOS® applications. The SBEmul driver is a client of the SysAudio system driver. To render and capture content, the SysAudio driver uses the preferred wave and MIDI devices (as set in the Multimedia property pages in Control Panel).

Sound Blaster emulation is supported only on Windows 98/Me.

Now I'm quite confused, because I've never heard of SB emulation on Win 98SE. Has anyone heard about this driver before?

UPDATE: after reading some information on MSDN and support.microsoft.com, I've got the impression that sbemul.sys is really some sort of SB emulator that should allow MS-DOS programs running under Win98 and ME to detect a Sound Blaster. This driver can be installed along with third-party WDM drivers, and I can see this in the .inf file from the C-Media driver.

When sbemul.sys is loaded, it adds an environment variable (by itslef, no lines added to autoexec.bat): BLASTER=A220 I5 D1 P330 T4. If I remove the key that loads this driver from the registry and reboot, the variable does not appear and Ms.Pac-Em works ok, i.e., fails to detect a sound card. However, I still get the same errors when I try to run it with VDMS after gettind rif of sbemul.

Thanks,

Last edited by MajorGrubert on 2003-04-08, 20:33. Edited 1 time in total.

Major Grubert

Athlon 64 3200+/Asus K8V-X/1GB DDR400/GeForce FX 5700/SB Live! 5.1

Reply 64 of 208, by Nicht Sehr Gut

User metadata
Rank l33t
Rank
l33t

Originally posted by MajorGrubert Well, actually no. It worked once, but since I spent the whole night going back and forth between Win 98SE and 2000, I will assume it worked in 98SE before I installed the sound drivers.

You mean your actual soundcard drivers and not VDMSound, right?

I am afraid this is getting off-topic, but what the heck is this sbemul VxD?... This driver can be installed along with third-party WDM drivers, and I can see this in the .inf file from the C-Media driver.

*gah* That whole VxD vs. WDM thing just gives me a headache. I think your description of what it is supposed to do is correct, but that (in reality) VxD drivers are usually more compatible.
showthread.php?threadid=1128

Reply 65 of 208, by MajorGrubert

User metadata
Rank Member
Rank
Member
Nicht Sehr Gut wrote:

You mean your actual soundcard drivers and not VDMSound, right?

Right.

*gah* That whole VxD vs. WDM thing just gives me a headache. I think your description of what it is supposed to do is correct, but that (in reality) VxD drivers are usually more compatible.
showthread.php?threadid=1128


I found VxD drivers for Win 98 at C-Media web site. They seem to be a little too old, but I was able to remove the WDM drivers (let's give credit to C-Media, the uninstall option worked fine) and install the VxD version. Surprise: the drivers added two virtual devices called "Legacy Emulation" and "MPU Emulation", that actually was providing SoundBlaster and MPU-401 emulation for MS-DOS programs, but they did not seem to be stable.
I disabled the "emulation" drivers, leaving only the soundcard driver itself and did a test using .wav and .mid files through Media Player, to make sure that the sound card was ok. Then I tried VMDS again, only to get the same error messages: something about DMA Transfer Manager and then an invalid page fault in VDDLOADER.DLL.

Maybe I'm a bit paranoid, but could this be a problem with the localized version of Win 98SE I'm running? I don't have an English copy at hand, but I'll get one soon and give it a try.

Thanks,

Last edited by MajorGrubert on 2003-04-09, 13:44. Edited 1 time in total.

Major Grubert

Athlon 64 3200+/Asus K8V-X/1GB DDR400/GeForce FX 5700/SB Live! 5.1

Reply 66 of 208, by Nicht Sehr Gut

User metadata
Rank l33t
Rank
l33t

Originally posted by MajorGrubert Surprise: the drivers added two virtual devices called "Legacy Emulation" and "MPU Emulation", that actually was providing SoundBlaster and MPU-401 emulation for MS-DOS programs, but they did not seem to be stable.

Sounds about right. The VxD's are usually more compatible, but less stable.

Maybe I'm a bit paranoid, but could this be a problem with the localized version of Win 98SE I'm running?

Don't know. Tinkering with 8738 chipset is an exercise in confusion. I was amazed at how it could perform so well at some things, while it was completely broken at doing other things.

Even when I had a SoundBlaster Live card, I never got 100% DOS functionality...the 8738 is far less compatible.

Reply 67 of 208, by Kyl3

User metadata
Rank Newbie
Rank
Newbie

Ah.. I know I'm a bit off(top) now,

Cheers, the 9x alpha runs near perfect on my PIV, using 98se.. All my (sierra) oldies run without the annoying (unstable-slow-midi-timer, though timing itself was great). It runs actually more games then I could with the NT version.. (Willy beamish, Heart of China)

No real problems here, the only game which complains is Secret of monkey island 2 (1 runs fine, newer lucasarts titles run fine to, really strange.. might be just me) which messes up midi timing.

I use VDM sound to make my MT-32 work on my isa-less pc, using the sblive! midi-out. I'm advising my ring-o-mt32-on-new-system-fans to do the same. I hope the alpha work them aswell.

Reading troubled posts make me wonder if the 9x project still running..

anyway I love u guys !!

(erm.. silly question.. was there a SET MPU401= variable for the MT-32 ? Never used that one.. some games won't detect the mp401 interface with the 9x version, though they can be forced, it can be tough forcing them (Willy Beamish))

Reply 68 of 208, by Nicht Sehr Gut

User metadata
Rank l33t
Rank
l33t

Originally posted by Kyl3 No real problems here, the only game which complains is Secret of monkey island 2 (1 runs fine, newer lucasarts titles run fine to, really strange.. might be just me) which messes up midi timing.

http://www.scummvm.org ScummVM is 95% compatible with MI2 and has MIDI support, but I'm not sure if it can run through a "real" MT32.

Reading troubled posts make me wonder if the 9x project still running..

You ought to read Vlad's earlier posts on how there wasn't a Win9x version of VDMSound, never would be, and why. The only reason it exists now is because Chris Chua took on the Herculean task of writing the VXD that intercepts I/O access and generates emulated IRQs, etc...

It's a lot of work, and almost no volunteers to assist them. Add to that, Win9x is basically a dead OS. That doesn't inspire people to write for it either...

Oh, BTW, Vlad was also working on a MT32 emulator...
showthread.php?threadid=61

I'm afraid, however, that the "real world" has interfered with it's production...

Reply 69 of 208, by MajorGrubert

User metadata
Rank Member
Rank
Member
MajorGrubert wrote:

Maybe I'm a bit paranoid, but could this be a problem with the localized version of Win 98SE I'm running? I don't have an English copy at hand, but I'll get one soon and give it a try.

Well, I just managed to install a fresh copy of Win 98SE in English, with VxD drivers for the 8738 chip. Unfortunately, I still get the same error message when a game is started:

An exception occured in thread -223161 (DMA Transfer Manager)

0xc0000005 - (no exception description is available)
Fault location: 0x00653fb7
Parameters: 0x00000000 0xeefb8000

Since I don't have much time to spare on this, I probably won't go ahead with the tests unless Chris shows up with some ideas or an updated version. I'll keep my Win98 copy handy, just in case.

Thanks,

Major Grubert

Athlon 64 3200+/Asus K8V-X/1GB DDR400/GeForce FX 5700/SB Live! 5.1

Reply 70 of 208, by vladr

User metadata
Rank Oldbie
Rank
Oldbie

Any game? Or just some games (which ones?)

What probably happens is that the DMA (audio) buffer that Chris passes to VDMSound ends up mapped in bogoland, or some other VxD/driver is interfering.

V.

Reply 72 of 208, by MajorGrubert

User metadata
Rank Member
Rank
Member
vladr wrote:

Any game? Or just some games (which ones?)

Ms. Pac-em gives me the exception at DMA Transfer Manager.

I only had the time to test two other games as I write this.

Day of the Tentacle runs fine with voice (SoundBlaster) and music (AdLib), but only if I set SoundBlaster emulation in VDMS at I/O address 0x220. Other addresses such as 0x240 do not work, even if the BLASTER variable is right and I use the command line parameters or the config screen in the game.

The Pandora Directive is able to detect a SoundBlaster 16 at I/O 0x220 IRQ 7, but when I click the test button I sometimes get no sound and sometimes random noises. Even tried similar configurations such as SoundBlaster 1.0 or SoundBlaster Pro, but the results are the same. If I set up the game manually (editing the config file), I get random noises or a complete lock-up at the opening movie when the game starts.
There is a separate setup for music, but I could not get it to work after trying SoundBlaster, AdLib or MPU-401. This could be a problem in the game itself, because the only success report about this game running with VDMS on Win XP tells about the same problem with music. See this thread: showthread.php?threadid=1326.

I'll let you know as soon as I test more games.

Regards,

Major Grubert

Athlon 64 3200+/Asus K8V-X/1GB DDR400/GeForce FX 5700/SB Live! 5.1

Reply 73 of 208, by Nicht Sehr Gut

User metadata
Rank l33t
Rank
l33t

Originally posted by MajorGrubert Ms. Pac-em gives me the exception at DMA Transfer Manager.

Not good, as it seems to be one of the "more compatible" DOS titles out there.

Day of the Tentacle runs fine with voice (SoundBlaster) and music (AdLib), but only if I set SoundBlaster emulation in VDMS at I/O address 0x220. Other addresses such as 0x240 do not work, even if the BLASTER variable is right and I use the command line parameters or the config screen in the game.

Why would you be at an address other than 220? There are plenty of DOS titles that simply won't work right if you're using anything other than one of the two "standard" settings. The only variable that seems to be acceptable is the IRQ. Even then, some titles demand 5 or 7 exclusively.

The Pandora Directive is able to detect a SoundBlaster 16 at I/O 0x220 IRQ 7, but when I click the test button I sometimes get no sound and sometimes random noises.

"Under a Killing Moon" and "Pandora Directive" are both (apparently) absolute pigs when it comes to running them on an NT OS.

One thing isn't clear to me though. I thought "Pandora Directive" had a Windows9x executable that could be used.

Reply 74 of 208, by MajorGrubert

User metadata
Rank Member
Rank
Member
Nicht Sehr Gut wrote:

Why would you be at an address other than 220?

Because the VxD version of the C-Media drivers install a device called something like "Legacy Emulation", that can emulate an SB Pro at I/O address 220. I made several tests with this device disabled, but I was trying to make sure that it was not interfering with VDMS, so I tested several different configurations, including different addresses. After I made sure that the SB emulation from C-Media was disabled I started testing VDMS at port 220, and incidentally discovered that DOTT would not work if VDMS was set to anything other than 220.

"Under a Killing Moon" and "Pandora Directive" are both (apparently) absolute pigs when it comes to running them on an NT OS.
One thing isn't clear to me though. I thought "Pandora Directive" had a Windows9x executable that could be used.


There is a Windows executable called "Pandora Directive.exe", but it is only a launcher for the actual game (tex4.exe, the DOS executable). This launcher only presents a warning message if there are other Windows programs running, recommending that you close all other applications before starting the game.

Meanwhile I am looking for a few more DOS games to test under Windows 98, but last night I only had the time to get Doom and Hexen to play music through MPU-401. Ok, I know, first Pandora then Doom, only problem children. Hopefully, I'll have time to test some well behaved games tonight.

Thanks,

Major Grubert

Athlon 64 3200+/Asus K8V-X/1GB DDR400/GeForce FX 5700/SB Live! 5.1

Reply 75 of 208, by Schadenfreude

User metadata
Rank Member
Rank
Member
MajorGrubert wrote:

Because the VxD version of the C-Media drivers install a device called something like "Legacy Emulation", that can emulate an SB Pro at I/O address 220. I made several tests with this device disabled, but I was trying to make sure that it was not interfering with VDMS, so I tested several different configurations, including different addresses. After I made sure that the SB emulation from C-Media was disabled I started testing VDMS at port 220, and incidentally discovered that DOTT would not work if VDMS was set to anything other than 220.
...
Meanwhile I am looking for a few more DOS games to test under Windows 98, but last night I only had the time to get Doom and Hexen to play music through MPU-401. Ok, I know, first Pandora then Doom, only problem children. Hopefully, I'll have time to test some well behaved games tonight.

You do good work! Hopefully we learn of more crashes, keep Vlad and "Chris" on their toes!

I rank Major Grubert up with the VOGONS-elite, that are not moderators or admins, like edelbed and psz!

Reply 76 of 208, by Nicht Sehr Gut

User metadata
Rank l33t
Rank
l33t

Originally posted by MajorGrubert I made several tests with this device disabled, but I was trying to make sure that it was not interfering with VDMS, so I tested several different configurations, including different addresses. After I made sure that the SB emulation from C-Media was disabled I started testing VDMS at port 220,...


According to Vlad, you don't need to do that. It would seem to cause a conflict, but apparently, after running DOSDRV it "replaces" your "real" card.

There is a Windows executable called "Pandora Directive.exe", but it is only a launcher for the actual game (tex4.exe, the DOS executable). This launcher only presents a warning message if there are other Windows programs running, recommending that you close all other applications before starting the game.

Yes, I found my PD box and realize now that it's still a DOS game and just uses a Win95 app. Supposedly it does other things as well, but there was a lack of specifics.

Meanwhile I am looking for a few more DOS games to test under Windows 98, but last night I only had the time to get Doom and Hexen to play music through MPU-401. Ok, I know, first Pandora then Doom, only problem children.

Well I wouldn't bother testing DOOM and Hexen as they have excellent Windows ports available.

Reply 77 of 208, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

Well I wouldn't bother testing DOOM and Hexen as they have excellent Windows ports available.



[size=huge]EXCELLENT[/size] Windows ports, you mean 😜 JDoom and Doom Legacy are [size=huge]AMAZING[/size]! Well, they're many times better than the original DOS engines anyways.

Reply 78 of 208, by jez

User metadata
Rank Member
Rank
Member

I've attached to this post the latest 'version' of the Win9x VDMsound files that will need to be in the working VDMsound directory. It is the original files + the vxds0003 update + my slightly custom dosdrv.bat which does the SET BLASTER stuff too.

If you're installing the Win9x VDMsound for the first time on the system, you still need to get VCREDIST.EXE from http://telia.dl.sourceforge.net/sourceforge/v … nd/vcredist.exe (mirror at http://umn.dl.sourceforge.net/sourceforge/vdm … nd/vcredist.exe) and install it, and run the install.bat file included in the zip, as well as editing AUTOEXEC.BAT (as indicated during INSTALL.BAT) to make the VDMSPATH environment variable point to the installation folder and restarting Windows.

I'd also like to use this post to raise another slight problem I've had with this port. By chance I found out that running Tyrian 2000 from Win98 doesn't cause the music slowdown (ruination) that you get with Windows XP. Great! Must be something to do with DOS not needing to be emulated. Adlib is emulated just fine by the Win9x VDMsound, although I choose MIDI 330 as it sounds a little better. However, unfortunately Tyrian 2000 does not seem to 'see' the SoundBlaster emulation that the Win9x version of VDMsound provides - it just gives you an error saying something like 'sound effects disabled' when you try to select SoundBlaster as the sound effects card - whereas, under the Windows XP counterpart, SoundBlaster can be selected with no problems. Any ideas why this might be?

Attachments

  • Filename
    latest.zip
    File size
    337.1 KiB
    Downloads
    2528 downloads
    File license
    Fair use/fair dealing exception

== Jez ==

Reply 79 of 208, by Nicht Sehr Gut

User metadata
Rank l33t
Rank
l33t

Originally posted by jez ... I found out that running Tyrian 2000 from Win98 doesn't cause the music slowdown (ruination) that you get with Windows XP. Great! Must be something to do with DOS not needing to be emulated.

Yes, Tyrian2000 "hates NT". Even if you configure it to use no audio at all, performance will be terrible.

Just do a Quick Search on Tyrian 2000 and you'll see the fun we had with that one on XP...

unfortunately Tyrian 2000 does not seem to 'see' the SoundBlaster emulation that the Win9x version of VDMsound provides - it just gives you an error saying something like 'sound effects disabled' when you try to select SoundBlaster as the sound effects card - whereas, under the Windows XP counterpart, SoundBlaster can be selected with no problems. Any ideas why this might be?

Can we presume you tried this in Windows 98 without VDMSound? If neither way gives you digital audio, you may be stuck.