BetaArchive is a non-profit site and your donations help to keep us online and thriving. If you can, please consider donating a small amount to help keep us online. Donate and find out more here. Thank you! - Andy & mrpijey
Hello!
I have MS-DOS 4.01 working in 86Box and VirtualBox but in VMware, SELECT immediately triple faults the CPU. Clicking on OK to reboot results in this:
VMware Workstation unrecoverable error (vcpu-0).
vcpu-0: This virtual machine has tried to execute an invalid part of memory. It is possible that the virtual disk or CD media you are using is not bootable or that a program or driver running in the virtual machine has malfunctioned.
I use the earliest hardware compability mode (Workstation 5.x) and VMware Workstation 17. The VM has 4MB of RAM and the OS is set to MS-DOS.
Here's my computer's CPUID: Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz 1.19 GHz
I do use 86Box as a main emulator for older things. I use VMware to see if what I use is compatible or not. MS-DOS 4.0 does install in VirtualBox but if I allocate the entire 2GB of hard disk space into the primary DOS partition, the drive will become very corrupt but the system still boots up normally. 86Box run this 'unstable' version of MS-DOS fine. I tried to resort to the Compaq OEM version of MS-DOS 3.31 but it throws an unrecoverable error in VMware. I have not yet test the Compaq OEM version of MS-DOS 3.31 in VirtualBox. The Toshiba OEM version of MS-DOS 3.30 works without any problem in VMware.
Cigaryno MD
Computer: Lenovo 81YH
Processor: Intel Core i5-1035G1 at 1.00GHz (3.6GHz peak turbo clock) with 8 threads and 4 cores
Storage: 238GB NVMe SSD
Memory: 8GB DDR4 (Dual-channel)
Operating System: Windows 11 Dev
I don't recommend MS-DOS 4.0 because it's very buggy.
But the topic is about MS-DOS 4.01, no? And no, it's not that buggy. MS fixed the most nasty bugs and some of the stupid design decisions of IBM and as a result, MS-DOS 4.01 is quite usable, if somewhat memory hungry... not to mention that it has some features that are not found in later versions of DOS.
Hello!
I have MS-DOS 4.01 working in 86Box and VirtualBox but in VMware, SELECT immediately triple faults the CPU.
It's possible that specifically SELECT is the culprit. Can you try to install this DOS on some other emulator, and then transfer it to the VMWare machine?
Select is an 8088 compatible DOS program. It shouldn't crash quite like that.
More than likely the copy of SELECT in question is corrupted. Try re-downloading the disk images and re-copying the program. Also, try a different MS-DOS 4.01 release set or download source, as it is quite possible some archive image has a corrupted SELECT.EXE and nobody ever noticed.
Select is an 8088 compatible DOS program. It shouldn't crash quite like that.
More than likely the copy of SELECT in question is corrupted. Try re-downloading the disk images and re-copying the program. Also, try a different MS-DOS 4.01 release set or download source, as it is quite possible some archive image has a corrupted SELECT.EXE and nobody ever noticed.
Note that according to the OP, the same set didn't crash on VirtualBox and 86Box.
8088 compatibility doesn't guarantee that a program doesn't do things that border on dangerous/undocumented/unsupported - for example touching some I/O ports.
It sounds like the VM is either broken or a CPU opcode error. Another possible cause could be a broken VMX file, a VMX file is a file that is used by VMware for storing VM configuration.
Could this be caused by a faulty line in the configuration VMX file?
I sometimes edit the VMX file but I did not edit it at all.
Also, the problem is with MS-DOS itself, not with SELECT. I made a minimal boot disk (with the SYS command) with COMMAND.COM and with no AUTOEXEC.BAT or CONFIG.SYS file but I still get the same result: Triple CPU fault and then unrecoverable error.
I assume this happens on AMD Ryzen and 10th gen+ Intel Core processors (including 2019+ CPUs from other brands).
Cigaryno MD
Computer: Lenovo 81YH
Processor: Intel Core i5-1035G1 at 1.00GHz (3.6GHz peak turbo clock) with 8 threads and 4 cores
Storage: 238GB NVMe SSD
Memory: 8GB DDR4 (Dual-channel)
Operating System: Windows 11 Dev
Also, the problem is with MS-DOS itself, not with SELECT. I made a minimal boot disk (with the SYS command) with COMMAND.COM and with no AUTOEXEC.BAT or CONFIG.SYS file but I still get the same result: Triple CPU fault and then unrecoverable error.
Unfortunately, such things happen and are bound to happen in the future. Some (most? all?) modern CPUs either introduce bugs in their old/legacy feature sets due to insufficient testing, or even consciously take steps to break them. The result is often reduced compatibility with legacy software under hypervisors such as VMWare and VirtualBox, especially if hardware virtualization is used, but not only in that case.
No, I have not yet tested MS-DOS 4.0 in VMware with an older CPU.
My 10th gen Intel Core i5 can't run Windows 98 unless I disable 32-bit protected mode disk drivers (which also applies to new CPUs). So new Intel and AMD processors can't run classic Windows family (and several DOS versions) smoothly on hypervisors.
Offtopic Comment
In a video of swapping WIN100.BIN and WIN200.BIN, I seen the uploader using MS-DOS 4.01 in VMware with no problems. The uploader used an 8th gen Intel Core i7. This means that this occurs on new Intel and AMD CPUs only.
Cigaryno MD
Computer: Lenovo 81YH
Processor: Intel Core i5-1035G1 at 1.00GHz (3.6GHz peak turbo clock) with 8 threads and 4 cores
Storage: 238GB NVMe SSD
Memory: 8GB DDR4 (Dual-channel)
Operating System: Windows 11 Dev