nn::camera::CTR::ResultFatalError occurs. [SDK | Sample Demos]ResultInvalidOperation may be returned with specific functions when using the NFC reader/writer. [SDK]NfpManager. [SDK]NfpUtil tool branches to CTR and SNAKE. [SDK]nn::ac::GetConnectResult function was called before the connection to the access point had completed. [SDK]nn::ndm::Initialize function performed by the application. [SDK]nn::cx::CompressHuffman function. [SDK]nngxWaitVSync function did not wait for screen switching to synchronize. [SDK]GL_RGBA8_OES is specified in the display buffer. [SDK]conntest::ConnectionTest::GetLastResultCode function when there is a security error. [SDK]ctr_makerom32 format error. [SDK]nn::cec namespace. [SDK]nn::os::StackMemory initialization. [SDK]desc files when creating a patch with extended application format.gr::Vertex class. [SDK]ctr_loadrun32 to stop when the application exits unexpectedly. [SDK]ctr_loadrun32 termination code. [SDK]nngxValidateState function requests memory allocation. [SDK]disclaimer member variable of the nn::ec::CTR::ServiceDescription structure must be no greater than 400 lines. [SDK]nn::applet::CTR::PrepareToCloseApplication does not need to be called during application shutdown. [SDK | Sample Demos]GetRunningTargetHardware function cannot be used in master ROMs. [SDK]qtm library. [SDK | System Updater | Sample Demos]makerom. [SDK]cfg library was flawed. [SDK]RequestDownloadAllOwnedContents and RequestRedeemUniqueContentSetAuto required the session to be reinitialized. [SDK]gr::RenderState command was issued. [SDK]nn::applet::CTR::GetInitialParam a public function. [SDK]makerom error output. [SDK]nn::fs::SetSdmcEjectionFatal function. [SDK]makebanner support for SNAKE-specific applications. [SDK]nn::applet::CTR::CloseApplicationForTrial function. [SDK]AacCodecKit. [SDK | Sample Demos]ResultAppletNeedsBalanceUpdate error for detecting a change in the balance while the EC applet is displaying. [SDK | System Updater]nn::ec::Initialize. [SDK]Resource::CreateTexture2DResource function for default data for LAYOUT_BLOCK_32 mode. [SDK]gr::CommandBufferJumpHelper class. [SDK]nn::os::IsRunOnSnake and nn::os::IsRunningAsExtApplication functions now show up in the CTR Master Editor list of middleware when they are used. [SDK]-nt option to ctr_TexturePackager32. [SDK]camera library were nevertheless detected by CTR Master Editor as using the library. [SDK]nn::cfg::CTR::GetLanguage function so that it does not return undefined language code. [SDK]ExtraPad were nevertheless detected by CTR Master Editor as using ExtraPad and ir. [SDK]ctr_loadrun32 -args option. [SDK]nn::nfc::CTR::Mount. [SDK | System Updater | Sample Demos]nn::os::IsRunOnSnake function run faster. [SDK]nn::applet::CTR::GetInitialParam function [SDK].nn::camera::Initialize function [SDK].NN_LOG macros [SDK].Texture2D objects set in texture units [SDK].nngxUpdateBufferLight function [SDK].nn::os::GetRunningTargetHardware function [SDK | System Updater].PedometerChanger [SDK].OutputStage module was reconfigured [SDK].ReleaseTexture2DResource function [SDK].-lh option was specified for ctr_compress [SDK].ApplicationCode to the Format parameters [SDK | System Updater | Sample Demos]os::CTR::IsRunningAsExtApplication function [SDK | System Updater]TagStream class [SDK]nn::nfc::ResetChip function to reset the chip [SDK]BlockingQueue class [SDK | System Updater]desc for extended applications [SDK]For the previous change log, see here.
For change logs prior to CTR-SDK 7.2.1, see here.
Added the CFLUtility tool that supports the creation of test environments, and debugging of applications that use Mii.
Added an indication for when detecting connections to Spot Pass connection hubs to the description of the nn::ac::CTR::ApType enumerated type.
nn::camera::CTR::ResultFatalError occurs. [SDK | Sample Demos]Changed the error handling for applications when nn::camera::CTR::ResultFatalError occurs.
The samples and documentation were updated as a result.
Invalidated the assert failures that occurred when issuing commands outside the application code, which was added in CTR-SDK 11.5.
Added a reference to denote issues when issuing commands outside the application to the ongoing command list.
Clarified the conditions under which the BOSS task execution count is reduced in the function references for the nn::boss::Task::Start and nn::boss::Task::StartBgImmediate functions.
Functions in the nn::cx::SecureUncompress function group now take the size of the target decompression buffer as a parameter.
Added definitions for usable memory type and memory size restrictions for the following libraries.
Updated the eShop REST API manual.
The descriptions of the nn::applet::CTR::JumpToEShopTitlePage and nn::applet::CTR::JumpToEShopPatchPage functions stated that an application had to be submitted on OMAS to use these functions. Deleted this information because an application no longer has to be submitted on OMAS to use these functions.
Added information about the production environment to the Patch Manual.
The function used when entering download codes now checks whether the specified download code is valid.
Valid download codes are 16-character alphanumeric strings that include a null terminator.
Also, added the ECARD_ID_LENGTH definition for download code IDs to the header file, and updated the sample demos to use ECARD_ID_LENGTH.
Added information about how long to maintain initialization data to the descriptions of the gd::Resource::CreateTexture2DResource and gd::Resource::CreateVertexBufferResource functions.
Added information about the behavior of tasks that are left over after BOSS storage is deleted to the nn::boss::UnregisterStorage function reference.
Fixed a bug where pressing the HOME Button after jumping to DummyNintendoEShop would cause the system to freeze.
Also, DummyNintendoEShop is now included with System Updater, so DummyNintendoEShop no longer must be installed separately to test eShop jumps.
Changed instances of "the EcAppletInitializeSession function" to "the EcApplet::RequestInitializeSession function" in the following function references.
Fixed a bug in the nn::gd::VertexInputStage class where using input slot 8 or above would cause rendering issues or cause the system to freeze.
Fixed a bug in the nn::gd::VertexInputStage class where write commands that unexpectedly overwrote certain registers were sometimes generated when generating rendering commands.
There was a bug in the Development and Debug builds where the RDT library would stop on an assertion when used to send data.
There was also another bug in the Release build where the process for sending data did not get completed correctly.
These bugs have been fixed.
Fixed a bug where the AdpcmParam parameter was not used correctly if the nn::snd::CTR::Voice::SetAdpcmParam function was called while the system was going to sleep.
Fixed a bug where the number of cycles returned by the nn::snd::GetDspCycles function was larger than the number of cycles that were actually consumed.
Changed the following document related to BOSS.
nn::boss::FgOnlyTask must be specified in the nn::boss::RegisterImmediateTask function.
nn::boss::ResultStorageNotFound class description to a more appropriate expression.
Added a nn::cec::MessageBox::CanCreateMessageBox function that gets whether a StreetPass box can be created.
Added information about icon data and description data formats to the API reference.
Updated nn.h to allow use by all CTR-SDK API functions by using an include statement.
Added definitions for alignment and size restrictions for the following libraries.
The following system mode additions and fixes were performed.
Config.html.
Added the following to the standard linked libraries in the CTR-SDK build system.
Added a warning in the patch manual to use when titles using fake clients are updated.
Clarified that nn::ec::CTR::PurchaseConfirmationApplet::RequestShowDialog returns Result::IsSuccess when users select the purchase button in the EC applet.
Added an eShop REST API feature that provides functions for listing and purchasing service items through the independent server.
In addition, the following was also added.
$CTR_SDK/documents/TechnicalNotes/EShopRestApiManual).
eShop REST API ec/ServiceItemRestApi Demo
Clarified in EDCK: Developing Applications That Support Downloadable Content that Error 005-5637 occurs if local ticket is not deleted when reverting downloadable content.
nn::erreula::CTR::Config structure’s useLanguage member. [SDK]Added a description of the value that specifies the nn::erreula::CTR::Config structure’s useLanguage member.
Added a point about searching multiple media when mounting other titles with the nn::fs::MountSaveData function, and a point about skipping from search with unformatted media.
Added a link to the rollback prevention feature in the SaveDataFiler description.
The HostIO of the IS library for the debugger has been updated to the 20150707 version.
Added a description of the nn::hio::SerialChannel::Flush function on the host side.
With this change, 0x is added to items that display hexadecimal tag information in NfpUtil.
Deleted nn::nfp::ResultDataAccessFailed from $CTR_SDK/include/nn/nfp/nfp_Result.h.
The NFP library function does not return nn::nfp::ResultDataAccessFailed.
Added a feature to rewrite the NFP tag ROM regions in NoftWriter.
For more information, see the CTR Tools NoftWriter description ($CTR_SDK/documents/ctools/NoftWriter.html).
Added a feature to display the NFT file Character Name and Character ID in NoftWriter.
For more information, see the CTR Tools NoftWriter description ($CTR_SDK/documents/ctools/NoftWriter.html).
Added that performance is reduced when the nn::os::Thread::Sleep function is called excessively within a short time interval and places a heavy load on the whole system.
Fixed a bug where icon and title information could not be restored correctly when importing the StreetPass box with the CecBoxTool.
Fixed a bug where correct CCI were not created when size exceeded 16 MB after static memory compression in ctr_makerom.
Fixed a bug where downloadable content was not deleted when the EcDevTool shop account was deleted.
Fixed the upper limit to the character count of the Details Information and Legal/Disclaimer Information displayed when purchasing a service item.
For Details Information, 64 characters increased to 128 characters, and no limit for line breaks.
For Legal/Disclaimer Information, 512 characters increased to 1024 characters, and no limit for line breaks.
The EC library and ServiceItem sample was also fixed.
There was a bug where the Circle Pad Pro operated unintentionally during search.
To fix this bug, the working memory size passed to the nn::hid::CTR::ExtraPad::Initialize function was increased from 4,096 to 12,288 bytes.
Also, along with the working memory size increase, it was verified that the nn::hid::CTR::ExtraPad::Initialize function can receive this size.
Fixed a bug that caused a deadlock when the sound library function was called frequently within a short period of time.
Added a function to get a service token V2 with better security than the existing independent service tokens.
Added a display of the following tag information in the NfpUtil tool.
Change log entry 27-S08 did not include a description of the release build. Added that the NFP library is automatically finalized in a release build.
Fixed a bug introduced in the revisions to the SND library in CTR-SDK 11.2.0 where functions that set SND library effects or perform AUX bus operations would cause a deadlock when called at the same time from multiple threads (including sound threads).
Fixed an error in the description for change log entry 27-U06.
The following changes were made to the BOSS related documentation.
boss::Unregister*.
nn::boss::NsData::GetHeaderInfo and nn::boss::NsData::ReadData of the return values when NS data is corrupted.
Updated the battery level and update notification icon data as follows.
$CTR_SDK/resources/icon/BatteryLevelIcon
$CTR_SDK/resources/icon/UpdateIndicator
Updated the Patch Manual ($CTR_SDK/documents/TechnicalNotes/Patch/PatchManual.html) in line with discontinuing the patch receiving feature in the application and adding the feature to jump to the patch page in Nintendo eShop.
Added an advance downloading feature.
For more information about advance downloading, see the 3DS Overviews package.
With this change, added an option to set whether to display the e-manual during advance downloading.
For more information about the build system, see ($CTR_SDK/documents/SDKRules/BuildRules.html) or the Guide to Developing a Build System ($CTR_SDK/documents/TechnicalNotes/BuildSystemDevelopmentGuide/BuildSystemDevelopmentGuide.html).
Added a recommendation in the ECDK: Developing Applications That Support Service Items section of the API Reference to display the disclaimer/legal information independently in the application if the disclaimer/legal information exceeds the 512 character limit.
In addition, also added to the reference for the disclaimer member variable for the nn::ec::CTR::ServiceDescription structure and the nn::ec::CTR::PurchaseInfo structure a recommendation to display independently in the application when there is a possibility the character limit will be exceeded.
Changed the description of patch product codes in the Patch Manual ($CTR_SDK/documents/TechnicalNotes/Patch/PatchManual.html) to be more concrete.
ResultInvalidOperation may be returned with specific functions when using the NFC reader/writer. [SDK]Added to the API reference that ResultInvalidOperation may be returned with the following functions when using the NFC reader/writer.
The contents of the Dynamic Stereoscopy Programming Guide ($CTR_SDK/documents/TechnicalNotes/DynamicStereoscopyGuide) were moved to the 3DS Programming Manual: Dynamic Stereoscopy Edition, and so this information was deleted from the CTR-SDK.
NfpManager. [SDK]Added an Unmount feature to NfpManager.
NfpUtil tool branches to CTR and SNAKE. [SDK]Made changes so that the screen display branches when executing the NpfUtil tool with CTR and when executing with SNAKE.
nn::ac::GetConnectResult function was called before the connection to the access point had completed. [SDK]A bug caused the communication mode switching prohibition status to be released when the nn::ac::GetConnectResult function was called before the connection process to the access point completed. This bug has been fixed because nn::uds::Initialize, which was supposed to fail, succeeded and the state value internal state could become undefined.
nn::ndm::Initialize function performed by the application. [SDK]A bug caused the nn::ndm::Finalize function to be called in excess in the API when the following functions were used with multiple threads simultaneously. This bug has been fixed because the nn::ndm::Initialize function performed by the application was invalidated.
nn::cx::CompressHuffman function. [SDK]Fixed a bug that caused data exceeding the size of the buffer allocated by nn::cx::CompressHuffman to be written due to compression conditions.
nngxWaitVSync function did not wait for screen switching to synchronize. [SDK]Fixed a bug that prevented nngxWaitVSync from waiting for screen switching synchronization due to timing dependencies that resulted in screen flicker.
GL_RGBA8_OES is specified in the display buffer. [SDK]Although the GL_RGBA8_OES specification was removed from the display buffer, in implementation, the GL error was not generated and it remained enabled.
Made changes so that a GL_ERROR_8023_DMP error is generated when an illegal format is specified.
Added the nn::nfp::ReplaceOtherRegionName to replace characters not supported by the current region contained in an amiibo nickname with other characters.
conntest::ConnectionTest::GetLastResultCode function when there is a security error. [SDK] Made changes so that with the conntest::ConnectionTest::GetLastResultCode function, 003-14xx, not 003-11xx, is returned when there is a clear security error.
Starting with CTR-SDK 10.1, Notifications data that is saved in BOSS storage is immediately moved to extended save data on the system.
Before CTR-SDK 10.1, the move to extended save data on the system was made when the user opened the Notifications list.
This change was actually made in CTR-SDK 10.1, but was accidentally omitted from the change log.
The following changes were made to the EC documentation.
SELECTION_FILTER_PURCHASABLE is specified in a nn::ec::CTR::ContentSetCatalogFilter::SetSelectionFilter member function as the search target range. nn::ec::CTR::ResultError class, errors were corrected so as not to be generated during development that targets only the ec modules. Made the features to verify patch updates and to download using an EC applet from inside the application unavailable to the public.
With this change, a feature to jump to the Nintendo eShop patch page (the nn::applet::JumpToEShopPatchPage function) was added.
For more information, see the Patch Manual ($CTR_SDK/documents/TechnicalNotes/Patch/PatchManual.html).
Until now, when the enc library was used with the CTR-SDK build system, libnn_enc had to be added to the OMakefile LIBS variable, but this was changed so that it is added by default.
The NFP library supports the NFC reader/writer.
With this change, the FangateFwUpdater tool to update and destroy the NFC reader/writer firmware was added.
Made changes so that, other than for the Release build, execution stops on an assertion if the NFP library is not finalized when transitioning from the application to the HOME Menu, system applet, or library applet.
Added a DataStore download task notification data serial ID display feature to BossLotcheckTool.
Made changes so that the 5-digit hexadecimal value is displayed as zeros when displaying the unique ID of the Dummy Nintendo eShop.
Added a feature to EcDevTool to set the address for which tax is calculated when the country settings is the United States or Canada.
This feature is for developers using eShop REST API.
Developers using downloadable content or the ECSV library do not need to use this feature because addresses can be set on the EC applet.
ctr_makerom32 format error. [SDK] Improved the error content displayed when the ctr_makerom32 RSF format specification was incorrect.
Added NfpSdmcTool to support application debugging using the NFP library.
Data read from a tag can be exported to an SD card, and saved data can later be imported and written to a tag.
ResultNfcTargetError. [SDK|System Updater] Added a feature to the Fangate Failure Emulation item of the Config tool to forcibly get a ResultNfcTargetError with nfp::GetConnectResult.
nn::cec namespace. [SDK] Added to the function reference that initialized functions must be called in advance to use functions or classes in the nn::cec namespace.
nn::os::StackMemory initialization. [SDK] Fixed a bug that generated a fatal error when memory was quarantined and released repeatedly using the nn::os::StackMemory class.
Fixed a bug that caused a very rare problem where the system stopped responding when performing a HOME Menu transition, system applet startup, power button transition, or transition to Sleep Mode during sound playback.
Made changes so that the jump destination page is displayed when starting the Dummy Nintendo eShop with a jump to Nintendo eShop.
For more information, see $CTR_SDK/documents/ctools/DummyNintendoEShop.html.
The Account System Developer’s Guide ($CTR_SDK/documents/TechnicalNotes/AccountSystemDevelopersGuide/index.html) was changed as follows.
Added to the ECDK: How to Create Data Titles section in the API Reference that the YAML format used to specify the content list file differs from the general YAML formal.
desc files when creating a patch with extended application format. Added to the Patch Manual ($CTR_SDK/documents/TechnicalNotes/Patch/PatchManual.html) information regarding desc file specification when creating a patch with an extended application format.
gr::Vertex class. [SDK] Added a function to get the base address of vertices and index arrays that had been retained in the gr::Vertex class.
ctr_loadrun32 to stop when the application exits unexpectedly. [SDK] Added the --exit-exception (-ee) option to ctr_loadrun32.
When this option is set and the application executed, ctr_loadrun32 also exits when the application unexpectedly exits.
ctr_loadrun32 termination code. [SDK] Added the --return-value (-r) option to ctr_loadrun32.
When characters in the format of "EXIT_RETURN_VALUE <number (integer of 0 or greater in decimal notation)>" are output in the NN_LOG from the application side, loadrun exits with <number> as the return value.
ctr_loadrun32. [SDK] Fixed a bug that caused an unexpected exit with an exception when the log file was not specified with the -L or -log option with ctr_loadrun32.
nngxValidateState function requests memory allocation. [SDK] Clarified in the reference for the nngxValidateState, glDrawArrays, and glDrawElements functions that a management region is secured in the library when the functions are called.
Made changes so that the FS detailed error is displayed with a nn::boss::FS_UNKNOWN_ERROR error is generated with BossLotcheckTool.
Added details to the ctr_makerom reference about UseOtherVariationSaveData when setting AccessibleSaveDataIds.
Also, added that to access extended save data, we recommend explicitly specifying AccessibleSaveDataIds or ExtSaveDataNumber.
Added the NFP library, which provides features for writing to amiibo.
Added NFP sample demos and tools.
Added a note about embedding to Chapter 5 and a description of exclusive locations to Section 6.5 about the addition of a DynamicStereoCamera class feature.
ctr_makerom32 caused an error. [SDK] Fixed a bug that caused an inappropriate error to be displayed when a folder segment symbol was at the end of a ctr_makerom32 ROMFS_ROOT specification and an Include statement was in the RSF file.
ExtraPad function that starts sampling. If the following series of steps is repeated 10 times, on the 10th time the process will not return from nn::hid::CTR::ExtraPad::StartSampling.
1. Transition to the HOME Menu while using ExtraPad.
2. Endg an application by using the HOME Menu.
3. Restart the application and call the nn::hid::CTR::ExtraPad::StartSampling function.
4. Return to step 1.
This bug occurs only with SNAKE.
This bug occurs in applications that use ExtraPad and do not call the nn::hid::CTR::ExtraPad::StopSampling function before transitioning to the HOME Menu.
To prevent this bug, call the nn::hid::CTR::ExtraPad::StopSampling function before transitioning to the HOME Menu to stop the ExtraPad sampling.
This bug will be fixed in a future SDK release.
disclaimer member variable of the nn::ec::CTR::ServiceDescription structure must be no greater than 400 lines. [SDK]Added instructions to set a string that fits within 400 lines for the disclaimer variable of the nn::ec::CTR::ServiceDescription structure.
On rare occasions, input stops working from buttons other than the HOME Menu button on PARTNER-CTR Capture and PARTNER-CTR Capture Debugger. This problem has been added as a known issue to the document Symptoms Due to Design Limitations of Specifications ($CTR_SDK/documents/ReleaseNotes/knownIssues.html).
If this occurs, you can restore functionality using either of these procedures.
nn::applet::CTR::PrepareToCloseApplication does not need to be called during application shutdown. [SDK | Sample Demos]Calling the nn::applet::CTR::PrepareToCloseApplication function during application shutdown is no longer required. Calls within the sample demos have been removed, and this change is documented in the API Reference Manual.
Previously, the 3D depth value was retrieved and used during matrix calculation by the StereoCamera class.
In implementations that perform multiple matrix calculations per frame, if the 3D depth value fluctuates in the middle of these calculations, problems could manifest in the rendered results.
To support even this type of implementation, an argument was added to the member functions that perform matrix calculations that disables retrieval of the 3D depth value, and a separate Update3DVolume function that updates the 3D depth value was also added.
GetRunningTargetHardware function cannot be used in master ROMs. [SDK]The man page for nn::os::CTR::GetRunningTargetHardware explains that this function cannot be used in ROMs submitted for mastering.
qtm library. [SDK | System Updater | Sample Demos]Added a new qtm library that provides face-tracking functionality.
Added sample demos (DynamicStereoCamera and TrackingSimple) for the qtm library.
makerom. [SDK]makerom can now accept CXI files that exceed 16 MB during LE file creation.
cfg library was flawed. [SDK]Fixed a mutual exclusion bug in the cfg library that caused a fatal error if attempts were made to access from multiple threads.
RequestDownloadAllOwnedContents and RequestRedeemUniqueContentSetAuto required the session to be reinitialized. [SDK]Fixed a bug that caused the session not to be invalidated if the EcApplet::RequestDownloadAllOwnedContents or EcApplet::RequestRedeemUniqueContentSetAuto function resulted in a "must reinitialize session" error.
gr::RenderState command was issued. [SDK]Fixed a bug that prevented the framebuffer flush commands from being issued in the order stipulated by the hardware specifications when nn::gr::RenderState::MakeCommand was called.
nn::applet::CTR::GetInitialParam a public function. [SDK]Made a public function of nn::applet::CTR::GetInitialParam, which gets the application startup parameter.
Added a script for setting the environment variable CTRSDK_ROOT.
The following changes were made to the EC library documentation.
nn::ec::CTR::ResultAppletCloseApplicationRequested class, pointing out that this Result is only generated when the battery level has dropped to zero.
nn::ec::CTR::ServiceDescription structure and the nn::ec::CTR::PurchaseInfo structure.
ec::CTR::Server::GetBalance function, in each case noting that the balance can change even while the application is running, due to a purchase or an addition to the balance made by another device or by Theme Shop.
Added a template for patch icons to $CTR_SDK/documents/TechnicalNotes/Patch/resources, and added a description about the template to the Patch Manual ($CTR_SDK/documents/TechnicalNotes/Patch/resources/PatchManual.html)
Added the function ec::IsContentOverlapAllowed, which gets the determination of whether to allow redundant purchases of content when sets of downloadable content are being purchased. In step with this, added a process that uses this function to SampleDemos/ec/Purchase.
Fixed a bug where the gr::Vertex::DisableAttr function could not be used to separately disable vertex attribute settings after interleaved arrays had been used with the gr::Vertex::EnableInterleavedArray function.
Integrated the OLV library into the SDK and Sample Demos to call the Miiverse Post application.
In step with this, added the Miiverse Post application to System Updater.
makerom error output. [SDK]Improved error output when ctr_makerom is run and there is a defective RSF file.
Include setting did not work correctly. [SDK]Fixed a bug where the build would sometimes fail when Include was specified in the RSF file.
An error is now generated when values for which the hardware is not guaranteed to operate are specified for the size (the width and the height) of the original image and the transferred image by the nngxTransferRenderImage and nngxAddB2LTransferCommand functions.
For more information, see the API reference pages for these functions.
nn::fs::SetSdmcEjectionFatal function. [SDK]Added the nn::fs::SetSdmcEjectionFatal function to automatically trigger an SD card removal error when an SD card is not inserted in the system. This was actually changed in CTR-SDK 10.0 but was omitted from the change log.
makebanner support for SNAKE-specific applications. [SDK]makebanner has been changed so you can now set the SNAKEOnly flag in the BSF file to indicate that the application is a SNAKE-specific application.
SaveDataFiler acted to destroy a save data file. [SDK]Fixed a bug where SaveDataFiler would stop under certain conditions when it acted to destroy a save data file.
nn::applet::CTR::CloseApplicationForTrial function. [SDK]Added the nn::applet::CTR::CloseApplicationForTrial function to automatically end applications running as demoware (SA/NW) on retail kiosks.
This function cannot be used with downloadable demoware and regular applications.
Added the nn::applet::CTR::JumpToManual API to jump to the e-manual for the calling application.
Added support for CBC-mode encryption.
You can now build without setting CTRSDK_RVCT_VER=5 when only ARMCC 5.x is installed.
AacCodecKit. [SDK | Sample Demos]Integrated into this package the content of AacCodecKit for encoding and decoding AAC data.
ResultAppletNeedsBalanceUpdate error for detection of a change in the balance while the EC applet is displaying. [SDK|System Updater]To prevent money from being credited twice, for example when a timeout error is generated while money is being added to the balance, the ResultAppletNeedsBalanceUpdate error has been added as a way to detect changes to the balance while the EC applet is displaying.
This error is generated if the balance is changed in the Wii U Nintendo Shop while the CTR is processing the balance.
When the application receives this error, it must reinitialize the session.
The following changes were made to the EC library documentation.
cia.out from the BTS server.
AddOnContent.rsf is used with ctr_makeMetaDataContent.
ECTicketInfo in ecsv.h.
ECExtendedTicketInfo structure's deviceId member variable.
EC_VerifyExtendedTicket function.
nn::ec::CTR::PriceIndication structure to show balance and price information.
nn::ec::CTR::EcApplet::RequestRedeemUniqueContentSetAuto function is running.
nn::ec::CTR::ServiceItem::IsPurchasable function.
nn::fs::GetAddOnContentRequiredMemorySize function about operating on unlicensed content.
nn::ec::Initialize. [SDK]Now when you call the EC library API without running nn::ec::Initialize, an assertion is thrown and a message displays saying "The EC library is not initialized."
This feature only works for non-Release builds.
Also added nn::ec::Finalize for finalizing the library. If you call ec::Finalize and later do not make a new call to nn::ec::Initialize, the EC library stops on this same assertion.
Added text about the differences in service item encryption keys to "Differences Between Test Units and Retail Units." ($CTR_SDK/documents/TechnicalNotes/AboutHardwareDifference/AboutHardwareDifference.xlsx)
LAYOUT_BLOCK_32 mode to the Resource::CreateTexture2DResource function. [SDK]When you specify default data for the texture resource in the CreateTexture2DResource function, there is no longer an error if you specify something other than LAYOUT_BLOCK_8 because that restriction has been removed.
gr::CommandBufferJumpHelper class. [SDK]Added a default constructor to the gr::CommandBufferJumpHelper class and an initialization function for setting the starting address of the command buffer to write to.
nngx RAW APIs. [SDK]Added nngx Raw APIs corresponding to each of the existing nngx APIs.
Added text to $CTR_SDK/documents/SNAKE/index.html stating that a bug involving the use of multiple textures had been fixed.
Changed the following function and class names in the HID library.
The functions from before the name change remain, but at compile time they generate a #1361-D warning.
nn::hid::CTR::PadReaderEiu class
nn::os::IsRunOnSnake and nn::os::IsRunningAsExtApplication functions now show up in the CTR Master Editor list of middleware when they are used. [SDK]When applications that use nn::os::IsRunOnSnake or nn::os::IsRunningAsExtApplication are loaded to CTR Master Editor, the functions show up in the list of middleware. The functions are represented in this list by strings that correspond to the APIs being used.
Added a feature to thread local storage for calling destructor functions.
The NFC library is no longer publicly available.
-nt option to ctr_TexturePackager32. [SDK]The specification calls for the embedding of a timestamp in each texture file included in the texture package file.
The -nt option has been added as a way to select not to embed this timestamp.
When this option is specified, 0 is written to the region that would normally hold the timestamp.
The non-public functions that were kept for compatibility that can specify channels when searching for networks have been changed so that they now forcibly scan all channels when running on retail systems.
camera library were nevertheless detected by CTR Master Editor as using the library. [SDK]Fixed a bug where even though an application did not use the camera library, CameraInitialize and CameraActivate would be detected by CTR Master Editor if C++ exceptions were enabled.
nn::cfg::CTR::GetLanguage function so that it does not return undefined language code. [SDK]Fixed the nn::cfg::CTR::GetLanguage function so it does not return undefined language code.
If a language not supported by this version of the CTR-SDK is configured in the System Settings, the default language for the region is returned.
Fixed a bug where the command for setting the number of vertex attributes would not be issued correctly if a single gr::Vertex object was being reused with a changed number of valid vertex attributes.
ExtraPad were nevertheless detected by CTR Master Editor as using ExtraPad and ir. [SDK]Fixed a bug where even though an application did not use ExtraPad, CTR Master Editor would detect ExtraPad and ir if C++ exceptions were enabled.
-args option for ctr_loadrun32. [SDK]Corrected the inappropriate message that displayed when the -args option was specified for ctr_loadrun32 without specifying a program.
Also changed what happens when the -args option is specified with a non-supported CTR application for the program argument. The process used to stop on an error, but now it continues with a warning.
Added two types of flags to applet::ScreenCapturePostPermission to specify permissions individually for the upper and lower screens.
The following changes were made to the EC-related documentation.
ctr_makeMetaDataContent makes use of AddOnContent.rsf.
nn::ec::CTR::ContentSetCatalog::Retrieve member function that, depending on the session initialization timing, item information that is not the latest information might be accessed.
nn::ec::CTR::PriceIndication structure to show balance/price information because the character width could change in the future.
ECTicketInfo (which had already been removed) from the definition of the ECExtendedTicketInfo structure in the ecsv.h file.
nn::nfc::CTR::Mount. [SDK | System Updater | Sample Demos]Deleted the makerCode argument from the nn::nfc::CTR::Mount function. The nfc sample demo has been changed accordingly.
nn::os::IsRunOnSnake function run faster. [SDK]Made the nn::os::IsRunOnSnake function faster.
The write command for both texture unit activation and texture cache flushing applies to the 0x80 register. The hardware requires the texture unit to already be enabled when the latter is executed, but the GR library was not handling this well enough. This bug was fixed so that the commands for texture unit activation and texture cache flushing are executed separately.
nn::applet::CTR::GetInitialParam function [SDK].Normally applications do not need to use the nn::applet::CTR::GetInitialParam function, so it was removed from the API reference. This change actually occurred in CTR-SDK 9.10 but was accidentally omitted from the change log.
nn::camera::Initialize function [SDK].Made changes so that the NINTENDO:CameraInitialize is now displayed in the middleware list when applications using the nn::camera::Initialize function are loaded into CTR Master Editor.
NN_LOG macros [SDK].The NN_LOG and NN_LOGV macros were limited to outputting strings of no more than NN_DBG_PRINTF_BUFFER_LENGTH characters in length, but this restriction has been removed. Strings of any length can now be output. This change actually occurred in CTR-SDK 9.10 but was accidentally omitted from the change log.
Merged changes from CTR-SDK 7.2 through CTR-SDK 7.2.1. For more information, see here.
Added the nn::ec::CTR::EcApplet::RequestDownloadAllOwnedContents function, which re-downloads all items with the EC applet, to make it easier to implement re-download capability for add-on content. This change actually occurred in CTR-SDK 7.2 but was accidentally omitted from the change log.
Added the nn::ec::CTR::EcApplet::RequestRedeemUniqueContentSetAuto function. This function makes a request to the EC applet to enter the download voucher and redeems it for a single content set with the associated ID, making it easier to implement the redemption of download vouchers for add-on content. This change actually occurred in CTR-SDK 7.2 but was accidentally omitted from the change log.
Texture2D objects set in texture units [SDK].Added the gd::TextureStage::ClearTextureUnit function, which removes texture2D objects set with the gd::TextureStage::SetTexture function and restores the texture unit to a state where nothing is set.
nngxUpdateBufferLight function [SDK].Added the nngxUpdateBufferLight function, which handles caching operations much faster than the nngxUpdateBuffer function in extended applications. For more information, see the API references for nngxUpdateBuffer and nngxUpdateBufferLight.
Added functions for atomic operations to the nn::fnd library. This change actually occurred in CTR-SDK 7.0 but was accidentally omitted from the change log.
Added information about what to do if you want to use an expanded save data number that differs from the application's unique ID in the ID list ($CTR_SDK/documents/TechnicalNotes/IdCatalog/IdCatalog.html). This change actually occurred in CTR-SDK 7.2 but was accidentally omitted from the change log.
nn::os::GetRunningTargetHardware function [SDK | System Updater].Starting with CTR-SDK 9.11, the nn::os::GetRunningTargetHardware function will be for debugging only. It will no longer be available for use in products. Use the nn::os::IsRunOnSnake function if you want to determine whether the device using the product is SNAKE.
Also, when running programs compiled with CTR-SDK 9.11 or earlier in SNAKE environments, the nn::os::GetRunningTargetHardware function might return unexpected values (such as it is running on SNAKE), so make revisions so that programs compiled with CTR-SDK 9.11 or earlier return only values for the CTR environment. For programs compiled with CTR-SDK 9.11 or later, continue to include all values, including those for SNAKE.
Made changes so the content of each error appears in TaskResultCode as a string when DataStore task errors occur in BossLotCheckTool. This change actually occurred in CTR-SDK 9.10 but was accidentally omitted from the change log.
PedometerChanger [SDK].Added PedometerChanger, a tool for viewing, importing, and exporting pedometer information. This change actually occurred in CTR-SDK 9.10 but was accidentally omitted from the change log.
OutputStage module was reconfigured [SDK].Fixed a bug where the render block format configuration command was not being issued when System::ForceDirty(System::MODULE_OUTPUT) was called to put the OutputStage module into a reconfigured state, and then the rendering command was issued. This change actually occurred in CTR-SDK 9.10 but was accidentally omitted from the change log.
ReleaseTexture2DResource function [SDK].Fixed a bug where the buffer to be released with the ReleaseTexture2DResource function was incorrectly specified as being a vertex buffer (NN_GX_MEM_VERTEXBUFFER), so it is now specified as a texture buffer (NN_GX_MEM_TEXTURE).
-lh option was specified for ctr_compress [SDK].Fixed a bug where the tool crashed on some file content when specifying the -lh option for ctr_compress to compress a small size file.
Improved the speed of the nn::camera::Finalize function.
Merged changes from CTR-SDK 7.1 through CTR-SDK 7.2. For more information, click here.
Fixed a bug where the nngxGetPhysicalAddr function would cause an assert when passed an address near the end of the device memory.
Fixed a bug where the nn::os::Thread::Sleep function would end before the specified amount of time while the application was running as an extended application.
Added information to the documentation about the IS-RAY-DEBUGGER and IS-CTR-DEBUGGER software.
ApplicationCode to the Format parameters [SDK | System Updater | Sample Demos]Added ApplicationCode to the nn::nfc::CTR::Format parameters to distinguish among applications. The sample demos have been changed accordingly.
os::CTR::IsRunningAsExtApplication function [SDK | System Updater]Added the os::CTR::IsRunningAsExtApplication function, which gets whether an extended application is currently running.
Merged changes from CTR-SDK 7.0.1 through CTR-SDK 7.1
For more information, click here.
Organized and revised NFC-related code as follows.
State structure to NfcState.
GetStatus to GetNfcState.
NfcState is correct at the beginning of each API function.
Initialize has been called at the beginning of each API function in the NfcTagStream class.
To maintain consistency with the CTR-SDK 7.x environment, changed the feature numbers used in the libraries of the nn::os::IsRunOnSnake function. This change requires applications that call the nn::os::IsRunOnSnake function to be recompiled using CTR-SDK 9.8.
Fixed the following bugs in the nfc library.
ActivateEvent takes more than 1 second to complete
TagStream class [SDK]Added the TagStream class, which is used for file access inside tags.
Basic functions that previously required an instance of NFC were changed to global functions.
nn::nfc::ResetChip function to reset the chip [SDK]Added a feature to reset the chip when problems occur that depend on the state of the NFC chip.
This function can go unused without a problem.
Corrupted data format tags (NDEF) were being put in the DEACTIVATE state, but this was changed to be the same as other corrupted tags, which are put in the ACTIVATE state and the error is returned when advancing to the MOUNT state.
See the programming manual ($CTR_SDK/documents/TechnicalNotes/NfcProgrammingManual/NfcProgrammingManual.pdf) for details.
Added the nn::os::CTR::IsRunOnSnake function to get whether an application is running on a SNAKE system. Also, added SNAKE support to the nn::os::CTR::GetRunningTargetHardware function.
Merged changes from CTR-SDK 6.0.1 System Updater 0.19.3 through CTR-SDK 7.0
For more information, click here.
However, currently dedicated hardware is required to use it. See $CTR_SDK/documents/SNAKE/index.html for details.
BlockingQueue class [SDK | System Updater]Added a Dequeue feature with a wait time to the BlockingQueue class.
desc for extended applications [SDK]Added ExtApplication.desc.
Using this desc enables the application to use 96 MB of memory, which makes the application start faster.
Only standard applications can be profiled with the SNAKE-compatible PARTNER-CTR Debugger and Nintendo 3DS CPU profiler combination.
The profile feature cannot be used with extended applications.
FontConverter is sometimes unable to convert Windows fonts correctly if the following settings have been made.