Pandora What would you like to see on the Pandora?


So you're testing the .Pnd in a virtual Pandora? Fair enough. ;)
Thank you for understanding! :DD


Its actually a pretty cool concept.. Dev's could make good use of it! (Not messing up there real pandora's)

Also, i have a question.. I cant seem to find any sort of task manager in my virtual system.. Like for example in windows its Ctrl+Alt+Delete.... Is there even one for pandora?
 
There are plently for linux, so someone must have ported one...


Try finding a virtual terminal of sorts (maybe pressing Ctrl-Alt-F1-6) and tryping 'Top' [enter]
 
No problem, and in case nobody said it yet, Epic way to enter the forums - porting an emu for the bestselling console ever. :eek:
 
Well, for the sake of time saving I started with a program called DesMuMe Running Nintendogs (Love the game)... (i found it to be the most stable of any PC Emu)

It's also the only with source available so your only option. But it's pretty slow.


It still isn't very clear to me how you're testing your Pandora build. Is it in qemu? Are your performance numbers for this or running the PC version?

Then i ported it to .Pnd... From there i just descided to try and work down the power required by the system... I also found that by matching the Refreshrate with the screen rate -1 it gave me an enormous performance boost... (why im not sure..)

What does that mean? Setting the screen refresh rate to 60Hz? Non-60Hz can cause a lot of slow down if you have wait for vsync enabled.

Then i changed the audio encoder (Takes about 400mhz just for audio) And changed it down to only 8bit-22150Hz sound quality.. which brought the usage down to only about 170Mhz from 400Mhz...

It's hard to tell what kind of performance improvements you're talking about when you speak in terms of MHz because this is relative: if you go from needing 200MHz to 190MHz this isn't the same as going from 20MHz to 10MHz. You should talk about absolute time, how many ms a rendered frame takes before and after changes. And of course, what you're actually running this on.

I still need to optimize the video to only use open Gl instead of running it throught the cpu.. (A Overclock for the 3D acceleration soon)..

You can't overclock the 3D on Pandora.


You're going to find a lot of problems with porting the OpenGL code. It needs OpenGL 2 to work best (is still much less compatible than the software renderer though), but it still uses immediate mode primitives not available in OpenGL ES 2. So you have to convert it to triangle lists. But there will be a lot of overhead due to state changes that can happen cheaply in DS display lists, like changing texture and format.


Furthermore, there are some features the renderer needs that are plain not available in OpenGL ES 2 on Pandora, like loading and storing the depth buffer. So expect even more compatibility problems.


What's really going to get you performance-wise is that the renderer needs to grab the 3D framebuffer so it can combine it with the rest of the video subsystem. This is slow, even with texture streaming extensions, and desmume doesn't do anything to try to schedule this so it can happen asynchronously with anything.

Which then should get me within a 10% Performance margin of being just right..

If by 10% you mean the emulator running at 1/10th the speed it's supposed to. Since you say "just right" I think you mean more 90% realtime speed, and all I can say is: keep dreaming.
 
No problem, and in case nobody said it yet, Epic way to enter the forums - porting an emu for the bestselling console ever. :eek:

Its been done already. notaz did it to get people to stop asking.
 
I know!


How much effort would be needed to make it 5x faster? Is it even possible?
 
I know!


How much effort would be needed to make it 5x faster? Is it even possible?

lollzz


.. no, it's probably not possible for someone to optimize desmume into being 5x faster on Pandora. Not without rewriting a huge amount of it, and even then..
 
So, to clear up some of the questions...


The only way to get a almost usable performance (as of now) is to change the refresh rate to 29.. Then disable V-sync, THe differerance is about 3.7 Frames per second.. (Quite a large sum imo..) But ive got an issue with the decoding of video and audio with the cpu since it must use some other achitecture non x64... ill have to also rewrite the packages/librarys to make use of such a small L1 and L2 Cache (If it has a L2).. Much resurche to be done!
 
