CTR-SDK Change Log


CTR-SDK 1.3.0 Release (2011/04/21)
Note 129-01:(FRIENDS) Changed so that GetFriendKeyList now returns ResultTooLarge [SDK]
Note 129-02:(FS) Revised the Result when save data double-mounting [SDK]
Note 129-03:(GR) Fixed problem with the command to disable light source, generated by FragmentLight::MakeDisableCommand [SDK]
Note 129-04:(GR) Added text to the RenderState function reference about exclusive fragment operation modes [SDK]
Note 129-05:(GR) Revised the RenderState::StencilTest::maskOp default value to be 0xff [SDK]
Note 129-06:(GR) Added a function to generate commands for only texture combiner constant color [SDK]
Note 129-07:(GR) Fixed problem of GPU hanging when padding was used for vertex attribute load array elements [SDK]
Note 129-08:(HID) For debug purposes, added a mechanism for detecting SELECT [SDK]
Note 129-09:(SND) Fixed problem of nn::snd::Delay and nn::snd::Reverb becoming disabled after recovering from sleep and from the HOME Menu [SDK]
Note 129-10:(TOOL) Changed WMTestTool [SDK]
Note 129-11:(TOOL) Changed capacity restrictions on banner data [SDK]
Known Issues with SDK 1.3.0 Release
CTR-SDK 1.2.0 Release (2011/03/15)
Note 128-01:(BOSS) Revised to reflect that NADL task automatically configures CA certificate [SDK]
Note 128-02:(BOSS) Changed default setting of task TASK_PERMISSION attribute [SDK]
Note 128-03:(DBG) Added macro for debugging log output [SDK]
Note 128-04:(FS) Changed specification for ROM archive API errors [SDK]
Note 128-05:(FS) Removed ResultArchiveInvalidated from error handling for expanded user data [SDK]
Note 128-06:(GR) Fixed bug in Shader::MakeOutAttrCommand [SDK]
Note 128-07:(GR) Fixed bug preventing vertex attribute enabled with Vertex::EnableAttrAsArray to be disabled with Vertex::DisableAttr [SDK]
Note 128-08:(GX) Updated PICA macro header [SDK]
Note 128-09:(HID) Changed zero-point correction setting of gyro sensor [SDK]
Note 128-10:(HIO) Added nn::hio::CTR::SerialChannel::GetReadableSize to reference [SDK]
Note 128-11:(MATH) Added functions missing from reference [SDK]
Note 128-12:(TOOL) Added language-setting function of Config tool [SDK]
Note 128-13:(TOOL) Changed DevMenu [SDK]
Note 128-14:(TOOL) Changed makebanner [SDK]
Note 128-15:(TOOL) Added friend presence load generation tool [SDK]
Note 128-16:(TOOL) Added local communication ID checking tool [SDK]
Note 128-17:(TOOL) Added jamming generation tool [SDK]
Note 128-18: (UBL) Revised the reference manual [SDK]
Note 128-19: (UDS) Improved error checking when functions are executed in an uninitialized state [SDK]
Known Issues with SDK 1.2.0 Release
CTR-SDK 1.2.0 Sample Demos (2011/03/15)
Note 127-01:(AC) Removed call to fs::Finalize from Sample Demos [Sample Demos]
Note 127-02:(BOSS) Removed code for configuring CA certificate [Sample Demos]
Note 127-03:(CAMERA) Fixed bug in Stereo demo [Sample Demos]
Note 127-04:(CEC) Added StreetPass sample demo [Sample Demos]
Note 127-05:(FS) Created sample demo [Sample Demos]
Note 127-06:(GR) Revised GR library demo so that MemeoryMgr::AllocateFCRAM acquires the ROM buffer in the lib_grfw library [Sample Demos]
Known Issues with SDK 1.2.0 Sample Demos
CTR-SDK 0.14.24 System Updater (2011/03/03)
Note 126-01:(BOSS) Fixed bug where BOSS storage was not unmounted [System Updater]
Note 126-02:(BOSS) Fixed bug where task cancellation was interpreted as task success and no data was downloaded [System Updater]
Note 126-03:(BOSS) Fixed bug where data was downloaded to the wrong BOSS storage [System Updater]
Note 126-04:(BOSS) Fixed bug where the same data would be downloaded [System Updater]
Note 126-05:(GX) Fixed bug where executing nngxFinalize caused a black-screen freeze [System Updater]
Note 126-06:(SOCKET) Fixed bug where name resolution would always fail when a DNS server with a specific address was configured [System Updater]
Note 126-07:(TOOL) Added language-setting function to Config tool [SDK|System Updater]
Note 126-08:(TOOL) Changed SystemUpdater specification [System Updater]
Known Issues with System Updater in SDK Version 0.14.24
CTR-SDK 1.1.0 Release (2011/02/15)
Note 125-01: (CAMERA) Revised the SetReceiving function reference [SDK]
Note 125-02: (CFG) Added a function for verifying PIN numbers for Parental Controls [SDK]
Note 125-03: (DLP) Changed the specifications of the FakeClient::StartScan function [SDK|Sample Demos]
Note 125-04: (DLP) Fixed a bug where user names were not NULL-terminated [SDK]
Note 125-05: (DevEnv) Addressed symptoms treated as specifications [SDK]
Note 125-06: (FND) Added an interface for returning the number of blocks already allocated for the unit heap [SDK]
Note 125-07: (FS) Revised the error return value when mounting an archive of the same name [SDK]
Note 125-08: (GX) Revised the default settings of dmp_FragmentLightSource[i].position and dmp_FragmentLightSource[i].spotDirection [SDK]
Note 125-09: (GX) Added NN_GX_CMDLIST_GAS_UPDATE to the nngxSetCmdlistParameteri function [SDK]
Note 125-10: (GX) Added the new nngxSwapBuffersByAddress function [SDK]
Note 125-11: (GX) Revised default settings related to the stencil test [SDK]
Note 125-12: (GX) Updated documentation [SDK]
Note 125-13: (GX) Updated the reserved geometry shader [SDK]
Note 125-14: (GX) Fixed a bug with the glShaderBinary function that would occur under specific conditions [SDK]
Note 125-15: (RDT) Fixed a bug related to assert failures [SDK]
Note 125-16: (SND) Fixed a bug when using AllocVoice where NULL would return and then the sound thread would stop [SDK]
Note 125-17: (SND) Fixed bug causing noise when using linear interpolation [SDK]
Note 125-18: (TOOL) Added a feature for selecting menus to the Config tool [SDK]
Note 125-19: (TOOL) Added a binary for save data that generates nn::fs::ResultVerificationFailed [SDK]
Note 125-20: (TOOL) Added a feature for outputting a warning when conditions leading to hardware bugs are violated when using the shader [SDK]
Note 125-21: (TOOL) Added a feature for measuring shader performance [SDK]
Note 125-22: (UDS) Fixed a bug where user names obtained using the NetworkDescriptionReader::GetNodeInformationList function were not being NULL-terminated [SDK]
Known Issues with SDK 1.1.0 Release
CTR-SDK 1.1.0 SampleDemos (2011/02/15)
Note 124-01: (CAMERA) Revised the Stereo demos [SampleDemos]
Note 124-02: (DLP) Changed the specifications of the FakeClient::StartScan function [SDK|Sample Demos]
Note 124-03: (DLP) Fixed a bug where the SimpleServer would not run except in the JP market [SampleDemos]
Note 124-04: (DevEnv) Switched electronic manuals for samples [SampleDemos]
Note 124-05: (DevEnv) Added sample demo references [SampleDemos]
Note 124-06: (FS) Fixed a bug with the FragmentLightSimpleCmd sample demo [SampleDemos]
Note 124-07: (GX) Added a ProjectionTexture sample [SampleDemos]
Note 124-08: (GX) Revised how functions used with demo1 save data are used [SampleDemos]
Note 124-09: (HID) Added a gyro demo [SampleDemos]
Note 124-10: (TPL) Fixed a bug with the ReadTexturePackage2 demo [SampleDemos]
Known Issues with SDK 1.1.0 Sample Demos
CTR-SDK 1.0.0 Release (2011/01/25)
Note 123-01: (CEC) Removed version of nn::cec::MessageBox::CreateMessageBox function that does not specify icon data from the public API [SDK]
Note 123-02: (CEC) Revised the Function Reference Manual [SDK]
Note 123-03: (FS) Fixed bug causing verification failure on loading from ROM [SDK]
Note 123-04: (GR) Changed Shader::SetDrawMode function to support GL_TRIANGLE_STRIP and GL_TRIANGLE_FAN when in triangle render mode [SDK]
Note 123-05: (GR) Changed member function that generates commands to a const member function for the gr::Viewport, gr::Scissor, and gr::Shadow classes [SDK]
Note 123-06: (GR) Changed all private member variables to protected member variables [SDK]
Note 123-07: (GR) Fixed bug in command to set register 0x85 to the physical address of a cube map's +X plane [SDK]
Note 123-08: (GR) Added function and class methods to disable graphics settings [SDK]
Note 123-09: (GR) Added methods to generate fragment lighting light source color information commands and geometric information commands [SDK]
Note 123-10: (GX) Fixed a bug in fragment light shadow attenuation commands [SDK]
Note 123-11: (GR) Added methods to configure lookup table commands when input values are [0.0, 1.0] or [-1.0, 1.0] [SDK]
Note 123-12: (GR) Added default argument to configure the last difference value of a lookup table [SDK]
Note 123-13: (GX) Added a shader assembler performance check feature [SDK]
Note 123-14: (MIC) Changed Finalize function to call ResetBuffer internally [SDK]
Note 123-15: (NGC) Revised the Function Reference Manual [SDK]
Note 123-16: (SND) Fixed bug where the Voice object obtained from AllocVoice was sometimes not initialized [SDK]
Note 123-17: (SND) Fixed bug causing infinite loop when calling applet::ProcessPowerButton or applet::ProcessHomeButton when there is no sound thread [SDK]
Note 123-18: (SND) Fixed bug causing noise when using linear interpolation [SDK]
Note 123-19: (TOOL) Changed CecLotcheckTool [SDK]
Note 123-20: (TOOL) Removed FriendTool [SDK]
Note 123-21: (UDS) Split out the CreateNetwork and Scan functions [SDK]
Note 123-22: (UDS) Emphasized the size check of the passphrase specified in the CreateNetwork and ConnectNetwork functions [SDK]
Note 123-23: (UDS) Changed SendTo argument check to an assert [SDK]
Note 123-24: (UDS) Changed data size specifiable in the SetApplicationDataToBeacon function [SDK]
Note 123-25: (UDS) Added constants for receive buffer size specified in the uds::Attach function [SDK]
Note 123-26: (UDS) Changed Result value for the uds::DestroyEndpoint function [SDK]
Known Issues with SDK 1.0.0 Release
CTR-SDK 1.0.0 Sample Demos (2011/01/25)
Note 122-01: (APPLET) Revised to reflect demo1-sys [SampleDemos]
Note 122-02: (GR) Added the GraphicsDrawing demo for rendering 2D shapes [SampleDemos]
Note 122-03: (GR) Added the ParticleSystem demo for rendering the results of particle systems using the reserved geometry shader [SampleDemos]
Note 122-04: (GX) Fixed bug causing strange rotations of the model when running for extended periods [SampleDemos]
Known Issues with SDK 1.0.0 Sample Demos
Previous Revision Histories

