First post, by Tweedle Dumb
I can't get a beat on how the A20 gate is supposed to behave under Microsoft Virtual PC. I'm trying to get a 16-bits DPMI program running under MS-DOS as a VPC 2007 guest provisioned with 16MB RAM. The DPMI tests all failed under VPC 2007, although the exact same configuration seems to work as expected under VirtualBox. But VirtualBox doesn't have the DOS guest additions, so I'm trying to (hopefully) get it working with VPC.
Booting the VPC MS-DOS guest 'clean' (i.e. no config files processed at boot), and with only HIMEM.SYS, both yield the same errors. It seems in both cases the DPMI configuration utility simply cannot control the virtual PC's A20 line, complaining that the A20 is already enabled and that it can't be disabled. Again, this occurs when the DOS virtual machine is booted clean, as well as when only HIMEM.SYS gets loaded.
However...I recently got that DPMI configurator to run perfectly in Virtual PC 2007 by adding the line: DEVICE=EMM386.EXE NOEMS to my DOS CONFIG.SYS file, just after HIMEM.SYS get loaded. But EMM386 is known to cause problems with certain Virtual PC guest additions (the useful FSHARE utility is often cited as being problematic when run with EMM386) and is contraindicated, so I'd like to avoid using this method if at all possible.
Can someone please shed some light on how Virtual PC differs in it's A20 handling when compared with other emulators and/or physical PCs? I am also at a loss to explain how EMM386 makes the difference with Virtual PC, but doesn't seem to be required with VirtualBox.