Why the author chose Dosbox-X to try to run Windows XP? It sounds like Because They Can.
This makes me very much want to tinker with DosBox myself.
Qemu can IIRC do similar things with drivers but possibly because it was co-opted to run android emulator imgs (which are all very standard and boring), it seemed difficult to tinker with custom drivers and emulated hardware.
The above could just be my own inexperience talking, but examples are one of the best ways to learn, if DosBox-X takes extra care that's noteworthy at least.
It's probably also a great way to find bugs.
If you install the "Recommended" build of DOSBox-X from the website, then proceed to install the default "Visual Studio build (64-bit)", you get buggy and inaccurate CPU emulation.
How do you know it's buggy and inaccurate? Run QBasic, and PRINT VAL("5"). You get 4.99999999999.
But...
You get the correct result if you are using a 32-bit build. You get the correct result on all non-MSVC builds. You get the correct result if you have the Dynamic core selected, even on 64-bit MSVC builds. It's just 64-bit MSVC builds with any core other than the Dynamic core that give the wrong result.
So what's going on here?
MSVC 64-bit doesn't support 80-bit floating point math, and doesn't allow you to use inline assembly to manually run the 80-bit floating point instructions. Instead, floating point operations are truncated down to 64-bit.
I think that the MSVC 64-bit build should NOT be the default build recommended to users for just that reason.
The classic example is the earlier Wing Commander games - run them on anything faster than the period correct 286/386 CPUs that were out at the time of release, the games timing/speed gets severely messed up. DosBox has nice features to let you control the CPU speed to try and make these games work again.
Software such as Wing Commander were never tested/designed originally to run on faster CPUs that didn't exist back then and software timing can sometimes only be correct on very specific chips and clockspeeds.
Here with XP, its just cool - not a practical or performant choice.
https://www.youtube.com/watch?v=LuFNFd8I0WU&t=680s
BTW, I remember playing Wing Commander way back in the day. No game sucked me in like that before or since.
Even Captain Obvious himself is going to sigh something fierce.
I run and maintain some old 386/486 boxes as a hobby - I honestly don't think its worth it for almost anyone, DosBox will be just fine for 99% of people.
>This is what I like about emulation and playing around with those systems so much.
One can emulate with the others, sure, but not all equal. Accuracy is a comparison benchmark
(/s, of course, but you get the idea – more control.)
[1] https://www.youtube.com/watch?v=_FxHyofXglI&pp=ygUQd2luZG93c...