VOGONS


First post, by Gegueure

User metadata
Rank Newbie
Rank
Newbie

Hello Vogons!
I've recently upgraded my father and uncle to Windows 11 in the family business. They are reliant on Excel 4.0 and Windows 2000 because of a story I would gladly tell in an appropriate post 😅 but it's part of the fun here for me.
My uncle previously had Win2kPro in MS Virtual PC working flawlessly. Since that is no longer an option I used VMWare Workstation 16 Player on his new build.
The VM and the software within runs, but Excel 4 often crashes with the following error message (translated from french):

ntvdm.exe has generated errors and will be closed by Windows. You must restart the program

I was initially running VMWare Player 17.5.1 with a fresh install of Windows 2000 Server, then I created a new one with Windows 2000 Professional, then since he was getting this I uninstalled VMWP17.5.1 and installed VMWP16.2.1 since this is what we have on another PC working flawlessly.
I also copied the VM from this working setup and just changed its hostname.

He is still getting these error messages and having to restart Excel4 many times a day, while the Windows 10 PC that I took the VM from has no issues.

Here is his build:
ASUS Pro A520M-C II
AMD Ryzen 3 4100
1x16Gb Corsair Vengeance LPX DDR4 3200MHz
Windows 11 Pro 23H2 22631.4602

I have a Proxmox server that has absolutely no problems serving Win2K sessions over RDP, but he's used to running his VM locally so for the little extra comforts that brings (Mostly being able to resize the window and having more than 256 colors) I'd like to succeed in getting that working right.

Thanks for any help, or just reading my story haha.

-Gegueure

Reply 1 of 20, by Gegueure

User metadata
Rank Newbie
Rank
Newbie

Oh sorry I forgot to mention this will happen even when the PC is idle, but seems to happen more often when he's selecting cells using shift+arrowkeys.

-Gegueure

Reply 2 of 20, by darry

User metadata
Rank l33t++
Rank
l33t++

Are you running with Hyper-V enabled ? If so, maybe try with it disabled.

If you still have the old disk image used in VPC, you could compare if anything different is installed on your new setup (service packs, etc)

Long shot: maybe you're hitting this https://www.itprotoday.com/it-infrastructure/ … ice-pack-2-sp2-

Reply 3 of 20, by Gegueure

User metadata
Rank Newbie
Rank
Newbie

Thanks for the suggestion. I still kept the old PC until I'm certain that everything is perfected with the new one.
I'll try the registry edit from your link tomorrow.

For Hyper-V, I remember VMWare warning me, I think it even refused to install, until I removed the "Hyper-V" role from the host. I also recall being confused when Hyper-V was already unchecked in Windows' additional features dialog box, I think I found some Powershell command to make it work. In any case Hyper-V is not installed.

-Gegueure

Reply 4 of 20, by darry

User metadata
Rank l33t++
Rank
l33t++

In that case, maybe you could try Virtualbox, for example.

If I recall correctly, it can run through Hyper-V or its own hypervisor implementation. Earlier versions also supported running without vt-x/amd-v.

It might be worth running some tests to see anything changes, to help narrow down possible causes.

Another potential thing to try is running Excel 4.0 under Winevdm, foregoing Windows 2000 completely. It has not been tested officially since 2010, by the Wine folks at least. Even if that works, I suspect that printing might be an issue, if you need that to work.

Last edited by darry on 2024-12-19, 02:28. Edited 1 time in total.

Reply 5 of 20, by darry

User metadata
Rank l33t++
Rank
l33t++

Another crazier idea is running nested VMs, like running Windows in a VM and running Windows 2000 in that VM through VirtualPC .

Reply 6 of 20, by myne

User metadata
Rank Oldbie
Rank
Oldbie

Is there a reason you're not running hyperV?
It should be simple to migrate to - at least as a test.
Make sure you only test it on a COPY of the original.

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11 auto-install iso template (for vmware)
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 7 of 20, by Start me up

User metadata
Rank Newbie
Rank
Newbie

@Gegueure Did Dr. Watson write anything into it's drwtsn32.log?

Reply 8 of 20, by Gegueure

User metadata
Rank Newbie
Rank
Newbie
myne wrote on 2024-12-19, 09:20:

