mirror of
https://github.com/rvtr/ctr_Repair.git
synced 2025-10-31 13:51:08 -04:00
固体固有データはcfgの初期値を使うように
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@106 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
parent
2a8dae8919
commit
2d5a8a7ba2
@ -24,6 +24,7 @@
|
||||
#include <nn/cfg/CTR/cfg_ApiSys.h>
|
||||
#include <nn/cfg/CTR/detail/cfg_DataStructures.h>
|
||||
#include <nn/cfg/CTR/detail/cfg_Keys.h>
|
||||
#include <nn/cfg/CTR/detail/cfg_Default.h>
|
||||
#include <nn/drivers/aes/CTR/ARM946ES/driverAes_Types.h>
|
||||
#include <nn/crypto/crypto_SwAesCtrContext.h>
|
||||
#include <nn/ac/CTR/private/ac_NetworkSetting.h>
|
||||
@ -1362,38 +1363,59 @@ void ImportPlayHistory()
|
||||
s_ImportThread.Start(ImportPlayHistoryThreadFunc, s_ImportThreadStack);
|
||||
}
|
||||
|
||||
void ExportTouchPanelCfgData()
|
||||
void ExportCalData()
|
||||
{
|
||||
using namespace nn::cfg::CTR::detail;
|
||||
|
||||
nn::Result result;
|
||||
nn::cfg::CTR::detail::TouchPanelCfgData touchPanelCfgData;
|
||||
common::CfgCalData cfgCalData;
|
||||
common::SdReaderWriter sdWriter;
|
||||
|
||||
COMMON_LOGGER("Export TouchPanelData\n");
|
||||
COMMON_LOGGER("Export CalData\n");
|
||||
|
||||
common::SdMountManager::Mount();
|
||||
|
||||
result = nn::cfg::CTR::init::GetConfig(&touchPanelCfgData, sizeof(TouchPanelCfgData),
|
||||
result = nn::cfg::CTR::init::GetConfig(&cfgCalData.touchPanelCfgData, sizeof(TouchPanelCfgData),
|
||||
GET_CFG_KEY(NN_CFG_HID, NN_CFG_HID_CAL_TOUCHPANEL));
|
||||
COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result);
|
||||
if (result.IsSuccess())
|
||||
{
|
||||
result = sdWriter.WriteBuf(common::TOUCH_PANEL_CALIBRATION_PATHNAME, &touchPanelCfgData, sizeof(touchPanelCfgData));
|
||||
COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result);
|
||||
}
|
||||
|
||||
result = nn::cfg::CTR::init::GetConfig(&cfgCalData.lcdFlickerCfgData, sizeof(LcdFlickerCfgData),
|
||||
GET_CFG_KEY(NN_CFG_LCD, NN_CFG_LCD_CAL_FLICKER));
|
||||
COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result);
|
||||
|
||||
result = nn::cfg::CTR::init::GetConfig(&cfgCalData.fcramCfgData, sizeof(FcramCfgData),
|
||||
GET_CFG_KEY(NN_CFG_FCRAM, NN_CFG_FCRAM_CAL_DELAY));
|
||||
COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result);
|
||||
|
||||
result = nn::cfg::CTR::init::GetConfig(&cfgCalData.rtcCfgData, sizeof(RtcCfgData),
|
||||
GET_CFG_KEY(NN_CFG_RTC, NN_CFG_RTC_CAL_COMPENSATION));
|
||||
COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result);
|
||||
|
||||
result = nn::cfg::CTR::init::GetConfig(&cfgCalData.gyroscopeCfgData, sizeof(GyroscopeCfgData),
|
||||
GET_CFG_KEY(NN_CFG_HID, NN_CFG_HID_CAL_GYROSCOPE));
|
||||
COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result);
|
||||
|
||||
result = nn::cfg::CTR::init::GetConfig(&cfgCalData.accelCfgData, sizeof(AccelCfgData),
|
||||
GET_CFG_KEY(NN_CFG_HID, NN_CFG_HID_CAL_ACCELEROMETER));
|
||||
COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result);
|
||||
|
||||
result = nn::cfg::CTR::init::GetConfig(&cfgCalData.codecCfgData, sizeof(CodecCfgData),
|
||||
GET_CFG_KEY(NN_CFG_CODEC, NN_CFG_CODEC_CAL));
|
||||
COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result);
|
||||
|
||||
sdWriter.WriteBuf(common::CFG_CALIBRATION_PATHNAME, &cfgCalData, sizeof(cfgCalData));
|
||||
|
||||
common::SdMountManager::Unmount();
|
||||
}
|
||||
|
||||
bool ImportTouchPanelCfgData(nn::cfg::CTR::detail::TouchPanelCfgData* data)
|
||||
bool ImportCalData(common::CfgCalData *data)
|
||||
{
|
||||
using namespace nn::cfg::CTR::detail;
|
||||
|
||||
nn::Result result;
|
||||
bool retval = false;
|
||||
|
||||
COMMON_LOGGER("Import TouchPanelData\n");
|
||||
COMMON_LOGGER("Import CalData\n");
|
||||
|
||||
common::SdMountManager::Mount();
|
||||
|
||||
@ -1404,7 +1426,7 @@ bool ImportTouchPanelCfgData(nn::cfg::CTR::detail::TouchPanelCfgData* data)
|
||||
common::SdReaderWriter sdReader;
|
||||
|
||||
size_t readSize;
|
||||
result = sdReader.ReadBuf(common::TOUCH_PANEL_CALIBRATION_PATHNAME, buf, bufSize, &readSize);
|
||||
result = sdReader.ReadBuf(common::CFG_CALIBRATION_PATHNAME, buf, bufSize, &readSize);
|
||||
if(result.IsSuccess())
|
||||
{
|
||||
// SDから読み出し成功
|
||||
@ -1427,11 +1449,38 @@ void InitializeHardwareDependentSetting()
|
||||
using namespace nn::cfg::CTR::detail;
|
||||
nn::Result result = nn::ResultSuccess();
|
||||
|
||||
nn::cfg::CTR::detail::TouchPanelCfgData touchPanelCfgData;
|
||||
if(ImportTouchPanelCfgData(&touchPanelCfgData))
|
||||
common::CfgCalData cfgCalData;
|
||||
if (ImportCalData(&cfgCalData))
|
||||
{
|
||||
result = nn::cfg::CTR::init::SetConfig(GET_CFG_KEY(NN_CFG_HID, NN_CFG_HID_CAL_TOUCHPANEL), &touchPanelCfgData,
|
||||
sizeof(TouchPanelCfgData));
|
||||
result = nn::cfg::CTR::init::SetConfig(GET_CFG_KEY(NN_CFG_HID, NN_CFG_HID_CAL_TOUCHPANEL),
|
||||
&cfgCalData.touchPanelCfgData, sizeof(TouchPanelCfgData));
|
||||
COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result);
|
||||
|
||||
result = nn::cfg::CTR::init::SetConfig(GET_CFG_KEY(NN_CFG_LCD, NN_CFG_LCD_CAL_FLICKER),
|
||||
&cfgCalData.lcdFlickerCfgData, sizeof(LcdFlickerCfgData));
|
||||
COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result);
|
||||
|
||||
result = nn::cfg::CTR::init::SetConfig(GET_CFG_KEY(NN_CFG_FCRAM, NN_CFG_FCRAM_CAL_DELAY),
|
||||
&cfgCalData.fcramCfgData, sizeof(FcramCfgData));
|
||||
COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result);
|
||||
|
||||
result = nn::cfg::CTR::init::SetConfig(GET_CFG_KEY(NN_CFG_RTC, NN_CFG_RTC_CAL_COMPENSATION),
|
||||
&cfgCalData.rtcCfgData, sizeof(RtcCfgData));
|
||||
COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result);
|
||||
|
||||
result = nn::cfg::CTR::init::SetConfig(GET_CFG_KEY(NN_CFG_HID, NN_CFG_HID_CAL_GYROSCOPE),
|
||||
&cfgCalData.gyroscopeCfgData, sizeof(GyroscopeCfgData));
|
||||
COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result);
|
||||
|
||||
result = nn::cfg::CTR::init::SetConfig(GET_CFG_KEY(NN_CFG_HID, NN_CFG_HID_CAL_ACCELEROMETER),
|
||||
&cfgCalData.accelCfgData, sizeof(AccelCfgData));
|
||||
COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result);
|
||||
|
||||
result = nn::cfg::CTR::init::SetConfig(GET_CFG_KEY(NN_CFG_CODEC, NN_CFG_CODEC_CAL), &cfgCalData.codecCfgData,
|
||||
sizeof(CodecCfgData));
|
||||
COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result);
|
||||
|
||||
NN_LOG("Set cfgCalData\n");
|
||||
}
|
||||
|
||||
COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result);
|
||||
@ -1457,9 +1506,9 @@ void ImportData()
|
||||
// NORデータを書き込む
|
||||
ImportNorData();
|
||||
|
||||
// タッチパネルキャリブレーションデータをSDカードに出力する
|
||||
// 固体固有calLデータをSDカードに出力する
|
||||
// 本体初期化後はcal値が設定されている
|
||||
ExportTouchPanelCfgData();
|
||||
ExportCalData();
|
||||
|
||||
// SDカードのセーブデータをNANDに書き込む
|
||||
ImportSaveData();
|
||||
|
||||
@ -52,7 +52,7 @@ const wchar_t* const TRY_RESTORE_SAME_CONSOLE_PATHNAME = L"sdmc:/CTR_Console_Rep
|
||||
const wchar_t* const RTC_SYNC_CHECK_PATHNAME = L"sdmc:/CTR_Console_Repair/RtcSyncFinished";
|
||||
const wchar_t* const PLAYHISTORY_PATHNAME = L"sdmc:/CTR_Console_Repair/playhistory.bin";
|
||||
const wchar_t* const PLAYHISTORY_COUNT_PATHNAME = L"sdmc:/CTR_Console_Repair/playhistoryCount.bin";
|
||||
const wchar_t* const TOUCH_PANEL_CALIBRATION_PATHNAME = L"sdmc:/CTR_Console_Repair/tpCalibration.bin";
|
||||
const wchar_t* const CFG_CALIBRATION_PATHNAME = L"sdmc:/CTR_Console_Repair/cfgCalibration.bin";
|
||||
const wchar_t* const VERSION_DATA_PATHNAME = L"sdmc:/CTR_Console_Repair/version.bin";
|
||||
const wchar_t* const REGION_DATA_PATHNAME = L"sdmc:/CTR_Console_Repair/Region.bin";
|
||||
|
||||
|
||||
@ -19,6 +19,7 @@
|
||||
#include <nn/cfg/CTR/cfg_NtrSettings.h>
|
||||
#include <nn/cfg/CTR/cfg_CountryCode.h>
|
||||
#include <nn/cfg/CTR/cfg_LanguageCode.h>
|
||||
#include <nn/cfg/CTR/detail/cfg_DataStructures.h>
|
||||
#include <nn/pl/CTR/pl_SharedDataTitleId.h>
|
||||
#include <nn/pl/CTR/pl_Version.h>
|
||||
|
||||
@ -50,6 +51,19 @@ struct VerDef
|
||||
nn::pl::CTR::NetworkUpdateVersion nup;
|
||||
};
|
||||
|
||||
struct CfgCalData
|
||||
{
|
||||
nn::cfg::CTR::detail::TouchPanelCfgData touchPanelCfgData;
|
||||
nn::cfg::CTR::detail::LcdFlickerCfgData lcdFlickerCfgData;
|
||||
nn::cfg::CTR::detail::FcramCfgData fcramCfgData;
|
||||
nn::cfg::CTR::detail::RtcCfgData rtcCfgData;
|
||||
nn::cfg::CTR::detail::GyroscopeCfgData gyroscopeCfgData;
|
||||
nn::cfg::CTR::detail::AccelCfgData accelCfgData;
|
||||
nn::cfg::CTR::detail::CodecCfgData codecCfgData;
|
||||
NN_PADDING2;
|
||||
|
||||
};
|
||||
|
||||
// TODO:リージョン追加時に範囲外アクセスにならないよう注意
|
||||
const nn::ProgramId cCupVerId[] =
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user