CTR-SDK Version 1.3.0 Release

(2011/04/21)


Note 129-01:(FRIENDS) Changed so that GetFriendKeyList now returns ResultTooLarge [SDK]

The GetFriendKeyList function now returns ResultTooLarge when the attempt is made to get a list that has more users than can be registered to a friend list.


Note 129-02:(FS) Revised the Result when save data double-mounting [SDK]

The MountSaveData function returned success when save data were being mounted twice. That has been fixed so the function now returns the correct Result.


Note 129-03:(GR) Fixed problem with the command to disable light source, generated by FragmentLight::MakeDisableCommand [SDK]

When FragmentLight::MakeDisableCommand generated the command to disable a light source, the value of register 0x1c6 was incorrectly set to 0. That has been fixed so now it is set to 1.


Note 129-04:(GR) Added text to the RenderState function reference about exclusive fragment operation modes [SDK]

Added supplemental information to the function reference for the RenderState function regarding exclusive fragment operations (MODE_GL/GAS_ACC_DMP/SHADOW_DMP) and logical operation/blending mode settings.


Note 129-05:(GR) Revised the RenderState::StencilTest::maskOp default value to be 0xff [SDK]

The default value for RenderState::StencilTest::maskOp was 0, but that was revised to 0xff in order to match the OpenGL specification.


