VOGONS

Common searches


First post, by dom

User metadata

First of all, sorry if this question was raised befure, but I couldn't find anything relevant in search:

I was wondering if DOS Box emulates the actual CPU on current Win PC platforms as well? If that's the case why is that so? I'm rather curious. Is it possible for DOS Box to execute parts of the code directly on hardware to speed things up?

Reply 1 of 6, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

What your asking for is virtualization which basically uses the host processor. VPC/Vmware/DosEmu do this.

DosBox\Qemu use emulation.....they both emulate the processor instructions for better compatibility.

DosBox and Qemu do this for one simple reason. Compatibility That's the primary focus. Processors can only get faster. Why focus on one architecture (x86) when all processors will eventually become fast enough anyway?

Also if you are using DosBox on x86 you can switch to dynamic core in the DosBox.conf file. This uses dynamic recompilation which speeds things up considerably at the risk of reducing compatibility.

How To Ask Questions The Smart Way
Make your games work offline

Reply 2 of 6, by Guest

User metadata

I still don't understand the need for x86 emulation be it dynamic or full CPU emulation on a modern CPU. Aren't all the modern PC CPU's x86 CPUs anyway? If you threw MS-DOS on a modern machine with an AMD 64 3500+ CPU, wouldn't it run all DOS games fine except some might run fast?

Also why can't something like Virtual PC/VMWare/DosEmu work better than DOSBox if it was as actively supported for classic dos gaming like DOSBox is?

Lastly I know dual booting is possible allowing you to boot more than one OS, but what about triple booting?

Reply 5 of 6, by Lofty

User metadata
Rank Member
Rank
Member

You certainly can run DOS on modern x86-based PCs. There's a few issues though with modern hardware being somewhat incompatible with native-dos games(sound card, mouse...). Also, some games will crash or malfunction if the CPU speed is too fast, or there's too much RAM. The reasons for emulation/virtualisation are usually to solve the incompatible hardware problems, and/or to enable software written for another O/S or system to run at the same time as your main O/S.

Other emulation/virtualisation software has it's pros and its cons. Virtual PC and VMWare (from my experience) offer more complete "emulation" but don't support as many old hardware devices, and they tend to be slower. Not sure about DosEmu as I've never used it, but I think it's more geared towards speed than compatibility, whereas dosbox is more geared towards compatibility than speed.

Triple, quadruple...you can have pretty much as many operating systems installed and bootable on your computer as you like.

I think the 64-bit CPUs can't run older 16-bit x86 code, so they're not strictly x86 compatible. Otherwise, yes. These days, most people would consider a PC to mean an x86-based computer.

Not sure about the slowdown question. Emulation is more accurate...

Reply 6 of 6, by Zup

User metadata
Rank Oldbie
Rank
Oldbie

At least AMD64 is able to execute 16-bit code, but Windows XP/2003 64 bit no. I mean... try AMD64/Win32 and your 16 bit code will probably work. Try AMD64/Win64 and your 16 bit code is wasted hard disk space.

Thanks to M$.

I have traveled across the universe and through the years to find Her.
Sometimes going all the way is just a start...

I'm selling some stuff!