VOGONS


Duke3D Won't Initialize Sound

Topic actions

First post, by Unregistered

User metadata

Well, I finally got tired of not being able to play my old favorite game, Duke Nukem 3D of course. So I hunted around and found recommendations for the VDMSound thingamabob, supposed to cure what ails me. But so far I have been unsuccessful!

First I tried something called DukeRoch, but that has nothing to do with sound... it's supposed to help run the program with hi-res graphics. That seems to be moot in my case because Duke won't run at all since sound won't start up.

I am running Windows 2000 on service pack 2, and my sound card is a Sound Blaster. Sadly I had to retire my old failthful ISA Blaster a couple of years ago. Video card is a GeForce 2.

Before VDMSound, when I would run setup.exe it would tell me the sound card was not responding on the selected port -- no matter what port. Right-clicking and telling it to "Run with VDMS" now allows me to get past that portion of setup by telling it where the sound is supposed to be emulated (port 220, IRQ 7, low 1, high 5), but when I try to test the Sound FX or Music card I get a message that says "Initializing Music" or "Initializing Sound FX," and the system hangs there. I then have to close the DOS window via Windows because it's just frozen there.

I read the info on Build Engine games and I followed the strange installation recommendations (download and install, then copy update files on top, then install Launchpad) and I am still having this problem.

I did notice that sometimes just before the Duke Setup program launches I don't see the "successful launch" message, but either way the problem is still the same, it hangs when trying to init the sound. I can't even start the game at all, to know if it will crash once it starts!

PLEASE help me... I haven't seen this same problem described in another thread, hope I didn't just miss it, I have been reading for quite a while now.

-Russ-

Last edited by Unregistered on 2003-03-05, 09:12. Edited 1 time in total.

Reply 1 of 24, by psz

User metadata
Rank Newbie
Rank
Newbie

Actually, do a search (top right of this web page) and type in Duke Nukem. You'll see a LOT of problems with BUILD games, and Duke specifically.

Some of interest:
showthread.php?threadid=621&highlight=duke+nukem

showthread.php?threadid=1077&highlight=duke+nukem

showthread.php?threadid=681&highlight=duke+nukem

Reply 2 of 24, by Unregistered

User metadata

Yes, I know there are lots of probolems with Build engine games, and I found a lot of them in a search last night... but I didn't find a solution to my particular problem of the sound hanging when it tried to initialize in Setup. Everyone here is asked to be very specific in their posts and that's what I have tried to do.

I have now managed to get Duke to run. I can run it using DukeRoch if I first go into setup and tell it that I have no sound card. DukeRoch lets me choose higher VESA video resolutions, no problem. But I still get the hanging sound problem! I have tried various .bat files, for example:

D:\Duke\NOLFB.COM
D:\Duke\DUKE3D.EXE

To no avail. When I run that .bat, I get a Duke error that says "VESA driver for < 800 * 600 > not found/supported." So far I have to use DukeRoch to run the game. Is there a way to combine VDSM with DukeRoch so I can play the game and hear it too?

-Russ-

Reply 3 of 24, by Nicht Sehr Gut

User metadata
Rank l33t
Rank
l33t

Originally posted by Unregistered Well, I finally got tired of not being able to play my old favorite game, Duke Nukem 3D of course. So I hunted around and found recommendations for the VDMSound thingamabob, supposed to cure what ails me.

From the ReadMe
VDMSound is an open, plug-in oriented platform that emulates an MPU-401 interface, a SoundBlaster compatible implementation, as well as a standard game-port interface.

It doesn't fix the VESA problems many video cards have with 2000 and XP. It does not fix the "PopF" problem that some games (and ALL BUILD games) have. Nor will it it fix NTVDM DOS-emulation limitations (like the way the MSCDEX in NT is not advanced enough for some DOS titles). Basically it does what the ReadMe says: SoundCard emulation with MIDI and a game port.

First I tried something called DukeRoch, but that has nothing to do with sound...

For right now, ignore it. You want a functioning program first.

