2019-04-14 19:30:44 (edited by musicalman 2019-04-14 19:31:24)

introduction

Have you ever played old games and noticed that sounds seemed to move not just in stereo, but around your head? Could you tell the difference between in front and behind, even if you were just on headphones? Have you also noticed that on later versions of Windows, this just doesn't happen? If you can relate to this, then this article is for you! In this article, I will be discussing several methods to allow old games to provide 2D or 3D audio positioning, and possibly other effects, on modern versions of Windows. If this doesn't seem to apply to you, you might still be interested in this article, especially if you want to experience old audio games in a new, hopefully more immersive way.

Note: These solutions will produce little or no difference with games that use software audio mixing, such as those made in BGT.

I have tested these solutions on Shades of Doom, Technoshock, GMA Tank Commander, Monkey Business, and Treasure Mania 1. These have all been tested on Windows 10 64 bit, version 1803. There are a handful of other audio games where these solutions will probably work, but I haven't yet tested them.

So what's actually happening here?

The sound in oldre games was often powered by the Direct Sound architecture, which can mix sounds using two methods. The first is software mixing which does not offer advanced audio effects, but is still sufficient for many tasks. It is capable of playing sounds and adjusting their volume, panning, and pitch. The second uses additional hardware effects provided by many sound cards to provide 2D or 3D audio positioning or other environmental effects such as reverberation. Nowadays, software can accomplish these effects too, but when Direct Sound was created, CPU resources were more limited so sound cards had to do the work. If hardware effects aren't working, Direct Sound uses software mixing as a fallback, using volume and panning to approximate 2D or 3D effects for example. For the most part, that's enough to get by in audio games, but the experience is far more immersive if hardware effects are available.

With Windows Vista and beyond, a slight problem was introduced. Direct Sound is no longer supported natively. It's still emulated, and for the most part it works well enough, but hardware effects are not possible because there is no path for Direct Sound to communicate with the audio drivers for your sound card. In plain English, sound cards are never told what effects to apply, and software mixing is always used. This is admittedly a simple explanation that leaves out many details, but it will suffice.

Why should I even care about these effects anyway?

This file demonstrates what happens without effects. In the recording, I am playing with Shades of Doom. I start out by playing with the night scope for a few seconds, and then I do a 360 degree turn around the emergency equipment. Then I exit the game. Listen carefully, especially during the 360 degree turn. The game audio is also set to virtual 3D full, however I have never found that setting to make a difference.

Now try to answer this question: Did the emergency equipment start out in front of me, or behind me? Based on this audio file, you can't really tell, because adjusting the volume and panning of the emergency equipment sound isn't enough for accurate 2D placement.

Yes, the emergency equipment started out moving to my right side. So the common assumption is that it started out in front of me and I turned left. However, it could've just as easily started behind me and I turned right, which would've sounded very nearly the same in this case.

Of course, when you're playing a game, you'll always know what directions you are turning, and based on that, you can figure out where things are. For example if you turn left, sounds which are in front of you should move to the right. If they don't, then those sounds were behind you. Also, if you walk forward and sounds fade away, you'll know they're behind you and that you must turn around. With practice, this way of navigating is manageable, but it is always a little awkward.

To alleviate this, I have written this article to present four solutions for getting hardware effects back on modern versions of Windows. I hope that by the end of the article, and after listening to the audio examples throughout, you'll start to get a feel for how some old audio and mainstream games were intended to sound.

Admittedly, the first three solutions I will be presenting didn't work too well for me, but I have taken the time to document them anyway in the hopes that they will be useful to someone. I am only one person after all, so your results may be better than mine. If you don't want to mess with them though, skip ahead to solution 4 where I talk about ALchemy, which is the one I prefer.

Solution 1: Indirect Sound

The first option is Indirect Sound. To use it, simply download it, and copy the dsound.dll and dsound.ini files that come with it to the folder of the game's executable. Windows should see that you want to use this version of Direct Sound instead of the stock one. You can also tweak the ini file to change many different options. To revert to the stock Direct Sound, simply delete dsound.dll and dsound.ini from the game's folder.

