Running executables from the duo stick.

Discuss the development of new homebrew software, tools and libraries.

Moderators: cheriff, TyRaNiD

Post Reply
jason
Posts: 28
Joined: Thu Apr 14, 2005 3:48 am

Running executables from the duo stick.

Post by jason »

I have a question:

I recently heard about the Codewarrior leak, I also saw on these forums that the PSP_gcc-1.3.1.tgz (for linux) kit is included in the Codewarror package. Using this kit one could compile code for the PSP architecture (it's nothing but a cross compiler after all) everything (from what I saw on an irc channel, as I do not own the Codewarrior package) is included in the gcc cross compiler, gcc, as, ld etc (libraries from the Sony SDK kit, i.e. to access the soundcard or to do GFX are probably missing, but simple programs can be compiled just fine.)

One question remains, assuming one could produce code that would work just fine on the PSP, dropping the binary on the memory stick is not enough, some people tried and it's not working, is there a need to populate the memstick.ind file? or any other trick that would make the PSP see the binary as a 'game' and allow it to run?

I have another question, I do not have windows therefore I can not use PBP_unpacker, I would sincerly appreciate if one could make available the files DATA.PSP and DATA.PSAR, so I could take a look at them, thanks a lot!

I also recently heard that DATA.PSP is an executable and DATA.PSAR is a kind of filesystem (or PS ARchive) anyone confirms this and also knows what's the difference between a PSP file and a ELF 32-bit LSB MIPS-II relocatable, MIPS, version 1 (SYSV) executable? And which format is used for the DATA.PSAR file? Is it a tar/cpio/zip/rar like archive or a loopback filesystem?

Thanks for your time.
User avatar
ChaosKnight
Posts: 142
Joined: Thu Apr 14, 2005 2:08 am
Location: Florida, USA

Post by ChaosKnight »

For your platform problem getting files extracted, just download this file http://www.oopo.net/consoledev/files/unpack-pbp-1.0.1.c and compile it on any compiler. It will extract all files from a PBP file just fine. I also have a program with full C# source, so if you are running linux/mac os x you can get Mono and run that which will also build PBP files for you this link is http://www.animezilla.net/pbpexplorer.zip.

As for the cross-compiler being able to make programs, yes this is true, however Sony has a specific API that you need to hook into to make programs (yes, even pro developers have to use this API) and without that we won't know how to make anything run.

I hope that answers some of your questions.
w00t
asmodi
Posts: 52
Joined: Mon Feb 07, 2005 3:39 am
Location: Göteborg/Oslo - Se/No

Post by asmodi »

First, don't talk about the SDK here, it's not legit.

Second, when did we not have a cross compiler for mips r4k? The problem here has nothing to do with the API. The PSP will not run code that isen't encrypted and digital signed. This has been posted before, so I think you should search the forum for a while.
It's not in my nature to be mysterious, but I can't talk about it, and I can't talk about why.
jason
Posts: 28
Joined: Thu Apr 14, 2005 3:48 am

Post by jason »

ChaosKnight wrote:As for the cross-compiler being able to make programs, yes this is true, however Sony has a specific API that you need to hook into to make programs (yes, even pro developers have to use this API) and without that we won't know how to make anything run.
Thanks for the unpacker it works just fine.

I have some questions regarding this API:

Is it safe to assume that binaries for PSP are compiled statically, the disc space (UMD) should be enough to host them, what are the memory consumption constraints?

Is this api just a library to access the GFX, sound, wifi, IR, etc? or is it more like a linker that would create PSP compatible binaries with a different (non ELF or a.out) format? If this API is just used to access different devices (GFX, sound...) we could possibly:
- retreive the library's (API) symbols from any other PSP static file (game or whatever) and link them with our xgcc produced binaries.
- avoid using it in the meantime, and try to do some device discovery work.

Do we know the format of the PSP (as in DATA.PSP) file? Is there a chance that it's encrypted?

Thanks.
jason
Posts: 28
Joined: Thu Apr 14, 2005 3:48 am

Post by jason »

asmodi wrote:First, don't talk about the SDK here, it's not legit.
Talking about the SDK is not illegal, sharing it or using it without a proper license is.
asmodi wrote:The PSP will not run code that isen't encrypted and digital signed.
Oh, that's a show stopper, too bad for me, I guess one would need to mod the PSP then or use a buffer overflow (from a savegame for instance) to run a proprietary binary, placed on the memory stick.

Thanks, anyway.
User avatar
ChaosKnight
Posts: 142
Joined: Thu Apr 14, 2005 2:08 am
Location: Florida, USA

Post by ChaosKnight »

The API is more like an opearting system, if not actually an opearting system. Try running a game and hitting the Home key. Also connecting over WiFi will show OS screens. I think Sony really took a hint from Palm OS when they were making this handheld.
w00t
jason
Posts: 28
Joined: Thu Apr 14, 2005 3:48 am

Post by jason »

ChaosKnight wrote:The API is more like an opearting system, if not actually an opearting system. Try running a game and hitting the Home key. Also connecting over WiFi will show OS screens.
Oh, that's indeed very interesting, however that would imply that the bios is able to play movies or mp3 on its own since no application (or OS) is loaded to play movies/mp3 from the memory stick. Or would the bios load an OS placed in the PSAR archive to play movies/mp3?

Thanks.
User avatar
Neil Stevens
Posts: 79
Joined: Thu Jan 27, 2005 2:22 pm
Location: California
Contact:

Post by Neil Stevens »

jason wrote:Talking about the SDK is not illegal, sharing it or using it without a proper license is.
Talking about using it is against against the rules here, I'm pretty sure:
Any question, asked by any person, is allowed as long as it doesn't involve asking for information about illegal/questionable activities such as modchip development or copyright circumvention.
Basing a project on the leaked tools would be, at best, questionable. Redistribute portions of the Sony libs with it, and you qualify as fully illegal.

Sony would argue that attempting to get the PSP to run code other than that on discs they pressed would be in support of copyright circumvention.
pixel
Posts: 791
Joined: Fri Jan 30, 2004 11:43 pm

Post by pixel »

I fully agree with Neill. I am more than tempted to lock this thread. Hopefully, it'll still continue on the way it is, without mentionning the leaked Codewarrior SDK. People seem to moderate themselves. But I'll carefully watch the discussion over here, and I'll lock it heartlessly jihad-way if any other mention of the codewarrior SDK is made again there.
pixel: A mischievous magical spirit associated with screen displays. The computer industry has frequently borrowed from mythology. Witness the sprites in computer graphics, the demons in artificial intelligence and the trolls in the marketing department.
jason
Posts: 28
Joined: Thu Apr 14, 2005 3:48 am

Post by jason »

Well, you can just forget about the Codewarrior thing, in any case building a cross-compiler is easy and would produce the same results as using the Codewarrior's xgcc, since no extra libs are provided in this package.

Unfortunately, we do not have any way to run signed binaries, unless they are called from an exploit (this is allowed by the DMCA: since it would be used for the sole purpose of writing interoperable software under Sect. 1201 (f) Reverse Engineering exception of the DMCA.) AES-128 being unfortunately very hard to break, even using a distributed.net architecture.
Post Reply