I am running Windows 2000 on service pack 2, and my sound card is a Sound Blaster. Video card is a GeForce 2.

I read the info on Build Engine games and I followed the strange installation recommendations (download and install, then copy update files on top, then install Launchpad) and I am still having this problem.

You mean the BUILD post in the Problem Child thread? If so, then you know that you have to "process" the game with CLI2NOP and you will have to use NOLFB for any VESA video modes. It also covers the bug that occurs if you use the LaunchPad to start it.

Be aware that even if you get it all running properly, the game will be inherently unstable from the use of Cli2Nop. It's best performance is still when run in Win9x. That's why I'm still running it in Win9x on a 98/XP Dual-Boot.

Reply 4 of 24, by Unregistered

User metadata

Thanks for the replies, folks, I appreciate it.

>>You mean the BUILD post in the Problem Child thread? If so, then you know that you have to "process" the game with CLI2NOP and you will have to use NOLFB for any VESA video modes. It also covers the bug that occurs if you use the LaunchPad to start it.

Be aware that even if you get it all running properly, the game will be inherently unstable from the use of Cli2Nop.<<

Yes, the Problem Child discussion is one that I read, I think that's where I got those instructions. As I said, I got the game to run without sound using DukeRoch (which employs NOLFB).

So far I haven't been able to make it run using NOLFB via the command prompt per the intructions I got with NOLFB, nor with a .bat file that tells NOLFB to load right before running duke3d.exe. I keep getting the error I mentioned above, about the VESA driver not being found or supported. But it will run without sound using DukeRoch and seems fairly stable so far (but I haven't run it much like that).

Is Cli2Nop a definite requirement for running the game in Win2000 if I want sound?

::UPDATE::
I can run Duke via my aforementioned batch files, but only in VGA mode and without sound. VDMS is still not helping me get sound to work.

Last edited by Unregistered on 2003-03-05, 18:44. Edited 1 time in total.

Reply 5 of 24, by Nicht Sehr Gut

User metadata
Rank l33t
Rank
l33t

Originally posted by Unregistered As I said, I got the game to run without sound using DukeRoch (which employs NOLFB). ... So far I haven't been able to make it run using NOLFB via the command prompt per the intructions I got with NOLFB, nor with a .bat file that tells NOLFB to load right before running duke3d.exe. I keep getting the error I mentioned above, about the VESA driver not being found or supported.

You are confirming that you got it running using VESA resolutions (640x480 or higher) while using DukeRoch, yet you say it's not working from the command line. That makes zero sense.

Try this: As before, make sure NOLFB.COM is in your DUKE game directory. Open up a command prompt and change to your game's directory.
Now, press Alt+Enter to make the command prompt full-screen.
After you are in Full-Screen mode, run NOLFB.COM and it should display:
NOLFB by Ken Silverman (advsys.net/ken) 09/21/2002 on the command prompt. Enter MEM /C and it should return with:
NOLFB 288 ( 0.3K) 120
listed in the "Conventional Memory" area. Now run setup and configure it for "no sound", and choose the 640x480 (VESA) screenmode. Choose "Save and Launch...". Does it run?

But it will run without sound using DukeRoch and seems fairly stable so far...

DukeRoch has nothing to do with it running stable. It's because you are running with no audio. The way the game processes audio is inherently incompatible with the NT O.S.

If you were to set it up for 320x200 resolution and no sound, it will run rock-stable just by double-clicking the DUKE3D.EXE.

Yes, the Problem Child discussion is one that I read, I think that's where I got those instructions.

Is Cli2Nop a definite requirement for running the game in Win2000 if I want sound?

No offence meant, but you need to pay attention when reading, then. In the BUILD post of "Problem Children", I clearly stated

When using Windows NT or 2000, digital audio in BUILD games will not work.

Immediately under it, the only solution listed is to apply Cli2Nop.

In this very thread here, I stated

... then you know that you have to "process" the game with CLI2NOP

No "if/maybe/might have to..."

If you're trying to run any BUILD game with sound on Win2000, you must use this hack.

That will remain true until someone can come up with a better solution (preferably a "source port").

