Running the System Shocks on XP

So with the somewhat undeserved popularity of Bioshock, some people may be wondering about its predecessors, the two System Shocks. "Some" meaning the people who know Bioshock was inspired by more than the writings of Ayn Rand, if even that. I know I hadn't heard of them through all the bullshit about sticking Bioshock up Roger Ebert's ass until I was introduced to Yahtzee through his much needed call-out on its flaws.

Those seeking out the System Shocks will soon find them a major pain in the ass to run on Windows XP. I suppose there's always the option to dust off a Win 95 or 98, but running them on XP isn't so bad when you know how. But finding out how for me meant hours of eyestrain over a hot computer monitor, reading walls of text on message boards that say to download some files but instead of linking to the actual files they link to another message board post which doesn't even exist anymore, and fiddling around with Command Prompt and DOSbox and frontloaders for such which turned out to be shit anyway, which may explain why I'm in such a pissy mood right now.

And just for the record, I don't hate Bioshock, nor do I think it's anywhere near as overrated as Shadow of the Colossus. I may have even slightly liked Bioshock, which is a hell of a lot more than I can say about the latter.

DISCLAIMER: This guide has been mostly redundant ever since and Steam released System Shock 2 in 2013, and ResidualVM takes care of Grim Fandango, but the first System Shock is still stuck in licensing hell and I reference this page when I'm fiddling around with DOSbox.


System Shock's problem with XP is that it's an old DOS game. The best answer to this is DOSbox, but DOSbox is tricky to use.

First, don't bother with a DOSbox Frontloader. I don't care what anyone says, for the sake of this guide, trash 'em. I spent hours trying to boot System Shock with those bastards, and once I ditched them I had the game running within minutes. Also, get a legit copy of the game. Unfortunately, I don't know how much of this guide applies to the floppy disk version, but I imagine you install the game the same way, then just run it off the C drive.

Download VDMSound, and install it as per the on screen instructions. You need this program to get sound in System Shock.

Next, put in your System Shock disc, and go into the INST folder. Right click on "initial.exe" and click "Run with VDMS".

Hit "Next >" and uncheck "Remember my settings", then "Finish"

Press Enter to select "English" and you should see this screen:

You have to use the arrow keys to make selections. Press Enter to go into the sound settings, and set BOTH the sound and digital cards. This is where VDMSound comes into play. System Shock only accepts the sound cards listed, so if you were to just run the installation without VDMSound and not having any of these cards, you'd get an error message that the card could not be detected. VDMSound "tricks" System Shock into thinking your current card is a Soundblaster 16. Although if you actually had a Soundblaster 16, you might not need this step, who knows.

Use either Soundblaster or Soundblaster 16 and have the computer auto-detect both, and just make sure you test both afterwards. When you test the music you should hear some really annoying "music" that sounds like water plunking to somebody randomly mashing an organ, and when you test the digital you should hear SHODAN taunting you. If you don't hear one or either, try the other card option, and if you're still not getting anything... I dunno, toy around with some of the other options. And make sure your speakers are on and you don't have Mute set.

Now hit "Return" and go down to "Choose Install Directory". System Shock will install by default to c:\sshock, but put in whatever you like. For the sake of this guide, let's use c:\Games\SSHOCK as the directory for our installation. If you choose something else, remembering and substituting the directory is on you. After making your choice, press enter and go back up to Install System Shock.

Now, boot up DOSbox, and type in the following:

For those with images turned off, or the totally DOS illiterate:

"mount d d:\ -t cdrom" and press Enter.
NOTE: If you have multiple CD-rom drives on your computer you may have to specify one. Type "intro cdrom" in DOSbox for details.
It should respond "MSCDEX installed. Drive D is mounted as CDRom d:\"
"mount c c:\games\sshock" or whatever the directory you installed System Shock to was, and press Enter.
It should respond "Drive C is mounted as local directory c:\games\sshock"
"c:" and press Enter.
And finally "cdshock," or "sshock" if you want the original version, will boot up the game.


System Shock 2 doesn't run in DOS, and you'd think with other older non-DOS games like Half-Life you can just install and go. But System Shock 2 decided it was special and wanted to have its own fit with XP - it does not like systems with multiple processors, called multiprocessor or hyperthreading systems, and will constantly crash, often after you try to use or pick up something. Though it never got that bad with me, I've heard stories of the game crashing after just walking a few steps.

Just as an aside, Grim Fandango also has this problem, but can be fixed simply by going to your Desktop icon, right clicking it, then going to Properties -> Compatability and selecting Windows 98:

System Shock 2 can't. I don't know, try it, it might work. But for me, all changing the compatibility did was keep the game from booting at all. So if that doesn't work, you'll need to turn off one of the processors for the game. You could follow the instructions at Game Issues With Multiprocessor/Hyperthreading Systems, but for the sake of not sounding like a hypocrite for complaining about places linking to places that may not exist in the future, I'll explain what to do here.

Install the game as normal, and leave it in XP Compatibility. Download imagecfg, and extract it to the Windows\system32\ and Windows\system32\dllcache folders. I couldn't find the dllcache folder even when I selected to show hidden folders, so you'll probably have to use WinZIP's Extract To option to get imagecfg in there.

You may want to copy-paste your shock2.exe and shock2.icd files into another folder, then open Notepad (not Wordpad), and copy-paste the following:

imagecfg -u shock2.exe
imagecfg -u shock2.icd
imagecfg -a 0x1 shock2.exe
imagecfg -a 0x1 shock2.icd

Save the file as "processor.bat" in the same directory as your shock2.exe and shock2.icd files. Then simply double-click to run it. Command Prompt will open and you should then see something like:

Now, I'm running this on files that have already been fixed, but the only difference is "Process Affinity Mask etc." at the tops of each paragraph will be "shock2.exe/icd contains contains no configuration information". That link I provided up above uses Thief 2 as an example. Load up System Shock 2, and it should now be permanently fixed.

You may also want to install the v2.3 patch. I don't think it's required for getting the game to actually run, but it can't hurt. And no, just installing this patch won't fix System Shock 2's problem with hyperthreading.

If you try to run System Shock 2 and get the error message "Direct 3D Device does not accurately report texture memory usage", open "cam.cfg" in Notepad and add "safe_texture_manager" to the bottom.

Aaaaand it doesn't seem SS2 has a screen capture feature.

Back to the File Cabinet