Is there a reason you're not running hyperV?
It should be simple to migrate to - at least as a test.
Make sure you only test it on a COPY of the original.

I think Hyper-V's virtual hardware is pretty modern and not suited to an old system like Windows 2000, but if you know something I don't, I will be very glad to expand my knowledge 😊
I think it would run, but would be stuck at 256 Colors, no dynamic resolution, no clipboard sharing, perhaps even no network which would be a big issue.

-Gegueure

Reply 9 of 20, by Gegueure

User metadata
Rank Newbie
Rank
Newbie
Start me up wrote on 2024-12-19, 13:41:

@Gegueure Did Dr. Watson write anything into it's drwtsn32.log?

Would that persist after a reboot? I've never used Dr. Watson, but when I ran drwatson.exe it simply said "No error detected".

-Gegueure

Reply 10 of 20, by Gegueure

User metadata
Rank Newbie
Rank
Newbie
darry wrote on 2024-12-19, 02:25:
In that case, maybe you could try Virtualbox, for example. […]
Show full quote

In that case, maybe you could try Virtualbox, for example.

If I recall correctly, it can run through Hyper-V or its own hypervisor implementation. Earlier versions also supported running without vt-x/amd-v.

It might be worth running some tests to see anything changes, to help narrow down possible causes.

Another potential thing to try is running Excel 4.0 under Winevdm, foregoing Windows 2000 completely. It has not been tested officially since 2010, by the Wine folks at least. Even if that works, I suspect that printing might be an issue, if you need that to work.

I had had no success using VirtualBox in the recent past but this time the VM is created, started, and the VBox Additions have installed correctly, so it's time for a test drive and I'm probably a VBox happy camper now.
I also happen to have better sentiment in regards to Oracle VirtualBox than Broadcome VMware so I'm happy and I have my fingers crossed!

Thanks everyone for the help!

-Gegueure

Reply 11 of 20, by myne

User metadata
Rank Oldbie
Rank
Oldbie
Gegueure wrote on 2024-12-19, 18:16:

I think Hyper-V's virtual hardware is pretty modern and not suited to an old system like Windows 2000, but if you know something I don't, I will be very glad to expand my knowledge 😊
I think it would run, but would be stuck at 256 Colors, no dynamic resolution, no clipboard sharing, perhaps even no network which would be a big issue.

🤣
What the f would be the point in MS crippling it like that?

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11 auto-install iso template (for vmware)
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 12 of 20, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
Gegueure wrote on 2024-12-19, 01:45:

For Hyper-V, I remember VMWare warning me, I think it even refused to install, until I removed the "Hyper-V" role from the host. I also recall being confused when Hyper-V was already unchecked in Windows' additional features dialog box, I think I found some Powershell command to make it work. In any case Hyper-V is not installed.

I think the issue for this may be due to Hyper-V drivers taking full control of your hardware virtualization.

Actually, I did not realize until recently that only one hypervisor may access CPU's virtualization capabilities at a time.

So if you enabled Hyper-V, then VMware (and VirtualBox etc.) will not be able to use hardware virtualization, and vice versa.

In my case the conflict was first made apparent to me on Linux between QEMU/KVM and VirtualBox. VirtualBox VMs would outright refuse to run if kernel KVM modules (kvm_xxx where xxx is CPU vendor) are enabled, with a scary error message asking me to "remove kernel KVM modules and recompile the kernel" (wow). Those modules in question are utilized by QEMU/KVM virtual machines.

By the way, did you try any newer Windows versions, like XP or 32-bit Vista/7 for your use case? AFAIK NTVDM in earlier versions may lack some functionalities required for certain programs to run properly in some contexts. Perhaps by WinXP NTVDM would have matured enough.

If that doesn't fix your issue then maybe your CPU have some quirks like the "TLB invalidation bug" that broke Win9x VMs with Ryzen CPUs which required a patch. You may also consider giving latest OTVDM nightlies a try.

myne wrote on 2024-12-20, 00:01:

🤣
What the f would be the point in MS crippling it like that?

You need to write drivers (aka Guest Additions) for such legacy OSes to utilize the functionalities exposed by the hypervisor, which is not trivial and unlikely if the demand for such support is not high enough.