Reply 6 of 24, by Unregistered

User metadata

>>You are confirming that you got it running using VESA resolutions (640x480 or higher) while using DukeRoch, yet you say it's not working from the command line. That makes zero sense.<<

Doesn't make sense to me either, but that's what was happening. I finally got it to run VESA modes without sound by making the DOS window a full-screen one by hitting alt-enter after the setup program had loaded.

>>Try this: As before, make sure NOLFB.COM is in your DUKE game directory. Open up a command prompt and change to your game's directory. Now, press Alt+Enter to make the command prompt full-screen. After you are in Full-Screen mode, run NOLFB.COM and it should display:
NOLFB by Ken Silverman (advsys.net/ken) 09/21/2002 on the command prompt.<<

Yep, does that, no problem.

>>Enter MEM /C and it should return with: NOLFB 288 ( 0.3K) 120 listed in the "Conventional Memory" area.<<

Yep, looks just as you say it should.

>>Now run setup and configure it for "no sound", and choose the 640x480 (VESA) screenmode. Choose "Save and Launch...". Does it run?<<

Yes!

In re: CLI2NOP, in the Problem Child thread, I read:

"When using Windows NT or 2000, digital audio in BUILD games will not work.

Solution #1
Use CLI2NOP to "process" the game. Please note that this is a hack, and will reduce the game's stability (more likely to crash). Still, it's better than no digital audio at all."

The specification DIGITAL audio is what was not clear to me. Since you said that the recommended hack reduces the game's stability I was of the mind that I didn't really care whether my sound was digital or not, if I could only get sound in a more stable game. But now it seems that you are saying that ANY sound in Duke is "digital audio" and therefore no sound will work in Duke without this hack. Just explaining that even while paying attention, things may not become clear on the first go-round. 😉

I am trying to get CLI2NOP to work, but now that I have downloaded it, extracted the files and copied them to my Duke folder, I go to the command prompt as directed and change to my Duke directory.

I tell it CLI2NOP SETUP.EXE SETUPCLI.EXE, in the format directed in the cli2nop FAQ ("cli2nop [options] file-to-patch [patched file]"). I didn't include options in my command because the FAQ specifies that it is not recommended to use the only available option (-2) for Duke Nukem.

When I enter the command line (noted in all caps above), it tells me "Missing find string" and does not create a modIfied .exe file. I get the same results if I try to patch DUKE3D.exe in this same manner.

If I use the "-2" option in my command line, i.e. CLI2NOP -2 SETUP.EXE SETUPCLI.EXE, then when I right-click on the resulting file and tell it to Run with VDMS, it will not run in any VESA modes. I have a batch file containing the following:

D:\Duke\NOLFB.COM
D:\Duke\SETUPCLI.EXE

...and I can get it to run in VESA modes when running this batch file, *IF* I make the window a full-screen one by hitting alt-enter before making changes in the Duke setup file.

I still can't get it to run with sound, no matter what. Now when I set the sound parameters it gets past the "initializing" step of the process, says it's testing, press any key to end the test. This produces no sound and the program freezes at that point.

Just now I tried running Duke without testing first and it locked my whole PC, had to restart via the reset button.

I have gotten this far with the file(s) I created using the "-2" option via CLI2NOP, even though the FQ said not to use that option,because I couldn't get it to do anything other than say "Missing find string" when I omitted that option from my command (as I stated above).

What have I missed? Thanks again for your time and patience.

-Russ-

Reply 7 of 24, by Snover

User metadata
Rank l33t++
Rank
l33t++

Okay, Nicht and Russ, you two are not communicating here, heh.
Nicht, Russ' problem is with SETUP.EXE.
Russ, Nicht thinks your problem is with DUKE3D.EXE.
Russ, don't worry about sound tests in SETUP.EXE and focus on DUKE3D.EXE instead. Also ensure VDMSound works with another program.
Nicht, pay attention when reading. 😉

Yes, it’s my fault.

Reply 8 of 24, by Nicht Sehr Gut