Unfortunately, Indirect Sound seems to only work for surround sound setups, and not through stereo speakers or headphones. In fact, it will make games unplayable with stereo setups because the panning and volumes will be all messed up. I have never played games through a surround sound setup, so I can't speak for the effectiveness of Indirect Sound, or how games would sound without it. But if you are having problems with games on your surround sound setup, you might want to give this a shot.

Solution 2: Realtek's 3D Sound Back

3D Sound Back is probably only applicable if you're on a Realtek sound card. You can still download it directly from Realtek's web site, however there's a captcha which I can't get past so I have downloaded it from elsewhere and put it on my Google Drive. To install the program, unzip the file and run setup.exe.

Installing the program is simple enough, however it's pretty old now and doesn't launch unless you set its compatibility mode to Windows Vista. To do this, navigate to the executable file it installs, (usually C:\Program Files (x86)\Realtek\3D Sound Back Beta0.1\3DSoundBack.exe). Press alt enter on this file to open the properties dialog, and go to the compatibility page. Check the "run this program in compatibility for" check box. Then press tab and you should be in a list of Windows versions. Set this to Windows Vista, then tab to the "run this program as an administrator" check box and check that too. Now we can use it.

To actually get it working with a game, first launch the program, either by running the .exe file directly, or launching it from the shortcuts it installed. You'll then be in a setup program that allows you to add, edit, or remove games from the list of games you want 3D Sound Back to work with.

To add a game, simply press the add game button, and give your game a title. For this example I will add Shades of Doom. If you tab from here, you should see a game path edit field, and then a button. if you know the path for the game, type it in the game path edit field, or else press the button to browse a tree view to locate it. What you're looking for here is the folder the game's executable is in. In the case of Shades of Doom, the path will probably be C:\Program Files (x86)\Shades of Doom 2.0.

The next two edit fields control buffer settings, and I usually leave those alone. The only thing to do after this is to hit the OK button. When you do, you'll be brought back into the initial dialog. Tab to the game list, and select Shades of Doom. Then shift tab once and you'll be on the enable button. Press this button to enable 3D Sound Back on the game. What this actually does is copy a special version of dsound.dll and dsound.ini files to the game's executable path. Once that's done, you can play the game!

To hear 3D Sound Back in action, listen to this audio file. This is pretty much the exact same thing as the previous one, except 3D Sound Back is being used this time. While it does introduce 2D positioning, it also has some bugs on my system. The night scope is simply blaring, and no it's not because an enemy is around. The 2D audio sounds good, but the night scope volume issue is a huge downer, plus other minor problems surface when I go through menus, as the menu wrap sound is very distorted and sometimes there is an annoying glitch at the ends of speech prompts.

Unfortunately, these issues are not isolated to Shades of Doom on my system. IN Technoshock for instance, the volumes of footsteps are erratic, and the driver crashes Monkey Business. Yeah, I was pretty disappointed when I noticed these things! But maybe it'll work better for you.

Solution 3: Using a Virtual Machine

The third solution is to run a Windows XP virtual machine with VM Ware. On its own, this has no advantage, but vMWare can emulate the Creative SBPCI128, which is an old Soundblaster sound card. With this emulation, you can get somewhat convincing 2D positioning and other effects. If you cannot use virtual machines for some reason, then this solution may not be for you.

Obtaining and configuring VM Ware  and virtual machines is outside the scope of this article. However, I will cover how to get the sBPCI emulation working. It's not hard if you're familiar with XP, but there are a lot of steps.

First, download the driver installation at this link, which will download it from my Google Drive. The file is also available on the product's support page on Creative's web site, however there is a captcha on that page which I can't get past. Once the file is downloaded, put it on your virtual machine and install it there.

Eventually you will reach an online registration step, asking for your name, e-mail address and other things. This is not mandatory, so just hit cancel, and in the dialog that comes up asking when you'd like to do the registration, select the don't remind me option. At this point, the software installation will be finished and your virtual machine will reboot.

When the machine is booted, the driver should be working. You'll know it's working if you hear an interesting stereo effect being applied. I don't like it so I normally turn it off.

