Different Approaches

There are a number of different ways to get Dark Forces running on modern machines.  Here are the ones I cover, in order of most preferred to least in terms of final quality... as well as in order of hardest to easiest:

The top one is my favorite choice, and it produces the least speed penalty (negligible) along with the best compatibility, though they all have their drawbacks.  The bottom one is the least acceptable solution, in my opinion.

Running Dark Forces in a virtualized environment

This one is the toughest to set up, but provides the best results.

We will need some additional tools to set this up:

If you have nostalgia of the good ol' MS-DOS times, this will be fun.  Otherwise you may wish to try DOSbox or VDMSound before trying this solution.

Getting a Virtualization Environment

We have several free choices, however some have problems:

  • Virtual PC 2004 - Free for download.  I have had the best results with Virtual PC.  This version will install on XP Home and works fine even though it doesn't officially support it.  Do not use this version on Vista!
  • Virtual PC 2007 - This is the Vista Virtual PC.  Also works on XP Pro, but not on Home anymore. :(  Same results as with 2004.
  • VMWare Server - Remember you will need to register for a key... also keys don't appear to last forever. :(  Text file hackery is required to make VMWare emulate a sound card... and when you do so iMuse crashes when it tries to test.  I haven't gotten it to work.
  • VirtualBox - Uses a strange sound card which is not supported by iMuse.  This program appears to be geared towards more modern OSs.  DOS is not supported (but it works). 
  • There are others out there, if you find one that works better for you, great. :) 

Some of you might be wondering where QEMU is.  Well, QEMU isn't a virtualizer, it's an emulator, and thus it is going to be slower, so I have grouped it with DOSBox below.  There is a driver called KQEMU which can speed up QEMU, but I found it does not work with DOS4GW (which Dark Forces uses). 

I personally use Virtual PC with great success and so this guide will provide specific tips for Virtual PC.  Since we are just using plain DOS and just Dark Forces, we will not need to get drivers or other icky fun stuff.  However you might want to be familiar with the hardware your program of choice emulates.  RTFM to find it, or Google around for a list.  Virtual PC emulates a Sound Blaster 16 as it's sound card, for example.  Newbie tip: The emulated hardware is chosen by the program developers.  It usually has no connection to the actual hardware in your computer.

Getting an Operating System 

Once we have a virtualization environment installed, we need an OS.  MS-DOS can be obtained in a variety of places, as it is still sold in third-world countries, they tell me.  Since none of you are likely to be living within driving distance of a third-world country, there are other solutions, fortunately:

  • Install Windows 9x and boot from DOS (Note: not possible with Windows ME) for DOS support... not recommended by me, although you are welcome to try if you like.  I personally tried a version of MS-DOS ripped from Windows 98, but it was poorly put together and very confusing, I found MS-DOS 6.22 much easier to set up.  Your mileage may vary, but I recommend against this solution.
  • Find someone who hoards 20 year old disks and get their MS-DOS install disks.
  • eBay
  • Download a MS-DOS boot disk from one of the many sites that have them.  Format your virtual HD and copy the boot disk to it.  Use this as the basis of a MS-DOS installation... however you will have to get your own mouse and CD drivers (FreeDos has good CD drivers you can download separately from somewhere and CTMOUSE is a good mouse driver).  Intimate technical knowledge of setting up MS-DOS boot files will be REQUIRED.
  • Use a free version of DOS.  Variants include FreeDos, which would be the first recommended version on my list.  Since these are not truly MS-DOS, your mileage again may vary with these and I would not recommend this solution.
  • "Acquire" a disc/k image(s) of MS-DOS using the Internet.  This is illegal despite the age of MS-DOS, so I'm not helping you with this.

Once we have MS-DOS installation media, use the virtualization environment to load the media into a new virtual machine (if you use Virtual PC to create a new machine, set the OS type to MS-DOS and it will pick good settings for it... I recommend not changing memory and hard disk size for the virtual machine) and install MS-DOS onto it.

If you are not already, you will need to become familiar with using the MS-DOS environment.  That is beyond the scope of this article, and it will be assumed you know how to navigate directories and drives and run programs.  A knowledge of things AUTOEXEC.BAT and CONFIG.SYS may turn out to be very helpful as well.

MS-DOS Installer Problems

