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.
A 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.
Would 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
If 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 ;-)
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.
Following 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
Crazy! Playing right now, so happy. Reverse engineering and the people who practice it are legends.
This 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.
They tried upgrading from Windows 98 to Windows XP, hoping that it would work like upgrading from Windows 98 to Windows 2000 did, but it didn’t. Then they realized that upgrading from Windows 98 to Windows 2000 and then to Windows XP might work, and it did.
It’s important to realize that Windows XP was the successor both to the NT line (Windows NT/2000) as well as to the DOS-based consumer-oriented line (Windows 95/98/ME), hence upgrading from Windows 98 to Windows XP is the natural path, whereas upgrading to Windows 2000 in between is kind of a detour.
I 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.
That'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.
No, 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
Yeah, I was really hoping to see a deep-dive with debugging and tracing tools to figure out why those files failed to copy. But still fun to see the end result, with XP running.
Were 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.
Maybe 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!
> 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...
Exactly! Let's go back to the times when things were consistent! Remember when you couldn't tell AIM from ICQ from MSN Messenger from Skype because they looked and behaved consistently?
Just find an old Windows VM and put Winamp next to Sonique next to RealPlayer next to Windows Media Player next to QuickTime -- those sure were the days, until the damn "creatives" came with their stupid "web tech."
"Layered Windows" is how an application can have a window which is not the typical rectangular shape, such as the "Head" skin for Windows Media Player. That would be the "crazy things" that apps were allowed to do.
Exactly! We spent years training reflexes and keyboard shortcuts, only to have window borders change appearance (and get thinner!), menus rearrange, controls vanish unless moused-over, etc. It's an insult.
I 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.
I connect this in my head to a shift in presentation of things like big box stores, which look a lot more consistent and marketing-designed these days than they did in, say, the '90s. Hell, fast food chains, too. It's like some time in the '00s marketing departments across the board received a much greater mandate and I've got this funny feeling that only some of that, and maybe not most of it, is really justified by added value in dollar terms.
But then, for as much as we pretend to be data-driven in business and pay lip service to various science-adjacent notions and think we've really got it all figured out, mooooost of it falls apart if you poke at it a little and it all starts to look very fad and social-proof driven. So I guess just add this to the list of weird stuff companies do for maybe-bad reasons.
I feel the same way, I feel despair when I think about all of the time wasted for such trivial bullshit. But then I'm told I'm being dramatic and to get back to my Jira stories. Line must go up, huh?
While I do think native controls are the better choice, I disagree that companies even though it's harder. They do it mostly because it's easier: write once in JS, push to web, mobile and electron on desktop and be done with it.
This may be the nostalgia factor, but XP was genuinely one of the best operating systems I've ever run.
I had the "Student Edition" and you could trim down all the services to the point that you would have a running OS using just 18 processes. Linux at the time could not compete with that. (Of course, things have changed a lot since then).
Measuring total process count seems like a bit of a nonsense metric, it seems more related to how the services are structured or what features you want enabled rather than any measure of "goodness".
From a security and robustness POV, surely /more/ process separation is a good thing?
Of course, and I recall there being a single windows process that pretty much did everything -- but at the same time I knew that there were no other processes acting in the background other than the ones I actively used, and Windows.
So the point is just “shorter list is easier to look through, and remember which processes are supposed to be there”?
In Linux it was usually pretty obvious what daemon did what on a somewhat well curated system, though. No svchost.exe, and no gargantuan system processes or a kernel overstepping its boundaries.
Back then I was not so savvy with what every process did (over the years, of course, one learns). Windows XP had one main process, and everything else was practically userspace apps
Yeah, that makes sense. I think the (slight) backlash you get is from your original statement that that is what makes it the “best OS”, when in reality it arguably rather indicates some problems.
From what I remember a single svchost.exe process instance could be handing multiple "services" - you could see the mapping of service to PID in the Services, and there wasn't a 1:1 relationship.
So did you actually know what services were running based on the processes to support the belief that "there were no other processes acting in the background"?
Well, some of these processes did a lot, didn’t they? Sadly, Windows also does or did a lot in the kernel that should actually happen as a process in userspace.
When was this? I used VectorLinux on a 600MHz celeron with 64MB RAM for a year at uni, and I could tell you what every process was doing there - everything else had to go.
Well, okay, puppylinux was pretty good if I recall in that respect. This was ~15ish years ago, and I think that debian and slackware were bloated in comparison to XP back then
Yeah VL was based off slack but they ripped a bunch of things out, and I carefully went over the bootscripts and removed a bit more of things I didn't definitely need.
I don't really blog, and I've forgotten all the juicy details at this point. It was an old thinkpad that just barely booted up windows ME and then couldn't do anything useful. VectorLinux was a really great match for it, I think they claimed to have fiddled with the kde libraries at the source level and ripped out a bunch of things to make it all snappier - I don't know to what extent that's true, but that crappy little laptop allowed me to run firefox, openoffice, skype, matlab and latex (not all at the same time - at most two) for my first year of uni.
Hearing about these esoteric Linux distros and their lore is always interesting.
I'm surprised Skype used to be functional, post Microsoft acquisition I remember constantly fiddling with it to run consistently on fairly recent versions of Ubuntu on a 4th gen i5 latitude.
oh it was a pain in the gluteus maximus, this was before alsa worked properly, so it was using oss, and you could only have one application using the sound card. this means a random flash applet at the bottom of a page on Firefox could easily hold it and Skype would just not work.
You're looking at it through rose tinted lenses. I remember it getting blasted for its Fisher Price theme and ugly new Start Menu and Control Panel redesigns. Remember the search dog?
If Microsoft had a champion of UI consistency I think it'd be Windows 2000, but I wouldn't know from experience. I was given a Windows ME prebuilt.
> Provide icons for all ribbon controls except drop-down lists, check boxes, and radio buttons. Most commands will require both
32x32 and 16x16 pixel icons (only 16x16 pixel icons are used by the Quick Access Toolbar). Galleries typically use 16x16, 48x48, or
64x48 pixel icons.
> Be sure to test your windows in 96 dpi (100 percent) at 800x600 pixels, 120 dpi (125 percent) at 1024x768 pixels, and 144 dpi
(150 percent) at 1200x900 pixels. Check for layout problems, such as clipping of controls, text, and windows, and stretching of
icons and bitmaps.
> Icons are pictorial representations of objects, important not only for aesthetic reasons as part of the visual
identity of a program, but also for utilitarian reasons as shorthand for conveying meaning that users perceive
almost instantaneously. Windows Vista® introduces a new style of iconography that brings a higher level of detail
and sophistication to Windows.
> Icons have a maximum size of 256x256 pixels, making them suitable for high-dpi (dots per inch) displays. These high-
resolution icons allow for high visual quality in list views with large icons.
> In the smaller sizes, the same icon may change from perspective to straight-on. At the size of 16x16 pixels and
smaller, render icons straight-on (front-facing). For larger icons, use perspective.
> Icon files require 8-bit and 4-bit palette versions as well, to support the default setting in a remote desktop. These
files can be created through a batch process, but they should be reviewed, as some will require retouching for better readability.
Nice icons were destroyed after high-DPI support, for some unknown-to-me reason.
Vector graphics are a thing, you can make colorful graphics that can scale. You just might need multiple levels of detail depending on how large it's rendered at.
I think that’s true. I recently installed Windows 2000, also for nostalgia, and marveled at the icons. I like the Windows 3.11 (not so much the 3.0) icons even more.
They have such a charm and special style that only works through their low pixel count, but if you would pixelate icons today it would just look gimmicky and out of place with the rest of the OS.
It depends on the design of the icon. You generally can't scale Windows 3.1 graphics to higher resolutions without it looking like it's lacking details. The charm was with what you couldn't see and your mind could fill in the blanks.
Yep, that’s what I mean. Art comes from restriction, and the designers at Microsoft did really charming stuff with what they had to work with.
I still vividly remember such simple but delightful things as the Excel icon, or the icon of a stylized 386 processor for the System category in Control Panel.
Windows 2000 was this for me, but it's true that you could opt out of the bubble gum skin and get a more conventional look from XP if you preferred that.
Like most filthy casuals, I don't think I'm a particularly "deep" user of the OS. It's basically background chrome for web browsers and terminal windows into WSL and SSH sessions.
To the extent that the OS does anything at all, I'm usually just mildly annoyed, like it signing be out of my work VPN or forgetting how my monitors are arranged. Or eating the battery when it should be sleeping (though I understand there's been some historical finger-pointing between Dell and Microsoft about whose actual fault those issues are).
I doubt we'll see as tight consistency again but the cause and effect more being Windows XP released 6 years after the taskbar debuted in Windows whereas now there is closer to 30 years of stuff expecting to still run the same as it did back then rather than a change of goals. I still wouldn't mind if it were a bit better on the consistency anyways though...
What? I really like Win 7 but it is for sure one of the best early examples of a "candy" ui. The close button looks like a jolly rancher and everything is glassy looking. If you are talking about "eye-candy" it also stretches far into that territory with title bar blurs, drop shadows and transparency effects across the OS.
Why 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.
Unfortunately, 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.
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.
One 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.
Modern 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.
You are absolutely correct that DosBox still doesn't get Wing Commander 100% perfect - it however does at least get a playable experience with the CPU cycle controls, and a much better experience than running it in dos in say VirtualBox.
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.
I don't think that's fair. There is a ton of software where the experience on the PCs it was designed for is mediocre, but other hardware/software is compatible and much better.
Captain Obvious must have always played games that didn't have a frame limiter, because very often games will run better on higher spec hardware than they were originally designed for. Obviously.
DOSBOX-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.
Nothing. 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.
This 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 =)
I’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…
I 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...
Ah, 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.
This. I still have a few XP machines/instances running software/hardware that won't work on newer stuff (logic analyzer, PROM/PAL programmers, old CAD, etc). I don't think I've ever launched a browser on them, and they definitely are walled off network wise. But they work perfectly for the use case.
at some point, the attack surface is old and strange enough that it's no longer hazardous to expose. like a spear going through kevlar ballistic armor. i guess that's backwards but you know what i mean
Windows XP meanwhile is more like a WWII weapon: outdated but still sees a surprising amount of use, and is familiar due to its similarity with modern weapons.
Behind a NAT it may be fine, but you still have to be very careful
Oh yeah, I agree with your point. I really wouldn't be worried very much about the DOS machine with packet drivers being exposed to the Internet. It's easier for me to have the "retro net" just being generally isolated, though.
Hi 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...
Question: 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
A 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.
Would 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
If 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 ;-)
It's still in the docs: https://learn.microsoft.com/en-us/windows-server/administrat...
That's the Win32 application. Rather this one: https://learn.microsoft.com/en-us/previous-versions/orphan-t... (last doable on Windows server 2003):
> 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.
Following 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
Crazy! Playing right now, so happy. Reverse engineering and the people who practice it are legends.
incidentally the version bundled with windows is just one level of a full game made by maxis:
https://en.wikipedia.org/wiki/Full_Tilt!_Pinball
This 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.
They tried upgrading from Windows 98 to Windows XP, hoping that it would work like upgrading from Windows 98 to Windows 2000 did, but it didn’t. Then they realized that upgrading from Windows 98 to Windows 2000 and then to Windows XP might work, and it did.
It’s important to realize that Windows XP was the successor both to the NT line (Windows NT/2000) as well as to the DOS-based consumer-oriented line (Windows 95/98/ME), hence upgrading from Windows 98 to Windows XP is the natural path, whereas upgrading to Windows 2000 in between is kind of a detour.
The authentic Windows XP experience!
I 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.
That'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.
No, 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
The 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.
Yeah, I was really hoping to see a deep-dive with debugging and tracing tools to figure out why those files failed to copy. But still fun to see the end result, with XP running.
Were 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.
Clean install failed directly. Without a hiccup at the very first file. Only taking the upgrading route via W2000 it worked.
Correct, that was the only way to get things working.
Seeing the Windows XP boot screen warmed my heart and the Roller Coaster Tycoon mention make me smile.
Fun article. A bit of mental time-travel back to early teen years and struggling to learn native windows game programming. :)
We've achieved inner-platform-ception. Again. It's recursive.
There 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.
Maybe 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?
> 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...
Exactly! Let's go back to the times when things were consistent! Remember when you couldn't tell AIM from ICQ from MSN Messenger from Skype because they looked and behaved consistently?
Just find an old Windows VM and put Winamp next to Sonique next to RealPlayer next to Windows Media Player next to QuickTime -- those sure were the days, until the damn "creatives" came with their stupid "web tech."
I think they were referring to internal consistency?
Windows XP did allow apps to do some crazy things, though not sure how much of that was unique to XP vs legacy APIs.
"Layered Windows" is how an application can have a window which is not the typical rectangular shape, such as the "Head" skin for Windows Media Player. That would be the "crazy things" that apps were allowed to do.
That's just a mask applied to the window, app were always allowed to do that on Windows and still are.
Exactly! We spent years training reflexes and keyboard shortcuts, only to have window borders change appearance (and get thinner!), menus rearrange, controls vanish unless moused-over, etc. It's an insult.
I 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.
It’s all such a waste of human life time, an actual tragedy.
I connect this in my head to a shift in presentation of things like big box stores, which look a lot more consistent and marketing-designed these days than they did in, say, the '90s. Hell, fast food chains, too. It's like some time in the '00s marketing departments across the board received a much greater mandate and I've got this funny feeling that only some of that, and maybe not most of it, is really justified by added value in dollar terms.
But then, for as much as we pretend to be data-driven in business and pay lip service to various science-adjacent notions and think we've really got it all figured out, mooooost of it falls apart if you poke at it a little and it all starts to look very fad and social-proof driven. So I guess just add this to the list of weird stuff companies do for maybe-bad reasons.
I feel the same way, I feel despair when I think about all of the time wasted for such trivial bullshit. But then I'm told I'm being dramatic and to get back to my Jira stories. Line must go up, huh?
While I do think native controls are the better choice, I disagree that companies even though it's harder. They do it mostly because it's easier: write once in JS, push to web, mobile and electron on desktop and be done with it.
Yeah but look how _cool_ those css effects look. What, people actually use keyboards to navigate?
> I'm sorry but huge middle finger to you.
Amen.
This may be the nostalgia factor, but XP was genuinely one of the best operating systems I've ever run.
I had the "Student Edition" and you could trim down all the services to the point that you would have a running OS using just 18 processes. Linux at the time could not compete with that. (Of course, things have changed a lot since then).
Measuring total process count seems like a bit of a nonsense metric, it seems more related to how the services are structured or what features you want enabled rather than any measure of "goodness".
From a security and robustness POV, surely /more/ process separation is a good thing?
Of course, and I recall there being a single windows process that pretty much did everything -- but at the same time I knew that there were no other processes acting in the background other than the ones I actively used, and Windows.
So the point is just “shorter list is easier to look through, and remember which processes are supposed to be there”?
In Linux it was usually pretty obvious what daemon did what on a somewhat well curated system, though. No svchost.exe, and no gargantuan system processes or a kernel overstepping its boundaries.
Of course, that’s very different nowadays…
Back then I was not so savvy with what every process did (over the years, of course, one learns). Windows XP had one main process, and everything else was practically userspace apps
Yeah, that makes sense. I think the (slight) backlash you get is from your original statement that that is what makes it the “best OS”, when in reality it arguably rather indicates some problems.
From what I remember a single svchost.exe process instance could be handing multiple "services" - you could see the mapping of service to PID in the Services, and there wasn't a 1:1 relationship.
So did you actually know what services were running based on the processes to support the belief that "there were no other processes acting in the background"?
But they were signed windows services, I didn't have to worry about any nefarious processes coming from the OS itself (at least, not back then...)
There was no signing at that time.
Well, some of these processes did a lot, didn’t they? Sadly, Windows also does or did a lot in the kernel that should actually happen as a process in userspace.
When was this? I used VectorLinux on a 600MHz celeron with 64MB RAM for a year at uni, and I could tell you what every process was doing there - everything else had to go.
Well, okay, puppylinux was pretty good if I recall in that respect. This was ~15ish years ago, and I think that debian and slackware were bloated in comparison to XP back then
Yeah VL was based off slack but they ripped a bunch of things out, and I carefully went over the bootscripts and removed a bit more of things I didn't definitely need.
Blog post please
I don't really blog, and I've forgotten all the juicy details at this point. It was an old thinkpad that just barely booted up windows ME and then couldn't do anything useful. VectorLinux was a really great match for it, I think they claimed to have fiddled with the kde libraries at the source level and ripped out a bunch of things to make it all snappier - I don't know to what extent that's true, but that crappy little laptop allowed me to run firefox, openoffice, skype, matlab and latex (not all at the same time - at most two) for my first year of uni.
Hearing about these esoteric Linux distros and their lore is always interesting.
I'm surprised Skype used to be functional, post Microsoft acquisition I remember constantly fiddling with it to run consistently on fairly recent versions of Ubuntu on a 4th gen i5 latitude.
oh it was a pain in the gluteus maximus, this was before alsa worked properly, so it was using oss, and you could only have one application using the sound card. this means a random flash applet at the bottom of a page on Firefox could easily hold it and Skype would just not work.
You're looking at it through rose tinted lenses. I remember it getting blasted for its Fisher Price theme and ugly new Start Menu and Control Panel redesigns. Remember the search dog?
If Microsoft had a champion of UI consistency I think it'd be Windows 2000, but I wouldn't know from experience. I was given a Windows ME prebuilt.
> Icons were high contrast
Seriously. Who demonized having legible color icons in exchange for blurry grayscale icons?
Ironically, having to support high-DPI displays destroyed having nice icons.
Windows Vista begs to differ. https://archive.org/details/UXGuide
> Provide icons for all ribbon controls except drop-down lists, check boxes, and radio buttons. Most commands will require both 32x32 and 16x16 pixel icons (only 16x16 pixel icons are used by the Quick Access Toolbar). Galleries typically use 16x16, 48x48, or 64x48 pixel icons.
> Be sure to test your windows in 96 dpi (100 percent) at 800x600 pixels, 120 dpi (125 percent) at 1024x768 pixels, and 144 dpi (150 percent) at 1200x900 pixels. Check for layout problems, such as clipping of controls, text, and windows, and stretching of icons and bitmaps.
> Icons are pictorial representations of objects, important not only for aesthetic reasons as part of the visual identity of a program, but also for utilitarian reasons as shorthand for conveying meaning that users perceive almost instantaneously. Windows Vista® introduces a new style of iconography that brings a higher level of detail and sophistication to Windows.
> Icons have a maximum size of 256x256 pixels, making them suitable for high-dpi (dots per inch) displays. These high- resolution icons allow for high visual quality in list views with large icons.
> In the smaller sizes, the same icon may change from perspective to straight-on. At the size of 16x16 pixels and smaller, render icons straight-on (front-facing). For larger icons, use perspective.
> Icon files require 8-bit and 4-bit palette versions as well, to support the default setting in a remote desktop. These files can be created through a batch process, but they should be reviewed, as some will require retouching for better readability.
Nice icons were destroyed after high-DPI support, for some unknown-to-me reason.
Vector graphics are a thing, you can make colorful graphics that can scale. You just might need multiple levels of detail depending on how large it's rendered at.
I think that’s true. I recently installed Windows 2000, also for nostalgia, and marveled at the icons. I like the Windows 3.11 (not so much the 3.0) icons even more.
They have such a charm and special style that only works through their low pixel count, but if you would pixelate icons today it would just look gimmicky and out of place with the rest of the OS.
It depends on the design of the icon. You generally can't scale Windows 3.1 graphics to higher resolutions without it looking like it's lacking details. The charm was with what you couldn't see and your mind could fill in the blanks.
Yep, that’s what I mean. Art comes from restriction, and the designers at Microsoft did really charming stuff with what they had to work with.
I still vividly remember such simple but delightful things as the Excel icon, or the icon of a stylized 386 processor for the System category in Control Panel.
> the designers at Microsoft
Susan Kare did a lot of those! I love how they're just as expressive at 16-colors as at higher color depths. https://www.stardock.com/blog/502254/the-evolution-of-comput...
Ah, thanks for telling me that. I had absolutely no idea she had any involvement, but now it makes perfect sense.
That's true. Right up until you look at Haiku and its vector icons. But I get it. Everyone has to look the same.
Windows 2000 was this for me, but it's true that you could opt out of the bubble gum skin and get a more conventional look from XP if you preferred that.
This was still largely true with Windows 7. Starting with Windows 8 the UI story really went to hell.
Okay, that's good to know. I was a Mac user from 2007 to 2018, so I missed the entirety of the Windows 7/8 generation— going directly from XP to 10.
10 was a bit of an improvement over 8, so at least you skipped the worst with 8. I haven’t had the heart to install 11 yet though.
Like most filthy casuals, I don't think I'm a particularly "deep" user of the OS. It's basically background chrome for web browsers and terminal windows into WSL and SSH sessions.
To the extent that the OS does anything at all, I'm usually just mildly annoyed, like it signing be out of my work VPN or forgetting how my monitors are arranged. Or eating the battery when it should be sleeping (though I understand there's been some historical finger-pointing between Dell and Microsoft about whose actual fault those issues are).
For me, Windows 2000 and Classic MacOS were high water mark of UI design.
After that, change for the sake of change started ti creep in and then accelerated.
Windows XP had the Luna UI with its Fisher Price color scheme and OSX moved to the lickabke Aqua UI.
I doubt we'll see as tight consistency again but the cause and effect more being Windows XP released 6 years after the taskbar debuted in Windows whereas now there is closer to 30 years of stuff expecting to still run the same as it did back then rather than a change of goals. I still wouldn't mind if it were a bit better on the consistency anyways though...
Sure, just get any of the lightweight linuxes. Classical toolbar, good contrast, captions... Some apps do have inconsistent shortcuts, but many don't.
I type this comment from old Ubuntu Mate system, but my next system is going to be Debian-based.
My inner voice of Nostalgia just whispered: All the gorgeous pixels gone with the wind.
Honestly, Windows 2000 UI with the right click menu on the start button from Windows 10 onwards would be a near perfect Windows UI for me!
I know the 3D effects are considered dated now, but I found them very useful from a separation PoV.
This, especially if you turned off the extra UI bits, under performance options.
> Windows XP was the last version of Windows where usability and UI consistency seemed to be central to the design.
Ever used Win 7? Way better, and not a candy UI.
Aero is like the definition of candy
Not of candy (like XP), but of eye candy maybe.
What? I really like Win 7 but it is for sure one of the best early examples of a "candy" ui. The close button looks like a jolly rancher and everything is glassy looking. If you are talking about "eye-candy" it also stretches far into that territory with title bar blurs, drop shadows and transparency effects across the OS.
Cool and all but what is wrong with qemu, virtualbox, etc?
Why 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.
Unfortunately, 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.
Ooh.
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.
> Because They Can.
It's probably also a great way to find bugs.
One 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.
Modern 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
BTW, I remember playing Wing Commander way back in the day. No game sucked me in like that before or since.
You are absolutely correct that DosBox still doesn't get Wing Commander 100% perfect - it however does at least get a playable experience with the CPU cycle controls, and a much better experience than running it in dos in say VirtualBox.
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 a great info. Thank you! I'll have to find some time to fire it up one of these days knowing that the experience is as good as you say.
Does fixed cycles fail to address that?
Not 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?
>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.
I don't think that's fair. There is a ton of software where the experience on the PCs it was designed for is mediocre, but other hardware/software is compatible and much better.
Captain Obvious must have always played games that didn't have a frame limiter, because very often games will run better on higher spec hardware than they were originally designed for. Obviously.
DOSBOX-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.
They are less fun (to the author).
>This is what I like about emulation and playing around with those systems so much.
Nothing. 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.
This 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 =)
IIRC 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
In 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=ygUQd2luZG93c...
Not as much pizzazz.
I 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.
As much as I love my retro-computing, I keep it far away from open networks…
It makes me feel so old to hear Windows XP described as "retro-computing". >smile<
I’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…
I 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...
Ah, 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.
This. I still have a few XP machines/instances running software/hardware that won't work on newer stuff (logic analyzer, PROM/PAL programmers, old CAD, etc). I don't think I've ever launched a browser on them, and they definitely are walled off network wise. But they work perfectly for the use case.
Yep. For the same reason my oscilloscope and spectrum analyzer are in the same isolated network as my retro stuff.
My 'big' LA runs HP/UX 10.something. No way that's getting near the interwebs. =)
at some point, the attack surface is old and strange enough that it's no longer hazardous to expose. like a spear going through kevlar ballistic armor. i guess that's backwards but you know what i mean
Windows XP meanwhile is more like a WWII weapon: outdated but still sees a surprising amount of use, and is familiar due to its similarity with modern weapons.
Behind a NAT it may be fine, but you still have to be very careful
Oh yeah, I agree with your point. I really wouldn't be worried very much about the DOS machine with packet drivers being exposed to the Internet. It's easier for me to have the "retro net" just being generally isolated, though.
Windows XP on the other hand...