diff --git a/trunk/ConsoleDataMigration/ConsoleBackup/Controller.cpp b/trunk/ConsoleDataMigration/ConsoleBackup/Controller.cpp index c40bfe0..32cd6b5 100644 --- a/trunk/ConsoleDataMigration/ConsoleBackup/Controller.cpp +++ b/trunk/ConsoleDataMigration/ConsoleBackup/Controller.cpp @@ -43,6 +43,8 @@ typedef enum BackupState // APSettingの書式が無い警告サウンドを鳴らしたかどうか bool s_ExistAPSettingAnnotation = false; +// SDに書き込みできない警告サウンドを鳴らしたかどうか +bool s_SdWriteProetctAnnotation = false; BackupState s_BackupState = STARTUP; bool s_PlayedStartCursor = false; @@ -73,29 +75,30 @@ void ControlState(::std::vector& operationMessage, bool& nextStep, // SDカードが挿入されているか? if (nn::fs::IsSdmcInserted()) { + // SDカードに書き込みできるか? + if (!nn::fs::IsSdmcWritable()) + { + if (!s_SdWriteProetctAnnotation) + { + s_SdWriteProetctAnnotation = true; + common::PlaySound(common::SOUND_ANNOTATION); + } + operationMessage.push_back(::std::string("Can*t Write SD Card!!\n")); + break; + } + // 無線設定ファイルがあるか? if (common::ExistsAPSetting()) { // 書き込み中に抜かないように if (nextStep) { - // SDカードに書き込みできるか? - if (nn::fs::IsSdmcWritable()) + // シリアルナンバーを読み取れるか? + if (!CanReadSerialNumber()) { - // シリアルナンバーを読み取れるか? - if (!CanReadSerialNumber()) - { - common::PlaySound(common::SOUND_ANNOTATION); - COMMON_LOGGER("Can't Read Serial Number\n"); - } - } - else - { - error = true; common::PlaySound(common::SOUND_ANNOTATION); - COMMON_LOGGER("Can't Write SD Card!!\n"); + COMMON_LOGGER("Can't Read Serial Number\n"); } - } } else @@ -304,6 +307,7 @@ void InitializeState() s_ExistAPSettingAnnotation = false; s_PlayedStartCursor = false; s_PlayedSdPullOutCursor = false; + s_SdWriteProetctAnnotation = false; } } // namespace ConsoleBackup diff --git a/trunk/ConsoleDataMigration/ConsoleRestore/Controller.cpp b/trunk/ConsoleDataMigration/ConsoleRestore/Controller.cpp index c1af941..b8ba3a6 100644 --- a/trunk/ConsoleDataMigration/ConsoleRestore/Controller.cpp +++ b/trunk/ConsoleDataMigration/ConsoleRestore/Controller.cpp @@ -90,6 +90,8 @@ bool s_PlayedSdPullOutCursor = false; bool s_ExistsVersionDataAnnotation = false; // バージョンデータを読んだかどうか bool s_ReadVersionDone = false; +// SDに書き込みできない警告サウンドを鳴らしたかどうか +bool s_SdWriteProetctAnnotation = false; // ネットワークアップデートを開始したかどうか bool s_ExecuteFgNup = false; @@ -234,6 +236,18 @@ void ControlState(::std::vector& operationMessage, bool& nextStep, // SDカードが挿入されているか? if (nn::fs::IsSdmcInserted()) { + // SDカードに書き込みできるか? + if (!nn::fs::IsSdmcWritable()) + { + if (!s_SdWriteProetctAnnotation) + { + s_SdWriteProetctAnnotation = true; + PlaySound(SOUND_ANNOTATION); + } + operationMessage.push_back(::std::string("Can*t Write SD Card!!\n")); + break; + } + CheckAndReadVersionData(operationMessage); validApSetting = CheckAndReadAPSetting(operationMessage); if (!validApSetting) @@ -277,13 +291,6 @@ void ControlState(::std::vector& operationMessage, bool& nextStep, operationMessage.push_back(::std::string("Serial Number in SD : ") + serial); } - // SDカードに書き込みできるか? - if (nextStep && !nn::fs::IsSdmcWritable()) - { - error = true; - PlaySound(SOUND_ANNOTATION); - COMMON_LOGGER("Can't Write SD Card!!\n"); - } // SDカードにリージョンデータがあるか? if (ExistsRegionData()) @@ -881,6 +888,7 @@ void InitializeState() s_PlayedSdPullOutCursor = false; s_NupOnlyMode = false; s_ReadVersionDone = false; + s_SdWriteProetctAnnotation = false; } u32 GetProgress()