system.dreg format

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

Moderators: cheriff, TyRaNiD

Post Reply
Sobriquet
Posts: 1
Joined: Sat Sep 24, 2005 8:14 pm

system.dreg format

Post by Sobriquet »

Has anyone else looked into this? Out of curiosity I've dumped my JAP1.50 with defaults settings, the default settings from a US1.50 and my regular settings:
This is all I've found in 30 mins of hacking.

PSP system.dreg format
----------------------------

Blocks of typically 0x200 bytes, containing a header followed by up to x tags of typically 0x20 bytes, Little-endian.
Block-size/number of tags has to be in the header somewhere.

Offset Size Notes

Header:
0x000 2 Blocksize, give or take
0x002 2 ??
0x004 2 Tagsize? (always 0x20?)
0x006 2 ??
0x008 2 Number of tags - 1 (start of free space?)
0x00A 2 Number of tag slots (i.e. deducting strings at the end)
0x00C 2 Number of tags following
0x00E 4 32-bit Checksum of some sort, doesn't appear to be CRC32
0x012 2 ??
0x014-0x20 Blank?

Tags (0x20 bytes each)
0x00 1 0x01 for SUB-SECTION, 0x02 for 32-bit INT, 0x03 for type STRING, 0x04 for ASCII numberstring (password?)
0x01 ? NULL-terminated string tagname
0x1c 4 payload (int)
0x1c 1 payload (string/numberstring) length
0x1d 1 payload (string/numberstring) ??
0x1e 1 payload (string/numberstring) ??
0x1e 1 payload (string/numberstring) offset in block (multiples of 0x20) for actual string (after tags)

e.g. my nickname in 4th block:
0x820 036F776E65725F6E616D650000000000 .owner_name
0x830 0000000000000000000000000700040C

0x800 + (0x0C * 0x20) = 0x980, which is where my "PSP1234" resides

Some tags are present in my JAP defaults and not in the US e.g. "button_assign", "sound_reduction"
0x2000 onwards appears to have 16 font/system setting blocks defined on a per-country basis.

I'm wondering what cool stuff could be hacked:
* Movie resolution unlocking
* Movie region changing
* Proper ability to switch buttons X/O without blatting over the entire thing
* Reset "password" if you forget it

I realise this doesn't make much sense, I might have to write some code to dump it to xml or smth.
mrbrown
Site Admin
Posts: 1537
Joined: Sat Jan 17, 2004 11:24 am

Post by mrbrown »

There is a sceReg API that no one has documented yet (see psplibdoc.xml for a list of function names). That may be a better way to get things in and out of the registry, especially if the registry format changes in future firmware revisions.
Post Reply