PSP Firmware

From XentaxWiki
Jump to: navigation, search

Choose archive extension:

PBP


Format Specifications

// ARCHIVE HEADER

char {4}     - Header (null + "PBP")
byte {4}     - Version (0,0,1,0)


// OFFSETS

uint32 {4}   - Offset To Param.sfo
uint32 {4}   - Offset To Icon0.png
uint32 {4}   - Offset To Icon1.pmf
uint32 {4}   - Offset To Pic0.png
uint32 {4}   - Offset To Pic1.png
uint32 {4}   - Offset To Snd0.at3
uint32 {4}   - Offset To Data.psp
uint32 {4}   - Offset To Data.psar


// PARAM.SFO FILE DATA

// SETTINGS HEADER
char {4}   - FSP Header (null + "PSF")
uint32 {4}   - Unknown
uint32 {4}   - Offset To Settings Names Directory [+40]
uint32 {4}   - Offset To Settings File Data [+40]
uint32 {4}   - Number Of Setting Files


// SETTINGS OFFSETS DIRECTORY
// for each settings file
uint16 {2}   - File ID?
uint32 {4}   - File Length? File Offset?
uint16 {2}   - null
uint32 {4}   - File Details Length
uint32 {4}   - File Details Offset (relative to the start of the SETTINGS FILE DETAILS)


// SETTINGS NAMES DIRECTORY
// for each file
char {X}     - Setting Name
byte {1}     - null Setting Name Terminator


// SETTINGS FILE DATA
// for each settings file
byte {X}     - Setting File Data
}


// ICON0.PNG FILE DATA

byte {X}     - PNG Image Data


// ICON1.PMF FILE DATA

byte {X}     - File Data


// PIC0.PNG FILE DATA

byte {X}     - PNG Image Data


// PIC1.PNG FILE DATA

byte {X}     - PNG Image Data


// SND0.AT3 FILE DATA

byte {X}     - File Data


// DATA.PSP FILE DATA

char {4}     - Updater Header (~PSP)
uint32 {4}   - Padding Size? (2048)
byte {1}     - Version Main? (1)
byte {1}     - Version Sub? (1)
byte {28}    - Updater Name (updater) (null to fill)
byte {1}     - Version Main? (1)
byte {1}     - Version Sub? (2)
uint32 {4}   - Pv5 Header ("Pv5" + null)
uint32 {4}   - Unknown
uint32 {4}   - Unknown
uint32 {4}   - Unknown
uint32 {4}   - Unknown
uint32 {4}   - Unknown
uint32 {4}   - null
uint32 {4}   - null
uint32 {4}   - Unknown
uint32 {4}   - null
uint32 {4}   - null
uint32 {4}   - Unknown
uint32 {4}   - Unknown
byte {32}    - null
uint32 {4}   - Number Of 4-Byte Fields


// for each 4-byte field
uint32 {4}   - Unknown


char {4}     - Pv5 Header ("Pv5" + null)
uint32 {4}   - Unknown (128)
byte {24}    - null
byte {X}     - Unknown Data


// DATA.PSAR FILE DATA

char {4}     - PSAR Header (PSAR)
uint32 {4}   - Unknown (3)
uint32 {4}   - File Length? [+32]
uint32 {4}   - Unknown (1)
byte {X}     - PSAR File Data (The actual firmware data)

MultiEx BMS

Not written yet

Supported Programs