7 compatibility is surprisingly excellent. Pardon me a little story about how Windows has changed - I assume most old games you think of are made for '9x' or Windows XP. Though XP changed some things under the hood, it's vaguely the same generation of support. As noted above, there was one huge change from that time - 9x (win 95 and 98) were built on top of DOS. Yeah, that old command line system. So while they rarely offered programs 'full control', they still had many DOS-things under the hood. Windows 95 was basically a desktop slapped onto DOS. 98 went a little deeper. XP was its own agent, but still had DOS stuff in its heart. This is where a lot of things changed on a deep level, and it's important when contextualizing my own experience with old game support.
There were the 16 bit installers. For review, the standard these days is 64 bit. 16, 32, 64. Windows supports one generation back based on which version you use. At this point 32 bit is increasingly rare. It will run 16 bit applications (though not ones demanding full system resources like they'd expect on DOS), and it may even run certain 32 bit things better even though 64 is supposed to be fully compatible. You're more likely on 64, and this is where a lot of old stuff breaks in a way no DLL will fix it. It has to be ported to at least 32 bit, a lot of the time people say 'no thanks' and just get the files + have you install the dependencies (groundwork) I mentioned above. In some cases you can 'convert' the installer. This is case by case and why each software in question should be looked up.
There were DOS games, which nowadays usually have no clue what to do with Windows (if Windows will even let you open them), and so you have something like DosBox which will create an environment that looks familiar to the game. They could play nicely on the 95, 98, xp systems. Nowadays DosBox is about your only answer unless a windows version was made. But here you reach another problem.
The DOS version may actually run better because it has an easy answer. It was built with the simplest connections to your computer it could find. It was built for low memory and very 'rigid' design. Windows (and the rest of the market) started putting things in the middle. You couldn't just touch the 'real' memory anymore, you had to ask Windows to give it memory. It couldn't dominate all of your hardware like it did for decades before. Programs that did this can often be tricked. You can't trick an early Windows program that easily. They look for more complicated things and can see some of the picture, but this is where things like DLLs and the groundwork get screwy. If you're lucky they will behave regardless because Windows is actually incredibly good about not throwing everything out. Many things work better than you expect. But it's impossible to consider an entire market that has multiplied in complexity over time. So either Windows missed something and you suffer from that support being dropped, or the game was built with no forward thinking and just wanted to use all the cool Windows toys that aged badly. You see where this becomes harder to just stick in a box and expect to work. But you can create a virtual machine and it might just work anyways.
Windows Vista is a good marker for where everything changed. Drivers had to be redone from scratch. You immediately see one area where older games might not be as happy. Vista was mostly canned because out of the box it had terrible support and people making hardware had to jump hoops to add it. Many old hardware (and even software) creators didn't want to do this. Vista was hugely improved over the years, but upon reaching its peak Microsoft decided the name was a problem and they needed a rebrand. Enter Windows 7, which is functionally Vista with new bling and tweaks. 7 enjoyed all the lessons learned from Vista and its compatibility was enormously better. But as older members here would know, this was not perfect. At this point came a fairly 'modern' generation of finding workarounds for things left behind.
Windows 8 I'm skipping. Under the hood it wasn't too dramatic compared to 7 as far as old software handling. Windows 10 wasn't either at first. But here's where it gets odd. Windows 10 wanted to be different; it wanted to take your computer on a journey through the latest support, the latest features. Or the latest things they wanted to blow away and offer you something new. In many cases old games might have worked fine, then be screwed because Microsoft wanted to shake it up. The habit that persists to this day (maybe not as bad as a few years ago). Is Medieval 2 working not as great as it used to? Is something else mysteriously not working? Thanks, Microsoft. By keeping updated you run a greater risk than ever of another hour of nonsense for why x doesn't work if it's old. I'm not saying never update, but I will say I don't hold myself to the default Windows schedule. It has to be treated carefully. But with most of the market now on 10, I reluctantly concede that from day to day, 10 does the job and is getting full attention for almost any modern old game compatibility. 7 is being left behind, and unless you're a guru with 7 who doesn't need my talk here, it's becoming harder to just hold out on it for old support's sake.
I guess that's the way of things, where the old is left behind. The market bends very, very far backwards to support old as it is. Even Windows, and even with 10. More than most people would realize. Even with the dramatic changes of Vista, 10, all the bells and whistles in between, you have a lot of stuff that allows the huge 32 bit generation to run at all. You might have seen people being concerned when Microsoft has raised the idea of dropping 32 bit support a few times. There's a lot of cool stuff that doesn't happen because of backward compatibility (which is why in a lot of cases all you need to do is drop in a DLL and it just works), but as you're obviously thinking - it's not as easy in the real world to just be on the latest flashy thing. Especially if the flashy thing loses sight of why the old was liked in the first place.
To see a more ruthless company regarding old compatibility, see Apple and the Mac operating system. If you're familiar with Linux, consider the X window system and other long term code/software. They work, they're being supported, but they raise certain issues and implications that are the heart of why people want to replace them, such as X and the issue with any program being able to look at input for any other program unless you hack the programs to behave otherwise. Replacing them naturally brings you to all the problems I reference above. Heck, look at how USB has changed - USB was supposed to be the 'one size fits all', its limits were reached, a better method was found and now anyone who isn't absolutely latest gen gets to be befuddled by 2.0 vs 3.0, USB A vs USB C, and countless splits in between them that contradict the entire purpose of USB as one size fits all.
|