Running Civilization under Virtual PC

Civilization (by Sid Meier) is one of the original strategy greats of the gaming industry.  In this game you lead your race all the way from 4000BC to 2100AD and attempt to either conquer the world, negotiate world peace, or be the first to build a space ship capable of colonizing a new world.

While this game is a fantastic game to play – it is quite hard to run under Virtual PC (or on real hardware for that matter).  The problems are the result of timing bugs in Civilization itself.  There are two main issues:

  1. The game tends to crash randomly with a ‘Run-time Error R6003 – integer divide by 0’. 

    This is a classic DOS game problem – where the original programmers never expected the game to be run on hardware as fast as is available today.  The easiest way to avoid this is to use a utility like ‘SlowDown’ (http://members.aol.com/bretjohn/programs/slodn310.zip) to slow things down to the point where you won’t hit this (I use ‘Slowdown /100’ on my system).
  2. The game runs really slowly.

    There are a small number of games which actually run slowly on modern hardware – and this is one of them.  There are two ways around this:
    1. Use PC-Speaker sound.  For reasons unbeknownst to me, Civilization will run perfectly on modern hardware if you tell it to use the PC-Speaker.  If you tell it to use no sound, or the sound blaster, it will run slowly.  Having said this – the PC-Speaker sound is fairly ghastly – but you can select to use PC speaker and then turn sound off once you are in the game.
    2. Prior to starting Civilization type in the following:

      debug
      o40 80
      o40 80
      o40 80
      q


      I have no idea why this works – or indeed what it does.  I got this information from Usenet in ’95 when I was trying to get Civilization running under OS/2 – and it still seems to do the trick of speeding the game up a little.

But after all this – it should run fine:

Civilization under Virtual PC

   Civilization under Virtual PC   Civilization under Virtual PC

Cheers,
Ben