User metadata
Rank l33t
Rank
l33t

Originally posted by Unregistered >>Does it run?<<
Yes!

Good. So the issue was simply that the command prompt wasn't made full-screen before starting NOLFB. I'll need to specify that for those who don't know about this...

The specification DIGITAL audio is what was not clear to me. ... But now it seems that you are saying that ANY sound in Duke is "digital audio" and therefore no sound will work in Duke without this hack.

You'll notice that the majority of game setup programs will break down audio into 2 types: sound effects and music. Sound effects are almost always digital as FM sound synthesizers (in general) can't produce complex enough sound effects. Some of the very early games with soundcard support used AdLib (FM) for sound effects.

Music is usually produced by FM (Frequency Modulation) or MIDI. FM audio comes from your soundcard, MIDI may be produced by your soundcard or an external MIDI device (on early soundcards, MIDI was only for external devices).

Since you said that the recommended hack reduces the game's stability I was of the mind that I didn't really care whether my sound was digital or not, if I could only get sound in a more stable game.

Unless you switch to using another OS, it's the only option.

The reason digital audio is specified separately is because MIDI is treated by the PC like a separate device.

When I enter the command line (noted in all caps above), it tells me "Missing find string" and does not create a modified .exe file. I get the same results if I try to patch DUKE3D.exe in this same manner.

You may have to check with one our Win2000 users about this error, as I'm running XP.

I have a batch file containing the following: D:\Duke\NOLFB.COM D:\Duke\SETUPCLI.EXE ...and I can get it to run in VESA modes […]
Show full quote

I have a batch file containing the following:

D:\Duke\NOLFB.COM
D:\Duke\SETUPCLI.EXE

...and I can get it to run in VESA modes when running this batch file, *IF* I make the window a full-screen one by hitting alt-enter before making changes in the Duke setup file.

You can also create a shortcut by using the "Run with VDMS" that has the little musical note. That creates a VDMSound shortcut (.VLP) that you can edit the shortcut by right-clicking it, choosing Properties, then choosing "Enable basic VESA support", then clicking OK. This causes your batch file or executable to go into full-screen mode before it does anything (yes, it is poorly named).

If you're wondering why this isn't always selected, some title's VESA won't work properly unless you start them in a window.

Reply 9 of 24, by HunterZ

User metadata
Rank l33t++
Rank
l33t++
Nicht Sehr Gut wrote:

If you're wondering why this isn't always selected, some title's VESA won't work properly unless you start them in a window.

Not to mention it creates weird sound stuttering issues in Impulse Tracker.

Reply 10 of 24, by Unregistered

User metadata

Thanks again guys!

Nicht Sehr Gut wrote:

Good. So the issue was simply that the command prompt wasn't made full-screen before starting NOLFB. I'll need to specify that for those who don't know about this...

Good deal. I took your advice and edited the VDSM shortcuts so they will run in full-screen mode upon startup. You're right, it's a very poor name for the option, I'd looked for the option of full-screen mode earlier but couldn't figure it out.

You may have to check with one our Win2000 users about this error, as I'm running XP.



Hopefully someone will speak up, I just did a search for "Missing find string" and the only thread it found is this one!

I can now run Duke fairly dependably, without sound. If I first go into SETUP and select "none" for the sound and music cards, then I can almost always run it. But when I try to test the music and sound in SETUP, that window locks up and I have to alt-esc my way back to windows.

If I just try to run Duke3d after setting my sound parameters to match VDMS, then it gets past the sound inits and shows me exactly one graphic, the nuke symbol that displays at game startup. At that point the whole computer freezes and I have to reset it.

Both of these errors are occuring when I use batch files that run full-screen, and the first thing they do in the batch file is load NOLFB. The second thing they do is run the modified setup.exe or duke3d.exe files (depending on which batch file I run) which I modified using CLI2NOP.

The only inconsistency I can find is that I used the non-recommended -2 option when I modified the .exe files using CLI2NOP. The reason, of course, is that I was unable to get CLI2NOP to modify the files at all unless I used that option.