If you are using an MS-DOS 6.22 CD image, you may find the  installer prompts you to put the CD into a non-existent drive E:.  This is a problem with the disc, however it can be worked around by partitioning and formatting your virtual disk BEFORE booting from the CD.  Here is my way of doing this:

Download the MS-DOS 6.22 boot disk from here.  Extract the IMG file.  Virtual PC will not be able to handle this file, so we should follow the directions in the included CONVERT.TXT file.  I will walk you through it... Google for and download WinImage.  Install and run WinImage and open the IMG file.  Go to Image > Convert format..., make sure 1.44MB is selected, hit OK, and save the file.

Now mount it as a floppy disk in Virtual PC using the Floppy menu, and boot from it.  Type FDISK  and select the first option, and follow the prompts to make a primary active partition that takes up the entire disk.  At the prompt again, type FORMAT C: to finish the formatting.

Unmount the floppy image, make sure the MS-DOS installation CD is mounted, and reboot the virtual machine to install MS-DOS.  After the installation, don't forget to boot from the CD again to install CD-ROM and mouse drivers.

Setting Up Dark Forces

Once you can boot into the virtual machine, it's time for drivers.  If you have the aforementioned MS-DOS CD, you can boot from it after installing MS-DOS to install CDROM and mouse drivers that will work perfectly for our purposes.  We will not need sound drivers; DOS programs are expected to provide their own drivers.  Ahh the good old days. :)

Get Dark Forces installed by loading the CD into the virtual machine, usually an easy to find menu option, and installing as normal, or by using the various tools provided by the virtualization environment (I recommend Virtual Machine Additions for Virtual PC, which are included) to move files onto the virtual machine.

