The basic PC spec is as follows.
AMD Phenom II 9655BE processor (3.2GHz).
8GB DDR3 dual channel memory
2 x PATA and 4 x SATA physical hard drives
SATA DVD multiformat drive with BDROM & HD DVD reading
SATA DVD multiformat drive
SCSI ZIP Drive via Adaptec ASC29320 adapter
3.5" floppy
AMD 4670 based graphics
Onboard HD audio, dual gigabit LAN, USB2, firewire, serial and parallel ports.
I am currently running this as a dual boot machine between Windows 7 RC1 64 bit and Windows XP SP3 32 bit. I also have a very small MS-DOS6.22 installation to hold the boot manager, and later I will be adding OpenSuSE 11.1 64 bit.
Under Windows 7 I have Windows VirtualPC installed with the official VirtualXP image, plus VirtualBox 3.0.4.
Under Windows XP I have Microsoft VirtualPC 2007 SP1 and VirtualBox 3.0.4.
I have installed essentially identical Windows98 setups into virtual machines running on MS VPC under WinXP and VBox on both WinXP and Win7.All machines were set up with virtual drives of about 2GB, 640MB RAM and one low spec NIC. Both of the VBox installs behave in much the same way, that is they only run with hardware virtualisation disabled. If it is enabled the VMs lock part way through start up. The only noticabe difference between the two is (surprisingly) the VM running on the 32bit XP host is slightly faster than the one running under the 64bit Win7 host. The MS VPC install on the XP host is quite different. Not only does VPC have guest additions for 98 giving proper desktop integration etc, the machine will also run with hardware virtualisation enabled making it noticably faster than either of the VBox machines. I have not tried installing Win98 under Win VPC
on the Win7 host partly because I can't find out how to create a blank machine (the interface and setting are hidden away and are only accessible once VirtualXP has been started, plus there doesn't appear to be a 'new' option anywhere to create a new machine) and partly because I don't believe it will work as the VM is displayed/accessed using Remote Desktop which doesn't work with anything before XP. I had also previously tried installing Win98 directly on the hardware, but it failed, although I don't know if this was due to a Phenom II incompatibility or simply the PC had too much memory.
I have made a few other observations about VPC and VBox, the main one being that VPC on a 32 bit host will not allow 64 bit clients to run (the client reports a 32 bit processor) whereas VBox will if hardware virtualisation is enabled. This set me to thinking about what VPC and VBox do differently with hardware virtualisation. One guess is that VPC traps potentially troublesome instructions and executes them in an emulated environment as if hardware virtualisation is disabled whilst VBox lets everything through. However, I doubt this is the case as both VBox and VPC were written before AMD launched the Phenom II, so how would Microsoft know which instructions to trap? Also, to trap those instructions VPC would have to examine each meaning a significant processing overhead and, possibly, a reduction in performance with hardware virtualisation switched on!
Another is that as VPC comes in 32 and 64 bit variants, and I have the 32 bit variant on my 32 bit XP host, it only enables some sort of 32 bit virtualisation mode that means the problem instructions hare handled properly and don't cause problems. I cannot go any further on this theory as I do not have a 64 bit host that I could install the 64 bit version of MS VPC 2007 on to see if Windows 98 then won't run with hardware virtualisation enabled. This does, of course, assume that hardware virtualisation has different 'modes' available in the first place.
Theory 3 is a little simpler. Windows 98 uses the 3-4GB address space for its own internal purposes (a bit like the upper memory area on the original PC in the 640K-1MB range was reserved for the machine to use for things like BIOS etc), which means it will not run if there is more than 3GB of physical memory visible to it even if the precautions are taken to limit the file cache etc to enable it to run on a system with ove 768MB. With VBox when hardware virtualisation is disabled and with VPC with hardware virtualisation enabled or disabled only the memory specified is made available and any addresses outside that range are left 'vacant' for Win98 to use as it sees fit. However, I wonder if VBox with hardware virutalisation enabled does this, or whether the address space above the specified memory is somehow locked and when Windows tries to access the addresses in the 3-4GB range that it uses for its own purposes, the hardware virtualisation in the processor grabs the instructions and tries directing them to the physical memory making the VM behave as if it had a large amount of memory installed.
The point of this rambling post is actually quite simple. Firstly if Microsoft can make Windows98 run with hardware virtualisation enabled, why can't VirtualBox? Secondly, if the first question can be answered, is there a way of modifying VirtualBox to make Windws98 run with hardware virtualisation enabled without affecting its functionallity with other operating systems even if that means having a switch to enable some sort of 'compatibility mode'? And thirdly, is the problem that causes VirtualBox to be unable to run Windows98 with hardware virtualisation enabled likely to cause problems with other older operating systems which are still supported such as OS/2, in which case will that problem be fixed or will those operating systems become unsupported?