Hacker News new | ask | show | jobs
by dintech 2254 days ago
How does this compare to dosbox for running games?
5 comments

Note that i've mainly tried 86box, which is a PCem fork (but AFAIK it is kept in sync with PCem and the main difference is a nicer GUI for Windows and that it provides nightly builds optimized for various CPUs).

For DOS games, DOSBox is generally the better and -especially- faster choice with the main exception being mid80s games that assumed a 4.77MHz CPU (you can still play them on DOSBox but you need to fiddle around with the cycles and even then it assumes 1 cycle = 1 instruction, whereas PCem counts cycles correctly and also it takes into consideration the graphics card performance whereas DOSBox draws things as fast as it can).

For Windows games, assuming you cannot run them in modern Windows, it is basically the best choice - assuming you have a really fast PC, otherwise you'll get sound stuttering and slowdowns (with my AMD Ryzen 7 3700X i can emulate a Pentium 75Hz -mostly- fine but anything above that starts to cause sound to stutter).

Though in my experience 99% of the Windows games out there will work in modern Windows with something like dgVoodoo2, a framecapping tool like RTSS and perhaps adjusting the compatibility options. It might take some fiddling here and there. Notable exception being mid-2000s games with DRM.

Was reading the PCem forums to figure out how to share files with the host. It seems disk images or getting networking up is necessary (which is not uncommon for similar emulating programs).

One thing I really like about DOSBOX, is how ordinary folders in the host can be mapped to drives in the guest OS. I wish pcem has something similar. This can make creating files with ancient software more convenient (e.g. new retro games).

My approach is to transfer files to the emulated machine by creating an ISO with WinCDEmu (which integrates with Explorer and file managers that can use shell extensions like Total Commander) and mounting that ISO and then transfer files out of the emulated machine by opening the disk image with 7zip (with the machine turned off, of course).

For older machines and some other emulators i've written a tool to create floppy disk images from a list of files:

http://runtimeterror.com/tools/fat12img/

(though that can only do 1.44MB floppies, meaning that it only works with an emulated 286 and above)

You could borrow bximage from Bochs too to generate them easily :D.

Or in a Unix platform, with just dd and vnconfig under OpenBSD or kpartx under Linux.

    >dd if=/dev/zero of=a.img bs=1440k count=1

    >vnconfig vnd0 a.img

    >newfs_msdos -F 12 /dev/rvnd0c

    >vnconfig -u vnd0

    >file a.img
a.img: x86 boot sector

That's under OpenBSD, under Linux is similar.

As far as i can tell bximage can only create empty images, which isn't what i was after (86box, the fork of PCem i am using, has a command to generate empty images too). What i wrote about was creating floppy image files with files inside them.

Also i'm using Windows and wanted a GUI tool.

A new option if you have a spare raspberry Pi and want to skip all the linux and just have a DOS prompt is dosbian: https://cmaiolino.wordpress.com/dosbian/ He's adding a lot of user friendly features to help with setup and loading. Looks really promising so far!
If you use Linux DOSEmu will run much faster.
Is dosemu maintained in any form or shape?
A 2nd version on the going, and the 1.x branch boots current FreeDOS just fine.

It's the fastest and most secure way to run DOS except the native one. No, I tried Qemu+KVM+FreeDOS, and is not as good.

It's apparently a fork, and really actively developed: https://dosemu2.github.io/dosemu2/

PCem and the like do have some advantages, such as emulating specific hardware, or not being limited to running in x86/amd64.

Generally speaking if you want to run dos games, dosbox tend to be a better choice for most games, is simpler to use and there is a bigger community around it.

however, Pcem really shine in the amount of hardware supported and better support for windows. Also it seem to be more accurate, but i, personally, never found a game that needed it, but if you have some games that don't work with dosbox it may be worth a shot.

PCem shines for emulating all the old hardware required to run old operating systems that were not DOS. VirtualBox and VMWare do not work will for this since they usually since they don't have guest extensions and working drivers for things like OS/2 2.1 and Slackware 3.0.
Qemu can emulate an ISA pc, with a Sound Blaster and a Cirrus ISA VGA just fine.

People has been running really old Slackware releases under Bochs/Qemu since forever.

IME it tends to run very old games written for the original PC better out of the box. With Dosbox you have to fiddle a bit with the cycles so they don't run too fast or too slow.
Yes, but its x86 emulator is unfortunately very slow. I wanted to re-experience the little click game "The Green Mouse Disaster" and barely got it running, with only a few frames per second - practically unusable. This game is built on Shockwave and contains some Qt-based movies as animations.
I was talking specifically about games targeting the original 4.77 Mhz IBM PC, so from the early to mid 1980s.
Bochs like performance, even worse. With Bochs I can tweak the IPS count and get a closer performance near to Qemu.