SBORPS Random Fact 08

To find out the PSP model your code is running on you can call the function sceKernelGetModel(). People have been using it in homebrew to differentiate between 01g and 02g machines (fat and slim) to determine what their app will do depending on the model the user is running.

However, the sceKernelGetModel function can do a lot more than just determining whether you’re running fat or slim PSP, it can return values for:

C:
  1. 01g – fat PSP
  2. 02g – slim PSP
  3. 03g – 3K PSP
  4. 04g – ??? (an updated 3K model? 4K perhaps?)
  5. 05g – PSP GO
  6. 06g – ???
  7. 07g – ???
  8. 08g – ???
  9.  
  10. /*
  11. sceKernelGetModel() actually returns a value
  12. from 0-7 to represent each model,
  13. 0 being the PSP fat,
  14. 1 being the PSP slim, etc.
  15. all the way upto 7 for the 08g model.
  16. */

That’s three more models after the PSP GO! As well as a 4000 model after 3000.

The fw for 04g models is already out, it’s included with normal fw updaters (6.xx) and can be decrypted using the 3K keys. There’s also code already in the fw supporting 06g and 08g models (which seem to be GO-like models).

So for people thinking the PSP GO was a waste of a update or there wouldn’t be any more updates, prepare for three more models…

6 Responses to “SBORPS Random Fact 08”

  1. Is there anything that uses the ATA drivers? How does the GO’s flash memory work?

  2. silverspring Says:
    November 29th, 2009 at 8:23 pm

    Yes the PSP GO flash memory uses the ATA interface (also the UMD drive used ATA too).

    The GO flash is an emulated HDD, it uses APA partitioning with the PFS filesystem on top (for anyone familiar with ps2dev this is the same partitioning/filesystem as the PS2 HDD, PFS = Playstation FileSystem).

    A FAT filesystem driver runs on top of the emulated HDD to provide file access to the VSH and when you connect via USB to PC.

    In a previous blog post I posted some sysreg NID’s that were added in 2.70 and this is the API the GO flash uses:

    sceSysregAtahddIoEnable
    sceSysregAtahddClkEnable
    sceSysregAtahddBusClockEnable
    sceSysregAtahddResetEnable

    etc.

    Note, this is a seperate ATA interface to the UMD interface in ata.prx (sceAta) which is used for the ATAPI protocol.

  3. That means it can be connected to a desktop IDE harddrive? Or we could cram an iPod HDD in it..

  4. I assume that the newer model revisions we see here are just upgraded packages with a higher capacity HDD?

  5. Why would you assume that? It could be anything, but still binary compatible with existing ones.

  6. I like the ipod hdd idea. A 60Gb psp would be very nice.

Leave a Reply