Glorious Hacks of Yesteryear

Glorious Hacks of Yesteryear

  • Comments 9

Today I had a random discussion about "glorious hacks" in Virtual PC that I knew of.  One that particularly came to mind was this:

In Connectix Virtual PC 5.0 we moved to using a new BIOS and also moved from the 430TX chipset to the 440BX chipset.  One problem that this caused was that Windows virtual machines created on earlier versions of Virtual PC would not boot because they could not find the chipset they were looking for.  The solution we came up with was simple.  When booting a virtual machine would check the version information on the virtual hard disk, if the virtual hard disk was created with an earlier version of Virtual PC we would change the identifier on the motherboard chipset to the 430TX identifier (even though we were still emulating the 440BX chipset).  It turned out that this work just fine.

Cheers,
Ben

Leave a Comment
  • Please add 1 and 1 and type the answer here:
  • Post
  • Why did you change? I don't recall any new features in the 440BX vs. 430TX that are relevant to VirtualPC - only AGP and Pentium2 support.

  • This of course begs the question - why not start emulating something more modern?  Maybe the BX chipset is fine, but the S3 video and SB16 could be updated.

  • Adding new hardware is fine, but don't drop old hardware as far as peripherals go. Add a newer audio card emulation, but give a choice to keep the SB16 for all the DOS users running the old games and demos.

  • Yep, that's what VMw*re does.  It gives you choice of two different audio cards.  There should be no reason why it couldn't be done in VPC, considering that the SB16 is on the ISA bus and not really supported any more.  Most Linux distros and Windows 2003 dropped support for it.

  • I've always wondered why Processor speed (or time alloc) isn't something that can be adjusted in VPC.

    There are many old programs that systems are simply too fast for - as the code wasn't written to run at a particular speed; running as fast as the system could execute it was fine.

    Sure, the apps&games im referring to are ancient, but so is the SB16 ;)

    Need an example? goto one of the many abandonware sites and grab hi-octane.

    Then try playing it on a VPC.

    I loved that game back in the day...

  • Hmm, I ought to try giving a guest machine more than 768MB of virtual RAM and see if its virtual BIOS accepts it from the virtual BX chipset.  Ought to get my hands on an old version of Virtual PC and see if 256MB was a limit.

    I wonder if there might be some drivers on the client side that would happily take advantage of optimizations when presented with a virtual BX chipset, but might use slower code when presented with a virtual TX chipset.

  • Norman, the first version of VPC for Windows (4.0 from Connectix) had a maximum RAM limit of 512MB.

    VPC 5.0 upped the limit to 1GB, and replaced the MR BIOS with AMI, as well as the BX chipset (allowing ACPI), and replaced the DEC 10BT NIC with the intel 21140a 100BT and caused a lot of problems when migrating Windows 2000 VMs from VPC4 to VPC5

  • Monday, December 11, 2006 6:41 PM by sj

    > Norman, the first version of VPC for Windows

    > (4.0 from Connectix) had a maximum RAM limit

    > of 512MB.

    Then it didn't entirely emulate the TX chipset, as far as I can tell ^_^

    > VPC 5.0 upped the limit to 1GB

    Hmm.  The largest I've seen physically on a BX chipset is 3 x 256MB, but if 4 x 256MB was possible then that could explain it.

  • If you think about this sort of thing in the future, consider instead making it a selectable option that defaults to the best choice by default.

    Then we can pick for ourselves.

Page 1 of 1 (9 items)