diff --git a/trunk/ConsoleDataMigration/sources/ConsoleRestore/Controller.cpp b/trunk/ConsoleDataMigration/sources/ConsoleRestore/Controller.cpp index 34b130a..c7a3cf5 100644 --- a/trunk/ConsoleDataMigration/sources/ConsoleRestore/Controller.cpp +++ b/trunk/ConsoleDataMigration/sources/ConsoleRestore/Controller.cpp @@ -237,6 +237,18 @@ void CheckExistsSerialNumber(common::HardwareStateManager& manager, common::Oper void CheckIvsinSd(common::HardwareStateManager& manager, common::OperationMessage& message, bool& goNextStep); void CheckRegioinSd(common::HardwareStateManager& manager, common::OperationMessage& message, bool& goNextStep); +bool DisplaySerialNumberinSD(common::OperationMessage& message) +{ + u8 serial[nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN]; + COMMON_LOGGER_RETURN_FALSE_IF_FAILED( + ReadSerialNumber(serial)); + + ::std::string serialStr(reinterpret_cast(serial)); + message.Add((::std::string("Serial Number in SD : ") + serialStr).c_str()); + return true; +} + + // SDカード挿入チェック void CheckSdInserted(common::HardwareStateManager& manager, common::OperationMessage& message, bool& goNextStep) { @@ -873,6 +885,12 @@ void ControlState(common::HardwareStateManager& manager, common::OperationMessag case WAIT_START_UPDATE: { + //シリアルが存在しない場合がある + if (common::ExistsSerialNumberFile() && !DisplaySerialNumberinSD(operationMessage)) + { + s_RestoreState = FAIL; + } + operationMessage.Add("Push A or START Button"); operationMessage.Add("Network Update Mode"); PlayCursorSound(WAIT_START_UPDATE); @@ -891,14 +909,8 @@ void ControlState(common::HardwareStateManager& manager, common::OperationMessag case WAIT_START_IMPORT: { - u8 serial[nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN]; - result = ReadSerialNumber(serial); - if (result.IsSuccess()) - { - ::std::string serialStr(reinterpret_cast (serial)); - operationMessage.Add((::std::string("Serial Number in SD : ") + serialStr).c_str()); - } - else + // 必ずシリアルが存在するはず + if(!DisplaySerialNumberinSD(operationMessage)) { s_RestoreState = FAIL; }