1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 4<meta http-equiv="Content-Style-Type" content="text/css"> 5<title>CTR-SDK</title> 6<style type="text/css"> 7<!-- 8body { 9/* 10 font-size : 10pt; 11*/ 12 font-weight : normal; 13 color : #000000; 14 margin : 8px; 15} 16 17div { 18 width : 98%; 19 white-space : nowrap; 20} 21 22div.title { 23 text-align : left; 24 font-weight : bold; 25/* 26 font-size : 16pt; 27*/ 28 font-size : 150%; 29 color : #202020; 30 border-style : double; 31 border-width : 8px; 32 /* タイトルを囲む枠線の色を指定 */ 33 border-color : #FF6600; 34 35 /* RVLプラットフォーム系列 */ 36/* 37 border-color : #34beed; 38*/ 39 40 /* TWLプラットフォーム系列 */ 41/* 42 border-color : #ff458f; 43*/ 44 45 margin : 4px; 46 padding : 4px; 47} 48 49h1 { 50 font-weight : bold; 51/* 52 font-size : 16pt; 53*/ 54 font-size : 150%; 55 border-style : none none solid double; 56 border-width : 0px 0px 2px 8px; 57 /* 見出しの線の色を指定 */ 58 border-color : #FF6600; 59 60 /* RVLプラットフォーム系列 */ 61/* 62 border-color : #34beed; 63*/ 64 65 /* TWLプラットフォーム系列 */ 66/* 67 border-color : #ff458f; 68*/ 69 70 margin-left : 2px; 71 padding-left : 4px; 72} 73table { 74 margin-top : 2pt; 75 margin-bottom : 2pt; 76 margin-left : 0pt; 77 margin-right : 0pt; 78 padding-left : 0pt; 79 padding-right : 0pt; 80 position : relative; 81 left : 12px; 82 font-family : Arial; 83 font-size : 10pt; 84 border-style : none none none none; 85} 86td,th { 87 padding : 2pt; 88 border-width : 2pt; 89 border-style : none none none none; 90 font-style : normal; 91 text-align : left; 92} 93td { 94 background : #e8f4f4; 95 font-weight : normal; 96} 97th { 98 background : #c0d8d8; 99 font-weight : bold; 100} 101 102p { 103 margin-left : 4px; 104} 105p.spec { 106 font-family : "Courier New", monospace; 107 position : normal; 108 left : 12px; 109 font-size : 10pt; 110 background : #FFFFCC; 111# background : #e8f4f4; 112} 113 114--> 115</style> 116 117</head> 118<body> 119<a name="top"></a> <!-- ※注意事項 --> <!-- ・(任意)となっているものは、記載が無くても問題ありません。 --> <!-- ・各項目についてる(必須)や(任意)は、作成後に削除してください。 --> <!-- ・各項目内の書き方は、パッケージごとに自由で問題ありませんが、同じパッケージ内で違いがでないようにしてください。 --> <!-- ・タグはすべて小文字、終了タグを持たないものは「/>」で閉じてください。--> <!-- ・HTMLコードのインデントは、各種社内コード規約と同様にスペース4文字か4文字幅のタブになるようにしてください--> 120 121<div class="title"> 122Readme-CTR_SDK-1_0_0.html<br /> <br /> CTR-SDK 1.0.0<br /> 123</div> 124 125<h1>Table of Contents</h1> 126<ol> 127<li><a href="#ss01">Introduction</a></li> 128<li><a href="#ss02">Notes</a></li> 129<li><a href="#ss03">Confirmed Operating Environment</a></li> 130<li><a href="#ss04">Installation Procedure</a></li> 131<li><a href="#ss05">How to Use the Build System</a></li> 132<li><a href="#ss06">Revision History</a></li> 133<li><a href="#ss07">Known Issues with SystemUpdater</a></li> 134</ol> 135 136<h1>1. <a name="ss01">Introduction</a></h1> 137<p> 138The CTR-SDK contains the libraries, tools, and documentation required to develop CTR applications. 139</p> 140 141<div align="right"><a href="#top">Back to top</a></div> 142 143 144<h1>2. <a name="ss02">Notes</a></h1> 145<p> 146The source code for the libraries included in this package is intended for reference purposes during debugging. Note that the operation of these libraries is not guaranteed if they are rebuilt.<br/><br/>To use this package, you must apply SystemUpdater for CTR-SDK 0.14.23 (which is distributed as a separate package). For directions on the procedure for applying the System Updater, see <CODE>SystemUpdaterPack_Manual.pdf</CODE> in the System Updater Package.<br/> 147</p> 148 149<div align="right"><a href="#top">Back to top</a></div> 150 151 152<h1>3. <a name="ss03">Confirmed Operating Environment</a></h1> 153<p> 154 <table border="1"> 155 <tbody> 156 <tr> 157<td width="25%" align="center"><strong>OS</strong></td> 158<td width="75%">Microsoft Windows XP Professional Service Pack 3 (32-bit)<br/>Microsoft Windows 7 Professional (64-bit)</td> 159 </tr> 160 <tr> 161<td align="center"><strong>Compiler</strong></td> 162<td>ARM C/C++ Compiler, RVCT 4.0 b865 (2010/09/09 Build)</td> 163 </tr> 164 <tr> 165<td align="center"><strong>Debugger</strong></td> 166<td>PARTNER-CTR/S Ver.5.61 111 20101224</td> 167 </tr> 168 <tr> 169<td align="center"><strong>Runtime</strong></td> 170<td>Microsoft .NET Framework 3.5 SP1</td> 171 </tr> 172 </tbody> 173 </table> 174</p> 175 176<div align="right"><a href="#top">Back to top</a></div> 177 178<h1>4. <a name="ss04">Installation Procedure</a></h1> 179<p> 180The separately released document <CODE>CTR-StartupGuide.pdf</CODE> explains the procedures for setting up the CTR-SDK, so be sure to read it beforehand. <br /> 181</p> 182 183<div align="right"><a href="#top">Back to top</a></div> 184 185<h1>5. <a name="ss05">How to Use the Build System</a></h1> 186<p> 187See the <A href="./documents/SDKRules/BuildRules.html">Build Rules</A> page for more information about how to use the build system. The .NET Framework must be installed in order to perform a build. 188</p> 189 190<div align="right"><a href="#top">Back to top</a></div> 191 192<h1>6. <a name="ss06">Revision History</a></h1> 193<p> 194For a list of changes to each package, refer to the <A href="./documents/ReleaseNotes/changelog.html">change log</A>. <br /> 195</p> 196 197<div align="right"><a href="#top">Back to top</a></div> 198 199<h1>6. <a name="ss07">Known Issues with SystemUpdater</a></h1> 200<p> 201The following bugs will not be fixed in CTR-SDK 1.x because SystemUpdater cannot be replaced. We plan to fix the following bugs in CTR-SDK 2.x onward. 202<pre><p class="spec"> 203Symptom 204 205In very rare cases a <CODE>FATAL_ERROR</CODE> occurs during infrastructure or background communication. 206 207The following error values are displayed at this time. 208 209RSL :0xF9606C0F 210 Level : -1 211 Summary: 11 212 Module : 27 213 Desc : 15 214 215RSL :0xF9606C11 216 Level : -1 217 Summary: 11 218 Module : 27 219 Desc : 17 220 221Frequency of Occurrence 222 223Extremely low. 224 225Affects 226 227All applications that use infrastructure or background communication. 228 229Comments 230 231This bug may occur during background communication that uses infrastructure communication or during P2P communication via infrastructure communication. 232 233 234</p></pre> 235<pre><p class="spec"> 236Symptom 237 238If you run the following operations in order, a filesystem error (such as <CODE>DESCRIPTION_ARCHIVE_INVALIDATED</CODE>) is returned when an SD Card is used. 239 240 2411. Mount and use an SD Card from an application. 242 (This is how expanded save data and SpotPass are used) 2432. Remove and insert the SD Card. 2443. Mount and use the SD Card again from the application without unmounting it. 245 246Frequency of Occurrence 247 248Always. 249 250Affects 251 252All applications that use expanded save data and SpotPass. 253 254Comments 255 256An error stops being returned if you restart the application or unmount the SD Card after it has been removed and inserted. 257 258(In other words, the SD Card can then be used normally.) 259 260</p></pre> 261<pre><p class="spec"> 262Symptom 263 264Regardless of whether the system has been turned on, if you leave it alone for eight days without increasing the step count you will be unable to save up to one days' step count afterward. 265 266 267Frequency of Occurrence 268 269Always. 270 271Affects 272 273All applications that use the pedometer. 274 275</p></pre> 276<pre><p class="spec"> 277Symptom 278 279After the system has been in DS compatibility mode for a week or longer, the steps counted since the system entered DS compatibility mode disappear in proportion to the amount of time that steps are counted. 280 281 282Frequency of Occurrence 283 284Always. 285 286Affects 287 288All applications that use the pedometer. 289 290Comments 291 292This does not occur if the system is turned off or control returns to the HOME Menu within a week of entering DS compatibility mode. 293 294</p></pre> 295<pre><p class="spec"> 296Symptom 297 298The camera's <CODE>Activate</CODE> state sometimes does not return when there is an applet transition (such as a HOME Button press) at the same time as the system is opened or closed while the cameras are being used. 299 300 301Frequency of Occurrence 302 303Low, but we have yet to investigate a concrete probability. 304 305Affects 306 307All applications that use the cameras. 308 309Comments 310 311Opening and closing the system once resolves this issue. 312 313</p></pre> 314<pre><p class="spec"> 315Symptom 316 317Background communication will cease to run autonomously if Wi-Fi is turned off at the same time as uds::Initialize, ac::Connect, ac::ConnectAsync, or dlp::Client::Initialize is called. 318 319 320Frequency of Occurrence 321 322Although the timing is severe, this occurs consistently. 323 324Affects 325 326All applications 327 328Comments 329 330Even if your application encounters this bug, SpotPass runs while infrastructure communication is connected. 331Power-cycling the system resolves this symptom. 332 333</p></pre> 334<pre><p class="spec"> 335Symptom 336 337If Sleep Mode is rejected when the system is closed, SpotPass ceases to run autonomously until the system either enters Sleep Mode or is opened. 338 339 340Frequency of Occurrence 341 342Always. 343 344Affects 345 346All applications 347 348Comments 349 350StreetPass is functional. 351 352</p></pre> 353<pre><p class="spec"> 354Symptom 355 356If the HOME Button is pressed while the card removal screen is displayed, the error screen is sometimes displayed again. 357 358 359This symptom has been confirmed to occur with the following procedure. 360 3611. Use the HOME Button to suspend an application. 3622. Close the system to put it into Sleep Mode. 3633. Remove a card while the system is in Sleep Mode. 3644. Open the system; the card removal error screen is displayed. 365 366 367 368Frequency of Occurrence 369 370Although it is timing-dependent, this occurs with high frequency when the procedure above is followed. 371 372 373Affects 374 375All card-based software. 376 377Comments 378 379Even if the error screen is displayed again, if you just wait control will return to the HOME Menu without a problem. 380 381 382</p></pre> 383<pre><p class="spec"> 384Symptom 385 386When a BOSS task is run, the original specifications call for it to return DONE as a result when the HTTP status code is 304 (NOT MODIFIED); instead, it sometimes returns ERROR. 387 388 389 390Frequency of Occurrence 391 392Although an accurate frequency is unknown because this depends on server behavior, it has been confirmed to occur in one of eight units running for 10 hours. 393 394 395Affects 396 397All applications that handle task execution results. 398 399Comments 400 401To handle HTTP status code 304, access the status code instead of the task's execution results. 402 403 404</p></pre> 405<pre><p class="spec"> 406Symptom 407 408Execution hangs on rare occasions if the system enters Sleep Mode or wireless is turned off while a UDS connection is starting or communication is in progress. 409 410 411Frequency of Occurrence 412 413This can be easily reproduced if you try. 414 415Affects 416 417All applications that use UDS communication. 418 419Comments 420 421You can prevent execution from hanging only when the system enters Sleep Mode. To do so, call DestroyNetwork and DisconnectNetwork before the system enters Sleep Mode. 422 423 424Consequently, the same problem occurs when the dlp::Server::OpenSessions and dlp::Server::Finalize functions are called. 425 426 427</p></pre> 428<pre><p class="spec"> 429Symptom 430 431It is sometimes impossible to delete extra data (expanded save data). 432 433Frequency of Occurrence 434 435This always occurs when you follow the procedure below. 436 437 1. Create expanded save data from an application and then create BOSS storage there. 438 2. Look at the banner for that application in the HOME Menu without a single downloaded contextual banner in the application's BOSS storage. 439 3. Launch System Settings and attempt to delete the application's expanded save data. This will fail. 440 441Affects 442 443This occurs in all applications that use SpotPass. 444Specifically, this occurs in applications that create BOSS storage in the expanded save data region. 445 446Workaround 447 448If you close and then re-open System Settings without looking at the application's banner, you can delete data properly. 449 450It is impossible for applications to implement a workaround for this. 451 452Comments 453 454Because SpotPass has mounted expanded save data in step 2, System Settings is unable to delete the expanded save data. 455 456 457If you remove and insert an SD Card after step 2, it becomes impossible to mount expanded save data. 458 459</p></pre> 460<pre><p class="spec"> 461Symptom 462 463The region name is sometimes blank. 464 465Frequency of Occurrence 466 467This always occurs when you follow the procedure below for US and EU versions of applications. 468 469 1. Configure Parental Controls from System Settings. 470 (You can simply set the PIN) 471 2. Under Profile in System Settings, select and confirm a country without regions in Region Settings. 472 (Such as Anguilla for the U.S. and Iceland for Europe) 473 3. Steps 1 and 2 cause the region name (of those saved on the system) to turn blank for the language that was configured with the system at the time. 474 (Originally, the region name is configured to be the same as the country name.) 475 Specifically, in the region settings obtained by nn::cfg::GetSimpleAddress(pSimpleAddress), pSimpleAddress->regionName[nn::cfg::GetLanguage()] is an empty string. 476 477 478Affects 479 480This has no effect beyond the symptom. 481 482Workaround 483 484It is impossible for applications to implement a workaround for this. 485 486</p></pre> 487<pre><p class="spec"> 488Symptom 489 490Once REPLY_LATER has been returned to a SleepQuery issued because the system was closed (or for some other reason), if a card is removed before REPLY_ACCEPT or REPLY_REJECT is returned the system will no longer be able to enter Sleep Mode. 491 492 493Frequency of Occurrence 494 495This grows more frequent the longer it takes for <CODE>REPLY_ACCEPT</CODE> or <CODE>REPLY_REJECT</CODE> to be returned after <CODE>REPLY_LATER</CODE>. 496 497Affects 498 499All applications that return <CODE>REPLY_LATER</CODE> to a <CODE>SleepQuery</CODE>. 500 501Comments 502 503Closing the corresponding application resolves this problem. 504 505</p></pre> 506<pre><p class="spec"> 507Symptom 508 509The current FS library has the following bugs. 510 511 * If the MountSdmc or MountExtSaveData functions have not succeeded and the GetSdmcSize function is called, an error (NotFound) is returned. 512 513 * If a file is accessed as a directory or vice versa, an unexpected Result (DESCRIPTION_FAT_BROKEN_ENTRY or DESCRIPTION_INVALID_PATH_FORMAT) is sometimes returned. 514 515 516 * When a new file is created in the same physical region as a deleted file, even if you have not written anything to it you can sometimes read the content of the deleted file. 517 518 * You can call DeleteDirectory and RenameDirectory on the root directory for expanded save data. 519 520 * You can rename save data and expanded save data to "." or "..". 521 You cannot open or delete files that have been renamed in this way. 522 523 * Even though you can create a directory with "..." in its name on an SDMC archive, an error (OperationDenied) is returned when you attempt to delete it. 524 525 * If you attempt to rename save data and expanded save data to a higher-level directory, everything under that directory is deleted. 526 527 528Frequency of Occurrence 529 530Depends on the symptom. 531 532Affects 533 534All applications that use the FS library. 535 536</p></pre> 537<pre><p class="spec"> 538Symptom 539 540If you set the battery to 0% with the PARTNER-CTR debugger software, the debugger hangs. 541 542Frequency of Occurrence 543 544Always. 545 546Affects 547 548All applications 549 550Comments 551 552The only way to check shutdown processing is to actually set the battery to 0 using a CTR test unit. 553 554</p></pre> 555<pre><p class="spec"> 556Symptom 557 558Although a screen is displayed to instruct you to return to the HOME Menu if a card is removed while card-based software is running, you sometimes cannot return to the HOME Menu by pressing the HOME Button at this screen (the upper and lower screens will remain black). 559 560 561Frequency of Occurrence 562 563Approximately one in ten times. 564 565Affects 566 567All card-based software 568 569</p></pre> 570<pre><p class="spec"> 571Symptom 572 573When you run the following functions, sound is sometimes cut off with a noise that sounds like "chi." 574 575 * nn::mic::CTR::SetAmp function (with false specified as an argument) 576 * nn::mic::CTR::SetLowPassFilter function 577 578Frequency of Occurrence 579 580Approximately one in ten times. 581 582Affects 583 584All applications that use the microphone. 585 586Comments 587 588The noise is caused when sound is cut off by the relevant function blocking sound processing for a long time. 589To work around this problem, run the functions in question when you stop sound. 590 591</p></pre> 592<pre><p class="spec"> 593Symptom 594 595If the system is opened and closed rapidly while the cameras are being used, <CODE>Activate</CODE> continues to return the <CODE>IsSleeping</CODE> error. 596 597Frequency of Occurrence 598 599The precise frequency at which this occurs is unknown because it is only caused by the act of opening and closing the system rapidly. 600Because this is by nature infrequent and is resolved when the system is opened and closed, it is probably the case that recovery often occurs without the user noticing. 601 602Affects 603 604All applications that use the cameras. 605 606Comments 607 608Opening and closing the system once resolves this issue. 609 610</p></pre> 611<pre><p class="spec"> 612Symptom 613 614The AC library's <CODE>Connect</CODE> function sometimes returns <CODE>ResultSuccess</CODE> when it succeeds; this differs from the information in the Function Reference Manual. 615 616Frequency of Occurrence 617 618This occurs infrequently when <CODE>Connect</CODE> succeeds. 619 620Affects 621 622All applications that use the AC library. 623 624Comments 625 626Because there is no need to use different conditional branches that distinguish between ResultLanConnected and ResultWanConnected, which should have originally been returned when Connect succeeds, handle IsSuccess instead. 627 628 629</p></pre> 630<pre><p class="spec"> 631Symptom 632 633If you open and close the system rapidly or perform an applet transition while the cameras are being used, the upper half of the captured image may be displayed on the lower screen and the lower half of the captured image may be displayed on the upper screen. 634 635Frequency of Occurrence 636 637The probability of reproducing this decreases as you use the cameras at higher frame rates. 638 639Just for reference, we have heard reports of this occurring in applications that run at 15 fps but not from applications that run at 30 fps. 640The reproducibility also increases the sooner the application calls <CODE>SetReceiving</CODE> after the previous transfer has completed. 641 642Affects 643 644All applications that use the cameras. 645 646Comments 647 648This problem can be resolved by closing the system again and then opening it after it has entered Sleep Mode. 649 650If you stop and restart capture operations from the callback function registered by applet::SetAwakeCallback to be invoked upon recovery from Sleep Mode (when the system is opened), no problems occur. 651 652Specifically, this is the following sequence. 653 654<CODE>StopCapture</CODE> → Wait for the capture operation to stop → <CODE>ClearBuffer</CODE> → <CODE>SetReceiving</CODE> → <CODE>StartCapture</CODE> 655 656</p></pre> 657<pre><p class="spec"> 658Symptom 659 660When you format the save data in a card that was intentionally spoofed, the data is sometimes not formatted correctly even if the return value indicates success. 661In this case, <CODE>Mount</CODE> will fail and return <CODE>BadFormat</CODE> or <CODE>MediaAccessError</CODE> immediately after <CODE>Format</CODE> or after several files have been created. 662 663Frequency of Occurrence 664 665The problem only occurs when data is intentionally spoofed. In general, it will never occur if cards are just inserted and removed with the final retail product. 666 667Affects 668 669All card-based software 670 671Comments 672 673This is restored normally if <CODE>Format</CODE> is run when <CODE>BadFormat</CODE> or <CODE>MediaAccessError</CODE> is returned. 674 675</p></pre> 676<pre><p class="spec"> 677Symptom 678 679If a card's save data is in an invalid format, you should be able to run nn::fs::FormatSaveData to put the save data into a normal state, but in some rare cases the invalid format is not cleared up even if FormatSaveData itself returns ResultSuccess. 680 681 682 683Frequency of Occurrence 684 685Because this becomes less likely as you continue to use save data following a format and also as the number of bytes written increases, it does not have a large effect on normal usage. 686 687 688However, it can be relatively easier for this to occur in format-destroy cycles for debugging. 689 690 691Affects 692 693All card-based software 694 695Comments 696 697You do not need any additional implementation other than one that handles errors for invalid formats. 698If the aforementioned symptom occurs, several of the functions run after FormatSaveData will return errors associated with nn::fs::ResultBadFormat. 699 700If you call FormatSaveData again at this time, save data returns to the normal state. 701# This means repeating the sequence for handling corrupted save data twice. 702 703</p></pre> 704<pre><p class="spec"> 705Symptom 706 707The V-Sync for the left and right cameras will on rare instances fail to match even if the camera::SynchronizeVsyncTiming function is called upon recovery from Sleep Mode. 708 709 710Frequency of Occurrence 711 712This occurs infrequently only when recovering from Sleep Mode. 713The problem does not occur if the function is called when the cameras are started or during a HOME Menu transition. 714 715Affects 716 717All applications that use the outer cameras. 718 719Comments 720 721The symptoms appear to be resolved by inserting a HOME Menu transition. 722 723</p></pre> 724<br /> 725</p> 726 727<div align="right"><a href="#top">Back to top</a></div> 728 729<table border="0" height="100%"><tr><td style="background-color : white;"></td></tr></table> 730<hr><p>CONFIDENTIAL</p></body> 731</html> 732