Note 129-06:(GR) Added a function to generate commands for only texture combiner constant color [SDK]

Added the Combiner::Stage::MakeConstantColorCommand function, which generates commands only for texture combiner constant color.


Note 129-07:(GR) Fixed problem of GPU hanging when padding was used for vertex attribute load array elements [SDK]

The GPU would hang when Vertex::MakeEnableAttrCommand generated a command and padding was used for vertex attribute load array elements. That problem was fixed.


Note 129-08:(HID) For debug purposes, added a mechanism for detecting SELECT [SDK]

For purposes of debugging, added the nn::hid::EnableSelectButton function to get SELECT and the nn::hid::DisableSelectButton function to revert to the disabled state.


Note 129-09:(SND) Fixed problem of nn::snd::Delay and nn::snd::Reverb becoming disabled after recovering from sleep and from the HOME Menu [SDK]

If the system transitioned to sleep or the HOME Menu while nn::snd::Delay or nn::snd::Reverb was being used, the output from those would no longer be applied after recovering. That bug was fixed.


Note 129-10:(TOOL) Changed WMTestTool [SDK]

Deleted unnecessary features from WMTestTool.


Note 129-11:(TOOL) Changed capacity restrictions on banner data [SDK]

Changed some of the values for data capacity restrictions.
In addition, changed so that an error now occurs during conversion if these data restrictions are violated.


Known Issues with SDK 1.3.0 Release

See the Symptoms Treated as Specifications file in the CTR-SDK for details on known issues with System Updater.

CTR-SDK Version 1.2.0 Release

(2011/03/15)


Note 128-01:(BOSS) Revised to reflect that NADL task automatically configures CA certificate [SDK]

Revisions have been made such that when registering a NADL task, the necessary CA certificate is automatically set in the BOSS library.
As a result, CA certificate setting processes are no longer needed on the application side.


Note 128-02:(BOSS) Changed default setting of task TASK_PERMISSION attribute [SDK]

Changed the default setting of the task's TASK_PERMISSION attribute (the value when no specific configuration was made) to TASK_PERMISSION_IN_PARENTAL_CONTROL (task able to operate when Parental Controls setting enables the Internet).


Note 128-03:(DBG) Added macro for debugging log output [SDK]

Added NN_LOGV and NN_PUT macros for debugging log output.


Note 128-04:(FS) Changed specification for ROM archive API errors [SDK]

Changed the specifications of the following two functions to transition to the error display screen, rather than displaying an error, when an internal error occurs.

