Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add the ability to set the PSID from the configuration #12637

Merged
merged 2 commits into from Sep 12, 2022

Conversation

kigyui
Copy link
Contributor

@kigyui kigyui commented Sep 11, 2022

The SingStar game has DLC songs which are encrypted to the PSID of the system. RPCS3 currently always returns a PSID of 0. This patch allows the PSID to be set in the config file allowing use of games which have content that is tied to a given PSID.
(Ideally it would be settable in the GUI)

@@ -295,7 +295,8 @@ struct cfg_root : cfg::node
cfg::_enum<CellKbMappingType> keyboard_type{ this, "Keyboard Type", CellKbMappingType{0} }; // CELL_KB_MAPPING_101 = US
cfg::_enum<enter_button_assign> enter_button_assignment{ this, "Enter button assignment", enter_button_assign::cross };
cfg::_int<-60*60*24*365*100LL, 60*60*24*365*100LL> console_time_offset{ this, "Console time offset (s)", 0 }; // console time offset, limited to +/-100years

cfg::string console_psid_high{ this, "PSID high", "0x0"};
cfg::string console_psid_low{ this, "PSID low", "0x0"};
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why use string instead of integer?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you have examples of it above.

Copy link
Contributor Author

@kigyui kigyui Sep 11, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just as thought that would make it easier for a gui string box (and so it gets saved as a hex string too rather than getting converted to dec)

Copy link
Contributor

@elad335 elad335 Sep 11, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe but the additional logic for it there is acceptable because the builtin error checking for values and improved usage performance in actual execution (in case the syscall is spammed) are more important.

Copy link
Contributor

@elad335 elad335 Sep 11, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(and so it gets saved as a hex string too rather than getting converted to dec)

Integer settings allow hex values, even negative hex. I think what's missing is default hex saving entry type, but that can be implemented later when GUI for it is implemented.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On second thought it doesn't really matter for GUI either and is a very specific QoL feature for manual config file reading which can be implemented at any time and for other settings as well.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

well that makes it every easier (and i see saving the config file doesn't alter unchanged settings anyway)

@Darkhost1999
Copy link
Contributor

What's this about PSID High and PSID low.
Ps3devwiki just reroutes me to IDPS and then everytime I google it I get information about CID (IDPS, PSID) but nothing about PSID High and PSID low.
I have my PSID and IDPS from my evilnat console but maybe you can explain where the numbers cut off and what makes them high or low.

@kigyui
Copy link
Contributor Author

kigyui commented Sep 11, 2022

What's this about PSID High and PSID low.

PSID is a 32 byte sequence, example from the wiki is "000000010087000B140D4819D4B0685E". The high is the first 16 bytes, the low the second 16 bytes, so in the config file this would be

PSID high: 0x000000010087000B
PSID low: 0x140D4819D4B0685E

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants