Page 1 of 1

Trying to run an old software on WinXP 32-Bit and it keeps giving an error

Posted: 23. Feb 2022, 12:09
by StardustJessie
Hi, I never posted here, so forgive me for my awkward wording and lack of knowledge of this all.
I'll cut to the chase. I'm trying to run this old edutainment software for teaching english I used to play back in the early 2000's. Won't run on my Win10, won't run on Win7, so I'm using virtualbox for WinXP. However, whenever I launch it, it says "ART caused a general protection fault in module krnl386.exe at 0001:73BC". I've seen some things about disabling hardware acceleration and stuff but nothing worked, it still happens. Can anyone please help me, I've been really trying so I could show my boyfriend this old piece of media I have very fond memories of.

Re: Trying to run an old software on WinXP 32-Bit and it keeps giving an error

Posted: 23. Feb 2022, 13:00
by mpack
StardustJessie wrote:I've seen some things about disabling hardware acceleration and stuff but nothing worked
Please ignore that kind of suggestion. It's called thrashing and will only make things worse. If the person making the suggestion can't tell you why a hack should work then IME you can safely assume that it doesn't.

In any case VirtualBox no longer has an option to run without VT-x, not that the suggestion ever made sense. The only current option you might have seen is something to disable NESTED VT-x, which is a different feature entirely.

Returning to your problem I notice two things.
  1. First, it's a guest OS crash, so there's no evidence to suggest that the problem is related at all to running inside a VM. A more likely possibility IMO is that your app simply isn't designed for the speed of modern CPUs.
  2. Although you say that you used to use this software back in the 2000's, the address given "0001:73BC" is a 16bit address, so the software must come from a much earlier period, i.e. the Windows 3.1 period (1992-1995), and is running under the Windows-On-Windows 16bit emulation layer (NTVDM) in XP. This would also be why you can't run the software on modern 64bit Windows hosts, because those have discarded the NTVDM module. NTVDM is still available on modern 32bit Windows hosts up to Windows 10 (there is currently no 32bit release of Windows 11).
VirtualBox has never been the best way to run 16bit guest software, though IME it usually works. There are other VM platforms that specialize in DOS and Windows 3.1 support, e.g. some of the forks of DOSBOX. I've also seen some YouTube videos about something called "WineVDM" that allows running 16bit apps directly on 64bit Windows (basically a third party replacement for NTVDM, I guess based on Wine16): sounds promising, but I have no experience of this app.

Alternatively, if you can pin down what the software is doing at the time of the crash then it may be possible to identify the exact cause and reconfigure the VM to avoid the problem.

p.s. any further discussion will require a VM log. Make sure the VM is fully shut down, then right click it in the manager UI. Select "Show Log" and save "VBox.log" (no other file) to a zip file. Attach the zip here.
 Edit:  I have now tried that WineVDM app, and indeed it works. I don't have many 16bit Windows apps to try, but both of them mostly worked. One gave very slow Windows file open dialogs, the other was fine, but crashed out when I tried something crazy (enlarged a window on a 4k monitor to a size that would have been science fiction back when that software was current!). And probably it was the app that crashed, not WineVDM. 

Re: Trying to run an old software on WinXP 32-Bit and it keeps giving an error

Posted: 25. Feb 2022, 09:14
by StardustJessie
Hi, I tried WineVDM and it worked! It did have an error when running it as files on my PC, but when mounting the CD iso it works flawlessly. Thank you so much. I was hoping to make it work on the WinXP VM for the aesthetics, but just the fact that it works at all on my computer makes me very happy. Thank you so much for the amazing help. Now discovering WineVDM, I can tell it'll save me lots and lots of time and stress trying to make really old games and software work. Thank you so much!

Re: Trying to run an old software on WinXP 32-Bit and it keeps giving an error

Posted: 25. Feb 2022, 11:50
by mpack
StardustJessie wrote:It did have an error when running it as files on my PC
There were no long filenames in the Windows 3.1 era, nor could filenames mix case or include spaces, as DOS underlay all file operations.

If you ensure that all files you want to access are available through simple paths that adhere to DOS naming conventions then you may find that your Windows 3.1 software works better. This is only a guess.