For practical purposes, these two functions now only return on success, eliminating the need for error handling on the application side.


Note 128-05:(FS) Removed ResultArchiveInvalidated from error handling for expanded user data [SDK]

There were cases in which ResultArchiveInvalidated was returned when mounting, creating, deleting, or enumerating an expanded save data archive, but these were all replaced with a ResultMediaNotFound error.
Consequently, error handling for ResultArchiveInvalidated is no longer needed when dealing with expanded save data archives.
Expanded save data directory and file operations still require error handling for ResultArchiveInvalidated as before.


Note 128-06:(GR) Fixed bug in Shader::MakeOutAttrCommand [SDK]

There was a bug in Shader::MakeOutAttrCommand_ output attribute commands generated (including generic attributes) when using a reserved geometry shader (for example, point sprites).


Note 128-07:(GR) Fixed bug preventing vertex attribute enabled with Vertex::EnableAttrAsArray to be disabled with Vertex::DisableAttr [SDK]

There was a bug in Vertex::EnableAttrAsArray, where vertex attributes enabled by this function could only be disabled via Vertex::DisableAll. Fixed so that they can also be disabled via Vertex::DisableAttr.


Note 128-08:(GX) Updated PICA macro header [SDK]

Added enumerated constants PICA_DATA_TEXTURE_FORMAT_SHADOW_UNSIGNED_INT and PICA_DATA_TEXTURE_FORMAT_GAS_DMP_UNSIGNED_SHORT to enumeration PicaDataTexture0SamplerType in order to specify textures and gas textures for shadow maps.


Note 128-09:(HID) Changed zero-point correction setting of gyro sensor [SDK]

Changed to revise effect of zero-point correction when set to hid::ZeroDriftMode value GYROSCOPE_ZERODRIFT_STANDARD.
This will make it more likely that zero-point correction will apply in STANDARD.
There will be no change for TIGHT or LOOSE.
Re-adjust the setting appropriately for applications using STANDARD.
With the new settings, TIGHT is closest to the old STANDARD setting.


Note 128-10:(HIO) Added nn::hio::CTR::SerialChannel::GetReadableSize to reference [SDK]

Added information to Function Reference Manual about differences in receivable sizes depending on argument attr.


Note 128-11:(MATH) Added functions missing from reference [SDK]

None of the functions in include/nn/math/math_Utility.h were in the Function Reference Manual; so they were added in this revision.


Note 128-12:(TOOL) Added language-setting function of Config tool [SDK]

Changed the Config tool so that the language can be configured.
The menu settings may also change if the language setting is invalid.
See the documentation for further details.


Note 128-13:(TOOL) Changed DevMenu [SDK]

Made the following changes to DevMenu.


Note 128-14:(TOOL) Changed makebanner [SDK]

Made the following modifications to makebanner.


Note 128-15:(TOOL) Added friend presence load generation tool [SDK]

Added FriendTestingPartner to run friend presence background processing on a CTR linked via a friend relationship, by frequently updating friend presence items.


Note 128-16:(TOOL) Added local communication ID checking tool [SDK]

Added UdsLocalIdChecker tool for checking local communication ID.


Note 128-17:(TOOL) Added jamming generation tool [SDK]

Added WMTestTool, which is used as a Nintendo DS wireless testing tool.
On the CTR, only use the function to generate jamming (Noise Mode).
To use the tool, import cia (located in $CTR_SDK/tools/TargetTools/CTR-TS/Release) to the CTR and launch it from DevMenu.
This tool runs in TWL compatibility mode.
For more details, see the CTR-SDK Function Reference.


Note 128-18: (UBL) Revised the reference manual [SDK]

Changed the phrase expanded save data to the system's NAND memory in the UBL function reference.
Also deleted the unnecessary reference to DevMenu from the Description of the Initialize function.


Note 128-19: (UDS) Improved error checking when functions are executed in an uninitialized state [SDK]

Revised so that a check for completed initialization is performed for functions that can only be executed between the execution of the uds::Initialize and the uds::Finalize functions.


Known Issues with SDK 1.2.0 Release

See the Symptoms Treated as Specifications file in the CTR-SDK for details on known issues with System Updater.

CTR-SDK Version 1.2.0 SampleDemos

(2011/03/15)


Note 127-01:(AC) Removed call to fs::Finalize from Sample Demos [Sample Demos]

These functions did not require calls to fs::Finalize so they were deleted from the ac-related sample demos.


Note 127-02:(BOSS) Removed code for configuring CA certificate [Sample Demos]

Since the necessary CA certificate is now automatically set in the BOSS library when registering NADL tasks, the unnecessary CA settings code has been removed from the sample demo.


Note 127-03:(CAMERA) Fixed bug in Stereo demo [Sample Demos]

In the camera's Stereo demo, if the system was closed while capture was stopped, Disable would remain displayed on the lower screen. This was fixed because there was a related bug when resuming capture.


Note 127-04:(CEC) Added StreetPass sample demo [Sample Demos]

There was no sample demo for screen display, so a new demo (cec_demo2) was added to demonstrate this.


