Hi, some info on BoxedWine:
Boxedwine (Wine on multiple platforms)
https://www.boxedwine.org/
Boxedwine […]
Show full quote
Boxedwine
Boxedwine is an emulator that runs Windows applications.
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.
Boxedwine is open source and released under the terms of the GNU General Public License v2 (GPL).
Features
Runs 16-bit Windows applications
Runs 32-bit Windows applications
Runs in a browser with Emscripten (wasm and asm.js)
Runs on Windows, Mac and Linux
Currently supports running multiple Wine Version: from 1.6 to Wine 5.0
Edit:
2mg wrote on 2025-05-21, 20:55:
Jo22 wrote on 2025-05-21, 19:48:
Yeah, I was kinda out of the loop, and now I see SoftGPU as a 3D accelerator for VMs that never did W9x properly, DOSBOXes tailor made for W9x installations, and then there's 86box being more accurate and PCem being faster.
So I wanted to check out if we've reached a point where one of these is superior, a go-to choice, in a broad sense.
Hi there, I'm not up-to-date either, I'm afraid. 😟
I hope time will solve the performance issue, though, eventually, due to further improvements in technology.
That being said, there's one core problem.
Emulating a higher-end computer, such as Pentium III won't automagically improve performance.
Because emulation of such a highly complex computer costs raw power on itself.
Emulating a lower-end system very efficiently, by contrast, might actually gain lots of performance.
Unfortunately, that's not what PCem/86Box offer: You can't select, say, a Pentium MMX and override CPU frequency to be @500 MHz.
It's against the philosophy of emulating real-world hardware accurately.
That's what DOSBox does, for example, it does take shortcuts in emulation.
At reasonable cost of accuracy; cycles can be set at will.
Early PS1 and N64 emulators did same, I think.
They focused on emulation the concept of the architecture, rather than cycle exact emulation.
Emulators like BSNES were cycle-exact down to the chip level, which took a hot-rod gaming PC down to its knees.
In PC emulation, something similar would require emulating the i8042 keyboard controller with its firmware and the counterpart in the AT keyboard, the SB16 with its DSP chip and original firmware etc.
If we would take things ad absurdum, then the thermal change of the chips during heating up should be emulated.
Because it affects timings of a fraction of a hertz.
Edited. Typos fixed.
Edit: What I think would be worth to do is rewritting parts of GDI and DirectDraw/Direct3D of Windows 9x.
Since Windows 95/98/Me are virtually the same here, it might help all users.
The rewrite of the hardware-dependend part (HAL) or an improved software renderer (HEL) would be useful a like.
Or in other words, it might help to not just write a GDI/D3D wrapper to host hardware,
but make GDI/D3D issue graphics calls directly to the host system.
Say, by using OpenGL or SDL, Allegro to draw graphics primitives.
Before anyone says that's nonsense, I'd like to point out that Insignia SoftWindows did this before.
The Macintosh version of SoftWindows 1.x, I think, ran on 68000 Macs and included a custom Windows 3.1x.
This Windows 3.1x had large parts of the graphics system (GDI) being rewritten to use native code. Whatever that means in detail.
It perhaps meant that some 68000 code was inserted to be processed by the host side of the emulator.
What also had been done was considering that GUI applications don't need raw processor power, actually.
What Macintosh and Windows programs do most of time is calling API functions.
So by mapping these GUI functions from inside the emulation to the corresponding functions on the host side could reduce workload.
Or let's take the audio support in Windows.
Instead of emulation of a Sound Blaster Pro or 16, a synthetic device could be provided by the emulator.
To use it, a special communications channel and a custom device driver would be needed.
SoftWindows 2 did that, too, I think. It had audio support for Windows in the settings.
The emulation of Windows 9x could be so easy, considering that it's a mountain of VXDs.
Hardware abstraction and emulation is its domain.
It was known for being capable of emulating Sound Blaster cards entirely in software (via VXDs), so that DOS programs on Windows 9x could use it.
Edit: Or let's put it this way: It could reduce the load of the emulated CPU if GDI/D3D would be proccessed in native code on the host, at very least.
I don’t mean the drawing part, but the calculation part.
If there was a tiny stub of GDI/D3D inside the emulator that talks to the big GDI/D3D implementation running on the host side, it might improve performance a lot.
This implementation could run separately onnthe host side in its own thread (say as a DLL), so that a multi-core PC could run it on a dedicated core.
Edit: There are several ways to implement things in creative way, I think.
Use of dynamic recompilation as a help, using a state machine etc.
Running Windows 9x kernal side by side with host OS, like WABI did with Windows 3.1 386 Enhanced-Mode kernal on Unix/Linux.
I wished I had the technical know-how to go into the details here, but I'm just a layman.
"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel
//My video channel//