CTR-SDK Change Log


CTR-SDK 0.13.2 Release (2010/10/07)
Note 50-01: (FS) Increased speed of opening files from ROM archives [SDK]
Known Issues in the SDK 0.13.2 Release
CTR-SDK 0.13.1 Release (2010/09/30)
Note 49-01: (CAMERA) Correction for change log entry regarding processing added to stop the cameras when the system is closed [SDK]
Note 49-02: (DevEnv) Correction for change log entries for known bugs in CTR-SDK 0.13 SystemUpdater [SDK]
Note 49-03: (SND) Fixed bug related to creating sound threads on core 1 in NintendoWare for CTR [SDK]
Note 49-04: (SND) Fixed bug that caused execution to enter an endless loop when FreeVoice was used within the voice drop callback [SDK]
Known Issues in the SDK 0.13.1 Release
CTR-SDK 0.13.0 Release (2010/09/28)
Note 48-01: (AC) Added the nn::ac::LinkLevel GetLinkLevel function [SDK]
Note 48-02: (APPLET) Added support for HOME Button detection and transitioning to the HOME Menu [SDK]
Note 48-03: (BOSS) Added the BOSS library [SDK|SystemUpdater]
Note 48-04: (CAMERA) Revised the SetNoiseFilter function [SDK|SystemUpdater]
Note 48-05: (CAMERA) Added a function to change the sensor window used for auto white balancing [SDK|SystemUpdater]
Note 48-06: (CARD) Revised media selector control after using HostIO CardSPI [SDK]
Note 48-07: (CEC) Changed the StreetPass library API [SDK|SystemUpdater]
Note 48-08: (CEC) Operations necessary to communicate with the same partner more than once [SDK]
Note 48-09: (CFG) Revised the GetLanguageCodeA2 function [SDK]
Note 48-10: (CFG) Revised the GetSimpleAddress function [SDK]
Note 48-11: (CFG) Added function to get the RTC offset value [SDK]
Note 48-12: (CX) Added the CX library [SDK]
Note 48-13: (DLP) Changed the method for embedding child programs in parent programs [SDK|SampleDemos]
Note 48-14: (DLP) Made revisions involving identification of child devices [SDK|SampleDemos]
Note 48-15: (DevEnv) Removed the pragma used for the RVCT warning bug workaround [SDK]
Note 48-16: (DevEnv) Made some nn::Result constructors private [SDK]
Note 48-17: (DevEnv) Changed the encoding of types.h [SDK]
Note 48-18: (DevEnv) Changed compiler and linker options [SDK]
Note 48-19: (DevEnv) Updated the supported version of RVCT [SDK]
Note 48-20: (FND) Revised behavior when Allocate of an ExpHeap fails [SDK]
Note 48-21: (FND) Revised behavior of ExpHeap constructor when given no arguments [SDK]
Note 48-22: (FND) Revised the range of specifiable alignments in ExpHeap::Allocate [SDK]
Note 48-23: (FND) Revised ExpHeapBase::GetDirecitionOf to GetDirectionOf [SDK]
Note 48-24: (FND) Strengthened check when freeing expanded heap memory [SDK]
Note 48-25: (FONT) Added the Font library [SDK]
Note 48-26: (FRIENDS) Changed the value of MODE_DESCRIPTION_SIZE [SDK]
Note 48-27: (FRIENDS) Deleted part of the NotificationType enumerator [SDK]
Note 48-28: (FRIENDS) Eliminated the notification sent when a game description is updated [SDK|SystemUpdater]
Note 48-29: (FRIENDS) Changed the value of the MII_SIZE constant [SDK]
Note 48-30: (FS) Changed the specifications of functions that get SD Card insertion/removal events [SDK]
Note 48-31: (FS) Fixed bug that prevented the fs::Directory::Read function from getting all entries [SDK]
Note 48-32: (FS) Added the nn::fs::GetFileSystemSize function [SDK]
Note 48-33: (FS) Added the nn::fs::MountSdmc function [SDK]
Note 48-34: (FS) Added the nn::fs::hio::GetHioRequiredMemorySize function [SDK]
Note 48-35: (FS) Added a write function to nn::fs::hio::HioArchive [SDK]
Note 48-36: (FS) Added the nn::hio::CTR::HostFile::SetSize function [SDK]
Note 48-37: (FS) Added functions to get Game Card insertion/removal events and to get whether a Game Card is inserted [SDK]
Note 48-38: (FS) Changed length of filenames in save data and expanded save data to 16 characters [SDK]
Note 48-39: (GX) Updated the DMPGL documentation [SDK]
Note 48-40: (GX) Added the GR library [SDK]
Note 48-41: (GX) Updated PICA macro headers [SDK]
Note 48-42: (GX) Changed the off-limits range when placing display buffers in VRAM [SDK|SystemUpdater]
Note 48-43: (GX) Enabled polygon offsets when the W buffer is enabled [SDK]
Note 48-44: (GX) Changed the glCopyTexImage2D and glCopyTexSubImage2D functions [SDK]
Note 48-45: (GX) Fixed a bug in the glPolygonOffset function [SDK]
Note 48-46: (GX) Added the nngxAddB2LTransferCommand function [SDK]
Note 48-47: (GX) Added the nngxAddBlockImageCopyCommand function [SDK]
Note 48-48: (GX) Added the nngxAddL2BTransferCommand function [SDK]
Note 48-49: (GX) Added the nngxAddMemoryFillCommand function [SDK]
Note 48-50: (GX) Removed restrictions on the srcaddr and dstaddr arguments in the nngxAddVramDmaCommand function [SDK]
Note 48-51: (GX) Fixed bug in behavior when an invalid format argument was specified in the nngxFilterBlockImage function [SDK]
Note 48-52:(GX) Revised the types of arguments in the nngxFilterBlockImage and nngxAddVramDmaCommand functions [SDK]
Note 48-53: (GX) Added the nngxGetAllocator function [SDK]
Note 48-54: (GX) Fixed bug that caused glViewport function settings to not be applied if run immediately after running the nngxInitialize function [SDK]
Note 48-55: (GX) Added the nngxSetGasAutoAccumulationUpdate function [SDK]
Note 48-56: (GX) Fixed problem where the nngxTransferLinearImage function would stop on an assert [SDK]
Note 48-57: (GX) Fixed bug in delta value settings of lookup tables used for procedural texture RGBA mapping and noise modulation [SDK]
Note 48-58: (GX) Fixed bug in glVertexAttribPointer function when multiple vertex attributes have been arranged as an interleaved array [SDK]
Note 48-59: (GX) Deleted command that set the 0x101 register when logical operations are enabled [SDK]
Note 48-60: (HID) Deleted ACCELEROMETER_PLAY_MODE_LOOSE [SDK]
Note 48-61: (HID) Added functions that enable use of the gyro sensor [SDK]
Note 48-62: (HID) Revised the minimum and maximum values for clamping the Circle Pad [SDK]
Note 48-63: (HID) Added offset correction functions and axis rotation functions to the accelerometer library [SDK]
Note 48-64: (HIO) Added functions for transmittable sizes during serial communication [SDK]
Note 48-65: (JPEG) Added the GetMpRegionsToBuildJpegData function to the decoder [SDK]
Note 48-66: (JPEG) Added function that stops decoding [SDK]
Note 48-67: (JPEG) Added the BGR8 and ABGR8 pixel formats [SDK]
Note 48-68: (MATH) Changed the nn::math::VEC3::DistanceSquare function to a const function [SDK]
Note 48-69: (MATH) Fixed problem where copies of constants would be embedded in every object [SDK]
Note 48-70: (MATH) Fixed problem where embedded assembly language functions were not dead-stripped on a function-by-function level [SDK]
Note 48-71: (MIC) Changed access rights to memory that stores sampling results [SDK|SystemUpdater]
Note 48-72: (NDM) Enabled the network daemon and added a library to control it [SDK|SystemUpdater|SampleDemos]
Note 48-73: (NGC) Added specifications for the CheckProfanityWords function [SDK]
Note 48-74: (NGC) Added the CountNumbers function [SDK]
Note 48-75: (OS) Added the GetRunnningTargetHardware function [SDK]
Note 48-76: (OS) Added support for Sleep Mode [SDK|SystemUpdater]
Note 48-77: (OS) Added functions to get information about the amount of available memory [SDK|SystemUpdater]
Note 48-78: (PL) Added functions to get shared fonts [SDK]
Note 48-79: (PTM) Added library for power- and clock-related features [SDK]
Note 48-80: (RDT) Fixed bug when connecting [SDK]
Note 48-81: (RDT) Changed the behavior of state transitions [SDK]
Note 48-82:(SND) Added function that determines whether a file is a BCWAV file [SDK]
Note 48-83: (SND) Fixed bug where control would not return from the nn::snd::Initialize function [SDK]
Note 48-84: (SND) Changed the namespace of the SND library [SDK]
Note 48-85: (SND) Added functions to get information about dropped sound frames [SDK]
Note 48-86: (SOCKET) Eliminated dummy_util functions [SDK|SampleDemos]
Note 48-87: (TOOL) Extended the Config tool [SDK]
Note 48-88: (TOOL) Added features to the DevMenu [SDK]
Note 48-89: (TOOL) Added FontConverter tools [SDK]
Note 48-90: (TOOL) Created the NetworkSetting tool [SDK]
Note 48-91: (TOOL) Added items to RSF files [SDK]
Note 48-92: (TOOL) Fixed bug when parsing RSF files [SDK]
Note 48-93: (TOOL) Updated ctr_TexturePackager32 [SDK]
Note 48-94: (TOOL) Changed ctr_WaveConverter32.exe [SDK]
Note 48-95: (TOOL) Added ctr_compress [SDK]
Note 48-96: (TOOL) Added ctr_makebanner [SDK|SampleDemos]
Note 48-97: (TOOL) Added ctr_makeciaarchive32.exe [SDK]
Note 48-98: (TOOL) Fixed bug with -D option in ctr_makerom [SDK]
Note 48-99: (TOOL) Added multi-core support to ctr_makerom [SDK]
Note 48-100: (TOOL) Added ctr_makerom options [SDK]
Note 48-101: (TOOL) Updated the shader assembler [SDK]
Note 48-102: (TOOL) Changed the default UniqueId [SDK]
Note 48-103: (TPL) Changed the definitions of the various CtrTexFormat formats [SDK]
Note 48-104: (UDS) Added the nn::uds::AllowToSpectate function [SDK]
Note 48-105: (UDS) Added members to the nn::uds::ConnectionStatus structure [SDK]
Note 48-106: (UDS) Changed the nn::uds::EjectSpectator function so that it can be certain of the ejection of spectators [SDK]
Note 48-107: (UDS) Added the nn::uds::LinkLevel GetLinkLevel function [SDK]
Note 48-108: (UDS) Added the nn::uds::NetworkDescription::CanConnectAsSpectator function [SDK]
Note 48-109: (UDS) Added function to create local communication IDs [SDK]
Note 48-110: (ULCD) Fixed bug in StereoCamera class constructor [SDK]
Note 48-111: (ULCD) Added support for const member functions in the StereoCamera class [SDK]
Note 48-112: (ULCD) Updated documents describing the ULCD library [SDK]
Note 48-113: (ULCD) Added flag to determine whether initialization has been performed [SDK]
Note 48-114: (UTIL) Added util_Color.h, util_Rect.h, and util_Float24.h [SDK]
Known Issues in the SDK 0.13.0 Release
CTR-SDK 0.13.0 SystemUpdater (2010/09/28)
Note 47-01: (AC) Revised the Connect and ConnectAsync functions [SystemUpdater]
Note 47-02: (AC) Revised the ConnectCancelAsync function [SystemUpdater]
Note 47-03: (AC) Revised the DebugSetNetworkSetting1 function [SystemUpdater]
Note 47-04: (BOSS) Added the BOSS library [SDK|SystemUpdater]
Note 47-05: (CAMERA) Revised the SetNoiseFilter function [SDK|SystemUpdater]
Note 47-06: (CAMERA) Added processing to stop the cameras when the system is closed [SystemUpdater]
Note 47-07: (CAMERA) Added a function to change the sensor window used for auto white balancing [SDK|SystemUpdater]
Note 47-08: (CAMERA) Fixed bug in volume control during playback of the shutter sound [SystemUpdater]
Note 47-09: (CEC) Changed the StreetPass library API [SDK|SystemUpdater]
Note 47-10: (CFG) Revised the GetBirthday function [SystemUpdater]
Note 47-11: (DLP) Added debug function that forcibly downloads child programs [SystemUpdater]
Note 47-12: (DevEnv) Revised LCD backlight parameters [SystemUpdater]
Note 47-13: (DevEnv) Changed the startup sequence of test units [SystemUpdater]
Note 47-14: (FND) Fixed bug where the nn::fnd::DateTime::GetNow function would start returning invalid values a short time after the RTC surpassed 2099/12/31 [SystemUpdater]
Note 47-15: (FRIENDS) Eliminated the notification sent when a game description is updated [SDK|SystemUpdater]
Note 47-16: (FRIENDS) Updated server and recreated account information [SystemUpdater]
Note 47-17: (GX) Changed the off-limits range when placing display buffers in VRAM [SDK|SystemUpdater]
Note 47-18: (HID) Fixed sampling bug that occurred after recovery from Sleep Mode [SystemUpdater]
Note 47-19: (HID) Changed sampling values in cases where the system does not enter Sleep Mode when closed [SystemUpdater]
Note 47-20: (HTTP) Revised the AddPostData*** functions [SystemUpdater]
Note 47-21: (HTTP) Revised the GetHeaderField function [SystemUpdater]
Note 47-22: (HTTP) Fixed Keep-Alive bug [SystemUpdater]
Note 47-23: (HTTP) Handled problem with Keep-Alive communication [SystemUpdater]
Note 47-24: (HTTP) Changed default size of communication buffers [SystemUpdater]
Note 47-25: (MCU) Revised the power LED and wireless LED [SystemUpdater]
Note 47-26: (MIC) Added processing to stop sampling when the system is closed [SystemUpdater]
Note 47-27: (MIC) Changed access rights to memory that stores sampling results [SDK|SystemUpdater]
Note 47-28: (NDM) Enabled the network daemon and added a library to control it [SDK|SystemUpdater|SampleDemos]
Note 47-29: (OS) Added support for Sleep Mode [SDK|SystemUpdater]
Note 47-30: (OS) Added functions to get information about the amount of available memory [SDK|SystemUpdater]
Note 47-31: (PTM) Revised the GetBatteryLevel function [SystemUpdater]
Note 47-32: (PTM) Added restrictions on the range of times for which alarms can be set [SystemUpdater]
Note 47-33: (TOOL) Fixed DevMenu import error [SystemUpdater]
Note 47-34: (TOOL) Fixed DevMenu bug [SystemUpdater]
Note 47-35: (TOOL) Added a tool for changing the region [SystemUpdater]
Note 47-36: (UDS) Fixed bug that caused execution to hang when the EjectClient function was run [SystemUpdater]
Note 47-37: (UDS) Fixed bug where sometimes the NetworkDescriptionReader::GetNodeInformationList function could not get the NodeInformation successfully [SystemUpdater]
Note 47-38: (UDS) Changed encryption key of NodeInfomation distributed by beacons [SystemUpdater]
Note 47-39: (UDS) Fixed bug that caused incorrect behavior when the GetConnectionStatus function was run frequently [SystemUpdater]
Known Issues with SystemUpdater in SDK Version 0.13.0
CTR-SDK 0.13.0 Sample Demos (2010/09/28)
Note 46-01: (APPLET) Added support for the HOME Button to demo1 and demo2 [SampleDemos]
Note 46-02: (BOSS) Added the sample_nadl_simple demo [SampleDemos]
Note 46-03: (CX) Added CX sample demos [SampleDemos]
Note 46-04: (DEMO) Revised initialization of the lib_demo library display buffer [SampleDemos]
Note 46-05: (DLP) Changed the method for embedding child programs in parent programs [SDK|SampleDemos]
Note 46-06: (DLP) Made revisions involving identification of child devices [SDK|SampleDemos]
Note 46-07: (FONT) Added sample demos [SampleDemos]
Note 46-08: (GX) Added the DrawPrimitive demo [SampleDemos]
Note 46-09: (JPEG) Added demos [SampleDemos]
Note 46-10: (NDM) Enabled the network daemon and added a library to control it [SDK|SystemUpdater|SampleDemos]
Note 46-11: (OS) Added support for Sleep Mode to demo1 and demo2 [SampleDemos]
Note 46-12: (PL) Added the SharedFont demo [SampleDemos]
Note 46-13: (SOCKET) Eliminated dummy_util functions [SDK|SampleDemos]
Note 46-14: (TOOL) Added ctr_makebanner [SDK|SampleDemos]
Note 46-15: (TPL) Added sample data for creating CTPK files [SampleDemos]
Note 46-16: (UDS) Fixed bug in com_demo1 where communication data was not cleared after disconnection [SampleDemos]
Note 46-17: (UDS) Revised so that the CreateLocalCommunicationId function now creates the local communication IDs used in UDS demos [SampleDemos]
Note 46-18: (ULCD) Changed the minimum setting of the Depth Level variable[SampleDemos]
Known Issues with SDK 0.13.0 Sample Demos
CTR-SDK 0.12.1 Release (2010/09/02)
Note 45-01: (SND) Fixed a bug in the nn::snd::Voice::SetState function [SDK]
Known Issues in the SDK 0.12.1 Release
CTR-SDK 0.12.0 Release (2010/08/20)
Note 44-01: (CAMERA) Removed the IsBufferError function [SDK | System Updater]
Note 44-02: (CAMERA) Revised the SetExposure function [SDK | System Updater]
Note 44-03: (CAMERA) Changed processing within the SynchronizeVsyncTiming function [SDK | System Updater]
Note 44-04: (CAMERA) Added processing to compensate for individual system differences in white balance [SDK | System Updater]
Note 44-05: (CEC) Changed the Chance Encounter Communication library [SDK]
Note 44-06: (CFG) Added functions for converting country codes and other CTR-specific codes into strings [SDK]
Note 44-07: (DLP) Added DlpChild.desc [SDK]
Note 44-08: (DevEnv) Added support for the PARTNER-CTR Capture/Debugger (all-in-one debugger hardware) [SDK]
Note 44-09: (DevEnv) Added support for the VFP instruction when building assembly files [SDK]
Note 44-10: (DevEnv) Revised the CCFLAGS_DEV_OPT build variable [SDK]
Note 44-11: (FRIENDS) Added the FRIENDS library [SDK]
Note 44-12: (FS) Revised the nn::fs::FormatSaveData function [SDK]
Note 44-13: (FS) Added the nn::fs::IsSdmcWritable function [SDK]
Note 44-14: (FS) Added the nn::fs::WaitForInsertSdmc, nn::fs::WaitForEjectSdmc, and nn::fs::IsSdmcInserted functions [SDK]
Note 44-15: (FS) Added the nn::fs::hio::MountHioArchive function [SDK]
Note 44-16: (GX) Lifted the restriction of placing 2D textures on 32-MB boundaries [SDK]
Note 44-17: (GX) Updated the DMPGL documentation [SDK]
Note 44-18: (GX) Fixed a bug that prevented completion notifications from being sent for graphics processing while NN_LOG was in use [SDK | System Updater]
Note 44-19: (GX) Revised PICA macro headers [SDK]
Note 44-20: (GX) Revised PICA register information [SDK]
Note 44-21: (GX) Fixed incorrect initial values for distanceAttenuationScale [SDK]
Note 44-22: (GX) Removed unnecessary commands generated by calls to the glBindFramebuffer function [SDK]
Note 44-23: (GX) Fixed a bug that prevented textures from being reallocated within the glCopyTexImage2D function [SDK]
Note 44-24: (GX) Fixed invalid error checking in the glCopyTexSubImage2D function [SDK]
Note 44-25: (GX) Changed specifications related to the transfer mode in glFramebufferTexture2D [SDK]
Note 44-26: (GX) Fixed a bug that prevented the glGetTexParameteri and glGetTexParameterf functions from getting values for GL_GENERATE_MIPMAP [SDK]
Note 44-27: (GX) Fixed a bug that prevented depth values from being read properly in the glReadPixels function [SDK]
Note 44-28: (GX) Added support for reading the stencil buffer with the glReadPixels function [SDK]
Note 44-29: (GX) Changed argument restrictions in the nngxAdd3DCommand function [SDK]
Note 44-30: (GX) Added the nngxIsStereoVisionAllowed function [SDK]
Note 44-31: (GX) Added the nngxSetTimeout function [SDK]
Note 44-32: (GX) Fixed a bug that prevented the nngxTransferRenderImage function from transferring data correctly [SDK]
Note 44-33: (GX) Revised error checking for the placement of cube map texture data [SDK]
Note 44-34: (GX) Added special error codes for command request overflows [SDK]
Note 44-35: (GX) Added support for copying textures from the depth buffer [SDK]
Note 44-36: (GX) Added support for rendering to textures for the depth buffer [SDK]
Note 44-37: (GX) Changed driver behavior when fragment lighting is disabled [SDK]
Note 44-38: (GX) Fixed a validation bug that occurred when a texture attached to the framebuffer was deleted [SDK]
Note 44-39: (GX) Added uniform location macros for the fixed fragment shader [SDK]
Note 44-40: (GX) Fixed a bug that occurred in the glDrawArrays function when a vertex buffer was used [SDK]
Note 44-41: (HID) Changed the timing at which to start sampling the accelerometers [SDK | System Updater]
Note 44-42: (JPEG) Added functions that get and set Exif tags [SDK]
Note 44-43: (JPEG) Added functions that specify JPEG decoding options [SDK]
Note 44-44: (JPEG) Added error codes [SDK]
Note 44-45: (JPEG) Added pixel formats {RGB8,RGBA8}x{LINEAR,BLOCK8} [SDK]
Note 44-46: (JPEG) Fixed a bug that caused execution to stop while decoding particular JPEG files [SDK]
Note 44-47: (JPEG) Added support for shrink decoding [SDK]
Note 44-48: (MIC) Fixed return values from the GetLastSamplingAddress function [SDK | System Updater]
Note 44-49: (MIC) Added the SetLowPassFilter function [SDK | System Updater]
Note 44-50: (NGC) Added overloaded CheckProfanityWords functions [SDK]
Note 44-51: (NGC) Changed specifications for the CheckProfanityWords function [SDK]
Note 44-52: (NGC) Added the GetContentVersion function [SDK]
Note 44-53: (OS) Changed nn::os::Thread::Sleep [SDK | System Updater]
Note 44-54: (OS) Added user exception handler [SDK | System Updater]
Note 44-55: (OS) Revised the Function Reference Manual [SDK]
Note 44-56: (RDT) Changed the Process function's return values [SDK]
Note 44-57: (RDT) Revised descriptions of finalizing a Receiver instance [SDK]
Note 44-58: (RDT) Established result codes [SDK]
Note 44-59: (RDT) Introduced enum values that indicate uninitialized states [SDK]
Note 44-60: (SND) Changed 3D surround sound features [SDK]
Note 44-61: (SND) Changed the specifications for the GetHeadphoneStatus function and added the UpdateHeadphoneStatus function [SDK]
Note 44-62: (SND) Fixed a bug in the GetSampleLength function [SDK]
Note 44-63: (SND) Added the SetAuxFrontBypass function [SDK]
Note 44-64: (SND) Turned the nn::snd::Bcwav namespace into a class [SDK]
Note 44-65: (SND) Introduced soft clipping [SDK]
Note 44-66: (SND) Added a feature for specifying the fade-in immediately after playback starts [SDK]
Note 44-67: (TOOL) Extended the Config tool [SDK]
Note 44-68: (TOOL) Revised DevMenu [SDK]
Note 44-69: (TOOL) Changed the RSF format [SDK]
Note 44-70: (TOOL) Fixed a bug in ctr_TexturePackager32.exe related to specifying the mipmap level [SDK]
Note 44-71: (TOOL) Added a ctr_makerom32.exe feature for compressing static regions [SDK | System Updater]
Note 44-72: (TOOL) Added the dmen_PrintResult constant [SDK]
Note 44-73: (TOOL) Improved makerom encryption [SDK]
Note 44-74: (UDS) Fixed a bug that prevented statusUpdateEvent from being signaled when the local host connected to a network in Audience mode [SDK]
Note 44-75: (UDS) Changed the upper limit on endpoints that can be created by the CreateEndpoint function [SDK]
Note 44-76: (UDS) Fixed a bug that allowed the CreateEndpoint function to run prior to initialization [SDK]
Note 44-77: (UDS) Fixed a bug in the NetworkDescription::GetMacAddress function [SDK]
Note 44-78: (UDS) Fixed a bug that prevented 16 endpoints from being created [SDK]
Note 44-79: (UDS) Changed terminology for Audience mode [SDK]
Note 44-80: (UDS) Revised the Function Reference Manual [SDK]
Note 44-81: (ULCD) Changed specifications for nn::ulcd::StereoCamera [SDK]
Known Issues in the SDK 0.12.0 Release
CTR-SDK 0.12.0 System Updater (2010/08/20)
Note 43-01: (AC) Organized C-language functions [System Updater]
Note 43-02: (AC) Revised the Connect function [System Updater]
Note 43-03: (AC) Deprecated the DebugFlushNetworkSetting function [System Updater]
Note 43-04: (AC) Added the RegisterDisconnectEvent function [System Updater]
Note 43-05: (CAMERA) Removed the IsBufferError function [SDK | System Updater]
Note 43-06: (CAMERA) Revised the SetExposure function [SDK | System Updater]
Note 43-07: (CAMERA) Changed processing within the SynchronizeVsyncTiming function [SDK | System Updater]
Note 43-08: (CAMERA) Replaced the shutter sound [System Updater]
Note 43-09: (CAMERA) Added processing to compensate for individual system differences in white balance [SDK | System Updater]
Note 43-10: (CAMERA) Fixed camera LED behavior when the shutter sound is played while the inner camera is in use [System Updater]
Note 43-11: (CAMERA) Fixed camera LED behavior when the recording-started and recording-ended sounds are played [System Updater]
Note 43-12: (CEC) Changed the Chance Encounter Communication daemon [System Updater]
Note 43-13: (CFG) Revised the nn::cfg::CTR::GetRegion function [System Updater]
Note 43-14: (DLP) Added support for system updates of card-based software [System Updater]
Note 43-15: (DLP) Restricted the number of titles that can be scanned [System Updater]
Note 43-16: (DLP) Filtering by region while scanning [System Updater]
Note 43-17: (DLP) Changed the reconnection information stored in the RebootInfo structure [System Updater]
Note 43-18: (DLP) Embedding child programs in applications [System Updater | Sample Demos]
Note 43-19: (DLP) Getting network reconnection parameters for child programs [System Updater]
Note 43-20: (DLP) Embedding icons in child programs and reading icons from the server [System Updater | Sample Demos]
Note 43-21: (FS) Fixed a bug in the formatting of save data [System Updater]
Note 43-22: (GX) Fixed a bug that prevented completion notifications from being sent for graphics processing while NN_LOG was in use [SDK | System Updater]
Note 43-23: (GX) Fixed a bug that caused programs to stop with red screens when vertex data and/or textures were placed in VRAM [System Updater]
Note 43-24: (HID) Fixed a bug that prevented the debug pad from working properly [System Updater]
Note 43-25: (HID) Changed the timing at which to start sampling the accelerometers [SDK | System Updater]
Note 43-26: (HTTP) Fixed a bug in the multipart lazy POST feature [System Updater]
Note 43-27: (HTTP) Fixed a bug that occurred with server keepalive timeouts [System Updater]
Note 43-28: (HTTP) Added support for timeouts in blocking functions [System Updater]
Note 43-29: (MIC) Fixed return values from the GetLastSamplingAddress function [SDK | System Updater]
Note 43-30: (MIC) Added the SetLowPassFilter function [SDK | System Updater]
Note 43-31: (MIC) Revised settings for the microphone input gain [System Updater]
Note 43-32: (OS) Changed the behavior of the nn::dbg::Break function [System Updater]
Note 43-33: (OS) Changed nn::os::Thread::Sleep [SDK | System Updater]
Note 43-34: (OS) Added user exception handler [SDK | System Updater]
Note 43-35: (SND) Implemented high-pass filter for headphones [System Updater]
Note 43-36: (SSL) Added SHA256 certificate support [System Updater]
Note 43-37: (SSL) Added support for built-in commercial CA certificates [System Updater]
Note 43-38: (TOOL) Added a ctr_makerom32.exe feature for compressing static regions [SDK | System Updater]
Note 43-39: (UDS) Fixed a bug that prevented the GetConnectionStatus function from obtaining the correct information in Audience mode [System Updater]
Known Issues with System Updater in Version 0.12.0 of the SDK
CTR-SDK 0.12.0 Sample Demos (2010/08/20)
Note 42-01: (DLP) Embedding child programs in applications [System Updater | Sample Demos]
Note 42-02: (DLP) Embedding icons in child programs and reading icons from the server [System Updater | Sample Demos]
Note 42-03: (GX) Fixed a quaternion generation bug in the vertex shaders for the DMPGL samples [Sample Demos]
Note 42-04: (GX) Fixed issues related to lookup table generation in the ProctexClamp sample [Sample Demos]
Note 42-05: (GX) Allowed the number of generated display buffers to be specified [Sample Demos]
Note 42-06: (RDT) Revised basic sample demos [Sample Demos]
Note 42-07: (RDT) Added a sample demo for bidirectional communication [Sample Demos]
Note 42-08: (SND) Changed StreamPlayersample demo [Sample Demos]
Note 42-09: (UDS) Changed the implementation of com_demo1 [Sample Demos]
Note 42-10: (UDS) Handled changed terminology for Audience mode in com_demo1 [Sample Demos]
Known Issues with SDK 0.12.0 Sample Demos
CTR-SDK 0.11.2 Release (2010/07/29)
Note 41-01: (SND) Fixed a bug that stopped sound during non-looping playback of short waveforms [SDK]
Note 41-02: (TOOL) Fixed makerom [SDK]
Known Issues in the SDK 0.11.2 Release
CTR-SDK 0.11.1 Release (2010/07/28)
Note 40-01: (FS) Fixed the nn::fs::GetRomRequiredMemorySize function [SDK]
Note 40-02: (SND) Fixed a bug that created noise during playback of an ADPCM stream [SDK]
Known Issues in the SDK 0.11.1 Release
CTR-SDK 0.11.0 Release (2010/07/22)
Note 39-01: (CAMERA) Removed C wrappers [SDK]
Note 39-02: (CAMERA) Revised the Finalize function [SDK | System Updater]
Note 39-03: (CAMERA) Added the GetSuitableY2rStandardCoefficient function [SDK | System Updater]
Note 39-04: (CAMERA) Revised the Initialize and Finalize functions [SDK | System Updater]
Note 39-05: (CAMERA) Removed the SynchronizeWhiteBalance function [SDK | System Updater]
Note 39-06: (CAMERA) Changed the camera configuration function's return value [SDK | System Updater]
Note 39-07: (CAMERA) Added and updated shutter sounds [SDK | System Updater]
Note 39-08: (CAMERA) Removed a feature that notifies a recovery event [SDK | System Updater]
Note 39-09: (CAMERA) Removed functions that automatically receive data [SDK | System Updater]
Note 39-10: (CAMERA) Added functions for batch setting changes [SDK | System Updater]
Note 39-11: (CEC) Changed handling of title-specific IDs [SDK]
Note 39-12: (CEC) Added support for the Chance Encounter Communication library [SDK]
Note 39-13: (CEC) Changed the name of the Chance Encounter Communication library [SDK]
Note 39-14: CFG) Changed the API for getting user information [SDK]
Note 39-15: (DLP) Added CTR Download Play [SDK | System Updater]
Note 39-16: (DSP) Revised header files [SDK]
Note 39-17: (FND) Revised build conditions for the nn::fnd::HeapBase::DebugFillMemory function [SDK]
Note 39-18: (FS) Fixed a bug that prevented CTR save data from being read [SDK]
Note 39-19: (FS) Added functions for accessing save data [SDK]
Note 39-20: (FS) Revised directory reads [SDK]
Note 39-21: (FS) Fixed a bug that caused seek operations to the end of a file to fail [SDK]
Note 39-22: (FS) Added functions for accessing extended save data [SDK]
Note 39-23: (GX) Updated the DMPGL documentation [SDK]
Note 39-24: (GX) Fixed a bug in the PICA macro header [SDK]
Note 39-25: (GX) Revised the description of nn::gx::CTR::MemAccessPrioMode [SDK]
Note 39-26: (GX) Added information on the specifications for the product of the emission and global ambient colors [SDK]
Note 39-27: (GX) Fixed a subdivision bug in DMP_subdivision3.obj [SDK]
Note 39-28: (GX) Fixed a bug in the silhouette triangle shader [SDK]
Note 39-29: (GX) Fixed a bug that occurred when deleting texture collections [SDK]
Note 39-30: (GX) Added a feature to get valid debugging information related to command list execution [SDK]
Note 39-31: (GX) Added a function to generate commands that transfer data while converting the block format [SDK]
Note 39-32: (GX) Fixed a bug that prevented scissoring-related commands from being generated when a program object had not been set [SDK]
Note 39-33: (GX) Removed unnecessary register settings for the line shader [SDK]
Note 39-34: (GX) Added a feature that can get the render buffer address [SDK]
Note 39-35: (GX) Added information on input restrictions for lookup tables [SDK]
Note 39-36: (GX) Added a function that disables updates for a specified state [SDK]
Note 39-37: (HID) Fixed a bug in STICK_CLAMP_MODE_CROSS mode [SDK | System Updater]
Note 39-38: (HID) Reviewed specifications for the SetStickClamp and GetStickClamp functions [SDK | System Updater]
Note 39-39: (HIO) Removed libnn_hiolow [SDK]
Note 39-40: (MATH) Revised the SinIdx, CosIdx, SinCosIdx functions [SDK]
Note 39-41: (MIC) Removed C wrappers [SDK]
Note 39-42: (MIC) Added a function to get the region within which it is prohibited to determine that there is microphone input [SDK]
Note 39-43: (MIC) Added constants that indicate the guaranteed region for microphone input values [SDK]
Note 39-44: (OS) Changed mutex methods in the default implementation of malloc and free [SDK]
Note 39-45: (PTM) Added interfaces for the remaining battery life, the battery recharge state, and the existence of an AC plug [SDK]
Note 39-46: (RDT) Fixed a bug that prevented proper state transitions in the Sender [SDK]
Note 39-47: (SND) Improved the effect of 3D surround sound mode [SDK]
Note 39-48: (SND) Added a feature that specifies the loop position during DSP-ADPCM encoding [SDK]
Note 39-49: (SND) Added a function to decode DSP-ADPCM data [SDK]
Note 39-50: (SND) Added DSP-ADPCM utility functions [SDK]
Note 39-51: (SND) Changed specifications for the nn::snd::SetSoundOutputMode function [SDK]
Note 39-52: (SND) Changed specifications for the nn::snd::SetSurroundDepth function [SDK]
Note 39-53: (SND) Changed specifications for the nn::snd::Voice::AppendWaveBuffer function [SDK]
Note 39-54: (SND) Fixed a bug in the nn::snd::Voice::SetVolume function [SDK]
Note 39-55: (SND) Added the nn::snd::Voice::SetupBcwav function [SDK]
Note 39-56: (SND) Fixed a bug in the filter feature [SDK]
Note 39-57: (SND) Revised header files [SDK]
Note 39-58: (SND) Changed the volume configuration [SDK | System Updater]
Note 39-59: (Socket) Changed specifications for the Initialize function [SDK]
Note 39-60: (TOOL) Fixed an issue related to backlight settings with the Config tool [SDK]
Note 39-61: (TOOL) Changed the DevMenu [SDK]
Note 39-62: (TOOL) Changed ctr_makerom32.exe [SDK]
Note 39-63: (TPL) Added the Texture Packager Library [SDK]
Note 39-64: (UDS) Overloaded the == and != operators of the NetworkDescriptor class [SDK]
Note 39-65: (UDS) Changed the behavior of the NetworkDescriptionReader::GetNetworkDescription function [SDK]
Note 39-66: (UDS) Changed the behavior of the NetworkDescriptionReader::GetNodeInformationList function [SDK]
Note 39-67: (UDS) Changed the behavior of the Receive and ReceiveFrom functions [SDK]
Note 39-68: (UDS) Reviewed Result values [SDK]
Note 39-69: (UDS) Changed the behavior of the SendTo function [SDK]
Note 39-70: (UDS) Prohibited the use of port 0 [SDK]
Note 39-71: (UDS) Added a link to the UDS library in the Function Reference Manual's index [SDK]
Note 39-72: (Y2R) Removed C wrappers [SDK]
Note 39-73: (Y2R) Revised the Initialize and Finalize functions [SDK | System Updater]
Note 39-74: (Y2R) Revised the SetStandardCoefficient function [SDK | System Updater]
Note 39-75: (Y2R) Changed the StartConversion function's return value [SDK | System Updater]
Note 39-76: (Y2R) Added functions for batch setting changes [SDK | System Updater]
Known Issues in the SDK 0.11.0 Release
CTR-SDK 0.11.0 Release System Updater (2010/07/22)
Note 38-01: (AC) Revised the Connect function [System Updater]
Note 38-02: (AC) Added the GetLinkLevel function [System Updater]
Note 38-03: (CAMERA) Revised the Finalize function [SDK | System Updater]
Note 38-04: (CAMERA) Added the GetSuitableY2rStandardCoefficient function [SDK | System Updater]
Note 38-05: (CAMERA) Revised the Initialize and Finalize functions [SDK | System Updater]
Note 38-06: (CAMERA) Removed the SynchronizeWhiteBalance function [SDK | System Updater]
Note 38-07: (CAMERA) Revised the timing at which the camera LED is illuminated [System Updater]
Note 38-08: (CAMERA) Changed the camera configuration function's return value [SDK | System Updater]
Note 38-09: (CAMERA) Added and updated shutter sounds [SDK | System Updater]
Note 38-10: (CAMERA) Removed a feature that notifies a recovery event [SDK | System Updater]
Note 38-11: (CAMERA) Removed functions that automatically receive data [SDK | System Updater]
Note 38-12: (CAMERA) Added functions for batch setting changes [SDK | System Updater]
Note 38-13: (DLP) Added CTR Download Play [SDK | System Updater]
Note 38-14: (GX) Added support for the 3D LED [System Updater]
Note 38-15: (HID) Changed memory addresses assigned when the Initialize function is called [System Updater]
Note 38-16: (HID) Fixed a bug in STICK_CLAMP_MODE_CROSS mode [SDK | System Updater]
Note 38-17: (HID) Reviewed specifications for the SetStickClamp and GetStickClamp functions [SDK | System Updater]
Note 38-18: (HID) Changed accelerometer axis settings [System Updater]
Note 38-19: (HID) Fixed a bug that occurred when the Sleep Mode switch was set to "sleep" at startup [System Updater]
Note 38-20: (HTTP) Revised the AddPostData* functions [System Updater]
Note 38-21: (HTTP) Fixed a misspelling in the NofityFinishSendPostData function [System Updater]
Note 38-22: (HTTP) Fixed a bug in the SendPostDataAscii function [System Updater]
Note 38-23: (HTTP/SSL) Added support for a Class 2 CA certificate built into the system [System Updater]
Note 38-24: (MIC) Revised the Finalize function [System Updater]
Note 38-25: (MIC) Changed the initial value for the microphone's amplifier gain in the SetAmpGain and GetAmpGain functions [System Updater]
Note 38-26: (MIC) Revised the microphone's silent period [System Updater]
Note 38-27: (NWN) Changed the scanning interval for Chance Encounter zones [System Updater]
Note 38-28: (OS) Revised the debugger's VFP register value [System Updater]
Note 38-29: (OS) Added a feature to cancel the screen that is forced to be displayed when a program stops abnormally [System Updater]
Note 38-30: (OS) Fixed a bug that occurred when Wait was called on multiple objects [System Updater]
Note 38-31: (OS) Revised the Power Button [System Updater]
Note 38-32: (SND) Fixed a bug that on rare occasions increased the volume [System Updater]
Note 38-33: (SND) Fixed a bug that sometimes decreased the volume [System Updater]
Note 38-34: (SND) Changed the volume configuration [SDK | System Updater]
Note 38-35: (SSL) Added an SSL function to get random numbers [System Updater]
Note 38-36: (SSL) Added support for getting all the data in a server certificate chain [System Updater]
Note 38-37: (SSL) Added a function to collectively get the causes of a failed server certificate verification [System Updater]
Note 38-38: (SSL) Added support for non-blocking sockets [System Updater]
Note 38-39: (Socket) Fixed a memory leak [System Updater]
Note 38-40: (Socket) Changed the maximum number of socket descriptors that can be created [System Updater]
Note 38-41: (TOOL) Added Config tool features [System Updater]
Note 38-42: (UDS) Fixed a bug that caused invalid signal strength values when a Client was running [System Updater]
Note 38-43: (UDS) Optimized the beacon data size [System Updater]
Note 38-44: (UDS) Support for disabled wireless mode [System Updater]
Note 38-45: (Y2R) Revised the Initialize and Finalize functions [SDK | System Updater]
Note 38-46: (Y2R) Revised the SetStandardCoefficient function [SDK | System Updater]
Note 38-47: (Y2R) Changed the StartConversion function's return value [SDK | System Updater]
Note 38-48: (Y2R) Added functions for batch setting changes [SDK | System Updater]
Known Issues with System Updater in the SDK 0.11.0 Release
CTR-SDK 0.11.0 Release Sample Demos (2010/07/22)
Note 37-01: (PTM) Added battery-related sample demos [Sample Demos]
Note 37-02: (SND) Revised BcwavPlayer [Sample Demos]
Note 37-03: (SND) Added specifications for the sound output mode [Sample Demos]
Note 37-04: (SND) Changed AdpcmEncoder sample demo [Sample Demos]
Note 37-05: (TPL) Added TPL sample demos [Sample Demos]
Note 37-06: (UDS) Revised demos following changes to the Result values [Sample Demos]
Note 37-07: (UDS) Revised com_demo1 [Sample Demos]
Note 37-08: (Miscellaneous) Replaced NN_OS_DEVICE_MEMORY_SIZE with the nn::os::GetDeviceMemorySize function [Sample Demos]
Known Issues with SDK 0.11.0 Release Sample Demos
CTR-SDK 0.10.2 Release System Updater (2010/07/06)
Note 36-01: (CAMERA) Fixed processing that detects camera problems [System Updater]
Known Issues with System Updater in the SDK 0.10.2 Release
CTR-SDK 0.10.1 Release (2010/07/05)
Note 35-01: (CAMERA) Added a nn::camera::FrameRate setting [SDK | System Updater]
Note 35-02: (FS) Fixed a bug in the address conversion table for backup devices [SDK]
Note 35-03: (GX) Addressed screen flickering that occurred when active backlight controls were enabled [SDK]
Note 35-04: (GX) Fixed a bug that prevented the display buffer from being placed in VRAM-B [SDK]
Note 35-05: (OS) Changed memory-related functions [SDK | System Updater]
Note 35-06: (SND) Revised the system volume [SDK]
Note 35-07: (SND) Fixed bugs in the waveform converter [SDK]
Note 35-08: (TOOL) Revised DevMenu [SDK]
Note 35-09: (TOOL) Added StereoCameraCalibrator [SDK]
Note 35-10: (TOOL) Added ctr_makecia32.exe [SDK]
Note 35-11: (TOOL) Fixed a bug in ctr_makerom32.exe [SDK]
Known Issues in the SDK 0.10.1 Release
CTR-SDK 0.10.1 Release System Updater (2010/07/05)
Note 34-01: (CAMERA) Added a nn::camera::FrameRate setting [SDK | System Updater]
Note 34-02: (HID) Fixed the nn::fs::Directory::Read function to list the proper number of entries [System Updater]
Note 34-03: (OS) Changed memory-related functions [SDK | System Updater]
Known Issues with System Updater in the SDK 0.10.1 Release
CTR-SDK 0.10.0 Release (2010/06/23)
Note 33-01: (CAMERA) Revised the Activate function [SDK | System Updater]
Note 33-02: (CAMERA) Revised the SetAutoWhiteBalance function [SDK | System Updater]
Note 33-03: (CAMERA) Revised the SetNoiseFilter function [SDK | System Updater]
Note 33-04: (CAMERA) Revised the SetTrimmingParams and SetTrimmingParamsCenter functions [SDK | System Updater]
Note 33-05: (CAMERA) Added support for the camera LED [SDK | System Updater]
Note 33-06: (CAMERA) Added processing to recover from a camera malfunction [SDK | System Updater]
Note 33-07: (CAMERA) Added a function to play the shutter sound [SDK | System Updater]
Note 33-08: (CAMERA/Y2R) Changed the Initialize function's return value [SDK | System Updater]
Note 33-09: (CECD) Updated Chance Encounter Communication daemon (beta version) [SDK]
Note 33-10: (CFG) Added functions to get user information [SDK]
Note 33-11: (CFG) Added function to get system information [SDK]
Note 33-12: (DSP) Revised the Function Reference Manual [SDK]
Note 33-13: (DSP) Removed some functions from the public API [SDK]
Note 33-14: (DSPSND) Removed the DSPSND library [SDK]
Note 33-15: (DevEnv) Revised version.h [SDK]
Note 33-16: (DevEnv) Suppressed warnings for missing declarations in source code [SDK]
Note 33-17: (DevEnv) Changed the default build filter from TEG2 to TS [SDK]
Note 33-18: (DevEnv) Added an environment variable for specifying the ARM compiler to use for builds [SDK]
Note 33-19: (DevEnv) Added the CCFLAGS_DEV_OPT build variable [SDK]
Note 33-20: (DevEnv) Added the CTR_APPTYPE build variable [SDK]
Note 33-21: (FND) Revised the ExpHeapTemplate::Allocate member function [SDK]
Note 33-22: (FND) Revised FrameHeap::Free [SDK]
Note 33-23: (FND) Revised HeapBase::HasAddress [SDK]
Note 33-24: (FS) Changed the method for initializing ROM [SDK]
Note 33-25: (FS) Added support for 8.3 filenames that only have lowercase characters [SDK | System Updater]
Note 33-26: (GX) Added the nngxAddVramDmaCommand function to issue DMA transfer commands [SDK]
Note 33-27: (GX) Restrictions on Using the L4 and A4 formats [SDK]
Note 33-28: (GX) Fixed a bug in the NN_GX_STATE_FRAMEBUFFER complete commands [SDK]
Note 33-29: (GX) Added PICA register information [SDK]
Note 33-30: (GX) Added the SetMemAccessPrioMode function [SDK | System Updater]
Note 33-31: (GX) Added support for reading the depth buffer with the glReadPixels function [SDK]
Note 33-32: (GX) Changed argument types in the nngxAdd3DCommand function [SDK]
Note 33-33: (GX) Fixed a bug that prevented command buffer overflow errors from occurring in the nngxValidateState function [SDK]
Note 33-34: (GX) Changed the errors that occur during validation with the nngxValidateState function into extended error codes [SDK]
Note 33-35: (GX) Added VRAM regions that can be used by applications [SDK]
Note 33-36: (GX) Fixed a bug in address checks for cube map textures [SDK]
Note 33-37: (GX) Added the nngxClearFillCmdlist function to both clear and fill a command buffer at the same time [SDK]
Note 33-38: (GX) Added extended error codes to represent command buffer overflows [SDK]
Note 33-39: (GX) Deleted dummy commands used when clearing the texture cache [SDK]
Note 33-40: (GX) Fixed a bug related to clamping the particle system (geometry shader) time [SDK]
Note 33-41: (GX) Added a function that applies antialias filters while transferring block images [SDK]
Note 33-42: (GX) Updated macro header files [SDK]
Note 33-43: (GX) Added support for automatic mipmap generation [SDK]
Note 33-44: (GX) Deleted lighting layer configurations 8–10 [SDK]
Note 33-45: (GX) Stopped using invalid bit in register 0x6f [SDK]
Note 33-46: (GX) Fixed a bug that caused incorrect behavior with certain placements of vertex and index arrays [SDK]
Note 33-47: (HID) Changed threshold values for clamping the Slide Pad [SDK]
Note 33-48: (HIO) Relocated the PC-side HostIO library [SDK]
Note 33-49: (JPEG) Added JPEG encoder functions for MP-format data [SDK]
Note 33-50: (JPEG) Added setter functions for the JPEG encoder [SDK]
Note 33-51: (JPEG) Added functions for extracting EXIF information with the JPEG decoder [SDK]
Note 33-52: (JPEG) Added functions for analyzing MP-format data with the JPEG decoder [SDK]
Note 33-53: (JPEG) Added functions for setting the image width in the JPEG decoder [SDK]
Note 33-54: (JPEG) Added thumbnail output formats for the JPEG encoder [SDK]
Note 33-55: (JPEG) Added functions for applications to get and set MakerNote data [SDK]
Note 33-56: (MATH) Added the SafeNormalize functions [SDK]
Note 33-57: (MATH) Improved the accuracy of sine and cosine calculations [SDK]
Note 33-58: (MATH) Added multiplication functions for all components in Vector2, Vector3, and Vector4 vectors [SDK]
Note 33-59: (MATH) Fixed a bug in the values obtained by the GetRow and GetColumn functions in math_Matrix23.h [SDK]
Note 33-60: (MATH) Increased speed of functions [SDK]
Note 33-61: (MIC) Added a return value to the mic::FreeBuffer function [SDK]
Note 33-62: (MIC) Added the microphone library to the default libraries [SDK]
Note 33-63: (MIC) Deleted a function that allocates memory and added a function that sets memory [SDK]
Note 33-64: (MIDI) Added the MIDI library [SDK | System Updater]
Note 33-65: (RDT) Added the RDT library [SDK]
Note 33-66: (SND) Added 3D surround sound features [SDK]
Note 33-67: (SND) Fixed a bug that corrupted waveforms during ADPCM playback [SDK]
Note 33-68: (SND) Fixed a bug in the AllocVoice function [SDK]
Note 33-69: (SND) Added a DSP-ADPCM encoder [SDK]
Note 33-70: (SND) Fixed a bug in the GetPlayPosition function [SDK]
Note 33-71: (SND) Added a function to get Mix bus data [SDK]
Note 33-72: (SND) Added a MixParam constructor [SDK]
Note 33-73: (SND) Added functions for loading files in the BCWAV format [SDK]
Note 33-74: (SND) Fixed a bug that caused the nn::snd::WaitForDspSync function to enter an endless loop [SDK]
Note 33-75: (SND) Changed definitions in the nn::snd::WaveBuffer structure [SDK]
Note 33-76: (SND) Fixed a bug that caused execution to halt on a null assertion while nn::snd::Voice was in use [SDK]
Note 33-77: (SND) Fixed a SND library bug that would suddenly stop audio output [SDK]
Note 33-78: (SND) Added filter features [SDK]
Note 33-79: (SND) Added a function for determining whether headphones have been inserted [SDK | System Updater]
Note 33-80: (SND) Revised the Function Reference Manual [SDK]
Note 33-81: (SND) Fixed loop playback bugs [SDK]
Note 33-82: (SND) Added a waveform converter [SDK]
Note 33-83: (SND) Fixed a bug that caused the playback position to lag during long playback times [SDK]
Note 33-84: (TOOL) Added Config tool features [SDK]
Note 33-85: (TOOL) Changed the DevMenu [SDK]
Note 33-86: (TOOL) Added ctr_makecia32.exe [SDK]
Note 33-87: (TOOL) Added CXI file encryption and CDI file generation [SDK]
Note 33-88: (TOOL) Updated the shader assembler and linker [SDK]
Note 33-89: (UDS) Changed how the buffer used by the UDS library is allocated [SDK]
Note 33-90: (UDS) Fixed a bug that prevented networks from being found after specified channels were scanned [SDK]
Note 33-91: (UDS) User name and local friend code are now obtained from the system information [SDK]
Note 33-92: (UDS) Changed specifications for the CreateNetwork and Scan functions following policy changes to local communication IDs [SDK]
Note 33-93: (UGC) Added a profanity-check library [SDK]
Note 33-94: (UGC) Added a blacklist library [SDK]
Note 33-95: (ULCD) Revised internal calculations in the CalculateMatrices[Real] functions [SDK]
Note 33-96: (ULCD) Changed argument specifications for the StereoCamera::CalculateMatrices[Real] functions [SDK]
Note 33-97: (ULCD) Changed specifications for the StereoCamera::GetMaxParallax function [SDK]
Note 33-98: (ULCD) Updated the Description of the ULCD Library [SDK]
Note 33-99: (ULCD) Added functions to get and set the maximum parallax [SDK]
Note 33-100: (Y2R) Changed arguments to the SetDitheringWeightParam function [SDK | System Updater]
Note 33-101: (Y2R) Added a stride argument to functions that transfer source data for conversion [SDK | System Updater]
Known Issues in the SDK 0.10.0 Release
CTR-SDK 0.10.0 Release System Updater (2010/06/23)
Note 32-01: (AC) Revised the AC_Connect function [System Updater]
Note 32-02: (AC) Revised the AC_ConnectAsync function [System Updater]
Note 32-03: (AC) AC_DebugSetNetworkSettingA [System Updater]
Note 32-04: (AC) Revised the DebugSetNetworkSetting1 function [System Updater]
Note 32-05: (AC) Revised the WPA connection process [System Updater]
Note 32-06: (AC) Fixed a scan bug that occurred after a failed connection attempt [System Updater]
Note 32-07: (CAMERA) Revised the Activate function [SDK | System Updater]
Note 32-08: (CAMERA) Revised the SetAutoWhiteBalance function [SDK | System Updater]
Note 32-09: (CAMERA) Revised the SetNoiseFilter function [SDK | System Updater]
Note 32-10: (CAMERA) Revised the SetTrimmingParams and SetTrimmingParamsCenter functions [SDK | System Updater]
Note 32-11: (CAMERA) Added support for the camera LED [SDK | System Updater]
Note 32-12: (CAMERA) Added a function to play the shutter sound [SDK | System Updater]
Note 32-13: (CAMERA/Y2R) Changed the Initialize function's return value [SDK | System Updater]
Note 32-14: (FS) Revised NAND and SD Memory Card error processing [System Updater]
Note 32-15: (HID) Revised the nn::fs::Directory::Read function [System Updater]
Note 32-16: (FS) Revised sdmc: archives [SDK | System Updater]
Note 32-17: (FS) Added save data support [SDK | System Updater]
Note 32-18: (FS) Added support for 8.3 filenames that only have lowercase characters [SDK | System Updater]
Note 32-19: (FS) Added support for add-on data [System Updater]
Note 32-20: (GX) Changed LCD backlight-related settings [System Updater]
Note 32-21: (GX) Added the SetMemAccessPrioMode function [SDK | System Updater]
Note 32-22: (GX) Fixed problem that caused vertical line noise to appear on screen [System Updater]
Note 32-23: (HTTP/SSL) Added support for internal certificates [System Updater]
Note 32-24: (MIDI) Added the MIDI library [SDK | System Updater]
Note 32-25: (NET) Added wireless On/Off features [System Updater]
Note 32-26: (OS) Fixed a bug where Wait* functions with a timeout would not return [System Updater]
Note 32-27: (OS) Revised the order in which synchronous objects release threads [System Updater]
Note 32-28: (OS) Modified the length of time until power-off [System Updater]
Note 32-29: (SND) High-frequency sound when headphones are inserted [System Updater]
Note 32-30: (SND) Added a function for determining whether headphones have been inserted [SDK | System Updater]
Note 32-31: (Socket) Changed header files [SDK]
Note 32-32: (Socket/UDS) Fixed problem where system would deadlock under high load [System Updater]
Note 32-33: (UDS) Added support for Audience mode [System Updater]
Note 32-34: (UDS) Implemented EjectAudience function [System Updater]
Note 32-35: (UDS) Fixed bug where SetApplicationDataToBeacon and GetApplicationDataFromBeacon functions could not set or get data [System Updater]
Note 32-36: (UDS) Reduced processing load when receiving [System Updater]
Note 32-37: (ULCD) Added support for automatically disabling stereoscopic display [System Updater]
Note 32-38: (Y2R) Changed arguments to the SetDitheringWeightParam function [SDK | System Updater]
Note 32-39: (Y2R) Added a stride argument to functions that transfer source data for conversion [SDK | System Updater]
Known Issues with SDK 0.10.0 Release System Updater
CTR-SDK 0.10.0 Release Sample Demos (2010/06/23)
Note 31-01: (FS) Added features to the multifeature demos [Sample Demos]
Note 31-02: (GX) Sped up the ScreenCapture sample and fixed a bug in it [Sample Demos]
Note 31-03: (GX) Added graphics demos [Sample Demos]
Note 31-04: (HIO) Revised the PC-side HostIO sample [Sample Demos]
Note 31-05: (RDT) Added RDT sample demos [Sample Demos]
Note 31-06: (SND) Added sample demos [Sample Demos]
Note 31-07: (UGC) Added simple sample of the profanity-check library [Sample Demos]
Note 31-08: (UGC) Added simple sample of the blacklist library [Sample Demos]
Known Issues with SDK 0.10.0 Release Sample Demos
CTR-SDK 0.9.7 Release (2010/05/26)
Known Issues in the SDK 0.9.7 Release
CTR-SDK 0.9.7 Release System Updater (2010/05/26)
Note 29-01: (SND) Improved sound pressure levels in headphone output and removed distortion [System Updater]
Known Issues with System Updater in the SDK 0.9.7 Release
CTR-SDK 0.9.6 Release (2010/05/24)
Note 28-01: (GX) Fixed a bug in the texture cache flush [SDK]
Known Issues with SDK 0.9.6 Release
CTR-SDK 0.9.6 Release System Updater (2010/05/24)
Note 27-01: (CAMERA/Y2R) Fixed a bug where function calls would not return [System Updater]
Known Issues with System Updater in the SDK 0.9.6 Release
CTR-SDK 0.9.5 Release (2010/05/20)
Note 26-01: (SND) Fixed a bug that occurred during a Voice volume change [SDK]
Known Issues in the SDK 0.9.5 Release
CTR-SDK 0.9.4 Release (2010/05/19)
Note 25-01: (SND) Fixed a Volume Mixer bug [SDK]
Known Issues in the SDK 0.9.4 Release
CTR-SDK 0.9.4 Release System Updater (2010/05/19)
Note 24-01: (MCU) Changed the 3D LED to always be illuminated [System Updater]
Note 24-02: (MCU) Fixed a bug that caused the volume to increase temporarily at indeterminate times [System Updater]
Note 24-03: (MCU) Fixed a bug that caused the power and LCDs to turn off, and resets to occur, at indeterminate times [System Updater]
Note 24-04: (MCU) Changed the time to power off when the Power Button is held down [System Updater]
Note 24-05: (OS) Fixed a bug that caused the firmware to halt when running for a long time [System Updater]
Known Issues with System Updater in the SDK 0.9.4 Release
CTR-SDK 0.9.3 Release (2010/05/12)
Note 23-01: (GX) Added header files with macros for PICA register information [SDK]
Note 23-02: (GX) Updated documentation [SDK]
Note 23-03: (GX) Added a way to get the address of data for bound textures [SDK]
Note 23-04: (GX) Fixed a bug that prevented fixed vertex attributes from being updated properly when program objects were switched [SDK]
Note 23-05: (GX) Added a way to get the address of vertex data for bound vertex buffer objects [SDK]
Known Issues in the SDK 0.9.3 Release
CTR-SDK 0.9.3 Release System Updater (2010/05/12)
Note 22-01: (Miscellaneous) Fixed a bug that caused program execution to freeze in some environments [System Updater]
Known Issues with System Updater in the SDK 0.9.3 Release
CTR-SDK 0.9.2 Release (2010/05/07)
Note 21-01: (CAMERA) Calibration data definitions for stereo cameras [SDK | System Updater]
Note 21-02: (GX) Updated the DMPGL documentation [SDK]
Note 21-03: (GX) Removed error checks for Release builds [SDK]
Note 21-04: (GX) Fixed bugs in glFramebufferRenderbuffer [SDK]
Note 21-05: (GX) Fixed a problem that caused invalid format recognition when glTexImage2D was called multiple times [SDK]
Note 21-06: (GX) Added the nngxGetCommandGenerationMode function [SDK]
Note 21-07: (GX) Fixed a bug that caused only 239 lines to be displayed on the lower screen [SDK]
Note 21-08: (GX) Fixed a bug that caused execution to hang when no vertex attributes used vertex arrays [SDK]
Note 21-09: (HID) Added support for the Classic Controller PRO for development tools [SDK]
Note 21-10: (SND) Fixed sound distortion [SDK]
Note 21-11: (SND) Fixed a bug that caused all sound playback to stop when neither a loop or buffer jump was specified [SDK]
Note 21-12: (TOOL) Added DevMenu [SDK]
Note 21-13: (TOOL) Updated the shader assembly language [SDK]
Note 21-14: (ULCD) Changed prerequisites [SDK]
Note 21-15: (ULCD) Added macro definitions that specify the display in autostereoscopic mode [SDK]
Known Issues with SDK 0.9.2 Release
CTR-SDK 0.9.2 Release System Updater (2010/05/07)
Note 20-01: (OS) Added support for debugging CIA files [System Updater]
Note 20-02: (OS) Fixed a bug that caused the debugger to hang when loading a process [System Updater]
Note 20-03: (UDS) Fixed a bug that prevented Client nodes from reconnecting [System Updater]
Note 20-04: (UDS) Fixed a bug that corrupted Master management data when a Client failed to connect [System Updater]
Known Issues with System Updater in SDK 0.9.2 Release
CTR-SDK 0.9.2 Release Sample Demos (2010/05/07)
Note 19-01: (GX) Added ScreenCapture sample demos [Sample Demos]
Known Issues with SDK 0.9.2 Release Sample Demos
CTR-SDK 0.9.1 Release (2010/04/23)
Note 18-01: (OS) Fixed bugs for file read and write operations [SDK]
Note 18-02: (SND) Changed the DSP sound specifications [SDK]
Note 18-03: (TOOL) Added ctr_makesimplecia32.exe [SDK]
Note 18-04: (UDS) Revised the nn::uds::Finalize function to finalize status update events [SDK]
Note 18-05: (UDS) Eliminated use of std::vector by the library [SDK]
Known Issues with SDK 0.9.1 Release
CTR-SDK 0.9.1 Release System Updater (2010/04/23)
Note 17-01: (OS) Revised adjustments for LCD flickering [System Updater]
Note 17-02: (SOCKET) Revised the socket startup and finalization [System Updater]
Note 17-03: (SOCKET) Revised the packet-sending operation [System Updater]
Known Issues with SDK 0.9.1 Release System Updater
CTR-SDK 0.9.1 Release Sample Demos (2010/04/23)
Note 16-01: (DEMO) Fixed bugs related to double-buffering of the display buffer [Sample Demos]
Known Issues with SDK 0.9.1 Release Sample Demos
CTR-SDK 0.9.0 Release (2010/04/14)
Note 15-01: (AC) Added AC library [SDK | System Updater]
Note 15-02: (CAMERA) Added support for the second outer camera [SDK | System Updater]
Note 15-03: (CAMERA) Revised the CAMERA library configuration functions [SDK | System Updater]
Note 15-04: (CAMERA) Revised CAMERA AC library functions [SDK | System Updater]
Note 15-05: (CAMERA) Revised reference for nn::camera::CTR::FrameRate [SDK]
Note 15-06: (CAMERA) Adjusted the camera image quality [SDK | System Updater]
Note 15-07: (CAMERA) Added image data auto-receive configuration functions [SDK | System Updater]
Note 15-08: (CECD) Added Chance Encounter Communication daemon (alpha version) [SDK]
Note 15-09: (DBG) Debugger output, ASSERT enable / disable switch [SDK]
Note 15-10: (DEMO) Moved the demo library [SDK | Sample Demos]
Note 15-11: (DSP) Moved header files [SDK]
Note 15-12: (DevEnv) Added --gnu option [SDK]
Note 15-13: (DevEnv) Changed to -Otime [SDK]
Note 15-14: (DevEnv) Added TS board support [SDK | System Updater]
Note 15-15: (DevEnv) Added Windows 7 64-bit OS support [SDK]
Note 15-16: (DevEnv) Changed version.h [SDK]
Note 15-17: (DevEnv) Added BOM to source code [SDK]
Note 15-18: (DevEnv) Changed dependency analysis [SDK]
Note 15-19: (DevEnv) Restricted function call optimization [SDK]
Note 15-20: (FND) Added features to nn::fnd::DateTime class [SDK]
Note 15-21: (FND) Added nn::fnd::DateTimeParameters [SDK]
Note 15-22: (FS) Revised ROMFS file alignment [SDK]
Note 15-23: (FS) Added nn::fnd::Directory class [SDK]
Note 15-24: (FS) Changed nn::fnd::DirectoryEntry structure member size [SDK]
Note 15-25: (GX) Fixed a bug where no command would be generated for the viewport during NN_GX_STATE_OTHERS validation [SDK]
Note 15-26: (GX) Added TS features (texture processing) [SDK]
Note 15-27: (GX) Added TS features (fragment lighting) [SDK]
Note 15-28: (GX) Fixed a bug relating to dmp_LightEnv.bumpRenorm, dmp_LightEnv.bumpMode [SDK]
Note 15-29: (GX) Fixed a bug in glFramebufferTexture2D function error check [SDK]
Note 15-30: (GX) Relaxed error checking in the nngxAdd3DCommand [SDK]
Note 15-31: (GX) Changed the nngxCopyCmdlist function to allow copying to a command list that is waiting [SDK]
Note 15-32: (GX) Fixed a bug in the nngxCopyCmdlist function where command counters were not cleared after execution [SDK]
Note 15-33: (GX) Deprecated the nngxReserveSwapBuffers function [SDK]
Note 15-34: (GX) Added error check to the nngxSwapBuffers function [SDK]
Note 15-35: (GX) Added functions for command cache feature [SDK]
Note 15-36: (GX) Added ability to specify only a part of a data transfer pattern [SDK]
Note 15-37: (GX) Optimized geometry shader for lines that only have vertex attributes [SDK]
Note 15-38: (GX) Fixed an error check bug when 0 is specified for the data when creating a vertex buffer [SDK]
Note 15-39: (HID) Clamping touch panel input [SDK]
Note 15-40: (HIO) Added samples and documentation for the HIO library [SDK]
Note 15-41: (HIO) Revised host-side file operations [SDK]
Note 15-42: (HIO) Added functions and classes to support wide-character strings [SDK]
Note 15-43: (SSL) Added the HTTP library [SDK | System Updater]
Note 15-44: (JPEG) Added the JPEG codec library [SDK]
Note 15-45: (MATH) Added the MATH library functions [SDK]
Note 15-46: (MATH) Fixed bugs in SinFIdx, CosFIdx, SinCosFIdx functions [SDK]
Note 15-47: (MATH) Made the math API inline [SDK]
Note 15-48: (MATH) Added member functions to the matrix and vector classes [SDK]
Note 15-49: (MATH) Optimized by rewriting (some) functions in assembler [SDK]
Note 15-50: (OS) Fixed a bug when specifying sizes in excess of 8MB when calling the nn::init::InitializeAllocator function [SDK]
Note 15-51: (OS) Changed specifications for the nninitStaticInit function [SDK]
Note 15-52: (OS) Changed the program initialization sequence [SDK]
Note 15-53: (OS) Added high-speed synchronization mechanisms [SDK | System Updater]
Note 15-54: (SND) Fixed a bug when specifying a pitch higher than 14 during ADPCM playback [SDK]
Note 15-55: (SND) Added Aux bus [SDK]
Note 15-56: (SND) Added functions to set and get DSP cycle count [SDK]
Note 15-57: (SND) Changed nn::snd::MixParam structure format [SDK]
Note 15-58: (SND) Fixed a bug where execution would not finish even after reaching the end of a sample [SDK]
Note 15-59: (SND) Changed parameter default values [SDK]
Note 15-60: (SND) Moved header files [SDK]
Note 15-61: (SND) Fixed a bug in releasing voice buffers [SDK]
Note 15-62: (SND) Optimized the library [SDK]
Note 15-63: (SND) Fixed a bug that would occur when clearing loop flag during loop playback [SDK]
Note 15-64: (SND) Added features to set and get interpolation method [SDK]
Note 15-65: (SOCKET) Added the socket library [SDK | System Updater]
Note 15-66: (SSL) Added the SSL library [SDK | System Updater]
Note 15-67: (TOOL) Added the Config tool [SDK]
Note 15-68: (UDS) Added the UDS library [SDK | System Updater]
Note 15-69: (ULCD) Added the autostereoscopy feature (API to change LCD mode and the LUCD library) [SDK]
Note 15-70: (Y2R) Revised the Y2R library functions [SDK]
Note 15-71: (Y2R) Added a stride argument to functions that transfer source data for conversion [SDK | System Updater]
Known Issues with SDK 0.9.0 Release
CTR-SDK 0.9.0 Release System Updater (2010/04/14)
Note 14-01: (AC) Added AC library [SDK | System Updater]
Note 14-02: (CAMERA) Added support for the second outer camera [SDK | System Updater]
Note 14-03: (CAMERA) Revised the CAMERA library configuration functions [SDK | System Updater]
Note 14-04: (CAMERA) Revised CAMERA AC library functions [SDK | System Updater]
Note 14-05: (CAMERA) Adjusted the camera image quality [SDK | System Updater]
Note 14-06: (CAMERA) Added image data auto-receive configuration functions [SDK | System Updater]
Note 14-07: (DevEnv) Added TS board support [SDK | System Updater]
Note 14-08: (FS) Fixed FATFS access bug [System Updater]
Note 14-09: (FS) Added DMA support for NAND/SD Memory Cards [System Updater]
Note 14-10: (FS) Implemented directory scans in ROM [System Updater]
Note 14-11: (GX) Removed alignment restrictions during VRAM transfers [System Updater]
Note 14-12: (GX) Fixed a bug in the lower-screen swap buffer [System Updater]
Note 14-13: (HID) Revised the Reader function of TouchPanelReader [System Updater]
Note 14-14: (SSL) Added the HTTP library [SDK | System Updater]
Note 14-15: (OS) Revised the nn::os::Timer::ClearSignal function [System Updater]
Note 14-16: (OS) Set upper limit on number of threads [System Updater]
Note 14-17: (OS) Fixed a bug where debugger would fail to load cci files [System Updater]
Note 14-18: (OS) Fixed a bug where hard breaks would not be possible after setting a breakpoint in the debugger [System Updater]
Note 14-19: (OS) Modified the debugger exception notifications [System Updater]
Note 14-20: (OS) Fixed mutual exclusion bug in the firmware [System Updater]
Note 14-21: (OS) Fixed a bug where cycle timer cycles got longer [System Updater]
Note 14-22: (OS) Added high-speed synchronization mechanisms [SDK | System Updater]
Note 14-23: (SND) Fixed a bug where volume was too low [System Updater]
Note 14-24: (SND) Fixed a bug where volume + / - symbols were backwards [System Updater]
Note 14-25: (SOCKET) Added the socket library [SDK | System Updater]
Note 14-26: (SSL) Added the SSL library [SDK | System Updater]
Note 14-27: (UDS) Added the UDS library [SDK | System Updater]
Note 14-28: (Y2R) Added a stride argument to functions that transfer source data for conversion [SDK | System Updater]
Known Issues with SDK 0.9.0 Release System Updater
CTR-SDK 0.9.0 Release Sample Demos (2010/04/14)
Note 13-01: (DEMO) Moved the demo library [SDK | Sample Demos]
Note 13-02: (GX) Changed graphics demos [Sample Demos]
Note 13-03: (GX) Changed vertex shader assembly code for sample demos [Sample Demos]
Note 13-04: (GX) Added two types of samples for fragment lighting [Sample Demos]
Note 13-05: (SND) Changed sample demos [Sample Demos]
Note 13-06: (SND) Added sample demos [Sample Demos]
Note 13-07: (ULCD) Added ULCD sample demos [Sample Demos]
Note 13-08: (Other) Changed demo1 [Sample Demos]
Note 13-09: (Other) Deleted using namespace declaration from sample demos [Sample Demos]
Known Issues with SDK 0.9.0 Release Sample Demos
CTR-SDK 0.8.3 Release (2010/03/15)
Note 12-01: Note 12-01: (DEMO) Revised the internal operations of the nn::demo::RunCmdlistDone function [SDK]
Note 12-02: (DEMO) Replaced the nngxReserveSwapBuffers function with the nngxSwapBuffers function [SDK | Sample Demos]
Note 12-03: (GX) Updated the DMPGL documentation [SDK]
Note 12-04: Note 12-04: (GX) Fixed a bug related to dmp_Texture*.samplerType switching [SDK]
Note 12-05: (GX) Fixed a bug involving setting the alpha component with the glBlend* functions [SDK]
Note 12-06: (GX) Fixed bugs in glBufferData function [SDK]
Note 12-07: (GX) Fixed bugs in glBufferSubData function [SDK]
Note 12-08: (GX) Changed glBufferSubData function specifications [SDK]
Note 12-09: (GX) Fixed bugs in the glLinkProgram function [SDK]
Note 12-10: Note 12-10: (GX) Added a parameter obtained by the nngxGetCmdlistParameteri function [SDK]
Note 12-11: (GX) Fixed issues with the error detection of the nngxInitialize function [SDK]
Note 12-12: (GX) Changed the nngxReserveSwapBuffers function to be equivalent of the nngxSwapBuffers function [SDK]
Note 12-13: (GX) Revised the error checking of the nngxTransferRenderImage and nngxSwapBuffers functions [SDK]
Note 12-14: (GX) Changed specifications for the command cache feature [SDK]
Note 12-15: (GX) Changed the timing when command lists are destroyed and cleared [SDK]
Note 12-16: (GX) Added a function that waits until a command list finishes executing [SDK]
Note 12-17: (GX) Changed the timing when command completion interrupt handlers are registered and disabled [SDK]
Note 12-18: (GX) Added system API error codes [SDK]
Note 12-19: (GX) Fixed a bug in procedural textures [SDK]
Note 12-20: (TOOL) Updated the shader assembly language [SDK]
Known Issues with SDK 0.8.3 Release
CTR-SDK 0.8.3 Release Sample Demos (2010/03/15)
Note 11-01: (DEMO) Replaced the nngxReserveSwapBuffers function with the nngxSwapBuffers function [SDK | Sample Demos]
Note 11-02: (GX) Revised the GasCessna sample [Sample Demos]
Note 11-03: (GX) Fixed a bug in the GasColorSimple sample [Sample Demos]
Note 11-04: (GX) Revised the ProctexRandom sample [Sample Demos]
Note 11-05: (GX) Added samples of using command cache [Sample Demos]
Known Issues with SDK 0.8.3 Release Sample Demos
CTR-SDK 0.8.2 Release (2010/02/22)
Note 10-01: (HIO) Revised the HIO library initialization functions [SDK]
Note 10-02: (MATH) Fixed a bug that occurred if the input and output of the VEC3Transform function were the same [SDK]
Note 10-03: (SND) Fixed a bug in ADPCM playback [SDK]
Note 10-04: (SND) Revised the Voice::IsPlaying function [SDK]
Note 10-05: (SND) Revised the nn::snd::Voice::GetPlayPosition function [SDK]
Note 10-06: (SND) Revised the updating process of voice buffer status [SDK]
Known Issues with SDK 0.8.2 Release
CTR-SDK 0.8.1 Release (2010/02/17)
Note 9-01: (DevEnv) Changed compiler and linker options [SDK]
Note 9-02: (HIO) Fixed a bug that prevented CCI files from being loaded if the HostIO functionality was used [SDK]
Note 9-03: (SND) Fixed a bug in ADPCM playback [SDK]
Note 9-04: (SND) Revised how data from DSP is read [SDK]
Note 9-05: (SND) Changed specifications for the nn::snd::WaveBuffer function [SDK]
Known Issues with SDK 0.8.1 Release
CTR-SDK 0.8.1 Release Sample Demos (2009/02/17)
Note 8-01: (SND) Revised the demos that use sound [Sample Demos]
Known Issues with SDK 0.8.1 Release Sample Demos
CTR-SDK 0.8.0 Release (2010/02/10)
Note 7-01: (CAMERA) Removed the StopDmaRecv[Rgb] function [SDK | System Updater]
Note 7-02: (CAMERA) Revised the CAMERA library function reference [SDK]
Note 7-03: (CAMERA) Revised the CAMERA library configuration functions [SDK | System Updater]
Note 7-04: (CAMERA) Added and removed the CAMERA library functions [SDK | System Updater]
Note 7-05: (CAMERA) Revised some function specifications in the CAMERA library [SDK | System Updater]
Note 7-06: (CAMERA) Removed and added the CAMERA library functions [SDK | System Updater]
Note 7-07: (CAMERA) Changed some function names in the CAMERA library [SDK | System Updater]
Note 7-08: (CAMERA) Added and revised the camera-related configuration parameters [SDK | System Updater]
Note 7-09: (CAMERA) Added data transfer completion event [SDK | System Updater]
Note 7-10: (DEMO) Added the DrawFramework::GetFramebufferObject and GetRenderbufferObject functions [SDK]
Note 7-11: (DSP) Modified the CreateSharedMemory function [SDK]
Note 7-12: (DSP) Added the DSP Function Reference Manual [SDK]
Note 7-13: (DSP) Modified the LoadComponent function [SDK]
Note 7-14: (DSP) Modified the LoadDefaultComponent function [SDK]
Note 7-15: (DSP) Increased the PIPE count [SDK]
Note 7-16: (DSP) Modified the RecvData, RecvDataIsReady, SendData, and SendDataIsEmpty functions [SDK]
Note 7-17: (DSP) Modified the RegisterInterruptEvents function [SDK]
Note 7-18: (DevEnv) Added reference about build rules [SDK]
Note 7-19: (FND) Added an overloaded version of the ExpHeap::Adjust function that specifies the direction in which the expanded heap should be reduced [SDK]
Note 7-20: (FND) Added nn::fnd::DateTime class [SDK]
Note 7-21: (FND) Revised the nn::fnd::ExpHeapBase::GetSizeOf function reference [SDK]
Note 7-22: (FND) Added a feature to specify the location of the administrative region when creating nested heaps [SDK]
Note 7-23: (GX) Revised the thread-related behavior of the nngx functions [SDK]
Note 7-24: (GX) Changed specifications for the nngxInitialize function [SDK]
Note 7-25: (GX) Updated the graphics drivers [SDK]
Note 7-26: (GX) Revised graphics function reference [SDK]
Note 7-27: (HID) Revised the terminology "play radius" to "play" within the AccelerometerReader class [SDK]
Note 7-28: (HID) Revised touch panel calibration [SDK]
Note 7-29: (HID) Revised the definitions of the member functions of the Pad class [SDK]
Note 7-30: (HIO) Added the HIO library [SDK]
Note 7-31: (MIC) Revised the AllocateBuffer and StartSampling Functions [SDK]
Note 7-32: (MIC) Revised the microphone function reference [SDK]
Note 7-33: (NSTD) Renamed the NSTD Library [SDK]
Note 7-34: (OS) Changed the documentation for the C-language wrapper functions [SDK]
Note 7-35: (OS) Added and removed C-language wrapper functions [SDK]
Note 7-36: (OS) Revised the CriticalSection specifications [SDK]
Note 7-37: (OS) Eliminated alignment restrictions on buffers transferred via DMA [SDK]
Note 7-38: (OS) Fixed DMA transfer memory leaks [SDK]
Note 7-39: (OS) Revised the function reference for the nn::os::StackMemoryBlock class [SDK]
Note 7-40: (OS) Revised the function reference for nn::os::WaitObject::WaitAny [SDK]
Note 7-41: (OS) Added a thread-safe typedef for heaps [SDK]
Note 7-42: (SND) Released the sound library [SDK]
Note 7-43: (TOOL) Changed the CCI format that is output from ctr_makerom [SDK | System Updater]
Note 7-44: (TOOL) Revised ctr_makerom [SDK]
Note 7-45: (Y2R) Removed the StopDmaRecv and StopDmaSend functions [SDK | System Updater]
Note 7-46: (Y2R) Revised the Y2R library references [SDK]
Note 7-47: (Y2R) Revised the Y2R library [SDK | System Updater]
Note 7-48: (Y2R) Revised the Y2R library [SDK | System Updater]
Note 7-49: (Y2R) Revised some function specifications in the Y2R library [SDK | System Updater]
Note 7-50: (Y2R) Added Y2R library functions [SDK | System Updater]
Note 7-51: (Y2R) Revised some function names in the Y2R library [SDK | System Updater]
Note 7-52: (Y2R) Removed the functions used to set data transfer requests from public availability [SDK]
Note 7-53: (Y2R) Removed some of the functions used to set and get the conversion coefficients from public availability [SDK]
Known Issues with SDK 0.8.0 Release
CTR-SDK 0.8.0 Release System Updater (2010/02/10)
Note 6-01: (CAMERA) Revised the Finalize function [System Updater]
Note 6-02: (CAMERA) Removed the StopDmaRecv[Rgb] function [SDK | System Updater]
Note 6-03: (CAMERA) Revised the CAMERA library configuration functions [SDK | System Updater]
Note 6-04: (CAMERA) Added and removed the CAMERA library functions [SDK | System Updater]
Note 6-05: (CAMERA) Revised some function specifications in the CAMERA library [SDK | System Updater]
Note 6-06: (CAMERA) Removed and added the CAMERA library functions [SDK | System Updater]
Note 6-07: (CAMERA) Changed some function names in the CAMERA library [SDK | System Updater]
Note 6-08: (CAMERA) Added and revised the camera-related configuration parameters [SDK | System Updater]
Note 6-09: (CAMERA) Added data transfer completion event [SDK | System Updater]
Note 6-10: (FS) Added support for file and directory operations on SD Cards [System Updater]
Note 6-11: (FS) Added functions for creating, deleting, and renaming files and directories [System Updater]
Note 6-12: (FS) Added a class for reading and writing files [System Updater]
Note 6-13: (FS) Fixed a resource leak that used to be present when files were opened [System Updater]
Note 6-14: (HID) Revised the sampling rate [System Updater]
Note 6-15: (MIC) Revised the Finalize function [System Updater]
Note 6-16: (OS) Fixed a bug that caused the ending address to be incorrect when a breakpoint is set in the Thread::Start function [System Updater]
Note 6-17: (OS) Fixed a bug that caused deadlocks [System Updater]
Note 6-18: (OS) Fixed a bug that prevented the values of the VFP registers from being obtained correctly from the debugger [System Updater]
Note 6-19: (OS) Fixed a bug that caused strings output to the debugger to be output twice [System Updater]
Note 6-20: (OS) Fixed a bug that caused the debugger to hang if it was run continuously [System Updater]
Note 6-21: (OS) Changed the maximum amount of memory that can be used on development hardware to 96 MB [System Updater]
Note 6-22: (OS) Fixed a bug that caused the debugger to hang when running applications that run threads frequently [System Updater]
Note 6-23: (TOOL) Changed the CCI format that is output from ctr_makerom [SDK | System Updater]
Note 6-24: (Y2R) Revised the Finalize function [System Updater]
Note 6-25: (Y2R) Removed the StopDmaRecv and StopDmaSend functions [SDK | System Updater]
Note 6-26: (Y2R) Revised the Y2R library [SDK | System Updater]
Note 6-27: (Y2R) Revised the Y2R library [SDK | System Updater]
Note 6-28: (Y2R) Revised some function specifications in the Y2R library [SDK | System Updater]
Note 6-29: (Y2R) Added Y2R library functions [SDK | System Updater]
Note 6-30: (Y2R) Revised some function names in the Y2R library [SDK | System Updater]
Known Issues with SDK 0.8.0 Release System Updater
CTR-SDK 0.8.0 Release Sample Demos (2010/02/10)
Note 5-01: (CAMERA) Revised sample demos [Sample Demos]
Note 5-02: (FND) Added features to the multifunction demos [Sample Demos]
Note 5-03: (GX) Fixed a bug in the GasCessna sample [Sample Demos]
Note 5-04: (GX) Deleted unnecessary operations related to tangent attribute data [Sample Demos]
Note 5-05: (GX) Added a demo that performs double-buffering on a command list for rendering [Sample Demos]
Note 5-06: (OS) Revised the os sample demo [Sample Demos]
Note 5-07: (SND) Added sample demos [Sample Demos]
Note 5-08: (SND) Added features to the multifunction demos [Sample Demos]
Known Issues with SDK 0.8.0 Release Sample Demos
CTR-SDK 0.7.1 Release (2010/01/15)
Note 4-01: (SND) Added support for the sound library of NintendoWare for CTR 0.4.0 [SDK]
Known Issues with SDK 0.7.1 Release
CTR-SDK 0.7.0 Release (2009/12/22)
Note 3-01: (CAMERA) Added the CAMERA library [SDK]
Note 3-02: (CRYPTO) Added the crypto library [SDK]
Note 3-03: (DEMO) Added classes for simple rendering of 2D geometric shapes [SDK]
Note 3-04: (DEMO) Added a document that explains the DEMO library [SDK]
Note 3-05: (DEMO) Modified the DEMO_SetRenderingTarget function [SDK]
Note 3-06: (DEMO) Changed the specifications of the DrawFramework class [DrawFramework]
Note 3-07: (DEMO) Added an argument to the DrawFramework::SwapBuffer function that specifies whether or not to wait for V-Sync before running [SDK]
Note 3-08: (DEMO) Released demo_MemoryManager.h [SDK]
Note 3-09: (DEMO) Made nn::demo::DrawFramework::SwapBuffer into a virtual function [SDK]
Note 3-10: (DEMO) Changed the macro that sets the maximum number of output characters [SDK]
Note 3-11: (DEMO) Changed the address alignment when allocating vertex buffers in VRAM [SDK]
Note 3-12: (DevEnv) Added the NN_ENDIAN macro [SDK]
Note 3-13: (DevEnv) Changed the structure of the documents folder [SDK]
Note 3-14: ((DevEnv) Changed the data types for u32 and s32 [SDK]
Note 3-15: (DevEnv) Changed the assembly rules [SDK]
Note 3-16: (DevEnv) Fixed a bug that caused duplicated option settings for macro definitions [SDK]
Note 3-17: (DevEnv) Deleted the OMakefiles for the libraries [SDK]
Note 3-18: (FND) Corrected the internal status check of the nn::fnd::ExpHeap class [SDK]
Note 3-19: (FND) Added features to nn::fnd::FrameHeap class [SDK]
Note 3-20: (FND) Added an allocator class for heaps [SDK]
Note 3-21: (FND) Added a feature to create nested heaps [SDK]
Note 3-22: (FND) Added features to the heap classes [SDK]
Note 3-23: (FND) Made the heap classes thread-safe [SDK]
Note 3-24: (FND) Added a feature to find the heap associated with a given block of allocated memory [SDK]
Note 3-25: (FS) Added to the nn::fs::FileReader class the ability to use the char* type to specify path names as ASCII strings [SDK]
Note 3-26: (GX) Added the DMPGL sample [SDK]
Note 3-27: (GX) Revised the graphics function reference [SDK]
Note 3-28: (GX) Updated the graphics drivers [SDK]
Note 3-29: (GX) Fixed an issue where the V-Sync timing for the upper and lower screens did not coincide [SDK | System Updater]
Note 3-30: (GX) Fixed a bug that caused only 239 lines to be displayed on the lower screen [SDK]
Note 3-31: (HID) Changed the names of the Initialize and Finalize functions [SDK]
Note 3-32: (HID) Changed input from SELECT to be treated as input from START [SDK]
Note 3-33: (HID) Added +Control Pad emulation for the Slide Pad [SDK]
Note 3-34: (HID) Revised the definitions of the member functions of the Pad class [SDK]
Note 3-35: (HID) Added support for the accelerometer [SDK]
Note 3-36: (HID) Changed the names of the symbols for the +Control Pad [SDK]
Note 3-37: (MATH) Added the MTX44Perspective[Deg|Rad] functions [SDK]
Note 3-38: (MATH) Added Set functions to the Vector* classes [SDK]
Note 3-39: (MATH) Revised the internal operations of the nn::math::RunCmdlistDone function [SDK]
Note 3-40: (MATH) Added functions to find the product of a projection matrix and a rotation matrix [SDK]
Note 3-41: (MIC) Added the MIC library [SDK]
Note 3-42: (OS) Changed the documentation for the C-language wrapper functions [SDK]
Note 3-43: (OS) Added and removed C-language wrapper functions [SDK]
Note 3-44: (OS) Fixed a bug in which the nn::fnd::FileReader class was not set as no copy [SDK]
Note 3-45: (OS) Changed the access label for the nn::os::HandleObject::Finalize function to protected [SDK]
Note 3-46: (OS) Added the nn::os::SafeBlockingQueue class [SDK]
Note 3-47: (OS) Revised the size of the nn::os::StackBuffer class template [SDK]
Note 3-48: (OS) Added the nn::os::Thread::GetMainThread function [SDK]
Note 3-49: (OS) Fixed the nn::os::Tick::ToTimeSpan function [SDK]
Note 3-50: (OS) Added the nnosAlarmCanSet function [SDK]
Note 3-51: (OS) Added the nnosInitializeDeviceMemory and nnosGetDeviceMemoryAddress functions [SDK]
Note 3-52: (OS) Added a system version check [SDK | System Updater]
Note 3-53: (OS) Revised the arguments to functions used to start threads [SDK]
Note 3-54: (OS) Revised the behavior if timers are set to expire after zero seconds [SDK]
Note 3-55: (OS) Added a class for specifying the lock policy [SDK]
Note 3-56: (TOOL) Revised ctr_makerom [SDK]
Known Issues with SDK 0.7.0 Release
CTR-SDK 0.7.0 Release System Updater (2009/12/22)
Note 2-01: (FS) Fixed a resource leak in the file system [System Updater]
Note 2-02: (GX) Removed restrictions on size during DMA transfers [System Updater]
Note 2-03: (GX) Fixed an issue where the V-Sync timing for the upper and lower screens did not coincide [SDK | System Updater]
Note 2-04: (OS) Fixed a bug that caused failures when attempting to load static regions 2 MB or greater in size [System Updater]
Note 2-05: (OS) Cut out VFP context switching [System Updater]
Note 2-06: (OS) Added a system version check [SDK | System Updater]
Note 2-07: (OS) Modified the debugger API [System Updater]
Note 2-08: (OS) Improved performance [System Updater]
Note 2-09: (OS) Added multi-core support [System Updater]
Note 2-10: (OS) Fixed a bug in which a single thread was able to acquire semaphores multiple times [System Updater]
Known Issues with System Updater in the SDK 0.7.0 Release
CTR-SDK 0.7.0 Release Sample Demos (2009/12/22)
Note 1-01: (CAMERA) Added features to the multifunction demos [Sample Demos]
Note 1-02: (GX) Added demos of the simple rendering features of 2D geometric shapes [Sample Demos]
Note 1-03: (GX) Revised the source code based on changes to the specifications of the glUniformMatrix functions [Sample Demos]
Note 1-04: (GX) Changed the directory structure [Sample Demos]
Note 1-05: (GX) Changed the directories so that shader binaries will be generated during builds [Sample Demos]
Note 1-06: (HID) Made changes and added features to the multifunction demos [Sample Demos]
Note 1-07: (MIC) Added features to the multifunction demos [Sample Demos]
Known Issues with SDK 0.7.0 Release Sample Demos

CTR-SDK Version 0.13.2 Release

(2010/10/07)


Note 50-01: (FS) Increased speed of opening files from ROM archives [SDK]

Increased speed when opening files from ROM archives.


Known Issues in the SDK 0.13.2 Release


CTR-SDK Version 0.13.1 Release

(2010/09/30)


Note 49-01: (CAMERA) Correction for change log entry regarding processing added to stop the cameras when the system is closed [SDK]

The change log entry for Note 47-06 erroneously stated that capturing does not resume when the system is closed and then opened again. Capturing does resume automatically, so there is no need for the application to provide any special support for opening/closing the system.


Note 49-02: (DevEnv) Correction for change log entries for known bugs in CTR-SDK 0.13 SystemUpdater [SDK]

The Known Issues with SystemUpdater in SDK Version 0.13.0 section of the change log contained the following mistakes.


Note 49-03: (SND) Fixed bug related to creating sound threads on core 1 in NintendoWare for CTR [SDK]

A feature was added to NintendoWare for CTR 1.1.0 that allows users to create sound threads on core 1. However, there was a bug in related nn::snd features, which is fixed in this SDK release.
This fix is required when using NintendoWare for CTR 1.1.0.


Note 49-04: (SND) Fixed bug that caused execution to enter an endless loop when FreeVoice was used within the voice drop callback [SDK]

Previously, if FreeVoice was used to free some other voice within the voice drop callback specified by AllocVoice, execution would enter an endless loop. This bug has been fixed.


Known Issues in the SDK 0.13.1 Release


CTR-SDK Version 0.13.0 Release

(2010/09/28)


Note 48-01: (AC) Added the nn::ac::LinkLevel GetLinkLevel function [SDK]

In addition to the preexisting GetLinkLevel function, which takes an nn::ac::LinkLevel pointer as an argument, added a GetLinkLevel function whose return value is an nn::ac::LinkLevel enumerated type.


Note 48-02: (APPLET) Added support for HOME Button detection and transitioning to the HOME Menu [SDK]

Added functions for detecting HOME button presses and transitioning to the HOME Menu.
To detect HOME button presses, there are two methods: getting the button state with the nn::applet::CTR::GetHomeButtonState function, or setting a callback with the nn::applet::CTR::SetHomeButtonCallback function.
Both the nn::applet::CTR::PrepareToJumpToHomeMenu and nn::applet::CTR::JumpToHomeMenu functions can jump to the HOME Menu, but the nn::applet::CTR::ProcessHomeButtonIfPrepared function combines both the ability to detect HOME and to jump to the HOME Menu.


Note 48-03: (BOSS) Added the BOSS library [SDK|SystemUpdater]

Added the BOSS library, which is used for data download features that employ download servers.


Note 48-04: (CAMERA) Revised the SetNoiseFilter function [SDK|SystemUpdater]

If the SetNoiseFilter function was used to turn noise filter features OFF and then exposure was changed by the SetExposure function, image brightness would start to flicker. This problem has been fixed.


Note 48-05: (CAMERA) Added a function to change the sensor window used for auto white balancing [SDK|SystemUpdater]

Added the SetAutoWhiteBalanceWindow function, which changes the region (sensor window) used to calculate auto white balance.
Note: The definition of the PackageParameterCameraSelect structure was changed to allow the SetPackageParameterWithoutContext function to make settings similar to the above function.


Note 48-06: (CARD) Revised media selector control after using HostIO CardSPI [SDK]

When CardSPI was used, then Midi or CardNor was accessed, and then HostIO was accessed, the media selector was not properly controlled and correct data transfer was not possible. Revisions were made so that media selector control will switch successively from SPI to CARD in such cases.


Note 48-07: (CEC) Changed the StreetPass library API [SDK|SystemUpdater]

Changed the StreetPass library (formerly the Chance Encounter Communication library) as follows.

    [MessageBoxInfoReader]      [MessageBox]
                <Get Box information>
    GetMessageBoxInfoFlag   --> GetBoxFlag (GetMessageBoxFlag was removed)
    GetBoxSizeMax           --> GetBoxSizeMax
    GetMessNumMax           --> GetBoxMessNumMax
    GetMessNum              --> GetBoxMessNum
                                GetBoxGroupNumMax
                                GetBoxGroupNum
                                SetBoxGroupNumMax
                                GetBoxSessionNum
                <Get Message information>
    GetMessage***           --> GetMessage*** (Added)


Note 48-08: (CEC) Operations necessary to communicate with the same partner more than once [SDK]

To reduce power consumption and avoid communicating over and over with the same partner, there is a feature where the local host remembers what partners it has communicated with once (sent or received one or more pieces of data) and then does not communicate with those partners if they are discovered again.
The list of past communication partners is valid for a maximum of 8 hours.
For this reason, StreetPass with the same partner will not occur again until an average of 4 hours or a maximum of 8 hours elapses.

If you specify true in an argument to the CecControl::StartScanning function, the list is initialized and it becomes possible to communicate with the same partners again.
Use this method when it is necessary to communicate more than once with the same partner for debug purposes.
The list is also initialized when a StreetPass box has been deleted.
(In the previous version the list was also initialized when data was written to an outbox, but that specification has been removed.)


Note 48-09: (CFG) Revised the GetLanguageCodeA2 function [SDK]

Revised the string obtained by the nn::cfg::GetLanguageCodeA2 function and indicating the Japanese language from "jp" to "ja".


Note 48-10: (CFG) Revised the GetSimpleAddress function [SDK]

Fixed a bug in the nn::cfg::CTR::GetSimpleAddress function that prevented it from getting the country name and area name parts of the simple address information.


Note 48-11: (CFG) Added function to get the RTC offset value [SDK]

Added the nn::cfg::CTR::GetUserTimeOffset function to get the cumulative offset value that is saved when the end user changes the date and time.
Applications can learn of end user changes to the system time by checking this offset value on every application launch.


Note 48-12: (CX) Added the CX library [SDK]

Added a library for file compression/decompression at the nn::cx namespace.


Note 48-13: (DLP) Changed the method for embedding child programs in parent programs [SDK|SampleDemos]

Changed the method for embedding child programs, as shown below.


Note 48-14: (DLP) Made revisions involving identification of child devices [SDK|SampleDemos]

Made the following changes related to identification of child devices.


Note 48-15: (DevEnv) Removed the pragma used for the RVCT warning bug workaround [SDK]

RVCT formerly sometimes output incorrect warnings in Release or Fast builds, so as a workaround some portions of code were built with size as the highest priority. RVCT has now been fixed, so these code portions have returned to being built with speed as the highest priority.


Note 48-16: (DevEnv) Made some nn::Result constructors private [SDK]

The access attribute of nn::Result-class constructors that take bit32 values was mistakenly set to "public". This has been revised to "private".


Note 48-17: (DevEnv) Changed the encoding of types.h [SDK]

$CTR_SDK/include/nn/types.h was a UTF-8 file with no BOM, but it has been changed to now include a BOM.
This was actually changed in CTR-SDK 0.11 but was accidentally omitted from the change log.


Note 48-18: (DevEnv) Changed compiler and linker options [SDK]

Added --debug_info=line_inlining_extensions to the default compiler options in the CTR-SDK build system.
Likewise, added tailreorder, unusedsymbols, veneercallers, veneerpools and visibility as specifications for the --info linker option.


Note 48-19: (DevEnv) Updated the supported version of RVCT [SDK]

Updated the RVCT version supported by the CTR-SDK to version 2010/09/09 (b865).
Because of this update, out-of-date versions of RVCT will now sometimes not operate properly.


Note 48-20: (FND) Revised behavior when Allocate of an ExpHeap fails [SDK]

Formerly, when the Allocate function failed to allocate an ExpHeap, the destructor and Finalize would not be called properly. This problem has been fixed.


Note 48-21: (FND) Revised behavior of ExpHeap constructor when given no arguments [SDK]

Formerly, when the destructor was called on an uninitialized ExpHeap object, it could not destroy the object properly. This problem has been fixed.


Note 48-22: (FND) Revised the range of specifiable alignments in ExpHeap::Allocate [SDK]

Changed the range of specifiable alignments in ExpHeap::Allocate to the range -4096 to 4096.


Note 48-23: (FND) Revised ExpHeapBase::GetDirecitionOf to GetDirectionOf [SDK]

Corrected the spelling of ExpHeapBase::GetDirectionOf, which was formerly misspelled as GetDirecitionOf.


Note 48-24: (FND) Strengthened check when freeing expanded heap memory [SDK]

Strengthened the memory address check that is performed when freeing expanded heap memory, with the goal of detecting duplicate calls to Free and other problems.


Note 48-25: (FONT) Added the Font library [SDK]

Added the Font library.
Its content is basically the same as nw::font, but applications that use nw must not use nn::font. (This is because some portions of libraries in nw reference nw::font.)
In future, nw::font is planned to be combined into nn::font.


Note 48-26: (FRIENDS) Changed the value of MODE_DESCRIPTION_SIZE [SDK]

Changed the value of MODE_DESCRIPTION_SIZE from 64 to 128.


Note 48-27: (FRIENDS) Deleted part of the NotificationType enumerator [SDK]

Removed NOTIFICATION_FRIEND_FAVORITE_GAME, which control will never actually reach, from the NotificationType enumerated type.


Note 48-28: (FRIENDS) Eliminated the notification sent when a game description is updated [SDK|SystemUpdater]

NOTIFICATION_FRIEND_PRESENCE is no longer delivered when the game description string is the only item updated by UpdateGameModeDescription or UpdateGameMode.


Note 48-29: (FRIENDS) Changed the value of the MII_SIZE constant [SDK]

Changed the value of the MII_SIZE constant from 128 to 96.
The size of the MiiInformation structure also changed.


Note 48-30: (FS) Changed the specifications of functions that get SD Card insertion/removal events [SDK]

The previously-disclosed functions that get SD Card insertion/removal events were not able to get whether an event has occurred, so the specifications have been changed.
The nn::fs::InitializeForFileSystemEvent, WaitForInsertSdmc, and WaitForEjectSdmc functions have been removed and replaced by the new nn::fs::RegisterSdmcInsertedEvent, UnregisterSdmcInsertedEvent, RegisterSdmcEjectedEvent, and UnregisterSdmcEjectedEvent functions.
The nn::fs::RegisterXxxxEvent functions get events via registered instances of nn::os::LightEvent.
At present, there is still a restriction: nn::fs::RegisterXxxxEvent and UnregisterXxxxEvent functions cannot be repeatedly called in succession.


Note 48-31: (FS) Fixed bug that prevented the fs::Directory::Read function from getting all entries [SDK]

When an external file system was used to create many entries in a directory and then the fs::Directory::Read function was used to get a list of entries, it would sometimes only be able to get a partial list. This bug has been fixed.


Note 48-32: (FS) Added the nn::fs::GetFileSystemSize function [SDK]

Added the nn::fs::GetFileSystemSize function, which can get the total space and free space of storage media whose media type is specified.
The following media types can be specified: MEDIA_TYPE_NAND and MEDIA_TYPE_SDMC.


Note 48-33: (FS) Added the nn::fs::MountSdmc function [SDK]

Added the nn::fs::MountSdmc function, which mounts SD Cards.
In order to access an SDMC archive, you must run this function with the SD Card inserted.
To mount a previously mounted SD Card that has been removed and then re-inserted, it must first be unmounted using the nn::fs::Unmount function and then the nn::fs::MountSdmc function must be executed again.


Note 48-34: (FS) Added the nn::fs::hio::GetHioRequiredMemorySize function [SDK]

Added a function that gets the size of working memory required when calling the nn::fs::hio::MountHioArchive function.


Note 48-35: (FS) Added a write function to nn::fs::hio::HioArchive [SDK]

Implemented a write function in nn::fs::hio::HioArchive.
It can write data in the same manner as is done with other archives, even when used on files on a PC.


Note 48-36: (FS) Added the nn::hio::CTR::HostFile::SetSize function [SDK]

Added the new function nn::hio::CTR::HostFile::SetSize, which can change the size of open files.
If the specified size is larger than the current size of the file, this function expands the file. The data in the expanded portion of the file is undefined.
If this function is used to trim a file and the file's Seek position lies in the trimmed portion of the file, this function moves the Seek position to the new end of the file.


Note 48-37: (FS) Added functions to get Game Card insertion/removal events and to get whether a Game Card is inserted [SDK]

Added the nn::fs::RegisterCardInsertedEvent, UnregisterCardInsertedEvent, RegisterCardEjectedEvent, UnregisterCardEjectedEvent, and IsCardInserted functions.
At present, there is still a restriction: nn::fs::RegisterXxxxEvent and UnregisterXxxxEvent functions cannot be repeatedly called in succession.


Note 48-38: (FS) Changed length of filenames in save data and expanded save data to 16 characters [SDK]

Changed length of filenames in save data and expanded save data from 8 characters to 16 characters.
This was actually changed in CTR-SDK 0.12 but was accidentally omitted from the change log.


Note 48-39: (GX) Updated the DMPGL documentation [SDK]

The main changes can be summarized as follows. See each document for further details.


Note 48-40: (GX) Added the GR library [SDK]

Added the GR library, which assists in high-speed graphics rendering by directly generating command arrays for setting the GPU (PICA graphics processor) registers of CTR.


Note 48-41: (GX) Updated PICA macro headers [SDK]

Made the following changes to the PICA macro headers.

Changed the member names and macro names of the enumerated types listed below.
Note: The old types were moved to gx_MacroOld.h for compatibility.


Note 48-42: (GX) Changed the off-limits range when placing display buffers in VRAM [SDK|SystemUpdater]

When placing display buffers in VRAM, previously there was a restriction that stated that buffers could not be placed in the last 0.5 MB of either VRAMA or VRAMB. This off-limits range was widened: now display buffers cannot be placed in the last 1.5 MB of either VRAMA or VRAMB.


Note 48-43: (GX) Enabled polygon offsets when the W buffer is enabled [SDK]

Z-value offsets via glPolygonOffset are now valid regardless of the W buffer setting.


Note 48-44: (GX) Changed the glCopyTexImage2D and glCopyTexSubImage2D functions [SDK]

Applied the following changes to both functions.


Note 48-45: (GX) Fixed a bug in the glPolygonOffset function [SDK]

Previously, the results of the glPolygonOffset function were affected by the settings of the glDepthRange function. This bug has been fixed.


Note 48-46: (GX) Added the nngxAddB2LTransferCommand function [SDK]

This function adds a command (post transfer command) that converts block images to linear images when transferring data.
The nngxTransferRenderImage function offers similar features, but this function can be used more generally.


Note 48-47: (GX) Added the nngxAddBlockImageCopyCommand function [SDK]

This function adds a block image transfer command (render texture transfer command).
Use this function to copy images between rendered render buffers and textures.


Note 48-48: (GX) Added the nngxAddL2BTransferCommand function [SDK]

This function adds a command (post transfer command) that converts linear images to block images when transferring data.
The nngxTransferLinearImage function offers similar features, but this function can be used more generally.


Note 48-49: (GX) Added the nngxAddMemoryFillCommand function [SDK]

This function adds a command (memory fill command) that fills the specified region with the specified data.
The glClear function offers similar features, but this function can be used more generally.


Note 48-50: (GX) Removed restrictions on the srcaddr and dstaddr arguments in the nngxAddVramDmaCommand function [SDK]

Removed the restriction requiring the srcaddr and dstaddr arguments in the nngxAddVramDmaCommand function to be 8-byte aligned.


Note 48-51: (GX) Fixed bug in behavior when an invalid format argument was specified in the nngxFilterBlockImage function [SDK]

Previously, when an invalid format argument was specified in the nngxFilterBlockImage function, sometimes after the error was detected control would not return from the function and an invalid command request would be generated. This bug has been fixed.


Note 48-52:(GX) Revised the types of arguments in the nngxFilterBlockImage and nngxAddVramDmaCommand functions [SDK]

Revised the type of the srcaddr argument in the nngxFilterBlockImage and nngxAddVramDmaCommand functions to const GLvoid*.


Note 48-53: (GX) Added the nngxGetAllocator function [SDK]

Added the new nngxGetAllocator function, which gets the allocator and deallocator set by the nngxInitialize function.


Note 48-54: (GX) Fixed bug that caused glViewport function settings to not be applied if run immediately after running the nngxInitialize function [SDK]

Previously, glViewport settings would not be applied if glViewport was called before the first validation of NN_GX_STATE_FRAMEBUFFER after nngxInitialize. This bug has been fixed.


Note 48-55: (GX) Added the nngxSetGasAutoAccumulationUpdate function [SDK]

Added a function that updates values related to the additive blending results of gas density rendering.
Use this function when directly generating commands for gas rendering, instead of using DMPGL functions.


Note 48-56: (GX) Fixed problem where the nngxTransferLinearImage function would stop on an assert [SDK]

Previously, although the function specification states that the first argument of nngxTransferLinearImage will accept addresses either in device memory or VRAM, specifying anything other than VRAM would cause the function to stop because of a mistake in an assert statement. This mistake has been fixed.


Note 48-57: (GX) Fixed bug in delta value settings of lookup tables used for procedural texture RGBA mapping and noise modulation [SDK]

Previously, the settings for delta values in lookup tables used for procedural texture RGBA maps and noise were double the correct settings. This bug has been fixed.


Note 48-58: (GX) Fixed bug in glVertexAttribPointer function when multiple vertex attributes have been arranged as an interleaved array [SDK]

Previously, when multiple vertex attributes were arranged as an interleaved array and the ptr argument of the glVertexAttribPointer function was specified in a way that placed the second piece of vertex data at the starting address of the vertex array, a bug sometimes caused the rendering API to generate an error and prevented correct rendering. This bug has been fixed.


Note 48-59: (GX) Deleted command that set the 0x101 register when logical operations are enabled [SDK]

Previously, the DMPGL API would generate a command that set register 0x101 to 0x01010000 when logical operations were enabled. However, it became clear that hardware specifications make this setting unnecessary, so this command is no longer generated.
The DMPGL 2.0 System API Specifications ($CTR_SDK/documents/DMPGL20/DMPGL20_system_API_specification.pdf) have been revised in line with this change.


Note 48-60: (HID) Deleted ACCELEROMETER_PLAY_MODE_LOOSE [SDK]

Because ACCELEROMETER_PLAY_MODE_LOOSE would sometimes yield unstable calculation results, it has been deleted. Now ACCELEROMETER_PLAY_MODE_TIGHT is the only available setting.
In line with this change, the SetPlayMode function (which set the sensitivity behavior mode) and the corresponding GetPlayMode function have also been eliminated.


Note 48-61: (HID) Added functions that enable use of the gyro sensor [SDK]

Added the nn::hid::GyroscopeReader class, which can get the gyro sensor values and the attitude of the system calculated based on the gyro sensor values.


Note 48-62: (HID) Revised the minimum and maximum values for clamping the Circle Pad [SDK]

The range of specifiable values in the PadReader::SetStickClamp function has been changed as shown below.

(The value in parentheses was the value used in CTR-SDK 0.12.)


Note 48-63: (HID) Added offset correction functions and axis rotation functions to the accelerometer library [SDK]

Added to the accelerometer library a group of functions that take an offset of the output values and a group of functions that rotate the axes of output.


Note 48-64: (HIO) Added functions for transmittable sizes during serial communication [SDK]

Added the GetReadableSize and GetWritableSize functions, which get the data size that can be sent or received in serial communication.


Note 48-65: (JPEG) Added the GetMpRegionsToBuildJpegData function to the decoder [SDK]

Added the GetMpRegionsToBuildJpegData function to the JpegMpDecoder class. This function gets information required to rebuild JPEG data from the individual image data stored in MP format.


Note 48-66: (JPEG) Added function that stops decoding [SDK]

Added the StopDecoder function, which can issue a stop request on decoding that is already running in another thread.


Note 48-67: (JPEG) Added the BGR8 and ABGR8 pixel formats [SDK]

Added pixel formats that can be specified during encoding and decoding.


Note 48-68: (MATH) Changed the nn::math::VEC3::DistanceSquare function to a const function [SDK]

Made the return value of the nn::math::VEC3::DistanceSquare function a const, in line with the function's internal implementation.


Note 48-69: (MATH) Fixed problem where copies of constants would be embedded in every object [SDK]

Because of how the values of F_NAN and other constants were defined in math_Constant.h, each compile unit that included this header file would generate its own copies. This problem has been fixed.


Note 48-70: (MATH) Fixed problem where embedded assembly language functions were not dead-stripped on a function-by-function level [SDK]

Some MATH library functions have been put in assembly language to optimize for speed, but previously there was a problem where these functions were only dead-stripped in units of individual object files. This problem has been fixed.


Note 48-71: (MIC) Changed access rights to memory that stores sampling results [SDK|SystemUpdater]

In CTR-SDK 0.12, the memory set by SetBuffer had ReadOnly attributes beginning from the time it was set and extending through to after the call to ResetBuffer. This has been changed so that the memory has ReadWrite attributes beginning from the call to SetBuffer.
This change gives applications read/write access to the targeted memory regardless of the timing of calls to the SetBuffer and ResetBuffer functions.


Note 48-72: (NDM) Enabled the network daemon and added a library to control it [SDK|SystemUpdater|SampleDemos]

Made the resident program (daemon) that performs network processing active by default.
This change means that access points, Nintendo Zone areas, and other networks will be searched for in the background of applications.

Also added the NDM library for controlling background communication.


Note 48-73: (NGC) Added specifications for the CheckProfanityWords function [SDK]

Added a specification to the CheckProfanityWords function stating that if its check finds an "@" symbol in a string, that string will be handled as a problematic string.


Note 48-74: (NGC) Added the CountNumbers function [SDK]

Added the CountNumbers function, which counts the number of characters that represent numbers within a string.


Note 48-75: (OS) Added the GetRunnningTargetHardware function [SDK]

Added the nn::os::GetRunnningTargetHardware function, which can get what hardware the program is running on.


Note 48-76: (OS) Added support for Sleep Mode [SDK|SystemUpdater]

The Sleep feature, activated by closing the system, is now available for use.
To enable this feature, you must register APPLET Sleep-related callbacks.

See demo1 and demo2 for more details.


Note 48-77: (OS) Added functions to get information about the amount of available memory [SDK|SystemUpdater]

Added the following two functions, which get information about the amount of available memory.


Note 48-78: (PL) Added functions to get shared fonts [SDK]

Added functions for getting shared fonts to the PL library.


Note 48-79: (PTM) Added library for power- and clock-related features [SDK]

Added an interface for battery, AC adapter, and alarm features to nn::ptm.


Note 48-80: (RDT) Fixed bug when connecting [SDK]

Previously, there was a bug where, if a Sender instance attempted connection to a peer Receiver instance at the same time as the Receiver instance transitioned from CLOSED to WAITING state, connection would be established although the connection itself was incomplete (with only one of the peers achieving an OPENED state). This bug has been fixed.


Note 48-81: (RDT) Changed the behavior of state transitions [SDK]

Changed the timing at which Sender and Receiver instances transition between states.
In the implementation up until now, a call to the Process function was always required in order to trigger an instance to transition to another state. In the new implementation, behavior has been changed so that the state transitions instantly upon a successful call to Open, Wait, Close or the other functions.
The three changes listed below were also made in line with this change.


Note 48-82:(SND) Added function that determines whether a file is a BCWAV file [SDK]

Added the nn::snd::Bcwav::IsBcwav function, which determines whether a file is in BCWAV format.


Note 48-83: (SND) Fixed bug where control would not return from the nn::snd::Initialize function [SDK]

In CTR-SDK 0.11 and subsequent versions, there was a bug that (on rare occasions) caused control to not return from the nn::snd::Initialize function. This bug has been fixed.


Note 48-84: (SND) Changed the namespace of the SND library [SDK]

Changed the sound namespace from nn::snd to nn::snd::CTR.
Because the "::CTR" portion of the namespace can be omitted, this change makes no difference from a usage standpoint.


Note 48-85: (SND) Added functions to get information about dropped sound frames [SDK]

Added the nn::snd::GetDroppedSoundFrameCount function, which gets the number of dropped sound frames, and the nn::snd::ClearDroppedSoundFrameCount function, which resets that number.


Note 48-86: (SOCKET) Eliminated dummy_util functions [SDK|SampleDemos]

As a result of the addition of the NetworkSetting tool, all demos now directly use AC to use the settings written to NAND.
The dummy_util functions will be deleted from the next release.


Note 48-87: (TOOL) Extended the Config tool [SDK]

Made the following changes to the Config tool.


Note 48-88: (TOOL) Added features to the DevMenu [SDK]

Made the following changes to the DevMenu.


Note 48-89: (TOOL) Added FontConverter tools [SDK]

Added the font conversion utilities ctr_FontConverter and ctr_FontConverterConsole.
Their content is the same as the FontConverter included in NintendoWare for CTR.


Note 48-90: (TOOL) Created the NetworkSetting tool [SDK]

Created a tool that configures the security mode, SSID, and key (or passphrase) for network configurations 1-3.


Note 48-91: (TOOL) Added items to RSF files [SDK]

Added the following items to RSF files.
See the ctr_makerom reference page for details.


Note 48-92: (TOOL) Fixed bug when parsing RSF files [SDK]

Previously, if an RSF file contained a string that was enclosed in double quotes ("") and included a hash mark (#), parsing of the string would fail and an error would be generated.
This bug has been fixed.


Note 48-93: (TOOL) Updated ctr_TexturePackager32 [SDK]

Added the following features to the ctr_TexturePackager32 tool.
For details, see $CTR_SDK/documents/TechnicalNotes/TexturePackagerLibrary/TPLTexturePackageTool.pdf.


Note 48-94: (TOOL) Changed ctr_WaveConverter32.exe [SDK]

Made the following changes to ctr_WaveConverter32.exe.


Note 48-95: (TOOL) Added ctr_compress [SDK]

Added the file compression tool ctr_compress.


Note 48-96: (TOOL) Added ctr_makebanner [SDK|SampleDemos]

Added ctr_makebanner, a tool for creating banner data.
Banners and icons created with ctr_makebanner can be embedded in CCI files using ctr_makerom.
However, currently there exists no method to check the embedded banners and icons.

Also added the makebanner demo in line with this change.


Note 48-97: (TOOL) Added ctr_makeciaarchive32.exe [SDK]

Added ctr_makeciaarchive32.exe, which gathers multiple CIA files to create archives.
Although this tool can be used within the build system when creating multiplayer child programs, for now, do not execute it directly.


Note 48-98: (TOOL) Fixed bug with -D option in ctr_makerom [SDK]

Previously, if the "value" string in the -Dname=value option included whitespace, there was a bug where only the string up to the whitespace would be recognized. This bug has been fixed.
Before fix: -DTITLE="TEST ROM" → TITLE="TEST"
After fix: -DTITLE="TEST ROM" → TITLE="TEST ROM"


Note 48-99: (TOOL) Added multi-core support to ctr_makerom [SDK]

Changed part of the ctr_makerom processing to now be performed in multiple threads.


Note 48-100: (TOOL) Added ctr_makerom options [SDK]

Added the following options to ctr_makerom.
See the reference page for details.

Note: The -cxi option, which was used in some demos in previous SDK versions, has been eliminated and replaced by the -content option.


Note 48-101: (TOOL) Updated the shader assembler [SDK]

The shader assembler now supports files that are UTF-8 (with BOM).


Note 48-102: (TOOL) Changed the default UniqueId [SDK]

Changed the default UniqueId value from 0x200 to 0xf7fff.


Note 48-103: (TPL) Changed the definitions of the various CtrTexFormat formats [SDK]

Changed the values of the formats defined by the nn::tpl::CtrTexFormat enumerated type.
The new values are such that you can take the bitwise OR of a new value with 0xf and set the resulting value directly in a PICA register.
(However, TEXFMT_REF and TEXFMT_UNSUPPORT are exceptions.)

This specification change means that the format of CTPK files created with previous versions of the SDK will no longer be parsed correctly.
Recreate such files with ctr_TexturePackager32.exe.


Note 48-104: (UDS) Added the nn::uds::AllowToSpectate function [SDK]

Added the nn::uds::AllowToSpectate function, which allows reconnection by spectators after the EjectSpectator function has been run.


Note 48-105: (UDS) Added members to the nn::uds::ConnectionStatus structure [SDK]

Added members to the nn::uds::ConnectionStatus structure so that the nn::uds::GetConnectionStatus function is now able to get the number of nodes currently connected to the network, the maximum number that can connect, and other similar information.


Note 48-106: (UDS) Changed the nn::uds::EjectSpectator function so that it can be certain of the ejection of spectators [SDK]

Up until now, there was a chance that, depending on signal strength, the eject notification might not be received after the EjectSpectator function was run. (This would lead to the spectator remaining connected.) Changes have been made so that spectators are now disconnected from the network even when the eject notification could not be received.
Also made changes so that spectators cannot newly connect to the network after the EjectSpectator function has been run.


Note 48-107: (UDS) Added the nn::uds::LinkLevel GetLinkLevel function [SDK]

In addition to the preexisting GetLinkLevel function, which takes an nn::uds::LinkLevel pointer as an argument, added a GetLinkLevel function whose return value is an nn::uds::LinkLevel enumerated type.
Also revised the function to complete in a shorter time than was required in CTR-SDK 0.12 and previous versions.


Note 48-108: (UDS) Added the nn::uds::NetworkDescription::CanConnectAsSpectator function [SDK]

Added a function that can confirm whether the target network is allowing spectators to connect.


Note 48-109: (UDS) Added function to create local communication IDs [SDK]

Added the CreateLocalCommunicationId function, which creates a 32-bit ID (until now referred to in the Function Reference as the "ID assigned to each title") based on the unique ID assigned to each title by the Licensing department.
Specify the ID created by the CreateLocalCommunicationId function to CreateNetwork, Scan, and similar functions.


Note 48-110: (ULCD) Fixed bug in StereoCamera class constructor [SDK]

Previously, StereoCamera(const nn::WithInitialize &) did not perform initialization in the way described in the Function Reference. It was revised and now calls the StereoCamera::Initialize function.


Note 48-111: (ULCD) Added support for const member functions in the StereoCamera class [SDK]

Prefixed "const" to all member function arguments and return values in the nn::ulcd::StereoCamera class where that prefix could be applied.


Note 48-112: (ULCD) Updated documents describing the ULCD library [SDK]

Updated documentation to reflect the fact that the restrictions on parallax for stereoscopic display have now been finalized in the Guidelines.
See the Guidelines for details.

Note, however, that the ULCD library itself has not been revised to reflect these restrictions.


Note 48-113: (ULCD) Added flag to determine whether initialization has been performed [SDK]

The StereoCamera class Initialize and Finalize functions were not designed to accommodate this class being generated in multiple threads. To fix this deficiency, added a flag to determine whether individual instances of the class have been initialized.
If an instance is uninitialized and a CalculateMatrices* function is called, execution will stop on an assert.


Note 48-114: (UTIL) Added util_Color.h, util_Rect.h, and util_Float24.h [SDK]

Added structure definitions for Color, Rect, and Float to the util namespace.
These are ported versions of the same definitions from the ut namespace in NintendoWare for CTR.


Known Issues in the SDK 0.13.0 Release


CTR-SDK Version 0.13.0 SystemUpdater

(2010/09/28)


Note 47-01: (AC) Revised the Connect and ConnectAsync functions [SystemUpdater]

Previously, there was a bug that sometimes prevented subsequent reconnections if a connection was cancelled while connection processing was underway. This bug has been fixed.


Note 47-02: (AC) Revised the ConnectCancelAsync function [SystemUpdater]

Previously, it was required to pass this function an argument consisting of an Event that received function completion, but this was deemed unnecessary.
It is considered an equivalent notification when the Connect function returns from blocking, or when the ConnectAsync function signals an Event.


Note 47-03: (AC) Revised the DebugSetNetworkSetting1 function [SystemUpdater]

Previously, there was a bug where network configurations would not be reflected in NAND when a connection was completed, even when those network configurations were set by the DebugSetNetworkSetting1 function. This bug was fixed.


Note 47-04: (BOSS) Added the BOSS library [SDK|SystemUpdater]

Added the BOSS library, which is used for data download features that employ download servers.


Note 47-05: (CAMERA) Revised the SetNoiseFilter function [SDK|SystemUpdater]

If the SetNoiseFilter function was used to turn noise filter features OFF and then exposure was changed by the SetExposure function, image brightness would start to flicker. This problem has been fixed.


Note 47-06: (CAMERA) Added processing to stop the cameras when the system is closed [SystemUpdater]

If the system is closed while the cameras are active, capturing is stopped and then the cameras are stopped. When the system is opened again the cameras are started and returned to the same state they were in before.
Note: Capturing is not restarted.


Note 47-07: (CAMERA) Added a function to change the sensor window used for auto white balancing [SDK|SystemUpdater]

Added the SetAutoWhiteBalanceWindow function, which changes the region (sensor window) used to calculate auto white balance.
Note: The definition of the PackageParameterCameraSelect structure was changed to allow the SetPackageParameterWithoutContext function to make settings similar to the above function.


Note 47-08: (CAMERA) Fixed bug in volume control during playback of the shutter sound [SystemUpdater]

Previously, a bug prevented voices from being muted while the shutter sound was playing. This bug has been fixed.


Note 47-09: (CEC) Changed the StreetPass library API [SDK|SystemUpdater]

Changed the StreetPass library (formerly the Chance Encounter Communication library) as follows.

    [MessageBoxInfoReader]      [MessageBox]
                <Get Box information>
    GetMessageBoxInfoFlag   --> GetBoxFlag (GetMessageBoxFlag was removed)
    GetBoxSizeMax           --> GetBoxSizeMax
    GetMessNumMax           --> GetBoxMessNumMax
    GetMessNum              --> GetBoxMessNum
                                GetBoxGroupNumMax
                                GetBoxGroupNum
                                SetBoxGroupNumMax
                                GetBoxSessionNum
                <Get Message information>
    GetMessage***           --> GetMessage*** (Added)


Note 47-10: (CFG) Revised the GetBirthday function [SystemUpdater]

Fixed a bug in the nn::cfg::CTR::GetBirthday function that prevented it from correctly getting birthdays. Also changed the function argument from a DateTime class instance to a Birthday structure.


Note 47-11: (DLP) Added debug function that forcibly downloads child programs [SystemUpdater]

Added the ForceClientToDownload function, which forcibly downloads child programs to clients, to dlp_Server.h.
Forced downloads are only valid on development hardware and are ignored by retail hardware.


Note 47-12: (DevEnv) Revised LCD backlight parameters [SystemUpdater]

Re-adjusted detailed parameters of the LCD active backlight settings and brightness levels.
Also applied a policy change regarding the initial settings. Now the initial brightness level is 4 and the active backlight is OFF by default.


Note 47-13: (DevEnv) Changed the startup sequence of test units [SystemUpdater]

Until now, test units displayed the DevMenu after system startup. Now they display a provisional HOME Menu.
Press START from this menu to launch the DevMenu.

If you start the DevMenu or an application (using the debugger) from this provisional HOME Menu, you can use APPLET library functions to return to the provisional HOME Menu.
(See demo1 and demo2 for examples.)


Note 47-14: (FND) Fixed bug where the nn::fnd::DateTime::GetNow function would start returning invalid values a short time after the RTC surpassed 2099/12/31 [SystemUpdater]

Previously, if the system time surpassed 2099/12/31 and returned to 2000/01/01 while an application was running, and the nn::fnd::DateTime::GetNow function was called a short time later, it would return invalid values. This bug has been fixed.


Note 47-15: (FRIENDS) Eliminated the notification sent when a game description is updated [SDK|SystemUpdater]

NOTIFICATION_FRIEND_PRESENCE is no longer delivered when the game description string is the only item updated by UpdateGameModeDescription or UpdateGameMode.


Note 47-16: (FRIENDS) Updated server and recreated account information [SystemUpdater]

Applying this SystemUpdater makes it possible to connect to a new server intended for CTR-SDK 0.13.
Note: All friend relationships established up to that point, and all account information, is deleted and reinitialized.


Note 47-17: (GX) Changed the off-limits range when placing display buffers in VRAM [SDK|SystemUpdater]

When placing display buffers in VRAM, previously there was a restriction that stated that buffers could not be placed in the last 0.5 MB of either VRAMA or VRAMB. This off-limits range was widened: now display buffers cannot be placed in the last 1.5 MB of either VRAMA or VRAMB.


Note 47-18: (HID) Fixed sampling bug that occurred after recovery from Sleep Mode [SystemUpdater]

Previously, there was a bug where key sampling would not resume after recovery from Sleep Mode. This bug has been fixed.


Note 47-19: (HID) Changed sampling values in cases where the system does not enter Sleep Mode when closed [SystemUpdater]

When the system is closed but does not enter Sleep Mode, the Touch Panel and all pad user inputs except the L and R Buttons now return disabled sampling values (0).


Note 47-20: (HTTP) Revised the AddPostData*** functions [SystemUpdater]

Abolished the size restriction on data registered by the AddPostData*** functions.
In line with this change, the specification now states that modules that use the AddPostData*** functions must use the nn::http::Initialize function to register a buffer for POST data.


Note 47-21: (HTTP) Revised the GetHeaderField function [SystemUpdater]

Previously, using the GetHeaderField function to read a nonexistent header field would cause all subsequent functions on that Connection to return communication errors. This bug has been fixed.


Note 47-22: (HTTP) Fixed Keep-Alive bug [SystemUpdater]

Previously, when Keep-Alive was enabled, connections would sometimes fail depending on their timing. This bug has been fixed.


Note 47-23: (HTTP) Handled problem with Keep-Alive communication [SystemUpdater]

When the local host communicated with a server which had Keep-Alive enabled and the local host switched between HTTP and HTTPS, execution would hang. This problem has been fixed.


Note 47-24: (HTTP) Changed default size of communication buffers [SystemUpdater]

Set the default sizes of HTTP communication buffers to 32640 B for incoming data and 16320 B for outgoing data. (Both these sizes are multiples of the default MSS.)
(Previously, both sizes were 8 KB.)


Note 47-25: (MCU) Revised the power LED and wireless LED [SystemUpdater]

Revised behavior of the LEDs during Sleep Mode, so that now the power LED blinks during Sleep Mode and the wireless LED dims.


Note 47-26: (MIC) Added processing to stop sampling when the system is closed [SystemUpdater]

Made changes so that now microphone sampling (if running) is stopped when the system is closed, and resumes when the system is opened again.


Note 47-27: (MIC) Changed access rights to memory that stores sampling results [SDK|SystemUpdater]

In CTR-SDK 0.12, the memory set by SetBuffer had ReadOnly attributes beginning from the time it was set and extending through to after the call to ResetBuffer. This has been changed so that the memory has ReadWrite attributes beginning from the call to SetBuffer.
This change gives applications read/write access to the targeted memory regardless of the timing of calls to the SetBuffer and ResetBuffer functions.


Note 47-28: (NDM) Enabled the network daemon and added a library to control it [SDK|SystemUpdater|SampleDemos]

Made the resident program (daemon) that performs network processing active by default.
This change means that access points, Nintendo Zone areas, and other networks will be searched for in the background of applications.

Also added the NDM library for controlling background communication.


Note 47-29: (OS) Added support for Sleep Mode [SDK|SystemUpdater]

The Sleep feature, activated by closing the system, is now available for use.
To enable this feature, you must register APPLET Sleep-related callbacks.

See demo1 and demo2 for more details.


Note 47-30: (OS) Added functions to get information about the amount of available memory [SDK|SystemUpdater]

Added the following two functions, which get information about the amount of available memory.


Note 47-31: (PTM) Revised the GetBatteryLevel function [SystemUpdater]

Previously, the GetBatteryLevel function would return BATTERYLEVEL_2 when the remaining battery life was 5% or less, even though the function was required to get BATTERYLEVEL_1 in that situation. This problem has been fixed.


Note 47-32: (PTM) Added restrictions on the range of times for which alarms can be set [SystemUpdater]

The times for which it is possible to set an alarm with the SetRtcAlarm function are now restricted to the range 2000/01/01 to 2099/12/31.


Note 47-33: (TOOL) Fixed DevMenu import error [SystemUpdater]

Previously, when CIA files created with past versions of the CTR-SDK were imported into the DevMenu, the DevMenu would generate an error and would continue to generate errors with subsequently-imported valid CIA files. This bug has been fixed.


Note 47-34: (TOOL) Fixed DevMenu bug [SystemUpdater]

Previously, when you deleted an application on the DevMenu and then imported an application with the same unique ID, the program display list would become invalid and the application would not run. This bug has been fixed.


Note 47-35: (TOOL) Added a tool for changing the region [SystemUpdater]

Added the RegionSelector tool, which changes the system region and language settings.


Note 47-36: (UDS) Fixed bug that caused execution to hang when the EjectClient function was run [SystemUpdater]

Previously, when the local host was operating as a master and ran the nn::uds::EjectClient function on certain specific nodes, the master would sometimes hang when the clients were ejected from the network. This bug was fixed.


Note 47-37: (UDS) Fixed bug where sometimes the NetworkDescriptionReader::GetNodeInformationList function could not get the NodeInformation successfully [SystemUpdater]

Previously, when 3 or more nodes were connected, the beacon information sent out by the master would sometimes become incorrect after one or more clients disconnected from it, and the node information obtained by the NetworkDescriptionReader::GetNodeInformationList function would sometimes become abnormal. These bugs were fixed.


Note 47-38: (UDS) Changed encryption key of NodeInfomation distributed by beacons [SystemUpdater]

During UDS communication, the master periodically distributes the user names and local friend codes of all the nodes connected to the network.
This data is encrypted to prevent its collection by other devices, and the key used for this encryption has been changed.
Because of this change, applications built with CTR-SDK 0.13 cannot communicate with applications built with earlier SDK versions.


Note 47-39: (UDS) Fixed bug that caused incorrect behavior when the GetConnectionStatus function was run frequently [SystemUpdater]

Previously, running nn::uds::GetConnectionStatus frequently during communication (running it less than once every few milliseconds for a sustained length of time) would cause the library to behave incorrectly. This bug has been fixed.


Known Issues with SystemUpdater in SDK Version 0.13.0


CTR-SDK Version 0.13.0 Sample Demos

(2010/09/28)


Note 46-01: (APPLET) Added support for the HOME Button to demo1 and demo2 [SampleDemos]

Added support for jumping to the HOME Menu when the HOME Button is pressed in sample demos demo1 and demo2.
Currently, they return to a provisional HOME Menu.


Note 46-02: (BOSS) Added the sample_nadl_simple demo [SampleDemos]

Added the sample_nadl_simple demo as an example of a task that downloads data from a download server.


Note 46-03: (CX) Added CX sample demos [SampleDemos]

Added the Compress sample demo, which demonstrates run-length, Huffman, and LZ encoding.


Note 46-04: (DEMO) Revised initialization of the lib_demo library display buffer [SampleDemos]

Changed the display buffer of the lib_demo library of SampleDemos. Now the display buffer is initialized to solid black before the LCD screens are turned on.


Note 46-05: (DLP) Changed the method for embedding child programs in parent programs [SDK|SampleDemos]

Changed the method for embedding child programs, as shown below.


Note 46-06: (DLP) Made revisions involving identification of child devices [SDK|SampleDemos]

Made the following changes related to identification of child devices.


Note 46-07: (FONT) Added sample demos [SampleDemos]

Added Font library sample demos.
These demos are ports of the font sample demos included in NintendoWare for CTR.


Note 46-08: (GX) Added the DrawPrimitive demo [SampleDemos]

Added the DrawPrimitive demo, which uses the GR library to render spheres and cuboids.


Note 46-09: (JPEG) Added demos [SampleDemos]

Added the MultiPicture demo, which handles MultiPicture (MP) format data, and the StopDecoder demo, which stops decoding in progress.


Note 46-10: (NDM) Enabled the network daemon and added a library to control it [SDK|SystemUpdater|SampleDemos]

Made the resident program (daemon) that performs network processing active by default.
This change means that access points, Nintendo Zone areas, and other networks will be searched for in the background of applications.

Also added the NDM library for controlling background communication.


Note 46-11: (OS) Added support for Sleep Mode to demo1 and demo2 [SampleDemos]

Added support to the demo1 and demo2 sample demos for entering Sleep Mode when the system is closed.
However, depending on timing, sometimes the system is not able to correctly recover from Sleep Mode. This will be fixed in a future release.


Note 46-12: (PL) Added the SharedFont demo [SampleDemos]

Added the SharedFont demo as an example of getting shared fonts.


Note 46-13: (SOCKET) Eliminated dummy_util functions [SDK|SampleDemos]

As a result of the addition of the NetworkSetting tool, all demos now directly use AC to use the settings written to NAND.
The dummy_util functions will be deleted from the next release.


Note 46-14: (TOOL) Added ctr_makebanner [SDK|SampleDemos]

Added ctr_makebanner, a tool for creating banner data.
Banners and icons created with ctr_makebanner can be embedded in CCI files using ctr_makerom.
However, currently there exists no method to check the embedded banners and icons.

Also added the makebanner demo in line with this change.


Note 46-15: (TPL) Added sample data for creating CTPK files [SampleDemos]

As an example of the use of ctr_TexturePackager32.exe, added XML files and texture data for creating CTPK files (which are themselves used in the TPL sample demos).


Note 46-16: (UDS) Fixed bug in com_demo1 where communication data was not cleared after disconnection [SampleDemos]

Fixed a bug in the com_demo1 demo of the UDS library, where old communication data was not cleared after disconnection, and when systems communicated again, they would get incorrect results because of the influence of this old data.


Note 46-17: (UDS) Revised so that the CreateLocalCommunicationId function now creates the local communication IDs used in UDS demos [SampleDemos]

Now that the CreateLocalCommunicationId function is available, the demos were modified to use the CreateLocalCommunicationId function to create the local communication IDs that they use.


Note 46-18: (ULCD) Changed the minimum setting of the Depth Level variable[SampleDemos]

Fixed a bug in the ULCD samples where specifying a value of 0.0f for the Depth Level variable would cause execution to stop on an assert during subsequent normal calculations.


Known Issues with SDK 0.13.0 Sample Demos


CTR-SDK Version 0.12.1 Release

(2010/09/02)


Note 45-01: (SND) Fixed a bug in the nn::snd::Voice::SetState function [SDK]

Fixed a bug where resuming playback would not work properly after using the SetState function to specify STATE_STOP for a Voice object and then later setting the state to STATE_PLAY.


Known Issues in the SDK 0.12.1 Release


CTR-SDK Version 0.12.0 Release

(2010/08/20)


Note 44-01: (CAMERA) Removed the IsBufferError function [SDK | System Updater]

Removed the IsBufferError function. Starting with CTR-SDK 0.11, the CAMERA library clears the buffer and the error state whenever a buffer error occurs. This change caused the function to be unable to correctly identify buffer errors.
To determine whether a buffer error has occurred, check the event state obtained by the GetBufferErrorInterruptEvent function.


Note 44-02: (CAMERA) Revised the SetExposure function [SDK | System Updater]

Fixed a bug that prevented the SetExposure function from properly configuring the exposure in some environments where particular framerates have been set.


Note 44-03: (CAMERA) Changed processing within the SynchronizeVsyncTiming function [SDK | System Updater]

Modified the SynchronizeVsyncTiming function's internal processing to improve performance.
As a result of these changes, the V-Sync signals after this function is run do not have as large a discrepancy as they did before the changes were made.
However, two issues have not really been fixed. First, the screen used to turn extremely dark for four frames after this function was run. Now, when the brightness of the two camera images is very different, the screen turns extremely bright for three frames after this function is run. Second, it still takes as long as before for the auto-exposure to stabilize.


Note 44-04: (CAMERA) Added processing to compensate for individual system differences in white balance [SDK | System Updater]

Added processing that, when the white balance is set, applies parameters measured at the factory to compensate for differences between individual systems.
However, these parameters are not stored in systems manufactured prior to mid-August.
White balance settings have not changed for these systems.


Note 44-05: (CEC) Changed the Chance Encounter Communication library [SDK]

Changed the Chance Encounter Communication library as follows.

Beginning with this CTR-SDK version, the daemon no longer begins to run if the user has agreed to a EULA version prior to version 1.0. Start the daemon after you have set Agree Version to a value of at least 1.0 under the Config tool's Eula Setting.

Note: As of CTR-SDK 0.12, the Chance Encounter Communication library does not start communicating automatically. You must use the CecControl class to start communication.


Note 44-06: (CFG) Added functions for converting country codes and other CTR-specific codes into strings [SDK]

Added functions that convert CTR-specific country codes, region codes, and language codes into corresponding 2- or 3-character strings.


Note 44-07: (DLP) Added DlpChild.desc [SDK]

Added DlpChild.desc, which is used to build child programs for Download Play.
When you build a child program, specify DlpChild as the TitleInfo/Category entry in the RSF file and then add the following line in the OMakefile.

DESCRIPTOR = $(CTRSDK_ROOT)/resources/specfiles/DlpChild.desc


Note 44-08: (DevEnv) Added support for the PARTNER-CTR Capture/Debugger (all-in-one debugger hardware) [SDK]

Added support for the PARTNER-CTR Capture/Debugger (all-in-one debugger hardware).


Note 44-09: (DevEnv) Added support for the VFP instruction when building assembly files [SDK]

Added a build option that allows VFP instructions to be used by default when assembly language files are built.


Note 44-10: (DevEnv) Revised the CCFLAGS_DEV_OPT build variable [SDK]

It is now possible to also change the inline expansion options with the CCFLAGS_DEV_OPT variable in Development builds of applications.

This was actually changed in version 0.10 but was accidentally omitted from the change log.


Note 44-11: (FRIENDS) Added the FRIENDS library [SDK]

The FRIENDS library, which provides operations related to system friends and the presence feature, was made public.


Note 44-12: (FS) Revised the nn::fs::FormatSaveData function [SDK]

Fixed the nn::fs::FormatSaveData function so that it no longer parses the maxFiles and maxDirectories arguments in reverse.
Also fixed a related error in the Function Reference Manual argument descriptions.


Note 44-13: (FS) Added the nn::fs::IsSdmcWritable function [SDK]

Added a function to determine whether it is possible to write to the SD Card.


Note 44-14: (FS) Added the nn::fs::WaitForInsertSdmc, nn::fs::WaitForEjectSdmc, and nn::fs::IsSdmcInserted functions [SDK]

Implemented functions for SD Card insertion and removal events.
You must call the nn::fs::InitializeForFileSystemEvent function in advance.


Note 44-15: (FS) Added the nn::fs::hio::MountHioArchive function [SDK]

Added the nn::fs::hio::MountHioArchive function.
The first argument specifies the archive name to assign and the second argument specifies the corresponding absolute path to assign on the computer.
To use this function, you must call nn::hio::Initialize(void* pDeviceMemory) in advance.
Use DeviceMemory, which is contiguous memory, to initialize the HIO library.


Note 44-16: (GX) Lifted the restriction of placing 2D textures on 32-MB boundaries [SDK]

Until now, the placement of 2D and environment map textures was restricted to locations that did not span 32-MB boundaries. Upon further testing, it was determined that this restriction can be safely lifted.
If you are directly generating commands that reference PICA register information, however, you must properly clear the texture cache when switching textures.
(You do not need to be aware of this if you are using the GL API.)


Note 44-17: (GX) Updated the DMPGL documentation [SDK]

The main changes can be summarized as follows.
See each document for further details.


Note 44-18: (GX) Fixed a bug that prevented completion notifications from being sent for graphics processing while NN_LOG was in use [SDK | System Updater]

Fixed a bug that occurred when NN_LOG was used to output a large number of log messages. This bug prevented completion notifications from being sent for graphics commands and, among other problems, caused the nngxWaitCmdlistDone function to stop returning.


Note 44-19: (GX) Revised PICA macro headers [SDK]

Made the following changes to the PICA macro headers.


Note 44-20: (GX) Revised PICA register information [SDK]

Revised the nngxInitialize function to configure bit [16:16] of register 0x25e and bit [0:0] of register 0x253. The rendering functions (glDraw*) no longer configure these bits.


Note 44-21: (GX) Fixed incorrect initial values for distanceAttenuationScale [SDK]

Fixed the uniforms dmp_FragmentLightSource[i].distanceAttenuationScale to have an initial value of 1.0f, as documented, rather than 0.0f as they had been mistakenly set.


Note 44-22: (GX) Removed unnecessary commands generated by calls to the glBindFramebuffer function [SDK]

Removed commands generated within the glBindFramebuffer function because they were determined to be unnecessary. These commands cleared the framebuffer cache.


Note 44-23: (GX) Fixed a bug that prevented textures from being reallocated within the glCopyTexImage2D function [SDK]

Fixed a bug that prevented textures from being reallocated properly in the glCopyTexImage2D function when only the texture argument type changed. (For example, when the values GL_RGBA and GL_UNSIGNED_BYTE were changed to GL_RGBA and GL_UNSIGNED_SHORT_4_4_4_4.)


Note 44-24: (GX) Fixed invalid error checking in the glCopyTexSubImage2D function [SDK]

Stopped checking for the following errors in the glCopyTexSubImage2D function's arguments.


Note 44-25: (GX) Changed specifications related to the transfer mode in glFramebufferTexture2D [SDK]

Allowed NN_GX_MEM_FCRAM | GL_NO_COPY_FCRAM_DMP to be used to specify the texture attached to the framebuffer. Until now this had generated a GL_INVALID_OPERATION error. (It has been possible to specify NN_GX_MEM_FCRAM | GL_COPY_FCRAM_DMP for some time.) However, hardware specifications do not allow the glClear function to clear a texture that was allocated in main memory and attached to the framebuffer.


Note 44-26: (GX) Fixed a bug that prevented the glGetTexParameteri and glGetTexParameterf functions from getting values for GL_GENERATE_MIPMAP [SDK]

Fixed a bug that prevented the glGetTexParameteri and glGetTexParameterf functions from getting values when GL_GENERATE_MIPMAP was specified for their pname argument.


Note 44-27: (GX) Fixed a bug that prevented depth values from being read properly in the glReadPixels function [SDK]

Fixed a bug that prevented the glReadPixels function from correctly reading depth values in the GL_DEPTH24_STENCIL8_EXT format from a buffer when the stencil values were nonzero.


Note 44-28: (GX) Added support for reading the stencil buffer with the glReadPixels function [SDK]

You can now set the format argument of the glReadPixels function equal to GL_STENCIL_INDEX to read from the stencil buffer.
However, you must set the type argument equal to GL_UNSIGNED_BYTE.


Note 44-29: (GX) Changed argument restrictions in the nngxAdd3DCommand function [SDK]

The 3D command buffer must be a multiple of 16, so the buffersize argument to the nngxAdd3DCommand function must now be a multiple of 16 rather than a multiple of 8 when copycmd is GL_FALSE.


Note 44-30: (GX) Added the nngxIsStereoVisionAllowed function [SDK]

Added a function that gets whether stereoscopic display is permitted.
This allows applications to determine whether the 3D depth slider is completely down or the system has disabled stereoscopic display.


Note 44-31: (GX) Added the nngxSetTimeout function [SDK]

Added timeout processing to the nngxWaitCmdlistDone function.
(This cannot be used in Release builds, though.)
You can also use the nngxSetTimeout function to specify the timeout duration and the callback function to invoke when a timeout occurs.


Note 44-32: (GX) Fixed a bug that prevented the nngxTransferRenderImage function from transferring data correctly [SDK]

Fixed a bug that prevented data from being transferred correctly when the yflip argument was GL_TRUE and the source buffer was larger than the destination buffer.


Note 44-33: (GX) Revised error checking for the placement of cube map texture data [SDK]

Fixed the driver because it was not correctly checking that all six faces of texture data were placed within the same 32-MB boundary, as required by the hardware. (Errors could not be generated correctly for texture data that violated this placement restriction.)

Although the address of the GL_TEXTURE_CUBE_MAP_POSITIVE_X face of a cube map texture must be less than or equal to the address of every other face, this was not documented. Information has now been added to $CTR_SDK/documents/DMPGL20/DMPGL20_system_API_specification.pdf.


Note 44-34: (GX) Added special error codes for command request overflows [SDK]

Changed the error code generated when command requests have exceeded (or when it has been determined that they will exceed) the limit already configured for a command list object. The new error code is GL_ERROR_COMMANDREQUEST_FULL_DMP; the old error code was GL_INVALID_OPERATION.


Note 44-35: (GX) Added support for copying textures from the depth buffer [SDK]

Allowed the glCopyTexImage2D and glCopyTexSubImage2D functions to copy from the depth (depth/stencil) buffer.


Note 44-36: (GX) Added support for rendering to textures for the depth buffer [SDK]

Allowed the depth buffer to be specified with the render-to-texture feature (it is no longer limited to the color buffer).


Note 44-37: (GX) Changed driver behavior when fragment lighting is disabled [SDK]

A command that sets the layer configuration to 0 is now generated when validation is performed if the uniform dmp_FragmentLighting.enabled has been set equal to GL_FALSE by a glUniform* function and has not been changed since.
This was done because even if fragment lighting is disabled, the number of processing cycles corresponding to the specified layer configuration are still used.


Note 44-38: (GX) Fixed a validation bug that occurred when a texture attached to the framebuffer was deleted [SDK]

Fixed a bug that prevented proper validation when a texture attached by the glFramebufferTexture2D function was deleted.


Note 44-39: (GX) Added uniform location macros for the fixed fragment shader [SDK]

Added macro definitions that indicate the locations of reserved uniforms.
To use them, include $CTR_SDK/include/nn/gx/CTR/gx_UniformLocationForFragmentShader.h.


Note 44-40: (GX) Fixed a bug that occurred in the glDrawArrays function when a vertex buffer was used [SDK]

Fixed a bug in the register settings (specifically for register 0x227) generated by the glDrawArrays function when a vertex buffer was in use.
Removed unnecessary register settings (also for register 0x227) generated by the glDrawArrays function when a vertex buffer was not in use.


Note 44-41: (HID) Changed the timing at which to start sampling the accelerometers [SDK | System Updater]

The library used to begin sampling the accelerometers when the system started up. Now, it starts sampling when an instance of the AccelerometerReader class is created and stops when the instance is destroyed.


Note 44-42: (JPEG) Added functions that get and set Exif tags [SDK]

Added several functions that can get and set Exif information during encoding and decoding.


Note 44-43: (JPEG) Added functions that specify JPEG decoding options [SDK]

Added the following functions, which can get and set JPEG decoding options.


Note 44-44: (JPEG) Added error codes [SDK]

Added error codes that can be obtained by the GetLastError function when errors occur during encoding or decoding.


Note 44-45: (JPEG) Added pixel formats {RGB8,RGBA8}x{LINEAR,BLOCK8} [SDK]

Added pixel formats that can be specified during encoding and decoding.


Note 44-46: (JPEG) Fixed a bug that caused execution to stop while decoding particular JPEG files [SDK]

Fixed a bug that caused program execution to stop at an ASSERT statement while decoding particular JPEG files.


Note 44-47: (JPEG) Added support for shrink decoding [SDK]

Added the StartJpegDecoderShrink function, which can both decode and shrink images.


Note 44-48: (MIC) Fixed return values from the GetLastSamplingAddress function [SDK | System Updater]

Fixed the GetLastSamplingAddress function to return a pointer to the address where the most recent microphone sampling results are stored, rather than the previous address.


Note 44-49: (MIC) Added the SetLowPassFilter function [SDK | System Updater]

Added the SetLowPassFilter function, which configures whether a low-pass filter is applied to microphone input data.


Note 44-50: (NGC) Added overloaded CheckProfanityWords functions [SDK]

Added overloaded functions that read the region and language settings and then check for profanity using the appropriate list, which is automatically selected.


Note 44-51: (NGC) Changed specifications for the CheckProfanityWords function [SDK]

Removed the overloaded CheckProfanityWords function that specified a region code, replacing it with an overloaded function that specifies a pattern list.
Following this change, you must initialize the FS library before you call the CheckProfanityWords function.


Note 44-52: (NGC) Added the GetContentVersion function [SDK]

Added the GetContentVersion function, which is used to get the version number of the profanity patterns installed on the system.


Note 44-53: (OS) Changed nn::os::Thread::Sleep [SDK | System Updater]

Rather than being put to sleep, a thread is now forced to spin-wait with nn::os::SpinWaitCpuCycles if the sleep time specified to the nn::os::Thread::Sleep function is less than a certain value.


Note 44-54: (OS) Added user exception handler [SDK | System Updater]

When exceptions occur outside of the debugger environment, applications now exit rather than displaying a red upper screen and stopping.

The nn::os::SetUserExceptionHandler function was added for exception processing in applications.
To allow an application to process exceptions, set Exception Handler equal to enable in the Config tool.


Note 44-55: (OS) Revised the Function Reference Manual [SDK]

Explained CTR-SDK 0.10 specification changes for memory management with the OS library in the Function Reference Manual.
This was accompanied by the addition of version 0.1 of the System Programming Guide.
$CTR_SDK/documents/TechnicalNotes/SystemProgramingGuide/SystemProgramingGuide.pdf


Note 44-56: (RDT) Changed the Process function's return values [SDK]

Modified the Process function to return unchanged any UDS-level error codes that are detected when it is run.
This was actually changed in version 0.11 but was accidentally omitted from the change log.


Note 44-57: (RDT) Revised descriptions of finalizing a Receiver instance [SDK]

There were errors in the explanations of how a Receiver instance is finalized.
These explanations were fixed to mention that the Close function must be called during the finalization process.


Note 44-58: (RDT) Established result codes [SDK]

Established the result codes returned by the RDT API.
See the Function Reference Manual for explanations of the result codes and to learn which result codes can be returned by each function.


Note 44-59: (RDT) Introduced enum values that indicate uninitialized states [SDK]

Revised the GetStatus function to return SENDER_STATE_NOT_INITIALIZED or RECEIVER_STATE_NOT_INITIALIZED if it attempts to get the state of an uninitialized Sender or Receiver instance.


Note 44-60: (SND) Changed 3D surround sound features [SDK]

Improved the audio quality of 3D surround sound.


Note 44-61: (SND) Changed the specifications for the GetHeadphoneStatus function and added the UpdateHeadphoneStatus function [SDK]

Changed specifications for the GetHeadphoneStatus function and added the UpdateHeadphoneStatus function.
For details, see the Function Reference Manual.


Note 44-62: (SND) Fixed a bug in the GetSampleLength function [SDK]

Fixed a bug in the nn::snd::GetSampleLength function that caused it to return incorrect values for the ADPCM format.


Note 44-63: (SND) Added the SetAuxFrontBypass function [SDK]

Added the SetAuxFrontBypass function, which handles front bypass settings for 3D surround sound on the AUX bus.


Note 44-64: (SND) Turned the nn::snd::Bcwav namespace into a class [SDK]

Removed the nn::snd::Bcwav namespace and added a class with the same name.
This involves no changes other than making using namespace unusable.


Note 44-65: (SND) Introduced soft clipping [SDK]

Added a soft clipping feature to reduce clipping noise generated at the final stage of sound output.
Also added functions for changing and getting the clipping mode.


Note 44-66: (SND) Added a feature for specifying the fade-in immediately after playback starts [SDK]

Added the nn::snd::Voice::SetStartFrameFadeInFlag function, which configures whether to fade in from a volume of 0 over a single sound frame immediately after playback starts.


Note 44-67: (TOOL) Extended the Config tool [SDK]

Added a feature to configure the EULA with the Config tool.


Note 44-68: (TOOL) Revised DevMenu [SDK]

Fixed a bug that caused the screens to turn yellow if the SD Card was removed while DevMenu was running.


Note 44-69: (TOOL) Changed the RSF format [SDK]

Added an item for specifying the media size in RSF files.
For details, see the makerom reference page: $CTR_SDK/documents/tools/ctr_makerom.html.


Note 44-70: (TOOL) Fixed a bug in ctr_TexturePackager32.exe related to specifying the mipmap level [SDK]

Fixed a bug that prevented ctr_TexturePackager32.exe from obtaining the correct results (or caused it to exit illegally) when a texture node in the input XML file did not have a miplimit written. In such cases, the default value was an invalid value.
The default value was therefore changed to 1, indicating no mipmap levels, and the tool's version number was changed to 1.0.0.


Note 44-71: (TOOL) Added a ctr_makerom32.exe feature for compressing static regions [SDK | System Updater]

Added a feature to ctr_makerom32 for compressing static regions.
This feature is enabled by default.
For details, see the makerom reference page: $CTR_SDK/documents/tools/ctr_makerom.html.


Note 44-72: (TOOL) Added the dmen_PrintResult constant [SDK]

Fixed a bug that caused the upper screen to turn red and the lower screen to turn yellow when DevMenu returned an unexpected Result.


Note 44-73: (TOOL) Improved makerom encryption [SDK]

Sped up encryption performed by makerom.


Note 44-74: (UDS) Fixed a bug that prevented statusUpdateEvent from being signaled when the local host connected to a network in Audience mode [SDK]

Fixed a bug in the ConnectNetwork function that prevented statusUpdateEvent from being signaled when the local host connected to a network as an Audience node.


Note 44-75: (UDS) Changed the upper limit on endpoints that can be created by the CreateEndpoint function [SDK]

Changed the CreateEndpoint function so that it can create up to 16 endpoints that exist simultaneously rather than 16 endpoints total.
If the DestroyEndpoint function deletes an endpoint, the CreateEndpoint function can now be run more than 16 times.


Note 44-76: (UDS) Fixed a bug that allowed the CreateEndpoint function to run prior to initialization [SDK]

Fixed a bug that allowed the CreateEndpoint function to successfully run even when the UDS library had not been successfully initialized.


Note 44-77: (UDS) Fixed a bug in the NetworkDescription::GetMacAddress function [SDK]

Fixed a bug that caused the NetworkDescription::GetMacAddress function to return NULL when run on a NetworkDescription obtained either prior to initialization or when an invalid beacon was received.


Note 44-78: (UDS) Fixed a bug that prevented 16 endpoints from being created [SDK]

Fixed a bug that only allowed the CreateEndpoint function to create 15 endpoints even though the Function Reference Manual stated that up to 16 (provisional specification) can be created.


Note 44-79: (UDS) Changed terminology for Audience mode [SDK]

Renamed Audience mode to Spectator mode for UDS communication.
Unchanged Audience-related definitions and function names can be used for now, but at some point in the future that support will be removed.


Note 44-80: (UDS) Revised the Function Reference Manual [SDK]

Added a note to the descriptions of the CreateNetwork, Scan, and ConnectNetwork functions, stating that they require time to complete.


Note 44-81: (ULCD) Changed specifications for nn::ulcd::StereoCamera [SDK]

Starting with this version, you must run Reset Setting in the Config tool before using the StereoCamera class.
Also, the StereoCamera::Finalize function did nothing in the past, but now processing has been added to it. You must now call it when you destroy an instance of the StereoCamera class.


Known Issues in the SDK 0.12.0 Release


CTR-SDK Version 0.12.0 System Updater

(2010/08/20)


Note 43-01: (AC) Organized C-language functions [System Updater]

Renamed functions and reorganized C functions that had not kept up with other additions.


Note 43-02: (AC) Revised the Connect function [System Updater]

Fixed a bug that made it impossible to use WPA to connect to an access point in WPA/WPA2 mixed mode.


Note 43-03: (AC) Deprecated the DebugFlushNetworkSetting function [System Updater]

Removed the DebugFlushNetworkSetting function.
Settings made by DebugSetNetworkSetting1 can be used as temporary network settings, but these settings can no longer be saved permanently in NAND memory.


Note 43-04: (AC) Added the RegisterDisconnectEvent function [System Updater]

Added a function that can register an event to detect unintended access point disconnections.


Note 43-05: (CAMERA) Removed the IsBufferError function [SDK | System Updater]

Removed the IsBufferError function. Starting with CTR-SDK 0.11, the CAMERA library clears the buffer and the error state whenever a buffer error occurs. This change caused the function to be unable to correctly identify buffer errors.
To determine whether a buffer error has occurred, check the event state obtained by the GetBufferErrorInterruptEvent function.


Note 43-06: (CAMERA) Revised the SetExposure function [SDK | System Updater]

Fixed a bug that prevented the SetExposure function from properly configuring the exposure in some environments where particular framerates have been set.


Note 43-07: (CAMERA) Changed processing within the SynchronizeVsyncTiming function [SDK | System Updater]

Modified the SynchronizeVsyncTiming function's internal processing to improve performance.
As a result of these changes, the V-Sync signals after this function is run do not have as large a discrepancy as they did before the changes were made.
However, two issues have not really been fixed. First, the screen used to turn extremely dark for four frames after this function was run. Now, when the brightness of the two camera images is very different, the screen turns extremely bright for three frames after this function is run. Second, it still takes as long as before for the auto-exposure to stabilize.


Note 43-08: (CAMERA) Replaced the shutter sound [System Updater]

Replaced the shutter sound played by the PlayShutterSound function with the final version of the sound.


Note 43-09: (CAMERA) Added processing to compensate for individual system differences in white balance [SDK | System Updater]

Added processing that, when the white balance is set, applies parameters measured at the factory to compensate for differences between individual systems.
However, these parameters are not stored in systems manufactured prior to mid-August.
White balance settings have not changed for these systems.


Note 43-10: (CAMERA) Fixed camera LED behavior when the shutter sound is played while the inner camera is in use [System Updater]

Fixed a bug that illuminated the camera LED when the shutter sound was played while the inner camera was in use.


Note 43-11: (CAMERA) Fixed camera LED behavior when the recording-started and recording-ended sounds are played [System Updater]

Fixed camera LED behavior while the outer cameras are in use so that the camera LED begins flashing when the recording-started sound is played and returns to being steadily illuminated when the recording-ended sound is played.


Note 43-12: (CEC) Changed the Chance Encounter Communication daemon [System Updater]

Changed the Chance Encounter Communication daemon as follows.


Note 43-13: (CFG) Revised the nn::cfg::CTR::GetRegion function [System Updater]

Fixed a bug that caused the nn::cfg::CTR::GetRegion function to get undefined region codes.


Note 43-14: (DLP) Added support for system updates of card-based software [System Updater]

Added support for system updates through Download Play for card-based software only. (NAND-based software will be supported in the future.)
Card-based software distributes the system required for running the child program to clients from its own update partition. Following a system update, the server (the card-based software) enters the SERVER_STATE_WAITING_RECONNECT state and waits until rebooted clients reconnect. You must therefore provide a user interface for canceling Download Play.
While an application is under development it cannot include an update partition. Be aware that you cannot perform system updates through Download Play during development.


Note 43-15: (DLP) Restricted the number of titles that can be scanned [System Updater]

Restricted the number of titles that can be simultaneously scanned to 16. Previously this number was unlimited.
Use a value of 16 or less for the scanNum argument to the FakeClient::Initialize function.


Note 43-16: (DLP) Filtering by region while scanning [System Updater]

Server and title information that differs from the local system's region is now filtered out while scanning.
Following this change, a system can no longer connect to a server with a different region.
Also, the type of the region information handled by Download Play has been changed to nn::cfg::CfgRegionCode.


Note 43-17: (DLP) Changed the reconnection information stored in the RebootInfo structure [System Updater]

The RebootInfo structure stores child reconnection information. Replaced its mac member variable with the bssid member variable.
Copy the server's MAC address into the bssid member variable as you did prior to this change.


Note 43-18: (DLP) Embedding child programs in applications [System Updater | Sample Demos]

Allowed child programs to be embedded in applications and distributed.
In line with this change, child programs can no longer be distributed from SD Cards.

To learn how to embed programs, see the OMakefile for $SampleDemos/dlp/SimpleServer.
To distribute an embedded child program, specify the child program's ID in the Server::Initialize function.


Note 43-19: (DLP) Getting network reconnection parameters for child programs [System Updater]

With CTR-SDK 0.11 an SD Card was required to write parameters, but this is no longer necessary.
You can now use the nn::dlp::GetRebootInfo function to get parameters from the system-specific memory region.


Note 43-20: (DLP) Embedding icons in child programs and reading icons from the server [System Updater | Sample Demos]

Servers can now read information (icons and metadata) from ICN files embedded in child programs.
For examples of child programs with embedded ICN files, see $SampleDemos/dlp/Child.
This eliminates the need to specify the icon and program title with the Server::Initialize function, so its arguments were changed.


Note 43-21: (FS) Fixed a bug in the formatting of save data [System Updater]

Fixed a bug that prevented the nn::fs::FormatSaveData function from formatting data properly and caused it to create fewer than the specified number of files when a large number of files (or other similar characteristic) was specified.


Note 43-22: (GX) Fixed a bug that prevented completion notifications from being sent for graphics processing while NN_LOG was in use [SDK | System Updater]

Fixed a bug that occurred when NN_LOG was used to output a large number of log messages. This bug prevented completion notifications from being sent for graphics commands and, among other problems, caused the nngxWaitCmdlistDone function to stop returning.


Note 43-23: (GX) Fixed a bug that caused programs to stop with red screens when vertex data and/or textures were placed in VRAM [System Updater]

Fixed a bug that caused programs to show red screens and stop at a random time if vertex data and textures had been placed in VRAM and were being used from VRAM.


Note 43-24: (HID) Fixed a bug that prevented the debug pad from working properly [System Updater]

Fixed a bug that prevented the debug pad from working properly during debug log output.


Note 43-25: (HID) Changed the timing at which to start sampling the accelerometers [SDK | System Updater]

The library used to begin sampling the accelerometers when the system started up. Now, it starts sampling when an instance of the AccelerometerReader class is created and stops when the instance is destroyed.


Note 43-26: (HTTP) Fixed a bug in the multipart lazy POST feature [System Updater]

Fixed a bug that caused invalid data to be sent in multipart lazy POST operations.


Note 43-27: (HTTP) Fixed a bug that occurred with server keepalive timeouts [System Updater]

Fixed a bug that caused the next round of HTTP communication to a server to fail following a keepalive timeout on the server.


Note 43-28: (HTTP) Added support for timeouts in blocking functions [System Updater]

Added Read and Send functions that block until communication has completed and allow a timeout to be specified.


Note 43-29: (MIC) Fixed return values from the GetLastSamplingAddress function [SDK | System Updater]

Fixed the GetLastSamplingAddress function to return a pointer to the address where the most recent microphone sampling results are stored, rather than the previous address.


Note 43-30: (MIC) Added the SetLowPassFilter function [SDK | System Updater]

Added the SetLowPassFilter function, which configures whether a low-pass filter is applied to microphone input data.


Note 43-31: (MIC) Revised settings for the microphone input gain [System Updater]

Fixed the microphone input gain settings, which had been unsuitable.
This revision increases the base input amplitude by approximately 6 dB.


Note 43-32: (OS) Changed the behavior of the nn::dbg::Break function [System Updater]

When the nn::dbg::Break function is not called from the debugger environment, applications now exit rather than displaying a yellow upper screen and stopping.

By setting Break Stop equal to enable with the Config tool, however, you can force applications to stop rather than exit.


Note 43-33: (OS) Changed nn::os::Thread::Sleep [SDK | System Updater]

Rather than being put to sleep, a thread is now forced to spin-wait with nn::os::SpinWaitCpuCycles if the sleep time specified to the nn::os::Thread::Sleep function is less than a certain value.


Note 43-34: (OS) Added user exception handler [SDK | System Updater]

When exceptions occur outside of the debugger environment, applications now exit rather than displaying a red upper screen and stopping.

The nn::os::SetUserExceptionHandler function was added for exception processing in applications.
To allow an application to process exceptions, set Exception Handler equal to enable in the Config tool.


Note 43-35: (SND) Implemented high-pass filter for headphones [System Updater]

Implemented a high-pass filter with a cut-off frequency of 10 Hz to protect headphones and reduce power consumption.
There is no detectable change in audio quality.


Note 43-36: (SSL) Added SHA256 certificate support [System Updater]

Added support for SSL communication with SHA-256 certificates.


Note 43-37: (SSL) Added support for built-in commercial CA certificates [System Updater]

Added support for SSL communication using pre-installed (built-in) commercial CA certificates.


Note 43-38: (TOOL) Added a ctr_makerom32.exe feature for compressing static regions [SDK | System Updater]

Added a feature to ctr_makerom32 for compressing static regions.
This feature is enabled by default.
See the reference page for details.


Note 43-39: (UDS) Fixed a bug that prevented the GetConnectionStatus function from obtaining the correct information in Audience mode [System Updater]

Fixed a bug that prevented the correct information from being obtained when the GetConnectionStatus function was run in Audience mode.


Known Issues with System Updater in Version 0.12.0 of the SDK


CTR-SDK Version 0.12.0 Sample Demos

(2010/08/20)


Note 42-01: (DLP) Embedding child programs in applications [System Updater | Sample Demos]

Allowed child programs to be embedded in applications and distributed.
In line with this change, child programs can no longer be distributed from SD Cards.

To learn how to embed programs, see the OMakefile for $SampleDemos/dlp/SimpleServer.
To distribute an embedded child program, specify the child program's ID in the Server::Initialize function.


Note 42-02: (DLP) Embedding icons in child programs and reading icons from the server [System Updater | Sample Demos]

Servers can now read information (icons and metadata) from ICN files embedded in child programs.
For examples of child programs with embedded ICN files, see $SampleDemos/dlp/Child.
This eliminates the need to specify the icon and program title with the Server::Initialize function, so its arguments were changed.


Note 42-03: (GX) Fixed a quaternion generation bug in the vertex shaders for the DMPGL samples [Sample Demos]

The process of generating quaternions from normal and tangent vectors was confirmed to produce invalid results with the vertex shader files included with the DMPGL samples.
A bug in the calculations following the branch at the l_full_quaternion_calc_fallback or l_full_quaternion_calc_fallback_reflection label resulted in invalid lighting at the boundary between results of entering the branch and results of not entering the branch. This bug has been fixed.


Note 42-04: (GX) Fixed issues related to lookup table generation in the ProctexClamp sample [Sample Demos]

Fixed the lookup table generated by the LoadLamp function in the ProctexClamp sample. Formerly this lookup table was not set with correct values for the number of elements (the first half of 128 elements and the latter half of 128 delta values).


Note 42-05: (GX) Allowed the number of generated display buffers to be specified [Sample Demos]

Allowed any value, rather than only 2, to be specified as the number of display buffers to generate (separately for the upper and lower screens) with the Initialize function in the demo::RenderSystem* classes.
Specifying any value other than 2 used to result in an error.


Note 42-06: (RDT) Revised basic sample demos [Sample Demos]

Fixed the basic sample demo so that even Release builds generate log output.


Note 42-07: (RDT) Added a sample demo for bidirectional communication [Sample Demos]

Added the bidirectional RDT sample demo.
This demo shows sample code for sending and receiving data between two systems simultaneously.


Note 42-08: (SND) Changed StreamPlayersample demo [Sample Demos]

Changed the StreamPlayer SND sample demo so that it now performs streaming playback of ADPCM files in the BCWAV format.


Note 42-09: (UDS) Changed the implementation of com_demo1 [Sample Demos]

Changed the synchronous objects used for mutual exclusion in the com_demo1 demo from Mutex to CriticalSection.
You can also now set the priority of individual threads.


Note 42-10: (UDS) Handled changed terminology for Audience mode in com_demo1 [Sample Demos]

Renamed AUDIENCE Mode to SPECTATOR Mode.


Known Issues with SDK 0.12.0 Sample Demos


CTR-SDK Version 0.11.2 Release

(2010/07/29)


Note 41-01: (SND) Fixed a bug that stopped sound during non-looping playback of short waveforms [SDK]

Fixed a bug that stopped sound during non-looping playback of a short waveform that ends within a single sound frame (5 ms).


Note 41-02: (TOOL) Fixed makerom [SDK]

Fixed a bug that prevented ROM files from being created at or beyond a fixed size (of approximately 400 MB).


Known Issues in the SDK 0.11.2 Release


CTR-SDK Version 0.11.1 Release

(2010/07/28)


Note 40-01: (FS) Fixed the nn::fs::GetRomRequiredMemorySize function [SDK]

Fixed the nn::fs::GetRomRequiredMemorySize function to return the correct values.


Note 40-02: (SND) Fixed a bug that created noise during playback of an ADPCM stream [SDK]

Fixed a bug that created noise when a buffer jump was performed during streaming playback of an ADPCM format audio source.


Known Issues in the SDK 0.11.1 Release


CTR-SDK Version 0.11.0 Release

(2010/07/22)


Note 39-01: (CAMERA) Removed C wrappers [SDK]

Removed C wrapper functions from the camera library because they cannot be supported.


Note 39-02: (CAMERA) Revised the Finalize function [SDK | System Updater]

Revised the Finalize function to turn off the camera LED if it is illuminated.


Note 39-03: (CAMERA) Added the GetSuitableY2rStandardCoefficient function [SDK | System Updater]

Added the GetSuitableY2rStandardCoefficient function, which gets conversion coefficients suitable for converting YUV data output by the cameras (on the CTR system running the program) into the RGB format using the Y2R library.


Note 39-04: (CAMERA) Revised the Initialize and Finalize functions [SDK | System Updater]

Revised the Initialize and Finalize functions to initialize and clean up settings.


Note 39-05: (CAMERA) Removed the SynchronizeWhiteBalance function [SDK | System Updater]

Removed the SynchronizeWhiteBalance function because it had a bug that proved difficult to fix.
We are considering an alternate method of synchronizing the brightness and contrast between the left and right cameras to adjust image brightness and coloring.


Note 39-06: (CAMERA) Changed the camera configuration function's return value [SDK | System Updater]

Changed the following camera setting functions to return an nn::Result value because there was a need for applications to handle errors.


Note 39-07: (CAMERA) Added and updated shutter sounds [SDK | System Updater]

Removed SHUTTER_SOUND_TYPE_CONTINUOUS, a ShutterSoundType that indicates continuous shutter sounds, and added SHUTTER_SOUND_TYPE_MOVIE and SHUTTER_SOUND_TYPE_MOVIE_END, which indicate the start and end of video filming, respectively.
Data has also been updated for the normal shutter sound.


Note 39-08: (CAMERA) Removed a feature that notifies a recovery event [SDK | System Updater]

Removed the GetRebootEvent function, which gets a notification event when a malfunction causes a recovery, and the IsRebootSuccessful function, which determines whether the recovery succeeded or failed.
From now on, a notification is sent for events with the GetBufferErrorInterruptEvent function regardless of whether recovery succeeded or failed.
If recovery fails, an error is returned afterwards by a call to a camera setting function that returns a Result value.
If a camera setting function is called during a recovery, it blocks internally until recovery has completed (successfully or not).


Note 39-09: (CAMERA) Removed functions that automatically receive data [SDK | System Updater]

Removed the following functions, which automatically received image data from the camera at every frame.


Note 39-10: (CAMERA) Added functions for batch setting changes [SDK | System Updater]

Added the following functions, which change multiple camera settings all at once.


Note 39-11: (CEC) Changed handling of title-specific IDs [SDK]

Changed the notation "GameID" to "CecTitleId".
If the most-significant 24 bits of a new Chance Encounter box's CecTitleId match an existing box, it can no longer be created because it is considered to be a box for the same title.


Note 39-12: (CEC) Added support for the Chance Encounter Communication library [SDK]

Added support for the CEC library starting with CTR-SDK 0.11.


Note 39-13: (CEC) Changed the name of the Chance Encounter Communication library [SDK]

Renamed the Chance Encounter Communication library's namespace, classes, files, and so on from "cecd" to "cec".
Class names no longer begin with "Cec".


Note 39-14: CFG) Changed the API for getting user information [SDK]

Made the following changes to the API for getting user information.


Note 39-15: (DLP) Added CTR Download Play [SDK | System Updater]

Unlike on a Nintendo DS, CTR Download Play saves downloaded child programs in NAND memory.
However, when a new child program is downloaded it overwrites the old one.
There is no support for this library with CTR-SDK 0.11.


Note 39-16: (DSP) Revised header files [SDK]

Revised all constants and macros defined by #define statements so that they start with NN_DSP_.


Note 39-17: (FND) Revised build conditions for the nn::fnd::HeapBase::DebugFillMemory function [SDK]

Fixed a bug that caused actual processing for the nn::fnd::HeapBase::DebugFillMemory function to be run even in Release builds.


Note 39-18: (FS) Fixed a bug that prevented CTR save data from being read [SDK]

Fixed a bug that under specific conditions prevented access to save data at paths beginning with "data:" on CTR Cards.


Note 39-19: (FS) Added functions for accessing save data [SDK]

Save data regions must now be explicitly formatted and mounted when save data archives are used.
The nn::fs::FormatSaveData and nn::fs::MountSaveData functions were added to format and mount save data, respectively.
The nn::fs::CommitSaveData function was also added for the save data commit feature that will be added in the future.


Note 39-20: (FS) Revised directory reads [SDK]

Stopped volume labels from being listed when directories are read.
Volume labels had been listed until now.


Note 39-21: (FS) Fixed a bug that caused seek operations to the end of a file to fail [SDK]

Fixed a bug that prevented seek operations to the end of a file in functions such as Seek and SetPosition for nn::fs::FileStream classes.


Note 39-22: (FS) Added functions for accessing extended save data [SDK]

Added functions for accessing expanded save data: nn::fs::CreateAndMountExtSaveData creates it and nn::fs::MountExtSaveData mounts it.
Also added the nn::fs::ReadExtSaveDataIcon function for accessing the icon data in expanded save data.


Note 39-23: (GX) Updated the DMPGL documentation [SDK]

The following are the main changes to each document.


Note 39-24: (GX) Fixed a bug in the PICA macro header [SDK]

Revised the macro headers as follows.


Note 39-25: (GX) Revised the description of nn::gx::CTR::MemAccessPrioMode [SDK]

Fixed a mistake in the description of the nn::gx::CTR::MemAccessPrioMode definition.


Note 39-26: (GX) Added information on the specifications for the product of the emission and global ambient colors [SDK]

Added information on the specifications of the primary color equation for fragment lighting. When light source 0 is disabled (dmp_FragmentLightSource[0].enabled is GL_FALSE), it disables the sum that is multiplied with the emission and global ambient color.


Note 39-27: (GX) Fixed a subdivision bug in DMP_subdivision3.obj [SDK]

Fixed a bug that prevented attributes output to the o3 register of DMP_subdivision3.obj from being interpolated properly.


Note 39-28: (GX) Fixed a bug in the silhouette triangle shader [SDK]

Fixed a bug that created invalid silhouettes when two vertices in a single TWN primitive overlapped.


Note 39-29: (GX) Fixed a bug that occurred when deleting texture collections [SDK]

Fixed a bug that caused the currently bound texture collection to be deleted immediately and 0 to be bound as the texture collection, rather than waiting for another texture collection to be bound.


Note 39-30: (GX) Added a feature to get valid debugging information related to command list execution [SDK]

Increased the number of values that can be passed to the pname argument of the nngxGetCmdlistParameteri function for the current command list, allowing you to get a variety of information.
Note: See the documentation for further details.


Note 39-31: (GX) Added a function to generate commands that transfer data while converting the block format [SDK]

Added the nngxTransferLinearImage function. This is the opposite of the nngxTransferRenderImage function: It adds commands that convert image data into block format and transfers it to the specified render buffer or texture.


Note 39-32: (GX) Fixed a bug that prevented scissoring-related commands from being generated when a program object had not been set [SDK]

Fixed a bug that occurred during validation after the current program object had been unset by a function call such as glUseProgram(0), preventing scissoring-related commands with no relationship to the original program object (NN_GX_STATE_SCISSOR) from being generated.


Note 39-33: (GX) Removed unnecessary register settings for the line shader [SDK]

Fixed the line shader to no longer use the b0 register, which originally should have been unnecessary.

Note that this revision has changed the values required when you directly generate commands to configure the reserved geometry shader.
Specifically, the value written to 0x280[15:0] has changed from 0x0001 to 0x0000.


Note 39-34: (GX) Added a feature that can get the render buffer address [SDK]

Made it possible to get the address of the bound render buffer by specifying GL_RENDERBUFFER_DATA_ADDR_DMP to the pname argument of glGetRenderbufferParameteriv.


Note 39-35: (GX) Added information on input restrictions for lookup tables [SDK]

Added information on the following hardware restriction that had been omitted from the documentation: GL_LIGHT_ENV_SP_DMP and GL_LIGHT_ENV_CP_DMP cannot be specified for dmp_LightEnv.lutInput{FR,RR,RG,RB}.


Note 39-36: (GX) Added a function that disables updates for a specified state [SDK]

Added the nngxInvalidateState function, which can disable the update flag for the specified state with an argument.


Note 39-37: (HID) Fixed a bug in STICK_CLAMP_MODE_CROSS mode [SDK | System Updater]

In STICK_CLAMP_MODE_CROSS mode alone, the latter half of values that should have been continuous from 0 to 103 jumped instead (for example, from 80 to 103).
This problem has been corrected.


Note 39-38: (HID) Reviewed specifications for the SetStickClamp and GetStickClamp functions [SDK | System Updater]

Reviewed the maximum and minimum clamp values that can be specified with the SetStickClamp function.

Any specified argument values that do not conform to these restrictions are corrected to the limit values.

The SetStickClamp and GetStickClamp functions used to use common parameters regardless of the clamp mode, but now these parameters are managed separately. This is because threshold values have different limits in each clamp mode. Note that the SetStickClamp and GetStickClamp functions handle threshold values for the current clamp mode.


Note 39-39: (HIO) Removed libnn_hiolow [SDK]

Removed libnn_hiolow.*.a because the libnn_hiolow features are included in the libnn_dev library.


Note 39-40: (MATH) Revised the SinIdx, CosIdx, SinCosIdx functions [SDK]

Sped up the SinIdx, CosIdx, and SinCosIdx functions.
Each function's output has remained the same.


Note 39-41: (MIC) Removed C wrappers [SDK]

Removed C wrapper functions for the Microphone library because they cannot be supported.


Note 39-42: (MIC) Added a function to get the region within which it is prohibited to determine that there is microphone input [SDK]

Added the GetForbiddenArea function, which gets the maximum and minimum values for the region within which it is prohibited to determine that there is input. These limits change with the microphone amp and gain.


Note 39-43: (MIC) Added constants that indicate the guaranteed region for microphone input values [SDK]

Added constants for each sampling type's guaranteed microphone input range, which are different.


Note 39-44: (OS) Changed mutex methods in the default implementation of malloc and free [SDK]

Changed the heap mutex object used by the default implementation of malloc and free from nn::os::Mutex to nn::os::CriticalSection.


Note 39-45: (PTM) Added interfaces for the remaining battery life, the battery recharge state, and the existence of an AC plug [SDK]

Added interfaces under nn::ptm::CTR for the remaining battery life, the battery recharge state, and the existence of an AC plug.


Note 39-46: (RDT) Fixed a bug that prevented proper state transitions in the Sender [SDK]

Fixed a bug that occurred when a Sender sent an Open request to a Receiver and the Receiver's confirmation response packet got lost, preventing the Sender from properly transitioning between states afterward.


Note 39-47: (SND) Improved the effect of 3D surround sound mode [SDK]

Changed the effect of selecting 3D surround sound mode so that it is appropriate for the test unit.


Note 39-48: (SND) Added a feature that specifies the loop position during DSP-ADPCM encoding [SDK]

Added a feature to specify the loop position in the EncodeAdpcmData function.


Note 39-49: (SND) Added a function to decode DSP-ADPCM data [SDK]

Added the DecodeAdpcmData function, which converts DSP-ADPCM data into 16-bit PCM data.


Note 39-50: (SND) Added DSP-ADPCM utility functions [SDK]

Added the ConvertAdpcmPos2Nib and ConvertAdpcmNib2Pos functions, which convert between DSP-ADPCM nibble counts and sample counts.


Note 39-51: (SND) Changed specifications for the nn::snd::SetSoundOutputMode function [SDK]

Changed the specifications for the relationship between the sound output mode specified by the system settings and the mode argument specified by the nn::snd::SetSoundOutputMode function.

The downmix coefficients for monaural output were also changed.
For details, see the Function Reference Manual and the CTR Programming Manual.


Note 39-52: (SND) Changed specifications for the nn::snd::SetSurroundDepth function [SDK]

Changed the nn::snd::SetSurroundDepth function's argument from a u16 value to an f32 value.
The initial depth value is now 1.0f.


Note 39-53: (SND) Changed specifications for the nn::snd::Voice::AppendWaveBuffer function [SDK]

Changed constraints related to the buffer to register.
For details, see the Function Reference Manual and the CTR Programming Manual.


Note 39-54: (SND) Fixed a bug in the nn::snd::Voice::SetVolume function [SDK]

Fixed a bug that turned small volume changes given to the nn::snd::Voice::SetVolume function into noise.


Note 39-55: (SND) Added the nn::snd::Voice::SetupBcwav function [SDK]

Added the nn::snd::Voice::SetupBcwav function, which parses a BCWAV file and then configures the required nn::snd::Voice settings.


Note 39-56: (SND) Fixed a bug in the filter feature [SDK]

Fixed a bug that caused noise when the nn::snd::Voice filter feature was used with the biquad filter type set.


Note 39-57: (SND) Revised header files [SDK]

Revised all constants defined by #define statements so that they start with NN_SND_.


Note 39-58: (SND) Changed the volume configuration [SDK | System Updater]

Reviewed the volume configuration for the overall system.
Specifically, the digital volume was increased and the analog volume was decreased.
The total volume has not changed.

Always run ResetSettings with the Config tool after applying the SystemUpdater for CTR-SDK 0.11.
Otherwise, the proper volume will not be used.


Note 39-59: (Socket) Changed specifications for the Initialize function [SDK]

The Initialize function used to accept an allocator, but it has been changed to accept a memory region that is 4096-byte aligned.

You can still try to use the old function for the time being, but we plan to remove it because it uses memory inefficiently.


Note 39-60: (TOOL) Fixed an issue related to backlight settings with the Config tool [SDK]

Fixed a bug that prevented the backlight brightness and active backlight setting (on or off) from being applied immediately after being changed by the Config tool.


Note 39-61: (TOOL) Changed the DevMenu [SDK]

Made the following changes to the DevMenu.


Note 39-62: (TOOL) Changed ctr_makerom32.exe [SDK]

Made the following changes to ctr_makerom32.
For details, see $CTR_SDK/documents/tools/ctr_makerom.html.


Note 39-63: (TPL) Added the Texture Packager Library [SDK]

Added the TPL library, which loads textures from packages at runtime, and a tool that loads TGA image files and then converts them into the native PICA format (compressed or otherwise) to create a package file that combines multiple textures.


Note 39-64: (UDS) Overloaded the == and != operators of the NetworkDescriptor class [SDK]

Overloaded the == and != operators of the NetworkDescriptor class so that objects of that class can be compared.


Note 39-65: (UDS) Changed the behavior of the NetworkDescriptionReader::GetNetworkDescription function [SDK]

The NetworkDescriptionReader::GetNetworkDescription function has always returned an error when it gets an invalid UDS network beacon, but it succeeds even when the data is invalid. The function was changed so that data will not be obtained in such cases.


Note 39-66: (UDS) Changed the behavior of the NetworkDescriptionReader::GetNodeInformationList function [SDK]

The NetworkDescriptionReader::GetNodeInformationList function has always returned an error when it gets an invalid UDS network beacon, but it succeeds even when the data is invalid. The function was changed so that data will not be obtained in such cases.


Note 39-67: (UDS) Changed the behavior of the Receive and ReceiveFrom functions [SDK]

The absence of data that should have been received has been treated as an error when the NO_WAIT option is specified, but now the function itself succeeds and returns 0 as the received data size.


Note 39-68: (UDS) Reviewed Result values [SDK]

Reviewed and adjusted the Result values returned by the functions in the UDS library.
For details, see the Function Reference Manual.
Definitions prior to CTR-SDK 0.10.2 can still be used, but we plan to remove them in the next release.


Note 39-69: (UDS) Changed the behavior of the SendTo function [SDK]

Revised this function to return rather than ignore send errors caused by depleted resources within the wireless driver when the NO_WAIT option is specified.
Nothing has changed when the NO_WAIT option is not specified.


Note 39-70: (UDS) Prohibited the use of port 0 [SDK]

Revised the SendTo and Attach functions to not allow the use of port 0, which is reserved by the system.


Note 39-71: (UDS) Added a link to the UDS library in the Function Reference Manual's index [SDK]

Revised the Network section in the index of the Function Reference Manual because there was no link to the UDS library, making it hard to access.


Note 39-72: (Y2R) Removed C wrappers [SDK]

Removed C wrapper functions for the Y2R library because they cannot be supported.


Note 39-73: (Y2R) Revised the Initialize and Finalize functions [SDK | System Updater]

Revised the Initialize and Finalize functions to initialize and clean up settings.


Note 39-74: (Y2R) Revised the SetStandardCoefficient function [SDK | System Updater]

Revised the conversion coefficients set by COEFFICIENT_ITU_R_BT_601 and COEFFICIENT_ITU_R_BT_709 in the SetStandardCoefficient function.
These revisions have caused the R and B output values to be 1 smaller and the G output values to be 1 larger than before with COEFFICIENT_ITU_R_BT_601.
The G value is sometimes 1 larger than before with COEFFICIENT_ITU_R_BT_709.

Both COEFFICIENT_ITU_R_BT_601 and COEFFICIENT_ITU_R_BT_709 assume that the YUV input values are between 0 and 255. Two new conversion coefficients, COEFFICIENT_ITU_R_BT_601_SCALING and COEFFICIENT_ITU_R_BT_709_SCALING, were added to support Y input values between 16 and 235 and UV input values between 16 and 240.


Note 39-75: (Y2R) Changed the StartConversion function's return value [SDK | System Updater]

Changed the StartConversion function to return an nn::Result value because there was a need for applications to handle errors.


Note 39-76: (Y2R) Added functions for batch setting changes [SDK | System Updater]

Added the SetPackageParameter function, which changes multiple Y2R settings all at once.


Known Issues in the SDK 0.11.0 Release


CTR-SDK Version 0.11 Release SystemUpdater

(2010/07/22)


Note 38-01: (AC) Revised the Connect function [System Updater]

Revised the Connect function as follows.


Note 38-02: (AC) Added the GetLinkLevel function [System Updater]

Added a function to get the wireless signal strength for the access point that is currently connected.


Note 38-03: (CAMERA) Revised the Finalize function [SDK | System Updater]

Revised the Finalize function to turn off the camera LED if it is illuminated.


Note 38-04: (CAMERA) Added the GetSuitableY2rStandardCoefficient function [SDK | System Updater]

Added the GetSuitableY2rStandardCoefficient function, which gets conversion coefficients suitable for converting YUV data output by the cameras (on the CTR system running the program) into the RGB format using the Y2R library.


Note 38-05: (CAMERA) Revised the Initialize and Finalize functions [SDK | System Updater]

Revised the Initialize and Finalize functions to initialize and clean up settings.


Note 38-06: (CAMERA) Removed the SynchronizeWhiteBalance function [SDK | System Updater]

Removed the SynchronizeWhiteBalance function because it had a bug that proved difficult to fix.
We are considering an alternate method of synchronizing the brightness and contrast between the left and right cameras to adjust image brightness and coloring.


Note 38-07: (CAMERA) Revised the timing at which the camera LED is illuminated [System Updater]

The LED was revised to illuminate only when an outer camera, rather than any camera, starts up.


Note 38-08: (CAMERA) Changed the camera configuration function's return value [SDK | System Updater]

Changed the following camera setting functions to return an nn::Result value because there was a need for applications to handle errors.


Note 38-09: (CAMERA) Added and updated shutter sounds [SDK | System Updater]

Removed SHUTTER_SOUND_TYPE_CONTINUOUS, a ShutterSoundType that indicates continuous shutter sounds, and added SHUTTER_SOUND_TYPE_MOVIE and SHUTTER_SOUND_TYPE_MOVIE_END, which indicate the start and end of video filming, respectively.
Data has also been updated for the normal shutter sound.


Note 38-10: (CAMERA) Removed a feature that notifies a recovery event [SDK | System Updater]

Removed the GetRebootEvent function, which gets a notification event when a malfunction causes a recovery, and the IsRebootSuccessful function, which determines whether the recovery succeeded or failed.
From now on, a notification is sent for events with the GetBufferErrorInterruptEvent function regardless of whether recovery succeeded or failed.
If recovery fails, an error is returned afterwards by a call to a camera setting function that returns a Result value.
If a camera setting function is called during a recovery, it blocks internally until recovery has completed (successfully or not).


Note 38-11: (CAMERA) Removed functions that automatically receive data [SDK | System Updater]

Removed the following functions, which automatically received image data from the camera at every frame.


Note 38-12: (CAMERA) Added functions for batch setting changes [SDK | System Updater]

Added the following functions, which change multiple camera settings all at once.


Note 38-13: (DLP) Added CTR Download Play [SDK | System Updater]

Unlike on a Nintendo DS, CTR Download Play saves downloaded child programs in NAND memory.
However, when a new child program is downloaded it overwrites the old one.
There is no support for this library with CTR-SDK 0.11.


Note 38-14: (GX) Added support for the 3D LED [System Updater]

Made the system's 3D LED (the green light) illuminate when NN_GX_DISPLAYMODE_STEREO is specified by the nngxSetDisplayMode function to enable stereoscopic display.


Note 38-15: (HID) Changed memory addresses assigned when the Initialize function is called [System Updater]

Revised the input buffer address assigned when the Initialize function is called so that it does not overlap with addresses that can be used as an application heap.


Note 38-16: (HID) Fixed a bug in STICK_CLAMP_MODE_CROSS mode [SDK | System Updater]

In STICK_CLAMP_MODE_CROSS mode alone, the latter half of values that should have been continuous from 0 to 103 jumped instead (for example, from 80 to 103).
This problem has been corrected.


Note 38-17: (HID) Reviewed specifications for the SetStickClamp and GetStickClamp functions [SDK | System Updater]

Reviewed the maximum and minimum clamp values that can be specified with the SetStickClamp function.

Any specified argument values that do not conform to these restrictions are corrected to the limit values.

The SetStickClamp and GetStickClamp functions used to use common parameters regardless of the clamp mode, but now these parameters are managed separately. This is because threshold values have different limits in each clamp mode. Note that the SetStickClamp and GetStickClamp functions handle threshold values for the current clamp mode.


Note 38-18: (HID) Changed accelerometer axis settings [System Updater]

Changed accelerometer axis settings, taking compatibility with existing Nintendo hardware into account.
Note that these changes have replaced axes and reversed signs.


Note 38-19: (HID) Fixed a bug that occurred when the Sleep Mode switch was set to "sleep" at startup [System Updater]

Fixed a bug that prevented input from keys other than the L Button and R Button when the Sleep Mode switch was set to "sleep" at startup.


Note 38-20: (HTTP) Revised the AddPostData* functions [System Updater]

Fixed a bug that prevented more than 998 bytes of data from being set with the AddPostData* functions.


Note 38-21: (HTTP) Fixed a misspelling in the NofityFinishSendPostData function [System Updater]

Fixed the spelling of the NofityFinishSendPostData function by changing "Nofity" to "Notify."


Note 38-22: (HTTP) Fixed a bug in the SendPostDataAscii function [System Updater]

Fixed a bug that caused a terminating null character to be sent as POST data along with the string.


Note 38-23: (HTTP/SSL) Added support for a Class 2 CA certificate built into the system [System Updater]

Added support for a Nintendo Class 2 CA certificate built into the system.


Note 38-24: (MIC) Revised the Finalize function [System Updater]

Revised the Finalize function to stop any sampling in progress when it is called, turn off the microphone, and then set the microphone's amplifier gain equal to its initial value of 43.


Note 38-25: (MIC) Changed the initial value for the microphone's amplifier gain in the SetAmpGain and GetAmpGain functions [System Updater]

Changed the initial value of the microphone's amplifier gain from 50 to 43.


Note 38-26: (MIC) Revised the microphone's silent period [System Updater]

Revised the microphone to be silent when it is turned on or recovers from Sleep Mode because for the first second microphone input is unstable.


Note 38-27: (NWN) Changed the scanning interval for Chance Encounter zones [System Updater]

Changed the interval between scans for Chance Encounter zones from 20 seconds to 10 seconds.


Note 38-28: (OS) Revised the debugger's VFP register value [System Updater]

Fixed a bug that prevent the debugger's VFP register value from being updated properly.


Note 38-29: (OS) Added a feature to cancel the screen that is forced to be displayed when a program stops abnormally [System Updater]

Added a feature that can cancel the display of a red upper and lower screen, which notifies the user that abnormal processing was detected on the system.
Press the L Button, R Button, START, and SELECT simultaneously to stop forcing the screen to be displayed.


Note 38-30: (OS) Fixed a bug that occurred when Wait was called on multiple objects [System Updater]

Fixed a bug that prevented recovery from a call to Wait in nn::os::WaitObject::WaitAll.


Note 38-31: (OS) Revised the Power Button [System Updater]

Starting with CTR-SDK 0.10, the power turned off four seconds after the Power Button was held down for two seconds. This has been changed in CTR-SDK 0.11 so that the power turns off when the Power Button is held down for six seconds.


Note 38-32: (SND) Fixed a bug that on rare occasions increased the volume [System Updater]

Fixed a bug that on rare occasions increased the volume irrespective of the system volume.


Note 38-33: (SND) Fixed a bug that sometimes decreased the volume [System Updater]

Fixed a firmware bug that on rare occasions decreased the volume.


Note 38-34: (SND) Changed the volume configuration [SDK | System Updater]

Reviewed the volume configuration for the overall system.
Specifically, the digital volume was increased and the analog volume was decreased.
The total volume has not changed.

Always run ResetSettings with the Config tool after applying the SystemUpdater for CTR-SDK 0.11.
Otherwise, the proper volume will not be used.


Note 38-35: (SSL) Added an SSL function to get random numbers [System Updater]

Added an SSL function to get pseudorandom numbers that use internal system information.


Note 38-36: (SSL) Added support for getting all the data in a server certificate chain [System Updater]

Added support for getting all the data in a server certificate chain verified by an SSL handshake.


Note 38-37: (SSL) Added a function to collectively get the causes of a failed server certificate verification [System Updater]

Added the GetCertVerifyErrors function, which collectively gets the causes of a failure to verify a server certificate.


Note 38-38: (SSL) Added support for non-blocking sockets [System Updater]

Added support for SSL communication using non-blocking sockets.


Note 38-39: (Socket) Fixed a memory leak [System Updater]

Fixed a memory leak that occurred when the system disconnected from an access point during socket communication.


Note 38-40: (Socket) Changed the maximum number of socket descriptors that can be created [System Updater]

Changed the maximum number of socket descriptors that can be created by the application to 16.


Note 38-41: (TOOL) Added Config tool features [System Updater]

Added Sound Output and System Mode to Other Settings in the Config tool.
For details, see the Function Reference Manual.


Note 38-42: (UDS) Fixed a bug that caused invalid signal strength values when a Client was running [System Updater]

Fixed a bug that caused the detection of lower signal strength values than expected in Client systems.


Note 38-43: (UDS) Optimized the beacon data size [System Updater]

Stopped adding unnecessary empty data to the data sent with a beacon.


Note 38-44: (UDS) Support for disabled wireless mode [System Updater]

Modified the nn::uds::Initialize function to return an error if it is called while wireless functionality is disabled.
Likewise, if the Wi-Fi Button is pressed while the UDS library is in use, the system disconnects from the current network regardless of its wireless mode and then any function other than Finalize fails.


Note 38-45: (Y2R) Revised the Initialize and Finalize functions [SDK | System Updater]

Revised the Initialize and Finalize functions to initialize and clean up settings.


Note 38-46: (Y2R) Revised the SetStandardCoefficient function [SDK | System Updater]

Revised the conversion coefficients set by COEFFICIENT_ITU_R_BT_601 and COEFFICIENT_ITU_R_BT_709 in the SetStandardCoefficient function.
These revisions have caused the R and B output values to be 1 smaller and the G output values to be 1 larger than before with COEFFICIENT_ITU_R_BT_601.
The G value is sometimes 1 larger than before with COEFFICIENT_ITU_R_BT_709.

Both COEFFICIENT_ITU_R_BT_601 and COEFFICIENT_ITU_R_BT_709 assume that the YUV input values are between 0 and 255. Two new conversion coefficients, COEFFICIENT_ITU_R_BT_601_SCALING and COEFFICIENT_ITU_R_BT_709_SCALING, were added to support Y input values between 16 and 235 and UV input values between 16 and 240.


Note 38-47: (Y2R) Changed the StartConversion function's return value [SDK | System Updater]

Changed the StartConversion function to return an nn::Result value because there was a need for applications to handle errors.


Note 38-48: (Y2R) Added functions for batch setting changes [SDK | System Updater]

Added the SetPackageParameter function, which changes multiple Y2R settings all at once.


Known Issues with System Updater in the SDK 0.11.0 Release


CTR-SDK Version 0.11.0 Release SampleDemos

(2010/07/22)


Note 37-01: (PTM) Added battery-related sample demos [Sample Demos]

Added sample demos that get the remaining battery life and recharge state.


Note 37-02: (SND) Revised BcwavPlayer [Sample Demos]

Revised the BcwavPlayer sample demo to use nn::snd::Voice::SetupBcwav.


Note 37-03: (SND) Added specifications for the sound output mode [Sample Demos]

Added code that explicitly specifies stereo output in every snd sample demo except 3DSurround.


Note 37-04: (SND) Changed AdpcmEncoder sample demo [Sample Demos]

Renamed the AdpcmEncoder sample demo to AdpcmEncDec and added sample code for the decoder.


Note 37-05: (TPL) Added TPL sample demos [Sample Demos]

Added the following sample demos for the TPL library: IconSample, ReadTexturePackage, ReadTexturePackage2, and ReadTexturePackage3.


Note 37-06: (UDS) Revised demos following changes to the Result values [Sample Demos]

Made the demos adhere to the changed Result values for the UDS library.
For details on how to handle the Result values, see the simple demo.


Note 37-07: (UDS) Revised com_demo1 [Sample Demos]

Fixed a bug that caused program execution to freeze when a client called a master-only function or a master called a client-only function.


Note 37-08: (Miscellaneous) Replaced NN_OS_DEVICE_MEMORY_SIZE with the nn::os::GetDeviceMemorySize function [Sample Demos]

Replaced the NN_OS_DEVICE_MEMORY_SIZE macro used in the sample demos with the nn::os::GetDeviceMemorySize function.


Known Issues with SDK 0.11.0 Release Sample Demos

  None.


CTR-SDK Version 0.10.2 Release SystemUpdater

(2010/07/06)


Note 36-01: (CAMERA) Fixed processing that detects camera problems [System Updater]

Fixed a bug that occurred when the single camera module was in use: even if the camera was running normally, a problem would be detected and the camera restarted.


Known Issues with System Updater in the SDK 0.10.2 Release


CTR-SDK Version 0.10.1 Release

(2010/07/05)


Note 35-01: (CAMERA) Added a nn::camera::FrameRate setting [SDK | System Updater]

Added FRAME_RATE_10 to the nn::camera::FrameRate enumerated type.
You can specify FRAME_RATE_10 to the nn::camera::SetFrameRate function to fix the framerate at 10 fps.


Note 35-02: (FS) Fixed a bug in the address conversion table for backup devices [SDK]

Fixed a bug that could prevent the address conversion table from being updated normally as well as corrupt data when the total number of writes to a backup device (NorFlush within a card) reached a certain count.


Note 35-03: (GX) Addressed screen flickering that occurred when active backlight controls were enabled [SDK]

Made adjustments to reduce screen flickering in images displayed by the application when active backlight controls are enabled.

To apply these revisions, you must launch the Config tool and run Reset setting.


Note 35-04: (GX) Fixed a bug that prevented the display buffer from being placed in VRAM-B [SDK]

Fixed a bug that caused the library to trigger an assert statement when the display buffer was placed in VRAM-B.


Note 35-05: (OS) Changed memory-related functions [SDK | System Updater]

Added the following memory-related functions.

Some specifications for memory-related functions in the OS library have also changed, but these could not be applied to the Function Reference Manual. Details are planned to be added in the next release of the CTR-SDK.

This was changed in version 0.10 but was left out of the changelog.


Note 35-06: (SND) Revised the system volume [SDK]

Reviewed the system volume.
It is now approximately 5.5 dB louder than it was in CTR-SDK 0.10.


Note 35-07: (SND) Fixed bugs in the waveform converter [SDK]

Revised the waveform converter, ctr_WaveConverter, as follows.


Note 35-08: (TOOL) Revised DevMenu [SDK]

Rather than halting at a yellow screen as it used to, the program now displays an error dialog box when there is an error in the SD Card file system.


Note 35-09: (TOOL) Added StereoCameraCalibrator [SDK]

Added StereoCameraCalibrator, a tool that manually sets calibration data for the stereo cameras, as well as image files to use with the tool.

The tool itself was included in version 0.10 but was left out of the changelog.


Note 35-10: (TOOL) Added ctr_makecia32.exe [SDK]

Prior to CTR-SDK 0.10, ctr_makesimplecia32.exe was used to generate CIA files. From now on, ctr_makecia32.exe will be used.
CIA files will therefore be encrypted.

Note33-86 mistakenly stated that ctr_makecia32.exe was added: the tool was actually included in CTR-SDK 0.10.1.


Note 35-11: (TOOL) Fixed a bug in ctr_makerom32.exe [SDK]

Fixed a bug that prevented 256 MB or larger CCI files from being generated in some environments.
The UseAes option, which was released as a temporary workaround, has been removed.


Known Issues in the SDK 0.10.1 Release


CTR-SDK Version 0.10.1 Release SystemUpdater

(2010/07/05)


Note 34-01: (CAMERA) Added a nn::camera::FrameRate setting [SDK | System Updater]

Added FRAME_RATE_10 to the nn::camera::FrameRate enumerated type.
You can specify FRAME_RATE_10 to the nn::camera::SetFrameRate function to fix the framerate at 10 fps.


Note 34-02: (HID) Fixed the nn::fs::Directory::Read function to list the proper number of entries [System Updater]

There was a bug in the nn::fs::Directory::Read function that caused it to list one less than the actual number of entries in a directory.
This problem was fixed.

This was changed in version 0.10 but was left out of the changelog.


Note 34-03: (OS) Changed memory-related functions [SDK | System Updater]

Added the following memory-related functions.

Some specifications for memory-related functions in the OS library have also changed, but these could not be applied to the Function Reference Manual. Details are planned to be added in the next release of the CTR-SDK.

This was changed in version 0.10 but was left out of the changelog.


Known Issues with System Updater in the SDK 0.10.1 Release


CTR-SDK Version 0.10.0 Release

(2010/06/23)


Note 33-01: (CAMERA) Revised the Activate function [SDK | System Updater]

Fixed a bug that prevented the proper application of settings made during standby if nn::camera::SELECT_OUT1_OUT2 or nn::camera::SELECT_IN1_OUT2 was specified as an argument to the nn::camera::Activate function.
This revision causes an irregular shift in the timing of the two camera V-Sync signals immediately following the Activate function call. To suppress this shift, call the SynchronizeVsyncTiming function after Activate.


Note 33-02: (CAMERA) Revised the SetAutoWhiteBalance function [SDK | System Updater]

Fixed a bug that caused the SetAutoWhiteBalance function to succeed when the white balance was not set to WHITE_BALANCE_NORMAL, even though it should have failed in this case.
This fix causes the SetAutoWhiteBalance function to behave as described in the Function Reference Manual.


Note 33-03: (CAMERA) Revised the SetNoiseFilter function [SDK | System Updater]

Fixed a bug in the SetNoiseFilter function that, when the function was used to turn off the noise-reduction feature, either prevented the feature from being turned off or introduced image noise.


Note 33-04: (CAMERA) Revised the SetTrimmingParams and SetTrimmingParamsCenter functions [SDK|SystemUpdater]

Fixed bugs in the SetTrimmingParams and SetTrimmingParamsCenter functions that prevented trimming from the top line and that shifted the first trimmed line up by one line.


Note 33-05: (CAMERA) Added support for the camera LED [SDK | System Updater]

Added processing that lights up the camera LED when any camera is started by the nn::camera::Activate function.
The camera LED turns off when active cameras are put into standby mode.


Note 33-06: (CAMERA) Added processing to recover from a camera malfunction [SDK | System Updater]

Added a feature that automatically recovers the camera to its state immediately before beginning capture if it malfunctions.
The GetRebootEvent function was added to get event notifications sent when this recovery process occurs and the IsRebootSuccessful function was added to determine whether recovery succeeded or failed.


Note 33-07: (CAMERA) Added a function to play the shutter sound [SDK | System Updater]

Added the nn::camera::PlayShutterSound function to play the shutter sound and momentarily turn off the camera LED.


Note 33-08: (CAMERA/Y2R) Changed the Initialize function's return value [SDK | System Updater]

Revised the Initialize function to return false when indicating that a camera or Y2R feature cannot be reused when it is already being used by another process.
You can only use such features when true is returned.


Note 33-09: (CECD) Updated Chance Encounter Communication daemon (beta version) [SDK]

Added the cecd Chance Encounter Communication daemon and the API to access it.
It can get, set, receive, and send data.
When the daemon starts running after data has been set, it begins a search and exchanges data via wireless communication.
Limitations:


Note 33-10: (CFG) Added functions to get user information [SDK]

Added functions to get the user name, birthday, country, area, language, and simple address.


Note 33-11: (CFG) Added function to get system information [SDK]

Added a function to get region information.


Note 33-12: (DSP) Revised the Function Reference Manual [SDK]

Added descriptions of uses for the nn::dsp::LoadComponent function in the Function Reference Manual.


Note 33-13: (DSP) Removed some functions from the public API [SDK]

The following functions are no longer supported and have been removed from the public API.


Note 33-14: (DSPSND) Removed the DSPSND library [SDK]

Removed the DSPSND library. Use the SND library for DSP sounds.


Note 33-15: (DevEnv) Revised version.h [SDK]

Fixed a bug that prevented version.h from being accessed within an OMakefile.


Note 33-16: (DevEnv) Suppressed warnings for missing declarations in source code [SDK]

Suppressed compiler warning 96: "a translation unit must contain at least one declaration."


Note 33-17: (DevEnv) Changed the default build filter from TEG2 to TS [SDK]

Changed omake builds to generate binaries for TS boards, rather than for TEG2 boards, by default when FILTER is not specified.


Note 33-18: (DevEnv) Added an environment variable for specifying the ARM compiler to use for builds [SDK]

Added the CTRSDK_RVCT_VER environment variable to set the version of the ARM compiler to use for builds.
This environment variable only specifies the major and minor versions of the ARM compiler and is unrelated to updates of the build number alone.


Note 33-19: (DevEnv) Added the CCFLAGS_DEV_OPT build variable [SDK]

Allowed the optimization level of development builds of applications to be specified using CCFLAGS_DEV_OPT in the OMakefile.


Note 33-20: (DevEnv) Added the CTR_APPTYPE build variable [SDK]

A CTR_APPTYPE value can now be set in the OMakefile.
CXI and CIA files are generated if the OMakefile sets CTR_APPTYPE=NAND, and CCI files are generated if CTR_APPTYPE=CARD.
All file types—CCI, CXI, and CIA—are generated if CTR_APPTYPE=BOTH.

The CTR_NANDAPP build variable, which has similar functionality, is planned to be removed in the next SDK release.
Although it has been left in CTR-SDK 0.10 to maintain compatibility, use CTR_APPTYPE instead.


Note 33-21: (FND) Revised the ExpHeapTemplate::Allocate member function [SDK]

Added 64, 128, -64, and -128 as specifiable alignment values in the ExpHeapTemplate::Allocate member function.


Note 33-22: (FND) Revised FrameHeap::Free [SDK]

Although the FrameHeap::Free function can free just regions allocated from either the head or the tail, it used to free all regions regardless of what was specified.
This function has been fixed to release only the specified memory.
Other FrameHeap functions have been modified along with this one.


Note 33-23: (FND) Revised HeapBase::HasAddress [SDK]

Changed HeapBase::HasAddress to be a const member function with a const pointer as an argument.
The HasAddress member functions for ExpHeapBase, ExpHeapTemplate, FrameHeapBase, FrameHeapTemplate, UnitHeapBase, and UnitHeapTemplate have also been revised.


Note 33-24: (FS) Changed the method for initializing ROM [SDK]

ROM regions accessible by the "rom:" syntax used to be automatically mounted when the nn::fs::Initialize function was called, but now the nn::fs::MountRom(size_t maxFile, size_t maxDirectory, void* workingMemory, size_t workingMemorySize) function must be called explicitly to mount them. You must pass a memory buffer to workingMemory that is as large as the size returned by the nn::fs::GetRomRequiredMemorySize(size_t maxFile, size_t maxDirectory) function. When calling the nn::fs::MountRom function, the user can now specify the number of files and directories that can be opened simultaneously using the "rom:" syntax. These settings are only restricted by memory capacity.


Note 33-25: (FS) Added support for 8.3 filenames that only have lowercase characters [SDK | System Updater]

To support the extended FAT specifications for Windows, a long path name can now be obtained as expected for any file or directory having an 8.3 path name that contains only lowercase characters on an SD Memory Card.
Previously, all entry names were recognized as uppercase characters based on the standard specification of FAT.


Note 33-26: (GX) Added the nngxAddVramDmaCommand function to issue DMA transfer commands [SDK]

Added the nngxAddVramDmaCommand function, which adds DMA transfer commands to the current command list.


Note 33-27: (GX) Restrictions on Using the L4 and A4 formats [SDK]

It is now confirmed that hardware restrictions require that data in 4-bit texture formats (L4 or A4) be placed in a different memory region than data in non-4-bit formats when both types of texture formats are enabled at the same time and are used for multitextures.
(The ETC format is treated as a non-4-bit format for the purposes of these restrictions.)

Note: This restriction is described as above in the current specifications, but further tests have revealed that when data that uses a 4-bit format is placed in main memory (FCRAM), multitexture rendering is possible regardless of where data that uses a non-4-bit format is placed.
(The specifications will be updated in the next release.)


Note 33-28: (GX) Fixed a bug in the NN_GX_STATE_FRAMEBUFFER complete commands [SDK]

Fixed a bug that prevented some necessary commands (commands that set registers 0x06e and 0x11e) from being generated in the NN_GX_STATE_FRAMEBUFFER complete commands.


Note 33-29: (GX) Added PICA register information [SDK]

Updated the DMPGL 2.0 System API Specifications.
The following PICA register information was updated. See the document for further details.


Note 33-30: (GX) Added the SetMemAccessPrioMode function [SDK | System Updater]

Added the SetMemAccessPrioMode function, which sets the access priority of the CPU and/or GPU when they access main memory.


Note 33-31: (GX) Added support for reading the depth buffer with the glReadPixels function [SDK]

You can now read the content of the depth buffer with the glReadPixels function by setting the format argument equal to GL_DEPTH_COMPONENT and the type argument equal to the bit width of the depth values to get.


Note 33-32: (GX) Changed argument types in the nngxAdd3DCommand function [SDK]

Changed the bufferaddr argument type from GLvoid* to const GLvoid*.


Note 33-33: (GX) Fixed a bug that prevented command buffer overflow errors from occurring in the nngxValidateState function [SDK]

Revised the nngxValidateState function so that a GL_ERROR_8066_DMP error occurs when this function's validation operation generates more commands than the current command buffer can hold.


Note 33-34: (GX) Changed the errors that occur during validation with the nngxValidateState function into extended error codes [SDK]

Changed the error codes that occur during validation with the nngxValidateState function from GL_INVALID_OPERATION to GL_ERROR_806C_DMP.
For more information on what causes errors during validation, see the System API Specifications.


Note 33-35: (GX) Added VRAM regions that can be used by applications [SDK]

Extended the VRAM regions that can be used by applications from 2 MB to 3 MB in both VRAMA and VRAMB, for a total of 6 MB.
(However, there are limitations on where display buffers can be placed. For details, see the nngxDisplayBufferStorage page in the Function Reference Manual.)


Note 33-36: (GX) Fixed a bug in address checks for cube map textures [SDK]

Each of a cube map texture's six faces has been required to share the same most-significant 10 address bits. However, because all six faces must fit in the same 32-MB boundary, it is actually sufficient for only the most-significant 7 bits to be the same.
Internal address checks have been revised accordingly.


Note 33-37: (GX) Added the nngxClearFillCmdlist function to both clear and fill a command buffer at the same time [SDK]

Added the nngxClearFillCmdlist function, which not only clears the bound command list object but also initializes the command buffer with a specified 32-bit value.


Note 33-38: (GX) Added extended error codes to represent command buffer overflows [SDK]

A GL_INVALID_OPERATION error used to be generated when the current command list's command buffer overflowed. Now a dedicated error code, GL_ERROR_COMMANDBUFFER_FULL_DMP, is generated.


Note 33-39: (GX) Deleted dummy commands used when clearing the texture cache [SDK]

Ten dummy commands used to be generated for register 0x080 when the texture cache was cleared. Further testing revealed that these dummy commands are unnecessary, so they have been deleted.


Note 33-40: (GX) Fixed a bug related to clamping the particle system (geometry shader) time [SDK]

Fixed a bug that prevented all subsequent particles from being generated after any one particle was clamped and therefore not generated.
Processing has also been added to clamp particles when the dmp_Partsys.time uniform has a value of 0 or less.


Note 33-41: (GX) Added a function that applies antialias filters while transferring block images [SDK]

Added the nngxFilterBlockImage function, which issues commands to apply a 2x2 antialias filter on block-formatted data while transferring it to a specified address.


Note 33-42: (GX) Updated macro header files [SDK]

Changed macro header files as follows.


Note 33-43: (GX) Added support for automatic mipmap generation [SDK]

Added a feature to automatically generate mipmaps for textures that use antialias-filtered block image transfers.
For details on the formats for which mipmaps can be generated as well as size restrictions, see the DMPGL specifications.


Note 33-44: (GX) Deleted lighting layer configurations 8–10 [SDK]

The following were determined to have poor performance and were thus deleted from the specifications: GL_LIGHT_ENV_LAYER_CONFIG8_DMP, GL_LIGHT_ENV_LAYER_CONFIG9_DMP, and GL_LIGHT_ENV_LAYER_CONFIG10_DMP.
There are no perfect substitutes for these configurations, but the following methods can reduce the number of cycles to two.


Note 33-45: (GX) Stopped using invalid bit in register 0x6f [SDK]

Revised the glShaderBinary and glLinkProgram functions to stop unnecessarily operating on the invalid bit [17:17] in register 0x6f.


Note 33-46: (GX) Fixed a bug that caused incorrect behavior with certain placements of vertex and index arrays [SDK]

Fixed a bug that caused incorrect behavior when vertex arrays were placed in main memory and index arrays were placed in VRAM.


Note 33-47: (HID) Changed threshold values for clamping the Slide Pad [SDK]

Changed the threshold values for clamping the Slide Pad.

The minimum value for circular clamping (MIN_OF_STICK_CLAMP_MODE_CIRCLE) was changed from 66 to 50.
The maximum value for clamping (LIMIT_OF_STICK_CLAMP_MAX) was changed from 133 to 153.
These threshold values are still under consideration and may change in the future.


Note 33-48: (HIO) Relocated the PC-side HostIO library [SDK]

Moved the PC-side HostIO library and its header files, all of which have been included in the CTR-SDK, to the $KMC_CTRHOSTIO/SDK directory.


Note 33-49: (JPEG) Added JPEG encoder functions for MP-format data [SDK]

Added the following functions for MP-format data.


Note 33-50: (JPEG) Added setter functions for the JPEG encoder [SDK]

Added the following functions for setting parameters used during JPEG encoding.


Note 33-51: (JPEG) Added functions for extracting EXIF information with the JPEG decoder [SDK]

Added the following functions for getting EXIF values and analyzing only EXIF information while decoding.


Note 33-52: (JPEG) Added functions for analyzing MP-format data with the JPEG decoder [SDK]

Added the following functions for MP-format data.


Note 33-53: (JPEG) Added functions for setting the image width in the JPEG decoder [SDK]

Added the following functions to use when decoding results are output to a buffer that has a larger image width than the image to decode.


Note 33-54: (JPEG) Added thumbnail output formats for the JPEG encoder [SDK]

Changed the SetThumbnailSize function so that it can set thumbnail output formats other than YUV422.


Note 33-55: (JPEG) Added functions for applications to get and set MakerNote data [SDK]

Added the following functions to get and set data embedded in the MakerNote region of a created JPEG file.


Note 33-56: (MATH) Added the SafeNormalize functions [SDK]

Added the following functions that run "safe" Normalize operations, returning the default values for vectors with a size of 0.


Note 33-57: (MATH) Improved the accuracy of sine and cosine calculations [SDK]

Revised some values that did not fully utilize float accuracy in the internal table used to find the sine and cosine.


Note 33-58: (MATH) Added multiplication functions for all components in Vector2, Vector3, and Vector4 vectors [SDK]

The following functions have been added.


Note 33-59: (MATH) Fixed a bug in the values obtained by the GetRow and GetColumn functions in math_Matrix23.h [SDK]

Fixed processing that accidentally treated a 2x3 matrix as a 3x2 matrix within the GetRow and GetColumn functions in math_Matrix23.h.


Note 33-60: (MATH) Increased speed of functions [SDK]

Optimized implementations of the following functions.

Hermite, MTX33Copy, MTX33MAdd, MTX33Mult, MTX33ToMTX34, MTX34Add,
MTX34CameraRotate, MTX34Copy, MTX34Inverse, MTX34InvTranspose,
MTX34LookAt, MTX34MAdd, MTX34Mult, MTX34MultArray, MTX34MultScale,
MTX34MultTranslate, MTX34RotXYZFIdx, MTX34RotXYZRad, MTX34RotXYZTranslateFIdx,
MTX34Scale, MTX34ToMTX33, MTX34ToQUAT, MTX34Translate, MTX34Transpose,
MTX43Add, MTX43Copy, MTX43Mult, MTX43Transpose, MTX44Add, MTX44Copy,
MTX44Frustum, MTX44FrustumPivot, MTX44Inverse, MTX44Mult,
MTX44MultArray, MTX44MultScale, MTX44MultTranslate,
MTX44Ortho, MTX44OrthoPivot, MTX44PerspectivePivotRad, MTX44RotXYZRad,
MTX44Scale, MTX44T, MTX44Transpose, QUATInverse, QUATMult,
QUATNormalize, QUATToMTX34, VEC3Cross, VEC3Len, VEC3Normaliz,
VEC3Transform, VEC3TransformArray, MTX44Pivot, MTX34RotAxisRad_,
MTX44PerspectiveRad, MTX44RotAxisRad_


The optimizations are valid for Release and Development builds. Note, however, that these optimizations are not applied to Debug builds.


Note 33-61: (MIC) Added a return value to the mic::FreeBuffer function [SDK]

Revised the mic::FreeBuffer function to return an error if it is called during microphone sampling.


Note 33-62: (MIC) Added the microphone library to the default libraries [SDK]

It used to be necessary to explicitly add the microphone library to an OMakefile to use it, but this is no longer necessary because the library has been added to the build system's default libraries.


Note 33-63: (MIC) Deleted a function that allocates memory and added a function that sets memory [SDK]

The microphone library used to allocate memory internally with the AllocateBuffer function. This process has been revised in CTR-SDK 0.10 so that the application allocates memory and SetBufferis used to set it to the microphone library.
The application must provide memory with a size and address that are 4-KB aligned.
Call the ResetBuffer function to stop using the memory set in the microphone library.


Note 33-64: (MIDI) Added the MIDI library [SDK | System Updater]

Added the MIDI library.


Note 33-65: (RDT) Added the RDT library [SDK]

Added the RDT library, which runs local communications with trusted data.
The RDT library is a high-level library located above the UDS library.


Note 33-66: (SND) Added 3D surround sound features [SDK]

Added support for 3D surround sound output.
(Effects are still provisional, however, and are highly likely to change in the future.)


Note 33-67: (SND) Fixed a bug that corrupted waveforms during ADPCM playback [SDK]

Fixed a bug that corrupted waveforms only in the first data to have AppendWaveBuffer called on a Voice during ADPCM playback.


Note 33-68: (SND) Fixed a bug in the AllocVoice function [SDK]

Fixed a bug that caused AllocVoice to return invalid results.


Note 33-69: (SND) Added a DSP-ADPCM encoder [SDK]

Added the nn::snd::EncodeAdpcmData function, which is a DSP-ADPCM encoder, and the nn::snd::GetAdpcmOutputBufferSize function, which returns the size of the encoding results.


Note 33-70: (SND) Fixed a bug in the GetPlayPosition function [SDK]

Fixed a bug that caused the GetPlayPosition function to return an undefined value immediately after the AllocVoice function was called.


Note 33-71: (SND) Added a function to get Mix bus data [SDK]

Added the nn::snd::GetMixedBusData function, which gets the MixBus final output information for DSP sounds.


Note 33-72: (SND) Added a MixParam constructor [SDK]

Added a constructor for the MixParam structure.


Note 33-73: (SND) Added functions for loading files in the BCWAV format [SDK]

Added functions to the nn::snd::Bcwav namespace for loading waveform (BCWAV) files generated by ctr_WaveConverter.


Note 33-74: (SND) Fixed a bug that caused the nn::snd::WaitForDspSync function to enter an endless loop [SDK]

Fixed a bug that caused the nn::snd::WaitForDspSync function to enter an endless loop in situations such as during playback of a high-pitched Voice with a high sampling rate.


Note 33-75: (SND) Changed definitions in the nn::snd::WaveBuffer structure [SDK]

Added the const modifier to the pAdpcmContext member variable of the WaveBuffer structure.


Note 33-76: (SND) Fixed a bug that caused execution to halt on a null assertion while nn::snd::Voice was in use [SDK]

Fixed a bug that caused program execution to halt on a null assertion during sound playback with the Voice class's AppendWaveBuffer function.


Note 33-77: (SND) Fixed a SND library bug that would suddenly stop audio output [SDK]

Fixed a bug that would suddenly stop all audio output during audio playback with the SND library.


Note 33-78: (SND) Added filter features [SDK]

Added functions to set a one-pole low-pass filter and a two-pole filter for a Voice.


Note 33-79: (SND) Added a function for determining whether headphones have been inserted [SDK | System Updater]

Added the nn::snd::GetHeadphoneStatus function, which gets the headphone connection state.


Note 33-80: (SND) Revised the Function Reference Manual [SDK]

Fixed errors in the Function Reference Manual for the SND library.


Note 33-81: (SND) Fixed loop playback bugs [SDK]

Fixed bugs that prevented proper loop playback of a high-pitch or high-sampling-rate Voice when the PCM data buffer was small.


Note 33-82: (SND) Added a waveform converter [SDK]

Added ctr_WaveConverter32.exe, a tool that converts waveform (WAV and AIFF) files into the DSP ADPCM format. For details, see ctr_WaveConverter.


Note 33-83: (SND) Fixed a bug that caused the playback position to lag during long playback times [SDK]

Fixed a bug that caused the playback position to lag behind the original position during long playback.


Note 33-84: (TOOL) Added Config tool features [SDK]

Allowed the user name to be edited with the Config tool.
A description of how to edit the user name has been added to the documentation.


Note 33-85: (TOOL) Changed the DevMenu [SDK]

Made the following changes to the DevMenu.


Note 33-86: (TOOL) Added ctr_makecia32.exe [SDK]

Added ctr_makecia32.exe, which generates CIA files.


Note 33-87: (TOOL) Added CXI file encryption and CDI file generation [SDK]

The CXI files generated when a NAND application is built are now encrypted.
In the current release, CDI files (unencrypted CXI files) are also generated at the same time.
In future releases they will no longer be generated by default.


Note 33-88: (TOOL) Updated the shader assembler and linker [SDK]

Updated the shader assembler and linker as follows.


Note 33-89: (UDS) Changed how the buffer used by the UDS library is allocated [SDK]

The buffer used internally by the UDS library is now allocated and specified by the application rather than allocated and obtained automatically within the library.
Note that the specifications for the nn::uds::Initialize function have changed.


Note 33-90: (UDS) Fixed a bug that prevented networks from being found after specified channels were scanned [SDK]

Fixed a bug that prevented existing networks from being detected on the channel(s) specified for scanning with the nn::uds::Scan function.


Note 33-91: (UDS) User name and local friend code are now obtained from the system information [SDK]

Changed the UDS library to get the user name and local friend code from the system information because this was just made possible.
You no longer have to specify anything with the nn::uds::SetNodeInformation function.
(Currently, any specified information is simply not applied. In the next release, this function is scheduled for deletion.)
Definitions in the nn::uds::NodeInformation structure have also been changed following the shift to get data from the system information.


Note 33-92: (UDS) Changed specifications for the CreateNetwork and Scan functions following policy changes to local communication IDs [SDK]

Local communication IDs were originally planned to be set by the system automatically, but this has changed so that now applications must always set the IDs themselves. Consequently, the CreateNetwork and Scan functions, which do not set a local communication ID, were removed.


Note 33-93: (UGC) Added a profanity-check library [SDK]

Added a feature that determines whether a user-specified string has any problems that make it unusable.


Note 33-94: (UGC) Added a blacklist library [SDK]

Added features to register, clear, and search for information on the authors of user-generated content.


Note 33-95: (ULCD) Revised internal calculations in the CalculateMatrices[Real] functions [SDK]

Calculations in the nn::ulcd::StereoCamera::CalculateMatrices[Real] functions assumed that viewing volume parameters were set in advance so that left < right and bottom < top. If these conditions were not satisfied, the proper results were not output.
This was revised so that each parameter does not depend on its size relative to the others.


Note 33-96: (ULCD) Changed argument specifications for the StereoCamera::CalculateMatrices[Real] functions [SDK]

Changed the CalculateMatrices[Real] functions so that the depthRange argument only accepts values in the range [0, 1] rather than any value greater than or equal to 0.
The argument was also renamed to factor to reflect its current use.


Note 33-97: (ULCD) Changed specifications for the StereoCamera::GetMaxParallax function [SDK]

This function used to return the distance between the left and right cameras as the parallax required to display an object at the greatest stereoscopic depth.
That specification applied a parallax that is larger than necessary, though, so the function was changed to return a maximum parallax value that is fixed in advance.


Note 33-98: (ULCD) Updated the Description of the ULCD Library [SDK]

Updated the Description of the ULCD Library.
For details on what was updated, see the documentation.
$CTR_SDK/documents/TechnicalNotes/AboutULCDLibrary/AboutULCDLibrary.pdf


Note 33-99: (ULCD) Added functions to get and set the maximum parallax [SDK]

Added the nn::ulcd::StereoCamera::SetLimitParallax function to set the parallax to generate for objects at the far clipping plane in a stereoscopic representation.
This parallax is created from the maximum separation between the images for the left and right eyes.

However, you can only set a maximum parallax that is within a fixed range.
Because this fixed range has currently not yet been decided, there is not actually an upper limit and any value can be set.
A warning is output if you specify a value larger than the one in the guidelines.

The nn::ulcd::StereoCamera::GetLimitParallax function was also added to get this value.
The value set by this function is valid when the nn::ulcd::StereoCamera::CalculateMatrices function is used.


Note 33-100: (Y2R) Changed arguments to the SetDitheringWeightParam function [SDK | System Updater]

Changed the SetDitheringWeightParam function's arguments from pass-by-value to pass-by-reference.


Note 33-101: (Y2R) Added a stride argument to functions that transfer source data for conversion [SDK | System Updater]

Added the ability to specify an offset to the following function that transfers the source data for conversion. This offset value is added independently of the single-transfer size.

If the offset is omitted, this function will behave as it did with previous versions of the CTR-SDK.


Known Issues in the SDK 0.10.0 Release

  None.


CTR-SDK Version 0.10.0 Release SystemUpdater

(2010/06/23)


Note 32-01: (AC) Revised the AC_Connect function [System Updater]

Fixed the following problems with the AC_Connect function:


Note 32-02: (AC) Revised the AC_ConnectAsync function [System Updater]

Fixed a bug that caused connection attempts via the AC_ConnectAsync function to always fail if the same function had been used to connect and disconnect earlier.


Note 32-03: (AC) AC_DebugSetNetworkSettingA [System Updater]

Changed the network setting slot names from A-C to 1-3. Changed function names accordingly. There have been no changes to arguments or behavior.


Note 32-04: (AC) Revised the DebugSetNetworkSetting1 function [System Updater]

Changed the destination to which the AC_DebugSetNetworkSetting1 function writes network settings from the SD Card to NAND.


Note 32-05: (AC) Revised the WPA connection process [System Updater]

Fixed bug where, after a successful WPA connection, data could not be sent or received.


Note 32-06: (AC) Fixed a scan bug that occurred after a failed connection attempt [System Updater]

Fixed a bug where, after a failed attempt to connect to an access point, scan results would not be returned.


Note 32-07: (CAMERA) Revised the Activate function [SDK | System Updater]

Fixed a bug that prevented the proper application of settings made during standby if nn::camera::SELECT_OUT1_OUT2 or nn::camera::SELECT_IN1_OUT2 was specified as an argument to the nn::camera::Activate function.
This revision causes an irregular shift in the timing of the two camera V-Sync signals immediately following the Activate function call. To suppress this shift, call the SynchronizeVsyncTiming function after Activate.


Note 32-08: (CAMERA) Revised the SetAutoWhiteBalance function [SDK | System Updater]

Fixed a bug that caused the SetAutoWhiteBalance function to succeed when the white balance was not set to WHITE_BALANCE_NORMAL, even though it should have failed in this case.
This fix causes the SetAutoWhiteBalance function to behave as described in the Function Reference Manual.


Note 32-09: (CAMERA) Revised the SetNoiseFilter function [SDK | System Updater]

Fixed a bug in the SetNoiseFilter function that, when the function was used to turn off the noise-reduction feature, either prevented the feature from being turned off or introduced image noise.


Note 32-10: (CAMERA) Revised the SetTrimmingParams and SetTrimmingParamsCenter functions [SDK|SystemUpdater]

Fixed bugs in the SetTrimmingParams and SetTrimmingParamsCenter functions that prevented trimming from the top line and that shifted the first trimmed line up by one line.


Note 32-11: (CAMERA) Added support for the camera LED [SDK | System Updater]

Added processing that lights up the camera LED when any camera is started by the nn::camera::Activate function.
The camera LED turns off when active cameras are put into standby mode.


Note 32-12: (CAMERA) Added a function to play the shutter sound [SDK | System Updater]

Added the nn::camera::PlayShutterSound function to play the shutter sound and momentarily turn off the camera LED.


Note 32-13: (CAMERA/Y2R) Changed the Initialize function's return value [SDK | System Updater]

Revised the Initialize function to return false when indicating that a camera or Y2R feature cannot be reused when it is already being used by another process.
You can only use such features when true is returned.


Note 32-14: (FS) Revised NAND and SD Memory Card error processing [System Updater]

Fixed bug where the system would freeze after failed access to NAND or SD Card memory.
This fix also applies to attempts to write to a write-protected SD Card.


Note 32-15: (HID) Revised the nn::fs::Directory::Read function [System Updater]

Fixed bug where the system would freeze if the nn::fs::Directory::Read function was run in a root directory with no entries.


Note 32-16: (FS) Revised sdmc: archives [SDK | System Updater]

Formerly, attempts to access locations higher than 4GB in SD Memory Cards would sometimes cause invalid accesses, resulting in data and format corruption.
This problem was fixed.


Note 32-17: (FS) Added save data support [SDK | System Updater]

Added the ability to access save data by specifying data:/... in the path.


Note 32-18: (FS) Added support for 8.3 filenames that only have lowercase characters [SDK | System Updater]

To support the extended FAT specifications for Windows, a long path name can now be obtained as expected for any file or directory having an 8.3 path name that contains only lowercase characters on an SD Memory Card.
Previously, all entry names were recognized as uppercase characters based on the standard specification of FAT.


Note 32-19: (FS) Added support for add-on data [System Updater]

Added the ability to access add-on data by specifying extdata:/... in the path.


Note 32-20: (GX) Changed LCD backlight-related settings [System Updater]

Updated the LCD backlight-related parameters so that the active backlight control features (which reduce power consumption) are enabled by default.
This active backlight control can be turned On/Off and the brightness level can be changed using the Config tool.


Note 32-21: (GX) Added the SetMemAccessPrioMode function [SDK | System Updater]

Added the SetMemAccessPrioMode function, which sets the access priority of the CPU and/or GPU when they access main memory.


Note 32-22: (GX) Fixed problem that caused vertical line noise to appear on screen [System Updater]

Fixed bug where vertical line noise would appear on screen when the CPU attempted a large number of main memory accesses while camera(s) or other devices were being used.
(Note that this problem may still occur depending on the settings of the SetMemAccessPrioMode function, added in this version.)


Note 32-23: (HTTP/SSL) Added support for internal certificates [System Updater]

Added support for device-internal CA and client certificates.
Also overhauled API functions for using these certificates.


Note 32-24: (MIDI) Added the MIDI library [SDK | System Updater]

Added the MIDI library.


Note 32-25: (NET) Added wireless On/Off features [System Updater]

Implemented feature to turn wireless on/off by pressing the Wi-Fi Button.
The wireless LED is lit when wireless is on, and blinks when a wireless signal is being sent.


Note 32-26: (OS) Fixed a bug where Wait* functions with a timeout would not return [System Updater]

There was a bug where control would not return when using the nn::os::WaitObject::Wait* functions with a timeout.
This problem has been corrected.


Note 32-27: (OS) Revised the order in which synchronous objects release threads [System Updater]

Fixed a bug where, when multiple threads were waiting for a single synchronous object, threads would not wake up in order of priority.


Note 32-28: (OS) Modified the length of time until power-off [System Updater]

Changed the length of time the Power Button must be held down before the system will power off.
Hold the Power Button down for at least 2 seconds to power off.
The system will power off 4 seconds after that.


Note 32-29: (SND) High-frequency sound when headphones are inserted [System Updater]

Fixed bug that produced a high-pitched whine while the headphone jack was inserted, which would continue if the jack was only inserted partway.


Note 32-30: (SND) Added a function for determining whether headphones have been inserted [SDK | System Updater]

Added the nn::snd::GetHeadphoneStatus function, which gets the headphone connection state.


Note 32-31: (Socket) Changed header files [SDK]

Socket headers previously depended on headers in nn/net and below, but this dependency has been removed.
In line with this change, symbols beginning with NSOC can no longer be used.

nn/net remains for compatibility purposes, but will be deleted in future.


Note 32-32: (Socket/UDS) Fixed problem where system would deadlock under high load [System Updater]

Fixed a bug where the system would deadlock when under load due to very frequent sending and receiving.


Note 32-33: (UDS) Added support for Audience mode [System Updater]

Added ability to connect to a UDS network as an audience member (spectator) by setting CONNECT_AS_AUDIENCE with the ConnectNetwork function.


Note 32-34: (UDS) Implemented EjectAudience function [System Updater]

The EjectAudience function has now been implemented and can be used. Formerly it had not actually been implemented within the library and would always return an error.


Note 32-35: (UDS) Fixed bug where SetApplicationDataToBeacon and GetApplicationDataFromBeacon functions could not set or get data [System Updater]

Fixed bug where data could not be set or obtained when setting arbitrary data to a beacon using the SetApplicationDataToBeacon function, or when getting data from a connected master beacon using the GetApplicationDataFromBeacon function.


Note 32-36: (UDS) Reduced processing load when receiving [System Updater]

Reduced processing load when receiving UDS communication.


Note 32-37: (ULCD) Added support for automatically disabling stereoscopic display [System Updater]

Added support to automatically turn the parallax barrier off and disable stereoscopic display when the 3D depth value is 0.


Note 32-38: (Y2R) Changed arguments to the SetDitheringWeightParam function [SDK | System Updater]

Changed the SetDitheringWeightParam function's arguments from pass-by-value to pass-by-reference.


Note 32-39: (Y2R) Added a stride argument to functions that transfer source data for conversion [SDK | System Updater]

Added the ability to specify an offset to the following function that transfers the source data for conversion. This offset value is added independently of the single-transfer size.

If the offset is omitted, this function will behave as it did with previous versions of the CTR-SDK.


Known Issues with SDK 0.10.0 Release System Updater


CTR-SDK Version 0.10.0 Release SampleDemos

(2010/06/23)


Note 31-01: (FS) Added features to the multifeature demos [Sample Demos]

One of the multifeature demos (demo1) has been modified to read and write save data (data:/).


Note 31-02: (GX) Sped up the ScreenCapture sample and fixed a bug in it [Sample Demos]

Writing to an SD Card in the ScreenCapture sample has been accelerated by 15-20% by using an intermediate buffer. (The caller must provide the intermediate buffer.)
The following bugs were also fixed.


Note 31-03: (GX) Added graphics demos [Sample Demos]

Added the following samples related to the graphics library.


Note 31-04: (HIO) Revised the PC-side HostIO sample [Sample Demos]

Changed the libraries used by the sample, in line with moving the PC-side HostIO library to the $(KMC_CTRHOSTIO)/SDK directory.


Note 31-05: (RDT) Added RDT sample demos [Sample Demos]

Added the basic sample demo, which uses the RDT library to perform very basic communication.


Note 31-06: (SND) Added sample demos [Sample Demos]

Added the following samples related to the SND library.


Note 31-07: (UGC) Added simple sample of the profanity-check library [Sample Demos]

Added the ngc_simple demo, which performs a profanity check without specifying a region.


Note 31-08: (UGC) Added simple sample of the blacklist library [Sample Demos]

Added the ubl_simple demo, which registers and checks author information.


Known Issues with SDK 0.10.0 Release Sample Demos


CTR-SDK Version 0.9.7 Release

(2010/05/26)


Known Issues in the SDK 0.9.7 Release


CTR-SDK Version 0.9.7 Release SystemUpdater

(2010/05/26)


Note 29-01: (SND) Improved sound pressure levels in headphone output and removed distortion [System Updater]

Fixed a bug that caused the audio output by headphones to be very quiet and/or distorted.


Known Issues with System Updater in the SDK 0.9.7 Release

  None.


CTR-SDK Version 0.9.6 Release

(2010/05/24)


Note 28-01: (GX) Fixed a bug in the texture cache flush [SDK]

There was a bug where the texture cache was not flushed correctly. This bug was introduced in the CTR-SDK 0.9.2, but has been fixed.


Known Issues with SDK 0.9.6 Release


CTR-SDK Version 0.9.6 Release SystemUpdater

(2010/05/24)


Note 27-01: (CAMERA/Y2R) Fixed a bug where function calls would not return [System Updater]

There was a bug where calling the following functions in the camera and y2r libraries would occasionally not return. This has been fixed.

There was a bug where calling the following functions in the camera library would occasionally not capture. This has been fixed.


Known Issues with System Updater in the SDK 0.9.6 Release

  None.


CTR-SDK Version 0.9.5 Release

(2010/05/20)


Note 26-01: (SND) Fixed a bug that occurred during a Voice volume change [SDK]

Fixed a bug that caused noise to occur if the volume changed from approximately 0.005 to a smaller value when the nn::snd::Voice class was used for playback.


Known Issues in the SDK 0.9.5 Release


CTR-SDK Version 0.9.4 Release

(2010/05/19)


Note 25-01: (SND) Fixed a Volume Mixer bug [SDK]

Fixed a bug in the SetVolume function (nn::snd::Voice) that caused noise to occur when there was a significant change in volume.


Known Issues in the SDK 0.9.4 Release


CTR-SDK Version 0.9.4 Release SystemUpdater

(2010/05/19)


Note 24-01: (MCU) Changed the 3D LED to always be illuminated [System Updater]

As a special measure for E3, changed the 3D LED to always be illuminated.


Note 24-02: (MCU) Fixed a bug that caused the volume to increase temporarily at indeterminate times [System Updater]

Fixed a bug that caused the volume to increase temporarily.


Note 24-03: (MCU) Fixed a bug that caused the power and LCDs to turn off, and resets to occur, at indeterminate times [System Updater]

Fixed a bug that caused the power and LCD to suddenly turn off and the system to reset.


Note 24-04: (MCU) Changed the time to power off when the Power Button is held down [System Updater]

As a special measure for E3, changed the Power Button to turn off the power when it is held down for one second.


Note 24-05: (OS) Fixed a bug that caused the firmware to halt when running for a long time [System Updater]

Fixed a bug that caused the firmware to halt after running for a long time.
When this bug occurs, execution halts with a red screen.


Known Issues with System Updater in the SDK 0.9.4 Release

  None.


CTR-SDK Version 0.9.3 Release

(2010/05/12)


Note 23-01: (GX) Added header files with macros for PICA register information [SDK]

Added a header file with macro definitions for addresses and other PICA register information based on the DMPGL 2.0 System API Specifications.
This is not linked by default and must be directly included if it is needed.


Note 23-02: (GX) Updated documentation [SDK]

Updated the following documentation. For details on what was updated, see each document's Revision History.


Note 23-03: (GX) Added a way to get the address of data for bound textures [SDK]

Added a new parameter, GL_TEXTURE_DATA_ADDR_DMP, that can be used with the glGetTexParameteriv function.
This gets the address of the bound texture object.
Set params equal to a 6-element array when target is GL_TEXTURE_CUBE_MAP. The params argument gets the following addresses in order: GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.


Note 23-04: (GX) Fixed a bug that prevented fixed vertex attributes from being updated properly when program objects were switched [SDK]

Fixed a bug that prevented fixed vertex attributes included in vertex data from being updated properly when program objects were switched.


Note 23-05: (GX) Added a way to get the address of vertex data for bound vertex buffer objects [SDK]

Updated the glGetBufferParameteriv function so that you can set pname equal to GL_BUFFER_DATA_ADDR_DMP to get the address of vertex data for the bound vertex buffer object.


Known Issues in the SDK 0.9.3 Release


CTR-SDK Version 0.9.3 Release SystemUpdater

(2010/05/12)


Note 22-01: (Miscellaneous) Fixed a bug that caused program execution to freeze in some environments [System Updater]

Fixed a bug that caused the application to freeze when it was started at particular times in some environments.


Known Issues with System Updater in the SDK 0.9.3 Release

  None.


CTR-SDK Version 0.9.2 Release

(2010/05/07)


Note 21-01: (CAMERA) Calibration data definitions for stereo cameras [SDK | System Updater]

Defined formats of calibration data required for correcting the position of stereo cameras and added functions to access data.
The following functions were added.


Note 21-02: (GX) Updated the DMPGL documentation [SDK]

Updated the following documents.


Note 21-03: (GX) Removed error checks for Release builds [SDK]

Revised each of the GL and NNGX functions to prevent GL errors from occurring in Release builds.
(Behavior is undefined when a process causes an error.)


Note 21-04: (GX) Fixed bugs in glFramebufferRenderbuffer [SDK]

Fixed a bug that prevented an error from occurring when a depth buffer was attached to a color attachment point (GL_COLOR_ATTACHMENT0).
(A GL_INVALID_OPERATION error is generated.)


Note 21-05: (GX) Fixed a problem that caused invalid format recognition when glTexImage2D was called multiple times [SDK]

Fixed a bug that prevented the correct format from being recognized when glTexImage2D was called multiple times with only the type argument changed.


Note 21-06: (GX) Added the nngxGetCommandGenerationMode function [SDK]

Added a new function to get the current command output mode (set by the nngxSetCommandGenerationMode function).


Note 21-07: (GX) Fixed a bug that caused only 239 lines to be displayed on the lower screen [SDK]

Fixed a bug that prevented the bottom line of pixels from being displayed on the lower screen of the TS board.


Note 21-08: (GX) Fixed a bug that caused execution to hang when no vertex attributes used vertex arrays [SDK]

Fixed a problem that caused the GPU to hang when every vertex attribute used was a constant (specified by glVertexAttrib*).


Note 21-09: (HID) Added support for the Classic Controller PRO for development tools [SDK]

Added support for the Classic Controller PRO for development tools.
You can only use this controller if it is connected to a TS board when the system starts up.
You can get input values with the DebugPadReader class.
The analog sticks are calibrated at startup and when the following buttons are pressed simultaneously.

Do not touch the Slide Pad while it is being calibrated.


Note 21-10: (SND) Fixed sound distortion [SDK]

Fixed a problem that caused distorted sounds to be played back.


Note 21-11: (SND) Fixed a bug that caused all sound playback to stop when neither a loop or buffer jump was specified [SDK]

Fixed a bug that caused all voices to stop during DSP sound playback if there is no specified loop or buffer jump.


Note 21-12: (TOOL) Added DevMenu [SDK]

Added the DevMenu tool, which can import and execute CIA files from an SD Card.


Note 21-13: (TOOL) Updated the shader assembly language [SDK]

Changed the shader assembly language as follows.


Note 21-14: (ULCD) Changed prerequisites [SDK]

Adjusted the following conditions assumed by internal library calculations.
These values have not been set in stone and may be fine-tuned later.


Note 21-15: (ULCD) Added macro definitions that specify the display in autostereoscopic mode [SDK]

Defined different, easy-to-understand macro names that specify the display to bind when autostereoscopy is in use.
(The existing macros can also be used as before.)


Known Issues with SDK 0.9.2 Release


CTR-SDK Version 0.9.2 Release: SystemUpdater

(2010/05/07)


Note 20-01: (OS) Added support for debugging CIA files [System Updater]

The debugger can now import and debug CIA files.
To use this feature, you need PARTNER-CTR/S version 2010/05/06 or later.
However, the CIA import feature in PARTNER-CTR/S version 2010/05/06 is still in evaluation; official support is planned for the next release of PARTNER-CTR/S.


Note 20-02: (OS) Fixed a bug that caused the debugger to hang when loading a process [System Updater]

Fixed a bug that caused the debugger to hang while loading applications that run together with multiple processes.


Note 20-03: (UDS) Fixed a bug that prevented Client nodes from reconnecting [System Updater]

Fixed a bug that prevented Client nodes from reconnecting under particular conditions.


Note 20-04: (UDS) Fixed a bug that corrupted Master management data when a Client failed to connect [System Updater]

Fixed a bug that was found to corrupt some network management data held by the Master node when a Client node failed to connect.


Known Issues with System Updater in SDK 0.9.2 Release

  None.


CTR-SDK Version 0.9.2 Release SampleDemos

(2010/05/07)


Note 19-01: (GX) Added ScreenCapture sample demos [Sample Demos]

Added ScreenCapture samples that output the content of the specified display buffer to an SD Card.


Known Issues with SDK 0.9.2 Release Sample Demos


CTR-SDK Version 0.9.1 Release

(2010/04/23)


Note 18-01: (OS) Fixed bugs for file read and write operations [SDK]

Fixed a bug that caused the following symptoms when the file system was used to perform a read or a write operation of data of certain sizes to or from certain addresses.


Note 18-02: (SND) Changed the DSP sound specifications [SDK]

The update period for sound parameters was changed to approximately 5 milliseconds.
The maximum number of allocatable voices has also been changed to 24.


Note 18-03: (TOOL) Added ctr_makesimplecia32.exe [SDK]

Added the ctr_makesimplecia32.exe tool, which is used to generate .cia files.
In the future, .cia files will be used to import NAND applications. However, data in this format cannot yet be used.


Note 18-04: (UDS) Revised the nn::uds::Finalize function to finalize status update events [SDK]

The nn::uds::Finalize function has been revised so that it now finalizes status update events that were initialized using nn::uds::Initialize.


Note 18-05: (UDS) Eliminated use of std::vector by the library [SDK]

It was discovered that the UDS library used std::vector. The library has been revised to eliminate its use of std::vector.


Known Issues with SDK 0.9.1 Release


CTR-SDK Version 0.9.1 Release SystemUpdater

(2010/04/23)


Note 17-01: (OS) Revised adjustments for LCD flickering [System Updater]

CTR-SDK 0.9 used a different adjustment value for flickering than the previously released SDKs did.
This adjustment value was revised to fix a bug that caused vertical stripes to appear on the LCDs.
However, please note that this value is just an average. If you want to use values that are customized for each system, you will need to run the Config tool and select the ResetSetting option.
After running the Config tool, use the sliding-type power switch on the TEG2 or TS board to power cycle the board. The setting will be applied once the board is powered back on.
With the TS board, the setting will not be applied if the slider to the left of the coin battery is set to the Batt position.
In this case, move the switch to the 4V position and restart the system.


Note 17-02: (SOCKET) Revised the socket startup and finalization [System Updater]

Fixed a bug that caused the socket library to halt if the startup and finalization for sockets were handled directly (without using the AC library), and finalization was initiated shortly after initialization.


Note 17-03: (SOCKET) Revised the packet-sending operation [System Updater]

Fixed a bug that caused invalid regions to be accessed when sending packets.


Known Issues with SDK 0.9.1 Release System Updater

  None.


CTR-SDK Version 0.9.1 Release SampleDemos

(2010/04/23)


Note 16-01: (DEMO) Fixed bugs related to double-buffering of the display buffer [Sample Demos]

Fixed a bug with the lib_demo library used by the SampleDemos package. This bug caused only one of the display buffers to be shown for the right eye and the lower LCD.


Known Issues with SDK 0.9.1 Release Sample Demos


CTR-SDK Version 0.9.0 Release

(2010/04/14)


Note 15-01: (AC) Added AC library [SDK | System Updater]

Added the AC (auto-connection) library and demos.
This library is not supported by CTR-SDK 0.9.


Note 15-02: (CAMERA) Added support for the second outer camera [SDK | System Updater]

With prior versions, only one of the outer cameras could be used, but this update adds support to the CAMERA library for using the second outer camera.
In line with this change, the following functions were changed to add a port argument.

With this added support, SELECT_ALL now specifies the use of the inner camera and outer cameras 1 and 2.
Consequently, the former meaning of SELECT_ALL can now be specified using SELECT_IN1_OUT1 instead. Please change affected code accordingly.
On boards that do not have stereo cameras, this feature cannot be used, so do not use any settings that include outer camera 2 in the above functions.


Note 15-03: (CAMERA) Revised the CAMERA library configuration functions [SDK | System Updater]

Revised the FlipImage function for flipping images, inverting the left-right flip for the specified value.
The revised Flip enumerated type and image orientation correspond as follows.

Flip enumerated type: Image orientation
------------------------------
FLIP_NONE: Normal
FLIP_HORIZONTAL: Mirrored
FLIP_VERTICAL: Flipped top to bottom
FLIP_REVERSE: Mirrored, then flipped top to bottom

With this change, the Flip enumerated type matches the CAMERAFlip enumerated type used in the TWL-SDK.


Note 15-04: (CAMERA) Revised CAMERA AC library functions [SDK | System Updater]

The maximum values returned by the GetMaxBytes and GetMaxLines functions previously equaled to the buffer size, but these are now half of the buffer size in order to help prevent buffer errors.


Note 15-05: (CAMERA) Revised reference for nn::camera::CTR::FrameRate [SDK]

Despite being able to capture at 30 fps at sizes larger than QVGA, the reference page stated otherwise. This description has been removed.


Note 15-06: (CAMERA) Adjusted the camera image quality [SDK | System Updater]

Adjusted the contrast parameter set by the SetContrast function.
Image quality when contrast has been adjusted is therefore different from that in CTR-SDK 0.8.
The default contrast is the same as CTR-SDK versions 0.8 and earlier.
In line with this change, the setting values corresponding to the Contrast enumerated type's CONTRAST_HIGH and CONTRAST_LOW have also been changed.


Note 15-07: (CAMERA) Added image data auto-receive configuration functions [SDK | System Updater]

Added SetReceivingAuto, SetReceivingRgbAuto, StopReceivingAuto, and StopReceivingRgbAuto functions to set and stop automatic reception of camera image data.


Note 15-08: (CECD) Added Chance Encounter Communication daemon (alpha version) [SDK]

Added the cecd Chance Encounter Communication daemon and the API to access it.
This only provides the API to save and get data.
There are currently the following restrictions.


Note 15-09: (DBG) Debugger output, ASSERT enable / disable switch [SDK]

Changed build system to allow for enabling/disabling debug output and ASSERTs/WARNINGs regardless of build type.
However, the debug output and ASSERTs/WARNINGs used internally by the SDK cannot be enabled or disabled.
Specifying DEBUG_PRINT=true to the macro enables NN_LOG, and specifying DEBUG_PRINT=false leaves NN_LOG empty.
Specifying ASSERT_WARNING=true to the macro enables NN_*ASSERT/NN_WARNING, and specifying ASSERT_WARNING=false leaves NN_*ASSERT/NN_WARNING empty.

Example: omake BUILD=release DEBUG_PRINT=false ASSERT_WARNING=true


Note 15-10: (DEMO) Moved the demo library [SDK | Sample Demos]

Changed the nn::demo library class structure, and moved to the SampleDemos/common directory as the lib_demo library.
We plan to remove the previous demo library in the next release.
In this transition period, we have included just the demo library itself and the header files, and have deprecated the function reference and documentation.
Be aware of the following points when transitioning from the nn::demo to the lib_demo library.


Note 15-11: (DSP) Moved header files [SDK]

Categorized dsp header files and moved to sub-directories named MPCore and Common.


Note 15-12: (DevEnv) Added --gnu option [SDK]

Added --gnu option for Release and Development builds.
This --gnu option was not added for Debug builds.


Note 15-13: (DevEnv) Changed to -Otime [SDK]

In the past, size was prioritized during optimization even for fast builds. This was changed to instead prioritize speed during optimization.
A small build still optimizes for size.


Note 15-14: (DevEnv) Added TS board support [SDK | System Updater]

Added support for running on a TS board.


Note 15-15: (DevEnv) Added Windows 7 64-bit OS support [SDK]

Added support for developing CTR applications in a Windows 7 64-bit environment.


Note 15-16: (DevEnv) Changed version.h [SDK]

Added NN_VERSION_MICRO, NN_VERSION_RELSTEP, and NN_VERSION_PATCH to version.h, and commented out the unneeded NN_VERSION_DATE and NN_VERSION_TIME.


Note 15-17: (DevEnv) Added BOM to source code [SDK]

Added a UTF-8 BOM to CTR-SDK header and source code files.


Note 15-18: (DevEnv) Changed dependency analysis [SDK]

Rebuilding modified source files sometimes would fail previously. This bug has been fixed.
In line with this change, build times are now slightly longer.


Note 15-19: (DevEnv) Restricted function call optimization [SDK]

Function call optimizations are now restricted in order to improve call stack display in the debugger.
Specifically, we added a --retain=calls compiler option for non-Release builds.


Note 15-20: (FND) Added features to nn::fnd::DateTime class [SDK]

Added features to the nn::fnd::DateTime class required to handle date and time.


Note 15-21: (FND) Added nn::fnd::DateTimeParameters [SDK]

Added nn::fnd::DateTimeParameters as a structure that can represent an individual date and time value separate from the nn::fnd::DateTime class.


Note 15-22: (FS) Revised ROMFS file alignment [SDK]

Changed ROMFS creation using makerom to make file data 4-byte aligned.


Note 15-23: (FS) Added nn::fnd::Directory class [SDK]

Added nn::fs::Directory for scanning files and directories located in a directory.


Note 15-24: (FS) Changed nn::fnd::DirectoryEntry structure member size [SDK]

Changed the nn::fs::DirectoryEntry structure's entrySize member type from a u32 to an s64.


Note 15-25: (GX) Fixed a bug where no command would be generated for the viewport during NN_GX_STATE_OTHERS validation [SDK]

Fixed a bug where no command would be generated for the glViewport function when validating with NN_GX_STATE_OTHERS specified for the command cache feature's state.


Note 15-26: (GX) Added TS features (texture processing) [SDK]

Added the following features, only for TS boards.


Note 15-27: (GX) Added TS features (fragment lighting) [SDK]

Added the following features, only for TS boards.


Note 15-28: (GX) Fixed a bug relating to dmp_LightEnv.bumpRenorm, dmp_LightEnv.bumpMode [SDK]

Fixed a bug where lighting would not work properly when dmp_LightEnv.bumpRenorm is set to GL_FALSE and dmp_LightEnv.bumpMode is set to GL_LIGHT_ENV_BUMP_NOT_USED_DMP.


Note 15-29: (GX) Fixed a bug in glFramebufferTexture2D function error check [SDK]

Fixed a bug where no error would occur even when the texture specified in a call to the glFramebufferTexture2D function has the data transfer pattern of having no copy in main memory and with the GPU accessing main memory.


Note 15-30: (GX) Relaxed error checking in the nngxAdd3DCommand [SDK]

Changed the specifications for the nngxAdd3DCommand function to raise no error if the buffersize argument is a multiple of 4 when GL_TRUE is specified for the copycmd argument.


Note 15-31: (GX) Changed the nngxCopyCmdlist function to allow copying to a command list that is waiting [SDK]

The nngxCopyCmdlist function would previously result in an error if the the nngxRunCmdlist function was called and the copy destination command list was in a waiting state unless the state was reset using the nngxClearCmdlist function.
Now this restriction is only effective during execution (while the GPU is actually processing the command).
Copying is allowed even while execution is halted with the nngxStopCmdlist function.


Note 15-32: (GX) Fixed a bug in the nngxCopyCmdlist function where command counters were not cleared after execution [SDK]

A portion of the internal state of a destination command list was previously retained despite copying and overwriting when using a command list copied using the nngxCopyCmdlist function.
The counter from previous completed executions would remain, such that the copied commands would not run. This bug has been fixed.


Note 15-33: (GX) Deprecated the nngxReserveSwapBuffers function [SDK]

Deprecated the nngxReserveSwapBuffers function, as the nngxSwapBuffers function has equivalent functionality.


Note 15-34: (GX) Added error check to the nngxSwapBuffers function [SDK]

Changed specifications to raise a GL_ERROR_8053_DMP error if the specified display buffer address is not 16-byte aligned after calculating all the settings from nngxDisplayEnv and other functions.


Note 15-35: (GX) Added functions for command cache feature [SDK]

Added nngxAddCmdlist function, which appends a copy of a command list object rather than overwriting, and the nngxGetUpdatedStatus function, which gets the current updated graphics state.


Note 15-36: (GX) Added ability to specify only a part of a data transfer pattern [SDK]

The data transfer pattern was specified by the bitwise OR as the first argument of the glBufferData and other functions, and it included both whether data could be duplicated to the main memory and whether the GPU should access main memory or VRAM. Previously, it was required to explicitly specify both, but now it is also possible to specify only one or the other.
The unspecified pattern will default to the value described in the function reference and in $CTR_SDK/documents/DMPGL20/DMPGL20_load_pattern_setting.pdf.


Note 15-37: (GX) Optimized geometry shader for lines that only have vertex attributes [SDK]

Fixed unintended implementation of DMP_stripLine0.obj.
The geometry shader is not designed to work correctly if the number of output vertex shaders is greater than the attribute count (number of files) input for the geometry shader. However, this was not true with the line shader.


Note 15-38: (GX) Fixed an error check bug when 0 is specified for the data when creating a vertex buffer [SDK]

Fixed a bug where no error would occur even when the data address was NULL for the vertex buffer in the data transfer pattern where a copy is created in main memory and the GPU is accessing the VRAM.


Note 15-39: (HID) Clamping touch panel input [SDK]

Added a 5-pixel clamp to the outer edge of the touch panel, where it is difficult to touch the screen with the stylus.
Touching outside this border returns coordinates for inside the border.
In line with this change, the obtainable coordinates are now as follows.


Note 15-40: (HIO) Added samples and documentation for the HIO library [SDK]

Added HIO library samples and documentation.


Note 15-41: (HIO) Revised host-side file operations [SDK]

It is no longer required to explicitly open a channel for host-side file operations.
In line with this change, the following has also changed.


Note 15-42: (HIO) Added functions and classes to support wide-character strings [SDK]

Added functions and classes for handling wide-character strings.


Note 15-43: (SSL) Added the HTTP library [SDK | System Updater]

Added the HTTP library and demos.
This library is not supported by CTR-SDK 0.9.


Note 15-44: (JPEG) Added the JPEG codec library [SDK]

Added a library for encoding and decoding JPEG files.
These functions are not supported by CTR-SDK 0.9.


Note 15-45: (MATH) Added the MATH library functions [SDK]

Added the following functions to the MATH library.


Note 15-46: (MATH) Fixed bugs in SinFIdx, CosFIdx, SinCosFIdx functions [SDK]

Fixed a bug where the above functions would return incorrect values.


Note 15-47: (MATH) Made the math API inline [SDK]

Changed the math library to use the inline modifier by default for vector and matrix calculation functions.


Note 15-48: (MATH) Added member functions to the matrix and vector classes [SDK]

Added API similar to the member functions of the MATH library's matrix and vector classes.


Note 15-49: (MATH) Optimized by rewriting (some) functions in assembler [SDK]

Rewrote MTX33Mult, MTX34Mult, MTX34Copy, and Hermite functions in assembler to optimize speed.
Assembler versions are used by default.
The C-language versions can be used by explicitly calling the function name with C appended.
(Example: MTX33MultC)


Note 15-50: (OS) Fixed a bug when specifying sizes in excess of 8MB when calling the nn::init::InitializeAllocator function [SDK]

Fixed a bug where operations would become unstable when specifying a value greater than 8MB in a call to the nn::init::InitializeAllocator function.


Note 15-51: (OS) Changed specifications for the nninitStaticInit function [SDK]

The nninitStaticInit function was defined as a standard weak symbol function, but this was changed to match the NITRO and TWL-SDK specifications.


Note 15-52: (OS) Changed the program initialization sequence [SDK]

It was previously required to call the nn::os::Initialize function when replacing the nninitStartUp function with a user-defined function. This was changed so that nn::os::Initialize is called before nninitStartUp.


Note 15-53: (OS) Added high-speed synchronization mechanisms [SDK | System Updater]

Added LightSemaphore, LightEvent, and LightBarrier classes as high-speed synchronization mechanisms with no restrictions on how many can be used.


Note 15-54: (SND) Fixed a bug when specifying a pitch higher than 14 during ADPCM playback [SDK]

Fixed a bug where specifying a pitch greater than 14 would produce noise when playing back from an ADPCM sound source.


Note 15-55: (SND) Added Aux bus [SDK]

Added Aux bus and related features and parameters.


Note 15-56: (SND) Added functions to set and get DSP cycle count [SDK]

Added functions related to DSP cycle count.


Note 15-57: (SND) Changed nn::snd::MixParam structure format [SDK]

Changed the nn::snd::MixParam structure format.
Increased the channels to 4. However, as of the CTR-SDK 0.9 release, the REAR_LEFT and REAR_RIGHT channels are not yet supported, and specifying them will have no effect on processing.


Note 15-58: (SND) Fixed a bug where execution would not finish even after reaching the end of a sample [SDK]

During a loop playback of a small amount of audio data (not necessarily a short sample length), clearing the loop flag and finishing playback without a buffer jump would cause a bug where playback would continue even after reaching the end of the sample. This has been fixed.


Note 15-59: (SND) Changed parameter default values [SDK]

Changed the default snd parameter to an appropriate value.
See the related function references for details.


Note 15-60: (SND) Moved header files [SDK]

Categorized snd header files and moved to sub-directories named MPCore and Common.


Note 15-61: (SND) Fixed a bug in releasing voice buffers [SDK]

Fixed a bug where releasing buffers managed by a voice (such as the Voice::Stop or nn::snd::FreeVoice functions) would not work properly.


Note 15-62: (SND) Optimized the library [SDK]

Optimized the library, reducing processing overhead.


Note 15-63: (SND) Fixed a bug that would occur when clearing loop flag during loop playback [SDK]

There was a bug where clearing a loop flag during loop playback and then performing a buffer jump would sometimes result in the buffer jump not occurring and the playback buffer ceasing to exist, depending on when the loop flag is cleared.
This bug has been fixed.


Note 15-64: (SND) Added features to set and get interpolation method [SDK]

Added functions to set and get the interpolation method.


Note 15-65: (SOCKET) Added the socket library [SDK | System Updater]

Added the socket library and demos.
This library is not supported by CTR-SDK 0.9.


Note 15-66: (SSL) Added the SSL library [SDK | System Updater]

Added the SSL library and demos.
This library is not supported by CTR-SDK 0.9.


Note 15-67: (TOOL) Added the Config tool [SDK]

Added the Config tool ($CTR_SDK/tools/TargetTools/CTR-T*/Release/Config.csu) for configuring system setting initialization and HID calibration.
Added documentation for the Config tool.


Note 15-68: (UDS) Added the UDS library [SDK | System Updater]

Added the UDS (local communication) library and demos.


Note 15-69: (ULCD) Added the autostereoscopy feature (API to change LCD mode and the LUCD library) [SDK]

Added API to switch LCD modes, as required to implement autostereoscopy on the CTR.
Also added the ULCD library for creating the different images for the left and right eyes needed for 3D.
In line with this change, also added library documentation.


Note 15-70: (Y2R) Revised the Y2R library functions [SDK]

Fixed a bug in the SetDitheringWeightParams function where only patterns 0 and 1 of the 0-3 dithering weights could be set. All four are now usable.


Note 15-71: (Y2R) Added a stride argument to functions that transfer source data for conversion [SDK | System Updater]

Added the ability to specify an offset to the following functions that transfer the source data for conversion. This offset value is added independently of the single-transfer size.
If the offset is omitted, these functions will behave as they did with previous versions of the CTR-SDK.


Known Issues with SDK 0.9.0 Release


CTR-SDK Version 0.9.0 Release SystemUpdater

(2010/04/14)


Note 14-01: (AC) Added AC library [SDK | System Updater]

Added the AC (auto-connection) library and demos.
This library is not supported by CTR-SDK 0.9.


Note 14-02: (CAMERA) Added support for the second outer camera [SDK | System Updater]

With prior versions, only one of the outer cameras could be used, but this update adds support to the CAMERA library for using the second outer camera.
In line with this change, the following functions were changed to add a port argument.

With this added support, SELECT_ALL now specifies the use of the inner camera and outer cameras 1 and 2.
Consequently, the former meaning of SELECT_ALL can now be specified using SELECT_IN1_OUT1 instead. Please change affected code accordingly.
On boards that do not have stereo cameras, this feature cannot be used, so do not use any settings that include outer camera 2 in the above functions.


Note 14-03: (CAMERA) Revised the CAMERA library configuration functions [SDK | System Updater]

Revised the FlipImage function for flipping images, inverting the left-right flip for the specified value.
The revised Flip enumerated type and image orientation correspond as follows.

Flip enumerated type: Image orientation
------------------------------
FLIP_NONE: Normal
FLIP_HORIZONTAL: Mirrored
FLIP_VERTICAL: Flipped top to bottom
FLIP_REVERSE: Mirrored, then flipped top to bottom

With this change, the Flip enumerated type matches the CAMERAFlip enumerated type used in the TWL-SDK.


Note 14-04: (CAMERA) Revised CAMERA AC library functions [SDK | System Updater]

The maximum values returned by the GetMaxBytes and GetMaxLines functions previously equaled to the buffer size, but these are now half of the buffer size in order to help prevent buffer errors.


Note 14-05: (CAMERA) Adjusted the camera image quality [SDK | System Updater]

Adjusted the contrast parameter set by the SetContrast function.
Image quality when contrast has been adjusted is therefore different from that in CTR-SDK 0.8.
The default contrast is the same as CTR-SDK versions 0.8 and earlier.
In line with this change, the setting values corresponding to the Contrast enumerated type's CONTRAST_HIGH and CONTRAST_LOW have also been changed.


Note 14-06: (CAMERA) Added image data auto-receive configuration functions [SDK | System Updater]

Added SetReceivingAuto, SetReceivingRgbAuto, StopReceivingAuto, and StopReceivingRgbAuto functions to set and stop automatic reception of camera image data.


Note 14-07: (DevEnv) Added TS board support [SDK | System Updater]

Added support for running on a TS board.


Note 14-08: (FS) Fixed FATFS access bug [System Updater]

Fixed a bug where files and directories on a FATFS could not be accessed.


Note 14-09: (FS) Added DMA support for NAND/SD Memory Cards [System Updater]

Added DMA transfer support for access to NAND and SD Memory Cards.


Note 14-10: (FS) Implemented directory scans in ROM [System Updater]

Implemented the directory scanning via an nn::fs::Directory object also for the directories in ROM that can be accessed using "rom:".


Note 14-11: (GX) Removed alignment restrictions during VRAM transfers [System Updater]

When transferring vertex data or textures to VRAM in DMPGL2.0, in addition to the restrictions described in the specification, data addresses had to be 8-byte aligned. This additional restriction has been removed.


Note 14-12: (GX) Fixed a bug in the lower-screen swap buffer [System Updater]

Fixed a bug where Display 1 (the lower screen) could skip a frame, depending on when the nngxSwapBuffers function is called.


Note 14-13: (HID) Revised the Reader function of TouchPanelReader [System Updater]

Fixed a bug where the X coordinate reported using the TouchPanelReader class's Reader function could be invalid when called at the moment the touch panel is touched.


Note 14-14: (SSL) Added the HTTP library [SDK | System Updater]

Added the HTTP library and demos.
This library is not supported by CTR-SDK 0.9.


Note 14-15: (OS) Revised the nn::os::Timer::ClearSignal function [System Updater]

Fixed a memory leak in the nn::os::Timer::ClearSignal function.


Note 14-16: (OS) Set upper limit on number of threads [System Updater]

Raised the limit to 32 for the number of threads an application can run at any one time.


Note 14-17: (OS) Fixed a bug where debugger would fail to load cci files [System Updater]

Fixed a bug where the debugger would display a command error and fail when loading cci files.


Note 14-18: (OS) Fixed a bug where hard breaks would not be possible after setting a breakpoint in the debugger [System Updater]

Fixed a bug in the debugger where performing a hard break when a breakpoint address is being executed would cause the debugger to freeze.


Note 14-19: (OS) Modified the debugger exception notifications [System Updater]

Changed code so the debugger is notified of undefined command exceptions and prefetch aborts.


Note 14-20: (OS) Fixed mutual exclusion bug in the firmware [System Updater]

There was a bug in mutual exclusion in the firmware that, in rare cases, could cause various issues such as threads not starting or access exceptions occurring.
This problem was fixed.


Note 14-21: (OS) Fixed a bug where cycle timer cycles got longer [System Updater]

Fixed a bug where the cycles set using the nn::os::Timer::StartPeriodic or nn::os::Alarm::SetPeriodic functions would become longer than the specified value.


Note 14-22: (OS) Added high-speed synchronization mechanisms [SDK | System Updater]

Added LightSemaphore, LightEvent, and LightBarrier classes as high-speed synchronization mechanisms with no restrictions on how many can be used.


Note 14-23: (SND) Fixed a bug where volume was too low [System Updater]

In CTR-SDK 0.8, there was a bug where sound volumes would be around half the levels expected for CTR-SDK 0.7 and earlier.
This bug has been fixed.


Note 14-24: (SND) Fixed a bug where volume + / - symbols were backwards [System Updater]

Fixed a bug where the volume + / - symbols were backwards.


Note 14-25: (SOCKET) Added the socket library [SDK | System Updater]

Added the socket library and demos.
This library is not supported by CTR-SDK 0.9.


Note 14-26: (SSL) Added the SSL library [SDK | System Updater]

Added the SSL library and demos.
This library is not supported by CTR-SDK 0.9.


Note 14-27: (UDS) Added the UDS library [SDK | System Updater]

Added the UDS (local communication) library and demos.


Note 14-28: (Y2R) Added a stride argument to functions that transfer source data for conversion [SDK | System Updater]

Added the ability to specify an offset to the following functions that transfer the source data for conversion. This offset value is added independently of the single-transfer size.
If the offset is omitted, these functions will behave as they did with previous versions of the CTR-SDK.


Known Issues with SDK 0.9.0 Release System Updater

  None.


CTR-SDK Version 0.9.0 Release SampleDemos

(2010/04/14)


Note 13-01: (DEMO) Moved the demo library [SDK | Sample Demos]

Changed the nn::demo library class structure, and moved to the SampleDemos/common directory as the lib_demo library.
In line with this change, the released function reference and documentation has been deprecated.
Be aware of the following points when transitioning from the nn::demo to the lib_demo library.


Note 13-02: (GX) Changed graphics demos [Sample Demos]

Added / removed the following graphics demos.


Note 13-03: (GX) Changed vertex shader assembly code for sample demos [Sample Demos]

Fixed double-writing to output register in the vertex shader assembly language (VSH files) included in the sample demos under the gx directory.


Note 13-04: (GX) Added two types of samples for fragment lighting [Sample Demos]

Added the following sample demos under the gx/DMPGL directory.


Note 13-05: (SND) Changed sample demos [Sample Demos]

Changed SimplePlayer's wav sound source.


Note 13-06: (SND) Added sample demos [Sample Demos]

Added AuxBusSample demo showing delay effects (BusA) and sine wave synthesis (BusB) using AuxBus.


Note 13-07: (ULCD) Added ULCD sample demos [Sample Demos]

Added ulcd/Simple and ulcd/RealMode as ULCD sample demos.


Note 13-08: (Other) Changed demo1 [Sample Demos]

Changed demo1 so features were not mutually dependent, allowing each to operate independently.


Note 13-09: (Other) Deleted using namespace declaration from sample demos [Sample Demos]

Removed using namespace declaration from sample demos, and now the demo uses explicit specification of namespaces that was previously omitted.


Known Issues with SDK 0.9.0 Release Sample Demos


CTR-SDK Version 0.8.3 Release

(2010/03/15)


Note 12-01: Note 12-01: (DEMO) Revised the internal operations of the nn::demo::RunCmdlistDone function [SDK]

This function has been revised following the addition of the nngxWaitCmdlistDone function, which waits for the CPU to finish running a command list.


Note 12-02: (DEMO) Replaced the nngxReserveSwapBuffers function with the nngxSwapBuffers function [SDK | Sample Demos]

The nngxReserveSwapBuffers function has been replaced with the nngxSwapBuffers function in anticipation of its future elimination from the SDK.


Note 12-03: (GX) Updated the DMPGL documentation [SDK]

Made the following document revisions.


Note 12-04: Note 12-04: (GX) Fixed a bug related to dmp_Texture*.samplerType switching [SDK]

Fixed a bug that caused cube map textures to remain enabled even after one of the dmp_Texture*.samplerType reserved uniforms was changed from a cube map setting (like GL_TEXTURE_CUBE_MAP) to a 2D texture (like GL_TEXTURE_2D).


Note 12-05: (GX) Fixed a bug involving setting the alpha component with the glBlend* functions [SDK]

Fixed a bug that prevented alpha components from being set properly with the glBlendEquation and glBlendEquationSeparate functions.


Note 12-06: (GX) Fixed bugs in glBufferData function [SDK]

Fixed a bug that prevented an error from being detected if the data argument was NULL(0) when NN_GX_MEM_FCRAM | GL_NO_COPY_FCRAM_DMP was specified for the glBufferData function.


Note 12-07: (GX) Fixed bugs in glBufferSubData function [SDK]

Fixed a bug that caused validity checks on the data argument to be skipped if NN_GX_MEM_FCRAM | GL_NO_COPY_FCRAM_DMP was specified for the glBufferSubData function.


Note 12-08: (GX) Changed glBufferSubData function specifications [SDK]

With previous versions of the SDK, using the "no copy in the main memory (FCRAM) and PICA accessing the main memory" as the method to load the target vertex buffer would cause a GL_INVALID_OPERATION error. The specifications have now been changed so that the cache for the specified partial region is flushed.


Note 12-09: (GX) Fixed bugs in the glLinkProgram function [SDK]

Fixed a bug that caused the program not to be updated correctly if the current program that was set with the glUseProgram function was relinked with the glLinkProgram function.

Fixed another bug that caused the program not to be updated correctly in the following sequence of events: (1) the glDetachShader or glAttachShadershader function was used to switch the shader of the current program that was set with the glUseProgram function, after which (2) the glUseProgram function was used to switch to another program without first relinking using the glLinkProgram function.


Note 12-10: Note 12-10: (GX) Added a parameter obtained by the nngxGetCmdlistParameteri function [SDK]

Added two additional definitions for the param argument to the nngxGetCmdlistParameteri function: NN_GX_CMDLIST_TOP_BUFADDR and NN_GX_CMDLIST_BINDING.


Note 12-11: (GX) Fixed issues with the error detection of the nngxInitialize function [SDK]

Fixed a bug that caused failed initializations not to be detected if the nngxInitialize function failed to allocate memory.


Note 12-12: (GX) Changed the nngxReserveSwapBuffers function to be equivalent of the nngxSwapBuffers function [SDK]

A bug was found in the nngxReserveSwapBuffers function, and its functionality is already provided by the nngxSwapBuffers function, so it will be removed from the SDK in the future.
To facilitate a transition period, this function now serves as a wrapper for the nngxSwapBuffers function.
This function will be removed in the next release of the CTR-SDK.


Note 12-13: (GX) Revised the error checking of the nngxTransferRenderImage and nngxSwapBuffers functions [SDK]

Fixed a bug that prevented errors from being detected if an application used a display buffer that hadn't been allocated by the nngxTransferRenderImage or nngxSwapBuffers functions.


Note 12-14: (GX) Changed specifications for the command cache feature [SDK]

Overhauled the command cache system.
As a result of the specification changes, the "command cache" feature has been renamed the "state cache," and the following functions have been added.

Note that the functions that relate to this feature may be changed in a future release.


Note 12-15: (GX) Changed the timing when command lists are destroyed and cleared [SDK]

It is now possible for the nngxDeleteCmdlist and nngxClearCmdlist functions to delete or clear command lists without generating errors, even if the command list still contains unexecuted commands.


Note 12-16: (GX) Added a function that waits until a command list finishes executing [SDK]

Added the nngxWaitCmdlistDone function, which waits until a command list finishes executing.


Note 12-17: (GX) Changed the timing when command completion interrupt handlers are registered and disabled [SDK]

It is now possible to call the nngxEnableCmdlistCallback and nngxDisableCmdlistCallback functions on command lists that are still being executed.


Note 12-18: (GX) Added system API error codes [SDK]

Changed the errors returned by the system API (the functions with the "nngx" prefix) from GL error codes to extended error codes.


Note 12-19: (GX) Fixed a bug in procedural textures [SDK]

Fixed a bug that caused the delta values (indicating the deltas between adjacent entries) in the noise modulation lookup table for procedural textures not to contain the expected values.


Note 12-20: (TOOL) Updated the shader assembly language [SDK]

Changed the shader assembly language as follows.


Known Issues with SDK 0.8.3 Release

  None.


CTR-SDK Version 0.8.3 Release SampleDemos

(2010/03/15)


Note 11-01: (DEMO) Replaced the nngxReserveSwapBuffers function with the nngxSwapBuffers function [SDK | Sample Demos]

The nngxReserveSwapBuffers function has been replaced with the nngxSwapBuffers function in anticipation of its future elimination from the SDK.


Note 11-02: (GX) Revised the GasCessna sample [Sample Demos]

Although the Cessna model did not contain any texture coordinates or tangent data, this demo had a shader that used these vertex attributes.
This has been changed to use an appropriate shader.
The Cessna model in the demo now uses shading.


Note 11-03: (GX) Fixed a bug in the GasColorSimple sample [Sample Demos]

The same depth buffer as the one used in the upper screen's framebuffer object is now explicitly attached for framebuffer objects used during the gas density information rendering pass.


Note 11-04: (GX) Revised the ProctexRandom sample [Sample Demos]

The final entry in the noise lookup table was not set.
There was also an error in the method used to generate the noise lookup table.
These issues have been fixed.


Note 11-05: (GX) Added samples of using command cache [Sample Demos]

The following demos that use the command cache feature have been added


Known Issues with SDK 0.8.3 Release Sample Demos


CTR-SDK Version 0.8.2 Release

(2010/02/22)


Note 10-01: (HIO) Revised the HIO library initialization functions [SDK]

Fixed a portion of the initialization process that was insufficient.


Note 10-02: (MATH) Fixed a bug that occurred if the input and output of the VEC3Transform function were the same [SDK]

If the same pointer was specified for both the input and output of the VEC3Transform function using CTR-SDK 0.8.1, the function would return an invalid result.
This problem has been corrected.


Note 10-03: (SND) Fixed a bug in ADPCM playback [SDK]

Fixed a bug that caused the playback length to be shorter than the specified length during playback of ADPCM sound sources.
This change was actually made in version 0.8.1, but it was inadvertently left out of the changelog.


Note 10-04: (SND) Revised the Voice::IsPlaying function [SDK]

Fixed a bug with one-shot (non-looping) playback that caused the playback state not to change to false, even after the end of the sound source data was reached.


Note 10-05: (SND) Revised the nn::snd::Voice::GetPlayPosition function [SDK]

Fixed a bug that caused the nn::snd::Voice::GetPlayPosition function to return an unexpected value if it was called immediately after interrupt notification from the DSP.


Note 10-06: (SND) Revised the updating process of voice buffer status [SDK]

Fixed a bug in the code that updates the status of voice buffers. In certain circumstances, this bug failed to provide buffer information for the application to update (for example, information about the release of voices). This in turn would lead to an assertion failure because the buffer could not be found, and ultimately cause the program to halt.


Known Issues with SDK 0.8.2 Release

  None.


CTR-SDK Version 0.8.1 Release

(2010/02/17)


Note 9-01: (DevEnv) Changed compiler and linker options [SDK]

Changed the compiler and linker options used by the build system and in the creation of the CTR-SDK libraries.

Made a change so that __use_c99_matherr is imported within librtport.*.a.
As a result of these changes, the use of CTR-SDK 0.8.1 requires the RVCT 4.0 20100209 or a later version of the ARM compiler.


Note 9-02: (HIO) Fixed a bug that prevented CCI files from being loaded if the HostIO functionality was used [SDK]

Fixed a bug that caused load failures if an attempt was made to run a CCI file that uses the HIO library.


Note 9-03: (SND) Fixed a bug in ADPCM playback [SDK]

Fixed a bug that caused noise to be generated as a result of an inability to decode properly while looping and buffer jumping during ADPCM playback.


Note 9-04: (SND) Revised how data from DSP is read [SDK]

With the previous versions of the SDK, there was a chance that streaming playback would not operate properly because reads would occur even if there were no updates to the data received from the DSP.
The spec has been changed so that no reads will occur if the data has not been updated.


Note 9-05: (SND) Changed specifications for the nn::snd::WaveBuffer function [SDK]

Changed bufferSize (which sets the buffer size using a member variable of the nn::snd::WaveBuffer structure) to sampleLength (which sets the sample length).


Known Issues with SDK 0.8.1 Release

  None.


CTR-SDK Version 0.8.1 Release SampleDemos

(2010/02/17)


Note 8-01: (SND) Revised the demos that use sound [Sample Demos]

In line with the change described in Note 9-05, revised demo1, demo2, snd/SimplePlayer, and snd/StreamPlayer.


Known Issues with SDK 0.8.1 Release Sample Demos

  None.


CTR-SDK Version 0.8.0 Release

(2010/02/10)


Note 7-01: (CAMERA) Removed the StopDmaRecv[Rgb] function [SDK | System Updater]

Applications no longer need to call the StopDmaRecv[Rgb] function explicitly, so this function has been removed.


Note 7-02: (CAMERA) Revised the CAMERA library function reference [SDK]

Made the following revisions to the function reference for the camera library.


Note 7-03: (CAMERA) Revised the CAMERA library configuration functions [SDK | System Updater]

Fixed a bug that disabled the auto-exposure feature in the SetAutoWhiteBalance function, which is used to enable/disable automatic white balance.


Note 7-04: (CAMERA) Added and removed the CAMERA library functions [SDK | System Updater]

The following functions have been added to set the operating mode of the cameras.

The following enumerated types were added following the addition of the functions listed above.


Note 7-05: (CAMERA) Revised some function specifications in the CAMERA library [SDK | System Updater]

The specifications of the following functions have been changed.


Note 7-06: (CAMERA) Removed and added the CAMERA library functions [SDK | System Updater]

To support the latest SoC, the arguments or the return values of some of the functions have been changed. Other functions have been removed altogether.
New functions have also been added.

Any references to the GetTransferLines and GetBytesAtOnce functions that have been removed should be replaced with references to the GetTransferBytes function.


Note 7-07: (CAMERA) Changed some function names in the CAMERA library [SDK | System Updater]

Some of the function names have been changed, as shown below:


Note 7-08: (CAMERA) Added and revised the camera-related configuration parameters [SDK | System Updater]

The enumerated types used by the functions that configure the camera settings have been revised. In addition, the range of values that can be specified for some of those functions has been expanded.


Note 7-09: (CAMERA) Added data transfer completion event [SDK | System Updater]

It is now possible to get events that notify of data transfer completion during calls to the SetReceiving and SetReceivingRgb functions. These functions are used to receive camera data.


Note 7-10: (DEMO) Added the DrawFramework::GetFramebufferObject and GetRenderbufferObject functions [SDK]

Added functions to get the IDs of framebuffer objects and render buffer objects managed by the DrawFramework class.


Note 7-11: (DSP) Modified the CreateSharedMemory function [SDK]

Removed the second and fifth arguments, which had not been used.


Note 7-12: (DSP) Added the DSP Function Reference Manual [SDK]

Added the DSP reference manual.


Note 7-13: (DSP) Modified the LoadComponent function [SDK]

Deleted the PIPE number that used to be specified as the third argument in previous versions of the SDK.


Note 7-14: (DSP) Modified the LoadDefaultComponent function [SDK]

Added the LoadDefaultComponent function for loading components used by the SND library.


Note 7-15: (DSP) Increased the PIPE count [SDK]

Increased the number of pipes used for communication with DSP to 8.


Note 7-16: (DSP) Modified the RecvData, RecvDataIsReady, SendData, and SendDataIsEmpty functions [SDK]

The register number is now specified as the first argument.


Note 7-17: (DSP) Modified the RegisterInterruptEvents function [SDK]

The PIPE number is now specified as the first argument.


Note 7-18: (DevEnv) Added reference about build rules [SDK]

Added a reference page for build rules: $CTR_SDK/documents/SDKRules/BuildRules.html.


Note 7-19: (FND) Added an overloaded version of the ExpHeap::Adjust function that specifies the direction in which the expanded heap should be reduced [SDK]

Added an overloaded function to the Adjust function of the nn::fnd::ExpHeap, which lets the developer shrink the size of the heap. This overloaded function allows the direction of adjustment to be specified.


Note 7-20: (FND) Added nn::fnd::DateTime class [SDK]

Added the nn::fnd::DateTime class to get the current date and time.


Note 7-21: (FND) Revised the nn::fnd::ExpHeapBase::GetSizeOf function reference [SDK]

Revised return values in the nn::fnd::ExpHeapBase::GetSizeOf function reference page.


Note 7-22: (FND) Added a feature to specify the location of the administrative region when creating nested heaps [SDK]

Added arguments to the nn::fnd::*Heap::Create classes that allow the developer to specify where the management region should be located. These functions are used to create nested heaps in the ExpHeap, FrameHeap, and UnitHeap within the nn::fnd namespace.


Note 7-23: (GX) Revised the thread-related behavior of the nngx functions [SDK]

Fixed the following two problems that involved nngx thread behavior.


Note 7-24: (GX) Changed specifications for the nngxInitialize function [SDK]

Removed unnecessary arguments from the definition of the nngxInitialize function.
A related change was made to the portion of the code that calls the nngxInitialize function in the DEMO library.
Note that this function is no longer compatible with previous versions of the CTR-SDK.


Note 7-25: (GX) Updated the graphics drivers [SDK]


Note 7-26: (GX) Revised graphics function reference [SDK]

Made cosmetic and layout improvements to the function references of the gl and nngx APIs.


Note 7-27: (HID) Revised the terminology "play radius" to "play" within the AccelerometerReader class [SDK]

Changed the terminology used to represent the tolerances that determine the sensitivity of the accelerometers. This used to be referred to as the "play radius," but is now simply called "play" (or sometimes "play range").
This change was made because the "play" is applied to the amount of change in acceleration (in other words, the "snap") along each axis, not to the coordinates' distances from the origin.


Note 7-28: (HID) Revised touch panel calibration [SDK]

Fixed a bug that resulted in invalid coordinates obtained for locations tapped at the left or top edge of some touch panels.


Note 7-29: (HID) Revised the definitions of the member functions of the Pad class [SDK]

Added the const modifier to the GetStickClamp and GetStickClampMode member functions of the nn::hid::CTR::PadReader class.


Note 7-30: (HIO) Added the HIO library [SDK]

Added the HIO library, which provides access between the CTR development hardware and a PC.


Note 7-31: (MIC) Revised the AllocateBuffer and StartSampling Functions [SDK]

Errors will now always occur if the size or offsets specified for the AllocateBuffer and StartSampling functions are not two-byte aligned, or if the specified size exceeds the size of the buffer that has been allocated.


Note 7-32: (MIC) Revised the microphone function reference [SDK]

Added descriptions to the MIC function reference.


Note 7-33: (NSTD) Renamed the NSTD Library [SDK]

Renamed the NSTD library to libnn_nstd.


Note 7-34: (OS) Changed the documentation for the C-language wrapper functions [SDK]

The documentation for the C-language wrapper functions has been standardized to text that links to the corresponding C++ functions.
The documentation for the following functions is now accessible from the list of OS-related C language wrapper functions:


Note 7-35: (OS) Added and removed C-language wrapper functions [SDK]

The following C wrapper functions have been added.

Deleted the following functions:


Note 7-36: (OS) Revised the CriticalSection specifications [SDK]

The nn::os::CriticalSection class can now obtain locks recursively, just like the nn::os::Mutex class.
The sizes of the nn::os::CriticalSection and nn::os::BlockingQueue classes have been changed following this revision.


Note 7-37: (OS) Eliminated alignment restrictions on buffers transferred via DMA [SDK]

Functions that use DMAC internally for data transfer used to require that the buffer be aligned to larger boundaries than the alignment the functions originally required.
This restriction has been lifted.


Note 7-38: (OS) Fixed DMA transfer memory leaks [SDK]

Fixed a bug that sometimes caused DESCRIPTION_OUT_OF_MEMORY errors to occur after repeated DMA system calls.


Note 7-39: (OS) Revised the function reference for the nn::os::StackMemoryBlock class [SDK]

Corrected an error in the reference for nn::os::StackMemoryBlock that describes regions where physical memory is not allocated.


Note 7-40: (OS) Revised the function reference for nn::os::WaitObject::WaitAny [SDK]

Revised the return values listed in the function reference for the nn::os::WaitObject::WaitAny function.


Note 7-41: (OS) Added a thread-safe typedef for heaps [SDK]

Added typedefs for the nn::fnd::ThreadSafeExpHeap, nn::fnd::ThreadSafeUnitHeap, and nn::fnd::ThreadSafeFrameHeap functions, which implement thread-safe heaps by using critical sections on a per-heap basis.


Note 7-42: (SND) Released the sound library [SDK]

Released the sound library.


Note 7-43: (TOOL) Changed the CCI format that is output from ctr_makerom [SDK | System Updater]

The ctr_makerom tool now outputs images in CCI format.
As a result of this change, CCI files that were created using CTR-SDK 0.7 or earlier versions can no longer be loaded.


Note 7-44: (TOOL) Revised ctr_makerom [SDK]

Added the Reject item to the RSF format. This setting makes it possible to specify files and directories that should be excluded from the ROM file system.
For details, see $CTR_SDK/documents/tools/ctr_makerom.html.


Note 7-45: (Y2R) Removed the StopDmaRecv and StopDmaSend functions [SDK | System Updater]

Applications no longer need to call the StopDmaRecv or StopDmaSend* functions explicitly, so these functions have been removed.


Note 7-46: (Y2R) Revised the Y2R library references [SDK]

Added a description of input and output data formats of the Y2R library.


Note 7-47: (Y2R) Revised the Y2R library [SDK | System Updater]

Fixed a bug that caused transfers to fail in the individual YUV mode of the Y2R library.


Note 7-48: (Y2R) Revised the Y2R library [SDK | System Updater]

Fixed an error in the conversion coefficients that can be set using the SetStandardCoefficient function.


Note 7-49: (Y2R) Revised some function specifications in the Y2R library [SDK | System Updater]

The specifications of the following functions have been changed.


Note 7-50: (Y2R) Added Y2R library functions [SDK | System Updater]

The following functions were added to check whether DMA transfers in the Y2R library have completed:


Note 7-51: (Y2R) Revised some function names in the Y2R library [SDK | System Updater]

Some of the function names have been changed, as shown below:


Note 7-52: (Y2R) Removed the functions used to set data transfer requests from public availability [SDK]

The functions below are no longer publicly available, since applications no longer need to explicitly configure the settings for data transfer requests during use of the Y2R library.


Note 7-53: (Y2R) Removed some of the functions used to set and get the conversion coefficients from public availability [SDK]

The functions that configure the detailed conversion coefficient parameters are no longer publicly available. The SDK now only provides functions for selecting one of the standard conversion coefficient types.
The functions that are no longer publicly available are listed below.


Known Issues with SDK 0.8.0 Release

  None.


CTR-SDK Version 0.8.0 Release SystemUpdater

(2010/02/10)


Note 6-01: (CAMERA) Revised the Finalize function [System Updater]

Fixed a but that caused the Finalize function to not operate properly.


Note 6-02: (CAMERA) Removed the StopDmaRecv[Rgb] function [SDK | System Updater]

Applications no longer need to call the StopDmaRecv[Rgb] function explicitly, so this function has been removed.


Note 6-03: (CAMERA) Revised the CAMERA library configuration functions [SDK | System Updater]

Fixed a bug that disabled auto exposure in the SetAutoWhiteBalance function, which is used to enable/disable automatic white balance.


Note 6-04: (CAMERA) Added and removed the CAMERA library functions [SDK | System Updater]

The following functions have been added to set the operating mode of the cameras.

The following enumerated types were added following the addition of the functions listed above.


Note 6-05: (CAMERA) Revised some function specifications in the CAMERA library [SDK | System Updater]

The specifications of the following functions have been changed.


Note 6-06: (CAMERA) Removed and added the CAMERA library functions [SDK | System Updater]

To support the latest SoC, the arguments or the return values of some of the functions have been changed. Other functions have been removed altogether.
New functions have also been added.

Any references to the GetTransferLines and GetBytesAtOnce functions that have been removed should be replaced with references to the GetTransferBytes function.


Note 6-07: (CAMERA) Changed some function names in the CAMERA library [SDK | System Updater]

Some of the function names have been changed, as shown below:


Note 6-08: (CAMERA) Added and revised the camera-related configuration parameters [SDK | System Updater]

The enumerated types used by the functions that configure the camera settings have been revised. In addition, the range of values that can be specified for some of those functions has been expanded.


Note 6-09: (CAMERA) Added data transfer completion event [SDK | System Updater]

It is now possible to get events that notify of data transfer completion during calls to the SetReceiving and SetReceivingRgb functions. These functions are used to receive camera data.


Note 6-10: (FS) Added support for file and directory operations on SD Cards [System Updater]

It is now possible to perform file and directory operations on SD Cards.
To do so, specify an sdmc archive and call the necessary functions in the FS library API.


Note 6-11: (FS) Added functions for creating, deleting, and renaming files and directories [System Updater]

Added functions for deleting and renaming files, as well as functions for creating, deleting, and renaming directories.
Currently, these operations can only be done on archives stored on SD Cards.


Note 6-12: (FS) Added a class for reading and writing files [System Updater]

Added a class for reading and writing files.
Currently, files can only be written to archives stored on SD Cards.


Note 6-13: (FS) Fixed a resource leak that used to be present when files were opened [System Updater]

Fixed a bug in the firmware that caused a resource leak when files failed to open.


Note 6-14: (HID) Revised the sampling rate [System Updater]

Adjusted the sampling period for the buttons, the analog stick, and the touch panel to 4 milliseconds.
Sampling of the accelerometer will occur every (approximately) 12 milliseconds.
These sampling periods are shorter than they were with previous versions of the SDK.


Note 6-15: (MIC) Revised the Finalize function [System Updater]

Fixed a bug where the microphone was not usable once the Finalize function was called.


Note 6-16: (OS) Fixed a bug that caused the ending address to be incorrect when a breakpoint is set in the Thread::Start function [System Updater]

Fixed a bug that caused the ending address to be incorrect when a breakpoint is set in the Thread::Start function of CTR-SDK 0.7.


Note 6-17: (OS) Fixed a bug that caused deadlocks [System Updater]

Fixed a bug that caused deadlocks within the system under certain conditions.


Note 6-18: (OS) Fixed a bug that prevented the values of the VFP registers from being obtained correctly from the debugger [System Updater]

Fixed a bug that prevented values of the VFP register from being obtained. This bug caused the debugger to always display a value of zero.


Note 6-19: (OS) Fixed a bug that caused strings output to the debugger to be output twice [System Updater]

Fixed a bug that caused strings output to the debugger to be output twice.


Note 6-20: (OS) Fixed a bug that caused the debugger to hang if it was run continuously [System Updater]

Fixed a bug that caused a hang if the processes for the camera and other demos were run continuously for a while in the debugger.


Note 6-21: (OS) Changed the maximum amount of memory that can be used on development hardware to 96 MB [System Updater]

Previous versions of the SDK only allowed 64 MB of memory to be used, even on development hardware, but this has been increased to 96 MB.
Note that the amount of memory that will be usable on the production hardware has not changed from 64 MB.


Note 6-22: (OS) Fixed a bug that caused the debugger to hang when running applications that run threads frequently [System Updater]

Fixed a bug that caused the debugger to hang when running applications that start and end threads frequently.
As a result of this bug fix, small (size-optimized) builds of the OS demos will no longer hang when run.


Note 6-23: (TOOL) Changed the CCI format that is output from ctr_makerom [SDK | System Updater]

The ctr_makerom tool now outputs images in CCI format.
As a result of this change, CCI files that were created using CTR-SDK 0.7 or earlier versions can no longer be loaded.


Note 6-24: (Y2R) Revised the Finalize function [System Updater]

Fixed a but that caused the Finalize function to not operate properly.


Note 6-25: (Y2R) Removed the StopDmaRecv and StopDmaSend functions [SDK | System Updater]

Applications no longer need to call the StopDmaRecv or StopDmaSend* functions explicitly, so these functions have been removed.


Note 6-26: (Y2R) Revised the Y2R library [SDK | System Updater]

Fixed a bug that caused transfers to fail in the individual YUV mode of the Y2R library.


Note 6-27: (Y2R) Revised the Y2R library [SDK | System Updater]

Fixed an error in the conversion coefficients that can be set using the SetStandardCoefficient function.


Note 6-28: (Y2R) Revised some function specifications in the Y2R library [SDK | System Updater]

The specifications of the following functions have been changed.


Note 6-29: (Y2R) Added Y2R library functions [SDK | System Updater]

The following functions were added to check whether DMA transfers in the Y2R library have completed:


Note 6-30: (Y2R) Revised some function names in the Y2R library [SDK | System Updater]

Some of the function names have been changed, as shown below:


Known Issues with SDK 0.8.0 Release System Updater


CTR-SDK Version 0.8.0 Release SampleDemos

(2010/02/10)


Note 5-01: (CAMERA) Revised sample demos [Sample Demos]

Fixed an issue that prevented data from being fully repositioned when an image was rotated using the rotation feature of the Y2R library output buffer.


Note 5-02: (FND) Added features to the multifunction demos [Sample Demos]

Added a feature to the multifunction demos (demo1 and demo2) that retrieves and displays the current date and time.


Note 5-03: (GX) Fixed a bug in the GasCessna sample [Sample Demos]

The same depth buffer as the one used in the upper screen's framebuffer object is now explicitly attached for framebuffer objects used during the gas density information rendering pass.


Note 5-04: (GX) Deleted unnecessary operations related to tangent attribute data [Sample Demos]

Deleted unnecessary mov instructions for tangent values that are input as vertex data.


Note 5-05: (GX) Added a demo that performs double-buffering on a command list for rendering [Sample Demos]

Added a CommandListDouble demo that performs double-buffering on a command list for rendering.


Note 5-06: (OS) Revised the os sample demo [Sample Demos]

Changed the preferred processor from core 1 to core 0 within the thread demos.


Note 5-07: (SND) Added sample demos [Sample Demos]

Added the SimplePlayer sample demo, which demonstrates how to play, stop, and alter the pitch of 8-bit and 16-bit PCM data. Also added the StreamPlayer sample demo, which plays dynamically generated sine sweep.


Note 5-08: (SND) Added features to the multifunction demos [Sample Demos]

Added a feature to demo1 that plays back data input from the microphone in pass-through mode. Also added a feature to demo2 that plays sound effects of a sphere falling.


Known Issues with SDK 0.8.0 Release Sample Demos

  None.


CTR-SDK Version 0.7.1 Release

(2010/01/15)


Note 4-01: (SND) Added support for the sound library of NintendoWare for CTR 0.4.0 [SDK]

Made revisions required to support the sound library of NintendoWare for CTR 0.4.0.


Known Issues with SDK 0.7.1 Release

  None.


CTR-SDK Version 0.7.0 Release

(2009/12/22)


Note 3-01: (CAMERA) Added the CAMERA library [SDK]

Added the CAMERA library, which is used to access the camera.


Note 3-02: (CRYPTO) Added the crypto library [SDK]

A new crypto library was added.
Currently, only SHA-1, SHA-256, SHA-1 HMAC, and SHA-256 HMAC functions are supported.


Note 3-03: (DEMO) Added classes for simple rendering of 2D geometric shapes [SDK]

Added the following classes for simple rendering of 2D geometric shapes:


Note 3-04: (DEMO) Added a document that explains the DEMO library [SDK]

Added a new document that explains the DEMO library and contains more detailed information than that provided in the function reference.
$CTR_SDK/documents/TechnicalNotes/AboutDemoLibrary.pdf


Note 3-05: (DEMO) Modified the DEMO_SetRenderingTarget function [SDK]

When the LCD serving as the rendering target is changed using the DEMO_SetRenderingTarget function, glViewport is now called.


Note 3-06: (DEMO) Changed the specifications of the DrawFramework class [DrawFramework]

The following specifications of the DrawFramework class were changed:


Note 3-07: (DEMO) Added an argument to the DrawFramework::SwapBuffer function that specifies whether or not to wait for V-Sync before running [SDK]

In earlier SDKs, the DrawFramework::SwapBuffer would always wait for a V-Sync, but the addition of the new isWaitVSync argument lets you specify whether or not to wait.
When this is set to true (the default value), the function waits for a V-Sync.


Note 3-08: (DEMO) Released demo_MemoryManager.h [SDK]

The file demo_MemoryManager.h was previously undisclosed, but it is now a public header.


Note 3-09: (DEMO) Made nn::demo::DrawFramework::SwapBuffer into a virtual function [SDK]

The SwapBuffer function has been made into a virtual function for convenience when inheriting the DrawFramework class.


Note 3-10: (DEMO) Changed the macro that sets the maximum number of output characters [SDK]

The maximum number of characters that can be output using the nn::demo::TextDrawFramework class has been increased from 30 to 50.
The macro name also contained a spelling error, so it has been changed from MAX_CHAR_NUM_PAR_LINE to MAX_CHAR_NUM_PER_LINE.


Note 3-11: (DEMO) Changed the address alignment when allocating vertex buffers in VRAM [SDK]

The address alignment used for the destination for transfers has been changed from 4 bytes to 8 bytes when allocating vertex buffers in VRAM using the MemoryManager class in the DEMO library.
This is not due to a change in the DMPGL 2.0 System API Specifications, but rather a restriction in the current implementation of DMA transfers.


Note 3-12: (DevEnv) Added the NN_ENDIAN macro [SDK]

Added the NN_ENDIAN macro for determining the endianness of the platform.
This lets you use the endianness as a conditional in your programs by using code like the following:
#if NN_ENDIAN == NN_ENDIAN_VALUE_LITTLE


Note 3-13: (DevEnv) Changed the structure of the documents folder [SDK]

The structure of the subdirectories of the documents folder was changed so that all documentation contained within the CTR-SDK can now be accessed from the top-level page ($CTR_SDK/documents/index.html).


Note 3-14: ((DevEnv) Changed the data types for u32 and s32 [SDK]

Changed the data type for u32 and s32 from [unsigned|signed] long int to [unsigned|signed] int.


Note 3-15: (DevEnv) Changed the assembly rules [SDK]

It is now possible to use C preprocessor directives (such as #define, #if, and #end) within assembly files.


Note 3-16: (DevEnv) Fixed a bug that caused duplicated option settings for macro definitions [SDK]

Fixed a bug that caused duplicate macro-related options to be specified when compiling from the command line.


Note 3-17: (DevEnv) Deleted the OMakefiles for the libraries [SDK]

The library source files that are included for certain parts of the SDK are only intended for reference during debugging. Their operation is not guaranteed if they are rebuilt by developers, so the OMakefiles for the libraries have been deleted in order to avoid confusion.


Note 3-18: (FND) Corrected the internal status check of the nn::fnd::ExpHeap class [SDK]

Fixed a bug that caused the nn::fnd::ExpHeap class to erroneously determine that the class was in an invalid state.


Note 3-19: (FND) Added features to nn::fnd::FrameHeap class [SDK]

It is now possible to allocate the frame heap in both directions.
By specifying a negative alignment value when allocating a memory block, it is now possible to allocate from the end of the heap.
It is now also possible to shrink the size of the heap in both directions using the FrameHeap::Adjust function.


Note 3-20: (FND) Added an allocator class for heaps [SDK]

Added the Allocator classes to the class templates of nn::fnd::ExpHeapTemplate and nn::fnd::UnitHeapTemplate. These allocator classes share the same interface.


Note 3-21: (FND) Added a feature to create nested heaps [SDK]

Added the following functions to the ExpHeap, FrameHeap, and UnitHeap classes in the nn::fnd namespace. These functions make it possible to create heaps within other heaps.


Note 3-22: (FND) Added features to the heap classes [SDK]

The following changes were made to the heap classes (ExpHeap, FrameHeap, and UnitHeap):


Note 3-23: (FND) Made the heap classes thread-safe [SDK]

The ExpHeapTemplate, UnitHeapTemplate, and FrameHeapTemplate heap class templates have been added to the nn::fnd namespace. These templates can use the LockPolicy class to specify the thread-locking method.
As a result of this change, the ExpHeap, UnitHeap, and FrameHeap classes from previous versions of the SDK have been changed to typedefs for instances of the corresponding class templates.
There have been no changes to their interfaces.


Note 3-24: (FND) Added a feature to find the heap associated with a given block of allocated memory [SDK]

Added the nn::fnd::HeapBase::FindHeap function, which is used to find the heap associated with the memory block at the specified address.


Note 3-25: (FS) Added to the nn::fs::FileReader class the ability to use the char* type to specify path names as ASCII strings [SDK]

Overloaded versions of the constructors, the Initialize function, and the TryInitialize function in the nn::fs::FileReader class have been added. These overloaded functions allow path names to be specified as ASCII strings using the char* data type.


Note 3-26: (GX) Added the DMPGL sample [SDK]

The remaining DMPGL samples from POD that were not included in CTR-SDK 0.6 have all been revised to support the CTR-SDK.


Note 3-27: (GX) Revised the graphics function reference [SDK]

Added function reference manuals to the CTR-SDK for the graphics APIs (gl* and nngx*).
The format of these pages is provisional and will be overhauled in future versions of the SDK.


Note 3-28: (GX) Updated the graphics drivers [SDK]


Note 3-29: (GX) Fixed an issue where the V-Sync timing for the upper and lower screens did not coincide [SDK | System Updater]

The timing of V-Sync notification for the upper and lower screens would vary widely with previous versions of the SDK, but this has been corrected.


Note 3-30: (GX) Fixed a bug that caused only 239 lines to be displayed on the lower screen [SDK]

Fixed a bug that caused the uppermost line of pixels on the lower LCD not to be displayed.


Note 3-31: (HID) Changed the names of the Initialize and Finalize functions [SDK]

The initialization and finalization functions of the HID library were changed from InitializeHid/FinalizeHid to Initialize/Finalize.


Note 3-32: (HID) Changed input from SELECT to be treated as input from START [SDK]

The use of the SELECT button is prohibited for CTR native applications.
Pressing SELECT is therefore now treated as presses of START.


Note 3-33: (HID) Added +Control Pad emulation for the Slide Pad [SDK]

The PadReader class can now be used to obtain input from the analog stick that mimics input from the +Control Panel. This +Control Pad emulation can be obtained in the same way as button input.


Note 3-34: (HID) Revised the definitions of the member functions of the Pad class [SDK]

Added the const modifier to the GetStickClamp and GetStickClampMode member functions of the nn::hid::CTR::PadReader class.


Note 3-35: (HID) Added support for the accelerometer [SDK]

Added the AccelerometerReader class for using the accelerometer.


Note 3-36: (HID) Changed the names of the symbols for the +Control Pad [SDK]

The names of the symbols for the +Control Pad were changed to use "BUTTON" instead of "KEY."
For example, KEY_LEFT was changed to BUTTON_LEFT, and PLUS_KEY_MASK was changed to PLUS_BUTTON_MASK.


Note 3-37: (MATH) Added the MTX44Perspective[Deg|Rad] functions [SDK]

Added the MTX44PerspectiveDeg and MTX44PerspectiveRad functions.
The MTX44Perspective function has been retained as an alternate name for the "degree" version for compatibility.


Note 3-38: (MATH) Added Set functions to the Vector* classes [SDK]

Added the Set method to the Vector2, Vector3, and Vector4 classes.


Note 3-39: (MATH) Revised the internal operations of the nn::math::RunCmdlistDone function [SDK]

Fixed a bug in the algorithm used within the DistSqPoint3ToPolyline3 function to select the shortest distance.


Note 3-40: (MATH) Added functions to find the product of a projection matrix and a rotation matrix [SDK]

Added an API to find the product of a projection matrix and a rotation matrix that takes into account the actual layouts of the hardware's LCDs.


Note 3-41: (MIC) Added the MIC library [SDK]

Added the MIC library, which is used to access the microphone.


Note 3-42: (OS) Changed the documentation for the C-language wrapper functions [SDK]

The documentation for the C-language wrapper functions has been standardized to text that links to the corresponding C++ functions.
The documentation for the following functions is now accessible from the list of OS-related C language wrapper functions:


Note 3-43: (OS) Added and removed C-language wrapper functions [SDK]

The following functions have been added.

Deleted the following functions:


Note 3-44: (OS) Fixed a bug in which the nn::fnd::FileReader class was not set as no copy [SDK]

The nn::fnd::FileReader class, which is supposed to be "no copy," but was not in previous versions of the SDK. This has been fixed.


Note 3-45: (OS) Changed the access label for the nn::os::HandleObject::Finalize function to protected [SDK]

Changed the access label for the nn::os::HandleObject::Finalize function to protected.


Note 3-46: (OS) Added the nn::os::SafeBlockingQueue class [SDK]

Added the nn::os::SafeBlockingQueue class, which implements a blocking queue, using mutexes to ensure exclusive access.


Note 3-47: (OS) Revised the size of the nn::os::StackBuffer class template [SDK]

Fixed a bug that caused the obtained size of the nn::os::StackBuffer class template to be up to 8 bytes more than expected.


Note 3-48: (OS) Added the nn::os::Thread::GetMainThread function [SDK]

Added the nn::os::Thread::GetMainThread function, which obtains the main thread object, to the nn::os::Thread class.


Note 3-49: (OS) Fixed the nn::os::Tick::ToTimeSpan function [SDK]

Fixed a bug that caused the nn::os::Tick::ToTimeSpan function to return incorrect results.


Note 3-50: (OS) Added the nnosAlarmCanSet function [SDK]

Added the nnosAlarmCanSet function, which acts as a C-language wrapper for the nn::os::Alarm::CanSet function.


Note 3-51: (OS) Added the nnosInitializeDeviceMemory and nnosGetDeviceMemoryAddress functions [SDK]

Added the nnosInitializeDeviceMemory and nnosGetDeviceMemoryAddress functions, which are used to perform operations on the device's memory from C.


Note 3-52: (OS) Added a system version check [SDK | System Updater]

Added a mechanism for checking whether the version of the system installed on the development board matches the version of the system expected by the SDK that was used to build the program.
This version check is performed when the program is started. If the versions do not match, execution of the program halts.


Note 3-53: (OS) Revised the arguments to functions used to start threads [SDK]

The overloaded versions of functions used to start threads in the nn::os::Thread class (including the Start function) have been revised to allow more flexibility in the values that can be accepted.


Note 3-54: (OS) Revised the behavior if timers are set to expire after zero seconds [SDK]

With previous versions of the SDK, there used to be a slight time lag before the timer was signaled if a function like StartOneShot in the nn::os::Timer class was used to set a timer to expire after zero seconds. This time lag has been removed, and the timer is now signaled immediately.


Note 3-55: (OS) Added a class for specifying the lock policy [SDK]

Added the nn::os::LockPolicy class, which is used to specify the lock policy for implementing thread safety.


Note 3-56: (TOOL) Revised ctr_makerom [SDK]

Generation of CCI files used to require only an ELF file, but now requires RSF and DESC files as well.
In addition, configuration of CCI files is now done through the RSF file instead of by specifying command-line arguments.
For more details, refer to the reference manual for the ctr_makerom tool.
${CTRSDK_ROOT}/documents/tools/ctr_makerom.html


Known Issues with SDK 0.7.0 Release

  None.


CTR-SDK Version 0.7.0 Release SystemUpdater

(2009/12/22)


Note 2-01: (FS) Fixed a resource leak in the file system [System Updater]

Fixed a bug that caused a resource leak even after files opened using classes like nn::fs::FileReader were closed. This bug caused a limit on the number of files that could be opened.


Note 2-02: (GX) Removed restrictions on size during DMA transfers [System Updater]

Removed the restriction that the size of all DMA transfers from main memory must be a multiple of four when allocating memory in VRAM.


Note 2-03: (GX) Fixed an issue where the V-Sync timing for the upper and lower screens did not coincide [SDK | System Updater]

The timing of V-Sync notification for the upper and lower screens would vary widely with previous versions of the SDK, but this has been corrected.


Note 2-04: (OS) Fixed a bug that caused failures when attempting to load static regions 2 MB or greater in size [System Updater]

Corrected a bug that caused failures when attempting to load static regions 2 MB or greater in size.
It is now possible to load static regions up to 31 MB in size.


Note 2-05: (OS) Cut out VFP context switching [System Updater]

VFP context switching now only occurs when the application uses the VFP.


Note 2-06: (OS) Added a system version check [SDK | System Updater]

Added a mechanism for checking whether the version of the system installed on the development board matches the version of the system expected by the SDK that was used to build the program.
This version check is performed when the program is started. If the versions do not match, execution of the program halts.


Note 2-07: (OS) Modified the debugger API [System Updater]

Communication with the target board used to occur while running PARTNER-CTR/S, but this has been fixed.
PARTNER-CTR/S will need to be updated after the 2009/11/25 version.


Note 2-08: (OS) Improved performance [System Updater]

Improved the performance when applications are run.


Note 2-09: (OS) Added multi-core support [System Updater]

The debugger API now has multi-core support.
This makes it possible to attach the debugger monitor to processes that support multiple cores.


Note 2-10: (OS) Fixed a bug in which a single thread was able to acquire semaphores multiple times [System Updater]

In previous versions of the firmware, if a certain thread was waiting on a semaphore, and multiple higher-priority threads then released that semaphore in succession, the thread that was waiting on that semaphore would acquire it multiple times. This issue has been corrected.


Known Issues with System Updater in the SDK 0.7.0 Release


CTR-SDK Version 0.7.0 Release SampleDemos

(2009/12/22)


Note 1-01: (CAMERA) Added features to the multifunction demos [Sample Demos]

One of the multifunction demos (demo1) has been modified to use the camera.


Note 1-02: (GX) Added demos of the simple rendering features of 2D geometric shapes [Sample Demos]

Added the Draw2d demo (which draws 2D geometric shapes) and the DrawTexture2d demo (which performs texture mapping on polygons).


Note 1-03: (GX) Revised the source code based on changes to the specifications of the glUniformMatrix functions [Sample Demos]

The source code for the graphics sample demos were changed to reflect the new ability to transpose matrices using an argument to the glUniformMatrix** functions.


Note 1-04: (GX) Changed the directory structure [Sample Demos]

Changed the directory structure under SampleDemos/gx.
The code for vertex shaders is now stored in the shaders directory, and the group of files loaded into ROMFS is now stored in the romfiles directory.


Note 1-05: (GX) Changed the directories so that shader binaries will be generated during builds [Sample Demos]

The vertex shader code for "SampleDemos/demo1" and "SampleDemos/demo2" were moved to the shaders directory.
The HostRoot was also changed to the romfiles directory so that the shader binaries will be created in the romfiles directory during builds.


Note 1-06: (HID) Made changes and added features to the multifunction demos [Sample Demos]

The following changes were made to the multifunction demos (demo1 and demo2).


Note 1-07: (MIC) Added features to the multifunction demos [Sample Demos]

The multifunction demos (demo1 and demo2) now use the microphone.


Known Issues with SDK 0.7.0 Release Sample Demos

  None.



CONFIDENTIAL