Pandora Pandora-psp


'midna25' said:
Umm... Why has someone started a PSP emulator before an n64 one?
From what I understand, the PSP has a firmware layer that lets most games run just slightly above the hardware itself.
By emulating the firmware instead of the direct hardware instructions, the emulator will be considerably faster and easier to write.

The N64 has no such layer, all games are written directly for the hardware, and the hardware is quite tricky to emulate.
 
Last edited by a moderator:
'midna25' said:
Umm... Why has someone started a PSP emulator before an n64 one?
because the psp can run an N64 emulator?

just pretend that instead of developing a PSP emulator, they're developing an N64 emulator by proxy.
 
Last edited by a moderator:
'Gruso' said:
I'm going to go ahead and assume that you're being facetious and/or humourous.
both, but realistic at the same time...

hey, Daedalus isn't exactly the smoothest N64 emulator, but if we can someday get a PSP emu to run 100% with the ability to do homebrew apps, why wouldn't we be able to play Daedalus through that emu?
 
Last edited by a moderator:
'Gruso' said:
I'm going to go ahead and assume that you're being facetious and/or humourous.
I'm going to assume the same thing, especially since Exophases's most recent post would make him look like an idiot for saying that.

-God Ginrai
 
Last edited by a moderator:
'midna25' said:
Umm... Why has someone started a PSP emulator before an n64 one?
For fun ? If you want a n64 emulator that much start working on one ;p
 
Last edited by a moderator:
'midna25' said:
Umm... Why has someone started a PSP emulator before an n64 one?
Perhaps he doesn't like the N64 or doesn't know what it is.. I don't know, but we do know we have a wonderful dev trying to make the PSP on teh Pandora possible... N64 will come, but let the devs do what they want... After all they are doing this out of their free time
 
Last edited by a moderator:
QUOTE
Umm... Why has someone started a PSP emulator before an n64 one?



Just because when a more than fullspeed PSP emulator is released, most n64 games will run at fullspeed on the PSP-N64 emulator.

rofl
 
'Lemdora' said:
'Gruso' said:
I'm going to go ahead and assume that you're being facetious and/or humourous.
both, but realistic at the same time...

hey, Daedalus isn't exactly the smoothest N64 emulator, but if we can someday get a PSP emu to run 100% with the ability to do homebrew apps, why wouldn't we be able to play Daedalus through that emu?

Commercial games use the firmware layer that was mentioned.
Most homebrew goes directly to the hardware.
Commercial games can be emulated this way, most homebrew cannot.
Ergo, this emulator will run commercial games only; most homebrew will probably not run, at least not at any reasonable speed. Especially heavily optimized programs like N64 emulators.
 
Last edited by a moderator:
Something that's confusing me: don't most games launch via their EBOOT.BIN, i.e. encrypted boot? And aren't they encrypted via the KIRK chip, which isn't going to be emulated? I've definitely seen games where the BOOT.BIN, i.e. unencrypted, just doesn't work (I believe I've seen one that's all zeroes before).

So will this just not work with those?

Other than that, I really like the idea of this project, and, if I had more time and wasn't working on my own game already, I'd definitely be willing to put some effort into this, given how much I know about the PSP and MIPS. Maybe I can find some time ;)
 
Last edited by a moderator:
'mcobit' said:
Just because when a more than fullspeed PSP emulator is released, most n64 games will run at fullspeed on the PSP-N64 emulator.
This is absurd on so many levels. Daedalus for the PSP will only run about half a dozen games at what could charitably be considered "playable" speeds. There is no reason to expect that a PSP emulator for the Pandora would run Daedalus at all, let alone better than the PSP itself.

And that's ignoring the thoroughly ridiculous idea of emulating a complex system on top of another complex emulated system. It's a staggeringly inefficient way to do anything.
 
Last edited by a moderator:
'Chip' said:
'mcobit' said:
Just because when a more than fullspeed PSP emulator is released, most n64 games will run at fullspeed on the PSP-N64 emulator.
This is absurd on so many levels. Daedalus for the PSP will only run about half a dozen games at what could charitably be considered "playable" speeds. There is no reason to expect that a PSP emulator for the Pandora would run Daedalus at all, let alone better than the PSP itself.

