VOGONS


Reply 20 of 53, by mr_bigmouth_502

User metadata
Rank Oldbie
Rank
Oldbie
FeedingDragon wrote:
That's partly just it... DOSBox only "emulates" the bare minimum to get games to work. […]
Show full quote

That's partly just it... DOSBox only "emulates" the bare minimum to get games to work.

There is no BIOS, it simulates a BIOS for BIOS calls, but the actual data area of the BIOS is practically empty. This can be seen quite clearly in Ultima 7. There is a screen during the intro that is supposed to be video snow effect (like tuning to an empty channel on an old TV set.) The game does it by using the BIOS area (read only,) to generate a semi-random (but steady) binary sequence. In DOSBox (without a handy patch someone wrote,) you get a Black screen with a few white specs throughout.

When we get to the other features, including the video features, it simulates the presence of the HW. Which is why you don't have to hunt down and download the ROM files for the cards like you do with true emulators (such as PCem.) They know how the card responds to different calls, and just use those responses. If you trace backwards the functionality with previous DOSBox versions, you can see how this has been tweaked, fixed, improved, etc... over time.

In the end, there is quite a bit of functionality that is never realized (or is lost,) compared to a real PC. Such things as true system speeds (it's only approximated,) some strange/fancy install procedures, and other such. About the only thing they worry about is, "will the game play?" If a game doesn't play, they look into why. If a game doesn't install correctly, they don't worry as much about it. On several occasions, I've had to install the game on a real PC, then pack up the directory and move it to my DOSBox "C" drive.

They themselves have referred to it as a "DOS" emulator for games. If it is an emulator, it emulates an OS, and not a machine. To me, that is a defining difference between emulation and simulation. It simulates an older machine through OS emulation. It makes it easier to use, in a way, but reduces complete compatibility.

With all that in mind, how can we assure that DosBox actually runs games the same way they would run on an actual PC? How do we know that it's not just running them in a manner that is only superficially similar, like ZSNES does for SNES emulation?

Reply 21 of 53, by Zup

User metadata
Rank Oldbie
Rank
Oldbie

Maybe it should be defined as a "partial HLE PC/DOS emulator".

  • As it is stated everywhere it is not a complete emulator, lacking some BIOS and DOS structures.
  • It may be defined as HLE (or at least hybrid), because some functions are not emulated but hardcoded/wrapped.
  • It emulates the behaviour of (mostly) PC machines with MS-DOS. There is no emulation of other OSs or other not-really-PC DOS machines (i.e.: Xenix support or HP LX200 support).
  • An I think it could be called an emulator. Although it does not emulate everything, I think it fits more as HLE emulation than simulation.

Note that this topic has derailed badly from alternatives to dosbox to semantics about what is dosbox.

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!

Reply 22 of 53, by mr_bigmouth_502

User metadata
Rank Oldbie
Rank
Oldbie
Zup wrote:
Maybe it should be defined as a "partial HLE PC/DOS emulator". […]
Show full quote

Maybe it should be defined as a "partial HLE PC/DOS emulator".

  • As it is stated everywhere it is not a complete emulator, lacking some BIOS and DOS structures.
  • It may be defined as HLE (or at least hybrid), because some functions are not emulated but hardcoded/wrapped.
  • It emulates the behaviour of (mostly) PC machines with MS-DOS. There is no emulation of other OSs or other not-really-PC DOS machines (i.e.: Xenix support or HP LX200 support).
  • An I think it could be called an emulator. Although it does not emulate everything, I think it fits more as HLE emulation than simulation.

Note that this topic has derailed badly from alternatives to dosbox to semantics about what is dosbox.

I think that's a pretty apt description of what I believe DosBox is; an HLE x86 emulator with some LLE features, and a built-in, semi-DOS-compatible, pseudo-OS that ties into the emulator itself rather than just running on top of it. If it were more like a "traditional" emulator, it would be entirely LLE, with a bundled DOS-compatible OS running on top of the emulator, rather than tying into it. In other words, it would sort of be like PCem. 😉

Reply 23 of 53, by Stiletto

User metadata
Rank l33t++
Rank
l33t++

This is why the occasional request over the past decade of "you should incorporate DOSBox into MESS" fell on deaf ears, regardless of the licensing incompatibilities 😉

"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto

Reply 25 of 53, by Stiletto

User metadata
Rank l33t++
Rank
l33t++

Okay, so let's try to bring this back on track.

There's really no other "DOS Emulators" out there besides DOSBox, and dosemu on Linux, as far as I know.

Now, start talking "PC Emulator" and now we'll have a thread going. PCem, MESS, Bochs, PCE, Aeon, Qemu...

Think I'll move this to "PC Emulation" if that's okay...

"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto

Reply 26 of 53, by idspispopd

User metadata
Rank Oldbie
Rank
Oldbie
mr_bigmouth_502 wrote:
Zup wrote:
Maybe it should be defined as a "partial HLE PC/DOS emulator". […]
Show full quote

Maybe it should be defined as a "partial HLE PC/DOS emulator".

  • As it is stated everywhere it is not a complete emulator, lacking some BIOS and DOS structures.
  • It may be defined as HLE (or at least hybrid), because some functions are not emulated but hardcoded/wrapped.
  • It emulates the behaviour of (mostly) PC machines with MS-DOS. There is no emulation of other OSs or other not-really-PC DOS machines (i.e.: Xenix support or HP LX200 support).
  • An I think it could be called an emulator. Although it does not emulate everything, I think it fits more as HLE emulation than simulation.

Note that this topic has derailed badly from alternatives to dosbox to semantics about what is dosbox.

I think that's a pretty apt description of what I believe DosBox is; an HLE x86 emulator with some LLE features, and a built-in, semi-DOS-compatible, pseudo-OS that ties into the emulator itself rather than just running on top of it. If it were more like a "traditional" emulator, it would be entirely LLE, with a bundled DOS-compatible OS running on top of the emulator, rather than tying into it. In other words, it would sort of be like PCem. 😉

Don't forget that you *can* boot DOS inside DOSBox.

Reply 27 of 53, by Kerr Avon

User metadata
Rank Oldbie
Rank
Oldbie

Whatever else DOSBox might or might not be, it is *brilliant*! I mean, it allows you to play Blood, Carmageddon, and System Shock, and for that reason alone it's one of the best programs you can run on a modern PC. 😀

The fact that it lets you play literally hundreds (or is it thousands?) of other games is just the icing on the cake.

That's my (biased) opinion!

Reply 28 of 53, by leileilol

User metadata
Rank l33t++
Rank
l33t++

oh i'm not discrediting DOSBox or anything. It's a very amazing emulator that takes a lot of the DOS configuration and memory BS out and I (unlike ageists on Steam) am grateful for its existence enabling the legal availability of older games being rereleased.

Would be great if DOSBox took the whole cycles thing out for actual CPU model targeting (picking cycle accurate 4.77mhz 8088s, 386sx20s, Pentium II 300s and the like), but that's not going to be on the table for some time 😀

apsosig.png
long live PCem

Reply 29 of 53, by mr_bigmouth_502

User metadata
Rank Oldbie
Rank
Oldbie
leileilol wrote:

oh i'm not discrediting DOSBox or anything. It's a very amazing emulator that takes a lot of the DOS configuration and memory BS out and I (unlike ageists on Steam) am grateful for its existence enabling the legal availability of older games being rereleased.

Would be great if DOSBox took the whole cycles thing out for actual CPU model targeting (picking cycle accurate 4.77mhz 8088s, 386sx20s, Pentium II 300s and the like), but that's not going to be on the table for some time 😀

It would be amazing if DOSBox were able to target specific CPU models and speeds. I think it would take a lot of the guesswork out of choosing CPU cycle counts, and it would be great for games that were made specifically for certain clockspeeds.

Reply 31 of 53, by madcrow

User metadata
Rank Newbie
Rank
Newbie

PCem is pretty darn good. It's missing a few things here and there, and its support forums seem impossible to join, but it has great hardware support if you want something more accurate than DOSbox.

Reply 32 of 53, by Kerr Avon

User metadata
Rank Oldbie
Rank
Oldbie

From the point of view of running games, which I imagine is what DOSBox is used for 99% of it's time, are there any DOS emulators (or PC emulators, or whatever you want to call them) that are faster than DOSBox when running DOS games? I'd imagine that speed (after the drag factor of DOS emulation is taken into account) is the biggest problem to modern users of DOSBox, though admittedly as PCs get ever faster than this problem goes ever smaller.

And what about virtual machines? Can you use VMWare or whatever to run DOS games, and if so how fast are they compared to the same games on the same PC under DOSBox?

Reply 33 of 53, by kolano

User metadata
Rank Oldbie
Rank
Oldbie

DOSBox emulates a PC CPU, so the various virtualization solutions (VirtualBox, VMWare, Virtual PC) which run code directly on the CPU rather than through an emulation layer would likely be faster. There tends to be limited support for various peripherals there though (i.e. soundcards).

DOSBox is able to provide above Pentium level performance on current CPUs though, so for most DOS games performance aspects aren't the critical factor.

Last edited by kolano on 2015-02-14, 16:45. Edited 3 times in total.

Eyecandy: Turn your computer into an expensive lava lamp.

Reply 34 of 53, by leileilol

User metadata
Rank l33t++
Rank
l33t++

There is dosemu on the 'nixes, aka "DOS in a Box". That's also super fast and has some limited form of sound emulation and is a bit more compatible than using VirtualPC/VirtualBox for dos stuff.

apsosig.png
long live PCem

Reply 35 of 53, by mudlord

User metadata
Rank Newbie
Rank
Newbie

(And before you say that level of accuracy isn't necessary: http://arstechnica.com/gaming/2011/08/a ... -emulator/ esp. the last page.)

Oh **** me.

Don't you dare get me ***************** started on that "article" written by a OCD nutjob.

Point is: if you are not happy with DOSBox: rewrite it then. >_>

Reply 36 of 53, by awgamer

User metadata
Rank Oldbie
Rank
Oldbie
Kerr Avon wrote:

From the point of view of running games, which I imagine is what DOSBox is used for 99% of it's time, are there any DOS emulators (or PC emulators, or whatever you want to call them) that are faster than DOSBox when running DOS games? I'd imagine that speed (after the drag factor of DOS emulation is taken into account) is the biggest problem to modern users of DOSBox, though admittedly as PCs get ever faster than this problem goes ever smaller.

And what about virtual machines? Can you use VMWare or whatever to run DOS games, and if so how fast are they compared to the same games on the same PC under DOSBox?

On a 3570k, DOSBox runs faster than machines of the DOS era, last gasp for DOS was pretty much 1996, pentium 200 came out that year, so aside from some cases of emulation issues that drags the speed down the only speed issue for today is on slow devices. That said, DOSBox could still use some more speed to max out some late DOS games and for its Windows emulation foray.

Reply 37 of 53, by underjack

User metadata
Rank Newbie
Rank
Newbie
SquallStrife wrote:
The trouble here is that you're getting in to "No true Scotsman" territory. […]
Show full quote

The trouble here is that you're getting in to "No true Scotsman" territory.

One could argue that PCem only simulates a PC, because it "only" executes the machine code on a software core, and doesn't a actually implement the individual transistor gates that make up a CPU.

...or that a program that does do the latter "only" simulates a CPU die because it doesn't implement the particle physics that make the transistors work.

(And before you say that level of accuracy isn't necessary: http://arstechnica.com/gaming/2011/08/accurac … -snes-emulator/ esp. the last page.)

Of course, this is silly. I think in computing terms, an "emulation" is an environment for running software on a system that the software wasn't designed for. And "simulation" more broadly means a software facsimile of a thing or activity.

Which is to say, all emulators are simulators, but not all simulators are emulators. (Flight, train, goat, etc)

My understanding of the term, as a computer scientist/software engineer with emulation as a hobby, is that it means simulating a system enough that a running program can't tell the difference. So on DOSBox, it recreates the BIOS calls, DOS routines, and hardware (taken together as a "finite state machine") such that the executable goes though its code the same same way it would on "real" hardware.

DOSBox is a DOS emulator because it rolls DOS and BIOS into the emulated part of the equation. Yes, there's enough emulated hardware there that DOS or even Windows 95 can be run natively, but for its intended purpose (DOS games), that's not needed. Other emulators such as Bochs and QEMU leave those parts out, so they're machine emulators.

How an emulator does its job is inconsequential. What matters is the emulator is software that takes machine code, and presents it with a state of the hardware (meaning the contents of registers and memory, the state of the motherboard and video card, etc, again the term "finite state machine"), and then changes that state to match the execution of the code. It's why things like cache memory aren't emulated, because they are transparent to the code running.

As with anything, there are exceptions to this: modern processors expose some of the cache functions to programs, so that the program can help the cache controller do its job using cache hints. And an emulator can certainly emulate "hardware" that is simply a interface to the emulator itself and the host system beyond.

From what I understand, "simulation" is what Intel does when they're testing a new chip design (latency and electrical prorogation). I've seen a java or javascipt based simulation of a 6502 online, you can watch the signals move through the chip circuits. Also contrast all this with "virtualization", which is an entirely different can of worms.

Edit: here's the 6502 Simulator: http://www.visual6502.org/JSSim/

Reply 38 of 53, by Lo Wang

User metadata
Rank Member
Rank
Member

http://www.4004.com/mcs4-masks-schematics-sim.html

Perhaps a link of interest for all the electronics simulation junkies. Scroll down for the good stuff.

"That if thou shalt confess with thy mouth the Lord Jesus, and shalt believe in thine heart that God hath raised him from the dead, thou shalt be saved" - Romans 10:9

Reply 39 of 53, by Nic-93

User metadata
Rank Oldbie
Rank
Oldbie
Stiletto wrote:
Okay, so let's try to bring this back on track. […]
Show full quote

Okay, so let's try to bring this back on track.

There's really no other "DOS Emulators" out there besides DOSBox, and dosemu on Linux, as far as I know.

Now, start talking "PC Emulator" and now we'll have a thread going. PCem, MESS, Bochs, PCE, Aeon, Qemu...

Think I'll move this to "PC Emulation" if that's okay...

thats ok with me