And the drivers may have their own issues. VBox used to have some 3D acceleration for WinXP during 6.x but eventually removed due to security issues. I don't know what exactly the security issues were, but according to VBox forum those were "big enough to drive a truck through".

On the other hand, I'm new to Hyper-V so I'm not sure what chipset/ACPI did it expose to the guest OS, and what options Hyper-V would offer in this aspect. If it's exposing something too new for those guest OSes to be aware of then there will be issues requiring additional drivers/patches...

Last edited by LSS10999 on 2024-12-20, 02:51. Edited 1 time in total.

Reply 13 of 20, by myne

User metadata
Rank Oldbie
Rank
Oldbie

I'm pretty sure the guest additions exist from NT4 and up. Not 9x though.
IIRC MS bought virtualpc and adapted it.
The virtual hardware from memory is relatively generic and/or widely supported eg Standard SVGA, NE2000.

It's worth trying since it was previously working fine on 2k.

The other option is plain old generic file corruption. Cant remember if 2k had SFC /scannow, but worth trying.

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11 auto-install iso template (for vmware)
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 14 of 20, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
myne wrote on 2024-12-20, 02:50:
I'm pretty sure the guest additions exist from NT4 and up. Not 9x though. IIRC MS bought virtualpc and adapted it. The virtual h […]
Show full quote

I'm pretty sure the guest additions exist from NT4 and up. Not 9x though.
IIRC MS bought virtualpc and adapted it.
The virtual hardware from memory is relatively generic and/or widely supported eg Standard SVGA, NE2000.

It's worth trying since it was previously working fine on 2k.

The other option is plain old generic file corruption. Cant remember if 2k had SFC /scannow, but worth trying.

Most likely it will depend on the version used. VPC during Win7 era had a "Windows XP mode" for those old software, but the same can't be said to current versions.

I only tried it briefly back then, and it seems to also utilize RDP (Terminal Server). I don't recall there were any hardware acceleration but the environment should already be enough for those legacy office software.

And back to OP's question. I recall VMware allows creating VMs targeting older VMware versions which may offer better support for older OSes than current versions. Maybe the OP can try choosing an older VMware version when creating the VM to see if that makes any difference...

Reply 15 of 20, by Start me up

User metadata
Rank Newbie
Rank
Newbie
Gegueure wrote on 2024-12-19, 18:29:
Start me up wrote on 2024-12-19, 13:41:

@Gegueure Did Dr. Watson write anything into it's drwtsn32.log?

Would that persist after a reboot?

Yes. It's a text file on your hard disk.

Gegueure wrote on 2024-12-19, 18:29:

I've never used Dr. Watson, but when I ran drwatson.exe it simply said "No error detected".

With the default settings Windows 2000 runs drwtsn32.exe when a crash happened to extend the log file. I am not sure whether drwatson.exe is still in use on Windows 2000.

Reply 16 of 20, by Gegueure

User metadata
Rank Newbie
Rank
Newbie
LSS10999 wrote on 2024-12-20, 02:29:

By the way, did you try any newer Windows versions, like XP or 32-bit Vista/7 for your use case? AFAIK NTVDM in earlier versions may lack some functionalities required for certain programs to run properly in some contexts. Perhaps by WinXP NTVDM would have matured enough.

Excel4 runs in, as far as I understand, any 32-bit version of Windows. As for firsthand experience I know it goes up to Windows 7 32-bit. However in our experience, when running in those systems it is not able to access files in other computers over the network. I expect this will also apply to WineVDM/OTVDM.

As for why Windows 2000 and not go up just one notch to XP, which indeed seems much better supported across all Hypervisors, that's due to another software we use that is an absolute pain that we have, for the moment, no choice but to live with. It's called Builder, made by KIS BV apparently, now defunct, the maker of our trusty Sarema XT60 Plus cash register. It is the only software available to configure our cash register. One of our long-time employees happens to have studies in software development and has managed to make Excel4 macros that can edit and update the ITEMS file of the register, but it's not production-ready yet.

