I've Been Thinking About This For Awhile Now.


fearofshorts said:
I just wanted to thank exophase for taking the time to respond to my post so throughly.
From anyone else I would have questioned it, but I know your word in emulation is close to god.

Anyway, 10 FPS was it? That's like, what, 1/5th or 1/6th the speed with a 2D commercial release?
That's still pretty decent, I might be able to run all my homebrew at somewhere near full-speed! (Even if it does rule out backups.)
And it was the unoff. blog which gave me the impression that it was barely optimized. Probably misread it. I understand now!
with some good optimalisation i think 15FPS can be achieved. But Exophase his opinion is that 15FPS is not playable.
Personally if i can play a 3d game like metroid prime on 15fps, im VERY happy. but sound must run smoothly without gaps. and that on the other end will be hard again(i think).

Basicly, its very hard to ever make a DS emulator that will reach 30FPS on pandora, with a fair compability list. Thats what scares developers off, plus the loads, and LOADS of time it includes.

Maby, we will have a DS project running sometime for the pandora, but dont expect it to start soon.

Its to bad though...but we gotta accept it.
 
Last edited by a moderator:
Chip said:
OK, that's enough. Phawx didn't know any better, and now that Exophase cleared up exactly why a DS emulator isn't as easy as it sounds, we should just let it go.

