Finally Got Sound Effects!
#1 Posted 12 September 2018 - 01:14 AM
As my introduction post said, I just got back into Duke Nukem 3D after buying an old WIndows 98 machine I've spent the better part of three weeks figuring out, or sorting out, the Sound dilemma i've been experiencing. I'm sure you guys have heard it all before.. the Soundblaster issues lol
First I guess, I was sold a PC that was listed as having an onboard Soundblaster compatible emulator.. well it wasn't so much really. Most of the first two weeks was trawling through a LOT of websites/forums and driver sites trying to get just any type of sound at all with Duke Nukem (including Blood and Shadow Warrior). After a lot of editing, deleting, uninstalling, reinstalling of drivers (one of which almost killed my machine.. thank god for Safe Mode), I ended up just getting a completely different Sound Card.. the PCI CMI8738.
I disabled the onboard sound in the BIOS and tonight, I installed the card and went back into the DN3D setup for the hundredth time. I selected Soundblaster as the music card and just kept the default options.. I tested it, and success, I got Sound! The classic bowling pin sounds from both speakers!
Now to the Music.. I knew I had to select 'General Midi' based on what the seller told me, which I was fine with as long as it worked.. sure enough, when I tested in in Setup, it sounded perfect.. classic DN3D music that I remembered.
Now came the real test, actually playing the game. My heart sunk.. so much time spent trying to get audio, and the Music just starts instantly jerking and almost struggling Now before I threw a tantrum and shoved this computer out the window, I went through all the settings again, adjusting stuff that might help it.. but no luck.
I was hoping, fingers crossed, someone might know what could be causing this and might be able to fix it? I'm happy to give any technical details as much as possible..
My AUTOEXEC file is empty (aside from one line for ATI).
I'm running Windows98SE.
I've booted the game from both DOS and just from Windows.
Error sample: https://youtu.be/zbBt8Www5EQ (this was actually the first time starting the game after setup... I stopped recording before I swore lol)
Just to note, my 98 computer is not connected online, so any screenshots will be photos if requested
This post has been edited by LordCrumb: 12 September 2018 - 01:24 AM
#2 Posted 12 September 2018 - 04:38 AM
This post has been edited by MusicallyInspired: 12 September 2018 - 04:40 AM
#3 Posted 12 September 2018 - 12:45 PM
First things first, what driver type are you using for the sound card? In Windows 98 and Me there are two types of drivers for sound: VXD based and WDM based. VXD is the driver model used from Windows 386 and later. WDM is introduced in Windows 98.
To check with type the current driver is:
- Open the Run dialog by clicking on the Start button and selecting the Run option
- Type DXDIAG and click on OK
- In the DirectX Diagnostic Tool, click on the Sound tab
- Under type it shows the type of driver in use (VXD of WDM)
When using a WDM driver, all sound from DOS based application will be performed by a included Sound Blaster emulator of Windows. This emulator emulates the following devices:
- A SoundBlaster compatible sound card listening on Addres 220, IRQ 5, DMA 1 and High DMA 5.
- A General MIDI compatible device on address 330. This General MIDI device uses the default MIDI mapper of Windows
Notice that the emulator does NOT support any FM chip, like Adlib or a OPL. Therefore when using a WDM based driver, you can only use General MIDI for music in DOS games.
If you use a WDM driver, it should work with Duke Nukem 3D... Although I had a sound card (a VIA onboard sound chip) that only worked for around half a hour before stopping. Only a reboot fixed it.
When using a VXD driver, it's a bit more complicated. It might work but it depends on the driver and sometimes the drivers loaded for it from CONFIG.SYS and AUTOEXEC.BAT. Because your sound card is a PCI based device, the SoundBlaster compatibility must be emulated. Only ISA based card can be used in DOS as SoundBlaster based cards without any software based emulator. In real DOS, a special driver for this is required. As far as I know the CMI 8738 does have a special driver for DOS to emulate a Sound Blaster.
And now comes the tricky part with VXD. Sometimes the VXD driver included everything needed to also support DOS sound in Windows. Sometimes it doesn't and a DOS driver for the sound card needs to be loaded from AUTOEXEC.BAT and/or CONFIG.SYS to work within Windows.
I will check what I can find about this CMI 8738. BTW, its chip is made by a company known as C-Media.
EDIT: There is a link to a VXD based version for the sound card. The site is a bit shady, so click carefully. You should get a ZIP file download when done correctly:
https://driverscolle...m/?file_id=1563
EDITS: fixing typo's
This post has been edited by Little Tijn: 12 September 2018 - 01:06 PM
#4 Posted 12 September 2018 - 11:53 PM
To test tonight, I added the line SET BLASTER=A220 I5 D1 H5 T4 to the Autoexec.bat file, rebooted and tried again, but the jerky-ness remained.
Hmm.. I wonder if I should try a WDM driver for it.
I was directed to this site previously; https://www.philscom...ia-cmi8738.html I'll see how that particular driver goes I guess.
This post has been edited by LordCrumb: 13 September 2018 - 12:12 AM
#5 Posted 13 September 2018 - 03:19 AM
Or using the WDM driver instead. It will be a bit more stable and as added bonus, it is possible to use multiple programs with sound at the same time (like a game and a music player of chose). With VXD drivers, this is not possible (or not that I have seen before). Only a single program has access to the sound card.
#6 Posted 13 September 2018 - 04:49 AM
https://download.cne...4-10518533.html
Checked the download and seems legit and complete.
#7 Posted 14 September 2018 - 12:33 PM
Seems to be working ok during the next level screens lol
Will try out that WDM version though.
#8 Posted 14 September 2018 - 02:39 PM
#9 Posted 14 September 2018 - 05:12 PM
This post has been edited by LordCrumb: 14 September 2018 - 05:12 PM
#10 Posted 14 September 2018 - 05:33 PM
Little Tijn, on 13 September 2018 - 04:49 AM, said:
https://download.cne...4-10518533.html
Checked the download and seems legit and complete.
Ok I tried this one, but It actually made it worse. It wouldn't detect Sound or Music in Setup.
I went back to the VXD driver and got it all back though, so no unfixable errors. I think I might just settle with this, the music isn't really that loud in the game to really hear the distortions as I play, so unless another game comes up that really pumps out the music, then I might have to rethink everything again.
#11 Posted 17 September 2018 - 06:34 AM
#12 Posted 18 September 2018 - 06:59 PM
I know there's people that will probably disagree with my statements above but from my experience working with over 20 000 systems I used a cookie cutter template on all systems for my startup environment. I never had performance problems on the slowest piece of shit PC and things just worked with VXD Drivers.
I'd also load as many drivers that i could in extended memory to free up the first 640k conventional so my ram could kick ass with running what I needed to. One of my favorite commands was:
" mem /c |more "
Here's a useful article about the DOS startup config files: https://www.computerhope.com/ac.htm & https://www.thpc.inf...m/vcache98.html
There's also a windows GUI you could use to call up all startup files in a text editor. I think it was called sysedit.exe which can be launched from the run menu. Lots of tweaks to Windows are done in those 5 or so files.
Hopefully just your screen is a Packard Bell. Most of their systems had a really shitty combo sound card / modem card very similar to IBM's junky MWAVE and they were sued for it.
Back to your sound problem, I've definitely heard it play like that before but I can't remember what the hell the problem was. Try booting from a Win98SE startup floppy disk with sound support and see if the problem goes away? When windows engages the Windows Sound driver it might do something strange to the DOS sound. ( Or you can press F8 before windows starts and choose command prompt). Just make sure you initialize your sound card in your start up file (autoexec.bat) and your config.sys should look like this:
DEVICE=C:\Windows\HIMEM.SYS
DOS=HIGH,UMB
DEVICE=C:\Windows\EMM386.EXE NOEMS
This post has been edited by Paul B: 18 September 2018 - 08:27 PM