Mystery bit

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

Moderators: cheriff, TyRaNiD

Post Reply
Erant
Posts: 33
Joined: Fri May 13, 2005 6:19 am

Mystery bit

Post by Erant »

Two days ago, I was examining the .prx files on the Ridge Racer UMD, I decided to pack them all in .PBP files, and run them. I came up with the following list:

ifhandle X
videocodec X
audiocodec X
memab 80020148
mpegbase 80020148
openpsid 80020148
pspnet_adhoc_auth X
sc_sascore X
usb X
usbpspcm X

Everything with an X, boots up to the white PSP screen with lots of memstick activity, then kills the PSP. The three remaining ones quit with the 80020148 error. Those were also the only files to not have the byte in the ~PSP file at offset 0x06 set to 01, the rest of those files all had. I decided to try it with the flasher program, and lo and behold, almost the same thing happened. With the only exception that the flasher executable boots through the white PSP screen, and dies after that screen fades (Takes about 15 seconds). After doing some research, I found out that what the bit does is make the PSP ignore almost the entire header in the ~PSP file. The only things it needs are the values at offsets 0x2C (The filesize) and the one at offset 0x58. Changing the one at 0x2C results in the PSP not going past the white screen (Not fading to black), and setting the one at 0x58 to 00 00 00 results in an 800200D9 error. Any other value at 0x58 seems to work, but still make the PSP die after fading to black. I know that the PSP ignores the rest of the values, because resetting the 0x06 byte back to 00 then results in an 80020148 error. So everything up to 0xD3 with the exception of the two aformented offsets, can be zeroed out. My theory, and this is pure guesswork, is that this byte sets what type of executable is used, though I can't provide any solid basis for that.
Live free, prosper, and under my rule.
allthatinny
Posts: 24
Joined: Fri May 06, 2005 5:59 pm

Post by allthatinny »

I tried what you did and someone told me that those files are like dll files you got to have something to excute them.
Grover
Posts: 50
Joined: Wed Feb 23, 2005 3:13 am

Post by Grover »

PRX files appear to be similar in operation to IRX files on PS2. Ie they are separate callable modules that sit in mem (ala dll's).
Bye.
Erant
Posts: 33
Joined: Fri May 13, 2005 6:19 am

Post by Erant »

allthatinny wrote:I tried what you did and someone told me that those files are like dll files you got to have something to excute them.
I know that, but like I said, the same applies to the flasher programs.

Also, .PRX files are roughly the same as .ELF files, just that PRX files are dynamic in memory or something. Both ELF and PRX files can be used as libraries, but also as executables. The flasher program executable is a PRX file.
Live free, prosper, and under my rule.
Post Reply