Note 127-05:(FS) Created sample demo [Sample Demos]

Created sample demo for FS library.
This contains sample code for mount and file operations on ROM archives, save data, and expanded save data.


Note 127-06:(GR) Revised GR library demo so that MemeoryMgr::AllocateFCRAM acquires the ROM buffer in the lib_grfw library [Sample Demos]

Revised GraphicSystem::Initialize in the lib_grfw library (a framework for GR library demos) so that the ROM buffer is acquired via MemeoryMgr::AllocateFCRAM rather than new.


Known Issues with SDK 1.2.0 Sample Demos

 None.


CTR-SDK Version 0.14.24 System Updater

(2011/03/03)


Note 126-01:(BOSS) Fixed bug where BOSS storage was not unmounted [System Updater]

Fixed a bug where, if the GetNsDataHeaderInfo function was called for an invalid serial ID, any BOSS storage mounted within that would not be able to be unmounted.


Note 126-02:(BOSS) Fixed bug where task cancellation was interpreted as task success and no data was downloaded [System Updater]

Fixed a bug where, if a task was cancelled at a specific time, the task would end up being handled as successful and subsequent data downloads would not work.


Note 126-03:(BOSS) Fixed bug where data was downloaded to the wrong BOSS storage [System Updater]

Fixed a bug where, due to an exception error in an application's information database, download data would end up being downloaded to inappropriate BOSS storage.


Note 126-04:(BOSS) Fixed bug where the same data would be downloaded [System Updater]

Fixed a bug where an error in task execution resulted in the clearing of LastModifiedTime, so that the same data would end up being downloaded again the next time.


Note 126-05:(GX) Fixed bug where executing nngxFinalize caused a black-screen freeze [System Updater]

Fixed a bug where the nngxFinalize call's timing would sometimes overlap that of V-Sync and in rare cases result in a system freeze.


Note 126-06:(SOCKET) Fixed bug where name resolution would always fail when a DNS server with a specific address was configured [System Updater]

Fixed a bug where name resolution always failed when the DNS server address, either distributed by DHCP or set manually, was between x.x.x.224 and x.x.x.239.


Note 126-07:(TOOL) Added language-setting function to Config tool [SDK|System Updater]

Changed the Config tool so that the language can be configured.
The menu settings may also change if the language setting is invalid.
See the Config tool documentation for details.


Note 126-08:(TOOL) Changed SystemUpdater specification [System Updater]

Made the following changes to System Updater.


Known Issues with System Updater in SDK Version 0.14.24


CTR-SDK Version 1.1.0 Release

(2011/02/15)


Note 125-01: (CAMERA) Revised the SetReceiving function reference [SDK]

The reference for how to use handles with SetReceiving was revised.


Note 125-02: (CFG) Added a function for verifying PIN numbers for Parental Controls [SDK]

The CheckParentalControlPinCode function was added for verifying Parental Controls PIN codes.
Plans call for removing the GetParentalControlPinCode function used to get the PIN code.
Be sure to use the CheckParentalControlPinCode function to verify PIN codes.


Note 125-03: (DLP) Changed the specifications of the FakeClient::StartScan function [SDK|Sample Demos]

Because old specifications of the FakeClient::StartScan function allowed developers to specify a wireless channel when they should not have been able to, a FakeClient::StartScan function that does not allow wireless channel specification has been prepared.
This function automatically scans all scannable channels.
Use this function from now on.
Also, use of the FakeClient::GetChannels functions, used to get scannable channels, is prohibited.

Although the FakeClient::GetChannels function and the FakeClient::StartScan function that allows wireless channel specification can be accessed to maintain mutual compatibility, please use the new functions so that unnecessary problems do not arise.


Note 125-04: (DLP) Fixed a bug where user names were not NULL-terminated [SDK]

A bug was fixed where node user name strings did not terminate with NULL when the string was 10 characters long.
With this change, the NodeInfo user names obtained by the following functions now always include NULL at the end (11th character).


Note 125-05: (DevEnv) Addressed symptoms treated as specifications [SDK]

A document about symptoms that are handled as specifications under CTR-SDK 1.x has been added to $CTR_SDK/documents/ReleaseNotes/knownIssues.html.


Note 125-06: (FND) Added an interface for returning the number of blocks already allocated for the unit heap [SDK]

An interface for returning the number of blocks already allocated for the unit heap has been added.


Note 125-07: (FS) Revised the error return value when mounting an archive of the same name [SDK]

There was a bug where nn::fs::ResultOutOfMemory was being returned as an error when mounting a new archive using a name already registered.
This has been revised so that nn::fs::ResultAlreadyExists is returned.


Note 125-08: (GX) Revised the default settings of dmp_FragmentLightSource[i].position and dmp_FragmentLightSource[i].spotDirection [SDK]

A bug has been fixed where the default settings for the reserved uniforms, dmp_FragmentLightSource[i].position and dmp_FragmentLightSource[i].spotDirection, did not match the specification manual.


Note 125-09: (GX) Added NN_GX_CMDLIST_GAS_UPDATE to the nngxSetCmdlistParameteri function [SDK]