In any case, this thing will not run in Windows XP even with compatibility settings. We initially thought that meant it wouldn't run in anything beyond 98SE/Me but it turns out it runs fine in 2000 Pro and 2000 Server. I am mystified, but this software is not of the kind that lets you question its ways.

Here's an anecdote about it. It "writes directly to disk". I have no idea how else to put it, I don't understand it, but if you make a change, for example you backspace and clear out a field accidentally, you better remember what was there or have a recent backup of the file because that text is GONE. There is no CTRL-Zing, there is no quitting without saving changes, your hard work and your sorry mistakes are effective immediately!

If that doesn't fix your issue then maybe your CPU have some quirks like the "TLB invalidation bug" that broke Win9x VMs with Ryzen CPUs which required a patch. You may also consider giving latest OTVDM nightlies a try.

I am not aware at all of this TLB invalidation bug thing so I'll have a look at that, very interesting, thank you.
And I'll give OTVDM a spin if this new VM doesn't work out.

-Gegueure

Reply 17 of 20, by Gegueure

User metadata
Rank Newbie
Rank
Newbie

Unfortunately Excel4 crashed similarly in VirtualBox although it took quite longer than previous times.

Since it was prone to happen even when not using the PC, on 12/19 I got the VM running and launched Excel4 and let it sit there for days. Every day I would log in at least once and mess around with Shift+Arrows since that seemed to make the bug happen more often. It did not crash for at least 4 days but I just checked on it this morning 12/24 and a message box says:

Application Error: Excel caused an access violation in ntvdm.exe at 0x0f094c8b.

Clicking "Ignore", I then get:

Program Error: ntvdm.exe has generated errors and will be closed by Windows. You will need to restart the program. An error log is being created.

I ran drwatson and it just says "No Faults Detected"

I changed the Windows 2000 settings to not extinguish the monitor but I'm not hopeful for this having any effect.
I'm wondering if this has anything to do with their new computers being AM4 AMD while their previous were much older Intel (Core2 Quad Qsomething in this guy's case).

I suppose I should look at Hypervisor settings since my Proxmox server is having no such issues.

Here's a list of the VM's settings in VBox:

>General
>>Base
Name: Windows 2000
Type: Microsoft Windows
Subtype: [Blank]
Version: Other Windows (32-Bit)

>>Advanced
Shared Clipboard: Two-Way
Drag and Drop: Two-Way

>System
>>Motherboard
RAM: 256MB
Chipset: PIIX3
TPM: None
Pointing system: PS/2 Mouse
IO-APIC: [Disabled]
Hardware Clock in UTC Time: [Disabled]
EFI (Special OS Only): [Disabled]
Secure Boot: [Disabled]

>>Processor
Processors: 1
Allocated Resources: 100%
PAE/NX: [Disabled]
Nested VT-/AMD-V: [Disabled]

>>Acceleration
Paravirtualization Interface: Default (I think this is where I could try QEMU/KVM since this is what Proxmox uses and it doesn't have this issue)
Hardware Virtualization: Nested Paging ENABLED

>Display
>>Screen
Video Memory: 32MB
Monitor Count: 1
Scale Factor: All Monitors: 100%
Graphics Controller: VBoxVGA
Extended Features: 3D Acceleration: [Disabled]

>Storage
Controller: IDE
Type:PIIX4
Use Host I/O Cache: [Enabled]

>Audio
Enable Audio✔
Host Audio Driver: Default
Audio Controller: ICH AC97
Extended Features:
Audio Output: Enabled
Audio Input: Disabled

>USB
Enable USB Controller
USB 2.0 (OHCI + EHCI) Controller

Wishing everyone Merry Holydays/Vacations

-Gegueure

Reply 18 of 20, by myne

User metadata
Rank Oldbie
Rank
Oldbie

Might have to go back to basics
https://discussions.virtualdr.com/showthread. … ccess-violation

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11 auto-install iso template (for vmware)
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 19 of 20, by Gegueure

User metadata
Rank Newbie
Rank
Newbie
myne wrote on 2024-12-24, 16:58:

Much appreciated! I've printed this to a PDF and I'll apply it if it crashes again.

For now I've switched the Paravirtualization Interface to KVM and I'll test-drive it as-is for a few days.

-Gegueure