And as a update.. .A 5x performance increaase... well, it would go from about 4.6x5= about 23fps.. (Very playable).. Most likely the next step is a complete rewrite of the 2D/3D rendering along wiht audio drivers... (about another 200 hours of work xD)
 
If the audio drivers are being a serious CPU hog, you might want to consider using the DSP, especially as German pandoras have double ram.


(I think the DSP does work, its just that very little software actually uses it, so it is disabled on most pandora setups)
 
Talking about differences in terms of FPS is meaningless too. If you make a code improvement that saves 2ms per frame you'd go from 200FPS to 333FPS, or you'd go from 1FPS to 1.002FPS. See how much of a difference the same change makes? It depends on how fast everything else is.


I don't know what inspired you to set the refresh rate to 29, since the DS has a refresh rate of a little under 60Hz and the 3D engine runs at 60FPS. That is, unless you're hard specifying frameskip to 1.


Talking about rewriting things to be more cache friendly or faster in general is great but I suggest you come up with tangible design ideas before getting anyone's hopes up. All that said, you'll probably never achieve much speed in a majority of games so long as you're using an interpretive CPU emulator. And to give you an idea of the workload, the work I did on the NEON GPU renderer PCSX-reARMed is using probably exceeds 200 hours. That's a much simpler 3D core than what's in DS and doesn't include the 2D core. If you only write something in C it won't take nearly as much time hand optimizing, but you'll never get something nearly as fast. Of course this doesn't apply to an OpenGL ES 2 renderer, but then you run into all those other problems I mentioned.

If the audio drivers are being a serious CPU hog, you might want to consider using the DSP, especially as German pandoras have double ram.


(I think the DSP does work, its just that very little software actually uses it, so it is disabled on most pandora setups)

A half competent DS audio emulation running on the CPU doesn't take that much time, it's simpler than PS1's for instance. If you're going to use the DSP you're much better off trying to port some of the graphics workload there, like one or both of the 2D engines or the screen post-processing.
 
Last edited by a moderator:
What I would like to see in the next pandora (or even this one?) is a docking station. The purpose of the docking station is to keep it attached to a TV. Play a game on the go, get home, drop it in the docking station and continue the game on your TV. Some cool things to put on the docking station would be:

  • Recharge (obviously)
  • HDMI
  • USB Hub
  • Controllers (USB? Wireless?)
  • Ethernet Port
  • Laptop Hard Drive slot, or more SD Card Slots
 
What I would like to see in the next pandora (or even this one?) is a docking station. The purpose of the docking station is to keep it attached to a TV. Play a game on the go, get home, drop it in the docking station and continue the game on your TV. Some cool things to put on the docking station would be:

  • Recharge (obviously)
  • HDMI
  • USB Hub
  • Controllers (USB? Wireless?)
  • Ethernet Port
  • Laptop Hard Drive slot, or more SD Card Slots

For controllers, why not just use iCPs, which use bluetooth.


Also, how about a built-in retrode?


---


@Asaggynoodle I suggest you start another thread detailing progress with the NDS emu :unsure:
 
For controllers, why not just use iCPs, which use bluetooth.


Also, how about a built-in retrode?

While the ICP is good for its intended purpose, I personally don't care for the "shoulder" button placement. It's that way for a good reason, but without a phone there I'd prefer the shoulder buttons to be where they are supposed to be. With a USB hub, the consumer's choice of off-the-shelf USB controllers should work fine.


Again, if there is a USB hub on the dock, you can add a Retrode if you like. The customer wouldn't be forced to pay for the hardware if they weren't going to use it.
 
Last edited by a moderator:
Can the Pandora handle any kind of video out over USB?

To be honest im not 100% sure... But most devices even consoles can be used with a usb to Composite or HDMI etc.. Just requires the right drivers...


&& Also i dont want to get anyones hopes up becuase this DSemu is a big project.. If it fails, i dont want to disapoint anyone! :)
 
*Brain storms**


Id like to see,


-A webcam (That would be sweet!)


-Upgradable battery sizes (9cell, 10cell, 12cell etc)
 
Back
Top