Writing a Windows 3 emulator

We all know the feeling. You just want to use some of your favourite 16bit Windows applications, only to realise that since you moved to 64bit, Windows no longer runs them. This gets me every time, probably 4-5 times a day. Every time I’m like – there’s got to be a better way than firing up my old 386 laptop, or running an entire Windows 3.x VM just to get my daily fix of Skifree.

Right?

I jest, of course, but when Brad Robinson’s partner, Jen, wanted to play some old 16bit Windows games, he did actually want to create a less frustrating user experience. So, he decided to write a Windows 3 emulator.

The basic idea is to write a program that can read a 16-bit Windows executable file, run it on an emulated CPU and map any 16-bit API calls that it makes onto the x64 equivalents.

The emulator itself isn’t available just yet, but his series of articles on Medium detailing its development are fascinating reads.

40 Comments

  1. 2016-11-14 12:48 am
    • 2016-11-14 1:17 am
      • 2016-11-14 8:24 am
        • 2016-11-14 2:34 pm
    • 2016-11-14 1:18 am
      • 2016-11-14 1:28 am
  2. 2016-11-14 2:39 am
    • 2016-11-14 2:12 pm
  3. 2016-11-14 3:16 am
  • 2016-11-14 4:44 am
  • 2016-11-14 3:21 am
    • 2016-11-14 3:58 am
  • 2016-11-14 4:29 am
    • 2016-11-14 4:46 am
    • 2016-11-14 8:19 am
      • 2016-11-14 9:03 am
  • 2016-11-14 10:38 am
    • 2016-11-14 11:41 am
    • 2016-11-14 11:26 pm
  • 2016-11-14 2:03 pm
    • 2016-11-14 3:04 pm
      • 2016-11-14 3:08 pm
      • 2016-11-14 3:54 pm
        • 2016-11-14 8:18 pm
          • 2016-11-14 10:50 pm
          • 2016-11-15 12:59 am
          • 2016-11-15 2:29 am
          • 2016-11-15 3:14 am
          • 2016-11-15 8:28 am
          • 2016-11-15 3:12 pm
          • 2016-11-16 5:05 am
          • 2016-11-16 4:49 pm
          • 2016-11-15 10:16 am
          • 2016-11-16 5:32 am
          • 2016-11-16 11:01 am
      • 2016-11-14 5:11 pm
      • 2016-11-14 10:22 pm
    • 2016-11-14 3:04 pm
      • 2016-11-14 5:23 pm
  • 2016-11-14 5:02 pm