summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Subv2014-12-19 02:04:54 -0500
committerGravatar Subv2014-12-21 16:38:57 -0500
commit462740278dfcf84b712f4cd615dd69cafa4373ee (patch)
tree7ac72fd2c80869ececdb67e6370e47dbb47b902d /src
parentCFG: Implemented the GetConfigInfoBlk2 function. (diff)
downloadyuzu-462740278dfcf84b712f4cd615dd69cafa4373ee.tar.gz
yuzu-462740278dfcf84b712f4cd615dd69cafa4373ee.tar.xz
yuzu-462740278dfcf84b712f4cd615dd69cafa4373ee.zip
CFG:U: Add some data to the 0x00050005 config block.
Seems to allow some games to boot further, thanks @Normmatt for sharing this information
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/service/cfg_u.cpp17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/core/hle/service/cfg_u.cpp b/src/core/hle/service/cfg_u.cpp
index e6c9ce1fa..771575e29 100644
--- a/src/core/hle/service/cfg_u.cpp
+++ b/src/core/hle/service/cfg_u.cpp
@@ -16,7 +16,13 @@ namespace CFG_U {
16static std::unique_ptr<FileSys::Archive_SystemSaveData> cfg_system_save_data; 16static std::unique_ptr<FileSys::Archive_SystemSaveData> cfg_system_save_data;
17static const u64 CFG_SAVE_ID = 0x00010017; 17static const u64 CFG_SAVE_ID = 0x00010017;
18static const u64 CONSOLE_UNIQUE_ID = 0xDEADC0DE; 18static const u64 CONSOLE_UNIQUE_ID = 0xDEADC0DE;
19static const char CONSOLE_USERNAME[0x1C] = "THIS IS CITRAAAAAAAAAAAAAA"; 19
20/// TODO(Subv): Find out what this actually is
21/// Thanks Normmatt for providing this information
22static const u8 STEREO_CAMERA_SETTINGS[32] = {
23 0x00, 0x00, 0x78, 0x42, 0x00, 0x80, 0x90, 0x43, 0x9A, 0x99, 0x99, 0x42, 0xEC, 0x51, 0x38, 0x42,
24 0x00, 0x00, 0x20, 0x41, 0x00, 0x00, 0xA0, 0x40, 0xEC, 0x51, 0x5E, 0x42, 0x5C, 0x8F, 0xAC, 0x41
25};
20 26
21enum SystemModel { 27enum SystemModel {
22 NINTENDO_3DS, 28 NINTENDO_3DS,
@@ -288,9 +294,9 @@ Interface::Interface() {
288 // Console-unique ID 294 // Console-unique ID
289 config.block_entries[0] = { 0x00090001, offset, 0x8, 0xE }; 295 config.block_entries[0] = { 0x00090001, offset, 0x8, 0xE };
290 offset += 0x8; 296 offset += 0x8;
291 // Username 297 // Stereo Camera Settings?
292 config.block_entries[1] = { 0x000A0000, offset, 0x1C, 0xE }; 298 config.block_entries[1] = { 0x00050005, offset, 0x20, 0xE };
293 offset += 0x1C; 299 offset += 0x20;
294 // System Model (Nintendo 3DS XL) 300 // System Model (Nintendo 3DS XL)
295 config.block_entries[2] = { 0x000F0004, NINTENDO_3DS_XL, 0x4, 0x8 }; 301 config.block_entries[2] = { 0x000F0004, NINTENDO_3DS_XL, 0x4, 0x8 };
296 302
@@ -299,8 +305,7 @@ Interface::Interface() {
299 // Write the data itself 305 // Write the data itself
300 file->Write(config.block_entries[0].offset_or_data, 0x8, 1, 306 file->Write(config.block_entries[0].offset_or_data, 0x8, 1,
301 reinterpret_cast<u8 const*>(&CONSOLE_UNIQUE_ID)); 307 reinterpret_cast<u8 const*>(&CONSOLE_UNIQUE_ID));
302 file->Write(config.block_entries[1].offset_or_data, 0x1C, 1, 308 file->Write(config.block_entries[1].offset_or_data, 0x20, 1, STEREO_CAMERA_SETTINGS);
303 reinterpret_cast<u8 const*>(CONSOLE_USERNAME));
304} 309}
305 310
306Interface::~Interface() { 311Interface::~Interface() {