And that's ignoring the thoroughly ridiculous idea of emulating a complex system on top of another complex emulated system. It's a staggeringly inefficient way to do anything.

Chip... he was joking...
Of course none seriously believes it to be possible emulating two complex systems on top of each other. It's highly ridiculous! :p
 
Last edited by a moderator:
'WizardStan' said:
Most homebrew goes directly to the hardware.
Commercial games can be emulated this way, most homebrew cannot.
Ergo, this emulator will run commercial games only; most homebrew will probably not run, at least not at any reasonable speed.

Where did you get that from? From what I've seen homebrew relies on firmware a lot, I haven't seen anyone accessing Allegrex registers directly (I haven't followed the PSP scene for a while though). Some homebrew runs custom code on ME, but this can be emulated too.
 
Last edited by a moderator:
Ok, again, no big updates on the emulator itself as I was busy collecting information or doing side projects to help the emulator.
The homepage is "ready" now, you can find it at...
CODE
http://jayfoxrox.bplaced.net/pandora-psp/

...right now but that might change in the future. I would have published the link yesterday but bplaced.net has some problems right now (also the reason for the missing news and media - I had them ready at one point, I m going to rewrite these tonight). You can also find the stuff DasFool did for me at the miscellaneous page.
I also spent some time with the tool I talked about earlier (uploading code to PSP for comparision) but thats by far not done yet and I m sure it will take another day or two until its really usable.
And now to answer some questions and to clear some things up which were mentioned in this topic lately:

mcobit: I will call any update "small" if it doesn't come with some great improvement or media behind it - let it be as long as it is ;)

emcp / God Ginrai / sdedalus: no, remoteplay is not on my list at all, reasons were given by arrrgh and Exophase. Its not exactly kernel mode I think (Though, I have to admit that I still have to learn and read alot in that field) but something which is called "vsh" mode. A mix of kernel and usermode (Though, I respect Exophase alot and therefore you better listen to him, he has way more experience than I have). This emulator is not designed to emulate a whole PSP with all chips and / or firmware, but only PSP applications by providing the required environment by implementing the most important system calls. Unless someone documents the whole hardware its very unlikely that we will see the XMB or one of its applications emulated. (Additionaly: sdedalus, what? Sorry, I didn't get that at all :p)

Raz: I don't know what you mean. If you mean wether its supported: yes, TV-Out will be (emulated (to the LCD) and TV-Out via pandora). Wireless controllers for pandora should be supported if they have drivers. I doubt there are any wireless controllers for the PSP itself. But USB emulation is only planned for some high level things like the microphone and the camera.

midna25: Because I started to love the PSP when I saw "Suicide Barbie" and how powerful the hardware is. I always wanted to write an emulator but most hardware was not documented enough. The PSPs software is heavily documented tho and this makes it alot easier to get some basic emulation working. I m not a big fan of the N64 too. The only games I like on there are Zelda and Mario, but thats it. To be honest: the PSP software sucks too, no question: poor firmware, not many good games etc. But there is a huge homebrew scene and a handful of quality games (GTA, Flatout, Echochrome, some Remakes of old games, Tony Hawk games, ..). As you can see: most of these games are 3D, thats why I started from scratch, most emulators out there don't support that yet and from what I can see. this emulator is giving the best graphics support until (atleast its in the code, most games crash before right now - but most features do exist).

lulzfish: I m still emulating the allegrex (this works in good bits, check the updates on the compatibility page in the next days for details) and the second mips (this just started but its only a very small thing for me right now - homebrew which uses only the allegrex are the main target at the moment). The thing is that the PSP uses system functions / system calls while the DS uses registers for example. Finding out the register meanings is alot harder than looking at the import table (Though, I'm sure Exophase will correct me here because I'm probably wrong)

Lemdora: Emulating emulators with this emulator is far away in the future. I have some plans for optimizing my re-assembler but emulators with dynarec (like Daedalus) would be the hardest to re-assemble because code is not static but dynamic. Forget about this for now. As I said before: I think that alot of games could run at playable speed, BUT some games are just not going to happen because they are using the CPU to the limit. The cube sample is running by far too fast for example, other things like Tyranids fire run too slow because its an endless loop, stressing the CPU.

Raz / drkIIRaziel: Well said ;) I respect your (drkIIRaziel) work on the DC emulator by the way. Great stuff. I was also pissed of to see people complaining about the fact that you weren't emulating the N64. The question is: If everybody wants a N64, how comes that no-one doesn't write an emulator yet?

WizardStan: Thats wrong. All the screenshots shown so far are homebrew apps (e.g. compiled using the PSPSDK) which use DMA and system functions. I would talk about hardware access if the games would use their own (cloned) system functions rather than calling those provided by sony. So far, I didn't come accross a single app which didn't work for the reason you mentioned. Its probably not even possible to run such apps on a real PSP due to limited permissions in usermode.

Archaemic: Right, EBOOT.BIN is the encrypted bootfile, BOOT.BIN is the normal - not encrypted - one. However, so far, I didn't come accross any game which came without the BOOT.BIN. But you are right: encrypted modules and boot files are not possible (yet). Thats one of the problems I m starting to fight right now: encrypted prx files that must be loaded for stuff like atrac3 support. That is also very unlikely right now because providing the high-level functions would be useless without a working atrac3 player and using the prx is just not possible for the given reason.

//Edit: Oops, forgot to talk about what I did today - Should be interesting for some people :) Today I made a case for my beagleboard, its not completly done yet but I m sure it will be finished for breakpoint. I might be trying to get the emulator running on it this evening. Screens of the case will be available at the projects news page later, possibly even a video of some PSPSDK samples running if I can get OpenGL ES 2.0 to work.
 
Last edited by a moderator:
its really odd why there is a EBOOT.BIN and a BOOT.BIN file in every umd. Just relink the eboot to the boot.bin or the boot.bin to the eboot.
Doesnt matter, the game will start.
But its good news that the boot.bin is not encrypted...makes your work a bit easier right?
 
Although the ME can be emulated (with the CPU emulated at a low level, that is), I think doing so would be a lot of work for something that will be too slow to be practical on a PSP. Emulating a 222+MHz MIPS32k at full speed on the Pandora's Cortex-A8 (let's say 600MHz) will be, but emulating a second one seems to be pushing your luck too far. Besides, the only programs that use the second core explicitly are ones that aren't that interesting to emulate (like other emulators). As far as I'm aware, games can't utilize it directly. But for homebrew to it must be kernel mode, and homebrew CAN be kernel mode (at least could in 1.5 kernel, newer than that they might have to use kernel PRXs)

