Dosbox Fun


Also, emulation difficulty isn't always 1:1 with original machine power. Some less powerful systems are harder to emulate than simpler though more otherwise more powerful systems.

Additionally, most PS1 ports of PC games were watered down because the PS1 wasn't as capable as a nice PC at the time.
 
Ah, thanks chaps - it's about what I'd assumed/thought :(


DARK FORCES - still sucks at 6000 cycles, so it looks to be completely out of range for the Pandora :(
 
Simple. The PS1 is a lot less powerful than that type of PC.
Wrong. The PS1 is more powerful than a 486-PC. But it has a different architecture that is easier to emulate with an ARM-CPU.
Might it be more accurate to say that emulating a PS1 is easier/results in faster running speed than trying to emualte all the various types of hardware that DOSBox supports up to and including the 486 level PC (with differernt sound capabilities and different videos cards)? It seems to me that it might be easier to emualte a fixed point quickly than it is to emualte all the different cobos of components that the average PC consisted of?
 
Last edited by a moderator:
Simple. The PS1 is a lot less powerful than that type of PC.
Wrong. The PS1 is more powerful than a 486-PC. But it has a different architecture that is easier to emulate with an ARM-CPU.
Might it be more accurate to say that emulating a PS1 is easier/results in faster running speed than trying to emualte all the various types of hardware that DOSBox supports up to and including the 486 level PC (with differernt sound capabilities and different videos cards"]? It seems to me that it might be easier to emualte a fixed point quickly than it is to emualte all the different cobos of components that the average PC consisted of?
dont forget all the of the fpu is being emulated in software which cant help.
 
Last edited by a moderator:
Last edited by a moderator:
What's a 486 PC? CPU can be from 16MHz to 100MHz. So let's see..

16MHz 486 vs 33MHz R3k:
- Both are pipelined and will do "simple" operations at a rate of 1 per cycle.
- The 486 has complex segmentation (if emulated fully) and MMU paging that is complex to emulate.
- The MIPS CPU has far more general purpose registers.
- 486 has integrated FPU that is very slow to emulate w/o an FPU on the other side.. but only if used in real amounts, which not all things will.
- MIPS CPU has integrated GTE which is not as slow to emulate but still bad, but only if used in real amounts, ie 3D games. No game will push it to its limits because scenes will be limited by triangle throughput instead of geometry/lighting transformation.
- If we're looking at 16MHz then the 33MHz PS1 can do many more instructions per second. Instructions per second is a major metric in emulator performance. x86's instructions take more emulator work to decode than MIPS R3k instructions, but with recompilers for both that shouldn't make a difference.

Then the other components..
Video: VGA vs 3D accelerator. PS1's takes a lot more work to emulate, especially if it's mode-X (320x200) and emulated as if it were non-planar memory.
Sound: Sound Blaster digital only or OPL2 FM synth is typical - PS1's 24 channel wavetable synth @ 44.1KHz with various effects is probably heavier.

PS1 also has XA and JPEG(ish) decompression, the emulated PC won't have these things.

But I do think DOSBox is much slower than psx4all. M-HT's tests have shown that it's extremely slow, even with recompiler. If people are serious about using DOSBox then maybe some heavy duty profiling out to be done to find out where it's spending most of its time, although I'm sure either way a more extensive recompiler would have to be done.
 
at full detail at 6000 cycles, and it has several detail settings which fairly dramatically affect the rendering speed (mostly by limiting the amount of texture mapping required"]. 5000 is probably good enough for the 2nd-best setting.
Warcraft 2, Red Baron, and UFO were all sluggish in some way at 3000 cycles, so 5000 should do wonders for them.[/quote]I know I keep harping on about DOSbox PSP, buuuuuuuuuut.....this is interesting reading -

http://www.pspdosbox.co.nr/ (see UFO Enemy Unknown)

I don't see how UFO can be sluggish on Pandora, but be fine on the PSP. Something doesn't add up.
 
Last edited by a moderator:
I don't see how UFO can be sluggish on Pandora, but be fine on the PSP. Something doesn't add up.
More people have PSPs and can contribute to optimizations. Pickle has a Pandora and spends more time (rightly so) on quantity than on quality at the moment.
I imagine that once more developers have them, the code will be cleaned up and hardware better utilized.
 
Last edited by a moderator:
Last edited by a moderator:
on quantity than on quality at the moment.
I imagine that once more developers have them, the code will be cleaned up and hardware better utilized.
What exactly do you expect me to do to make it faster? We could offload opl, but dont expect it make things a whole lot better. Im expecting some changes from M-HT for the dynamic backend that give some more speed.
I totally dont agree with your statment that im comprising quality for quanity. Dosbox is just slow by design, but I and others will make it run as good as we can.
 
Last edited by a moderator:
But I do think DOSBox is much slower than psx4all. M-HT's tests have shown that it's extremely slow, even with recompiler. If people are serious about using DOSBox then maybe some heavy duty profiling out to be done to find out where it's spending most of its time, although I'm sure either way a more extensive recompiler would have to be done.
Mmmm, interesting ta (tho I didn't recall 486's as slow as 16MHz... I assumed they MUST have started at about 25MHz if only because 386's had surpassed that clock rate already).

I'm fairly serious about wanting to use DOSBox simply because traditionally a lot of the games I've bought have been for Spectrum, BBC, and PCs... with not a lot else (oh, some X-Box titles actually). Most of not all of the Spectrum games have been lost, but a goodly number of BBC and PC titles are sticll kicking around, even if finding out where they have been squirrelled away can be time consuming and irritating (X-Wing is currently hiding quite well, for example). So BBC and PC/DOS emulation is where the vast majority of my emulation activities encircle. Obviously, if the Pandora can't emulate a PC well enough for many of my games to work that's going to... limit the range of games I can play on it. Maybe not terribly, but dissapointingly.

I've seen a number of other folk floating around who seem to aspire to playing similar DOS-based games - particularly the X-Wing and TIE-fighter games - but I cannot speak for how seriously they wish to do so. I'm also a little... uncomfortable about the apparently common advise to "play the version from machine X" when what I have is the PC/DOS version of a game, as I only own the PC/DOS version and no other (for the VAST majority of PC games I have). Having said which, I must own several different copies of X-Wing and TIE Fighter (and of course it's the oldest most-likely-to-work versions that have been hiding!)

Dosbox is just slow by design, but I and others will make it run as good as we can.
...and IMHO it's appreciated. Your ports of the Quakes (and the mere possibility of youir working on AvP) have become one of the major reasons I look forward to the Pandora release as much as I do. I think it's easy to see Quake 1,2, even III running superbly on a Pandora and then get dissapointed when a simpler game like Dark Forces does not play credibly. It's got nothing to do IMHO with the effort you're putting in, and everything to do with "gut feeling" that things should run faster, in comparison to other games on the Pandora (which are ported rather than emulated), or games running on other emulators, or games running on other handhelds. Gut feeling is responsible for a lot of disharmony, alas, and isn't as accurate as informed reasoning :(
 
Last edited by a moderator:
What exactly do you expect me to do to make it faster? We could offload opl, but dont expect it make things a whole lot better. Im expecting some changes from M-HT for the dynamic backend that give some more speed.
I totally dont agree with your statment that im comprising quality for quanity. Dosbox is just slow by design, but I and others will make it run as good as we can.
I don't expect you to do anything to make it faster. I expect one of the hundreds of other developers that will eventually get a hold of a Pandora to have the right combination of time and skill to devote to the project to pull a few more cycles out of the system, possibly rewriting the dynarec as needed, or whatever other optimizations they can come up with.
I'm sure you could do it yourself, if you devoted more time to it, but that's what I was getting at with the quality vs quantity: in the past few months you've given us Quake 1, 2, and 3, Wesnoth, a slew of other things for which we're all grateful, and a "good enough" DosBox. If you had devoted more time to making DosBox better, it would take away from the time to get everything else going. Or spent time rewriting the Quake 3 engine to use OpenGL ES instead of using the wrapper. Or any other plethora of things you could have done to the current project instead of moving onto the next. That's what I meant by your focus more on quantity than quality; it wasn't meant as an insult, just an observed statement. I didn't mean to imply you were intentionally sacrificing quality, just that you seemed to be working more towards getting MORE rather than BETTER. Which is good: that's exactly what the Pandora needs at launch: more. Better will come with time.
 
Last edited by a moderator:
What exactly do you expect me to do to make it faster? We could offload opl, but dont expect it make things a whole lot better. Im expecting some changes from M-HT for the dynamic backend that give some more speed.
I totally dont agree with your statment that im comprising quality for quanity. Dosbox is just slow by design, but I and others will make it run as good as we can.
I don't expect you to do anything to make it faster. I expect one of the hundreds of other developers that will eventually get a hold of a Pandora to have the right combination of time and skill to devote to the project to pull a few more cycles out of the system, possibly rewriting the dynarec as needed, or whatever other optimizations they can come up with.
I'm sure you could do it yourself, if you devoted more time to it, but that's what I was getting at with the quality vs quantity: in the past few months you've given us Quake 1, 2, and 3, Wesnoth, a slew of other things, and a "good enough" DosBox. If you had devoted more time to making DosBox better, it would take away from the time to get everything else going. Or spent time rewriting the Quake 3 engine to use OpenGL ES instead of using the wrapper. Or any other plethora of things you could have done to the current project instead of moving onto the next. That's what I meant by your focus more on quantity than quality; it wasn't meant as an insult, just an observed statement. I didn't mean to imply you were intentionally sacrificing quality, just that you seemed to be working more towards getting MORE rather than BETTER. Which is good: that's exactly what the Pandora needs at launch: more. Better will come with time.
FYI Cpasjuste did wesnoth and the quake3 "opengl-es" version :rolleyes: .
I guess my difference of opinion is that things dont need to get better if they perform the way they are expected to. For example Quake 1 is getting 60 fps with the wrapper, it works perfectly fine. Using your argument if somone want to rewrite the parts of the application to get 5 more fps then for sure they can. But to say its of lower quality because of that doesnt make sense to me. The game works and plays like its supposed to, to me that's the best quality any piece of software can have.
Lets use dosbox as an example: When I started dosbox dynamic core didnt work, I could have just left it with the normal sw core.
But I didnt I asked M-HT what might be the issue and we fixed it. I could have left it there, but I know M-HT is reworking the way memory reads are handled, so im working with him to get those updates. I want dosbox to run as fast as it can, but there only so many ways to attack the problem. Dosbox is slow by design thats just reality.
Also just be aware just because I showed something working doesnt mean ive dropped it.

My goal is for software running on the pandora like is meant to be run. (I just want it to be clear im not trying to pump out as many applications as possible, thats all, I do care how they run)
 
Last edited by a moderator:
FYI Cpasjuste did wesnoth and the quake3 "opengl-es" version :rolleyes: .
D'oh. Sorry to you both. I appreciate the work everyone has done, even when I forget who's doing what.
QUOTE
For example Quake 1 is getting 60 fps with the wrapper, it works perfectly fine. Using your argument if somone want to rewrite the parts of the application to get 5 more fps then for sure they can. But to say its of lower quality because of that doesnt make sense to me. The game works and plays like its supposed to, to me that's the best quality any piece of software can have.
Maybe at the default clock speed, but more optimization could be done to get it to run at a much lower clock speed. There are improvements that can be made, but it's good enough that you can move on. It's my belief that someone focused on quality would have stuck to it until it was as perfect as it could get. I get the feeling I'm not using the right words here, but carrying on anyway.
It's the same thing with DosBox. It's slow, like you say, and will reach a point where it's good enough, right? Even at that point, I'm sure there will be room for optimization, and that's where the power of the community will take over.

AH! A car analogy.
Car A gets 30 MPG, and has a top speed of 120 miles per hour. Unless you're planning on entering Nascar, 120 miles is more than enough. Car B is the exact same in every respect, but the engine has been tweaked to reach 200 miles per hour. Car A is perfect. Car B is more perfect. Quake with the OGL-ES wrapper is perfect. Quake with native OGL-ES is more perfect. Eventually you'll reach a point where DosBox is perfect. That doesn't preclude someone else from getting a hold of it and making it more perfect.
 
Last edited by a moderator:
I know what your point is, just when you "called it lower quality" that got me going ;)

Anyway, Im skeptical in general what things we can improve in dosbox. The version that i have ready at launch I dont think will be improved on, at least not enough to blow anyone away.
 
Anyway, Im skeptical in general what things we can improve in dosbox. The version that i have ready at launch I dont think will be improved on, at least not enough to blow anyone away.

So, if I'm understanding things, it's not likely that much can be done without serious and huge architectural changes to dosbox. Even then, there's really only so much that can be done anyways.

Personally, I'm pretty impressed with what I've seen so far, most of my favorite games, the ones that could work on a handheld, seem to work just fine with what we're likely to get.

EDIT: I am somewhat curious as to why some programs seem to need so many more cycles than others to run smoothly. It seems odd to me that some games seem to need a lot more power than I would think was available at the time.
 
Last edited by a moderator:
Maybe at the default clock speed, but more optimization could be done to get it to run at a much lower clock speed. There are improvements that can be made, but it's good enough that you can move on. It's my belief that someone focused on quality would have stuck to it until it was as perfect as it could get. I get the feeling I'm not using the right words here, but carrying on anyway.
It's the same thing with DosBox. It's slow, like you say, and will reach a point where it's good enough, right? Even at that point, I'm sure there will be room for optimization, and that's where the power of the community will take over.
Most of us have "triggers", key words or phrases that tend to wind us up, and since I beleive I am reading you correctly I beleive you simply hit one of Pickle's "triggers". I'm not saying DOSBox can or will substantially improve in the hands of hundreds or thousands of Pandora chefs, but I see your argument. Many hands make light work, and a different perspective can be handy and all that.

In addition to the lowering-clock-rate yet get the same performance "goal" for optimising software "beyond what is necessary" there's also the idea that Pandora owners will be awkward cusses that want to run all manner of things in the background - so while any given program may run at "currect" or even "above spec" speeds on a "stock" Pandora, there is every chance that many Pandoras will run at below stock speed once the end users get fiddling and adding all those stupid little things that make a computer "their own". Having a GOAL of software that uses the minimum amount of power - in all sense! - to achieve perfect speed would seem, therrefore, to offer the promise of playability to more people more of the time (and for longer, perhaps).

Such fine tuning is often observed to be "excessive" - not worth the amount of effort expended for the amount of gain. But when you have thousands of potential programmers, you are, perhaps, more likely to find one who is arrogant enough (with justification!) to shave off those very few fps here and there. One man cannot (should not?) go to such bizzarre extremes, but when there's a whole bunch of chaps trying to hone performance manpower could, in theory, become much less of an issue.
 
Last edited by a moderator:
i guess the cycles needed by some apps over others all depends on how well the original was coded

Not everyone codes the same and back in the day some games were created by one man bands others created by whole teams - its all down to how well structured the programming was - the CPU specs were not light fast - but DOS apps did go work on older x86 and beyond!! (think os PS One being the same as an x86 then 286, 386 then 486)

Shit - who cares - thanks to pickle i get to play dune 2, command and conquerer, championship manager, and others in the palm of my hand
 
Back
Top