The quickest way to turn it off is to press Windows R to go into the run dialog and type mmsys.cpl. This takes you to sounds and audio devices settings. Admittedly there are more intuitive ways to get here such as through Control Panel, but mmsys.cpl is the quickest.

In this dialog, go to the audio tab, then in the playback devices selection, select the PCI128. Tab to the volume button and press it. A new dialog will come up. Press alt P to go to the options menu and make sure advanced controls is checked. When it is, tab to the advanced button and press it. There are actually two advanced buttons, one for audio settings and one for midi settings (you get a cool midi synth with the PCI128 too). In this case we want the one for audio. You'll know you've found the right one if you are brought into a dialog with tone controls and a spatial check box. Uncheck the spatial check box and your sound will return to normal. Then it's just a matter of closing all the dialogs.

You should, in theory, be able to play games on your virtual machine with enhanced audio positioning. If there's no difference in the positioning, you might want to check hardware acceleration settings. To do this, type mmsys.cpl into the run dialog again and go to the audio tab. Press the advanced button and you should be brought into a dialog with two tabs: speakers and performance. Go to the performance tab and set both sliders to 100. This will use the best sampling rate conversion, and full hardware acceleration. (I'd recommend this for real XP machines as well if possible.)

Here is what Shades of Doom sounds like on the VM. You should definitely be able to tell a difference between being in front as opposed to being behind. Sounds which are behind have a distant muffled character. Unlike the Realtek solution, this one has no volume issues, and on the whole it sounds reasonable, however I don't like the 2D positioning as much. But if you must play these old games on a virtual machine, this is probably your best bet.

If you're experiencing lag on the virtual machine, there are some steps you can do to minimize that, but that is slightly outside the scope of this article because lag is a generalized side effect of using a virtual machine.

Solution 4: ALchemy

The fourth solution is actually my preferred one and is similar to Realtek's 3D Sound Back, but it is Creative's version, called ALchemy, which works much better for me. The catch is that Creative has protected it so that it can only be used on Creative sound cards. However a patch has been made which allows it to be used on any sound card. It's probably not the most legal option because you are breaking Creative's protection, but to my knowledge, ALchemy is a free download so this is not piracy. The patch may perhaps get your antivirus mad, but it is completely safe, and my friends and I have used it across multiple computers with no issues.

I originally found ALchemy and the patch here, however I have also uploaded a zip here for easier access. Once ALchemy is downloaded, follow the installation instructions. To actually get it working, keep reading this article.

The procedure for adding and enabling a game is fairly similar to Realtek's 3D Sound Back. To add a game, first launch ALchemy. No need to change compatibility mode settings this time. Tab to the add button and a new dialog will come up. Enter a game title, then tab to a group of radio buttons. By default, the program will be browsing for a registry path, but you want to change this to use a game path. Unfortunately, I haven't found a way to select the game path radio button with the keyboard, so you'll have to use your screen reader's mouse movement facilities to find the radio button and click it. It is clearly labeled so you shouldn't have trouble finding it. Select it, then tab to the button which will let you browse for the path where the game's executable is located. Once the path is set, I don't change anything else, so just hit OK.

Now tab to the installed games list. Select the game you have added. Shift tab once and you will be on the enable button. Pressing this button will install ALchemy's version of dsound.dll and dsound.ini into the game's path. The entry will also be moved out of the installed games list, and into the ALchemy enabled games list. If everything went well, your game should now have improved sound!

Here's what ALchemy sounds like on Shades of Doom. As you can hear, no volume issues, and a respectable representation of objects in a 2D space! If I have to nitpick, ALchemy does introduce a very slight amount of lag, and a few other oddities that audiophiles might pick up on, but those are very easily overlooked. Also in Monkey Business, I have noticed that in front and behind directions are often reversed, but I think that might be a Monkey Business issue.

Closing

As I said, I prefer ALchemy, but I'm also really interested to hear from you. Have you found other solutions I haven't yet mentioned? Do one of the other solutions work better for you? If you have any suggestions, questions, probloems or criticisms, feel free to contact me and I will try my best to accomodate!

Make more of less, that way you won't make less of more!
If you like what you're reading, please give a thumbs-up.

Thumbs up +4