News: 11 March 2016 - Forum Rules

Author Topic: PSP hacking basics  (Read 12444 times)

KaOSoFt

  • Jr. Member
  • **
  • Posts: 18
    • View Profile
PSP hacking basics
« on: November 20, 2012, 04:18:17 pm »
Hello there.

I recently got news that one of my favorite games not only had a DS remake, but it also just recently had a PSP remake (improved upon the DS version). I’m talking about Super Robot Wars Original Generation Saga Masoukishin I – The Lord of Elemental. The original SNES version was my first SRW game. I played it through even without knowing Japanese (I still don’t). I just love it. No other SRW did that for me. I just finished GBA OGs, though, but that was because they were in English. Oh, well...

First and foremost, I’m a total beginner at this. I may have some basic notions about ROM hacking from tutorials online (including those here) and from people some years back, but I have never actually worked on it.

Now, back on topic, while most graphics were easy to find for the DS version, between 02567800 and 025FBD48 in the d_sys.bin file, according to Crystal Tile 2 NDS filesystem browser, for the PSP version it’s been impossible to find anything at all in its USRDIR\SYS.BIN, or in any of the other files, for that matter. Oh, yeah, aside from the “d_”, both ports seem to have the same file structure and names.

For the DS version, in Tile Molester you can just choose (1-dimensional, by the way) the 4bpp linear, reverse-order Codec, play a little bit with Increase/Decrease Width and Byte Back/Forward options to your desire, and in Crystal Tile 2 just GBA 4bpp and its Ctrl/Alt + Left/Right shortcuts to do the same.

Anyways, I just really want someone more knowledgeable to clarify, for example, things about PSP treatment to ISOs and the like. For instance, I don’t know if they are created encrypted or what. I’m not talking about game specific encryption/compression, which should probably come later, but in general. Just started touching those UMDGen tools and similar. Also, if someone who has worked on PSP hacking before, has any tips for basic graphics research, like “try 2-dimensional”, or “try the composite mode and byte back until it works”, something like that. Or something like “Oh, try the EBOOT.BIN file, after you decrypt it, of course.”.

I come to you since there is little to zero help in the Documents section, but I’ve heard of some projects around, which means that someone can perhaps point us in the right direction.

Thanks in advance for your support, and keep it up!
To be human is to know the fear of death, yet keep on fighting.

FAST6191

  • Hero Member
  • *****
  • Posts: 3345
    • View Profile
Re: PSP hacking basics
« Reply #1 on: November 20, 2012, 05:31:44 pm »
I have seen references to home consoles and more in DS games over the course of things but I must admit I have never really compared dual platform PSP and DS games before. If indeed the names and structures hold between platforms you find yourself in an enviable position as far as hacking a relatively unhacked console goes. You are also at a disadvantage as there is not a hacker grade emulator for or indeed much of any emulation of the PSP although there also ways to debug things in the consumer model hardware, that said the last few months have been interesting so you might find something you can use to help you a bit.

Much like the DS the PSP has a file system and a general layout it follows. UMDgen is probably the main tool to parse said filesystem and rebuild it (it also features nice options like relinking which the DS does not have at all unless you do it yourself with a hex editor). That said other than eboot.bin being the thing that houses the binary (much like everything else it has no problem with sticking text, graphics and more inside it)

After this....
I can't say I have pulled apart half as many PSP games as I have DS, GBA or even 360 but what I have seen pretty much goes as follows

The PSP is capable of handling proper file formats- on occasion I have pulled out straight up image formats as I might export from GIMP or something.
Other times I get to try to decode things as I might pull from the graphics buffers or indeed that mixed in with a bit of full on format fun (said would be graphics buffers interleaved with per "tile" headers and such). Crystaltile2 probably will not cut it but this is why we have things like http://code.google.com/p/tiledggd/ , I can not promise that will work well though.

Encryption- there have been instances of something resembling per file encryption to the point where it is actually something worth considering (PC and modern consoles aside it is very much the exception elsewhere assuming you do not try to be cute and say tables are just a Caesar cipher). Later games would also want their eboot files decrypted (indeed it was another instance of the hardware doing the deed), I am not quite sure how this factors into ROM hacking though when it comes to PSP games of different vintages and the existing tools. The PSP was blown open as a result of some of the findings of the PS3 hacks (Sony left the keys to the kingdom in every PS3) so that should not be a problem in the long run.
Compression much like files in general can be a general format (usually not zip but something like LZO and other "uncommon but still supported in winrar/7zip" formats) right through to the truly custom nastiness many hackers dread having to deal with even if they relish the challenge, I am afraid my knowledge of the PSP internals is rather limited and along the same lines I know of nothing similar to say http://nocash.emubase.de/gbatek.htm but for the PSP, to that end I can not help you out with any knowledge of BIOS/firmware functions or SDK compression functions. http://skybladecloud.wordpress.com/miscellany-2/tales-of-destiny-2-psp-compression-system/ might be of interest though.

Probably mainly for others reading- the official sound format is a kind of minor tweak on the atrac format from what I have seen (similar to the 360 being very much related to WMA) but not so many games use it. Video wise it is a mix, it does support rad video/bink ( http://www.radgametools.com/binksdk.htm ) and it is used often enough unlike the DS. CRI middleware's ADX/ADH audio format and supposedly a handful of their other formats for the videos, containers and whatnot also made an appearance - http://www.cri-mw.com/product/adoption/platform/psp.html

I am mainly coming up with different ways of saying "I do not know a lot about PSP ROM hacking and there has not been a lot of work done on the PSP in general*" now so I will end it here for the moment.

* http://akatranslations.wikispaces.com/PSP+Translations seems to be half nice even if most are not quite what people would recognise as traditional translations.

Pokeytax

  • Jr. Member
  • **
  • Posts: 56
    • View Profile
    • Cavespeak
Re: PSP hacking basics
« Reply #2 on: April 10, 2013, 11:10:04 pm »
Bumping this topic because I'm looking at translating PSP games.  Is there any reasonable emulator or documentation yet?  I've been spoiled working on older systems, and I can't find hardly anything.  Is it just a tough console to hack?

Subevil

  • Jr. Member
  • **
  • Posts: 3
    • View Profile
Re: PSP hacking basics
« Reply #3 on: April 18, 2013, 07:20:13 pm »
Bumping this topic because I'm looking at translating PSP games.  Is there any reasonable emulator or documentation yet?  I've been spoiled working on older systems, and I can't find hardly anything.  Is it just a tough console to hack?

From my experience, JPCSP is currently the most compatible PSP emulator out there. Don't expect to play games at full speed unless your PC is top notch. Some games will need SonicStage installed on your PC for cutscenes to play properly. It has debug tools, too.

PPSSPP is another really good PSP emulator. Not as good compatibility with games as JPCSP, but I usually get better FPS when it does work. I believe it is the younger of the two, so given enough time this one may surpass JPCSP.

I'm not sure of any other maintained PSP emulators.

You can find some tools for working on PSP games out there if you search. http://www.alucard.cc/ has some. You might find more if you search enough. Not sure on the documentation. You won't find as much as you would for the NDS, for example. The PSP translation scene just isn't as big.