• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..--

build/22-Apr-2024-4,8923,406

documents/22-Apr-2024-345,356307,570

include/22-Apr-2024-120,42452,176

libraries/22-Apr-2024-

resources/22-Apr-2024-682663

sources/libraries/22-Apr-2024-33,34620,986

tools/22-Apr-2024-2,2592,105

Readme-CTR_SDK-1_0_0-en.htmlD20-Nov-201822.1 KiB732366

Readme-CTR_SDK-1_0_0-en.html

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-&gt;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 &quot;.&quot; or &quot;..&quot;.
521      You cannot open or delete files that have been renamed in this way.
522
523    * Even though you can create a directory with &quot;...&quot; 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 &quot;chi.&quot;
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