PS2bootparam.dat: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
|||
(16 intermediate revisions by 2 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=== | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 7: | Line 6: | ||
! Name !! offset !! size !! type !! notes | ! Name !! offset !! size !! type !! notes | ||
|- | |- | ||
| rtc_epoch || 0x00 || 0x08 || u64 || time since epoch in seconds ( | | 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 21: | 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(), | | 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 || | | 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 || | | 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 55: | 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 || | | 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 || _ | ||
|- | |- | ||
| | | 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 91: | Line 120: | ||
| _ || 0x44C || 0x80 || unk || _ | | _ || 0x44C || 0x80 || unk || _ | ||
|- | |- | ||
| up_convert || 0x4CC || 0x01 || u8 || | | up_convert || 0x4CC || 0x01 || u8 || /setting/game/emuUpConvert | ||
|- | |- | ||
| | | 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 105: | 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}} | {{File Formats}} | ||
<noinclude>[[Category:Main]]</noinclude> | <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.
|