I don't remember if Plug-n-Play shipped with the original Windows 95 (it's certainly there in the final OSR), but that was a pretty big shift from the manual IRQ and port mapping days of DOS/Windows 3.1.

It did. That was one of its big features.

It also was the first version to remove the 8.3 limitation and give us long file names.

They were fake long file names though. At the actual dos layer they were 8.3. And the plug and play was terrrrible. I always turned it off. Ugh the plug and play modems/soundcards were trash.

Plug and Pray!

They weren't fake long file names. They were actual long files names but of course the operating system that didn't support long files names didn't know what to do with the (very real) long file names. It only knew the 8.3 file name that was also set for compatibility.

Of course it sucked if you looked at or worked with DOS based apps. But it was one of those things that was always good about Microsoft Windows: Backwards compatibility.

They literally would build in (bug-) compatibility layers for specific games, where if they detected you were running a particular game, they'd not use the fixed or optimized code paths, but the old ones / emulate / patch things as the game expected them to be. And that was not because Windows was buggy and the games were good. It was the other way around. Games used trickery and internal knowledge that they shouldn't and if/when MS would block those paths or change internals, those games would stop working or crash.

You're not wrong, but PnP including the configuration basis for PCI which still sits at the config space layer of the latest and greatest PCIe. That's the piece I find so significant. I work with GPUs that mostly communicate over a proprietary C2C connection, but how does the OS find them? PCI enumeration.

IRQ conflict stuff still kinda haunts me.

I remember. You get a tiny little sliver of sound and then press reset.

back then, it was still plug-n-pray. it didn't work as well as it was intended when it was first available