Pandora Pandora-psp


maxz said:
Seems to me like it's not even theoretically possible to emulate the psp on the pandora, because that system is just way way too advanced, so when I saw this thread I was like "that's totally insane"
Why not?
Dynamic recompilation can turn anything into anything basically, so if the host platform is faster than the client platform, emulation is possible in theory.
 
Last edited by a moderator:
maxz said:
Seems to me like it's not even theoretically possible to emulate the psp on the pandora, because that system is just way way too advanced, so when I saw this thread I was like "that's totally insane"
As I understand it, PSP code makes a lot of high level calls. Like how OpenGL works: a few calls in the program itself converts to a lot of work by the library to produce 3D objects. If you can figure out what these PSP library calls are, you can implement them as functions on ARM, and everything runs about as fast as original. You still need a proper CPU emulator (or recompiler) to handle the ifs and whiles and memory and stuff, but when most of the CPU time is spent inside these library calls, those memory manipulation parts are of little consequence.
 
Last edited by a moderator:
dflemstr said:
Why not?
Dynamic recompilation can turn anything into anything basically, so if the host platform is faster than the client platform, emulation is possible in theory.
And in the real World you even have troublethe Pandora to run for Example DosBox at neraly acceptable Speed. ;) So if old Dos-Games are that hard to emulate, how in the World should be such a complex thing like a PSP work onto the Pandora? Dynarec is AFAIK not a magic thing.
I think it will be hard enough to make a Full Speed PSX Emulator for the Pandora, maybe even SNES Emulation will be not so easy to do, same for NDS etc... It's often good playable at the end but often with Frameskip, low-Sound Quality and/or high Overclocking. ;)
 
Last edited by a moderator:
fusion_power said:
dflemstr said:
Why not?
Dynamic recompilation can turn anything into anything basically, so if the host platform is faster than the client platform, emulation is possible in theory.
And in the real World you even have troublethe Pandora to run for Example DosBox at neraly acceptable Speed. ;) So if old Dos-Games are that hard to emulate, how in the World should be such a complex thing like a PSP work onto the Pandora? Dynarec is AFAIK not a magic thing.
I think it will be hard enough to make a Full Speed PSX Emulator for the Pandora, maybe even SNES Emulation will be not so easy to do, same for NDS etc... It's often good playable at the end but often with Frameskip, low-Sound Quality and/or high Overclocking. ;)
If I've understood correctly, this is because PSP uses a lot of high-level calls, which you can implement in native ARM. DosBox has to emulate on a much lower level, which causes overhead. Think of it this way: a person is interpreting commands from one language to another. If the interpreter has no idea what the person giving commands wants the other guy to do, he has to tell the procedure in very small steps he understands himself (eg. walk there, pick that up, put it there). On the other hand, if the interpreter and the guy doing the work understand the procedure, the interpreter can just say "pile those boxes". This is a lot faster. This is how I've understood it. Roughly.
 
Last edited by a moderator:
fusion_power said:
dflemstr said:
Why not?
Dynamic recompilation can turn anything into anything basically, so if the host platform is faster than the client platform, emulation is possible in theory.
And in the real World you even have troublethe Pandora to run for Example DosBox at neraly acceptable Speed. ;) So if old Dos-Games are that hard to emulate, how in the World should be such a complex thing like a PSP work onto the Pandora? Dynarec is AFAIK not a magic thing.
I think it will be hard enough to make a Full Speed PSX Emulator for the Pandora, maybe even SNES Emulation will be not so easy to do, same for NDS etc... It's often good playable at the end but often with Frameskip, low-Sound Quality and/or high Overclocking. ;)
What i understand from this thread is that the pandora and psp looks pretty much desame in hardware...
 
Last edited by a moderator:
fusion_power said:
I think it will be hard enough to make a Full Speed PSX Emulator for the Pandora, maybe even SNES Emulation will be not so easy to do
Search is your friend. We've already got full speed PSX and SNES emulators. With significant amounts of CPU to spare.
 