I don't have a good idea of the execution profile of a typical PSP game, but I'd be concerned with emulating both VFPU and to a lesser extent FPU, since neither NEON nor VFP are a "good enough" match clock for clock than either, respectively.

Hopefully VRAM can be emulated as-is (can Pandora handle PSP's swizzled texture format using shaders?), because otherwise there'll be overhead in checking if memory accesses go to VRAM. I think it might be possible to map both the cached and uncached regions of RAM and VRAM to the Linux address space so that part would at least be fast.
 
Last edited by a moderator:
In my opinion :

- kernel mode : only some homebrews can do it. Its use isn't really justified most time or at least applications using those mode are probably not justified to be emulated. Not emulating it allows you not to need to emulate hardware registers mapped at 0xBFxxxxxx (only accessible through kernel mode), CP0 registers and instructions.

- emulating the second processor : pointless in so far as official developers only need to use an API on the main cpu to "initiate" actions on ME. Homebrews using it are very few and dealing with ME is too much complicated. I think it doesn't worth while emulating it.
 
Last edited by a moderator:
QUOTE
'mcobit' said:
Just because when a more than fullspeed PSP emulator is released, most n64 games will run at fullspeed on the PSP-N64 emulator.
This is absurd on so many levels. Daedalus for the PSP will only run about half a dozen games at what could charitably be considered "playable" speeds. There is no reason to expect that a PSP emulator for the Pandora would run Daedalus at all, let alone better than the PSP itself.

And that''s ignoring the thoroughly ridiculous idea of emulating a complex system on top of another complex emulated system. It''s a staggeringly inefficient way to do anything.
I'm sorry, I'm from Germany, maybe the irony is not always expressed like i intended. ;)

In other words: It was a joke!

And JayFoxRox: If it sounded like I would complain about the lenght of your text, that is not so. I like this Update because it is a good read and shows some detail!
 
Last edited by a moderator:
Back
Top