5 ms·
Had to smile when I read the epilogue: > Sometime after Windows 95 shipped and became a smash hit, a group of prominent game developers visited Microsoft as gu
by est31 6y ago
Had to smile when I read the epilogue:
> Sometime after Windows 95 shipped and became a smash hit, a group of prominent game developers visited Microsoft as guests of the DirectX team. At some point, they learned of “this guy” on the Windows 95 team who worked so hard at getting all their games to work that he “officially went insane.” Thus intrigued, they asked to be introduced to this insane guy, and they presented me with a letter, signed by all of them, with the message, “Thanks for going insane.”
> I still have that letter.
- RcouF1uZ4gsC 6y agoOne of the big advantages Windows had on the desktop is the absolutely fanatical commitment to backwards compatibility. While this affected purity, it gave businesses the assurance that the software they owned would still continue to work.
- Arainach 6y agoHas, not had. The vast majority of things still work flawlessly, and Microsoft continues to invest serious efforts in this area. I don't have any 32-bit programs on my computer which don't run on Windows 10, and I have plenty of older Win9x-era EXEs of various tools from developers which don't exist any more.
- sterlind 6y agoFun fact: You can still run 16-bit programs on 32-bit Windows 10!
- swiley 6y agoHow hard is it to install 32-bit windows 10 on a modern computer? I wouldn’t want to run that on an actual 32-bit only machine.
- kirb 6y agoIt’ll work, may have to disable secure boot/enable legacy BIOS mode though. Of course you’ll be limited to 4GB RAM and there may be software you use that’s gone 64 bit-exclusive in the past few years.
- exikyut 6y ago> you’ll be limited to 4GB RAM This made me curious, so I did a bit of digging, and found https://docs.microsoft.com/en-us/windows/win32/memory/physical-address-extension https://docs.microsoft.com/en-us/windows/win32/memory/physic... (quoted out of order for simplicity): > Windows automatically enables PAE if DEP is enabled on a computer that supports hardware-enabled DEP, or if the computer is configured for hot-add memory devices in memory ranges beyond 4 GB. If the computer does not support hardware-enabled DEP or is not configured for hot-add memory devices in memory ranges beyond 4 GB, PAE must be explicitly enabled. > PAE does not change the amount of virtual address space available to a process. Each process running in 32-bit Windows is still limited to a 4 GB virtual address space. So, TL;DR, what you said :). But I'm glad I checked!
- bcaa7f3a8bbc 6y agoUnder PAE, each process is still limited to a 4 GiB address space, but the total usable physical memory is extended beyond 4 GiB. Unfortunately, PAE on Windows is a sad story. Unlike what the knowledge base said, in practice, you cannot use PAE for this purpose on Windows. Officially, PAE is only supported on Windows Server, and unusable on desktops. Technically it's supported and almost always activated by Windows (since PAE is needed for the NX bit / DEP). But on desktop systems, Microsoft intentionally crippled PAE by locking the maximum memory to 4 GiB by a software license restriction [0]. Microsoft didn't do it because it wanted to force you to buy licenses, but due to compatibility problems, especially, all types of device drivers are problematic. Using more memory requires patching the kernel to bypass this license restriction, with unpredictable consequences due to incompatibilities. TL;DR: PAE on Windows is practically useless. [0] https://en.wikipedia.org/wiki/Physical_Address_Extension#Microsoft_Windows https://en.wikipedia.org/wiki/Physical_Address_Extension#Mic...
- badsectoracula 6y agoWhile it isn't Microsoft's work (and Wine has proven that it is technically run most of 16bit programs natively on 64bit), there is Otya128's WineVDM port to Windows[0] that can run 16bit applications in an emulated 386 by stubbing 16bit calls to 32bit ones (so it also relies on the existing Windows backwards compatibility). Some examples are https://i.imgur.com/r5aQNyJ.png https://i.imgur.com/r5aQNyJ.png - Smalltalk Express https://i.imgur.com/W9ES2fg.png https://i.imgur.com/W9ES2fg.png - Delphi 1 https://i.imgur.com/VLSglAK.png https://i.imgur.com/VLSglAK.png - Windows 1.0 port of WineMine https://i.imgur.com/OLq2gLm.jpg https://i.imgur.com/OLq2gLm.jpg - The Exile series of RPGs https://i.imgur.com/e26mqWP.png https://i.imgur.com/e26mqWP.png - MicroLathe (though that one does a segfault every time it renders... but it catches it and allows continuing use of the program) While these programs are fun to play around with (especially Smalltalk Express), another use for this is to run the setup of older (32bit) applications that used a 16bit stub (Microsoft does have a few replacement stubs for some very popular installers but there are many other - and other versions - that are not there... and funny enough, AFAIK this project relies on the code Microsoft added to check for 16bit installers to run any 16bit program :-P). [0] https://github.com/otya128/winevdm/ https://github.com/otya128/winevdm/
- Nursie 6y ago> One of the big advantages Windows had on the desktop is the absolutely fanatical commitment to backwards compatibility. OS/360 would like a word... ;)
- raverbashing 6y agoIs it actual binary compatibility? Or it is something higher-level? (to be honest going from DOS to Windows is a different problem, though that doesn't justify the atrocities shown in the document :) )
- Nursie 6y agoThey do have a binary backward compatibility date sometime in the 1960s, possibly 1964. But from what little I remember from my intro-to-mainframes day at big blue many years ago, I think it's like some sort of multi-layered emulation now, to run code that's that old. But your "Hello World" program built on OS/360 released in 1964 will still run on modern Z/OS, or so I'm told. Of course they're not desktop systems! (I'd hate to see the desk...)
- gpderetta 6y agoOS/360 on a Desktop???
- Nursie 6y agoWell, with Hercules you could do :) But no, as I said below, I'd hate to see the desk!
- bcaa7f3a8bbc 6y agoAnd this: > Example 36: One program deserves a special award for the code that gets executed when you save a large scenario. It frees a data page, then allocates and frees bunches of more memory, and then a while later, goes back and touches the data page that it freed a long time ago. > (Ironically, after writing this program, the author came to work for Microsoft on the Windows 95 team! When he learned that the application compatibility team had discovered and worked around his bug, he apologized to me in person.)