Last edited by a moderator:
Wrong. They have similar hardware (both have ARM chips), but that doesn't make things any easier. You still have to write a full dynarec. What makes it easier is that most PSP games use higher-level calls. These can be rewritten for the dynarec on a much higher level, and allows for better optimization on the part of the programmer.

EDIT: My bad. All the misinformation floating around has gotten to me...
 
chaka chaka pata pon!

nah nah naaah nah nah naah na na na naaaah!!

Oh yea! Can't Waite for that :ph34r:
 
JayFoxRox said:
Surprise!
- Fox is back in the town to inform you about the current state of Pandora-PSP

So what happened in this long time?
To be honest, not much, its been a warm summer so I didn't want to waste to much time infront of my computer ;)

But there are still come cool things which happened since April / June when I posted last. The most important thing is probably that I got a new computer!
Its A LOT more powerful than my last one (Pandora-PSP runs more than 30x faster if I go by the instructions processed per second). This helps while testing previously untested PSP applications because I don't have to wait so long if an application waits using a loop (which took a loooooootttttttt longer than on a real PSP) to get to a part where graphics are rendered.
The newer PowerVR SDK is also pretty cool because you can step frame by frame - I still have to find use for that but I'm sure that it will come in handy one day :p

The disadvantage of the new PC is that it is 64 Bit so I had to apply some dirty patches to get Pandora-PSP to compile. However, the main problem right now is that the new PC is missing Serial and LPT port. No serial = No BeagleBoard connection! But I'm expecting my adapter for this to arrive on tuesday or wednesday as I already ordered one.

During the last weeks I also tried to recover my PSP Slim and had it working once - it seems to be not working anymore right now tho. I will have to look deeper into that issue in a few days I think.
I downgraded my other PSP to 1.50 again because there was just too much old homebrew which didn't work anymore with the newer firmwares which I already got working partly in the emulator. So now I have something to compare again.

The Pandora-PSP source itself wasn't touched much anyway. The major change I did today was a network interface. I wrote a small code which translates addresses to C source code lines using psp-addr2line (I still have to merge the code, so right now this is REALLY DIRTY using popen()) and sends this to my own "text-editor" / debugger which shows the C source code and highlights the line of the current instruction.
I know that this is not a really nice way of doing this, but its certainly better than putting more and more hacks into the Pandora-PSP source code.
The main reason for doing it this way is that I can easily add new features using a RAD (Rapid application development) language and to clean up the Pandora-PSP source code.
The current Pandora-PSP code includes a text renderer for example so it can output register values. Then there is the texture viewer and parts of a mesh viewer and ...
So I try to get rid of that code by using the external Debugger which only gets values via network and displays them in a much nicer way on a standard form.

I also started to add more TODO points to the Pandora-PSP source code to split different parts into plugins to make the code even smaller and easier to maintain.

Plan for the next days is to improve the debugger and then getting zlib and libpng to work by debugging the stuff using the new debugger.
A small video (also got a new webcam :) ) in which I describe the debugging process will probably follow once the debugger is more stable.

