9 ms·
Smashing the Limits: Installing Windows XP in DOSBox-X (2023)
- xattt 2y agoWere there any shims or workarounds (specific to an upgrade path from a DOS-based Windows) that were left in place in XP to keep things chugging along? I’m wondering whether a clean install worked more efficiently versus an upgraded install.
- unnouinceput 2y agoClean install failed directly. Without a hiccup at the very first file. Only taking the upgrading route via W2000 it worked.
- felsqualle 2y agoCorrect, that was the only way to get things working.
- whalesalad 2y agoCool and all but what is wrong with qemu, virtualbox, etc?
- bravetraveler 2y agoIIRC one can have some issues with virtualization - dynamic clocks and sheer speed, where emulation has benefits One can emulate with the others, sure, but not all equal. Accuracy is a comparison benchmark
- ziddoap 2y agoThey are less fun (to the author). >This is what I like about emulation and playing around with those systems so much.
- yazzku 2y agoNot as much pizzazz.
- bri3d 2y agoWhy Dosbox/Dosbox-X instead of qemu or VirtualBox in general? Dosbox and Dosbox-X focus much more heavily on accurate emulation, rather than fast virtualization. Peripherals are implemented to match the original period-correct hardware, rather than as a "good enough" view or cooperative facade requiring guest support. Weird CPU errata (like specific carry register behavior) is implemented. Why the author chose Dosbox-X to try to run Windows XP? It sounds like Because They Can.
- smaudet 2y agoOoh. 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.
- zamalek 2y ago> Because They Can. It's probably also a great way to find bugs.
- Dwedit 2y agoUnfortunately, CPU accuracy is not one of DOSBox's focuses. 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.
- deleted 2y ago
- deleted 2y ago[deleted]
- nxobject 2y agoIn case you ever want to run Windows XP at 1MHz, of course. [1] (/s, of course, but you get the idea – more control.) [1] https://www.youtube.com/watch?v=_FxHyofXglI&pp=ygUQd2luZG93cyB4cCAxIG1oeg%3D%3D https://www.youtube.com/watch?v=_FxHyofXglI&pp=ygUQd2luZG93c...
- unnouinceput 2y agoNothing. Author wanted to push the limits of unsupported stuff on a ongoing project. Myself I prefer vmware instead of virtualbox and/or qemu. When it comes to virtualization and fast spinning whatever flavor of the month a new OS pops vmware is undisputed king.
- TheRealPomax 2y agoThis is objectively incorrect: vmware/qemu and dosbox are _not_ interchangeable technologies even if it seems like they try to do the same thing, with various comments on this post nicely explaining why and how =)
- giobox 2y agoOne of the primary reasons for using DosBox vs virtualization, at least for actual DOS software, is that lots of old DOS games and apps are designed to run on a specific x86 chip and clock speed. 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.
- MegaDeKay 2y agoModern Vintage Gamer recently went over Wing Commander and talked about this in detail. The problem with DosBox is the framerate chugs with lots of enemies on screen and then speeds up as you take them out one by one. He suggests the best way to play is on a PC that it was originally designed for. https://www.youtube.com/watch?v=LuFNFd8I0WU&t=680s 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.
- paulryanrogers 2y agoDoes fixed cycles fail to address that?
- MegaDeKay 2y agoNot sure, but he does mention the best way to do it is to run DosBox "at around 3000 cycles". So I take it that means fixed cycles?
- Dalewyn 2y ago>He suggests the best way to play is on a PC that it was originally designed for. Even Captain Obvious himself is going to sigh something fierce.
- sebazzz 2y agoDOSBOX-X and x86box emulate 3d graphics accelerators properly, and the native drivers in Windows support these. That means you can run games that require 3D acceleration. VirtualBox, VMWare often do not support 3d acceleration for older OS - not sure about qemu though.
- Vampiero 2y agoThis article is not very clear. After the author realizes that they don't have low-level access privileges they just... do the thing that failed 20 times before and suddenly it works with no explanation as to why.
- Dilettante_ 2y agoThe authentic Windows XP experience!
- unnouinceput 2y agoNo, he was not realizing that. Was wondering if that's the case. The realization comes later with understanding NT vs FAT conversion that was happening. Hence why the upgrade route via W2000
- smaudet 2y agoI think clean installation failed, there is/was another installation route with upgrade. I agree that the low-level explanation is lacking, but in fairness dosbox-x doesn't sound like it offers that (out of the box). I'm guessing what happened, the boot sector etc. were installed by 98, win2k had some way of converting from FAT32 to NTFS, and the winxp installer just sets some flags and dumps install files on disk somewhere. Getting all that from "it's the NT conversion" is a stretch, but.
- felsqualle 2y agoThat's my current theory as well. IMHO that's the reason why an upgrade from 98 to XP failed while it ran successfully by using Windows 2000 as the base installation. Note that I was totally skipping the text-based installation stage when upgrading from Windows 2000 while I got it when starting the installation from Windows 98 - that's where the "NT conversion, stupid!"-theory came from.
- jaredhallen 2y agoThe way I read it is that instead of trying to upgrade directly from 98 to XP, they went from 98 to 2000, and then to XP.
- sourcepluck 2y ago> The OOBE started, but what an experience it was! This wasn’t an experience. This was pure madness! Very enjoyable. I was overjoyed seeing shots of 3D pinball.
- sourcepluck 2y agoFollowing on from this, I looked at another of your articles, and learned of the existence of Andrey Muzychenko, and his reverse engineering efforts and making this https://github.com/k4zmu2a/SpaceCadetPinball https://github.com/k4zmu2a/SpaceCadetPinball Crazy! Playing right now, so happy. Reverse engineering and the people who practice it are legends.
- asddubs 2y agoincidentally the version bundled with windows is just one level of a full game made by maxis: https://en.wikipedia.org/wiki/Full_Tilt!_Pinball https://en.wikipedia.org/wiki/Full_Tilt!_Pinball
- 01jonny01 2y agoI still use Windows XP, even managed to install the last ever version of Netscape. It was working with most mainstream site up until a few years ago.
- anyfoo 2y agoAs much as I love my retro-computing, I keep it far away from open networks…
- EvanAnderson 2y agoIt makes me feel so old to hear Windows XP described as "retro-computing". >smile<
- anyfoo 2y agoI’m old enough to remember the release of Windows 3.0! (Before that I used Windows 2.1 and was technically around for all Windows releases, but didn’t hear about the release.) But just last month, when I installed Windows 2000 on a new-old-stock laptop from 2008 (which was surprisingly challenging as well), I realized that it does start to feel retro by now…
- kelnos 2y agoI remember the Win3.0 release too, though that was the first version of Windows I'd used (we were a DOS-only house before then). In middle school I begged my dad to get hold of a copy of Windows 3.11 for Workgroups, because somehow I believed that was crucial to my and a few friends plans to start our own software company. Of course those plans never materialized, even after we all installed WfW 3.11. It is wild to me that Windows 3.1's system requirements were 1MB of RAM and 6.5MB of disk space. Things have changed...
- anyfoo 2y agoAh, I remember installing WfW 3.11 around the same age as well! I don't even remember if we already had a home network at that time (the first one was NetWare 3.11 based), but I do remember the subtle differences that somehow made it fun.
- biofox 2y agoMaybe I'm just getting old, but Windows XP was the last version of Windows where usability and UI consistency seemed to be central to the design. The menu bar was in the same place in every application. Short-cuts were consistent between apps. I didn't have to contend with four different version of the file browser to open a file, or "Show more options" on right-click to get a non-idiot-proof context menu. Icons were high contrast, there were text descriptions and tools tips (instead of cryptic grey-on-grey icons), short-cut combinations were actually included in the menus, and almost every application had a help file! Can we go back to that, please?
- ktosobcy 2y ago> The menu bar was in the same place in every application. Short-cuts were consistent between apps. Thank the "web-devs"... instead of having native looking apps that use OS controls/widgets they want to push dumb html/css/js to "unlease their creativity"... I'm sorry but huge middle finger to you. I want all my apps to use the same widgets and paradigme and look the same...
- DCH3416 2y agoYeah but look how _cool_ those css effects look. What, people actually use keyboards to navigate?
- vundercind 2y agoI try not to think about the collective time and frustration lost to companies wanting their native apps to be "on brand" and cross-platform consistent rather than native. A bunch of extra work to make it that way. A bunch of extra work to maintain it, any place dumb "look and feel" shit like specially-animated buttons or whatever made it fragile. Then on the other side, 99% of the time it's worse to use than if they'd at least mostly stuck with native widgets, so wastes time and causes frustration among users, and then there's the special case of that for accessibility, which is often a true shit-show. All because the marketing suite can't stand not getting their fingers in something. I want to see the fucking study that says having the buttons on iOS the same shape as the ones on the website adds any number of dollars to the bottom line. C'mon, this is important enough to spend a bunch of money on, slow development, and also make UX worse, must have a good reason for it, right? Surely it's not just an exec who's never done the actual job pushing things for vanity purposes, or a variety of roles padding their portfolios, or needing to market this to toddler-like C-suiters inside the company on some damn powerpoint, right? LOL.
- felsqualle 2y agoHi folks, thank you so much for your comments! Yes, this was purely a "why not?!" project, it doesn't really make sense and using VMware or true low-level emulation like 86Box is a way better option than using completely unsupported software. Currently going through your comments...
- IntelMiner 2y agoQuestion: Why didn't you just slap a No-CD patch on The Sims to see if it could run? The game is almost 25 years old (ow, my bones) I don't think anyone would bat an eye if you circumvented the DRM
- felsqualle 2y agoA No-CD patch would likely work, but I want to keep things as close to the original as possible. I want to be able to play a game or run an application without any third-party software required, just using a perfect backup/image.
- IntelMiner 2y agoWould software that more accurately emulates a CD drive be preferable? Virtual CloneDrive will run The Sims (and other early SafeDisc titles) without issue. By contrast I don't believe that any emulator (QEMU/Virtualbox/DOSbox/etc) handle the weird I/O calls that DRM makes
- binary132 2y agoFun article. A bit of mental time-travel back to early teen years and struggling to learn native windows game programming. :)
- taneq 2y agoWe've achieved inner-platform-ception. Again. It's recursive.
- tomw1808 2y agoThere are people who create checksums of iso's and there's people like me. And then there are people who do not read the ToS and then there's also nobody else. I miss the simplicity of windows xp. sometimes.
- ale42 2y agoIf I remember correctly, the blue text-mode part of the setup can be launched from DOS 7.1 (the DOS part of Windows 98, with FAT32 support) by copying the i386 directory from the CD to the FAT32-formatted hard drive and running WINNT.EXE from MS-DOS. I doubt this would work inside DOSBox-X, tough... I'd like to try but right now I don't have enough time for such experiments ;-)
- razakel 2y agoIt's still in the docs: https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/winnt32 https://learn.microsoft.com/en-us/windows-server/administrat...
- ale42 2y agoThat's the Win32 application. Rather this one: https://learn.microsoft.com/en-us/previous-versions/orphan-topics/ws.10/cc755763(v=ws.10) https://learn.microsoft.com/en-us/previous-versions/orphan-t... (last doable on Windows server 2003): Performs an installation of or upgrade to a product in the Windows Server 2003 family. If you have hardware that is compatible with a product in the Windows Server 2003 family, you can run winnt at a Windows 3.X or MS-DOS command prompt.
- sharpshadow 2y agoSeeing the Windows XP boot screen warmed my heart and the Roller Coaster Tycoon mention make me smile.