pname has been newly added for making settings related to updating additive blend results for rendering gas density information.


Note 125-10: (GX) Added the new nngxSwapBuffersByAddress function [SDK]

The nngxSwapBuffersByAddress function has been added. This function can specify the address of a buffer to be directly swapped without using a display buffer object.


Note 125-11: (NGC) Revised default settings related to the stencil test [SDK]

When using the glStencilFunc function for stencil tests, the default setting for the func argument differed in terms of the state on the driver and the value in the GPU register.
Although the state was GL_ALWAYS as per specifications, the register value was GL_NEVER. If glStencilFunc(GL_ALWAYS, 0, ~0) was specified, this would lead to a bug where operation would advance using GL_NEVER without updating the value of the register to match the actual state.
This bug has been fixed.


Note 125-12: (GX) Updated documentation [SDK]

The following graphics-related documentation was updated.


Note 125-13: (GX) Updated the reserved geometry shader [SDK]

The reserved geometry shader has been updated as follows.


Note 125-14: (GX) Fixed a bug with the glShaderBinary function that would occur under specific conditions [SDK]

A bug was fixed where an error was being illegally generated by the glShaderBinary function when a generic attribute was being specified for an attribute later than the seventh in the definition of a #pragma output_map statement in the shader assembler.


Note 125-15: (SND) Fixed a bug related to assert failures [SDK]

A bug was fixed where the Sender::Cancel function would sometimes result in an assert failure if signal reception was poor, regardless of whether the build was a Release build.
Also, code was revised so that the ASSERT macro of the RDT library is disabled for Release builds.


Note 125-16: (SND) Fixed a bug when using AllocVoice where NULL would return and then the sound thread would stop [SDK]

A bug was fixed that would occur when the AllocVoice function was called from a thread other than a sound thread where NULL would be returned and then the sound thread would stop.
This bug did not occur in CTR-SDK 0.14.23 or earlier.


Note 125-17: (SND) Fixed bug causing noise when using linear interpolation [SDK]

A bug found in CTR-SDK 1.0 was fixed where noise would arise in segments without any sound if INTERPOLATION_TYPE_LINEAR was specified using the nn::snd::Voice::SetInterpolationType function.
This bug did not occur in CTR-SDK 0.14.23 or earlier.


Note 125-18: (TOOL) Added a feature for selecting menus to the Config tool [SDK]

A feature has been added so that Config tool can be used to select the menu to be started when power is turned on or when performing debugger reset. Up until this version, this menu could only be selected using MenuSelector.csu.
For details, see the documentation for the Config tool.


Note 125-19: (TOOL) Added a binary for save data that generates nn::fs::ResultVerificationFailed [SDK]

A binary so the nn::fs::MountSaveData function returns nn::fs::ResultVerificationFailed has been added to $CTR_SDK/tools/TargetTools/CTR-TS.
Be sure to write it to a backup device using PARTNER-CTR and use it.


Note 125-20: (TOOL) Added a feature for outputting a warning when conditions leading to hardware bugs are violated when using the shader [SDK]

The shader assembler and shader linker now output a warning if an attempt is made to use a shader implementation described in Section 2.10, "Shader Implementations that Cause Invalid Operations" added to $CTR_SDK/documents/DMPGL20/VertexShaderReferenceManual.pdf under this version.


Note 125-21: (TOOL) Added a feature for measuring shader performance [SDK]

A feature has been added for detecting instructions that cause stalling and a feature that estimates the number of clocks required per vertex when executing from a shader assembler implementation specified as an option to ctr_VertexShaderLinker32.exe.
These features are disabled by default.
For details, see $CTR_SDK/documents/DMPGL20/VertexShaderReferenceManual.pdf.


Note 125-22: (UDS) Fixed a bug where user names obtained using the NetworkDescriptionReader::GetNodeInformationList function were not being NULL-terminated [SDK]

A bug was fixed where strings were not being NULL-terminated if the string for a user name was 10 characters long when getting a user name using the NetworkDescriptionReader::GetNodeInformationList function if scanning was performed after turning the power on and UDS communication had not yet been carried out even once, including by another application.


Known Issues with SDK 1.1.0 Release

See the Symptoms Treated as Specifications file in the CTR-SDK for details on known issues with SystemUpdater.

CTR-SDK Version 1.1.0 SampleDemos

(2011/02/15)


Note 124-01: (CAMERA) Revised the Stereo demos [SampleDemos]

Added support for the POWER Button and HOME Menu button to the camera/Stereo demo.
Also, the following bugs associated with this demo were fixed.


Note 124-02: (DLP) Changed the specifications of the FakeClient::StartScan function [SDK|Sample Demos]

Because old specifications of the FakeClient::StartScan function allowed developers to specify a wireless channel when they should not have been able to, a FakeClient::StartScan function that does not allow wireless channel specification has been prepared.
This function automatically scans all scannable channels.
Use this function from now on.
Also, use of the FakeClient::GetChannels functions, used to get scannable channels, is prohibited.

Although the FakeClient::GetChannels function and the FakeClient::StartScan function that allows wireless channel specification can be accessed to maintain mutual compatibility, please use the new functions so that unnecessary problems do not arise.


