Dosbox Demo Video?


timofonic said:
borgqueenx said:
EvilDragon said:
Played Pirates! Gold a few days ago on DosBOX. And Commander Keen 4. And Civilization (though that doesn't make much sense as FreeCiv is better).

Running nice :D
Good to hear:) i love commander keen because the nice gameplay and colorful sprites.

http://clonekeenplus.sourceforge.net

Sadly, it seems to not support Commander Keen 4. But supports the others and mods :)

Does not support Keen 4 / 5 / 6 and dreams only 1, 2 and 3.
 
Last edited by a moderator:
WizardStan said:
Wolenber said:
I'm not exactly familiar with DOS, but what happens when you go over the amount of cycles the device can handle? Like, if I set the Pandora at 12,000 cycles, what would it do?
Goes slower. You're telling the Pandora to try and do more than it actually can. Imagine instead of "cycles" we said "play MP3s". It has the power to play 3000 MP3s all at the exact same time (it doesn't, but we'll pretend it does for demonstration purposes). You then start 12'000 MP3 players. It makes an attempt to play them all, but the result is that they all just slow down to about 1/4 speed or less, and so too does Dosbox when you tell it to run more cycles than it actually can.
I seem to be getting from this, probably incorrectly, that it wouldn't really mean anything than. When you break it into what really matters, aren't the cycles just how fast it goes? Wouldn't four-thousand running at full-speed be exactly the same as 8,000 all going at half speed?

Or is there something more sinister about aglets cycles that I don't understand?
 
Last edited by a moderator:
This might be a little confusing but try to bear with me.

When you set cycles to a number it tells the emulator to emulate that many "virtual cycles" in one "virtual millisecond."

Each time a CPU instruction is emulated it consumes some number of cycles. I don't know the exact number. On a real CPU, some instructions will take more cycles than others, with the timing getting more complex with newer CPUs. My guess is that DOSBox uses a model simpler than what CPUs use, possibly as simple as every instruction taking exactly one cycle.

Virtual events like timers and video IRQs probably fire at cycle intervals that correspond correctly with their real world timings. So if a timer is set to go off in 100 milliseconds and you set cycles to 1000 it'll be scheduled to go off in 100,000 cycles.

After emulating N virtual milliseconds, that is, N * X cycles where X is the "cycle" number, DOSBox will synchronize with real time.

So let's say it synchronizes every 50 milliseconds. It will first emulate 50 virtual milliseconds, or if you set "cycles" to 1000, it'll emulate 50,000 cycles. Now let's say that it took 20 milliseconds of real time to emulate these. It will then stop and wait 30 milliseconds. This way, your virtual CPU which is supposed to take 50 milliseconds to execute 50,000 cycles will actually appear to be doing just that. For this reason, the higher you set the cycle count to, the faster a virtual CPU you'll be emulating.

But let's say that that emulating thos 50,000 cycles took 100ms to instead. In this case the best the emulator can do is start emulating more cycles immediately without waiting, possibly skipping frames or somehow reducing CPU pressure in some other way to try free up more time for emulating the CPU in the future. If it continues emulating the 50,000 cycles at 100ms between every synchronization point then the game will appear to run 1/2 as fast as it's supposed to.

One thing to realize is that no matter how DOSBox tries to correlate instructions with cycles there'll never be some fixed number that represents the maximum it can handle. That's because emulating some instructions will take a lot longer to emulate other instructions. Even if the emulator makes those more expensive instructions take more cycles it'll never scale correctly because what's expensive for an emulator and what's expensive for hardware are two very different things.

What I'm getting at is that one game might still run at full speed up to say, 4,000 cycles, but another game might only run fullspeed up to 3,000. Or it might vary even within the same game. It all depends on the software. It also depends on what sort of support hardware needs to be emulated and how heavily the software stresses these external things.
 
I can only presume that Exophase is a being of pure silicone and advanced alien technology, with tiny telescopic robotic arms and possibly an extendible prong
 
@Exophase, so we will get between 3000 and 4000 cycles @600MHz or @900MHz ?

EDIT, so is it:
1. 600MHz: 3000~4000 cycles, 900MHz: 4500~6000 cycles, or
2. 600MHz: 2000~2666 cycles, 900MHz: 3000~4000 cycles.
 
cosurgi said:
@Exophase, so we will get between 3000 and 4000 cycles @600MHz or @900MHz ?

Those numbers were only made up examples to illustrate to my point. :/
 
Last edited by a moderator:
Exophase said:
cosurgi said:
@Exophase, so we will get between 3000 and 4000 cycles @600MHz or @900MHz ?
Those numbers were only made up examples to illustrate to my point. :/
Ooops. I see. So we need someone with a devboard to check this. Or we can just all wait to months, and then check ourselves ;)
 
Last edited by a moderator:
4000-5000cycles @850MHz with dynarec

That 2000 number I had in mind was old info(no overclocking/dynarec)

Pickle said:
Main issue is with the C dynarec in dosbox is that it is not a full dynarec, it only recompiles certain operations, whereas if you had a full dynarec you would be recompiling more operations. At least thats how ive come to understand it.

Gp2x : 800-1000 cycles with dynarec
Pandora: 4000-5000 cycles with dynarec

So the hardware is definitely providing a good amount performance over the Gp2X.
The MIPS backend may be more efficient in recompiling x86 code than ARM is. Although I dont claim to know all the details, someone like exophase/M-HT can probably give some insight into why the difference in performance is there.

How many cycles are typical on the PSP?
 
Last edited by a moderator:
mali said:
4000-5000cycles @850MHz with dynarec

That 2000 number I had in mind was old info(no overclocking/dynarec)
Wow, I missed that completely, there is some http://en.wikipedia.org/wiki/Dynamic_recompilation effort going on, in the dosbox code? Who is doing this?
 
Last edited by a moderator:
I missed it too, so I don't know either. It was just a lucky hit with the search function :)
 
M-HT did several other updates to the ARM recompiler work he did. He also said he's interested in working on it on Pandora once it's out, but that was months ago. You can find out more here:

http://forum.openhandhelds.org/viewtopic.php?f=24&t=931
 
Back
Top