Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Windows 3.1 removed real mode support thus breaking compatibility with Windows 2 and Windows 1 apps.

What Microsoft did is replace various included applications completely with every upgrade. There's no compatibility. Things like notepad.exe for Windows 1 is simply replaced with a version made for Windows 3.1 when you upgrade. Likewise when you upgrade from 3.1 to 95.

You absolutely cannot run Windows 1 applications in modern day Windows. Heck the CPUs these days literally do not support real mode anymore. You can upgrade but that's really just a series of complete OS replacements in this case.



> Heck the CPUs these days literally do not support real mode anymore.

They do, actually; a brand new Core i7 still runs 16-bit real-mode and 32-bit real-mode.

Now, if you're running in 64-bit mode, there's no vm86 mode you can use to run 16-bit applications on a 64-bit kernel. However, the CPU still supports 16-bit real mode, and under a 32-bit kernel you can run 16-bit applications.


There are tricky ways to get vm86 working with 64-bit operating systems, although it's not as nice as with 32-bit.

Edit: An edit went on the wrong comment somehow. Ignore what it said.


And indeed, Wine can run 16-bit Windows applications on 64-bit Linux. You could say that at this point Linux is more Windows-compatible than Windows itself :)


You absolutely can run Windows 1 applications in modern day Windows, as long as it's the 32-bit version.

Here's a screenshot of Windows 8 (32-bit) running four different Windows 1.01 apps:

http://toastytech.com/guis/win816bit.png


You're talking about source compatibility. (Windows 1 was never 32-bit.)

Most people here seem to be talking about binary (.exe) compatibility.


Nope, this is binary compatibility. The apps you see in the screenshot are binaries straight from Windows 1 install media. Literally every 16- or 32-bit version of Windows from 1 to 8 will run Windows 1 apps.

I'm sorry if I was unclear in my wording, I mean the modern Windows version must be 32-bit to be able to run 16-bit Windows apps.


Oh, I misunderstood you. "Modern" windows is 64-bit in my mind.


Windows 3.1 removed real mode support thus breaking compatibility with Windows 2 and Windows 1 apps.

That's just not true. Windows 3.1 removed real-mode support in Windows itself -- in other words, the last version you can run on a 8086 CPU is Windows 3.0.

But pre-3.0 16-bit Windows apps certainly didn't stop working.

Also, present-day x86 CPUs definitely can run real-mode software using virtual 8086 mode: http://en.wikipedia.org/wiki/Virtual_8086_mode

This is the same mode that Windows 3.x used to run multiple real-mode DOS apps simultaneously on a 386 processor.


The trick there is that there is no such thing as "real-mode windows applications". The 16-bit ABI is essentially same regardless of whether windows run in real mode or protected mode.


Also, it is true that Windows Setup would replace old bundled applications with the upgraded versions (otherwise it wouldn't really be an upgrade,) but if you had older applications that didn't come with the new OS (REVERSI.EXE was no longer available in Windows 3.1, there was no CARDFILE.EXE in Windows 95, and so forth) Setup would just leave them alone, and they would run happily on the new OS.

There were some exceptions to this; I remember as a kid upgrading my 486 from Windows 3.1 to 95 for the first time, and being disappointed that Setup replaced Paintbrush and Write with Paint and Wordpad, because I liked Paintbrush better. It actually replaced PBRUSH.EXE and WRITE.EXE with dummy EXE:s that would just launch MSPAINT.EXE and WORDPAD.EXE instead. These dummy files are still in recent Windows versions for compatibility with stuff like ancient apps that create shortcuts to launch Write with their docs.

It was trivial to retrieve PBRUSH.EXE from Windows 3.1 install media, however, and it works fine on Windows 95 as well as every subsequent 32-bit Windows.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: