{"text_format":"3","workbook":"xls","n_sheets":3,"sheets":["Sheet1","Sheet2","Sheet3"],"not_rendered":{"external_links":1,"defined_names":1},"read":"whole","date_system":"1900","formulas":"cached_only"}

{"sheet":"Sheet1","index":0,"n_rows":73,"n_cols":10,"rows_kept":73,"flags":["formulas_cached_only"]}
["Categories","Differences","Development Hardware","Retail Hardware","Details","Note","Revision Date","公開","ファイル","関数"]
["OS","動作中のハードウェア種別","true（開発機）","false（量産機）","■開発機\ntrue が返されます。\n\n■量産機\nfalse が返されます。\n","動作中のハードウェアが開発機かどうかを返します。","2011-05-18","△","libraries\\os\\CTR\\ARM946ES\\os_Private.cpp","IsRunOnDevelopmentHardware()"]
["OS","Behavior when an internal error occurs","Halt execution (Panic)","FATAL error","Development Hardware\nThe program halts when an error occurs within the OS library and a return value cannot be returned.\n\nRetail Hardware\nIf an error occurs within the OS library and a return value cannot be returned, it is a fatal error.\n",null,"2011-06-24","○","libraries\\err\\CTR\\Client\\err_ExceptionHandler.cpp\nlibraries\\err\\CTR\\Client\\err_ResultHandler.cpp","SetupExceptionHandler()\nSetupResultHandler()"]
["AC","Specifying the type of AP to connect to.","Possible\n(debug mode)","Error","Development Hardware\nIn debug mode, you can use the DebugSetApType function to specify which type of AP to connect to automatically.\n\nRetail Hardware\nThis cannot be specified.\n","If you call the applicable function(s) on retail hardware or on development hardware that is not in debug mode, it will cause an error.","2011-05-18","○","libraries\\ac\\CTR\\ac_Api.cpp","DebugSetApType()"]
["AC","Specifying the network connection level","Possible\n(debug mode)","Error","Development Hardware\nIn debug mode, you can use the DebugSetNetworkArea function to specify the connection request level for automatic connections.\n\nRetail Hardware\nThis cannot be specified.\n","If you call the applicable function(s) on retail hardware or on development hardware that is not in debug mode, it will cause an error.","2011-05-18","○","libraries\\ac\\CTR\\ac_Api.cpp","DebugSetNetworkArea()"]
["AC","Calling a function to change network setting #1","Possible\n(debug mode)","Error","Development Hardware\nIn debug mode, you can use the DebugSetNetworkSetting1 function to change connection setting #1.\n\nRetail Hardware\nThis cannot be changed by any function.\n","If you call the applicable function(s) on retail hardware or on development hardware that is not in debug mode, it will cause an error.","2011-05-18","○","libraries\\ac\\CTR\\ac_Api.cpp","DebugSetNetworkSetting1()"]
["BOSS","Connection information sent to the BOSS server","For development hardware","For retail hardware","Development Hardware\nConnection information for development hardware is sent.\n\nRetail Hardware\nConnection information for retail hardware is sent.\n","The BOSS server can determine whether a connecting CTR system is development hardware.\n","2011-05-18","○","processes\\boss\\server\\boss_Configs.cpp","MakeUserAgentValue()"]
["CEC","isDebugMode に設定される値\n（IsDebugMode() の返り値）","true\n（デバッグモード）","false","■開発機\nデバッグモードであれば true が設定され、CEC のデバッグモードでのみ動作する機能が有効になります。\n\n■量産機\nfalse が設定され、デバッグモードでのみ動作する機能は有効になりません。\n","デバッグモードでのみ動作する機能には以下のものがあります。\n\n・StartScanning() によるスキャン開始時のアドレスフィルタのリセット指示\n・EnterExclusiveState() によるすれちがい通信専用モードへの変更\n・FormatSaveData() の実行","2011-05-18","△","libraries\\cec\\CTR\\cec_Control.cpp","Initialize()"]
["CEC","Resetting address filters","Possible\n(debug mode)","Error","Development Hardware\nIn debug mode, you can pass true as an argument to the StartScanning function to reset address filters when scanning begins.\n\nRetail Hardware\nYou cannot reset address filters.\n","By resetting address filters, you will be able to reconnect immediately.\nCalling the StartScanning function with true as an argument will cause an error both on retail hardware and on development hardware that is not in debug mode.","2011-05-18","○","libraries\\cec\\CTR\\cec_Control.cpp","StartScanning()"]
["CEC","Entering \"exclusive\" mode","Possible\n(debug mode)","Error","Development Hardware\nIn debug mode, you can call the EnterExclusiveState function to use background communications exclusively for StreetPass.\n\nRetail Hardware\nYou cannot use background communications exclusively for StreetPass.\n","If you call the applicable function(s) on retail hardware or on development hardware that is not in debug mode, it will cause an error.","2011-05-18","○","libraries\\cec\\CTR\\cec_Control.cpp","EnterExclusiveState()"]
["CEC","Formatting StreetPass boxes","Possible\n(debug mode)","Error","Development Hardware\nIn debug mode, you can call the FormatSaveData function to format StreetPass boxes.\n\nRetail Hardware\nYou cannot format StreetPass boxes.\n","This erases all of the system's StreetPass boxes.\nIf you call the applicable function(s) on retail hardware or on development hardware that is not in debug mode, it will cause an error.\n\nNote: FormatSaveData is not mentioned in the Function Reference Manual.\n","2011-05-18","○","libraries\\cec\\CTR\\cec_Control.cpp","FormatSaveData()"]
["CEC","StreetPass settings","For development hardware","For retail hardware","Development Hardware\nStreetPass is run with settings for development hardware.\n\nRetail Hardware\nStreetPass is run with settings for retail hardware.\n","StreetPass is not allowed between development and retail hardware because they use different settings.","2011-05-18","○","-"]
["CEC","ModuleFilter の IE Subtype","3, 4","1, 2","■開発機\nModuleFilter の IE Subtype に 3 と 4 を使用します。\n\n■量産機\nModuleFilter の IE Subtype に 1 と 2 を使用します。\n","ModuleFilter の設定が異なるため、開発機と量産機ではすれちがい通信ができません。\n以下２つの処理はこれを行うためのもの。","2011-05-18","△","processes\\cecd\\CTR\\cec_DaemonControl.cpp","CecSessionStateWirelessStartConfig()"]
["CEC","ModuleFilter の IE Subtype","3, 4","1, 2","■開発機\nModuleFilter の IE Subtype に 3 と 4 を使用します。\n\n■量産機\nModuleFilter の IE Subtype に 1 と 2 を使用します。\n","スキャン結果から ModuleFilter を抽出する際の設定が開発機と量産機で異なります。","2011-05-18","×","processes\\cecd\\CTR\\cec_DaemonControl.cpp","CecSessionStateConnect()"]
["CEC","接続キーの生成に使用する AES キー","開発機用","量産機用","■開発機\n接続キーの生成に開発機用の AES キーを使用します。\n\n■量産機\n接続キーの生成に量産機用の AES キーを使用します。\n","すれちがい通信が行われる際に、接続に使用されるキーが切り替わります。","2011-05-18","×","processes\\cecd\\CTR\\cec_DaemonControl.cpp","CecSessionStateConnect()"]
["CFG","IsDebugMode() の返り値\n（デバッグモードに設定されているかどうか）","設定による","false","■開発機\nConfig ツールの OtherSetting で Debug Mode が enable になっていれば true が返されます。disable ならば false が返されます。\n\n■量産機\n必ず false が返されます。\n",null,"2011-05-18","×","libraries\\cfg\\CTR\\cfg_ApiPrivate.cpp","IsDebugMode()"]
["CFG","ローカルフレンドコードシードのボディ部のbondingOption",1,0,"■開発機\nlocalFriendCodeSeedBody.localFriendCodeSeed に 1 を設定しています。\n\n■量産機\nlocalFriendCodeSeedBody.localFriendCodeSeed に 0 を設定しています。\n","この設定を参照している箇所はありません。ボディ部全体ならあります。","2011-05-18","×","libraries\\drivers\\cfg\\CTR\\cfg_LocalFriendCodeSeed.cpp","ResetBody()"]
["CFG","署名検証用の鍵","開発機用","量産機用","■開発機\nローカルフレンドコードシードの署名の検証に開発実機用の公開鍵を使用します。\n\n■量産機\nローカルフレンドコードシードの署名の検証に製品実機用の公開鍵を使用します。\n",null,"2011-05-18","×","libraries\\drivers\\cfg\\CTR\\cfg_LocalFriendCodeSeed.cpp","Validate()"]
["CFG","署名検証用の鍵","開発機用","量産機用","■開発機\nセキュア情報の署名の検証に開発実機用の公開鍵を使用します。\n\n■量産機\nセキュア情報の署名の検証に製品実機用の公開鍵を使用します。\n",null,"2011-05-18","×","libraries\\drivers\\cfg\\CTR\\cfg_SecureInfo.cpp","Validate()"]
["DLP","System update","Can be forced","Depends on the\nsystem version","Development Hardware\nYou can force a client to perform a system update when \"Dlp Force Child Import\" is set to \"enable\" under \"OtherSetting\" in the Config tool.\n\nRetail Hardware\nA system update is not performed when the system version is not older than the server version.\n","Update Partition (UPP) is required to support Download Play on retail hardware.","2011-05-18","○","processes\\dlp\\CTR\\client\\dlp_ClientIpcImpl.cpp","IsForceSystemUpdate()"]
["DLP","CUP バージョンタイトルの取得","ダミー可","必須","■開発機\nUpdate Partition がなければダミーと判定されます。\n\n■量産機\nUpdate Partition がなければ FATAL エラーとなります。\n","量産機は Update Partition（UPP） が必須です。","2011-05-18","△","processes\\dlp\\CTR\\server\\dlp_ServerIpcImpl.cpp","GetSystemTitleInfo()"]
["DLP","Update Partition のマウント","ダミー可","必須","■開発機\nUpdate Partition のマウントに失敗してもエラーになりません。\n\n■量産機\nUpdate Partition のマウントに失敗するとエラーとなります。\n","量産機は Update Partition（UPP） が必須です。","2011-05-18","△","processes\\dlp\\CTR\\server\\dlp_ServerIpcImpl.cpp","AddTitle()"]
["FRIENDS","Server to connect to","For development use","For actual use","Development Hardware\nSystems connect to the server for development use.\n\nRetail Hardware\nSystems connect to the server for actual use.\n","This is the location to which login requests are sent when the Login function is called.","2011-05-18","○","processes\\friends\\CTR\\friends_LobbyApi.cpp","CreateLocalAccount()"]
["FS","Forced latency emulation","Enabled","Disabled","Development Hardware\nYou can call the ForceEnableLatencyEmulation function to enable forced latency emulation for FS access.\n\nRetail Hardware\nForced latency emulation is always disabled.\n",null,"2011-05-18","○","libraries\\fs\\CTR\\MPCore\\fs_UserFileSystem.cpp","ForceEnableLatencyEmulation()"]
["FS","Types of cards that work","Only development cards","Only retail cards","Development Hardware\nOnly development cards work.\n\nRetail Hardware\nOnly retail cards work.\n","Checks for operating environment compatibility prevent retail cards from working on development hardware and development cards from working on retail hardware.","2011-05-18","○","-"]
["FS","カードIDと動作ハードによるセキュリティチェックの実行","開発カード\nならばセキュリティチェックを行わない","強制的にセキュリティチェック","■開発機\n開発カードならば CARD1 のセキュリティチェックを行いません。\n\n■量産機\n必ず CARD1 のセキュリティチェックが行われます。\n","開発機で量産カードが動作しない等、動作環境の整合性をチェックしています。","2011-05-18","△","libraries\\drivers\\card\\CTR\\card_CardInterfaceBase.cpp","GameCardInitialize()"]
["FS","カードIDと動作ハードの整合性チェック","開発カード\nならば通過","量産カード\nならば通過","■開発機\n開発カードでなければチェックを通過しません。\n\n■量産機\n量産カードでなければチェックを通過しません。\n","カード内に持つAES鍵のチェック","2011-05-18","×","libraries\\drivers\\card\\CTR\\card_CardInterfaceBase.cpp","TurnOnS1Secure()"]
["FS","固定値鍵（ENCRYPT_TYPE_FIXED_KEY）の使用","可能","不可能","■開発機\nバッファのデコードに固定値鍵を使用することができます。\n\n■量産機\nバッファのデコードに固定値鍵を使用することができません。\n","ROM ファイルのデコードに関係する？\nFixedKey は SystemUpdater で使用している？\nROMFSの復号には固定鍵を使用することができる。","2011-05-18","×","libraries\\drivers\\fs\\readers\\CTR\\fs_ReaderBase.cpp","DecryptAndCopyFromBuffer()"]
["FS","Settings used to access card save data","For development hardware","For retail hardware","Development Hardware\nSettings for development hardware are used to access card save data.\n\nRetail Hardware\nSettings for retail hardware are used to access card save data.\n","Save data is not compatible between development and retail hardware.\nSave data is not compatible between different cards on retail hardware.","2011-05-18","○","-"]
["FS","カードのセーブデータアクセスに使用する AES の鍵","ゼロ固定","カード固有の ID から生成される","■開発機\nカードのセーブデータアクセスに使用する AES キーがゼロ固定に上書きされます。\n\n■量産機\nカードのセーブデータアクセスに使用する AES キーはカード固有の ID から生成されます。\n","開発機と量産機のセーブデータには互換性がありません。\n量産機では異なるカード間のセーブデータに互換性がありません。","2011-05-18","△","libraries\\drivers\\fs\\archives\\CTR\\ARM946ES\\fs_CardSlotArchive.cpp","RegisterCardSeedPart()"]
["FS","起動時の IVS 生成","生成する","生成しない","■開発機\nIVS が生成されます。\n\n■量産機\nIVS をここでは生成しません。\n","開発機は起動時に IVS が存在しないと、ローカルフレンドコードシードと eFuse の値を元に IVS を生成します。\n量産機の IVS は生産工程でデータ書き込みツールが CreateSeed を呼び出して生成します。\n量産機で IVS が存在しない場合は eFuse の値を元に固定の値を IVS として扱います。\n","2011-05-18","×","libraries\\drivers\\fsrv\\CTR\\ARM946ES\\fsrv_SeedManager.cpp","InitializeImpl()"]
["HID","Recognizing SELECT","Possible\n(debug mode)",false,"Development Hardware\nIn debug mode, you can call the EnableSelectButton function to allow PadReader to recognize SELECT.\n\nRetail Hardware\nSELECT and START result in the same behavior.\n","You can call the DisableSelectButton function to stop recognizing SELECT.","2011-05-18","○","libraries\\hid\\CTR\\hid_PadReader.cpp","EnableSelectButton()"]
["NIM","クレジットカード情報暗号化の公開鍵","開発用","量産用","■開発機\n開発用サーバの鍵を使用します。\n\n■量産機\n量産用サーバの鍵を使用します。\n",null,"2011-05-18","×","processes\\nim\\CTR\\nim_ShopImpl.cpp","PubKeyEncrypt()"]
["NWM","API による無線オンモードへの切り替え","可能\n（デバッグモード）","エラー","■開発機\nデバッグモードであれば、SetWifiOn() によって無線オンモードに切り替えることができます。\n\n■量産機\nAPI による無線オンモードの切り替えはできません。\n","量産機やデバッグモードでない開発機の場合、該当の関数を実行するとエラーとなります。\nNEX開発用に用意されたもの。","2011-05-18","×","libraries\\nwm\\CTR\\nwm_ExtAPI.cpp","SetWifiOn()"]
["NWM","API による無線オフモードへの切り替え","可能\n（デバッグモード）","エラー","■開発機\nデバッグモードであれば、SetWifiOff() によって無線オフモードに切り替えることができます。\n\n■量産機\nAPI による無線オフモードの切り替えはできません。\n","量産機やデバッグモードでない開発機の場合、該当の関数を実行するとエラーとなります。\nNEX開発用に用意されたもの。","2011-05-18","×","libraries\\nwm\\CTR\\nwm_ExtAPI.cpp","SetWifiOff()"]
["NWM","API によるファームウェアエラーのシミュレート","可能\n（デバッグモード）","エラー","■開発機\nデバッグモードであれば、SimulateFirmwareError() によって無線デバイスのファームウェアエラーを発生させることができます。\n\n■量産機\n無線デバイスのファームウェアエラーをシミュレートすることはできません。\n","量産機やデバッグモードでない開発機の場合、該当の関数を実行するとエラーとなります。","2011-05-18","×","libraries\\nwm\\CTR\\nwm_ExtAPI.cpp","SimulateFirmwareError()"]
["RO","証明書の検証に使用される公開鍵","開発用","製品用","■開発機\n証明書の検証に開発実機用の公開鍵が使用されます。\n\n■量産機\n証明書の検証に量産実機用の公開鍵が使用されます。\n","登録時に証明書の検証が行われます。","2011-05-18","×","processes\\ro\\ro_RegistrationListManager.cpp","VerifyListCert()"]
["UDS","Generated local communication IDs","For development hardware","For retail hardware","Development Hardware\nLocal communication IDs for development hardware are generated.\n\nRetail Hardware\nLocal communication IDs for retail hardware are generated.\n","Local communication is not possible between development and retail hardware, even with the same unique ID.","2011-05-18","○","libraries\\uds\\CTR\\uds_Api.cpp","CreateLocalCommunicationId()"]
["UDS","Specifying a channel when creating a network","Possible\n(debug mode)","Forced to be 0","Development Hardware\nIn debug mode, you can specify a channel when you create a network. The channel specification is forced to be 0 (automatic) outside of debug mode.\n\nRetail Hardware\nThe channel specification is forced to be 0 (automatic) when a network is created.",null,"2011-05-18","○","libraries\\uds\\CTR\\uds_Api.cpp","CreateNetwork()"]
["UDS","ビーコン受信不能回数の許容値の指定","可能\n（デバッグモード）","無視される","■開発機\nデバッグモードであれば、ローカル通信時のビーコン受信不能回数の許容値を API で指定することができます。\n\n■量産機\n指定することができません。\n","プライベートのヘッダファイル（uds_ApiPrivate.h）で定義されていましたので非公開とします。","2011-05-18","×","libraries\\uds\\CTR\\uds_Api.cpp","SetBeaconMissTime()"]
["UDS","無通信時間の指定","可能\n（デバッグモード）","無視される","■開発機\nデバッグモードであれば、ローカル通信時の無通信時間を API で指定することができます。\n\n■量産機\n指定することができません。\n","プライベートのヘッダファイル（uds_ApiPrivate.h）で定義されていましたので非公開とします。","2011-05-18","×","libraries\\uds\\CTR\\uds_Api.cpp","SetInactiveTime()"]
["System\n(Calibration data)","Checking calibration data","For development hardware","For retail hardware","Development Hardware\nInformation for development hardware is used when calibration data is checked.\n\nRetail Hardware\nInformation for retail hardware is used when calibration data is checked.\n","Calibration data is not compatible between development and retail hardware.","2011-05-18","○","-"]
["システム\n（キャリブレーションデータ）","s_isDevelopment に設定される値\n（IsRunOnDevelopmentHardware() の返り値）","true","false","■開発機\ntrue が設定されます。\n\n■量産機\nfalse が設定されます。\n","開発機と量産機では、キャリブレーションデータのヘッダのハッシュ生成やチェックに使用されるキーが異なります。","2011-05-18","△","libraries\\drivers\\cal\\CTR\\cal_Api.cpp","ConvertHash()"]
["システム\n（キャリブレーションデータ）","s_isDevelopment に設定される値\n（IsRunOnDevelopmentHardware() の返り値）","true","false","■開発機\ntrue が設定されます。\n\n■量産機\nfalse が設定されます。\n","開発機と量産機では、キャリブレーションデータのヘッダのハッシュ生成やチェックに使用されるキーが異なります。","2011-05-18","△","libraries\\drivers\\cal\\CTR\\cal_Api.cpp","Initialize()"]
["システム\n（キャリブレーションデータ）","ヘッダのハッシュチェック時のキー","HMACなし","HMACあり","■開発機\nCalculateSha256() がハッシュの計算に使用されます。\n\n■量産機\nCalculateHmacSha256() がハッシュの計算に使用されます。\n","開発機と量産機のキャリブレーションデータに互換性はないようです。","2011-05-18","△","libraries\\drivers\\cal\\CTR\\cal_Api.cpp","CheckHeader()"]
["システム\n（キャリブレーションデータ）","ヘッダのハッシュ生成時のキー","HMACなし","HMACあり","■開発機\nCalculateSha256() がハッシュの計算に使用されます。\n\n■量産機\nCalculateHmacSha256() がハッシュの計算に使用されます。\n","開発機と量産機のキャリブレーションデータに互換性はないようです。","2011-05-18","△","libraries\\drivers\\cal\\CTR\\cal_Api.cpp","SetupHeader()"]
["System\n(Debugger)","Exception handler settings","Enabled","Disabled","Development Hardware\nAn exception handler is set and the debugger can be used for debugging.\n\nRetail Hardware\nA handler is not set.\n",null,"2011-05-18","○","libraries\\err\\CTR\\Client\\err_ExceptionHandler.cpp","SetupExceptionHandler()"]
["System\n(Debugger)","Throwing exceptions with the NN_ERR_* macro","Enabled","Disabled","Development Hardware\nMacros can throw exceptions.\n\nRetail Hardware\nA handler is not set.\n",null,"2011-05-18","○","libraries\\err\\CTR\\Client\\err_ResultHandler.cpp","SetupResultHandler()"]
["System\n(Error display)","System debug information","Show","Hide","Development Hardware\nDetails are shown on the upper screen when a FATAL error occurs.\n\nRetail Hardware\nDetails are not shown on the upper screen when a FATAL error occurs.\n",null,"2011-05-18","○","processes\\CTR\\DevErrDisp\\ded_DisplayFatalErr.cpp","DisplayDebugInfoOnLcd0()"]
["システム\n（エラー表示）","一般のシステムFATALの内部デバッグ情報","表示","非表示","■開発機\nFATAL エラー時に上画面に詳細情報が表示されます。\n\n■量産機\nFATAL エラー時に上画面に詳細情報が表示されません。\n","DisplayDebugInfoOnLcd0() で表示される詳細情報です。","2011-05-18","△","processes\\CTR\\DevErrDisp\\ded_DrawDebugInfo.cpp","DisplaySysCommonDebugInfo()"]
["システム\n（エラー表示）","例外情報","表示","非表示","■開発機\nFATAL エラー時に上画面に詳細情報が表示されます。\n\n■量産機\nFATAL エラー時に上画面に詳細情報が表示されません。\n","DisplayDebugInfoOnLcd0() で表示される詳細情報です。","2011-05-18","△","processes\\CTR\\DevErrDisp\\ded_DrawDebugInfo.cpp","DisplayException()"]
["システム\n（エラー表示）","ハンドルされなかった Result 情報","表示","非表示","■開発機\nFATAL エラー時に上画面に詳細情報が表示されます。\n\n■量産機\nFATAL エラー時に上画面に詳細情報が表示されません。\n","DisplayDebugInfoOnLcd0() で表示される詳細情報です。","2011-05-18","△","processes\\CTR\\DevErrDisp\\ded_DrawDebugInfo.cpp","DisplayResultFailure()"]
["システム\n（TestMenu）","IsRunOnDevHard の表示","\"Dev\"","\"Prod\"","■開発機\n\"Dev\" が出力されます。\n\n■量産機\n\"Prod\" が出力されます。\n","JTAG 接続時にのみ出力されます。","2011-05-18","×","processes\\CTR\\TestMenu\\tm_Display.cpp","SetupTextTop()"]
["システム\n（Updater）","署名付きデータの作成\n（ローカルフレンドコードシード証明書）","する","しない","■開発機\nファームウェアのアップデート時にローカルフレンドコード証明書の署名が不正な場合は正しい署名を付加します。\n\n■量産機\nデータは作成されません。\n","CFG ライブラリでローカルフレンドコードシードの署名の検証に使用する公開鍵が異なることが関係しています。","2011-05-18","×","firmware\\CTR-Kernel\\updater1st\\UpdaterProcess\\Setting.cpp","SetLocalFriendCodeSeed()"]
["システム\n（Updater）","署名付きデータの作成（セキュア情報）","する","しない","■開発機\nファームウェアのアップデート時にセキュア情報の署名が不正な場合は正しい署名を付加します。リージョンを変更する必要がある場合はセキュア情報を変更し、署名を付加します。\n\n■量産機\nデータは作成されません。\n","CFG ライブラリでセキュア情報の署名の検証に使用する公開鍵が異なることが関係しています。","2011-05-18","×","firmware\\CTR-Kernel\\updater1st\\UpdaterProcess\\Setting.cpp","SetSecureInfo()"]
["システム","古いタイトルバージョンのプログラムの上書きインポート","可能","不可能","■開発機\n古いタイトルバージョンのプログラムを上書きインポートすることができます。\n\n■量産機\n古いタイトルバージョンのプログラムを上書きインポートすることができません。\n",null,"2011-05-18","×","libraries\\drivers\\am\\CTR\\ARM946ES\\am_ApplicationManager9Impl.cpp","CreateContextFromTmd()"]
["システム","ENCRYPT_TYPE_FIXED_KEY のときの AES のキー","セットされる","セットされない\n（エラー）","■開発機\n固定値鍵のファームウェアの場合、AES のキーがセットされます。\n\n■量産機\n固定値鍵のファームウェアの場合、エラーとなります。\n","暗号化されている ARM9 側のファームウェアが固定値鍵の場合、開発機でなければ復号できないようです。","2011-05-18","×","processes\\process9\\p9_Reboot.cpp","RebootStep2()"]
["Tools","Tools included with the CTR-SDK","Run","Do not run","Development Hardware\nYou can run Config and other tools.\n\nRetail Hardware\nYou cannot run Config and other tools.\n",null,"2011-05-18","○","-"]
["ツール\n（Config）","システムメニューとして表示される画面","設定による","HOMEメニュー","■開発機\nConfig ツールの Other Setting の Menu の設定により、開発用メニューと HOME メニューが切り替わります。\n\n■量産機\n表示されるのは HOME メニューのみです。\n",null,"2011-05-18","×","processes\\CTR\\NuiShell\\ns_LaunchControl.cpp","LaunchSystemMenu()"]
["ツール\n（Config）","Config ツールの設定の反映","する","しない","■開発機\nConfig ツールの設定が反映されます。\n\n■量産機\nConfig ツールの設定が反映されません。\n","量産機で動作する Config ツールはありません。","2011-05-18","×","processes\\CTR\\NuiShell\\ns_Main.cpp","OnInitialized()"]
["ツール\n（Config）","開発用設定の反映","する","しない","■開発機\nConfig ツールの Other Setting の Exception Handler/Break Stop が反映されます。\n\n■量産機\n反映されません。\n","量産機で動作する Config ツールはありません。","2011-05-18","×","processes\\CTR\\NuiShell\\ns_Main.cpp","ReflectDevelopmentParameters()"]
["ツール\n（Config）","開発機用のメモリ構成の反映","する","しない","■開発機\nConfig ツールの Other Setting の System Mode が反映されます。\nただし、HOME メニューを表示する場合は製品版と同じメモリ構成になります。\n\n■量産機\n反映されません。製品版のメモリ構成にしかなりません。\n","量産機で動作する Config ツールはありません。","2011-05-18","×","processes\\CTR\\NuiShell\\ns_Main.cpp","ReflectDevelopmentMemoryArrage()"]
["ツール\n（Config）","署名付きデータの作成\n（セキュア情報、ローカルフレンドコードシード証明書）","する","しない","■開発機\nConfig ツールで Reset Setting を行ったときに署名付きのデータが作成されます。\n\n■量産機\nデータは作成されません。\n","CFG ライブラリでローカルフレンドコードシードやセキュア情報の署名の検証に使用する公開鍵が異なることが関係しています。","2011-05-18","×","tools\\Config\\ResetSetting.cpp","DisplayImpl()"]
["ツール\n（ConfigInitializer）","署名付きデータの作成\n（セキュア情報、ローカルフレンドコードシード証明書）","する","しない","■開発機\n設定を初期化するときに署名付きのデータが作成されます。\n\n■量産機\nデータは作成されません。\n","CFG ライブラリでローカルフレンドコードシードやセキュア情報の署名の検証に使用する公開鍵が異なることが関係しています。","2011-05-18","×","tools\\ConfigInitializer\\main.cpp","ResetSetting()"]
["ツール\n（FriendAccountSelector）","選択可能なサーバ設定","開発用","本番用","■開発機\n開発実機用認証サーバとアプリ開発用フレンドサーバの組み合わせです。\n\n■量産機\n製品実機用認証サーバと本番用フレンドサーバの組み合わせです。\n",null,"2011-05-18","×","tools\\FriendAccountSelector\\main.cpp","nnMain()"]
["ツール\n（RegionSelector）","リージョンの選択","可能","エラー","■開発機\nCTR 本体のリージョンをツールで変更する際にリージョンを選択することができます。\n\n■量産機\nツールを起動することができません。\n","SystemUpdater 0.15.x では SystemUpdater に統合され、RegionSelector は廃止されました。","2011-05-18","×","tools\\RegionSelector\\sources\\main.cpp","nnMain()"]
["ツール\n（SerialNoAssignor）","動作ハードウェアのチェック","通過","エラー","■開発機\nチェックを通過し、ツールが起動します。\n\n■量産機\nツールを起動することができません。\n","開発機でのみ動作するツールです。","2011-05-18","×","tools\\SerialNoAssignor\\SerialNoAssignor.cpp","UpdateState()"]
["ツール\n（SystemUpdater）","署名付きデータの作成\n（ローカルフレンドコードシード証明書）","する","しない","■開発機\nファームウェアのアップデート時にローカルフレンドコード証明書の署名が不正な場合は正しい署名を付加します。\n\n■量産機\nデータは作成されません。\n","CFG ライブラリでローカルフレンドコードシードの署名の検証に使用する公開鍵が異なることが関係しています。","2011-05-18","×","tools\\SystemUpdater\\Core\\scene\\UpdatingScene.cpp","SetLocalFriendCodeSeed()"]
["ツール\n（SystemUpdater）","署名付きデータの作成（セキュア情報）","する","しない","■開発機\nファームウェアのアップデート時にセキュア情報の署名が不正な場合は正しい署名を付加します。リージョンを変更する必要がある場合はセキュア情報を変更し、署名を付加します。\n\n■量産機\nデータは作成されません。\n","CFG ライブラリでセキュア情報の署名の検証に使用する公開鍵が異なることが関係しています。","2011-05-18","×","tools\\SystemUpdater\\Core\\scene\\UpdatingScene.cpp","SetSecureInfo()"]
["Built-in applications\n(Friend list)","Server to connect to when getting icons","For development hardware","For retail hardware","Development Hardware\nSystems connect to the server for development hardware.\n\nRetail Hardware\nSystems connect to the server for retail hardware.\n","Icon data is downloaded from different servers when a friend's \"Favorite Titles\" icon is not on the system.","2011-05-18","○","-"]
["内蔵アプリ\n（フレンドリスト）","接続先サーバのログ出力","\"Connect to DEV server.\"","\"connect to PROD/TEST server.\"","■開発機\n\"Connect to DEV server.\" とログに出力されます。\n\n■量産機\n\"connect to PROD/TEST server.\" とログに出力されます。\n","アイコンサーバへアイコンをダウンロードしにいく際に表示されます。\nコードはNBDから頂いたものです。\nダミーDNSを使用しない限り 開発実機も量産実機も同様の振る舞いをするため、\nあえて情報を公開する必要はありません。","2011-05-18","×","MMEN/friend/sources/IDBE/src/IdbeGetter.cpp","SendRequest()"]
["内蔵アプリ\n（フレンドリスト）","ダウンロードしたアイコンデータの復号化","通過","開発用鍵が使われていたらエラー","■開発機\n何も行いません。\n\n■量産機\nダウンロードしたアイコンが開発用鍵で暗号化されたものであればエラーを返します。\n",null,"2011-05-18","×","MMEN/friend/sources/IDBE/src/IdbeGetter.cpp","CheckHeader()"]
["Built-in applications\n(HOME Menu)","Whether ROMs for Nintendo DS/DSi development can be launched","Possible","Impossible","Development Hardware\nYou can launch ROMs for Nintendo DS/DSi development.\n\nRetail Hardware\nYou cannot launch ROMs for Nintendo DS/DSi development.\n","This prevents StreetPass Mii Plaza from using StreetPass to transmit banners for development ROMs.","2011-05-18","○","MMEN/menu/sources/app_scene/src/sceneLauncherSceneInit.cpp"]

{"sheet":"Sheet2","index":1,"n_rows":0,"n_cols":0,"rows_kept":0,"flags":["formulas_cached_only"]}

{"sheet":"Sheet3","index":2,"n_rows":0,"n_cols":0,"rows_kept":0,"flags":["formulas_cached_only"]}