My earliest memories of PC games were simple, with titles such as Puzzle Master, Shanghai II: Dragon’s Eye, and the Microsoft Entertainment Package for Windows (WEP) collections. These games are unfortunately not compatible with 64-bit Windows systems, as they cannot run 16-bit programs without issues due to limitations that prevent them from running natively.
To play these games, I had setup a 32-bit Windows XP virtual machine to get them working. While they do run, having to rely on a virtual machine wasn’t an elegant solution to the problem.
I was happy when I ran into winevdm, an open source 16-bit Windows emulator ported to 64-bit Windows. Through a small download of approximately 1MB, you get what you need to natively run 16-bit applications on 64-bit systems. You can simply drag and drop the game executable to the emulator, or even double click the games directly if you install winevdm.
It is not without its faults. Playing WEP Tetris, the pieces are rendered improperly through winevdm. It’s a minor problem for me, but it does affect the nostalgia I have for, in my opinion, one of the best versions of Tetris available for Windows. Another issue is with handling file and folder names longer than eight characters in length, which makes Puzzle Master refuse to load image files.
UPDATE: The Tetris rendering issue is fixed in the latest unstable builds. Thanks to Anixx for notifying me!
Other than that, you can expect 16-bit programs and games to work in native windows like other applications, which you can also maximize, minimize and resize. They are started with little delay as well.
In Conclusion
winevdm is an elegant solution to play old 16-bit Windows games on 64-bit systems. By installing it, you will see a working game show up on your screen, instead of a discouraging error message about the inability to run the application.
You can read more about retro games here!
> the pieces are rendered improperly through winevdm
Obviously you are using an old version, not the current build.
I was using the latest stable (0.7.0) at the time of writing. I just downloaded the latest artifact off AppVeyor and you are right, the rendering is correct now!