I remember painful memories of late 90s and early 2000s. Until DosBox, it was impossible to run DOS applications under Linux.
DOSEMU was unusable. It couldn't run anything. I've wanted dos emulation to play my favorite DOS games, DOSEMU couldn't run a single game I've tried. Actually, as far as I remember, it couldn't run any DOS application that I've tried.
Even wine at that time had less issues than DOSEMU, although I suppose implementing windows API is more complex task.
They've probably done a lot in 20 years (and even changed the name/forked the project), but no, I'll stick with DosBox.
In the early 2000s I worked for a company selling a DOS-based 4GL product, which was part of an "embedded" system running Novell DOS. This became hard to continue with due to lack of support for e.g. SATA, USB, new networking hardware. So I moved the product onto Linux+DOSEMU with Samba and CUPS replacing the DOS network drives and printing facilities. It took some time to configure DOSEMU correctly such that raw access to the video hardware, serial ports, parallel ports etc. worked as needed. But once done, it worked perfectly, and last I heard it was still in use, so it kept a company with a niche product in business for an additional decade at least. For all I know, it's still in use today, nearly two decades later.
I have also run games with it, but only older stuff like Keen. As you say, for gaming purposes, DosBox is a better choice. But if you want a full emulation with real hardware access, then DOSEMU is (or was) better.
That said, I know nothing about what the aims of DOSEMU2 are, the documentation is rather sparse and it looks like it's had big regressions from DOSEMU (1) looking at the changes. Region locking is a big deal, I required this for running multiuser 4GL database applications. Looks like that was broken for a significant period of time. I'm also unsure what the purpose of "64-bit DOS" is, particularly within an emulator used to run legacy applications. Hard to know without knowing what the requirements are that drove this, but I do wonder if this isn't an itch being scratched rather than being useful for real-world end use.
> I remember painful memories of late 90s and early 2000s. Until DosBox, it was impossible to run DOS applications under Linux.
I seem to remember playing Commander Keen under DOSEMU seamlessly on a p200mmx with 64mb of ram. If this mail from 1999 is anything to go by, others were able to play similar vintage games:
That has plenty of issues of its own.
Using something emulating a modern PC like QEMU does not quite work compatibly enough. Which is why both DosBox and DOSEMU and DOSEMU 2 have problems.
86box does the virtualization the oldfashioned JIT compiling way together with virtualized devices, cycle compatible as much as possible.
PCem, its precursor, is even slower and has a bit less supported virtual hardware.
I believe I remember them having remarkably simple and comprehensible source code. I had some old book by like dr dobbs or someone about dos internals in the 90s and I remember seeing all the technicals laid bare in the source back when I was in high school. It was one of the earliest memories I have of seeing what true software competence looked like.
Apparently it's still maintained. I wonder where it's being used, fuse and things like that I had assumed replaced all this.
I need to find a way to remember that passion and capture it again
DOSEMU was blazing fast compared against DosBox, because isn't wasn't a emulation. It used the virtual x86 mode of the CPU. Like the old good dos mode of Windows XP and Windows 9x.
I don't understand how DOSEMU is still relevant today, now that we have DosBox (or rather it's various, substantially better, clones DosBox-staging and DosBox-X). I'd probably even pick a full-blown VM over DOSEMU...
I sense that this is just a gut feeling. Or do you have the numbers to back that up? DosBox has JIT, and a VM is essentially the same as DosEMU (virtualization), so I highly doubt the performance difference would amount to more than just a few percent.
Also, for DOS application, "raw performance" rarely matters, as those were programmed to run on a 486
I had a problem over the weekend in that I was trying to mount an 'old style' MSDOS hardisk image. Dosemu wouldn't recognise it. I eventually worked out that the disk-image in question had its partition1 begin after 63 sectors (about 32 K), whereas 'modern' hard-disk images have their partition1 begin after 2048 sectors (1 megabyte).
I don't know if dosemu has a command-line option to cater for those rare(?) disk-images, but it might be a worthwhile addition.
Wow, 64bit, TTF, sandboxing, virtualization, a more modern shell. I do wish it were cross platform too. Still an impressive piece of work. Might have to try it again and give DOSBox-X a break.
DOSEMU was unusable. It couldn't run anything. I've wanted dos emulation to play my favorite DOS games, DOSEMU couldn't run a single game I've tried. Actually, as far as I remember, it couldn't run any DOS application that I've tried.
Even wine at that time had less issues than DOSEMU, although I suppose implementing windows API is more complex task.
They've probably done a lot in 20 years (and even changed the name/forked the project), but no, I'll stick with DosBox.