Note 124-03: (DLP) Fixed a bug where the SimpleServer would not run except in the JP market [SampleDemos]

A bug was fixed where the SimpleServer would not operate outside the JP market.
The cause was due to the fact that the JP market had been set for the Child_0 icon. The icon was changed to support all markets.


Note 124-04: (DevEnv) Switched electronic manuals for samples [SampleDemos]

The data format used in the electronic manual included with demo1 was old and could not be displayed, so it was replaced with the most recent data.


Note 124-05: (DevEnv) Added sample demo references [SampleDemos]

A description of sample demos was added under $SampleDemos/documents.


Note 124-06: (FS) Fixed a bug with the FragmentLightSimpleCmd sample demo [SampleDemos]

The bug was due to using a function not of the Try type for save data in demo1 code, so this bug was fixed by determining results using a function of the Try type.


Note 124-07: (GX) Added a ProjectionTexture sample [SampleDemos]

The sample, gx/DMPGL/ProjectionTexture, for procedural textures was newly added.


Note 124-08: (GX) Revised how functions used with demo1 save data are used [SampleDemos]

A bug was fixed where register 0x149 was not being set correctly in relation to the value of position w for Light 0.
This bug was addressed in the CTR-SDK 1.1 graphics driver update.


Note 124-09: (HID) Added a gyro demo [SampleDemos]

The sample demo gyroscope, for using the gyro, was added.


Note 124-10: (TPL) Fixed a bug with the ReadTexturePackage2 demo [SampleDemos]

A bug was fixed where incorrect mipmap settings were being used by the ReadTexturePackage2 demo.


Known Issues with SDK 1.1.0 Sample Demos

  None.


CTR-SDK Version 1.0.0 Release

(2011/01/25)


Note 123-01: (CEC) Removed version of nn::cec::MessageBox::CreateMessageBox function that does not specify icon data [SDK]

Removed the version of the nn::cec::MessageBox::CreateMessageBox function that does not specify icon data, since there is no need to use it.


Note 123-02: (CEC) Revised the Function Reference Manual [SDK]

Added the following to the CEC library function reference.

Also removed descriptions of the MessageBoxInfoReader class, since this class is not supported.
Also see the Programming Manual for details on how to implement.


Note 123-03: (FS) Fixed a bug causing verification failure on loading from ROM [SDK]

Fixed a bug that would rarely cause verification to fail when reading from a file or directory opened from an archive mounted using MountRom, with the function returning a Result of type nn::fs::ResultVerificationFailed.


Note 123-04: (GR) Changed Shader::SetDrawMode function to support GL_TRIANGLE_STRIP and GL_TRIANGLE_FAN when in triangle render mode [SDK]

Changed the gr::Shader class to support GL_TRIANGLE_STRIP and GL_TRIANGLE_FAN when in triangle render mode.


Note 123-05: (GR) Changed a member function that generates commands to a const member function for the gr::Viewport, gr::Scissor, and gr::Shadow classes [SDK]

Changed the gr::Viewport::MakeCommand, gr::Scissor::MakeCommand, and gr::Shadow::MakeCommand member functions to be const member functions.


Note 123-06: (GR) Changed all private member variables to protected member variables [SDK]

Changed all private member variables in the library to protected member variables.


Note 123-07: (GR) Fixed bug in command to set register 0x85 to the physical address of a cube map's +X plane [SDK]

Fixed a bug in the Texture::Unit0::MakeCommand function when generating the command to set register 0x85 to the physical address of a cube map's +X plane.


Note 123-08: (GR) Added function and class methods to disable graphics settings [SDK]

Added the gr::MakeDisableAllCommand function and other class methods to generate 3D commands to disable graphics settings (such as shader modes, vertex attributes, fog, fragment lighting, textures, and render states).


Note 123-09: (GR) Added methods to generate fragment lighting light source color information commands and geometric information commands [SDK]

Added the FragmentLight::Source::MakeColorCommand function to generate fragment lighting light source color information commands, and the FragmentLight::Source::MakeGeometryCommand function to generate geometric information commands.


Note 123-10: (GR) Fixed a bug in fragment light shadow attenuation commands [SDK]

Fixed a bug in the FragmentLight::MakeLightEnvCommand function causing miscalculation of the value in the register corresponding to the dmp_FragmentLightSource[i].shadowed uniform.


Note 123-11: (GR) Added methods to configure lookup table commands when input values are [0.0, 1.0] or [-1.0, 1.0] [SDK]

Added the LookUpTable::SetAbsTable method to configure lookup table commands when the input value is [0.0, 1.0], and the LookUpTable::SetNotAbsTable for when the input value is [-1.0, 1.0].
The LookUpTable::SetTable function is kept for compatibility purposes, and this now calls the LookUpTable::SetAbsTable function internally by default.


Note 123-12: (GR) Added default argument to configure the last difference value of a lookup table [SDK]

Added a default argument for the last difference value of a lookup table to the LookUpTable::SetTable, Fog::SetTable, ProcedureTexture::SetNoiseLookUpTable, ProcedureTexture::SetRgbMapLookUpTable, and ProcedureTexture::SetAlphaMapLookUpTable functions.
This default value is 0.0f.


