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.

    • Anachron@lemmy.mlOP
      link
      fedilink
      arrow-up
      2
      ·
      4 years ago

      Yes, Windows has parts nobody knows how they work, they even admitted some original source code was lost and so they only have the compiled program and/or interface, but no documentation on how it works.

        • Anachron@lemmy.mlOP
          link
          fedilink
          arrow-up
          4
          ·
          4 years ago

          IIRC the original programmer left and due to some internal restructuring they lost the source. The funny thing is I can’t seem to find the article anymore, but I’ll keep looking.

    • ArtilectZed@lemmy.ml
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      4 years ago

      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