News for hackers. Stuff that matters.

danoon

Yeah, I implement a good amount of the kernel syscalls that Wine needs. It was easier for me to implement the 200-300 Kernel calls, like open file, etc, than implement the entire Windows API, which is why I used Wine for this project.
Just like Wine, Boxedwine won't work with games that have CD checks. If it is just trying to find the CD in order to play a video off of it or grab a large file it didn't install, that might work, but only if the code isn't making sure its a real CD device. Seems like my UI should be able to handle the user dragging an installer into it from a CD where the CD will be used again. For that to work it would need to copy the CD and mount it internally so that the program can find it again while running. Right now I don't do that, but I think that would be a useful enhancement that isn't too hard to do.

As for the Putt-Putt, that has the look of flash or Adobe Air. I know that things like Java, and .Net don't work yet in Boxedwine, so if it is doing any kind of JIT then it won't work. I added that to the list of games I should look at.

You got pretty unlucky if you only tried 2 older games like that and neither worked.

ReactOS is a full OS, so it needs to run in a VM which requires disk images. Boxedwine emulates everything it needs and can use the users file system directly. So you can just drag a setup or game that doesn't require installation right into the UI and it will work.
Boxedwine was used to bring an old game, The Voodoo Kid, that has some compatibility issues with modern Windows to Gog.com

https://www.gog.com/game/voodoo_kid

It can run on other Linux platforms beside x86. It runs on a Rasberry Pi https://www.vogons.org/viewtopic.php?p=932411#p932411
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.