Thats it for now I think.
Update of the homepage should also follow soon (but don't hold your breath :p )

Hey JFox, do you have a Paypal account that we could make donations to? I'm sure there are many of us that would like to make a donation to thank you for your fine, fine work.....

Do you expect the emu to work at a playable speed with sound?
 
Last edited by a moderator:
JayFoxRox said:
The disadvantage of the new PC is that it is 64 Bit so I had to apply some dirty patches to get Pandora-PSP to compile. However, the main problem right now is that the new PC is missing Serial and LPT port. No serial = No BeagleBoard connection! But I'm expecting my adapter for this to arrive on tuesday or wednesday as I already ordered one.
Yeah, I ran into the same thing with mupen64plus, I had to fix all the places where I assumed pointers were 4 bytes, and also had to change all the instructions that used absolute addresses to use rip+offset.

I'm really curious to hear what kind of performance you are getting with this on the BeagleBoard.
 
Last edited by a moderator:
I never for a second thought anyone would be trying a PSP emulator for Pandora. Glad this thread proved me wrong! I was doing some lua stuff on my PSP a while ago, but since work got heavy I had to stop. Would be neat if I could bring those with me instead of having to take my PSP along for the ride just for that. Awesome, awesome.
 
-Tj- said:
I never for a second thought anyone would be trying a PSP emulator for Pandora. Glad this thread proved me wrong! I was doing some lua stuff on my PSP a while ago, but since work got heavy I had to stop. Would be neat if I could bring those with me instead of having to take my PSP along for the ride just for that. Awesome, awesome.
I'm pretty sure the Pandora will have a LUA Player port eventually. No need to run them through a PSP emulator.
Unless you're talking about some other lua entirely.
 
Last edited by a moderator:
jonlad1 said:
Hey JFox, do you have a Paypal account that we could make donations to? I'm sure there are many of us that would like to make a donation to thank you for your fine, fine work.....

Do you expect the emu to work at a playable speed with sound?

Yes, I have paypal, contact me if you want to donate.
However, I don't see any point in accepting donations yet. Remember that donating (money) is not supporting the project directly and so far you got nothing from this except for some small bits of information etc.
I already start "scam" discussions coming up ;)
You can still donate though, but think about it twice before doing so.
I will probably set up a list of items which would possibly aid development (some games are on top of that list, a new mini-usb cable (I need at least 2 of those (PC / PSP, PC / BeagleBoard), but I only have one), an active USB
hub, usb to network adapter, new SD card dedicated to the BeagleBoard oh, and mabye a domain?).
Ofcourse it would be good if people could just sent me their old hardware which they don't need anymore which is on the list or if they would support by helping in general.

But don't even try to bribe me :p
I won't get XYZ running only because you gave me 5 euro.
For now free, open source homebrew has priority.

Sound had to be removed for now because the OpenAL library doesn't seem to work on my new computer for some strange reason. But audio worked a VERY TINY BIT before and will be re-added once OpenAL is working again.
One thing which won't be happening in the near future is Atrac3 though (If you can find some open-source code for an Atrac3 PSP Music player message me and I'll see what I can do).
Ari64 said:
JayFoxRox said:
The disadvantage of the new PC is that it is 64 Bit so I had to apply some dirty patches to get Pandora-PSP to compile. However, the main problem right now is that the new PC is missing Serial and LPT port. No serial = No BeagleBoard connection! But I'm expecting my adapter for this to arrive on tuesday or wednesday as I already ordered one.
Yeah, I ran into the same thing with mupen64plus, I had to fix all the places where I assumed pointers were 4 bytes, and also had to change all the instructions that used absolute addresses to use rip+offset.

I'm really curious to hear what kind of performance you are getting with this on the BeagleBoard.

The thing is that I still have to compile it for 32 Bit because the OpenGL ES emulator by PVR is not 64 Bit compatible (I read you will use an OpenGL Wrapper?). unfortunately the gcc which comes with Arch Linux can't cross compile to 32 Bit so I had to use an older gcc-multilib binary I found.
The actual problem was that I found out about the OpenGL ES issue (no 64 Bit version) when I already changed the datatypes in most parts of the emulator to fix 64 Bit issues I came across ;)
Another thing which stopped working is "the Library" - However, I don't really care about that anymore anyway because of the new debugger I mentioned in my previous post
I just had a short look at your thread by the way and it is really impressive stuff! Hats off, fingers crossed
 
Last edited by a moderator:
WizardStan said:
I'm pretty sure the Pandora will have a LUA Player port eventually. No need to run them through a PSP emulator.
Unless you're talking about some other lua entirely.
Yup, I'm looking forward to that. :D But it would be nice to have that option, then I could script and test, then give that code to my friends to play on their PSPs. None of them are getting Pandoras, unfortunately.

I'd like to move to something more powerful eventually, C++ or C# perhaps. I'm always stopping and going with my code projects so it's always a pain to port them to a different Lua. I always forget what I was doing lol. I still have to try going from LuaPlayer to PGE Lua. :p
 
Last edited by a moderator:
Back
Top