It achieves this by running an unmodified 32-bit version of Wine, and emulating the Linux kernel and CPU. It is written in C++ with SDL and is supported on multiple platforms.
This is pretty crazy if you ask me.
It achieves this by running an unmodified 32-bit version of Wine, and emulating the Linux kernel and CPU. It is written in C++ with SDL and is supported on multiple platforms.
This is pretty crazy if you ask me.
Quote from danoon:
Yes, the goal of Boxedwine is to run old Windows programs in a platform independent way without a VM or disk images. So basically it is Dosbox but for Windows. At first I started out writing my own Win32 API implementation, and it worked for the first couple of games. But eventually I saw it was more than 1 person could do. That is when I realized Wine was the only solution and since that only worked on Linux, I had to create minimal Linux emulator to run Wine. Implementing the kernal syscalls did take some time. But It is capable to running emulated threads and processes in a single threaded app, which is why it works with Emscripten.
https://news.ycombinator.com/item?id=26924884