Note 123-13: (GX) Added a shader assembler performance check feature [SDK]

Added a shader assembler performance check feature to the ctr_VertexShaderLinker32.exe shader linker.
See VertexShaderReferenceManual.pdf for details.


Note 123-14: (MIC) Changed Finalize function to call ResetBuffer internally [SDK]

Revised Finalize function to avoid possible unstable operation should the application forget to call ResetBuffer before calling Finalize.


Note 123-15: (NGC) Revised the reference manual [SDK]

Added the following (previously missing) content to the Function Reference Manual.


Note 123-16: (SND) Fixed a bug where the Voice object obtained from AllocVoice was sometimes not initialized [SDK]

Fixed a bug where the Voice object obtained from AllocVoice was sometimes not initialized.


Note 123-17: (SND) Fixed a bug causing infinite loop when calling applet::ProcessPowerButton or applet::ProcessHomeButton when there is no sound thread [SDK]

Fixed a bug causing an infinite loop when calling the applet::ProcessPowerButton or applet::ProcessHomeButton functions after calling the nn::snd::Initialize function but before creating a sound thread.


Note 123-18: (SND) Fixed a bug causing noise when using linear interpolation [SDK]

Fixed a bug causing noise when using INTERPOLATION_TYPE_LINEAR as the interpolation method of a Voice object.


Note 123-19: (TOOL) Changed CecLotcheckTool [SDK]

Made the following changes to CecLotcheckTool.


Note 123-20: (TOOL) Deleted FriendTool [SDK]

Removed FriendTool for registering friends from the CTR-SDK package.
Use the friend roster included in the HomeMenuPackage for establishing friendships.


Note 123-21: (UDS) Split out the CreateNetwork and Scan functions [SDK]

In previous versions, it was possible for developers to input argument values specifying channels and other communication parameters that should not be used. To fix this issue, the automatically selectable parameters were removed, and the new CreateNetwork and Scan functions are now provided as the standard interfaces for these features.
The previous function that specifies the channels to use as the default argument value is still available for purposes of backwards compatibility, but Nintendo recommends using and supporting the new function to avoid any possible problems.


Note 123-22: (UDS) Emphasized the size check of the passphrase specified in the CreateNetwork and ConnectNetwork functions [SDK]

Previous versions contained a bug in the CreateNetwork and ConnectNetwork functions, allowing the size of the passphrase to be specified as 0. This was changed to check for passphrases of at least 8 and at most 255 characters.


Note 123-23: (UDS) Changed the SendTo function's argument check to an assert [SDK]

Since any problems with data being sent will be discovered during normal debugging, there is little need for operational checks in production versions, so these checks were changed to NN_ASSERT checks.


Note 123-24: (UDS) Changed data size specifiable in the SetApplicationDataToBeacon function [SDK]

The SetApplicationDataToBeacon function reference stated that the argument data size had to be less than NET_DESC_APPDATA_SIZE_MAX. However, the function specification states that data can be NET_DESC_APPDATA_SIZE_MAX in size, so the reference content was changed to reflect this, and the library checks were changed similarly.


Note 123-25: (UDS) Added constants for receive buffer size specified in the uds::Attach function [SDK]

Added the ATTACH_BUFFER_SIZE_DEFAULT and ATTACH_BUFFER_SIZE_MIN constants for the size of the receive buffer specified in the uds::Attach function.


Note 123-26: (UDS) Revised result value for the uds::DestroyEndpoint function [SDK]

The DestroyEndpoint function previously allowed for the specification of an invalid EndpointDescriptor, such that calling DestroyEndpoint on an Endpoint that had already been destroyed would return an error value of ResultNotInitialized. This was changed to return the more appropriate ResultNotAuthorized error instead.


Known Issues with SDK 1.0.0 Release

See the Readme file in the CTR-SDK for details on known issues with System Updater.

CTR-SDK Version 1.0.0 SampleDemos

(2011/01/25)


Note 122-01: (APPLET) Revised to reflect demo1-sys [Sample Demos]

Revised demo1 to show implementation of sample demo demo1-sys, which supports startup, quitting, and sleep processing, with the keyboard applet removed.


Note 122-02: (GR) Added the GraphicsDrawing demo for rendering 2D shapes [Sample Demos]

Added the GraphicsDrawing demo for rendering 2D geometric shapes using the GR library.


Note 122-03: (GR) Added the ParticleSystem demo for rendering the results of particle systems using the reserved geometry shader [Sample Demos]

Added the ParticleSystem demo for rendering the results of particle systems using the reserved geometry shader with the GR library.


Note 122-04: (GX) Fixed a bug causing strange rotations of the model when running for extended periods [Sample Demos]

There was a bug in gx/DMPGL/TriangleSimple and demo1 where calculation precision issues would cause strange behavior in the rotation of polygons on the upper screen when running the demos for extended periods.
Revised to reset the floating-point value specified as the rotation angle at set intervals.


Known Issues with SDK 1.0.0 Sample Demos

  None.



CONFIDENTIAL