PS2bootparam.dat

From PS3 Developer wiki
Jump to navigation Jump to search

PS2 boot param file stored in dev_hdd0/tmp/game/ps2bootparam.dat used to pass settings from GameOS to emulator after unloading LV2.

File layout[edit | edit source]

Name offset size type notes
rtc_epoch 0x00 0x08 u64 time since epoch in seconds (GMT)
target_id 0x08 0x02 u16 Product_Code
toggle_XO 0x0A 0x01 u8 1 - (X enter and O back), 0 - (O enter and X back)
boot_type 0x0B 0x01 u8 known used value 0x00 (hdd install?) / 0x01 / 0x02 / 0x03 ("2P" classic)
ps2_title_id 0x0C unk (at least 0x0A) string SLES50920
_ 0x2C 0x01 u8 _
system_lang 0x2D 0x01 u8 2 digits code from Languages is used (in hex form)
time_zone 0x2E 0x02 u16 sys_time_get_timezone(), offset from GMT in minutes. Used as signed 11 bit value, can be read from ps2 GetOsdConfigParam/SetOsdConfigParam.
summer_time 0x30 0x01 u8 "/setting/dateTime/summerTime", known value 0.
net_device 0x31 0x01 u8 xsettings "/setting/net/device", known value 1 (enabled wifi?)
wlan_ssid 0x32 0x20 string 32 characters
_ 0x52 0x01 u8 always 0 seems to be used as null terminator for wlan_ssid
net_authProto 0x53 0x01 u8 "/setting/net/authProto", known value 7 (wlan encryption type?)
wlan_pass 0x54 0x40 string max 64 bytes
_ 0x94 0x01 u8 always 0 seems to be used as null terminator for wlan_pass
_ 0x98 0x04 unk _
_ 0x9C 0x01 u8 _
_ 0x9E 0x02 u16 _
_ 0xA0 0x04 unk _
_ 0xA4 0x01 u8 _
_ 0xA6 0x02 u16 _
_ 0xA8 0x04 unk _
_ 0xAC 0x01 u8 _
_ 0xAE 0x02 (?) unk _
color_space 0x118 0x02 u16 /setting/display/colorSpace
video_mode 0x11A 0x02 u16 bitfield Using CellVideoOutDisplayMode derived from CellVideoOutDeviceInfo (or'ed in loop for all available modes(max32)).
CELL_VIDEO_OUT_RESOLUTION_480:
  0x0001 = CELL_VIDEO_OUT_ASPECT_4_3 | CELL_VIDEO_OUT_SCAN_MODE_PROGRESSIVE
  0x0002 = CELL_VIDEO_OUT_ASPECT_4_3 | CELL_VIDEO_OUT_SCAN_MODE_INTERLACE
  0x0004 = CELL_VIDEO_OUT_ASPECT_16_9 | CELL_VIDEO_OUT_SCAN_MODE_PROGRESSIVE
  0x0008 = CELL_VIDEO_OUT_ASPECT_16_9 | CELL_VIDEO_OUT_SCAN_MODE_INTERLACE
  
CELL_VIDEO_OUT_RESOLUTION_576:
  0x0010 = CELL_VIDEO_OUT_ASPECT_4_3 | CELL_VIDEO_OUT_SCAN_MODE_PROGRESSIVE
  0x0020 = CELL_VIDEO_OUT_ASPECT_4_3 | CELL_VIDEO_OUT_SCAN_MODE_INTERLACE
  0x0040 = CELL_VIDEO_OUT_ASPECT_16_9 | CELL_VIDEO_OUT_SCAN_MODE_PROGRESSIVE
  0x0080 = CELL_VIDEO_OUT_ASPECT_16_9 | CELL_VIDEO_OUT_SCAN_MODE_INTERLACE
  
CELL_VIDEO_OUT_RESOLUTION_720:
  0x0200 = CELL_VIDEO_OUT_REFRESH_RATE_59_94HZ
  0x1000 = CELL_VIDEO_OUT_REFRESH_RATE_50HZ
  
CELL_VIDEO_OUT_RESOLUTION_1080:
  0x0100 = CELL_VIDEO_OUT_REFRESH_RATE_59_94HZ | CELL_VIDEO_OUT_SCAN_MODE_PROGRESSIVE
  0x0400 = CELL_VIDEO_OUT_REFRESH_RATE_59_94HZ | CELL_VIDEO_OUT_SCAN_MODE_INTERLACE
  0x0800 = CELL_VIDEO_OUT_REFRESH_RATE_50HZ | CELL_VIDEO_OUT_SCAN_MODE_PROGRESSIVE
  0x2000 = CELL_VIDEO_OUT_REFRESH_RATE_50HZ | CELL_VIDEO_OUT_SCAN_MODE_INTERLACE
display_type 0x11C 0x01 u8 CellVideoOutPortType
0x00 = CELL_VIDEO_OUT_PORT_NONE
0x01 = CELL_VIDEO_OUT_PORT_HDMI
0x41 = CELL_VIDEO_OUT_PORT_NETWORK
0x81 = CELL_VIDEO_OUT_PORT_COMPOSITE_S
0x82 = CELL_VIDEO_OUT_PORT_D
0x83 = CELL_VIDEO_OUT_PORT_COMPONENT
0x84 = CELL_VIDEO_OUT_PORT_RGB
0x85 = CELL_VIDEO_OUT_PORT_AVMULTI_SCART
0x86 = CELL_VIDEO_OUT_PORT_DSUB
sound_type 0x11D 0x01 u8
_ 0x11E unk string _
screen_saver_start_time 0x220 0x04 u32 300/600/1200/1800 depending on /setting/display/screenSaver/startTime
net_enable 0x224 0x01 u8 xregistry "/setting/net/enable"
_ 0x225 0x01 u8 xregistry "/setting/net/aoss/aossFlag"
_ 0x226 0x188 unk _
_ 0x246 0x1 u8 _
_ 0x3AF 0x04 unk _
_ 0x3B3 0x04 unk _
_ 0x3B7 0x01 unk _
_ 0x3BB 0x04 unk _
_ 0x3BC 0x04 unk _
_ 0x3C0 0x04 unk _
_ 0x3CC 0x80 unk _
_ 0x44C 0x80 unk _
up_convert 0x4CC 0x01 u8 /setting/game/emuUpConvert
smoothing 0x4CD 0x01 u8 /setting/game/emuSmoothing
rgb_output_range 0x4CE 0x01 u8 /setting/display/rgbOutputRange
_ 0x4D0 0x08 u64 known value 0x800000001000007
_ 0x4D8 0x01 u8 if (vsh::GetReleaseTarget(void) == 6) then 3. else 1
vibration_enable 0x4E0 0x01 u8 /setting/pad/vibrationEnable
auto_power_off 0x4E4 0x04 u32 In seconds. Using value from /setting/system/autoPowerOff x 3600. When /setting/system/autoPowerOffDebug is not zero different value is used. Set to 0 if /setting/system/autoPowerOffEx is 0
pad_auto_power_off 0x4E8 0x01 u8 Using value from /setting/pad/autoPowerOff. When /setting/system/autoPowerOffDebug is not zero value 0xFF is used.

Note: This table for now only cover first 0x4F0 of file, next block are controllers settings.
Current layout of this file is very different than the one above.