Have I exhausted the known options here? I'm hoping there's something that I just missed along the way, but if there is then I sure don't know what it is.

Snover Suggested:
Also ensure VDMSound works with another program.



What program do you suggest I try? Maybe Doom2?

Thanks again and in advance!

-Russ-

Reply 11 of 24, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

and this is why I don't recommend CLI2NOP for BUILD engines games....but do people listen to me? NO!

You can use any DOOM engine game under Windows 2000 as long as you use CLI2NOP. The DOOM engine games are one of the most common games that are fixed with this utility.

How To Ask Questions The Smart Way
Make your games work offline

Reply 13 of 24, by Unregistered

User metadata
Snover wrote:

If DUKE3D.EXE is patched with CLI2NOP it should not be locking up your system. I'm not sure what to say about this one at the moment.

It is definitely patched with CLI2NOP, and is definitely locking up my system. As I said, the only oddity is that the CLI2NOP FAQ said not to use the -2 variable with Duke, but in my case I was unable to patch the file at all without using it.

Reply 14 of 24, by Nicht Sehr Gut

User metadata
Rank l33t
Rank
l33t

Originally posted by DosFreak and this is why I don't recommend CLI2NOP for BUILD engines games....but do people listen to me? NO!

If they're using NT or 2000 and won't set up a dual-boot, what other options are there?

Unless you have found a port...

You can use any DOOM engine game under Windows 2000 as long as you use CLI2NOP.

..and with the exception of STRIFE, there is no reason to Cli2Nop DOOM as there are plenty of NT Ports.

Reply 15 of 24, by Nicht Sehr Gut

User metadata
Rank l33t
Rank
l33t

Originally posted by Unregistered I tell it CLI2NOP SETUP.EXE SETUPCLI.EXE, in the format directed in the cli2nop FAQ ("cli2nop [options] file-to-patch [patched file]"). I didn't include options in my command because the FAQ specifies that it is not recommended to use the only available option (-2) for Duke Nukem. ...

I think that is in error. If you run it like this:
cli2nop /?

It should give you two other parameters: -p or -P

Like this:
patch [-h] [-pP] [-2] source [destination]
-h This information
-v Verbose output
-p pushfd, pop eax, cli -> pushfd, pop eax, nop
-P pushfd, cli -> pushfd, nop
-2 pushfd, pop eax, cli -> pushfd, pop eax, nop *AND* pushfd, cli -> pushfd, nop
("aggressive mode")

Reply 16 of 24, by Unregistered

User metadata
Nicht Sehr Gut wrote:
I think that is in error. If you run it like this: cli2nop /? […]
Show full quote

I think that is in error. If you run it like this:
cli2nop /?

It should give you two other parameters: -p or -P

Like this:
patch [-h] [-pP] [-2] source [destination]
-h This information
-v Verbose output
-p pushfd, pop eax, cli -> pushfd, pop eax, nop
-P pushfd, cli -> pushfd, nop
-2 pushfd, pop eax, cli -> pushfd, pop eax, nop *AND* pushfd, cli -> pushfd, nop
("aggressive mode")

Hmmm. Do you know which is recommended for Duke3D? I tried the -p and -P options, no change (still won't play sound and locks up when testing sound in setup).

Reply 18 of 24, by Nicht Sehr Gut

User metadata
Rank l33t
Rank
l33t

Originally posted by Snover If -2 doesn't work, -p and -P won't work, since -2 is just equivalent to -p -P

It's possible that either -P or-p by themselves might work. I tried them both on Strife and neither really seemed to help (of course, this was with XP, not 2000). Using the -2 option caused it to die almost immediately.

Reply 19 of 24, by Drag

User metadata
Rank Newbie
Rank
Newbie

I can run DN3D perfectly with sound (but I have to have it in 320x240). I didn't patch anything to it. I just set up VDMSound, and then set up the corrisponding setting in SETUP.EXE.

If the computer locks up on the nuke screen (like mine once did), it might be because you set the sound IRQ (in setup.exe) to an incorrect/conflicting IRQ.