To install Virtual Machine Additions, you do NOT want to use the option under "Action", as this is only appropriate for Windows-based virtual machines.  If you try it you will find you are unable to copy the files off the CD.  So instead, go to "Floppy" and mount.  Find your Virtual PC installation directory (By default it's C:\Program Files\Microsoft Virtual PC) and open the Virtual Machine Additions folder.  Mount the DOS Virtual Machine Additions image.

Now switch to A: and type DOSADD to install Virtual Machine Additions for DOS.  Now reboot and you'll be able to use the folder icon in the status bar to map folders on your REAL computer to DOS drive letters.  This makes it very easy to transfer Dark Forces and/or mods using standard DOS commands.

After that's all sorted out, make sure you run IMUSE (installer does it for you) and the sound card should hopefully be detected.  If you use VMWare you'll need to change a setting in your virtual machine file to get it to emulate the supported Sound Blaster 16 (but I had problems; google aroudn for how to do this anyway).  VirtualBox can't support Dark Forces sound, at least not as of this writing.

If everything has checked out to this point you should be able to run Dark Forces plus any mods you can transfer onto the virtual machine!  I may consider resurrecting my DOS-based Dark Forces Level Manager for download in the future, but for now you can just use BATs like you've always done.

Run Dark Forces in DOSBox

Download DOSBox.  Since DOSBox emulates DOS instead of a whole PC, getting Dark Forces up and running is much easier and straightforward.

Now, I will take a moment to explain how DOSBox interacts with the files on your computer, as it can be a bit confusing.  DOSBox does not directly interact with any of your drives at first... in fact, if you run it, you'll see it's at a Z:\ drive that doesn't really exist on your computer... it's a "virtual drive" and this one is associated with DOSBox system files.  To run your programs under DOSBox, you make your own virtual drives with the mount command (it works similarly to the linux command) that point to files on your real drives.

If you haven't already, run DOSBox.  Now you have to mount a drive... you can choose just to mount your Dark Forces folder, so DOSBox can only see those files.  If you installed Dark Forces to C:\Dark you could type this:

mount c c:\dark

to mount the real C:\Dark as DOSBox drive C:.  Or if you want to be able to browse your whole real C drive:

mount c c:\

Although you will get yelled at for the latter (don't worry too much about it).

You can then use standard DOS commands to browse the mounted drive and run programs on it.  Note that instruction in such things is beyond the scope of this article... if you need to do some brushing up, a standard MS-DOS introduction tutorial should be fine for learning basic commands to use in DOSBox as well.

You may need to mount the CD drive as well.  You can do this the same way as above, except you'd want to mount it as D instead of C.  Note for those already familiar with DOSBox: Dark Forces does no fancy CD checking, so you can mount the CD drive without any special switches.

Get to Dark Forces' directory and run IMUSE so it can detect the emulated sound card and then run DARK to start the game in a teeny-tiny window.  Remember ALT+ENTER for fullscreen.

This is a simple way to get it running, but it will be SLOW.  Refer to the DOSBox docs for information on tweaking the configuration.  Even then, you will need a FAST (CPU-wise) computer to get Dark Forces running well (I have a 1.8ghz system and DOSBox is tweaked optimally.  Dark Forces runs ok under DOSBox until a 3d object is on screen, then the slowdown is incredible).

Here are a couple of my tweaks:

windowresolution=960x600

The DOS prompt will look stretched, but this is a multiple of Dark Forces' resolution, so it will look much better in windowed mode.

priority=higher,lowest

This will cause DOSbox to slow down the rest of your system while you're using it, but it will greatly slow down if another program interrupts you or you switch to another program.  I recommend not removing the second clause and especially not upping the first unless you like your computer being unable to do anything except calculate damage from being shot at if you accidentally get switched away from Dark Forces.

core=dynamic
cycles=auto
cycleup=1000
cycledown=1000

cycles=30000 is a good value for me personally, but I am currently experimenting with "auto" which seems to cause the DOS prompt to be non responsive at times.  The changes in the cycleup and cycledown values make it alot easier to adjust the cycles without getting weird valies.

QEMU 

QEMU is here because it gets about the same performance as DOSBox.  I'm not going to go into this much because it's very command prompt-centric unless you have a GUI program for QEMU or something.  At any rate, the general idea is to use qemu-img.exe to make a disk image, then follow the directions above for virtual machines (getting QEMU to just run will be fun; it needs lots of command line switches, yay).  If you're still with me, you have hope as a nerd.  Remember you can use CTRL+ALT 1/2 to switch between the QEMU console and your virtual machine, and use the console to swap out CDs or floppies whatever.  I got Dark Forces running fine in QEMU, although it was a bit slow.

Fix XP's sound problems with VDMSound and let the rest run natively under XP

First, download VDMSound (if you have NT you may want to try the 2.0.4 version with the VMDSound Launchpad add-on, which is only included in 2.1.0) and install it.  Now go to your Dark Forces folder and right click IMUSE.EXE and click "Run with VDMS" (if you use 2.0.4 there may be two options with this... use the one with the music note icon.  If there is no option like this, you need to reinstall Launchpad.).  Ignore the wizard options, except make sure "Keep this configuration" is checked.  Finish the wizard, do express setup, and you hopefully will hear bearable sound.

Do the same thing with DARK.EXE to launch it.  You can use the VDMSound shortcuts the wizard created to avoid the wizard from now on. 

That's the basics, but there are some problems, notably inaccurate sound and a flickering HUD.  The sound can be helped by changing the default DirectSound output devices to waveOut... go to the properties of the EXE or the VDMSound shortcut, and finding the Advanced VDMSound dialog... there are several tabs where you can select whether to use DirectSound or waveOut for a device.  Feel free to experiment with other settings (CD support may also be needed, you may also want to tweak Joystick support) to try and improve how Dark Forces runs.

End Notes

It may be difficult, especially if you use one of the first two solutions, to get the CD support working properly.  Here is a tip on how to make your own CD crack... using your own legit CD of course!

First ensure you installed Dark Forces with the full install. 

Next, grab the CD.ID file off the CD.  If you're running in a virtual machine, you'll want to get the file into the virtual machine and place it in the base directory of one of the drives (usually C:, so c:\cd.id).  If you're using DOSBox, you'll want to place it in the directory you mount as C inside DOSBox (IE if you do mount c c:\dark you'll want to make the file c:\dark\cd.id).  If you're using VDMSound or just running Dark Forces normally, you'll want to put the file in the base directory of one of your drives (ie c:\cd.id or whatever).

Next, run Dark Forces without the CD in the drive, and hit the drive letter of the drive you put the CD.ID file on (in DOSBox we're not working with REAL drives, remember?  So you'll just want to hit C) and if you did everything correctly Dark Forces should start up!

Final Remarks

I suggest checking out DF-21.net, one of the last, if not THE last, Dark Forces forum.  If you have any questions or comments regarding Dark Forces, including getting it to run on modern systems, you are more than welcome to sign up and post them there, and I and the other forum members will be glad to help.

Please do not e-mail me questions regarding getting DF to work.  Again, if you post on the above forum more people can help you faster. :)