Microsoft Virtual PC is VM software that allows you to determine the speed of the CPU, RAM settings, and Video Card settings for each virtual Machine you create. From the website:
Configurability - After installing Virtual PC, you can configure it to suit your requirements. Virtual PC has a number of settings that control how the product interacts with the physical computer, allocates resources, and so on.
I've used it to emulate a 400mhz PC with 128 Megs of RAM before.
Edit:
A Virtual Machine on Virtual PC will be slower than your host PC. I remember in VPC 2004, it would even say what the mHz speed it was virtualising was. That is no longer in Virtual PC 2007, but some digging shows that the Microsoft guys have addressed this very issue.
From their website's blog (given that it may disappear one day):
Well - maybe an emulation solution is better for your needs. Or, maybe you need to invest in some older hardware. Or - you could pursue the use of 'slow down' software inside of the virtual machine. Some programs that I have used with varying levels of success include:
One final comment on this topic - some people have noticed that some older DOS programs that are known to crash on fast hardware actually run perfectly inside of Virtual PC / Virtual Server. The reason for this is that a long time ago in Virtual PC development, we put in some code to detect the problematic routines in some common DOS libraries (checkout this for an example reference) and to patch these binaries 'on the fly' so that they would run correctly inside of the virtual machine.
I hope that helps.