PS2bootparam.dat: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
 
(19 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<big>PS2 boot param file stored in dev_hdd0/tmp/game/ps2bootparam.dat used to pass settings from GameOS to emulator after unloading LV2.  
<big>PS2 boot param file stored in dev_hdd0/tmp/game/ps2bootparam.dat used to pass settings from GameOS to emulator after unloading LV2.
</big>
</big>
===File layout===
===File layout===
Line 6: Line 6:
! Name !! offset !! size !! type !! notes
! Name !! offset !! size !! type !! notes
|-
|-
| rtc_epoch || 0x00 || 0x08 || u64 || time since epoch in seconds (hex)
| rtc_epoch || 0x00 || 0x08 || u64 || time since epoch in seconds (GMT)
|-
|-
| target_id || 0x08 || 0x02 || u16 || [[Product_Code]]
| target_id || 0x08 || 0x02 || u16 || [[Product_Code]]
Line 20: Line 20:
| system_lang || 0x2D || 0x01 || u8 || 2 digits code from  [[Languages]] is used (in hex form)
| system_lang || 0x2D || 0x01 || u8 || 2 digits code from  [[Languages]] is used (in hex form)
|-
|-
| time_zone || 0x2E || 0x02 || u16 || sys_time_get_timezone(), known value 0x3E
| 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
| 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?)
| net_device || 0x31 || 0x01 || u8 || xsettings "/setting/net/device", known value 1 (enabled wifi?)
|-
|-
| wlan_ssid || 0x32 || 0x21 || string || 32 characters + null terminator
| wlan_ssid || 0x32 || 0x20 || string || 32 characters
|-
|-
| _ || 0x52 || 0x01 || u8 || _
| _ || 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?)
| net_authProto || 0x53 || 0x01 || u8 || "/setting/net/authProto", known value 7 (wlan encryption type?)
|-
|-
| wlan_pass || 0x54 || 0x40 || string || 63 + null terminator
| wlan_pass || 0x54 || 0x40 || string || max 64 bytes
|-
|-
| _ || 0x94 || 0x01 || u8 || _
| _ || 0x94 || 0x01 || u8 || always 0 seems to be used as null terminator for wlan_pass
|-
|-
| _ || 0x98 || 0x04 || unk || _
| _ || 0x98 || 0x04 || unk || _
Line 54: Line 54:
| _ || 0xAE || 0x02 (?) || unk || _
| _ || 0xAE || 0x02 (?) || unk || _
|-
|-
| color_space || 0x118 || 0x02 || u16 || _
| color_space || 0x118 || 0x02 || u16 || /setting/display/colorSpace
|-
|-
| video_mode || 0x11A || 0x02 || u16 || max possible value 0x3FFF, known value 0x702
| 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 || _
| 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 || _
| sound_type || 0x11D || 0x01 || u8 ||  
|-
|-
| _ || 0x11E || unk || string || _
| _ || 0x11E || unk || string || _
|-
|-
| _ || 0x220 || 0x04 || u32 || _
| 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"
| net_enable || 0x224 || 0x01 || u8 || xregistry "/setting/net/enable"
Line 90: Line 120:
| _ || 0x44C || 0x80 || unk || _
| _ || 0x44C || 0x80 || unk || _
|-
|-
| up_convert || 0x4CC || 0x01 || u8 || _
| up_convert || 0x4CC || 0x01 || u8 || /setting/game/emuUpConvert
|-
|-
| _ || 0x4CD || 0x01 || u8 || _
| smoothing || 0x4CD || 0x01 || u8 || /setting/game/emuSmoothing
|-
|-
| rgb_output_range || 0x4CE || 0x01 || u8 || _
| rgb_output_range || 0x4CE || 0x01 || u8 || /setting/display/rgbOutputRange
|-
|-
| _ || 0x4D0 || 0x08 || u64 || known value 0x800000001000007
| _ || 0x4D0 || 0x08 || u64 || known value 0x800000001000007
|-
|-
| _ || 0x4D8 || 0x01 || u8 || _
| _ || 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.
|-
|-
| || || || ||
| || || || ||
Line 104: Line 140:
|}
|}
Note: This table for now only cover first 0x4F0 of file, next block are controllers settings.
Note: This table for now only cover first 0x4F0 of file, next block are controllers settings.
<br>Current layout of this file is very different than the one above.
{{File Formats}}
<noinclude>[[Category:Main]]</noinclude>

Latest revision as of 10:51, 4 April 2024

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.