Just to be clear, I knew what I was writing (in my sleepy stupor). And it's not that I didn't know any better, I never wanted to get into the technicality of *actually* having a working DS emulator (I've said this a few threads back.), I was trying to get across the idea of a friendly back and forth. For hypothetical stuff. For all intents and purposes a DS emulator may never be developed for the Pandora, But still I would like to have a conversation with people about how they think it *should* work.

I just wanted to talk about hypothetical usability. There is no "off-topic" subforum to *Pandora* so where else could I have this conversation? I wanted to keep it Pandora specific, but if you can move it to off-topic that'd be fine. Usability talk for the Dingoo and Wiz is fine as well, I suppose.
 
Last edited by a moderator:
borgqueenx said:
fearofshorts said:
I just wanted to thank exophase for taking the time to respond to my post so throughly.
From anyone else I would have questioned it, but I know your word in emulation is close to god.

Anyway, 10 FPS was it? That's like, what, 1/5th or 1/6th the speed with a 2D commercial release?
That's still pretty decent, I might be able to run all my homebrew at somewhere near full-speed! (Even if it does rule out backups.)
And it was the unoff. blog which gave me the impression that it was barely optimized. Probably misread it. I understand now!
with some good optimalisation i think 15FPS can be achieved. But Exophase his opinion is that 15FPS is not playable.
Personally if i can play a 3d game like metroid prime on 15fps, im VERY happy. but sound must run smoothly without gaps. and that on the other end will be hard again(i think).

Basicly, its very hard to ever make a DS emulator that will reach 30FPS on pandora, with a fair compability list. Thats what scares developers off, plus the loads, and LOADS of time it includes.

Maby, we will have a DS project running sometime for the pandora, but dont expect it to start soon.

Its to bad though...but we gotta accept it.

Warning: All of this is from what I remember of Exophase's posts

15FPS in a game might be playable, if you are thinking like a computer game going 15fps. But that doesn't apply here. In a way, all DS games run at 60fps. 10fps in a game means that something takes 6 times as long as it normally would, e.g. 1 second on a timer in game slows down to 6 real seconds. 15fps 3D would mean everything is 4x slower than the actual game, including sound. It would be completely unusable.
 
Last edited by a moderator:
fischju2000 said:
borgqueenx said:
fearofshorts said:
I just wanted to thank exophase for taking the time to respond to my post so throughly.
From anyone else I would have questioned it, but I know your word in emulation is close to god.

Anyway, 10 FPS was it? That's like, what, 1/5th or 1/6th the speed with a 2D commercial release?
That's still pretty decent, I might be able to run all my homebrew at somewhere near full-speed! (Even if it does rule out backups.)
And it was the unoff. blog which gave me the impression that it was barely optimized. Probably misread it. I understand now!
with some good optimalisation i think 15FPS can be achieved. But Exophase his opinion is that 15FPS is not playable.
Personally if i can play a 3d game like metroid prime on 15fps, im VERY happy. but sound must run smoothly without gaps. and that on the other end will be hard again(i think).

Basicly, its very hard to ever make a DS emulator that will reach 30FPS on pandora, with a fair compability list. Thats what scares developers off, plus the loads, and LOADS of time it includes.

Maby, we will have a DS project running sometime for the pandora, but dont expect it to start soon.

Its to bad though...but we gotta accept it.

Warning: All of this is from what I remember of Exophase's posts

15FPS in a game might be playable, if you are thinking like a computer game going 15fps. But that doesn't apply here. In a way, all DS games run at 60fps. 10fps in a game means that something takes 6 times as long as it normally would, e.g. 1 second on a timer in game slows down to 6 real seconds. 15fps 3D would mean everything is 4x slower than the actual game, including sound. It would be completely unusable.
This^
If you watched some of the videos running Mario64, whenever it goes under 60fps, the sound is stuttering mad, and the game doesn't run as smooth. Games at 15fps are not as fun as it might sound.
 
Last edited by a moderator:
borgqueenx said:
with some good optimalisation i think 15FPS can be achieved. But Exophase his opinion is that 15FPS is not playable.
Personally if i can play a 3d game like metroid prime on 15fps, im VERY happy. but sound must run smoothly without gaps. and that on the other end will be hard again(i think).

You don't really understand even though I've explained it several times, so the simplest thing to tell you is that if it's emulating at 15FPS it'll NEVER emulate the audio at the right speed. That'll probably mean with gaps.
 
Last edited by a moderator:
Exophase said:
borgqueenx said:
with some good optimalisation i think 15FPS can be achieved. But Exophase his opinion is that 15FPS is not playable.
Personally if i can play a 3d game like metroid prime on 15fps, im VERY happy. but sound must run smoothly without gaps. and that on the other end will be hard again(i think).

You don't really understand even though I've explained it several times, so the simplest thing to tell you is that if it's emulating at 15FPS it'll NEVER emulate the audio at the right speed. That'll probably mean with gaps.
oh ok. I thought it maby was possible to let the sound run on full speed and the video lower.
By my opinion audio is nessacary to make things playable.
Then never mind ^^

thanks for the answer(s)
 
Last edited by a moderator:
borgqueenx said:
I played ut2004 before on a CRAP pc, and i played everyday with 4~9 frames a second. The reason i bought a notebook, but it was playable.
That's a PC game, it's not being emulated. If you get 15FPS on a DS emulator, as someone previously mentioned I think, you will only get 25% speed. If you think 25% speed is playable, you're crazy.

Edit: Never mind, looks like you saw the post after all.
 
Last edited by a moderator:
borgqueenx said:
I played ut2004 before on a CRAP pc, and i played everyday with 4~9 frames a second. The reason i bought a notebook, but it was playable.

The point he is getting at is that it's not that the game is running full speed and the video at 15fps... the ENTIRE game is running 1/4 the speed it should... so audio will never work. The game itself is basically computing at 1/4 it's original speed (more or less, assuming 60fps is normal).
 
Last edited by a moderator:
Guys, I know it would run slowly. I already knew that it would run at 1/6th the regular speed (as DS games all run at 60 FPS, and this is what I meant with my previous post).
And I know that audio would be broken.
And I know that most, if not all, games would be unplayable.
But as I said, what about homebrew? Would homebrew be limited by the same speed issues? Because it seems to me that homebrew will run far easier on DS emulators. (I remember a time when most of them wouldn't run anything but homebrew.)

Also, I'm not asking that anyone take the time to develop or port an emulator, I was just hoping that the guy who ported DeSmuME would release it, so that we could all experiment. It's not really any extra work if he still has the files, so don't argue that it would be useless.
 
fearofshorts said:
Would homebrew be limited by the same speed issues?
If it's using the same amount of CPU power, then yes.
But really, if you're talking about homebrew, you could probably just ask nicely or pay $50 for the source code and make a native Pandora port that ran ridiculously fast with almost no CPU use.
 
Last edited by a moderator:
fearofshorts said:
But as I said, what about homebrew? Would homebrew be limited by the same speed issues? Because it seems to me that homebrew will run far easier on DS emulators. (I remember a time when most of them wouldn't run anything but homebrew.)

First, what homebrew do you care so much about? Things that you think definitely won't be ported to Pandora?
Second, why do you think it'll run so much better than commercial games?

Some things might use very little CPU and very little graphical resources and might be very easy to emulate (same goes for commercial games). But in theory commercial games have more opportunities for emulating faster because they're all locked to the same ARM7 code and certain optimizations can be made with that in mind. They're also prevented from doing various other things that homebrew can do freely.

SOME homebrew is easier to get running because of various reasons such as
a) doesn't touch as many peripherals
B) is limited to doing things that are well documented; ie, you only have to know about as much as the people who wrote the homebrew code to emulate it, and
c) if source is available it's a lot easier to debug where it goes wrong

So sometimes a less complete and more buggy emulator can run homebrew before it can run commercial games. Not always the case though, on some platforms emulators will see commercial results early. On DS the gap is there but it's not too huge.

But that doesn't mean that it'll emulate homebrew much more quickly. DesMuME already emulates a large percentage of commercial games fine so the ease in seeing initial results with homebrew is moot.

fearofshorts said:
Also, I'm not asking that anyone take the time to develop or port an emulator, I was just hoping that the guy who ported DeSmuME would release it, so that we could all experiment. It's not really any extra work if he still has the files, so don't argue that it would be useless.

If you ask nicely I'm sure he'll release it. If that makes you happy then great. I just hope it doesn't give anyone any false ideas of what could be accomplished in the future.

Personally I think said experimenting would do zero for improving the situation, it'll just be useful for YOUR own edification.

I also think that DesMuME is a dead end when it comes to high performance DS emulation, same as VBA was for GBA emulation.
 
Last edited by a moderator:
I think it would be a pretty negative experience for anyone who did a simple recompile of an emulator to release it publicly. People would be breathing down your neck, waiting for updates and improvements, which may or may not be possible, or intended.
 
Wow, can I have a go? Bear with me.

My own emulator is an interpretive emulator, but this will affect a dynarec just as much, I would have thought. This is how my emulator works:

Your emulation is basically in three parts - CPU (or multiple thereof), Sound and Video.

CPU emulation creates the sound as it goes - sound and CPU must be synchronised for a smooth experience, so during emulation of the CPU you sample the sound system at regular intervals and build a buffer which is piped out through your sound hardware. When you're sampling at 44.khz (or higher) then you're going to be using a lot of CPU time just getting your sample, so you can try tricks like sampling less frequently to reduce CPU overhead and output at a lower frequency. Older emulators did this a lot, 22050Hz, 11250Hz etc.

In my case, the CPU emulation is pretty processor-light, so I can get away with a high sampling frequency.

The bottleneck for me is the video. I simulate the CRT as well as the actual interpreted display, and this is much slower than the cpu emulation. To this end, I drop frames if necessary to stop the video processing getting in the way of the CPU emulation.

If you don't drop frames, then the sound will stutter because the CPU emulation isn't getting enough time to itself. The effect on the video side of things will be the same as frameskipping - you might get 15fps, but the sound will stutter. If you drop frames, then you get 15fps but with smooth sound.

But that's because the video processing in my emulator is the bottleneck. In a DS emulator, where the 3D stuff may well be handled in hardware and 2D stuff may also be handled similarly, the video might not be the main user of your CPU time. If emulation of the CPUs in the DS is too slow, you'll not get enough time to process 50 frames per second of CPU emulation. You might get 15fps. But the sound will stutter, because the cpu is the bottleneck, and not the video.

Dropping frames will not help.

So your game/app/whatever on the PC that runs at 4fps with smooth sound isn't having the same problem that the DS emulator is - your game can't get the graphics out fast enough, so drops frames to keep the game running smoothly. The DS emulator can't emulate the CPU (and thus the sound) fast enough, so you get a low framerate and stuttering sound. The low framerate comes from the fact that those frames are not getting built by the CPU emulation quickly enough to be sent on to the video processing code.

That was probably clear as mud, mind.

D.
 
I can't tell if you were being serious, D, but you made the same points everyone else has:
a native game running at a low FPS will have fine sound, an emulator running at low FPS will be running the sound slowly too, and it will sound glitchy. You can see this in some of the Shadow of the Colossus hack videos where the PS2 emulator lags and the music winds down when a colossus appears on screen.

We should keep repeating this point, and the fact that CPU emulation is tremendously more of a bottleneck than GPU emulation, and hope that eventually they give up on thinking about a DS emu.
 
lulzfish said:
I can't tell if you were being serious, D, but you made the same points everyone else has

I was serious, in that while everyone else has had a go (and failed) at explaining it to Borgqueenx - though the fault most certainly doesn't lie with anyone who explained it to him - so I thought I'd have a go and see if it might sink in. Can't hurt :)

Anyone else fancy having a go?

D.
 
Last edited by a moderator:
puppydee said:
DS games are best played on the DS. I can't see it being much fun on the Pandora with one screen.


I agree that it would be preferred to play it on a DS. But truthfully, I'm not a big fan of the double screen. Most games usually have a main screen and a secondary screen. So if a comfortable compromise could be made, the convenience (hypothetically) a ds emulator for Pand offers would be a much better solution then carrying two handhelds.

When I have some time, I'll put together some samples of different ways it could work. I'm pretty sure it would work out okay, but to satisfy my own curiosity, I'll set it up and share.
 
Last edited by a moderator:
how bout you create your own ds emu first? forget porting, start from scratch made just for panda, then come explain to us why it wont work
 
Phawx said:
When I have some time, I'll put together some samples of different ways it could work. I'm pretty sure it would work out okay, but to satisfy my own curiosity, I'll set it up and share.
We've been over this before. Sorting out the dual displays is easy. Coding a functional NDS emulator is hard. Anyone capable of the latter will have no problem with the former.
 
Last edited by a moderator:
Back
Top