CTR-SDK Change Log
- → Current Change Log
-
CTR-SDK 0.14.23 Release (2011/01/07)
- Note 121-01: (DevEnv) SDK-related changes [SDK]
- Known Issues in the SDK 0.14.23 Release
-
CTR-SDK 0.14.23 System Updater (2011/01/07)
- Note 120-01:(HTTP) Fixed a bug that caused Data Abort to occur when Cancel was run [System Updater]
- Note 120-02:(MCU) Fixed a bug that caused the system to power off immediately after power on [System Updater]
- Known Issues with System Updater in SDK 0.14.23
-
CTR-SDK 0.14.22 Release (2011/01/07)
- Note 119-01: (DevEnv) SDK-related changes [SDK]
- Known Issues in the SDK 0.14.22 Release
-
CTR-SDK 0.14.22 System Updater (2011/01/06)
- Note 118-01:(APPLET) Adjusted the calls to sleep-related callbacks [System Updater]
- Note 118-02:(BOSS) Fixed a bug that caused exiting the infrastructure communications to take too long during task retries [System Updater]
- Note 118-03:(DLP) Fixed the system resource leak that occurred every DLP server scan [System Updater]
- Note 118-04:(OS) Fixed the inability to return to Home Menu by pressing HOME Button when "card removed" error displayed [System Updater]
- Note 118-05:(OS) Fixed a bug that prevented returning to Home Menu after inserting and removing a card when "card removed" error displayed [System Updater]
- Note 118-06:(UDS) Fixed resource leaks when connecting to network in Spectator mode [System Updater]
- Known Issues with System Updater in SDK Version 0.14.22
-
CTR-SDK 0.14.21 Release (2011/01/05)
- Note 117-01: (DevEnv) SDK-related changes [SDK]
- Known Issues in the SDK Version 0.14.21 Release
-
CTR-SDK 0.14.21 System Updater (2011/01/05)
- Note 116-01: (OS) Fixed a bug that caused a memory leak when exiting an application [System Updater]
- Known Issues with System Updater in SDK Version 0.14.21
-
CTR-SDK 0.14.20 Release (2011/01/05)
- Note 115-01: (DevEnv) SDK-related changes [SDK]
- Known Issues in the SDK Version 0.14.20 Release
-
CTR-SDK 0.14.20 System Updater (2011/01/04)
- Note 114-01: (AC) Fixed a bug that led to some inappropriate error codes during connection to an access point [System Updater]
- Note 114-02: (HTTP) Fixed a bug that caused a stall when the cable is unplugged from the access point during HTTP communication [System Updater]
- Note 114-03: (HTTP) Fixed a bug that caused a memory leak when an application was started after canceling HTTPS [System Updater]
- Known Issues with System Updater in SDK Version 0.14.20
-
CTR-SDK 0.14.19 Release (2010/01/03)
- Note 113-01: (CAMERA) Revised the
SynchronizeVsyncTiming
function [SDK | System Updater]
- Known Issues in the SDK 0.14.19 Release
-
CTR-SDK 0.14.19 System Updater (2010/01/03)
- Note 112-01: (AC) Revised the
Connect
function [System Updater]
- Note 112-02: (APPLET) Adjusted the order of the sleep query callback and the callback invoked when the system is opened during a sleep query [System Updater]
- Note 112-03: (BOSS) Fixed a bug that prevented the system from recovering from Sleep Mode [System Updater]
- Note 112-04: (BOSS) Fixed a bug that caused background communication to continue even when communication should be ended (for example, during Sleep Mode) [System Updater]
- Note 112-05: (BOSS) Fixed a bug that prevented ZoneAP queries from being assigned to policy list URLs [System Updater]
- Note 112-06: (CAMERA) Revised the
SynchronizeVsyncTiming
function [SDK | System Updater]
- Note 112-07: (NWM) Fixed a bug that caused a fatal error during repeated data exchanges between multiple systems using StreetPass [System Updater]
- Known Issues with System Updater in SDK Version 0.14.19
-
CTR-SDK 0.14.18 System Updater (2010/12/31)
- Note 111-01: (AC) Fixed a bug that made it difficult to detect Nintendo Zones [System Updater]
- Note 111-02: (FS) Fixed a bug that caused
FormatSaveData
to fail after a card is removed during a write operation to save data stored on a card [System Updater]
- Known Issues with System Updater in SDK Version 0.14.18
-
CTR-SDK 0.14.17 Release (2010/12/30)
- Note 110-01:(APPLET) Fixed a bug with Sleep Mode mutual exclusion when library applets are called [SDK]
- Known Issues in the SDK 0.14.17 Release
-
CTR-SDK 0.14.17 System Updater (2010/12/30)
- Note 109-01:(APPLET) Fixed a bug exiting application when shutting down [System Updater]
- Note 109-02:(APPLET) Fixed a bug at startup of process stopping if HOME Button was pressed repeatedly [System Updater]
- Note 109-03:(BOSS) Fixed a bug with the If-Modified-Since feature [System Updater]
- Note 109-04:(BOSS) Fixed a bug related to ending immediate tasks [System Updater]
- Note 109-05:(CAMERA) Fixed a bug with recovery of camera state on applet transition [System Updater]
- Note 109-06:(FS) Fixed a bug with the
GetSdmcSize
function [System Updater]
- Note 109-07:(FS) Fixed a bug with Result when save data was corrupted on card [System Updater]
- Note 109-08:(MCU) Fixed a bug with RTC when setting the notification light [System Updater]
- Note 109-09:(UDS) Fixed a bug with fatal error when client tries to connect immediately after connection failure [System Updater]
- Known Issues with System Updater in SDK 0.14.17
-
CTR-SDK 0.14.16 Release (2010/12/28)
- Note 108-01:(APPLET) Fixed a bug related to exclusivity of transition and sleep processes [SDK]
- Note 108-02:(TOOL) Revised some banner-related tools [SDK]
- Note 108-03:(TOOL) Published a method for specifying the remaster version [SDK]
- Note 108-04:(UDS) Fixed a bug where a fatal error sometimes occurs when Endpoint is destroyed while the
ReceiveFrom
function is executing [SDK]
- Known Issues in the SDK 0.14.16 Release
-
CTR-SDK 0.14.16 System Updater (2010/12/28)
- Note 107-01:(BOSS) Fixed a bug related to
Task::Cancel
[System Updater]
- Note 107-02:(CAMERA) Changed the behavior of
SetReceiving
after sleep [System Updater]
- Note 107-03:(CAMERA) Fixed a bug in the
Finalize
function when the system is closed [System Updater]
- Note 107-04:(MCU) Fixed a bug where one press of the POWER Button immediately after a forced power shutoff did not power on the system [System Updater]
- Note 107-05:(MIC) Fixed a bug with the
Finalize
function when the system is closed [System Updater]
- Note 107-06:(MIC) Changed the behavior of
StopSampling
while the system is closed [System Updater]
- Note 107-07:(OS) Fixed a bug of memory being deallocated while in use by libraries [System Updater]
- Note 107-08:(OS) Fixed a bug when the system is opened and closed quickly that caused a halt (upper and lower screens both black) [System Updater]
- Known Issues with System Updater in SDK 0.14.16
-
CTR-SDK 0.14.15.1 Release (2010/12/26)
- Note 106-01:(APPLET) Fixed a bug where ability to start applets is lost [SDK | System Updater]
- Known Issues in the SDK 0.14.15.1 Release
-
CTR-SDK 0.14.15.1 System Updater (2010/12/26)
- Note 105-01:(APPLET) Fixed a bug where ability to start applets is lost [SDK | System Updater]
- Known Issues with System Updater in SDK Version 0.14.15.1
-
CTR-SDK 0.14.15 Release (2010/12/25)
- Note 104-01:(APPLET) Control over sleep when pre-loading library applets [SDK]
- Note 104-02:(DevEnv) Added a HOME Button Disabled icon [SDK]
- Note 104-03:(SND) Fixed bug with unintended noise after returning from sleep [SDK]
- Note 104-04:(TOOL) Expanded the features of the
Config
tool [SDK]
- Note 104-05:(UDS) Fixed a bug in handling linking when the
Scan
function failed in wireless disabled mode and other states [SDK | System Updater]
- Known Issues in the SDK 0.14.15 Release
-
CTR-SDK 0.14.15 System Updater (2010/12/25)
- Note 103-01:(BOSS) Fixed a bug when STOPPED is specified in the policy list [System Updater]
- Note 103-02:(CAMERA) Fixed a bug with camera settings not being reset during finalization [System Updater]
- Note 103-03:(CEC) Fixed a bug after communications when sleeping [System Updater]
- Note 103-04:(CEC) Fixed a bug where it wasn't possible to return from sleep in states such as wireless disabled mode [System Updater]
- Note 103-05:(DevEnv) Fixed a bug where the error screen is not displayed after a card is removed during sleep [System Updater]
- Note 103-06:(FRIENDS) Fixed a bug where the interval for self-login lengthens despite a normal logout [System Updater]
- Note 103-07:(OS) Fixed a bug when the system is opened and closed quickly while transitioning to the HOME Menu that caused a halt [System Updater]
- Note 103-08:(UDS) Fixed a bug where the
Initialize
function sometimes does not complete [System Updater]
- Note 103-09:(UDS) Fixed a bug in handling linking when the
Scan
function failed in wireless disabled mode and other states [SDK | System Updater]
- Known Issues with System Updater in SDK 0.14.15
-
CTR-SDK 0.14.15 Sample Demos (2010/12/25)
- Note 102-01:(UDS) Support for POWER Button in com_demo1 [Sample Demos]
- Known Issues with SDK 0.14.15 Sample Demos
-
CTR-SDK 0.14.14 Release (2010/12/22)
- Note 101-01: (APPLET) Fixed bug in mutual exclusion during HOME Button and library applet transitions [SDK | System Updater]
- Note 101-02: (CEC) Changed behavior of daemon after opening of a box has failed [SDK]
- Note 101-03: (TOOL) Revised
makebanner
[SDK | Sample Demos]
- Known Issues in the SDK 0.14.14 Release
-
CTR-SDK 0.14.14 System Updater (2010/12/22)
- Note 100-01: (APPLET) Fixed bug in mutual exclusion during HOME Button and library applet transitions [SDK | System Updater]
- Note 100-02: (BOSS) Changed specifications of
Task::Cancel
[System Updater]
- Note 100-03: (CAMERA) Fixed bug that caused operation to stop when the system was opened and closed [System Updater]
- Note 100-04: (CEC) Changed behavior of daemon after opening of a box has failed [SDK]
- Note 100-05: (FS) Fixed resource leak that occurred when media was removed while a directory was open [System Updater]
- Note 100-06: (FS) Fixed bug that caused operation to stop when the
nn::fs::ReadExtSaveDataIcon
function was called on invalid extended save data [System Updater]
- Note 100-07: (NDM) Fixed mode switching [System Updater]
- Note 100-08: (NWM) Fixed a bug where a fatal error would occur when wireless communication was enabled [System Updater]
- Note 100-09: (OS) Fixed bug that prevented use of development features after starting from the HOME Menu [System Updater]
- Note 100-10: (OS) Fixed system startup processing when remaining battery life is zero [System Updater]
- Note 100-11: (SOCKET) Revised DNS [System Updater]
- Known Issues with System Updater in SDK Version 0.14.14
-
CTR-SDK 0.14.14 Sample Demos (2010/12/22)
- Note 99-01: (TOOL) Revised
makebanner
[SDK | Sample Demos]
- Known Issues with SDK 0.14.14 Sample Demos
-
CTR-SDK 0.14.13 Release (2010/12/20)
- Note 98-01: (CEC) Fixed a bug that would occur when receiving grouped data [SDK | System Updater]
- Note 98-02: (CEC) Fixed a bug where a halt would occur when
StopScanning
was called from multiple threads [SDK]
- Note 98-03: (TOOL) Fixed a bug where a child application would not be booted after a system update with DLP (DUP) [SDK | System Updater]
- Known Issues in the SDK 0.14.13 Release
-
CTR-SDK 0.14.13 System Updater (2010/12/20)
- Note 97-01: (BOSS) Support for subsequent inserts of SD cards [System Updater]
- Note 97-02: (CAMERA) Fixed a bug where the cameras would not stop when the cover was closed [System Updater]
- Note 97-03: (CEC) Fixed a bug when receiving grouped data [SDK | System Updater]
- Note 97-04: (CEC) Fixed a problem where it would take a long time to transition to the sleep mode or recover from the sleep mode during communications [System Updater]
- Note 97-05: (DevEnv) HOME Button recovery after displaying the card removal error [System Updater]
- Note 97-06: (FS) Fixed a bug where extended save data could no longer be read after inserting and removing cards [System Updater]
- Note 97-07: (PTM) Fixed a bug where the RTC alarm would be signaled later than the settings [System Updater]
- Note 97-08: (SOCKET) Revised the DHCP cancel process [System Updater]
- Note 97-09: (TOOL) Fixed a bug where a child program would not be booted after a system update with DLP (DUP) [SDK | System Updater]
- Note 97-10: (TOOL) Revised
DevMenu
to disable the sleep mode [System Updater]
- Known Issues with System Updater in SDK Version 0.14.13
-
CTR-SDK 0.14.13 Sample Demos (2010/12/20)
- Note 96-01: (BOSS) Changed
ExtSaveDataId
to ExtSaveDataNumber
in the demo RSF file [Sample Demos]
- Known Issues with SDK 0.14.13 Sample Demos
-
CTR-SDK 0.14.12 Release (2010/12/17)
- Note 95-01: (OS) Fixed a bug that prevented a thread with a
LightSemaphore
from waking up [SDK]
- Note 95-02: (TOOL) Added the CIA import size to the information displayed in
DevMenu
[SDK]
- Note 95-03: (TOOL) Fixed a bug that caused child applications to stop at the startup screen if they were booted without a system update [SDK]
- Known Issues in the SDK 0.14.12 Release
-
CTR-SDK 0.14.12 System Updater (2010/12/17)
- Note 94-01: (AC) Fixed a bug that prevented transitions from the connected state even when
Connect
was successfully canceled [System Updater]
- Note 94-02: (AC) Fixed a bug that prevented the next function call from succeeding after a canceled
Scan
[System Updater]
- Note 94-03: (APPLET) Shortened the time taken to transition to Sleep Mode [System Updater]
- Note 94-04: (APPLET) Added support for closing the system immediately after it is turned on [System Updater]
- Note 94-05: (BOSS) Shortened the amount of time taken to enter Sleep Mode while a task was being resumed [System Updater]
- Note 94-06: (BOSS) Shortened the amount of time taken to enter Sleep Mode when a large number of tasks were registered [System Updater]
- Note 94-07: (CAMERA) Changed the priority of the initialization process [System Updater]
- Note 94-08: (FRIENDS) Prevented the automatic login interval from being extended when the system disconnects from an access point [System Updater]
- Note 94-09: (FS) Fixed a bug related to journal file recovery [System Updater]
- Note 94-10: (FS) Fixed the
nn::fs::(Try)RenameFile
function(s) for extended save data [System Updater]
- Note 94-11: (FS) Fixed a bug that caused
nn::fs::(Try)DeleteDirectoryRecursively
to fail for long path names [System Updater]
- Note 94-12: (NDM) Changed wait times [System Updater]
- Note 94-13: (OS) Fixed a bug that prevented Download Play and other processes from starting [System Updater]
- Note 94-14: (SOCKET) Fixed
Poll
[System Updater]
- Note 94-15: (TOOL) Changed System Updater to initialize the system when it is applied [System Updater]
- Known Issues with System Updater in SDK Version 0.14.12
-
CTR-SDK 0.14.11 Release (2010/12/15)
- Note 93-01: (FS) (Common) Fixed a bug where data would occasionally be corrupted if the SD card was removed while creating extended save data [SDK]
- Note 93-02: (FS) Fixed a bug where the SD card could not be accessed after removing the SD card quickly [SDK]
- Note 93-03: (FS) Fixed a bug where execution would abort when using a long path name [SDK]
- Note 93-04: (TOOL) Fixed a bug where CIA import would fail immediately after initializing shared extended save data on the DevMenu [SDK]
- Note 93-05: (TOOL) Fixed bugs in the banner creation tools [SDK]
- Known Issues in the SDK 0.14.11 Release
-
CTR-SDK 0.14.11 System Updater (2010/12/15)
- Note 92-01: (BOSS) Assigned maximum priority to Task::StartImmediate [System Updater]
- Note 92-02: (BOSS) Fixed a bug that would occur when resuming a task [System Updater]
- Note 92-03: (BOSS) Removed blocking by boss::GetNewArrivalFlag during task execution [System Updater]
- Note 92-04: (CAMERA) Changed the priority of the initialization process [System Updater]
- Note 92-05: (FS) Fixed a bug where the time stamp for files on the SD card was not being updated correctly [System Updater]
- Note 92-06: (GX) Fixed a bug where the screen display would break when returning from an applet [System Updater]
- Note 92-07: (GX) Fixed a bug where the screen display would become incomplete when sleep request was rejected [System Updater]
- Note 92-08: (SSL) Fixed a bug where communication would fail if SSL communications had been used continuously for an extended time [System Updater]
- Note 92-09: (UDS) Fixed the possibility of hang-ups in the wireless transmission process [System Updater]
- Known Issues with System Updater in SDK Version 0.14.11
-
CTR-SDK 0.14.10 Release (2010/12/13)
- Note 91-01: (APPLET) Added the ability to detect a shutdown in progress during application or applet startup [SDK | System Updater]
- Note 91-02: (UDS) Fixed a bug that caused a new
NodeID
to be assigned to a client that had already connected when DisallowToConnect
is called [SDK | System Updater]
- Known Issues in the SDK 0.14.10 Release
-
CTR-SDK 0.14.10 System Updater (2010/12/13)
- Note 90-01: (APPLET) Added the ability to detect a shutdown in progress during application or applet startup [SDK | System Updater]
- Note 90-02: (APPLET) Fixed bugs that caused crashes during startup, shutdown, and transitions [System Updater]
- Note 90-03: (BOSS) Fixed a bug that caused saving small NSD files to fail [System Updater]
- Note 90-04: (CEC) Fixed a bug that prevented communication from occurring when there were multiple boxes with no data to send (for example, multiple boxes set to receive-only mode) [System Updater]
- Note 90-05: (DevEnv) Replaced certain fatal error messages [System Updater]
- Note 90-06: (FS) Fixed a bug that caused
nn::fs::(Try)DeleteDirectoryRecursively
to fail when called on save data or extended save data [System Updater]
- Note 90-07: (OS) Added support for the hardware breakpoint feature of the debugger [System Updater]
- Note 90-08: (UDS) Fixed a bug that caused a new
NodeID
to be assigned to a client that had already connected when DisallowToConnect
is called [SDK | System Updater]
- Note 90-09: (UDS) Avoided fatal errors that occurred during and while ending communication [System Updater]
- Known Issues with System Updater in SDK Version 0.14.10
-
CTR-SDK 0.14.9 Release (2010/12/10)
- Note 89-01: (APPLET) Deprecated log output on HOME Button presses [SDK]
- Note 89-02: (APPLET) Updated shutdown sequence [SDK | System Updater | Sample Demos]
- Note 89-03: (CEC) Revised message body size check [SDK | System Updater]
- Note 89-04: (CEC) Added specifications for not exchanging StreetPass data again with the same communication peer for a set period of time [SDK | System Updater]
- Note 89-05: (OS) Fixed a bug related to stack memory [SDK | System Updater]
- Note 89-06: (SND) Fixed a bug in the
nn::snd::Voice::IsPlaying
function [SDK]
- Note 89-07:(SND) Fixed a bug where getting sound playback state and
AuxBus
data would be delayed by one frame [SDK]
- Note 89-08: (TOOL) Revised the
EXT
tab on the DevMenu
[SDK]
- Note 89-09: (TOOL) Released processing limits and checking methods for the banner model on the HOME Menu [SDK]
- Note 89-10: (TOOL) Fixed a bug where
ctr_loadrun32.exe
would not terminate even after terminating conditions were met [SDK]
- Note 89-11: (TOOL) Fixed a bug where limitations were not applied on imports via touch operations [SDK]
- Note 89-12: (TOOL) Fixed bug that prevented transitioning to the development menu [SDK]
- Note 89-13: (UBL) Deleted functions related to the global blacklist [SDK]
- Known Issues with SDK 0.14.9 Release
-
CTR-SDK 0.14.9 System Updater (2010/12/11)
- Note 88-01: (AC) Revised the
DebugSetNetworkSetting1
function [System Updater]
- Note 88-02: (AC) Fixed a bug in timeout processing when transitioning to sleep mode, when turning the Wi-Fi off, and when turning the power off [System Updater]
- Note 88-03: (AC) Fixed a bug causing a fatal error during shutdown processing [System Updater]
- Note 88-04: (APPLET) Updated shutdown sequence [SDK | System Updater | Sample Demos]
- Note 88-05: (BOSS) Fixed a bug affecting the deletion of old NS data when BOSS storage becomes full [System Updater]
- Note 88-06: (BOSS) Fixed a bug in the
UnregisterTask
function [System Updater]
- Note 88-07: (BOSS) Fixed a bug causing tasks not to be run when in sleep mode [System Updater]
- Note 88-08: (BOSS) Fixed a bug causing an invalid interval between system startup and task execution [System Updater]
- Note 88-09: (CEC) Revised message body size check [SDK | System Updater]
- Note 88-10: (CEC) Added specifications for not exchanging StreetPass data again with the same communication peer for a set period of time [SDK | System Updater]
- Note 88-11: (CFG) Fixed a bug causing faulty calibration when using the Config tool's
ResetSetting
feature on a test unit [System Updater]
- Note 88-12: (DLP) Fixed a bug causing blank titles for child programs found via a scan [System Updater]
- Note 88-13: (FRIENDS) Revised so asynchronous
API
function calls when in sleep mode return a failure [System Updater]
- Note 88-14: (FRIENDS) Reduced frequency of background file writes [System Updater]
- Note 88-15: (FS) Revised
Result
when an SD card is in an unsupported format [System Updater]
- Note 88-16: (FS) Revised size range available for save data [System Updater]
- Note 88-17: (FS) Fixed a bug causing an unexpected error to be returned when save data was tampered with [System Updater]
- Note 88-18: (FS) Revised to not create a directory when extended save data is mounted [System Updater]
- Note 88-19: (NDM) Fixed a bug related to changing communication modes [System Updater]
- Note 88-20 (NWM) Fixed a bug where a fatal error would occur when wireless communication was enabled [System Updater]
- Note 88-21: (OS) Fixed a bug related to stack memory [SDK | System Updater]
- Note 88-22: (PL) Fixed a bug where pedometer data would disappear after changing the clock [System Updater]
- Note 88-23: (TOOL) Fixed a bug where the system could not reboot after removing a card started from the
DevMenu
[System Updater]
- Note 88-24:(UDS) Fixed a bug sometimes causing a data abort while receiving packets [System Updater]
- Known Issues with System Updater in SDK Version 0.14.9
-
CTR-SDK 0.14.9 Sample Demos (2010/12/11)
- Note 87-01: (APPLET) Updated shutdown sequence [SDK | System Updater | Sample Demos]
- Note 87-02: (BOSS) Revised the
sample_nadl_simple
sample demo [Sample Demos]
- Known Issues with SDK 0.14.9 Sample Demos
-
CTR-SDK 0.14.8.1 Release (2010/12/08)
- Note 86-01: (DSP) Fixed a bug where all sound playback would halt [SDK]
- Known Issues with SDK 0.14.8.1 Release
-
CTR-SDK 0.14.8 Release (2010/12/07)
- Note 85-01: (CEC) Changed specification for exchanging StreetPass data again with the same communication peer [SDK | System Updater]
- Note 85-02: (DLP) Changed packets used for scanning [SDK | System Updater]
- Note 85-03: (FS) Fixed bug where calling
MountExtSaveData
on an empty write-protected SD card would cause the system to freeze [SDK]
- Note 85-04: (GR) Fixed bug when clearing the 16-bit color buffer with
FrameBuffer::MakeClearRequest
[SDK]
- Note 85-05: (PTM) Fixed bug where RTC alarm could be signaled as much as two minutes early [SDK]
- Note 85-06: (SND) Fixed bug where unplayed buffers would be marked as already played [SDK]
- Note 85-07: (TOOL) Changed specifications for
ctr_BannerModelConverter
[SDK]
- Note 85-08: (TOOL) Added the StreetPass Guideline Checker tool [SDK]
- Note 85-09: (TOOL) Fixed bugs in the banner creation tools [SDK]
- Note 85-10: (TOOL) Changed default logo configuration [SDK]
- Note 85-11: (UDS) Fixed a bug that allowed the creation of more endpoints than the standard number [SDK]
- Known Issues with SDK 0.14.8 Release
-
CTR-SDK 0.14.8 System Updater (2010/12/07)
- Note 84-01: (AC) Revised Sleep Mode processing [System Updater]
- Note 84-02: (AC) Fixed a resource leak [System Updater]
- Note 84-03: (CEC) Fixed bug when exchanging data with friends and non-friends [System Updater]
- Note 84-04: (CEC) Changed specification for exchanging StreetPass data again with the same communication peer [SDK | System Updater]
- Note 84-05: (DLP) Changed packets used for scanning [SDK | System Updater]
- Note 84-06: (FS) Fixed bug where file system functions would return
nn::os::ResultSessionClosed
[System Updater]
- Note 84-07: (UDS) Fixed a bug where a fatal error would occur if calling
ReceiveFrom
when an endpoint is destroyed [System Updater]
- Known Issues with System Updater in SDK Version 0.14.8
-
CTR-SDK 0.14.8 Sample Demos (2010/12/07)
- Note 83-01: (GR) Added support to GR demo library
lib_grfw
for display buffer formats other than GL_RGB8_OES
[Sample Demos]
- Known Issues with SDK 0.14.8 Sample Demos
-
CTR-SDK 0.14.7 Release (2010/12/03)
- Note 82-01: (APPLET) Changed so that the control returns from
WaitForStarting
after a shutdown notification [SDK | System Updater]
- Note 82-02: (BOSS) Revised the
NsData::ReadData
function [SDK | System Updater]
- Note 82-03: (BOSS) Fixed a bug that occurred when a task resulted in an error [SDK | System Updater]
- Note 82-04: (CAMERA) Changed the name of the member of the
Size
enumerated type [SDK]
- Note 82-05: (DLP) Revised
DlpClient
to reboot itself [SDK]
- Note 82-06: (DLP) Reduced the processing load of the
GetLinkLevel
function [SDK | System Updater]
- Note 82-07: (DLP) Added a function to get the server's wireless link level [SDK]
- Note 82-08: (FS) Removed some characters from the list of unusable characters in file and directory names [SDK]
- Note 82-09: (FS) Fixed the problem of insufficient memory when multiple archives were mounted at the same time [SDK]
- Note 82-10 (FS) Fixed the problem where a
ResultArchiveInvalidated
would occur when multiple Content
s were mounted [SDK]
- Note 82-11: (GR) Fixed a bug in the
Shader::MakeOutAttrCommand
function in the GR library [SDK]
- Note 82-12: (HID) Revised the
GyroscopeReader::GetZeroDriftMode
function [SDK]
- Note 82-13: (HID) Revised the
hid::GyroscopeReader::SetZeroDriftMode
function [SDK]
- Note 82-14:(NEWS) Revised the NEWS library [SDK | System Updater]
- Note 82-15: (OS) Fixed a bug where incorrect
Tick
values were returned [SDK]
- Note 82-16: (PL) Fixed a bug where a halt would occur when the
nn::pl::InitializeSharedFont
function was called [SDK]
- Note 82-17: (SND) Fixed a bug where noise would occur when the system transitions to an applet or to the sleep mode [SDK]
- Note 82-18: (SND) Fixed a bug where surround sound would become distorted when the system recovers from the sleep mode or transitions to the HOME Menu with the headphones inserted [SDK]
- Note 82-19: (TOOL) Reduced the shared extended save data created by
DevMenu
[SDK]
- Known Issues in the SDK Version 0.14.7 Release
-
CTR-SDK 0.14.7 System Updater (2010/12/03)
- Note 81-01: (AC) Revised the
*Async
functions [System Updater]
- Note 81-02: (AC) Fixed a problem where failure would result upon repeated connections and disconnections [System Updater]
- Note 81-03: (APPLET) Changed so that the control returns from
WaitForStarting
after a shutdown notification. [SDK | System Updater]
- Note 81-04: (BOSS) Revised the
NsData::ReadData
function [SDK | System Updater]
- Note 81-05: (BOSS) Fixed a bug in the
Task::GetStateDetail
function [System Updater]
- Note 81-06: (BOSS) Fixed a bug where NSD loading would not work correctly depending on the timing [System Updater]
- Note 81-07: (BOSS) Fixed a bug that occurred when a task resulted in an error [SDK | System Updater]
- Note 81-08: (CAMERA) Fixed a bug where a halt would occur if the
SetReceiving
function was called after sleep is accepted [System Updater]
- Note 81-09: (DLP) Fixed a bug where a child could not be booted after a system update with DLP (DUP) [System Updater]
- Note 81-10: (DLP) Reduced the processing load of the
GetLinkLevel
function [SDK | System Updater]
- Note 81-09: (FRIENDS) Made another change to a handle leak in the daemon [System Updater]
- Note 81-12: (FS) Revised the
CreateFile
function [System Updater]
- Note 81-13: (FS) Changed the format of save data in backup memory on Game Cards [System Updater]
- Note 81-14: (FS) Fixed a problem where an invalid value was obtained for available NAND memory after deleting a title [System Updater]
- Note 81-15: (FS) Fixed a bug specific to renaming within the same path name [System Updater]
- Note 81-16:(NEWS) Revised the NEWS library [SDK | System Updater]
- Note 81-17: (TOOL) Revised the System Updater [System Updater]
- Note 81-18: (UDS) Fixed a bug where processing would not complete when
Finalize
is run during communications [System Updater]
- Known Issues with System Updater in SDK Version 0.14.7
-
CTR-SDK 0.14.7 Sample Demos (2010/12/03)
- Note 80-01: (AC) Fixed a bug where a red screen would result if you use a hard break in the
ac
demo [Sample Demos]
- Note 80-02: (DLP) Revised POWER Button processes for the
FakeClient
demo [Sample Demos]
- Note 80-03: (FS) Revised error handling during the mounting of save data in
demo1
[Sample Demos]
- Known Issues with SDK 0.14.7 Sample Demos
-
CTR-SDK 0.14.6 Release (2010/11/30)
- Note 79-01: (AC) Corrected the
*Async
functions [SDK | System Updater]
- Note 79-02: (APPLET) Added the IsExpectedToCloseApplication function for determining termination with the power button, etc. [SDK]
- Note 79-03: (BOSS) Added the GetErrorCode function [SDK | System Updater]
- Note 79-04: (CEC) Added restriction regarding data body size [SDK]
- Note 79-05: (DLP) Added child device connection restrictions [SDK | System Updater | Sample Demos]
- Note 79-06: (FONT) Fixed bug related to texture cache clear during font rendering [SDK]
- Note 79-07: (FS) Fixed the
nn::fs::GetSdmcSize
function [SDK]
- Note 79-08: (SND) Fixed a bug that prevented the Voice IIR filter status from being cleared [SDK]
- Note 79-09: (TOOL) Revised the
Config
tool [SDK]
- Note 79-10: (TOOL) Added a feature to DevMenu to clear all shared extended save data [SDK]
- Note 79-11: (TOOL) Fixed bug that occurred when initializing DevMenu shared extended save data [SDK]
- Note 79-12: (UDS) Fixed a bug that caused an invalid state when uds::Initialize was executed at a specific time when sleep started [SDK]
- Known Issues in the SDK Version 0.14.6 Release
-
CTR-SDK 0.14.6 System Updater (2010/11/30)
- Note 78-01: (AC) Corrected the
*Async
functions [SDK | System Updater]
- Note 78-02: (AC) Corrected error codes [System Updater]
- Note 78-03: (BOSS) Added the GetErrorCode function [SDK | System Updater]
- Note 78-04: (BOSS) Improved speed of the functions that acquire task status (GetState, etc.) [System Updater]
- Note 78-05: (DLP) Added child device connection restrictions [SDK | System Updater | Sample Demos]
- Note 78-06: (DLP) Fixed bug that halted with rebooted after a child device download [System Updater]
- Note 78-07: (DevEnv) Support for starting cards that do not have a ProgramID of 0 using the application jump via the development menu [System Updater]
- Note 78-08: (FS) Fixed the deadlock when extended save data is mounted/unmounted [System Updater]
- Note 78-09: (NDM) Fixed problem with the timing to connect to an AP in the background [System Updater]
- Note 78-10: (TOOL) Changed so that the shared extended save data when applying the System Updater [System Updater]
- Note 78-11: (UDS) Addressed cases when an abnormal state would occur when re-initializing the UDS library [System Updater]
- Note 78-12: (UDS) Fixed a bug that allowed Spectators to connect to the network using the old NetworkDescription [System Updater]
- Note 78-13: (UDS) Fixed the recovery process when sleep was entered during communications [System Updater]
- Known Issues with System Updater in SDK Version 0.14.6
-
CTR-SDK 0.14.6 Sample Demos (2010/11/30)
- Note 77-01: (BOSS) "Decreased standby time" and "added explanatory comments related to the network connection processing" for sample_nadl_simple [Sample Demos]
- Note 77-02: (CAMERA) Corrected the camera sample demo [Sample Demos]
- Note 77-03: (DLP) Changed the size of the dummy update archive [Sample Demos]
- Note 77-04: (DLP) Added child device connection restrictions [SDK | System Updater | Sample Demos]
- Known Issues with SDK 0.14.6 Sample Demos
-
CTR-SDK 0.14.5 Release (2010/11/26)
- Note 76-01: (AC) Corrected the
Connect(Async)
function [SDK]
- Note 76-02: (APPLET) Defined the parameter values for the EnableSleep and DisableSleep functions [SDK]
- Note 76-03: (CEC) Enabled operation restrictions with parental controls [SDK | System Updater]
- Note 76-04: (FS) Corrected the return value when mounting (shared) extended save data [SDK]
- Note 76-05: (FS) Corrected the error when mounting (shared) extended save data [SDK]
- Note 76-06: (FS) Added the
GetSdmcSize
function [SDK]
- Note 76-07: (FS) Corrected the assert condition when closing a file [SDK]
- Note 76-08: (GR) Fixed a bug in the Shader::MakeOutAttrCommand function in the GR library [SDK]
- Note 76-76:(PL) Corrected the pedometer library error check [SDK]
- Note 76-10: (TOOL) Corrected the dummy Mii registration performed by the FriendTool [SDK]
- Note 76-11:(TOOL) Changed the WAV file parsing specifications of WaveConverter [SDK]
- Note 76-12: (TOOL) Fixed bug related to the ctr_WaveConverter loop option [SDK]
- Note 76-13: (TOOL) Changed the
ctr_makebanner32
specifications [SDK]
- Note 76-14: (TOOL) Changed the location of the loadrun document [SDK]
- Note 76-15: (UBL) Support for shared extended save data [SDK]
- Note 76-16: (UTIL) Deleted the NN_UTIL_RETURN_IF_FAILED log [SDK]
- Known Issues in the SDK 0.14.5 Release
-
CTR-SDK 0.14.5 System Updater (2010/11/26)
- Note 75-01: (AC) Corrected the
*Async
functions [System Updater]
- Note 75-02: (BOSS) Fixed bug related to resume and TASK_PAUSE [System Updater]
- Note 75-03: (CAMERA) Corrected the
SetPackageParameterWithoutContext
function [System Updater]
- Note 75-04: (CAMERA) Corrected the camera restart processing [System Updater]
- Note 75-04: (CEC) Enabled operation restrictions with parental controls [SDK | System Updater]
- Note 75-06: (DLP) Fixed problem that reduced the maximum number of servers that can scan [System Updater]
- Note 75-07: (DLP) Corrected so that the channel to start scanning is randomized [System Updater]
- Note 75-08: (DevEnv) Corrected the FATAL/card removal error message [System Updater]
- Note 75-09: (FRIENDS) Corrected the handle leak in the daemon [System Updater]
- Note 75-10: (FS) Fixed bug that aborted access to the card during MIDI data reads [System Updater]
- Note 75-11: (FS) Fixed a bug related to the SD card removal processing [System Updater]
- Note 75-12: (FS) Changed the format for (shared) extended save data in conjunction with performance improvements [System Updater]
- Note 75-13: (NDM) Corrected SuspendScheduler [System Updater]
- Note 75-14: (NDM) Corrected cases when the application did not terminate the communication library appropriately [System Updater]
- Note 75-15: (NDM) Corrected processing when recovering from Sleep Mode [System Updater]
- Note 75-16:(NEWS) Revised the NEWS library [System Updater]
- Note 75-17: (OS) Fixed bug that caused the system to hang when the NN_LOG function was executed when a thread was terminated with the debugger [System Updater]
- Note 75-18: (OS) Fixed bug that caused the VFP register display to be invalid when forcibly breaking with the debugger [System Updater]
- Note 75-19: (SOCKET) Fixed a bug that caused deadlocks [System Updater]
- Note 75-20: (TOOL) Changed status after applying System Updater [System Updater]
- Known Issues with System Updater in SDK Version 0.14.5
-
CTR-SDK 0.14.5 Sample Demos (2010/11/26)
- Note 74-01: (CAMERA) Corrected the camera sample demo [Sample Demos]
- Known Issues with SDK 0.14.5 Sample Demos
-
CTR-SDK 0.14.4 Release (2010/11/23)
- Note 73-01: (APPLET) Added
applet::EnableSleep
and applet::DisableSleep
functions [SDK]
- Note 73-02: (APPLET) Added callback for when system opens during sleep queries [SDK | System Updater]
- Note 73-03: (CAMERA) Revised process when system closes during initialization [SDK]
- Note 73-04: (CFG) Added functions to get Parental Controls settings [SDK]
- Note 73-05: (FS) Revised the
nn::fs::CreateFile
function [SDK]
- Note 73-06: (SND) Deleted assert from within the
InitializeWaveBuffer
function [SDK]
- Note 73-07: (SND) Fixed a bug in
WaveBuffer
deallocation [SDK]
- Note 73-08: (SOCKET) Revised
GetAddrInfo
function to make it thread-safe [SDK]
- Note 73-09: (TOOL) Revised the
NetworkSetting
tool reference [SDK]
- Note 73-10: (Y2R) Revised process when system goes to sleep during initialization [SDK]
- Known Issues with SDK 0.14.4 Release
-
CTR-SDK 0.14.4 System Updater (2010/11/23)
- Note 72-01: (APPLET) Fixed a bug concerning going to sleep while starting or shutting down an application or applet [System Updater | Sample Demos]
- Note 72-02: (APPLET) Added callback for when system opens during sleep queries [SDK | System Updater]
- Note 72-03: (BOSS) Fixed bug where some tasks would not run after calling
PauseAllTasks
and then calling ResumeAllTasks
[System Updater]
- Note 72-04: (FRIENDS) Fixed bug where wrong network error code was returned during NAS authentication [System Updater]
- Note 72-05: (FRIENDS) Fixed bug where the font region of the local display name was not saved [System Updater]
- Note 72-06: (FS) Revised error when mounting factory-default backup memory [SDK | System Updater]
- Note 72-07: (HTTP) Revised the
Read
and GetHeader
functions [System Updater]
- Note 72-08: (MIC) Fixed bug in processing to prevent sampling when system is closed [System Updater]
- Note 72-09: (MIC) Fixed bug where microphone would become unusable when calling
Finalize
with the system closed [System Updater]
- Note 72-10: (OS) Fixed bug where system could not reboot after removing a card [System Updater]
- Note 72-11: (OS) Fixed bug where system would halt when holding down the HOME Button while powering off [System Updater]
- Note 72-12: (TOOL) Added
RegionSelector
features [System Updater]
- Note 72-13: (UDS) Fixed bug where a fatal error would occur if an application was shut down during communication [System Updater]
- Known Issues with System Updater in SDK Version 0.14.4
-
CTR-SDK 0.14.4 Sample Demos (2010/11/23)
- Note 71-01: (APPLET) Fixed a bug concerning going to sleep while starting or shutting down an application or applet [System Updater | Sample Demos]
- Note 71-02: (MIC) Revised microphone error processing in
demo1
[Sample Demos]
- Note 71-03: (NEWS) Partially revised the
news_test
demo [Sample Demos]
- Known Issues with SDK 0.14.4 Sample Demos
-
CTR-SDK 0.14.3 Release (2010/11/19)
- Note 70-01: (CAMERA) Fixed bug where the camera would not recover normally if the system was closed during a transition to an application caused by the HOME Button [SDK | System Updater]
- Note 70-02: (CEC) Fixed a bug where OpenMessageBox would fail [SDK | System Updater]
- Note 70-03: (CEC) Fixed a problem where the send count value would not go down
- Note 70-04: (CFG) Revised the
nn::cfg::CTR::IsAgreedEula
function [SDK]
- Note 70-05: (DLP) Added sleep support for Sample Demos and DlpClient [SDK | Sample Demos]
- Note 70-06: (DLP) Extensions to Sample Demos and Tool [SDK | Sample Demos]
- Note 70-07: (DevEnv) Added a description of addition to the application in the electronics operations manual [SDK]
- Note 70-08: (FRIENDS) Added the fact that GetMyMii sometimes gets an empty Mii to the reference [SDK]
- Note 70-09: (HID) Fixed a bug where an abnormal sampling value would occasionally occur [SDK]
- Note 70-10: (TOOL) Revised DevMenu shared extended save data operations[SDK]
- Note 70-11: (UDS) Fixed a bug where the AllowToConnect function would not work correctly if called after the DisallowToConnect function [SDK]
- Known Issues in the SDK 0.14.3 Release
-
CTR-SDK 0.14.3 System Updater (2010/11/19)
- Note 69-01: (BOSS) Revised the BOSS storage memory allocation process [System Updater]
- Note 69-02: (BOSS) Corrected problems found in CTR-SDK 0.14.0.x [System Updater]
- Note 69-03: (CAMERA) Fixed a bug where the camera would not recover normally if the system was closed during a transition to an application caused by the HOME Button [SDK | System Updater]
- Note 69-04: (CEC) Fixed a bug where OpenMessageBox would fail [SDK | System Updater]
- Note 69-05: (CEC) Fixed a bug where data could not be sent
- Note 69-06: (DLP) Added support for DLP system updates [System Updater | Sample Demos]
- Note 69-07: (DevEnv) Fixed a bug during display of the FATAL/Card removed error [System Updater]
- Note 69-08: (FS) Fixed a bug where mounting a ROM file system would sometimes fail [System Updater]
- Note 69-09: (FS) Fixed a deadlock in the file system [System Updater]
- Note 69-10: (HID) Fixed a bug where illegal coordinates would result after immediately after a pen-down on the touch panel [System Updater]
- Note 69-11: (HTTP) Fixed a bug where HTTPS communications via proxy were impossible [System Updater]
- Note 69-12: (GX) Revised the 3D LED initialization process [System Updater]
- Known Issues with System Updater in SDK Version 0.14.3
-
CTR-SDK 0.14.3 Sample Demos (2010/11/19)
- Note 68-01: (DLP) Added support for DLP system updates [System Updater | Sample Demos]
- Note 68-02: (DLP) Added sleep support for Sample Demos and DlpClient [SDK | Sample Demos]
- Note 68-03: (DLP) Extensions to Sample Demos and Tool [SDK | Sample Demos]
- Note 68-04: (SND) Added an electronics operations manual for a demo [Sample Demos]
- Note 68-05: (UDS) Fixed a bug where the throughput and error rate display for Master would appear as garbage when using com_demo1 [Sample Demos]
- Known Issues with SDK 0.14.3 Sample Demos
-
CTR-SDK 0.14.2 Release (2010/11/17)
- Note 67-01: (APPLET) Sleep problem when returning from the developer's menu [SDK | System Updater]
- Note 67-02: (CAMERA) Fixed a bug where the camera would not recover normally if the system was closed during a transition caused by the HOME Button [SDK | System Updater]
- Note 67-03: (GR) Revised the GR library so that it generates cube map and shadow map commands [SDK]
- Note 67-04: (GR) Revised the GR library so that it generates border color commands for each texture [SDK]
- Note 67-05: (GR) Revised specifications so that the framebuffer cache is cleared when a RenderState class public variable command is generated by the GR library [SDK]
- Note 67-06: (PL) Deleted the Initialize/FinalizePedometer functions [SDK]
- Note 67-07: (UBL) Revised the UBL Library [SDK]
- Note 67-08: (UDS) Adjusted the setting range for the maximum send delay time [SDK]
- Known Issues in the SDK 0.14.2 Release
-
CTR-SDK 0.14.2 System Updater (2010/11/17)
- Note 66-01: (APPLET) Sleep problem when returning from the developer's menu [SDK | System Updater]
- Note 66-02: (CAMERA) Fixed a bug where the camera would not recover normally if the system was closed during a transition caused by the HOME Button [SDK | System Updater]
- Note 66-03: (DevEnv) Fixed a bug during display of the FATAL/Card removed error [System Updater]
- Note 66-04: (DevEnv) Fixed a bug occurring when the system is closed immediately after startup [System Updater]
- Note 66-05: (DevEnv) Fixed a bug where the HOME Button would not work on the developer's menu [System Updater]
- Note 66-06: (FRIENDS) Fixed a bug where account and friend list information sometimes could not be written to file during shutdown [System Updater]
- Note 66-07: (MCU) Fixed a bug where a quick opening and closing of the system was not handled well [System Updater]
- Note 66-08: (NDM) Fixed a timing bug with sleep and WiFi on/off [System Updater]
- Note 66-09: (UDS) Fixed a bug where the uds::Initialize would not exit [System Updater]
- Note 66-10: (UDS) Fixed a bug where status update events were not being signaled when transiting to sleep or wireless off mode while not connected [System Updater]
- Note 66-11: (UDS) Fixed a bug where a FATAL error would occur when calling DestroyEndpoint after recovering from sleep during communications [System Updater]
- Known Issues with System Updater in SDK Version 0.14.2
-
CTR-SDK 0.14.1 Release (2010/11/15)
- Note 65-01: (AC) Revised the
Connect(Async)(
function [SDK]
- Note 65-02: (AC) Deprecated the
GetStatus/GetStatusChangeEvent
function [System Updater]
- Note 65-03: (AC) Added the
IsConnected
function [SDK | System Updater]
- Note 65-04: (APPLET) Added the
Enable
function [SDK | System Updater | Sample Demos]
- Note 65-05: (BOSS) Changed specifications so that nn::ac::Connect is required before calling the Task::StartImmediate function [SDK]
- Note 65-06: (CEC) Changed the timing of the EULA check [SDK | System Updater | Sample Demos]
- Note 65-07: (CEC) Changed operations when StartScanning is called [SDK]
- Note 65-08: (CX) Fixed a bug in the
nn::cx::ReadUncompLH
function [SDK]
- Note 65-09: (DLP) Released uninitialized status [SDK]
- Note 65-10: (DevEnv) Deleted the cia files DlpClient and StereoCameraCalibrator [SDK]
- Note 65-11: (Friends) Changed specifications so that nn::ac::Connect is required before calling the Login function [SDK]
- Note 65-12: (FRIENDS) Changed the internal definition of the MiiData structure [SDK]
- Note 65-13: (FS) Revised the
GetArchiveFreeSize
function [SDK | System Updater]
- Note 65-14: (FS) Redacted the
GetFileSystemSize
function [SDK]
- Note 65-15: (FS) Undisclosed the
ReadExtSaveDataIcon
function [SDK]
- Note 65-16: (FS) Added the
nn::fs::GetExtSaveDataSize
function [SDK | System Updater]
- Note 65-17: (FS) Deleted the unneeded Result definitions from file system headers [SDK]
- Note 65-18: (GR) Changed the type of FrameBuffer::DepthStencilBuffer::clearStencil in the GR library to u8 [SDK]
- Note 65-19: (GX) Fixed a bug where the command buffer was not being copied normally by the
nngxAddCmdlist
function [SDK]
- Note 65-20: (GX) Updated documentation [SDK]
- Note 65-21: (HID) Fixed a bug in
STICK_CLAMP_MODE_MINIMUM
[SDK | System Updater]
- Note 65-22: (HTTP) Revised the API Reference Manual[SDK]
- Note 65-23: (NEWS) Revised the NEWS library [SDK | System Updater]
- Note 65-24: (NGC) Fixed a bug where some prohibited words were not being detected correctly [SDK]
- Note 65-25: (NGC) Changed the behavior when the system region is Japan [SDK]
- Note 65-26: (SND) Fixed a bug related to freeing memory with nn::snd::FxDelay [SDK]
- Note 65-27: (SND) Added a description of the timing used for calling the voice drop callback [SDK]
- Note 65-28: (SSL) Revised the API Reference Manual [SDK]
- Note 65-29: (SSL) Renamed ResultSocketZeroReturnErr [SDK | Sample Demos]
- Note 65-30: (TOOL) Fixed the language set by ResetSetting of the Config tool [SDK]
- Note 65-31: (TOOL) Added a function to DevMenu for setting the memory region at initial startup of the HOME Menu [SDK]
- Note 65-32: (TOOL) Extended
NetworkSetting
tool [SDK]
- Note 65-33: (TOOL) Revised
ctr_makeciaarchive
[SDK]
- Note 65-34: (TOOL) Fixed a bug where labels of the form "IN"(N=0,1,2,...) were not being freed by the shader assembler [SDK]
- Note 65-35: (TOOL) Added a function for checking shader integrity [SDK]
- Note 65-36: (TOOL) Changed the product code format [SDK]
- Note 65-37: (UDS) Fixed a bug where the
Receive
and ReceiveFrom
functions would continue to block [SDK]
- Note 65-38: (UDS) Fixed a bug where a Panic would result if endpoint was destroyed by the DestroyEndpoint function while the Receive function was blocking [SDK]
- Note 65-39: (UDS) Fixed a bug where determination whether it was possible to connect as a Spectator was not being handled correctly [SDK]
- Note 65-40: (UDS) Fixed a bug where abnormal operations would result after re-initializing the system after sleeping it during communications [System Updater]
- Known Issues in the SDK 0.14.1 Release
-
CTR-SDK 0.14.1 System Updater (2010/11/15)
- Note 64-01: (AC) Revised the
Connect(Async)
function [System Updater]
- Note 64-02: (AC) Deprecated the
GetStatus/GetStatusChangeEvent
function [System Updater]
- Note 64-03: (AC) Added the
IsConnected
function [SDK | System Updater]
- Note 64-04: (APPLET) Added the
Enable
function [SDK | System Updater | Sample Demos]
- Note 64-05: (BOSS) Revised the
NsData::SetAdditionalInfo
function [System Updater]
- Note 64-06: (BOSS) Fixed a bug where BOSS would wake up when there was no executing task [System Updater]
- Note 64-07: (BOSS) Fixed a bug where power save during wireless operations would not work [System Updater]
- Note 64-08: (CAMERA) Changed specifications so a value other than WHITE_BALANCE_NORMAL can be set for the SetPackageParameterWithoutContext function [System Updater]
- Note 64-09: (CEC) Fixed a bug where mistaken operations would result if the number of send data messages for a single communication was 0 [System Updater]
- Note 64-10: (CEC) Changed the timing of the EULA check [SDK | System Updater | Sample Demos]
- Note 64-11: (CEC) Fixed a gap in AP searches during sleep [System Updater]
- Note 64-12: (DevEnv) Added a display message when a FATAL error occurs [System Updater]
- Note 64-13: (DevEnv) Changed settings at development menu startup time when halting an application [System Updater]
- Note 64-14: (DevEnv) Fixed a bug with screen display status when starting an application [System Updater]
- Note 64-15: (DevEnv) Added a reboot sequence when displaying a "card removed" error [System Updater]
- Note 64-16: (DevEnv) Revised shutdown processing [System Updater]
- Note 64-17: (DevEnv) Changed the default background brightness value [System Updater]
- Note 64-18: (FRIENDS) Fixed a bug where users waiting to establish friend relationships were being removed from the friends list [System Updater]
- Note 64-19: (FS) Revised the
FormatSaveData
function [System Updater]
- Note 64-20: (FS) Revised the
GetArchiveFreeSize
function [SDK | System Updater]
- Note 64-21: (FS) Revised the return values of the
MountSaveData
function [System Updater]
- Note 64-22: (FS) Revised SD Memory Card removal processing [System Updater]
- Note 64-23: (FS) Revised the directory attributes in SDMC archives [System Updater]
- Note 64-24: (FS) Revised the time stamp in SDMC archives [System Updater]
- Note 64-25: (FS) Revised the path name check used with fatfs archives [System Updater]
- Note 64-26: (FS) Added the
nn::fs::GetExtSaveDataSize
function [SDK | System Updater]
- Note 64-27: (FS) Changed the internal format used for save data and extended save data [System Updater]
- Note 64-28: (FS) Made revisions related to removing a card while accessing backup memory [System Updater]
- Note 64-29: (FS) Changed behavior when removing a directory that includes a final forward slash in the specified path name [System Updater]
- Note 64-30: (FS) Implemented access restrictions on the file system [System Updater]
- Note 64-31: (FS) Fixed a bug where execution would freeze when accessing a file or directory [System Updater]
- Note 64-32: (HID) Fixed a bug where invalid touch panel data would occasionally result [System Updater]
- Note 64-33: (HTTP) Changed the specifications of
Cancel
and Finalize
in relation to keep alive communications [System Updater]
- Note 64-34: (NDM) Fixed a bug where the system would willfully cut the network connection [System Updater]
- Note 64-35: (NET) Revised the ZoneAP scan feature [System Updater]
- Note 64-36: (NET) Stabilized the send signal strength immediately after switching communication modes [System Updater]
- Note 64-37: (NEWS) Revised the NEWS library [SDK | System Updater]
- Note 64-38: (NGC) Revised the prohibited word list for the North America region, Portuguese language [SDK]
- Note 64-39: (PL) Fixed a bug where the number of steps obtained was not correct [System Updater]
- Note 64-40: (PTM) Fixed a bug where the system would not wake up from sleep when the alarm went off [System Updater]
- Note 64-41: (SOCKET) Fixed a bug occurring when the socket to be polled was closed [System Updater]
- Note 64-42: (UDS) Fixed a bug where applications would terminate during UDS communications [System Updater]
- Note 64-43: (UDS) Changed the state returned by the GetConnectionState function after entering wireless OFF mode and going to sleep [System Updater]
- Note 64-44: (UDS) Fixed a bug where Client/Spectator disconnection could not be performed correctly when signal status was poor [System Updater]
- Known Issues with System Updater in SDK Version 0.14.1
-
CTR-SDK 0.14.1 Sample Demos (2010/11/15)
- Note 63-01: (AC) Deleted connect_c (C language AC sample) [Sample Demos]
- Note 63-02: (AC) Added an fs initialization process to sample demos that use various nn::ac::Connect function [Sample Demos]
- Note 63-03: (APPLET) Added the
Enable
function [SDK | System Updater | Sample Demos]
- Note 63-04: (BOSS) Revised the sample_nadl_simple [Sample Demos]
- Note 63-05: (CEC) Changed the timing of the EULA check [SDK | System Updater | Sample Demos]
- Note 63-06: (GX) Fixed a bug with the demo for editing procedural texture parameters [Sample Demos]
- Note 63-07: (SSL) Renamed ResultSocketZeroReturnErr [SDK | Sample Demos]
- Note 63-08: (UDS) com_demo1 demo support for sleep, the HOME Button, and the WiFi button [Sample Demos]
- Note 63-09: (UDS) Changed specifications so that connections are made in Spectator mode by the uds/simple demo [Sample Demos]
- Known Issues with SDK 0.14.1 Sample Demos
-
CTR-SDK 0.14.0.5 Release (2010/11/09)
- Note 62-01: (FS) Revised the latency emulation default settings [SDK | System Updater]
- Known Issues in the SDK 0.14.0.5 Release
-
CTR-SDK 0.14.0.5 System Updater (2010/11/09)
- Note 61-01: (FS) Revised the latency emulation default settings [SDK | System Updater]
- Known Issues with System Updater in SDK Version 0.14.0.5
-
CTR-SDK 0.14.0.4 Release (2010/11/08)
- Note 60-01: (FS) Fixed the problem that caused an SD card to not be recognized when inserted/removed during Sleep [SDK | System Updater]
- Note 60-02: (NGC) Fixed problem that caused initialization to fail [SDK]
- Known Issues with SDK 0.14.0.4 Release
-
CTR-SDK 0.14.0.4 System Updater (2010/11/08)
- Note 59-01: (BOSS) Fixed problem that caused a FATAL ERROR to occur when waking while half-awake [System Updater]
- Note 59-02: (FS) Fixed the problem that caused an SD card to not be recognized when inserted/removed during Sleep [SDK | System Updater]
- Known Issues with System Updater in SDK Version 0.14.0.4
-
CTR-SDK 0.14.0.3 Release (2010/11/06)
- Note 58-01: (SOCKET) Fixed FATAL ERROR 0xD8E007FD [SDK]
- Known Issues with SDK 0.14.0.3 Release
-
CTR-SDK 0.14.0.3 System Updater (2010/11/06)
- Note 57-01: (DLP) Fixed problems in importing child devices with DLP [System Updater]
- Note 57-02: (FS) Fixed the
MountSaveData
function [System Updater]
- Note 57-03: (OS) Fixed the problem that caused the register value to be corrupted when stepping/tracing with the debugger [System Updater]
- Known Issues with System Updater in SDK Version 0.14.0.3
-
CTR-SDK 0.14.0.2 Release (2010/11/05)
- Note 56-01:(APPLET) Fixed bugs related to state transition and exclusive control of the HOME Button, Power Button and Sleep Mode [SDK | System Updater]
- Note 56-02:(OS) Fixed a bug where the shut down process would not complete [SDK | System Updater]
- Note 56-03:(PL) Fixed a bug where the number of steps was not being saved at shutdown.[SDK | System Updater]
- Known Issues in the SDK 0.14.0.2 Release
-
CTR-SDK 0.14.0.2 System Updater (2010/11/05)
- Note 55-01:(APPLET) Fixed bugs related to state transition and exclusive control of the HOME Button, Power Button and Sleep Mode [SDK | System Updater]
- Note 55-02:(OS) Fixed a bug where the shut down process would not complete [SDK | System Updater]
- Note 55-03:(PL) Fixed a bug where the number of steps was not being saved at shutdown.[SDK | System Updater]
- Known Issues with System Updater in SDK Version 0.14.0.2
-
CTR-SDK 0.14.0.1 System Updater (2010/11/03)
- Note 54-01:(DevEnv) Revised game card hot-swapping
- Note 54-02:(OS) Fixed a bug where an abort would result if the debugger continues step execution [System Updater]
- Known Issues with System Updater in SDK Version 0.14.0.1
-
CTR-SDK 0.14.0 Release (2010/11/01)
- Note 53-01: (APPLET) Added support for HOME Button detection and transitioning to the HOME Menu [SDK]
- Note 53-02:(APPLET) Removed the SLEEP notification callback [SDK]
- Note 53-03:(APPLET) Moved the applet::Initialize function to the StartUp API [SDK]
- Note 53-04: (CAMERA) Revised the Initialize function [SDK | System Updater]
- Note 53-05: (CAMERA) Revised the SetPhotoMode function [SDK | System Updater]
- Note 53-06:(CAMERA) Added camera stop processing during Applet transition [SDK | System Updater]
- Note 53-07:(CEC) Added the argument CecControl::StopScanning [SDK | System Updater]
- Note 53-08:(CEC) Added EULA Agreement version detection [SDK | System Updater]
- Note 53-09:(CEC) Changed the procedure for writing messages [SDK | System Updater]
- Note 53-10:(CEC) Added a feature for stopping daemon execution when accessing a box [SDK | System Updater]
- Note 53-11:(CFG) Added an API for determining if the EULA agreement has been accepted [SDK | System Updater]
- Note 53-12:(DLP) Changed the API [SDK | System Updater]
- Note 53-13:(DLP) Settled on the error codes returned by API functions[SDK | System Updater]
- Note 53-14:(DLP) Added the ability to specify the wireless channel for the server [SDK | System Updater]
- Note 53-15:(DLP) Added an API function for deleting scan results[SDK | System Updater]
- Note 53-16:(DLP) Changed the reconnection information [SDK | System Updater]
- Note 53-17:(DLP) Changed forcible download specifications for child devices [SDK | System Updater]
- Note 53-18:(DLP) Now allow the communication buffer size and number of buffers to be specified [SDK | System Updater]
- Note 53-19:(DevEnv) Changed CTR_NO_BANNER specifications and added CTR_NO_BANNER_ICON [SDK]
- Note 53-20:(DevEnv) Changed the symbol nnMain to no longer be a target of dead-stripping.
- Note 53-21: (DevEnv) Added the shared font data [SDK]
- Note 53-22:(DevEnv) Stopped importing of applications to system save memory[SDK | System Updater]
- Note 53-23:(DevEnv) Changed the amount of memory that can be used by both development hardware and PARTNER-CTR Capture to 64MB [SDK | System Updater]
- Note 53-24:(FND) Changed the upper limit on ExpHeap alignment to 128 bytes [SDK]
- Note 53-25:(FND) Changed nn::fnd::DateTime::GetParameters to a const member function.
- Note 53-26:(FRIENDS) Deleted the Logout function [SDK]
- Note 53-27:(FRIENDS) Added Miis and profile update notification [SDK | System Updater]
- Note 53-28: (FRIENDS) Deleted the SetNotificationMask function [SDK]
- Note 53-29:(FRIENDS) Deleted API functions with features that will not be available at start [SDK]
- Note 53-30:(FRIENDS) Added an API function for encrypting local friend codes [SDK]
- Note 53-31:(FRIENDS) Deleted API functions related to one's own local friend code and friend codes [SDK]
- Note 53-32:(FRIENDS) Split up the acquisition of screen names and Miis[SDK]
- Note 53-33: (FRIENDS) Added screen name font region support [SDK | System Updater]
- Note 53-34:(FS) Support for paths including ".." [SDK]
- Note 53-35:(FS) Fixed HioArchive memory leak [SDK]
- Note 53-36:(FS) Revised the HioArchive::File::Initialize function [SDK]
- Note 53-37: (FS) Canceled restrictions on functions that get SD card insertion/removal events [SDK]
- Note 53-38:(FS) Added the nn::fs::CreateFile function [SDK]
- Note 53-39:(FS) Added a function for committing save data where data has been duplicated [SDK]
- Note 53-40:(FS) Changed Result of the file system [SDK | System Updater]
- Note 53-41:(FS) Added the Flush feature for use when writing files [SDK]
- Note 53-42:(FS) Added support for guaranteeing the completeness of extended save data and shared extended save data [SDK]
- Note 53-43: (FS) Added functions for accessing extended save data [SDK]
- Note 53-44:(FS) Placed a restriction on creating empty extended save data files. [SDK]
- Note 53-45: (FS) Changed API functions related to extended save data [SDK]
- Note 53-46:(GR) Updated the GR Library [SDK]
- Note 53-47:(GX) Added references for functions used to support direct creation of the nngx command list [SDK]
- Note 53-48:(GX) Added the nngxFlush3DCommand [SDK]
- Note 53-49:(GX) Improved the efficiency of command request processing [SDK]
- Note 53-50:(GX) Updated documentation [SDK]
- Note 53-51:(GX) Changed the macro header [SDK]
- Note 53-52:(GX) Fixed problems with the line shader [SDK]
- Note 53-53:(GX) Fixed a bug related to setting made using the glDrawArrays function when using the vertex buffer [SDK]
- Note 53-54:(HID) Revised the GyroscopeReader::Read and GyroscopeReader::ReadLatest functions [SDK]
- Note 53-55:(HID) Added the NormalizeStickWithScale function [SDK]
- Note 53-56:(HID) Changed behavior when recovering from sleep with nn::hid::GyroscopeReader [SDK]
- Note 53-57:(HID) Revised the nn::hid::GyroscopeReader::SetAngleMagnification function [SDK]
- Note 53-58: (HID) Changed the minimum slide pad clamp value [SDK]
- Note 53-59: (HID) Settled on each type of constant used with the acceleration sensor [SDK]
- Note 53-60:(HID) Added a minimum clamp mode [SDK]
- Note 53-61:(HIO) Fixed a bug with GetHioDaemonStatus [SDK]
- Note 53-62:(HIO) Made improvements related to using the API from multiple threads [SDK]
- Note 53-63:(JPEG) Added a function for specifying encoding options [SDK]
- Note 53-64:(JPEG) Added decoding options [SDK]
- Note 53-65:(JPEG) Improved decoded image quality [SDK]
- Note 53-66:(MIC) Revised the GetForbiddenArea function [SDK]
- Note 53-67:(MIC) Added clamping of mic data [SDK | System Updater]
- Note 53-68:(MIC) Changed the range of guaranteed mic input [SDK]
- Note 53-69:(NEWS) Added to the NEWS library [SDK | System Updater]
- Note 53-70:(NGC) Added North America Portuguese to the language list [SDK]
- Note 53-71:(NGC) Revised the API reference [SDK]
- Note 53-72:(OS) Added the InitializeMemoryBlock function [SDK | System Updater]
- Note 53-73:(OS) Revised internal use of Mutex in the library [SDK]
- Note 53-74:(PL) Abolished the Initialize and Finalize function [SDK]
- Note 53-75:(PL) Added an interface for mounting shared fonts [SDK]
- Note 53-76:(PL) Added a pedometer library [SDK]
- Note 53-77:(RDT) Established new result codes [SDK]
- Note 53-78:(RDT) Added an API function for log output [SDK]
- Note 53-79:(SND) Fixed a problem with ADPCM context setting confirmation asserts [SDK]
- Note 53-80:(SND) Added the OutputCaputre class [SDK]
- Note 53-81:(SND) Changed specifications for SetupBcwav [SDK]
- Note 53-82:(SND) Changed the specifications of the API function used to set the Voice filter coefficient [SDK]
- Note 53-83:(SND) Added new API functions for getting and setting the Voice filter coefficient [SDK]
- Note 53-84:(SND) Extended the Voice filter feature [SDK]
- Note 53-85:(SND) Fixed a problem where FilterType and filter coefficients were not initialized when getting Voice [SDK]
- Note 53-86:(SND) Changed the specifications of the nn::snd::Voice::SetPriority function [SDK]
- Note 53-87:(SND) Added effect API functions [SDK]
- Note 53-88:(SND) Fixed a problem where noise was being introduced when usign Aux callback processing when recovering from sleep mode [SDK]
- Note 53-89:(SND) Fixed a problem with detection function regarding dropped processing [SDK]
- Note 53-90:(SND) Fixed a problem where an exception would occur inside AllocVoice if the number of available voices was gradually reduced [SDK]
- Note 53-91:(TOOL) Changed the Config [SDK]
- Note 53-92: (TOOL) Changed the
DevMenu
[SDK]
- Note 53-93:(TOOL) Extended NetworkSetting tool [SDK]
- Note 53-94:(TOOL) Added items to the RSF [SDK | System Updater]
- Note 53-95:(TOOL) Changed the wave file interpretation specifications of WaveConverter [SDK]
- Note 53-96: (TOOL) Updated
ctr_TexturePackager32
[SDK]
- Note 53-97:(TOOL) Changed the regions that can be selected when using ctr_makebanner [SDK]
- Note 53-98:(TOOL) Made ctr_makeciaarchive32.exe open to the public [SDK]
- Note 53-99:(TOOL) Added ctr_makerom32.exe and an option for specifying the number of parallel processes [SDK]
- Note 53-100: Added (TOOL) loadrun [SDK]
- Note 53-101:(TOOL) Changed the range for UniqueId values that can be specified when using makerom [SDK]
- Note 53-102:(TOOL) Improved the performance of makerom [SDK]
- Note 53-103:(TOOL) Made the friend registration tool open to the public [SDK]
- Note 53-104:(TPL) Changed MAX_MIPMAPLEVEL to NN_TPL_MAX_MIPMAPLEVEL [SDK]
- Note 53-105:(TPL) Added the nn::tpl::GetTextureNum function [SDK]
- Note 53-106:(UDS) Added the DisallowToConnect and AllowToConnect functions [SDK]
- Note 53-107:(UDS) Revised the method of calculating radio signal strength used by the NetworkDescriptionReader::GetRadioStrength function [SDK]
- Note 53-108:(UDS) Added the error ResultMalformedData [SDK]
- Note 53-109:(UDS) Added the SetMaxSendDelay function [SDK]
- Note 53-110: (UDS) Added members to the
nn::uds::ConnectionStatus
structure [SDK]
- Note 53-111:(UDS) Fixed a bug where the incorrect Result was being returned by nn::uds::CreateNetwork when the maximum number of nodes was set to 1 [SDK]
- Note 53-112:(UDS) Changed members of the nn::uds::NodeInformation structure [SDK]
- Note 53-113:(UDS) Added nn::uds::ResultMiscellaneousSystemError [SDK]
- Note 53-114:(UDS) Deleted the nn::uds::SetNetworkAttribute function [SDK]
- Note 53-115:(UDS) Revised the method of calculating the link level [SDK]
- Note 53-116:(UDS) Deleted a not recommended execution of the DisconnectNetwork function after being disconnected [SDK]
- Note 53-117:(UDS) Revised the REsult value when an attempt is made to connect to a network that has reached the maximum number of nodes [SDK]
- Note 53-118:(ULCD) Exposed the prohibition against copying the StereoCamera class [SDK]
- Note 53-119: (ULCD) Added support for
const
member functions in the StereoCamera
class [SDK]
- Note 53-120:(ULCD) Fixed a problem with constructors that have an argument in the StereoCamera class [SDK]
- Note 53-121:(ULCD) Fixed a problem with the StereoCamera::GetMaxParallax function [SDK]
- Note 53-122:(UTIL) Added the CRC class [SDK]
- Known Issues with SDK 0.14.0 Release
-
CTR-SDK 0.14.0 System Updater (2010/11/01)
- Note 52-01:(AC) Revised the CancelConnectAsync function [System Updater]
- Note 52-02: (AC) Fixed the
Connect
function [System Updater]
- Note 52-03:(AC) Revised the Connect function [System Updater]
- Note 52-04:(AC) Revised the Connect/Close functions [System Updater]
- Note 52-05:(AC) Revised the Connect/ConnectAsync functions [System Updater]
- Note 52-06:(AC) Revised the Connect/ConnectAsync function [System Updater]
- Note 52-07:(AC) Added the DebugSetApType function [System Updater]
- Note 52-08: (APPLET) Added support for a barrage of HOME button presses [System Updater]
- Note 52-09:(CAMERA) Revised the Initialize function [SDK | System Updater]
- Note 52-10:(CAMERA) Revised the SetPhotoMode function [SDK | System Updater]
- Note 52-11:(CAMERA) Added a process for stopping the camera during applet transitions [SDK | System Updater]
- Note 52-12:(CAMERA) Changed the period during which shutter sound playback can start [System Updater]
- Note 52-13:(CARD) Fixed a problem where MountRom of the Card class would fail when UIC-MIDI access and MountRom access clashed [System Updater]
- Note 52-14:(CEC) Added the argument CecControl::StopScanning [SDK | System Updater]
- Note 52-15:(CEC) Added a determination of the EULA agreement version [SDK | System Updater]
- Note 52-16:(CEC) Changed the procedure for writing messages [SDK | System Updater]
- Note 52-17:(CEC) Added a feature for stopping daemon execution when accessing a box [SDK | System Updater]
- Note 52-18:(CFG) Added an API for determining if the EULA agreement has been accepted [SDK | System Updater]
- Note 52-19:(DLP) Changed the API [SDK | System Updater]
- Note 52-20:(DLP) Settled on the error codes returned by API functions[SDK | System Updater]
- Note 52-21: (DLP) Changed the conditions for transiting to error status [System Updater]
- Note 52-22:(DLP) Added the ability to specify the wireless channel for the server [SDK | System Updater]
- Note 52-23:(DLP) Added an API function for deleting scan results[SDK | System Updater]
- Note 52-24:(DLP) Changed the reconnection information [SDK | System Updater]
- Note 52-25:(DLP) Changed forcible download specifications for child devices [SDK | System Updater]
- Note 52-26:(DLP) Now allow the communication buffer size and number of buffers to be specified [SDK | System Updater]
- Note 52-27:(DSP) Fixed a problem where control would not return from the LoadDefaultComponent function [System Updater]
- Note 52-28:(DevEnv) Fixed a problem with MCU update [System Updater]
- Note 52-29:(DevEnv) Stopped importing of applications to system save memory[SDK | System Updater]
- Note 52-30:(DevEnv) Fixed a problem where the power of development hardware would suddenly turn ON [System Updater]
- Note 52-31:(DevEnv) Changed the amount of memory that can be used by both development hardware and PARTNER-CTR Capture to 64MB [SDK | System Updater]
- Note 52-32: (DevEnv) Changed development menu [System Updater]
- Note 52-33:(DevEnv) Correction screen distortion occurring when starting the development menu[System Updater]
- Note 52-34:(FRIENDS) Added Miis and profile update notification [SDK | System Updater]
- Note 52-35:(FRIENDS) Delayed autonomous daemon login [System Updater]
- Note 52-36:(FRIENDS) Fixed a problem where local friend codes were being replaced at each startup [System Updater]
- Note 52-37: (FRIENDS) Added screen name font region support [SDK | System Updater]
- Note 52-38:(FS) Fixed a problem with freezing that would occur when the FAT became fragmented [System Updater]
- Note 52-39:(FS) Added support for fat file system time stamp [System Updater]
- Note 52-40:(FS) Revised the nn::fs::MountSdmc function [System Updater]
- Note 52-41:(FS) Corrected a problem with freezing that would occur when nothing was inserted in the card slot [System Updater]
- Note 52-42:(FS) Changed Result of the file system [SDK | System Updater]
- Note 52-43:(FS) Added a latency emulation function [System Updater]
- Note 52-44:(FS) Fixed a problem where severely fragmented files could no longer be handled [System Updater]
- Note 52-45:(GX) Changed the behavior of LCD backlight brightness [System Updater]
- Note 52-46:(GX) Changed the operating core at the driver level [System Updater]
- Note 52-47:(HID) Sped up Read used with various sampling data [System Updater]
- Note 52-48:(HTTP) Changed the specifications of LazyPOST transmissions when using keep alive communications [System Updater]
- Note 52-49:(HTTP) Revised the packet text string of an original header field [System Updater]
- Note 52-50:(MIC) Added clamping of mic data [SDK | System Updater]
- Note 52-51:(NEWS) Added to the NEWS library [SDK | System Updater]
- Note 52-52:(NGC) Updated the prohibited word pattern list [System Updater]
- Note 52-53:(OS) Implemented processing for CARD removal [System Updater]
- Note 52-54:(OS) Added the InitializeMemoryBlock function [SDK | System Updater]
- Note 52-55:(OS) Added a setting for the maximum number of objects [System Updater]
- Note 52-56:(OS) Improved debugger startup time [System Updater]
- Note 52-57:(OS) Adjusted performance [System Updater]
- Note 52-58:(SOCKET) Fixed a problem with IP address collision detection [System Updater]
- Note 52-59:(SSL) Revised EVSSL authentication [System Updater]
- Note 52-60:(TOOL) Added items to the RSF [SDK | System Updater]
- Note 52-61:(UDS) Fixed a bug where the correct reason for disconnection was not being obtained when the Client and Spectator were cut off from the network [System Updater]
- Note 52-62:(UDS) Revised a bug where connection up to the maximum number of nodes specified by the uds::CreateNetwork function was impossible [System Updater]
- Note 52-63:(UDS) Fixed a bug where a connection disconnection notification was not being generated during intensive communications [System Updater]
- Note 52-64:(UDS) Fixed a problem execution would not complete when the nn::uds::Initialize function was executed in wireless OFF mode [System Updater]
- Note 52-65:(UDS) Fixed a bug where packet sends to one's own address would succeed [System Updater]
- Note 52-66:(UDS) Improved stability when the communication load has increased [System Updater]
- Known Issues with System Updater in SDK Version 0.14.0
-
CTR-SDK 0.14.0 Sample Demos (2010/11/01)
- Note 51-01:(DEMO) Fixed a problem with the number of bits of the size member of the CommandBuffer3d structure [Sample Demos]
- Note 51-02:(DEMO) Changed the specifications of the RenderSystem::Initialize function [Sample Demos]
- Note 51-03:(FS) Changed specifications so that features that do no work on the development hardware can be enabled by button operations [Sample Demos]
- Note 51-04:(GR) Made revisions so the nn::fs::MountRom function is called by the lib_grfw library for the GR library demo [Sample Demos]
- Note 51-05:(GR) Changed the heap size allocated by the lib_grfw framework for the GR library demo to 20MB [Sample Demos]
- Note 51-06:(GR) Added the ProcedureTexture for rendering procedural textures [Sample Demos]
- Note 51-07:(GX) Added a demo for editing procedural texture patterns [Sample Demos]
- Note 51-08:(RDT) Revised rsf sample demo [Sample Demos]
- Note 51-09:(RDT) Revised the sample demo [Sample Demos]
- Note 51-10:(SND) Added the OutputCapture sample demo [Sample Demos]
- Note 51-11:(SND) Revised the sample demo [Sample Demos]
- Known Issues with SDK 0.14.0 Sample Demos
-
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) Corrected a change log entry regarding processing added to stop the cameras when the system is closed [SDK]
- Note 49-02: (DevEnv) Corrected change log entries for known bugs in CTR-SDK 0.13 System Updater [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 | System Updater]
- Note 48-04: (CAMERA) Revised the
SetNoiseFilter
function [SDK | System Updater]
- Note 48-05: (CAMERA) Added a function to change the sensor window used for auto white balancing [SDK | System Updater]
- Note 48-06: (CARD) Revised media selector control after using HostIO CardSPI [SDK]
- Note 48-07: (CEC) Changed the StreetPass library API [SDK | System Updater]
- 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 | Sample Demos]
- Note 48-14: (DLP) Made revisions involving identification of child devices [SDK | Sample Demos]
- 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 | System Updater]
- 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 extended 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 | System Updater]
- 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 | System Updater]
- Note 48-72: (NDM) Enabled the network daemon and added a library to control it [SDK | System Updater | Sample Demos]
- 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 | System Updater]
- Note 48-77: (OS) Added functions to get information about the amount of available memory [SDK | System Updater]
- 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 | Sample Demos]
- 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 | Sample Demos]
- 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 System Updater (2010/09/28)
- Note 47-01: (AC) Revised the
Connect
and ConnectAsync
functions [System Updater]
- Note 47-02: (AC) Revised the
ConnectCancelAsync
function [System Updater]
- Note 47-03: (AC) Revised the
DebugSetNetworkSetting1
function [System Updater]
- Note 47-04: (BOSS) Added the BOSS library [SDK | System Updater]
- Note 47-05: (CAMERA) Revised the
SetNoiseFilter
function [SDK | System Updater]
- Note 47-06: (CAMERA) Added processing to stop the cameras when the system is closed [System Updater]
- Note 47-07: (CAMERA) Added a function to change the sensor window used for auto white balancing [SDK | System Updater]
- Note 47-08: (CAMERA) Fixed bug in volume control during playback of the shutter sound [System Updater]
- Note 47-09: (CEC) Changed the StreetPass library API [SDK | System Updater]
- Note 47-10: (CFG) Revised the
GetBirthday
function [System Updater]
- Note 47-11: (DLP) Added debug function that forcibly downloads child programs [System Updater]
- Note 47-12: (DevEnv) Revised LCD backlight parameters [System Updater]
- Note 47-13: (DevEnv) Changed the startup sequence of test units [System Updater]
- 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 [System Updater]
- Note 47-15: (FRIENDS) Eliminated the notification sent when a game description is updated [SDK | System Updater]
- Note 47-16: (FRIENDS) Updated server and recreated account information [System Updater]
- Note 47-17: (GX) Changed the off-limits range when placing display buffers in VRAM [SDK | System Updater]
- Note 47-18: (HID) Fixed sampling bug that occurred after recovery from Sleep Mode [System Updater]
- Note 47-19: (HID) Changed sampling values when the system does not enter Sleep Mode when closed [System Updater]
- Note 47-20: (HTTP) Revised the
AddPostData***
functions [System Updater]
- Note 47-21: (HTTP) Revised the
GetHeaderField
function [System Updater]
- Note 47-22: (HTTP) Fixed Keep-Alive bug [System Updater]
- Note 47-23: (HTTP) Handled problem with Keep-Alive communication [System Updater]
- Note 47-24: (HTTP) Changed default size of communication buffers [System Updater]
- Note 47-25: (MCU) Revised the power LED and wireless LED [System Updater]
- Note 47-26: (MIC) Added processing to stop sampling when the system is closed [System Updater]
- Note 47-27: (MIC) Changed access rights to memory that stores sampling results [SDK | System Updater]
- Note 47-28: (NDM) Enabled the network daemon and added a library to control it [SDK | System Updater | Sample Demos]
- Note 47-29: (OS) Added support for Sleep Mode [SDK | System Updater]
- Note 47-30: (OS) Added functions to get information about the amount of available memory [SDK | System Updater]
- Note 47-31: (PTM) Revised the
GetBatteryLevel
function [System Updater]
- Note 47-32: (PTM) Added restrictions on the range of times for which alarms can be set [System Updater]
- Note 47-33: (TOOL) Fixed
DevMenu
import error [System Updater]
- Note 47-34: (TOOL) Fixed
DevMenu
bug [System Updater]
- Note 47-35: (TOOL) Added a tool for changing the region [System Updater]
- Note 47-36: (UDS) Fixed bug that caused execution to hang when the
EjectClient
function was run [System Updater]
- Note 47-37: (UDS) Fixed bug where sometimes the
NetworkDescriptionReader::GetNodeInformationList
function could not get the NodeInformation
successfully [System Updater]
- Note 47-38: (UDS) Changed encryption key of
NodeInfomation
distributed by beacons [System Updater]
- Note 47-39: (UDS) Fixed bug that caused incorrect behavior when the
GetConnectionStatus
function was run frequently [System Updater]
- Known Issues with System Updater 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
[Sample Demos]
- Note 46-02: (BOSS) Added the
sample_nadl_simple
demo [Sample Demos]
- Note 46-03: (CX) Added CX sample demos [Sample Demos]
- Note 46-04: (DEMO) Revised initialization of the
lib_demo
library display buffer [Sample Demos]
- Note 46-05: (DLP) Changed the method for embedding child programs in parent programs [SDK | Sample Demos]
- Note 46-06: (DLP) Made revisions involving identification of child devices [SDK | Sample Demos]
- Note 46-07: (FONT) Added sample demos [Sample Demos]
- Note 46-08: (GX) Added the
DrawPrimitive
demo [Sample Demos]
- Note 46-09: (JPEG) Added demos [Sample Demos]
- Note 46-10: (NDM) Enabled the network daemon and added a library to control it [SDK | System Updater | Sample Demos]
- Note 46-11: (OS) Added support for Sleep Mode to
demo1
and demo2
[Sample Demos]
- Note 46-12: (PL) Added the
SharedFont
demo [Sample Demos]
- Note 46-13: (SOCKET) Eliminated
dummy_util
functions [SDK | Sample Demos]
- Note 46-14: (TOOL) Added
ctr_makebanner
[SDK | Sample Demos]
- Note 46-15: (TPL) Added sample data for creating CTPK files [Sample Demos]
- Note 46-16: (UDS) Fixed bug in
com_demo1
where communication data was not cleared after disconnection [Sample Demos]
- Note 46-17: (UDS) Revised so that the
CreateLocalCommunicationId
function now creates the local communication IDs used in UDS demos [Sample Demos]
- Note 46-18: (ULCD) Changed the minimum setting of the
Depth Level
variable[Sample Demos]
- 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 API 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 API 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 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
StreamPlayer
sample 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 API 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 API 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 Maker Note 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 API 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 the 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 backward [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 (2010/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 API 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 API 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
API 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 API 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
API 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 API reference for the
nn::os::StackMemoryBlock
class [SDK]
- Note 7-40: (OS) Revised the API 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 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 API 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
No SDK-related changes have been made to the functionality except the version information.
None.
When http::Connection::Cancel
was run, a Data Abort would be generated on rare occasions, depending on the timing. That problem has been fixed.
If the Power Button was pressed down for 3 seconds while the power LED was red or blinking red, then on the subsequent startup (and only on the subsequent startup) the power would be turned off immediately after turning on. That problem has been fixed.
None.
No SDK-related changes have been made to the functionality except the version information.
None.
The specifications have been changed. Previously, opening and closing the system quickly caused a sleep query to be followed immediately by the cancellation of the system open and generation of an Awake
. Now a sleep query is not issued.
The situation of the sleep exclusive mode not being unlocked has also been corrected.
These changes fix the problem of the state not transitioning to the sleep mode even though the system was closed in situations where the system was quickly opened and closed.
When it was necessary to end the infrastructure communications during task retries (for example, when the application needed to send data using methods other than the infrastructure communications), cancellation of the task retry process did not work correctly and took a long time to end the infrastructure communications. That problem has been fixed.
When operating as a client or a fake client, system resources would leak when the DLP server was scanned, and after repeated attempts the overall system would no longer operate.
This problem occurred in CTR-SDK 0.14.17 and subsequent versions, and did not arise in previous versions.
When a program is running from a card and the card is removed, a screen appeared prompting the user to return to the Home Menu. But depending on the program that was executing, in some cases you could not return to the Home Menu by pressing the HOME Button when that screen appeared. That problem was fixed.
When the card was reinserted and removed after the "card removed" error was displayed, the system would not return to the Home Menu even if the HOME Button was pressed. That problem was fixed.
When connecting to the network as a spectator, system resources would leak, and after repeated attempts the overall system would no longer operate. That problem has been fixed.
This problem occurred in CTR-SDK 0.14.17 and subsequent versions, and did not arise in previous versions.
None.
No SDK-related changes have been made to the functionality except the version information.
None.
Fixed a bug that caused a memory leak when exiting an application. This sometimes prevented the next application from starting successfully.
None.
No SDK-related changes have been made except the version information.
None.
Fixed a bug that sometimes caused an incorrect value to be applied to the AP type. This bug would occur in the error codes that are issued during connections to access points. These error codes contain a numeric value that indicates the type of access point.
Fixed a bug that caused http::Connection::Finalize
to stall if the cable to the access point was unplugged during HTTP communication.
Fixed a bug that caused a memory leak if an application was started after canceling HTTPS.
None.
Fixed a bug that caused V-Syncs to get out of sync in rare cases, even after SynchronizeVsyncTiming
is called.
(This bug fix fixes a different bug than the one that caused V-Syncs to get out of sync when the aforementioned function is called during recovery from Sleep Mode.)
None.
Fixed a bug that caused a different Result
to be returned in conditions that should have caused ResultAlreadyConnectUnsupportAp
to be returned.
Fixed a bug that sometimes reversed the order of calling the sleep query callback (set using SetSleepQueryCallback
) and the callback invoked when the system is opened during a sleep query (set using SetSleepCanceledCallback
).
This bug would occur if the system was opened and closed rapidly.
Fixed a bug that prevented the system from recovering from Sleep Mode if the BOSS library closed background communication.
Fixed a bug that, under specific timing conditions, would cause the BOSS library to continue background communication, even when communication should be ended (for example, during Sleep Mode).
Fixed a bug that prevented ZoneAP queries from being assigned to the URL used when obtaining a policy list.
Fixed a bug that caused V-Syncs to get out of sync in rare cases, even after SynchronizeVsyncTiming
is called.
(This bug fix fixes a different bug than the one that caused V-Syncs to get out of sync when the aforementioned function is called during recovery from Sleep Mode.)
There was a bug that caused a fatal error in a poor radio signal environment. The sending of certain wireless frames exchanged using StreetPass was delayed, which in turn caused the other systems to receive an unexpected wireless frame at an unexpected time, ultimately leading to the fatal error. This has been fixed.
None.
Fixed a bug that caused Nintendo Zones to be overlooked in environments with many access points.
Fixed a bug that caused FormatSaveData
to fail (specifically, to return ResultBadFormat
) after a card is removed during a write operation to save data stored on a card. This bug was caused by the fact that the bug documented in Note 109-07 was not fixed completely. It will therefore occur only when the System Updater for CTR-SDK 0.14.17 has been applied.
None.
When the application called library applets, some portions of applets did not implement mutual exclusion with regard to Sleep Mode.
None.
When the power was cut or the POWER Button was held down to shut down the system, after the CloseApplication
function was called, the HOME Menu and system applet sometimes could not quit and the power would not turn off until they were forcibly terminated.
This bug has been fixed.
If the HOME Button was pressed repeatedly when the application or the HOME Menu was booting, sometimes that notification would not be picked up on and the process would stop. This bug has been fixed.
Even if there was an error in task execution, the If-Modified-Since
feature would take effect and data could not be downloaded in subsequent task executions. This bug has been fixed.
When the shutdown process for an immediate BOSS task was implemented at times such as when entering sleep, the communications process would not end at certain times, which caused BOSS communication to continue. This bug has been fixed.
When the system was closed and opened during a HOME Button transition, the camera did not return to its original state. This bug has been fixed.
If the GetSdmcSize
function was called when the file system on the SD card could not be accessed in any way, the function would succeed and return an invalid value. This has been revised so that now the function returns an error.
For more information, see the API Reference.
When the save data on a card was corrupted, depending on how it was corrupted, a "bad connection" type error would sometimes be returned instead of a BadFormat
type error. This has been corrected.
When the notification light was set, the RTC would be off by several seconds. This bug has been fixed.
When a client failed to connect due to poor signal strength and immediately tried again to connect, sometimes a fatal error would occur. This bug has been fixed.
None.
Reworked the exclusivity of the application and applet transition and sleep processes.
Doing this fixed the bug where processing stopped on very rare occasions when the system was closed during a transition.
The following banner-related tools were revised.
- ctr_makebanner
- A check for data capacity is now conducted.
An error occurs when the sum total of the model data and sound data exceeds 1M.
- ctr_make_ex_banner
- Added a feature for substituting only the text message in expanded banners.
- ctr_BannerModelConverter
- A check for data capacity is now conducted.
See the Reference to learn about the data capacity restrictions.
A method for specifying the remaster version was made publicly available.
For more information, see ctr_makerom
.
When Endpoint was destroyed by the DestroyEndpoint
function in a different thread while the ReceiveFrom
function was executing, in rare instances a fatal error would occur. That bug has been fixed.
The following bugs exist for the ctr_WaveConverter32.exe
command line options.
In addition to the option prefixes included in Usage or the documentation, using -
, --
, or /
as prefixes for options causes no error.
No error occurs even when specifying options not included in Usage or the documentation.
(Items deleted because the fix in CTR-SDK 0.14.x was put off.)
When there was an error in Task::Cancel
for a given task, its execution in a different thread would be skipped the first time it was to run again. That bug has been fixed.
When the SetReceiving
function is called after the application has agreed to sleep, the pEvent
events it returns are now non-signaled events.
Text has been added to the Reference mentioning that the events continue to be signaled events from the time the system is closed until the time the application consents to sleep.
When the system was closed, finalization did not proceed normally when the Finalize
function was called. That bug has been fixed.
When there was a forced power off with the adapter unattached, power could not be immediately turned back on with a single press of the POWER Button. That bug has been fixed.
When the system was closed, finalization did not complete normally when the Finalize
function was called. That bug has been fixed.
Up until now, when the StopSampling
function was called while the system was closed it would return failure. That has been revised so that it now returns success.
While memory was allocated to MIC, UDS and other libraries, those memory regions could be deallocated by the nn::os::SetHeapSize
function. That bug has been fixed.
When the system was opened and closed rapidly and repeatedly, the system would stop with the upper and lower screens displaying black screens..
- If the system is closed while transitioning between applications and applets the camera sometimes will not start when the system is opened.
- In an environment with bad signal strength, the System Settings connection test sometimes returns the fatal error
Summary:11 Module:27 Desc:15
.
- If the system enters sleep around the time the notification lamp illuminates, in rare instances processing stops on a black screen.
If the system transitions to wireless-disabled mode while nn::uds::Scan
is running, the Scan
function is supposed to return ResultWirelessOff
, but it currently returns ResultInvalidState
instead.
Demos started via the debugger do not run normally if the system is closed and the demo does not support Sleep Mode.
Noise is sometimes introduced to sound sources satisfying the conditions listed below when using INTERPOLATION_TYPE_LINEAR
as the voice interpolation method.
Sources having a difference between adjacent samples of 32768 or higher when using 16-bit PCM.
This would apply to a -6dB square wave, for example.
Do not use INTERPOLATION_TYPE_LINEAR
with sound sources that meet the above conditions.
Noise does not occur with sound sources that do not include high-frequency components and sound sources with 16-bit PCM amplitudes under 16384.
There is a bug where the firmware update stops in the middle and recovery becomes impossible if System Updater is executed on early CTR test units whose serial number starts with AAA (for example, AAA300001231). Do not run System Updater on these test units.
(Items deleted because the fix in CTR-SDK 0.14.x was put off.)
Due to changes in CTR-SDK 0.14.15 some applets could no longer be started. That bug has been fixed.
- The following bugs exist for the
ctr_WaveConverter32.exe
command line options.
- In addition to the option prefixes included in Usage or the documentation, using
-
, --
, or /
as prefixes for options causes no error.
- No error occurs even when specifying options not included in Usage or the documentation.
Due to changes in CTR-SDK 0.14.15 some applets could no longer be started. That bug has been fixed.
- Depending on the implementation of the applet, the opening/closing of the system while transitioning to or from sleep mode can lead to an inability to recover.
- There is a bug in AP scan processing during sleep mode that sometimes prevents recovery from sleep mode in specific environments if the system has been asleep for a long time.
- If the system transitions to wireless-disabled mode while
nn::uds::Scan
is running, the Scan
function is supposed to return ResultWirelessOff
, but it currently returns ResultInvalidState
instead.
- Demos started via the debugger do not run normally if the system is closed and the demo does not support sleep mode.
- Noise is sometimes introduced to sound sources satisfying the conditions listed below when using
INTERPOLATION_TYPE_LINEAR
as the voice interpolation method.
- Sources having a difference between adjacent samples of 32768 or higher when using 16-bit PCM.
This would apply to a -6 dB square wave, for example.
Do not use INTERPOLATION_TYPE_LINEAR
with sound sources that meet the above conditions.
Noise does not occur for sound sources that do not include a high-frequency component or sound sources where the amplitude remains within 16384 when using 16-bit PCM.
- There is a bug where the firmware update stops in the middle and recovery becomes impossible if System Updater is executed on early CTR test units whose serial number starts with AAA (for example, AAA300001231). Do not run System Updater on these test units.
If the action to preload a library applet occurred during a sleep query, processing became deadlocked because of the transition lock. To deal with this, functions to preload library applets and functions to wait for preloading to complete have been changed to prevent sleep mode.
Until that time, sleep queries are destroyed.
The following HOME Button Disabled icon was added.
$CTR_SDK/resources/HomeNixSign/HomeNixSign_Targa.tga
There was unintended noise made after returning from sleep. That bug has been fixed.
Added features to overwrite and restore the configured values of the gyro sensors and accelerometers.
When the state transitioned to wireless disabled mode or another state after the UDS Library had been initialized, the uds::Scan
function would fail but sometimes the Event
handle would be linked. That bug has been fixed.
A similar bug sometimes occurred when an invalid value was specified for the argument of the uds::Scan
function. This has also been fixed.
- The following bugs exist for the
ctr_WaveConverter32.exe
command line options.
- In addition to the option prefixes included in Usage or the documentation, using
-
, --
, or /
as prefixes for options causes no error.
- No error occurs even when specifying options not included in Usage or the documentation.
When STOPPED
was specified in the policy list for a registered task, BOSS scheduling wasted CPU resources by continuing to repeat. That bug has been fixed.
When the camera library was finalized, sometimes the original settings were not correctly reset. That bug has been fixed.
When infrastructure communications were conducted during sleep mode, subsequent scanning during sleep would not operate correctly. That bug has been fixed.
In wireless disabled mode and such states, when the system entered sleep sometimes it could not wake.
When the system entered sleep while a card application was executing and then the card was removed, the error screen indicating that the card had been removed did not display when the system later woke. That bug has been fixed.
Despite normal logout, sometimes the interval for self-login would lengthen because of an erroneous determination that the Friend Server was down. That bug has been fixed.
When the system was repeatedly opened and closed while transitioning to the HOME Menu, processing halted before the HOME Menu finished booting.
When the uds::Initialize
function was executed during background communications, there was a slight probability of Initialize
not completing. That bug has been fixed.
When the state transitioned to wireless disabled mode or another state after the UDS Library had been initialized, the uds::Scan
function would fail but sometimes the Event
handle would be linked. That bug has been fixed.
A similar bug sometimes occurred when an invalid value was specified for the argument of the uds::Scan
function. This has also been fixed.
- Depending on the implementation of the applet, the opening/closing of the system while transitioning to or from sleep mode can lead to an inability to recover.
- There is a bug in AP scan processing during sleep mode that sometimes prevents recovery from sleep mode in specific environments if the system has been asleep for a long time.
- If the system transitions to wireless-disabled mode while
nn::uds::Scan
is running, the Scan
function is supposed to return ResultWirelessOff
, but it currently returns ResultInvalidState
instead.
- Demos started via the debugger do not run normally if the system is closed and the demo does not support sleep mode.
- Noise is sometimes introduced to sound sources satisfying the conditions listed below when using
INTERPOLATION_TYPE_LINEAR
as the voice interpolation method.
- Sources having a difference between adjacent samples of 32768 or higher when using 16-bit PCM.
This would apply to a -6 dB square wave, for example.
Do not use INTERPOLATION_TYPE_LINEAR
with sound sources that meet the above conditions.
Noise does not occur for sound sources that do not include a high-frequency component or sound sources where the amplitude remains within 16384 when using 16-bit PCM.
- There is a bug where the firmware update stops in the middle and recovery becomes impossible if System Updater is executed on early CTR test units whose serial number starts with AAA (for example, AAA300001231). Do not run System Updater on these test units.
When the com_demo1
sample demo is executing it can now be ended by briefly pressing the POWER Button.
None.
Previously, operation would stop due to a mutual exclusion lock if the HOME Button was pressed and the system attempted to transition to a library applet before that button press was processed by applet::ProcessPowerButton
.
This bug has been fixed.
Although the daemon is intended to stop operating when the library calls MessageBox::OpenMessageBox
or MessageBox::CreateMessageBox
and accesses a box, when OpenMessageBox
or CreateMessageBox
failed, the daemon never resumed operating.
This behavior was changed: now the daemon is started in response to failure of OpenMessageBox
or CreateMessageBox
.
If the box is opened successfully, the daemon stays in stopped state.
It does not start operating again until CloseMessageBox
is called.
Made the following modifications to makebanner
.
- Fixed a bug that prevented an error from occurring when the required languages for the card region were not specified.
- Changed the status of Korean and Chinese to "not yet supported."
- Added the "All" specification for the Region option.
Also revised the sample demo BSF files in line with these changes.
- The following bugs exist for the
ctr_WaveConverter32.exe
command line options.
- In addition to the option prefixes included in Usage or the documentation, using
-
, --
, or /
as prefixes for options causes no error.
- No error occurs even when specifying options not included in Usage or the documentation.
Previously, operation would stop due to a mutual exclusion lock if the HOME Button was pressed and the system attempted to transition to a library applet before that button press was processed by applet::ProcessPowerButton
.
This bug has been fixed.
Previously, specifications stated that when Task::Cancel
was run on a currently executing task, the function would wait until task execution was finished, then cancel it. Now, the function aborts task execution and cancels the task immediately.
Fixed a bug that caused the system to stop if the system was opened and closed repeatedly many times.
Although the daemon is intended to stop operating when the library calls MessageBox::OpenMessageBox
or MessageBox::CreateMessageBox
and accesses a box, when OpenMessageBox
or CreateMessageBox
failed, the daemon never resumed operating.
This behavior was changed: now the daemon is started in response to failure of OpenMessageBox
or CreateMessageBox
.
If the box is opened successfully, the daemon stays in stopped state.
It does not start operating again until CloseMessageBox
is called.
Fixed a bug that caused a resource leak to occur if the media on which the directory exists was removed while the nn::fs::Directory
class was being used.
Fixed a bug that caused operation to stop if the nn::fs::ReadExtSaveDataIcon
function was called on extended save data that had been made invalid by direct editing (using a PC or other tool) of the files or directories on the SD card.
Fixed a bug where, in very rare cases, the system would deadlock when frequently changing the communication mode using uds::Initialize
and ac::Connect
.
The bug fix described in Note 88-20 was insufficient. Fixed a bug where a fatal error with a PID of 0x00040130_00002D02
would sometimes occur while wireless communication was enabled.
Fixed a bug where, previously, the Exception Handler and Break Stop settings configurable by the Config tool were always handled as disabled when a program was started from the HOME Menu.
Fixed a bug that prevented shutdown processing (which the specifications state should be carried out immediately after startup) from occurring when a system with zero remaining battery life was powered on.
Fixed a bug that caused name resolution to sometimes be performed with the "Recursion desired" flag always set to 0
.
- There is a bug in AP scan processing during Sleep Mode that sometimes prevents recovery from Sleep Mode when the system has been asleep for a long time in certain specific environments.
- If the system transitions to wireless-disabled mode while
nn::uds::Scan
is running, the Scan
function is supposed to return ResultWirelessOff
, but it currently returns ResultInvalidState
instead.
- Demos started via the debugger do not run normally if the system is closed and the demo does not support Sleep Mode.
- Noise is sometimes introduced to sound sources satisfying the conditions listed below when using
INTERPOLATION_TYPE_LINEAR
as the voice interpolation method.
- Sources having a difference between adjacent samples of 32768 or higher when using 16-bit PCM.
This would apply to a -6dB square wave, for example.
Do not use INTERPOLATION_TYPE_LINEAR
with sound sources that meet the above conditions.
Noise does not occur for sound sources that do not include a high-frequency component or sound sources where the amplitude remains within 16384 when using 16-bit PCM.
- There is a bug where the firmware update stops in the middle and recovery becomes impossible if System Updater is executed on early CTR test units whose serial number starts with AAA (for example, AAA300001231). Do not run System Updater on these test units.
Made the following modifications to makebanner
.
- Fixed a bug that prevented an error from occurring when the required languages for the card region were not specified.
- Changed the status of Korean and Chinese to "not yet supported."
- Added the "All" specification for the Region option.
Also revised the sample demo BSF files in line with these changes.
None.
When saving multiple messages that had been grouped, a difference would arise between the data count and the internal message list, leading to errors in operation. This has been fixed.
When the CecControl::StopScanning
function was called from multiple threads (even when it was called from within OpenMessageBox
, etc.), the process would halt on an assertion. This has been fixed.
There was a bug where the child application could not be booted after a DLP system update (DUP). This has been fixed with the development menu and the DlpClient
tool.
Up until now, after reboot, DlpClient
was directly started, but the specifications have been changed to start the development menu first.
- The following bugs exist for the
ctr_WaveConverter32.exe
command line options.
- In addition to the option prefixes included in Usage or the documentation, using
-
, --
, or /
as prefixes for options causes no error.
- No error occurs even when specifying options not included in Usage or the documentation.
When a BOSS task fails while the SD card is not inserted, the task would continue to fail if the SD card was re-inserted during start.
This has been fixed such that the task will succeed if the SD card is re-inserted during start.
Regardless of the fact that the cover was closed, the cameras would not stop, and the camera LED would remain lit. This has been fixed.
When saving multiple messages that had been grouped, a difference would arise between the data count and the internal message list, leading to errors in operation. This has been fixed.
When attempting to transition to the sleep mode during StreetPass communication, communication would continue to be maintained, and the system would transition to the sleep mode only after communication had ended, which meant that it took a long time to enter sleep.
This was changed to disconnect from communication when transitioning to the sleep mode during communication.
Fixed a bug where you could not return to the development menu using the HOME Button after the display of a card removal error.
Extended save data could no longer be read when inserting and removing cards. This has been fixed.
As a result of this fix, extended save data created in all earlier releases of the CTR-SDK will no longer be usable.
Fixed a bug where the RTC alarm would be signaled much later than the timing indicated by the settings.
Fixed a bug in DHCP where it was unable to cancel the address acquisition process.
As a result, we resolved the problem where it would take a long time to recover from sleep mode when the following functions were involved: ac::CancelConnectAsync
, uds::Initialize
, dlp::Initialize
, and ndm::SuspendScheduler
.
There was a bug where the child application could not be booted after a DLP system update (DUP). This has been fixed with the development menu and the DlpClient
tool.
Up until now, after reboot, DlpClient
was directly started, but the specifications have been changed to start the development menu first.
There was a bug where DevMenu
would stop if it went to sleep during an import, so DevMenu
has been revised to not transition to the sleep mode. Even if you close the system during an import, the import does not stop.
- If the system transitions to wireless-disabled mode while
nn::uds::Scan
is running, the Scan
function is supposed to return ResultWirelessOff
, but it currently returns ResultInvalidState
instead.
- In UDS, when the Master exits, a
Summary:11 Module:27 Desc:4
fatal error can sometimes occur.
- Demos started via the debugger do not run normally if the system is closed and the demo does not support Sleep Mode.
- A
PID :0x00040130_00002D02
FATAL error sometimes occurs when wireless communications are enabled. The incidence of this error has been reduced in CTR-SDK 0.14.9, but still occurs on rare occasions.
To prevent this, disable wireless communications.
- Noise is sometimes introduced to sound sources satisfying the conditions listed below when using
INTERPOLATION_TYPE_LINEAR
as the voice interpolation method.
- Sources having a difference between adjacent samples of 32768 or higher when using 16-bit PCM.
This would apply to a -6dB square wave, for example.
Do not use INTERPOLATION_TYPE_LINEAR
with sound sources that meet the above conditions.
Noise does not occur for sound sources that do not include a high-frequency component or sound sources where the amplitude remains within 16384 when using 16-bit PCM.
- There is a bug where the firmware update stops in the middle and recovery becomes impossible if System Updater is executed on early CTR test units whose serial number starts with AAA (for example, AAA300001231). Do not run System Updater on these test units.
It is required to use ExtSaveDataNumber
when specifying extended save data IDs in RSF files. The RSF file for the sample demo has been changed in the same way.
- If the system transitions to the sleep mode while running a demo that uses the cameras, the cameras sometimes become unusable.
Fixed a bug that occurred when the counter value for nn::os::LightSemaphore
was at least 1
and there was a waiting thread that had called Acquire
, causing the waiting thread to continue to wait even if Release
was called.
Specifications were changed at the same time as this fix so that the maximum counter value that can be specified as the second argument to the LightSemaphore(s32, s32)
and Initialize(s32, s32)
functions is restricted to 32,767 (216-1).
Changed the program so that when a CIA file is selected, the size required to import it into NAND memory (RequiredSize
) is displayed.
Fixed a bug that caused execution to stop at the screen that displayed the message "Press A to start" if a child application was booted without a system update. This happened because processing did not return from the nn::uds::Initialize
function.
- The following bugs exist for the
ctr_WaveConverter32.exe
command line options.
- In addition to the option prefixes included in Usage or the documentation, using
-
, --
, or /
as prefixes for options causes no error.
- No error occurs even when specifying options not included in Usage or the documentation.
Fixed a bug that would allow a system to successfully disconnect from an access point if a cancel operation was run immediately after Connect
but that then prevented transitions from the connected state.
Fixed a bug that caused the next function call to fail immediately after a Scan
was canceled.
Shortened the amount of time taken for each thread to stop after nn::applet::CTR::REPLY_ACCEPT
is returned when the system enters Sleep Mode because it was closed.
Fixed a bug that prevented the system from recovering if it was turned on and then immediately closed before the Development Menu could start.
Fixed a bug that caused the system to take a long time (10 seconds or more) to enter Sleep Mode while a task was being resumed.
Fixed a bug that caused the system to take a long time (several dozen seconds) to enter Sleep Mode when a large number of tasks had been registered.
Lowered the priority of the camera initialization process because its high thread priority used to cause sound on the HOME Menu to break up.
The priorities of other camera processes have not been changed.
Made revisions so that if a system is disconnected from an access point and therefore from the friend server, as well, this is not treated as an error and the automatic login interval is not extended if there are still connections with the access point when the disconnection is detected.
Fixed a bug that prevented a corrupted journal file from being recovered properly.
Fixed a bug that caused the nn::fs::(Try)RenameFile
function(s) for extended save data to perform an invalid operation and then return nn::ResultSuccess
if a file with the new name already existed.
This was fixed so that the file being renamed now overwrites the existing file and then nn::ResultSuccess
is returned.
Fixed a bug that caused the nn::fs::(Try)DeleteDirectoryRecursively
function(s) to fail for long path names even though this behavior is invalid.
Changed the time taken to start running the daemon after startup from 30 seconds to 5 seconds.
The wait time to restart a stopped daemon was set to 2 seconds.
This wait affects behavior after ndm::ResumeScheduler
and uds::Finalize
.
Fixed a bug that caused Download Play and other process to fail to start from the HOME Menu.
Fixed a bug that caused a fatal error when an invalid socket descriptor was passed to Poll
.
Changed System Updater to initialize the system when it is applied; this is equivalent to running Format System Memory from the System Settings.
This system initialization differs from ResetSetting
in the Config
tool and the extended save data initialization in the DevMenu
.
Any extended save data created before System Updater is applied will be rendered unusable by this process.
- The system does not reboot properly if the HOME Button is pressed while a "card removed" error is displayed.
- When wireless communication is enabled, it may take about 20 or 30 seconds to recover from Sleep Mode.
- Child applications cannot be booted after a DUP operation (a system update distributed via Download Play).
- If the system transitions to wireless-disabled mode while
nn::uds::Scan
is running, the Scan
function is supposed to return ResultWirelessOff
, but it currently returns ResultInvalidState
instead.
- In UDS, when the Master exits, a
Summary:11 Module:27 Desc:4
fatal error can sometimes occur.
- Demos started via the debugger do not run normally if the system is closed and the demo does not support Sleep Mode.
- A
PID :0x00040130_00002D02
FATAL error sometimes occurs when wireless communications are enabled. The incidence of this error has been reduced in CTR-SDK 0.14.9, but still occurs on rare occasions.
To prevent this, disable wireless communications.
- Noise is sometimes introduced to sound sources satisfying the conditions listed below when using
INTERPOLATION_TYPE_LINEAR
as the voice interpolation method.
- Sources having a difference between adjacent samples of 32768 or higher when using 16-bit PCM.
This would apply to a -6dB square wave, for example.
Do not use INTERPOLATION_TYPE_LINEAR
with sound sources that meet the above conditions.
Noise does not occur for sound sources that do not include a high-frequency component or sound sources where the amplitude remains within 16384 when using 16-bit PCM.
- There is a bug where the firmware update stops in the middle and recovery becomes impossible if System Updater is executed on early CTR test units whose serial number starts with AAA (for example, AAA300001231). Do not run System Updater on these test units.
Fixed bug where unrecoverable corruption of data would occur if the SD card was removed at a critical time while creating extended save data.
Fixed bug where functions that access the SD card, such as nn::fs::MountSdmc
, would occasionally fail if the SD card was removed and re-inserted quickly. This symptom would last until the system was restarted.
Fixed bug where execution would abort if a path name longer than that given in the reference was used when accessing a file or directory.
Fixed bug where importing CIA files would fail if attempted immediately after initializing shared extended save data on the DevMenu.
The following revisions were made to banner-related tools.
ctr_makebanner
- Fixed bug where normal conversion was impossible if the second line of the title included a colon (:).
Enclose the entire line inside double quotation marks (") if you want to use a title that includes a single-byte colon (:).
- Before this fix, a syntax warning would be generated, but it was ignored. The specifications have been changed to produce an error.
Make appropriate revisions to .bsf files that contains this syntax error, because such files can no longer be used to create banners.
BannerModelConverter
- Added an item to the Help about processing limits on the HOME Menu.
These limits must be adhered to when creating a banner model.
- The following bugs exist for the
ctr_WaveConverter32.exe
command line options.
- In addition to the option prefixes included in Usage or the documentation, using
-
, --
, or /
as prefixes for options causes no error.
- No error occurs even when specifying options not included in Usage or the documentation.
Up to this release, specifications called for tasks immediately executed using Task::StartImmediate
to be executed after waiting for other tasks executing at the time to complete. However, this has been changed so that an immediately executed task is executed with highest priority (other executing tasks are canceled).
Fixed bug where data could no longer be downloaded if communication was cut off after receiving an HTTP header when resuming a task.
If boss::GetNewArrivalFlag
was called while a task was executing, the associated response would be blocked until the task completed. Specifications have been changed so that the response is returned quickly regardless of completion of the task.
There was a bug where sound on the HOME Menu would break up due to the high thread priority of the camera initialization process, so the priority of the initialization process has been lowered.
No changes have been made to the priority of other camera processes.
A bug was fixed where the time stamp for files on the SD card was not being updated correctly.
A bug was fixed where the right half of the upper and lower screens would break down at a certain probability when control was returned from an applet to an application.
A bug was fixed where the screen display would become incomplete for a moment if screen display was resumed after opening the system when sleep request was rejected.
A bug was fixed where SSL communications would gradually begin to fail due to memory leak if it was used continuously for an extended time.
A bug was fixed where there was an extremely low-probability chance of a hang-up when performing wireless transmission during UDS communication. This included cases where the application was not even sending data.
- When wireless communication is enabled, it may take about 20 or 30 seconds to recover from Sleep Mode.
- The system sometimes does not reboot properly if the HOME Button is pressed during the display of a "card removed" error.
- Child applications cannot be booted after a DUP operation (a system update distributed via Download Play).
- After a child application is rebooted, button input has the effect of making it impossible to advance past the "Press A to start" screen.
- If the system transitions to wireless-disabled mode while
nn::uds::Scan
is running, the Scan
function is supposed to return ResultWirelessOff
, but it currently returns ResultInvalidState
instead.
- In UDS, when the Master exits, a
Summary:11 Module:27 Desc:4
fatal error can sometimes occur.
- Demos started via the debugger do not run normally if the system is closed and the demo does not support Sleep Mode.
- A PID :0x00040130_00002D02 FATAL error sometimes occurs when wireless communications are enabled. The incidence of this error has been reduced in CTR-SDK 0.14.9, but still occurs on rare occasions.
To prevent this, disable wireless communications.
- Noise is sometimes introduced to sound sources satisfying the conditions listed below when using
INTERPOLATION_TYPE_LINEAR
as the voice interpolation method.
- Sources having a difference between adjacent samples of 32768 or higher when using 16-bit PCM.
This would apply to a -6dB square wave, for example.
Do not use INTERPOLATION_TYPE_LINEAR
with sound sources that meet the above conditions.
Noise does not occur for sound sources that do not include a high-frequency component or sound sources where the amplitude remains within 16384 when using 16-bit PCM.
- There is a bug where the firmware update stops in the middle and recovery becomes impossible if System Updater is executed on early CTR test units whose serial number starts with AAA (for example, AAA300001231). Do not run System Updater on these test units.
Previously, if the POWER Button was pressed and held while an application or applet was starting up, the application or applet had no way of knowing that the system was shutting down. This caused the shutdown process to take a long time, and has now been corrected.
Previously, if the DisallowToConnect
function is executed to a client that had been disconnected from a network, and if the same client is later allowed to connect using the AllowToConnect
function, and finally connects to the network, the NodeID
assigned to it would not be the same as the previous one. This bug has been fixed.
- The following bugs exist for the
ctr_WaveConverter32.exe
command line options.
- In addition to the option prefixes included in Usage or the documentation, using
-
, --
, or /
as prefixes for options causes no error.
- No error occurs even when specifying options not included in Usage or the documentation.
Previously, if the POWER Button was pressed and held while an application or applet was starting up, the application or applet had no way of knowing that the system was shutting down. This caused the shutdown process to take a long time, and has now been corrected.
Fixed a bug that prevented the DlpClient
application from being started correctly from the TestMenu or DevMenu.
Before this version, a similar problem could have occurred during startup, shutdown, and transitions between applets.
This bug has been fixed.
Fixed a bug that prevented small downloaded NSD files (on the order of several bytes) from being saved, which led to a task error.
Fixed a bug that caused the StreetPass daemon to crash if multiple boxes that contained receive-only data were present, and a send operation was run on these boxes at the same time.
Replaced certain error messages that are displayed during fatal errors and when a Game Card is removed unexpectedly.
Fixed a bug that caused nn::fs::(Try)DeleteDirectoryRecursively
to fail when called on a directory nested deeply within the save data or extended save data.
Added support for the use of hardware breakpoints with the debugger.
To use this feature, you must use the 2010/12/09 version (or later) of the PARTNER-CTR debugger software.
Previously, if the DisallowToConnect
function is executed to a client that had been disconnected from a network, and if the same client is later allowed to connect using the AllowToConnect
function, and finally connects to the network, the NodeID
assigned to it would not be the same as the previous one. This bug has been fixed.
Previously, there was a possibility that a fatal error could occur either during UDS communication or while ending UDS communication. We made a revision to eliminate this risk.
As a result of this bug fix, UDS communication can no longer take place between an up-to-date CTR system and one that has not yet been updated to this version of the CTR-SDK or later.
Take note of this restriction if your development or testing teams use a mixture of different SDK versions.
- When wireless communication is enabled, it may take about 20 or 30 seconds to recover from Sleep Mode.
- Attempting to import a
.cia
file after using the DevMenu to initialize the shared extended save data will result in a fatal error. Make sure to restart the DevMenu after initializing the shared extended save data.
- The "Date created" and "Date modified" attributes of all files saved to SD cards are currently set to January 1st, 2010.
- The system sometimes does not reboot properly if the HOME Button is pressed during the display of a "card removed" error.
- Child applications cannot be booted after a DUP operation (a system update distributed via Download Play).
- After a child application is rebooted, button input does have an affect, which makes it impossible to advance past the "Press A to start" screen.
- If the system transitions to wireless-disabled mode while
nn::uds::Scan
is running, the Scan
function is supposed to return ResultWirelessOff
, but it currently returns ResultInvalidState
instead.
- In UDS, when the Master exits, a
Summary:11 Module:27 Desc:4
fatal error can sometimes occur.
- Demos started via the debugger do not run normally if the system is closed and the demo does not support Sleep Mode.
- A
PID :0x00040130_00002D02
FATAL error sometimes occurs when wireless communications are enabled. The incidence of this error has been reduced in CTR-SDK 0.14.9, but still occurs on rare occasions.
To prevent this, disable wireless communications.
- Noise is sometimes introduced to sound sources satisfying the conditions listed below when using
INTERPOLATION_TYPE_LINEAR
as the voice interpolation method.
- Sources having a difference between adjacent samples of 32768 or higher when using 16-bit PCM.
This would apply to a -6dB square wave, for example.
Do not use INTERPOLATION_TYPE_LINEAR
with sound sources that meet the above conditions.
Noise does not occur for sound sources that do not include a high-frequency component or sound sources where the amplitude remains within 16384 when using 16-bit PCM.
- There is a bug where the firmware update stops in the middle and recovery becomes impossible if System Updater is executed on early CTR test units whose serial number starts with AAA (for example, AAA300001231). Do not run System Updater on these test units.
Removed feature where pressing the HOME Button on non-release builds output a log to the debugger.
Changed shutdown sequence, such as when pressing the POWER Button or when the batteries run out.
Adjusted time between pressing the POWER Button and shutting down.
Also added functions and guidelines for things such as getting the POWER Button state.
Revised camera/Simple
, demo1
, demo2
, and dlp
demos to support this change.
Fixed bug where using the MessageBox::WriteMessage
function to set a message body with a size of 0 circumvents the error check.
The revision history for Note 84-04 was missing the additional conditions for remembering a communication peer when communication has been initiated but there was no data to send or receive.
The proper behavior is as follows.
Every time StreetPass occurs, that communication peer is remembered, and the system does not communicate via StreetPass with that peer again for an average of four hours and a maximum of eight hours.
The conditions for remembering a peer are as follows.
1) After exchanging at least one data item
2) When communication has been initiated but there is no data to send or receive
Adding these two conditions avoids the problem where the system discovers the same peer multiple times when only one box is registered that contains messages with a mix of "exchange" and "send/receive" send modes, using up more battery power than necessary.
Fixed a bug causing the following symptoms when using the nn::os::StackMemory
class.
- After calling
Finalize
, reduced memory usage obtained when calling nn::os::GetUsingMemorySize
- System sometimes halts when closing a program that uses
StackMemory
.
- Memory allocation fails for programs started afterwards
Fixed a bug preventing IsPlaying
from returning true
in the frame after calling nn::snd::Voice::SetState
to set the state to STATE_PLAY
.
Fixed a bug where sound playback state obtained by nn::snd::Voice::IsPlaying
and other functions and the AuxBus
data would be delayed by one frame.
Fixed mistake in content displayed on EXT
tab on the DevMenu
.
Added processing limits and checking methods to the ctr_BannerModelConverter
reference materials regarding the banner model on the HOME Menu.
Fixed bug where specifying only a string as the terminating condition for ctr_loadrun32.exe
would cause the program to not terminate.
Fixed bug where double-clicking on cia
on the DevMenu
would allow the importation of data that should not be imported.
Fixed bug where pressing the HOME Menu would not transition to the development menu when running DlpClient
.
Deleted GetTotalGlobalUser
and GetTotalGlobalData
functions.
- The following bugs exist for the
ctr_WaveConverter32.exe
command line options.
- In addition to the option prefixes included in Usage or the documentation, using
-
, --
, or /
as prefixes for options causes no error.
- No error occurs even when specifying options not included in Usage or the documentation.
Fixed a problem where the encryption key would not be displayed when using the NetworkSetting
tool to open network settings configured using the DebugSetNetworkSetting1
function.
When making transitions such as to sleep mode, processes that do not respond to a disconnection request are forcibly disconnected. Howe ever, there was a bug in the timeout conditions causing an infinite loop. This has now been fixed.
Fixed a bug in shutdown process that would touch a released object, causing a fatal error.
Changed shutdown sequence, such as when pressing the POWER Button or when the batteries run out.
Adjusted time between pressing the POWER Button and shutting down.
Also added functions and guidelines for things such as getting the POWER Button state.
Revised camera/Simple
, demo1
, demo2
, and dlp
demos to support this change.
Fixed a bug in CTR-SDK version 0.14.8 where old NS data would not be properly deleted when BOSS storage filled up.
Fixed a bug where the UnregisterTask
function would sometimes fail depending on the timing of the call.
Fixed a bug causing BOSS tasks not to be run when in sleep mode.
Fixed a bug sometimes causing an invalid interval between system startup and task execution.
Fixed bug where using the MessageBox::WriteMessage
function to set a message body with a size of 0 circumvents the error check.
The revision history for Note 84-04 was missing the additional conditions for remembering a communication peer when communication has been initiated but there was no data to send or receive.
The proper behavior is as follows.
Every time StreetPass occurs, that communication peer is remembered, and the system does not communicate via StreetPass with that peer again for an average of four hours and a maximum of eight hours.
The conditions for remembering a peer are as follows.
1) After exchanging at least one data item
2) When communication has been initiated but there is no data to send or receive
Adding these two conditions avoids the problem where the system discovers the same peer multiple times when only one box is registered that contains messages with a mix of "exchange" and "send/receive" send modes, using up more battery power than necessary.
Fixed a bug where running ResetSetting
in the Config
tool on a test unit that has had CTR-SDK 0.14.8 System Updater applied would cause calibration values for the touch panel, camera, and other devices to be off from the factory-adjusted values.
Running ResetSetting
in the Config
tool on the test unit after applying CTR-SDK 0.14.9 System Updater will fix the calibration values.
Fixed a bug where an empty title would be broadcast if the title corresponding to the server's language settings was not set in the .icn
file embedded in the child program.
Revised to broadcast in a language for which the title is set when there is no title for the configured language.
Changed asynchronous API
functions to immediately return a failure when called while in sleep mode.
Applications should not operate anyway when in sleep mode, so this revision will not affect applications that handle sleep mode properly.
Reduced the frequency at which the friend presence daemon writes account and friend list information to files to improve the lifespan of the system memory.
Following this change, rollbacks may take up to one hour after improper shutdowns, such as when resetting test units or shutting down the main power.
To ensure that data is written to files, shut down test units as well by pressing the POWER Button.
Attempting to create or mount extended save data or mount an sdmc
archive on an SD card in an unsupported format such as NTFS would previously return a ResultNotFound
error.
This has been changed to return a ResultBadFormat
error instead.
Fixed a mistake in the calculation of the available size for save data that returned a smaller value than previously.
This effectively increases the amount of room available, and programs that have worked so far should therefore not require any changes.
This revision is applied when formatting the save data region, so you will need to reformat this.
Fixed a bug where mounting tampered-with save data would sometimes return nn::fs::ResultNotEnoughSpace
, depending on how the data was tampered with.
Revised the process for mounting extended save data to no longer create the required directory if it does not already exist on the storage media.
Therefore, nn::fs::MountExtSaveData
function will no longer return the nn::fs::ResultNotEnoughSpace
error in such cases.
Fixed a bug where the system would deadlock when frequently changing the communication mode using uds::Initialize
and ac::Connect
.
Fixed a bug where enabling wireless communication would cause a fatal error with a PID of 0x00040130_00002D02
.
However, this same fatal error may still rarely occur in the current version.
Fixed a bug causing the following symptoms when using the nn::os::StackMemory
class.
- After calling
Finalize
, reduced memory usage obtained when calling nn::os::GetUsingMemorySize
- System sometimes halts when closing a program that uses
StackMemory
.
- Memory allocation fails for programs started afterwards
Fixed a bug where changing the clock in a month for which there is no pedometer data while saving up to 120 months' worth of such data would cause the oldest data set to disappear.
Fixed a bug where the system would not reboot after pressing the HOME Button on the error display screen shown when a card was removed after using the DevMenu
to start an application stored on the card.
Fixed a bug that would cause a data abort when sending and receiving UDS packets at certain times.
- Holding down the POWER Button during a transition sometimes results in the shutdown notification not being sent very well, causing the shutdown process to take a long time.
- The system sometimes does not reboot properly if the HOME Button is pressed during the display of a "card removed" error.
- Child applications cannot be booted after a DUP operation (a system update distributed via Download Play).
- If the system transitions to wireless-disabled mode while
nn::uds::Scan
is running, the Scan
function is supposed to return ResultWirelessOff
, but it currently returns ResultInvalidState
instead.
- In UDS, when the Master exits, a
Summary:11 Module:27 Desc:4
fatal error can sometimes occur.
- Demos started via the debugger do not run normally if the system is closed and the demo does not support Sleep Mode.
- A
PID :0x00040130_00002D02
FATAL error sometimes occurs when wireless communications are enabled. The incidence of this error has been reduced in CTR-SDK 0.14.9, but still occurs on rare occasions.
To prevent this, disable wireless communications.
- Noise is sometimes introduced to sound sources satisfying the conditions listed below when using
INTERPOLATION_TYPE_LINEAR
as the voice interpolation method.
- Sources having a difference between adjacent samples of 32768 or higher when using 16-bit PCM.
This would apply to a -6dB square wave, for example.
Do not use INTERPOLATION_TYPE_LINEAR
with sound sources that meet the above conditions.
Noise does not occur for sound sources that do not include a high-frequency component or sound sources where the amplitude remains within 16384 when using 16-bit PCM.
- There is a bug where the firmware update stops in the middle and recovery becomes impossible if System Updater is executed on early CTR test units whose serial number starts with AAA (for example, AAA300001231). Do not run System Updater on these test units.
Changed shutdown sequence, such as when pressing the POWER Button or when the batteries run out.
Adjusted time between pressing the POWER Button and shutting down.
Also added functions and guidelines for things such as getting the POWER Button state.
Revised camera/Simple
, demo1
, demo2
, and dlp
demos to support this change.
Changed the sample data accessed by sample_nadl_simple
to application data with the new arrival flag set.
Added URLs to the comment pointing to application data with the new arrival flag unset and to notification data.
None.
Fixed a bug where playing back ADPCM-format data would cause all sound playback to halt and the nn::snd::WaitForDspSync
function to not return.
- The following bugs exist for the
ctr_WaveConverter32.exe
command line options.
- In addition to the option prefixes included in Usage or the documentation, using
-
, --
, or /
as prefixes for options causes no error.
- No error occurs even when specifying options not included in Usage or the documentation.
Every time StreetPass data is exchanged (at least one data item sent or received), the communication peer is remembered, and data is not exchanged with that peer again for an average of four hours and a maximum of eight hours.
This information is now saved even after powering off.
Previously, the same peer could be communicated with again immediately after operations such as box deletion, but this is no longer possible.
This information is reset when true
is specified as an argument to CecControl::StartScanning
.
This feature is for debugging purposes, and cannot be used in release builds.
The packets received by the client from the server during scanning were changed.
This does not change the API, and has no effect on application code.
However, note that both the server and client must be using the same CTR-SDK version for successful communication.
Fixed bug where calling MountExtSaveData
on an empty write-protected SD card would cause the system to freeze.
Fixed a bug in the 16-bit color buffer formats (GL_RGB565
, GL_RGBA4
) in FrameBuffer::MakeClearRequest
where the size and value to clear were incorrect.
Fixed bug where RTC alarm could be signaled as much as two minutes early.
As a result, the RTC alarm precision now ranges from roughly 3 seconds early to up to 1 minute late.
Fixed a bug where buffers added by calling nn::snd::Voice::AppendWaveBuffer
, that had not been played yet, would be marked as already played.
This bug occurred during playback of streams with short waveforms, causing symptoms such as failed asserts in CTR-SDK functions.
This bug has been fixed.
Changed the frame restrictions on cskla
and cmata
banner model animations from a 600-frame animation to an animation of no more than 600 frames.
Added the StreetPass Guideline Checker tool.
The following revisions were made to the banner creation tools.
ctr_BannerModelConverter
Fixed a bug where the presence of an empty folder containing no texture or model data located within the folder to be converted would prevent generation of valid data.
ctr_make_ex_banner
Fixed bug where using non-allowed text in replacement characters would not cause an error.
Changed handling of unspecified BasicInfo/Logo
values in RSF files to use the "Nintendo
" value by default.
For more information, see makerom
.
Fixed a bug where calling CreateEndpoint
repeatedly more than nn::uds::ENDPOINT_MAX
times would allow the creation of more than the maximum number of endpoints, causing memory corruption.
- The following bugs exist for the
ctr_WaveConverter32.exe
command line options.
- In addition to the option prefixes included in Usage or the documentation, using
-
, --
, or /
as prefixes for options causes no error.
- No error occurs even when specifying options not included in Usage or the documentation.
Fixed a bug where preparing to transition to sleep mode during connection would sometimes cause finalization to take a long time.
Fixed bug where transitioning to Sleep Mode repeatedly while a background process is maintaining a network connection would cause a resource leak and render the AC features unusable.
CTR1: MessageTypeFlag = FRIEND/SendMode = EXCHANGE
CTR2: MessageTypeFlag = NON_FRIEND/SendMode = EXCHANGE
Fixed a bug when transmitting the above data where the send count would decrement even if no data was exchanged.
Every time StreetPass data is exchanged (at least one data item sent or received), the communication peer is remembered, and data is not exchanged with that peer again for an average of four hours and a maximum of eight hours.
This information is now saved even after powering off.
Previously, the same peer could be communicated with again immediately after operations such as box deletion, but this is no longer possible.
This information is reset when true
is specified as an argument to CecControl::StartScanning
.
This feature is for debugging purposes, and cannot be used in release builds.
The packets received by the client from the server during scanning were changed.
This does not change the API, and has no effect on application code.
However, note that both the server and client must be using the same CTR-SDK version for successful communication.
Fixed a bug when calling file system functions where the functions would in rare cases return nn::os::ResultSessionClosed
, rendering the file system inaccessible.
Fixed a bug where calling DestroyEndpoint
at the same time that another thread calls ReceiveFrom
using the same endpoint would cause a fatal error in ReceiveFrom
.
- There is a bug where
ShutdownCallback
is not called on shutdown.
- Using the CEC function
MessageBox::WriteMessage
to set a message body with a size of 0 circumvents the error check and causes it to erroneously pass.
- In UDS, when the Master exits, a
Summary:11 Module:27 Desc:4
fatal error can sometimes occur.
- Demos started via the debugger do not run normally if the system is closed and the demo does not support Sleep Mode.
- A
PID :0x00040130_00002D02
FATAL error sometimes occurs when wireless communications are enabled.
To prevent this, disable wireless communications.
- Noise is sometimes introduced to sound sources satisfying the conditions listed below when using
INTERPOLATION_TYPE_LINEAR
as the voice interpolation method.
- Sources having a difference between adjacent samples of 32768 or higher when using 16-bit PCM.
This would apply to a -6dB square wave, for example.
Do not use INTERPOLATION_TYPE_LINEAR
with sound sources that meet the above conditions.
Noise does not occur for sound sources that do not include a high-frequency component or sound sources where the amplitude remains within 16384 when using 16-bit PCM.
- There is a bug where the firmware update stops in the middle and recovery becomes impossible if System Updater is executed on early CTR test units whose serial number starts with AAA (for example, AAA300001231). Do not run System Updater on these test units.
Added support to GR demo library lib_grfw
for display buffer formats other than GL_RGB8_OES
, specifically GL_RGBA4
, GL_RGB5_A1
, and GL_RGB565
.
None.
If a shutdown notification is received while applications or applets are waiting on the applet::WaitForStarting
function, they now exit their waiting status.
Subsequently, applications and applets would perform a closing determination using the applet::IsExpectedToCloseApplication
function or similar functions, and then close.
Revised the NsData::ReadData
function so that it returns NN_BOSS_NSDATA_READ_ERROR_UPDATED
if the target data is overwritten with downloaded new data, while the function is running.
When a task resulted in an error, a bug regularly prevented that task from being periodically executed. This has been fixed.
Changed the name of the SIZE_MAX
member of the Size
enumerated type to CAMERA_SIZE_MAX
.
Programs that used the old member name will no longer compile. Please make the necessary revisions.
Revised DlpClient
to automatically reboot itself after a DLP system update that includes a dummy update archive.
DlpClient
reboots after the upper and lower screens turn black.
After rebooting, it automatically connects to the server and begins download of the child application.
Reduced the processing load of the FakeClient::GetLinkLevel
function.
As a result of this change, applications will need to link the UDS and NWM libraries.
Added the Server::GetLinkLevel
function.
This function returns the connected client with the lowest link level.
As a result of this change, applications will need to link the UDS and NWM libraries.
Removed , ; = + [ ]
and single-byte space from the list of unusable characters.
There was a problem of insufficient memory when multiple archives were mounted at the same time. This has been fixed.
When multiple Content
s were mounted from multiple threads, there was a problem where, based on timing, ResultArchiveInvalidated
would occur. This has been fixed.
Fixed a bug that caused the GPU to stall when using only the vertex shader after using the vertex shader and geometry shader with the Shader::MakeOutAttrCommand
function in the GR library because the 0x0
value was not set in 0x289[15:8]
.
This was actually changed in CTR-SDK 0.14.6 but was accidentally omitted from the change log.
In the GyroscopeReader::GetZeroDriftMode
function, although there was a declaration, there was no definition. The function was revised to add a definition.
In the hid::GyroscopeReader::SetZeroDriftMode
function, there was a bug where the correspondence between the specified mode and the parameter was incorrect. This has been fixed.
Subsequent to this fix, the following revisions are necessary to maintain the same parameter settings.
- Applications requiring Revisions
Applications that use the GyroscopeReader
class and that get gyro sensor values
- Revision Contents
- When using the
SetZeroDriftMode
function
Revise the values for ZeroDriftMode
that you had used for arguments until now to the following corresponding values.
Previous value New value GYROSCOPE_ZERODRIFT_LOOSE
> GYROSCOPE_ZERODRIFT_STANDARD
GYROSCOPE_ZERODRIFT_STANDARD
> GYROSCOPE_ZERODRIFT_TIGHT
GYROSCOPE_ZERODRIFT_TIGHT
> GYROSCOPE_ZERODRIFT_LOOSE
When not using the SetZeroDriftMode
function
Because GyroscopeReader
calls SetZeroDriftMode(GYROSCOPE_ZERODRIFT_STANDARD)
within the constructor, after the instance is generated, call SetZeroDriftMode(GYROSCOPE_ZERODRIFT_TIGHT)
and change the parameters.
When using the ResetZeroDriftMode
function
Because the same function calls SetZeroDriftMode(GYROSCOPE_ZERODRIFT_STANDARD)
internally, after the same function's call, call SetZeroDriftMode(GYROSCOPE_ZERODRIFT_TIGHT)
and change the parameters.
Revised the specification of the notification LED so that it now blinks and then turns off, unless the system is in sleep mode, rather than it continuing to blink until the development menu is started.
There was a bug where the Tick
value obtained with the nn::os::Tick::GetSystemCurrent
function would be the Tick
value for approximately 30 seconds later. This symptom occurred only for a very short period of time roughly every 30 seconds.
This was actually changed in CTR-SDK 0.14.1 but was accidentally omitted from the change log.
Fixed a bug where a halt would occur when the nn::pl::InitializeSharedFont
function was called.
A pulsing noise would occur when transitioning to applets when pressing the HOME Button or when entering to the sleep mode. This has been fixed.
There was a bug where sound in the surround sound mode would become distorted when transitioning to the sleep mode or recovering from the sleep mode while the headphones were inserted. This has been fixed.
The same problem occurred when transitioning to the HOME Menu, and this too has been fixed.
Made a revision so that the currently unused region will not be created by default when initializing the shared extended save data region in the DevMenu
.
- The following bugs exist for the
ctr_WaveConverter32.exe
command line option.
- In addition to those included in Usage or the documentation, when -, --, or / are used as prefixes for options, there is no error.
- No error occurs even when specifying options not included in Usage or the documentation.
Control would not return from asynchronous functions in some cases. Fixed this bug.
When connections and disconnections were repeated at a high frequency, a fatal error would occur. This bug has been fixed.
If a shutdown notification is received while applications or applets are waiting on the applet::WaitForStarting
function, they now exit their waiting status.
Subsequently, applications and applets would perform a closing determination using the applet::IsExpectedToCloseApplication
function or similar functions, and then close.
Revised the NsData::ReadData
function so that it returns NN_BOSS_NSDATA_READ_ERROR_UPDATED
if the target data is overwritten with downloaded new data, while the function is running.
When the Task::GetStateDetail
function was called while a target task is being executed, sometimes you could not get the correct value. This has been fixed.
When multiple NSD loadings were running in parallel, loading would sometimes not work correctly depending on the timing. This has been fixed.
When a task resulted in an error, a bug regularly prevented that task from being periodically executed. This has been fixed.
After an application accepted sleep, and the SetReceiving
function was called for PORT_CAM2
, the library would halt on a panic
. This has been fixed.
Fixed a bug where a child could not be booted after a DLP system update (DUP).
Reduced the processing load of the FakeClient::GetLinkLevel
function.
As a result of this change, applications will need to link the UDS and NWM libraries.
Fixed a bug that caused a handle leak in the daemon when an asynchronous function returned a failure.
This fix is expected to resolve the problem where a signal is lost for termination notification events in asynchronous processing.
There was a bug in the FAT file system where CreateFile
would succeed even when it specified a size larger than the free space on the current drive. This has been fixed to correctly return ResultNotEnoughSpace
.
Changed the format of save data in backup memory on Game Cards.
As a result of this change, access to save data are accelerated, and the available size has been changed.
Save data formatted with earlier versions of the CTR-SDK can still be mounted and accessed. To apply this change, you will need to re-format your save data.
When deleting a title in DevMenu
, even when the delete completes correctly, there was a bug where the size of free space was returned as smaller than the actual value. This has been fixed.
Fixed a bug where you could no longer delete a file if you renamed it to the same path name (without being case-specific) for save data, or extended save data.
After the fix, renaming to the same path name returns nn::fs::ResultAlreadyExists
.
Revised the specification of the notification LED, so that it now blinks and then turns off, unless the system is in the sleep mode, rather than it continues blinking until the development menu is started.
Previously, System Updater for CTR-SDK 0.14.x would run even when guaranteed versions of the firmware are not present. This bug has been fixed such that it will not run unless guaranteed versions of the firmware are present.
A bug has been fixed where the Finalize
function would not complete during UDS communications if it is run without disconnecting.
We do recommend, however, that you disconnect from the network before calling the Finalize
function.
- With network settings configured and an available access point present, the device sometimes does not wake up from the sleep mode.
- When using save data from multiple threads, a
Module:6 Description:26
fatal error can sometimes occur.
- In UDS, when the master device ends, a
Summary:11 Module:27 Desc:4
fatal error can sometimes occur.
- Demos started via the debugger do not run normally if the system is closed and the demo does not support sleep mode.
- A
PID :0x00040130_00002D02
FATAL error may occur if wireless communications are enabled.
To prevent this, disable wireless communications.
- Noise was sometimes being introduced with sound sources satisfying the conditions listed below when using
INTERPLATION_TYPE_LINEAR
as the Voice interpolation method.
- Sources having a difference between adjacent samples of 32768 or higher when using 16-bit PCM.
This would apply to a -6-dB square wave, for example.
Do not use INTERPOLATION_TYPE_LINEAR
with sound sources that meet the above conditions.
Noise does not occur for sound sources that do not include a high-frequency component or sound sources where the amplitude remains within 16384 when using 16-bit PCM.
- There is a bug where execution of frame updates stops in the middle and recovery becomes impossible if System Updater is executed on development hardware whose serial number starts with AAA (for example, AAA300001231).
When a hard break is used in the ac
demo, there was a bug that resulted in a red screen. This has been fixed.
Changed the FakeClient
demo to correspond to the changes in Note 79-02.
Fixed a problem in the error handling during the mounting of save date for demo1
.
None.
When acquiring results before processing completed after calling an asynchronous function, the Result value was undefined, but now nn::ac::ResultProcessing is returned.
Up until now, termination determination due to the power button was with the IsExpectedToProcessPowerButton function, but because there are reasons for termination other than the power button, the determination is made with the IsExpectedToCloseApplication function to make comprehensive determination of termination.
(The IsExpectedToProcessPowerButton will be kept for now but eventually deleted.)
Added the GetErrorCode function to acquire the error code from the task result code (TaskResultCode).
Because the size of the message data body must be a multiple of 4, changed so that a check is made with Message::SetMessageBody and an error is returned when it is not suitable.
Changed so that only child devices that can connect to the parent device can participate in download sessions.
During the download session, an arbitrary UDS passphrase determined by the application can be distributed from the server to the clients.
By using this passphrase with the parent and child devices during UDS communication after downloading, child device that did not participate in the download session can be prevented from connecting.
However, change the passphrase for each download session.
Also, use passphrases that cannot be guessed by third parties.
Pass the passphrase to a parameter in the RebootAllClients function to distribute the passphrase from the server.
The child devices use the GetRebootInfo function to acquire the passphrase; simulated clients use the GetPassphrase function to acquire the passphrase.
Fixed a bug that prevented the texture cache from being cleared adequately when rendering with the font library.
This bug fix increased the memory used for rendering by eight bytes per each character.
Fixed a bug that caused the free capacity value acquired with the nn::fs::GetSdmcSize function to be smaller than the actual value, depending on the status of the SD card.
Fixed a bug that prevented the voice filter (Mono and Biquad) status from being cleared and caused noise to be introduced when starting playback of voices using filters.
Revised so that if Reset Setting is performed, the DONE display on the right side is deleted except for Reset Setting.
Also revised so that the Eula information is updated when Eula Setting is selected.
Added a feature where all shared extended save data is deleted when X on the SExtData tab on the DevMenu is pressed.
Fixed a bug that caused the maximum size to be set higher than it should be when shared extended save data was initialized with the DevMenu.
Also, the default for the maximum size supports CTR-SDK 0.14.5 and later specifications.
Fixed a bug that caused an invalid state where communication processing could not be performed correctly when the uds::Initialize function was executed in the period from when the application accepts to start to enter sleep mode until the system is in sleep mode even though it succeeded.
Changed so that the uds::Initialize function returns a ResultInvalidState error at the time the application accepts to start to enter sleep mode.
- The following bugs exist for the ctr_WaveConverter32.exe command line option.
- In addition to those included in Usage or the documentation, when -, --, or / are used as prefixes for options, there is no error.
- No error occurs even when specifying options not included in Usage or the documentation.
- Execution stops on a black screen during reboot after a DLP system update.
System update is complete. Restart the system.
When acquiring results before processing completed after calling an asynchronous function, the Result value was undefined, but now nn::ac::ResultProcessing is returned.
Fixed a bug that prevented the ability to make the error code returned by the GetLastErrorCode to be the error code for disconnected communications when a DisconnectEvent notification occurs.
Added the GetErrorCode function to acquire the error code from the task result code (TaskResultCode).
Fixed a bug that increased the time to respond when using a task status acquisition function (such as GetState) at a certain time during task execution.
Changed so that only child devices that can connect to the parent device can participate in download sessions.
During the download session, an arbitrary UDS passphrase determined by the application can be distributed from the server to the clients.
By using this passphrase with the parent and child devices during UDS communication after downloading, child device that did not participate in the download session can be prevented from connecting.
However, change the passphrase for each download session.
Also, use passphrases that cannot be guessed by third parties.
Pass the passphrase to a parameter in the RebootAllClients function to distribute the passphrase from the server.
The child devices use the GetRebootInfo function to acquire the passphrase; simulated clients use the GetPassphrase function to acquire the passphrase.
Fixed a bug that caused the screen to go black and the system to halt when rebooting after a child device download.
If the ProgramID was not 0 when performing an application jump via the development menu, it was recognized as starting NAND, so cards for which the ProgramID was not 0 could not be started with DevMenu.
This bug has been fixed.
Fixed a bug that occasionally caused the file system to be deadlocked when mounting or unmounting extended save data.
Fixed the problem that prevented background communication from being performed when the application called ac::Connect and a background operation happened to begin at the same time.
Changed so that the shared extended save data is deleted when System Updater is applied.
Fixed a bug that caused the system to enter an invalid state and not work properly when sleep mode was entered without terminating the UDS library and then the UDS library was initialized again after that.
Fixed a bug that allowed Spectators to connect using scan results from a previous network when a device operating as the Master dissolves and network then executes CreateNetwork again.
This was actually changed in CTR-SDK 0.14.5 but was accidentally omitted from the change log.
Fixed the cause when sleep mode was entered without terminating the UDS library and when a FATAL error occurred when recovering.
- Demos started via the debugger do not run normally if the system is closed and the demo does not support sleep mode.
- Fixed a bug that prevented files from being found when performing a rename that only changes the upper/lower case when changing the save data archive.
- A PID :0x00040130_00002D02 FATAL error may occur if wireless communications are enabled.
To prevent this, disable wireless communications.
- Noise was sometimes being introduced with sound sources satisfying the conditions listed below when using INTERPLATION_TYPE_LINEAR as the Voice interpolation method.
- Sources having a difference between adjacent samples of 32768 or higher when using 16-bit PCM
This would apply to a -6-dB square wave, for example.
Do not use INTERPOLATION_TYPE_LINEAR with sound sources that meet the above conditions.
Noise is not generated for sound sources that do not include a high-frequency component or sounds sources where the amplitude remains within 16384 when using 16-bit PCM.
- There is a bug where execution of frame updates stops in the middle and recovery becomes impossible if System Updater is executed on development hardware whose serial number starts with AAA (for example, AAA300001231).
Due to FS specification changes, the standby time until sample_nadl_simple processing starts became longer with CTR-SDK 0.14.4. Revised the network connection process to improve this and added supplementary explanation.
Fixed the improper error handling when using the sample demo camera.
increased the size of the update archive used by SimpleServer from 1 MB to 3 MB.
Changed so that only child devices that can connect to the parent device can participate in download sessions.
During the download session, an arbitrary UDS passphrase determined by the application can be distributed from the server to the clients.
By using this passphrase with the parent and child devices during UDS communication after downloading, child device that did not participate in the download session can be prevented from connecting.
However, change the passphrase for each download session.
Also, use passphrases that cannot be guessed by third parties.
Pass the passphrase to a parameter in the RebootAllClients function to distribute the passphrase from the server.
The child devices use the GetRebootInfo function to acquire the passphrase; simulated clients use the GetPassphrase function to acquire the passphrase.
None.
Fixed a bug that caused a communication conflict when the Connect(Async) function was called during local communications.
The values for the EnableSleep and DisableSleep function parameters in the applet library were specified with bool values, but they are now defined as values so that specification can be easily performed.
The true/false values for the EnableSleep function are now applet::SLEEP_IF_SHELL_CLOSED and applet::NO_SHELL_CHECK. The true/false values for the DisableSleep function are now applet::REPLY_REJECT_IF_LATER and applet::NO_REPLY_REJECT.
The current true/false specifications can also be used.
StreetPass operation can be stopped by specifying "Limit StreetPass communication with other users" in the parental control settings.
When restricted, no StreetPass partner search is performed and no messages are written (MessageBox::WriteMessage) to the box.
Fixed the problem that caused the Result to be nn::fs::ResultNotFormatted when mounting (shared) extended save data with an ID that has never been created.
With this change, nn::fs::ResultNotFound is returned as the Result when the ID has never been created and nn::fs::ResultNotFormatted is returned when the ID has generated an incompatibility for some reason.
Fixed the problem that allowed an ID, which failed in creating (shared) extended save data, to be mounted normally.
Added the GetSdmcSize to acquire the total capacity and free capacity of a SD card.
Fixed the incorrect conditions that allow an Assert when a flush instruction occurred immediately before closing a file in Debug and Development builds.
Fixed a bug that caused the GPU to stall when using only the vertex shader after using the vertex shader and geometry shader with the Shader::MakeOutAttrCommand function in the GR library because the 0xa value was not set in 0x289[31:24].
However, further testing after this release showed that 0x289[15:8] must also be set to 0x0.
Accordingly, the GPU stalled when switching to programs using only the vertex shader after using programs that used a subdivision or particle geometry shader.
This bug should be fixed in subsequent revisions.
This was actually changed in CTR-SDK 0.14.2 but was accidentally omitted from the change log.
Fixed the problems in error checking in the pedometer library.
Corrected so that the tool does not overwrite the dummy Mii when a "Personal Mii" is already set.
Also changed the Mii data registered by the tool so that it is data that can be correctly modeled.
Changed specifications so that "no looping" is set in the BCWAV file output if the loop start and loop end frames in a WAV file are the same frame.
The same changelog is in CTR-SDK 0.14 Note 53-95, but that was a mistake. This was actually supported in CTR-SDK 0.14.5.
Fixed a bug that caused the --loopStart
and --loopEnd
options to be ignored when the waveform file (WAV or AIFF) included no loop settings prior to conversion by ctr_WaveConverter32.exe
.
Revised so that an error occurs when required languages are not defined for a corresponding region.
Moved the ctr_loadrun documents in the API Reference to $CTR_SDK/documents/tools.
Moved the blacklist that was stored in the SD card to the shared extended save data.
The shared extended save data region must be initialized with DevMenu in advance.
Also, inserting SD card is no longer required when executing the ubl sample demo.
Changed so that the log that was displayed with the NN_UTIL_RETURN_IF_FAILED is no longer displayed.
- CTR cards cannot be started with DevMenu.
Since CTR cards can be started from the development menu, please use it with CTR-SDK 0.14.5.
- Execution stops on a black screen during reboot after a DLP system update.
System update is complete. Restart the system.
- Reboots after a child device download stop with a black screen.
The download has completed, so restart the system.
Fixed the problem that caused resources to leak when calling asynchronous functions continuously before the process returns.
Corrected the following bugs for BOSS.
- Could not confirm execution results of tasks during TASK_PAUSE.
- When trying to resume with NSA downloads, resume failed if there was a power interruption or if another task with higher priority interrupted.
- Speedy implementation task start instructions could not be performed with status tests that are paused.
- When trying to resume with the first http communication for a NSA download, the resume would fail with a power interruption.
- Tasks are not executed in the order of the task start instruction.
Fixed the problem that prevented the following settings for the SetPackageParameterWithoutContext function from being reflected properly.
- Exposure
- White balance
- Sharpness
- Contrast
- Auto-exposure sensor window
Fixed the problem that prevented some settings from properly recovering for restart processing when camera break-down was detected.
StreetPass operation can be stopped by specifying "Limit StreetPass communication with other users" in the parental control settings.
When restricted, no StreetPass partner search is performed and no messages are written (MessageBox::WriteMessage) to the box.
Fixed the problem that allowed only scanning for servers smaller than the maximum scan count specified by the Initialize function when repeatedly calling the StartScan and StopScan functions, depending on the timing.
Corrected so that the channel where the client begins scanning is random.
Corrected the error message when a FATAL or card removal error occurs.
Fixed the problem that cause the handle to leak in the daemon when an asynchronous function returned a failure.
Fixed the problem from CTR-SDK 0.14.3 that caused access to a card to be aborted when reading MIDI data using UIC-MIDI at the same time access to a card occurs.
Fixed a bug that prevent resources from being released when a SD card was removed at the same time a file was opened.
Changed the (shared) extended save data format because of performance improvements.
Also, compatibility with previous data has been maintained and previous data can be read and written, but in these cases the performance reverts to what it was previously.
Fixed a bug that caused calls to SuspendScheduler to be blocked continuously without completing when it was called while connected to an access point using the ac library.
Fixed the problem that caused daemon operation to stop when a communication library, such as UDS or AC, was not properly terminated when terminating an application.
Fixed the problem that caused the daemon status to be invalid after recovery when sleep mode was entered the instant that a communication library, such as UDS or AC, was initialized.
Fixed a bug that prevented notices from being posted.
Communication notices were supported suddenly.
Please use the HOME Menu beta version to confirm the notice list.
Fixed a bug that caused the debugger to hang when terminating a thread while calling the NN_LOG function.
Fixed bug that caused the VFP register value to be invalid when forcibly breaking with the debugger.
Fixed a bug that rarely prevented return after a socket, http, or ssl function was called.
Changed so that the region and language settings are set to "Japanese," and the other system settings and system mode maintain their states prior to System Updater being applied.
Note that in previous versions, the system settings were cleared and the system mode was set to either [dev1] or [prod] depending on the execution environment.
- Demos started via the debugger do not run normally if the system is closed and the demo does not support sleep mode.
- Fixed a bug that prevented files from being found when performing a rename that only changes the upper/lower case when changing the save data archive.
- There is a bug where disconnection of a Client cannot be detected correctly if connected to the network as a Spectator via UDS.
This bug was definitely present up to CTR-SDK 0.14.2, and handled in CTR-SDK 0.14.3 so that it only happened at a low level of probability. This problem has now been completely resolved.
- A FATAL error 0xD8A06FFF or 0xF9606C04 may occur if wireless communications are enabled.
To prevent this, disable wireless communications.
- Noise was sometimes being introduced with sound sources satisfying the conditions listed below when using INTERPLATION_TYPE_LINEAR as the Voice interpolation method.
- Sources having a difference between adjacent samples of 32768 or higher when using 16-bit PCM
This would apply to a -6-dB square wave, for example.
Do not use INTERPOLATION_TYPE_LINEAR with sound sources that meet the above conditions.
Noise is not generated for sound sources that do not include a high-frequency component or sounds sources where the amplitude remains within 16384 when using 16-bit PCM.
- There is a bug where execution of firmware updates stops in the middle and recovery becomes impossible if System Updater is executed on development hardware whose serial number starts with AAA (for example, AAA300001231). Do not run System Updater on this hardware.
Because in the camera sample demos there are places where functions that are not thread-safe, such as nn::camera::SetReceiving, are called from multiple threads. Depending on the timing, this could cause operations to be irregular. This has been fixed.
None.
Added applet::EnableSleep
and applet::DisableSleep
functions.
When in the enable
state, replies to sleep queries are enabled. When in the disable
state, all replies are treated as if they were applet::REPLY_REJECT
.
Revised so that the callback function configured using applet::SetSleepCanceledCallback
is called when an application gets a sleep query when the system is closed, and then the system is opened again between when the reply is sent and the system actually goes to sleep.
However, there is no need to configure this function when the time to go to sleep is short, or when you do not care if the system opens during a query.
Possible use cases for this function include when an application configures this callback because it might take some time to save data before going to sleep, and then when the system is opened and the callback called, the application quits saving data and returns applet::REPLY_REJECT
.
Fixed bug where closing the system while the library is initializing returns ResultIsSleeping
, but calling Initialize
again does not properly initialize the library.
Added function to get whether StreetPass or Internet communication with other users is restricted by Parental Controls settings.
Fixed bug where it was possible to use the CreateFile
function to create save data files that had negative sizes.
The nn::snd::InitializeWaveBuffer
function used to include an internal check of the buffer state, but this caused a bug where uninitialized buffers could not be used as WaveBuffer
objects. The function was revised to remove this check and resolve this bug.
This revision only affects libraries in debug and development builds.
Fixed a bug in the library where buffers could still be accessed even after deallocating WaveBuffer
objects (STATUS_DONE
).
Revised GetAddrInfo
function to make it thread-safe.
Deleted EULA-related error codes from the connection test error code list in the NetworkSetting
tool reference, as EULA acceptance is not needed to run connection tests.
Also added notes about connection tests to the NetworkSetting
tool reference.
Fixed bug where system attempting to go to sleep while the library is initializing returns ResultIsSleeping
, but calling Initialize
again does not properly initialize the library.
- Execution stops on a black screen during reboot after a DLP system update.
System update is complete. Restart the system.
- There is a bug where animations cannot be played correctly because illegal loop settings are written in the output file (
.bcwav
) when converting a .wav
file that includes loop settings and uses the same frame as the loop start and loop end.
- If a waveform file (WAV or AIFF) includes no loop settings prior to conversion by
ctr_WaveConverter32.exe
, a bug causes the --loopStart
and --loopEnd
options to be ignored.
Fixed bug where going to sleep would not work properly when done while an application or applet was starting or shutting down.
Revised so that the callback function configured using applet::SetSleepCanceledCallback
is called when an application gets a sleep query when the system is closed, and then the system is opened again between when the reply is sent and the system actually goes to sleep.
However, there is no need to configure this function when the time to go to sleep is short, or when you do not care if the system opens during a query.
Possible use cases for this function include when an application configures this callback because it might take some time to save data before going to sleep, and then when the system is opened and the callback called, the application quits saving data and returns applet::REPLY_REJECT
.
Fixed bug where some tasks would not run after calling PauseAllTasks
and then calling ResumeAllTasks
, even after the scheduled task execution time had passed.
Fixed a bug where the wrong network error code was returned during friend server or game server authentication.
Fixed a bug where the local system's display name would not be properly saved in files, with all instances changed to 255 after rebooting.
This has no effect on and does not change the behavior of directly getting the name or font region from a Mii.
Attempting to mount factory-default backup memory as save data formerly returned the error nn::fs::ResultVerificationFailed
. Changed this to now return nn::fs::ResultNotFormatted
.
Fixed a time-dependent bug where calling the Read
or GetHeader
functions would occasionally cause an HTTP disconnection.
The microphone was formerly unusable when the system was closed, but it was still possible to start sampling with the system closed if it was closed before the microphone had been used. This bug has been fixed.
Fixed a bug where the microphone could not be used again after calling Finalize
and then shutting down an application with the system closed.
Fixed a bug where the system would not reboot after pressing the HOME Button on the fatal error display screen shown when a card was removed.
Fixed a bug where holding the HOME Button down while powering off would prevent powering off and would cause the system to halt.
Changed specification to allow the setting of invalid languages in the RegionSelector
for debugging purposes.
Select INVALID LANGUAGE
to set to an invalid language.
Fixed a bug where shutting down an application during UDS communication would prevent returning to the development menu, resulting instead in a fatal error and the system halting.
- Demos started via the debugger do not run normally if the system is closed and the demo does not support sleep mode.
- There is a bug where disconnection of a Client cannot be detected correctly if connected to the network as a Spectator via UDS.
This bug was definitely present up to CTR-SDK 0.14.2, and handled in CTR-SDK 0.14.3 so that it only happened at a low level of probability. This problem has now been completely resolved.
- Noise was sometimes being introduced with sound sources satisfying the conditions listed below when using
INTERPLATION_TYPE_LINEAR
as the Voice
interpolation method.
- Adjacent 16-bit PCM samples differ by 32768 or more.
This would apply to -6dB pulse waveforms, for instance.
Do not use INTERPOLATION_TYPE_LINEAR
for sound sources that meet the above conditions.
Noise does not occur with sound sources that do not include high-frequency components and sound sources with 16-bit PCM amplitudes under 16384.
- There is a bug where execution of firmware updates stops in the middle and recovery becomes impossible if System Updater is executed on development hardware whose serial number starts with AAA (for example, AAA300001231). Do not run System Updater on this hardware.
Fixed bug where going to sleep would not work properly when done while an application or applet was starting or shutting down.
Revised insufficient microphone error processing in demo1
.
Fixed bug where news_test
demo would not start.
However, there is no means of checking the notifications list.
Check after release of the HOME Menu beta.
None.
A bug was fixed where the camera would not recover correctly when re-opened if the system was last closed while pressing the HOME Button for the second time after entering the HOME Menu using the HOME Button.
A bug was fixed where a "box not found" error is returned when OpenMessageBox is called while the daemon is running.
There was bug occurring when the available memory in the send box was low where the send count would not go down after completing a send operation and the send count could not be limited.
Specifications were changed so that false is always returned if an icon file is not attached to the application.
Added sleep support to DLP Sample Demos and DlpClient.
An error results if sleep (system closed) occurs while using DLP.
Recover from error status according to the instructions displayed on the screen.
DlpClient now supports the power button and HOME button.
Made the following changes to the dlp sample demo.
- SimpleServer and FakeClient demos now support the Power Button and HOME Button
- Added a child device feature to Child_0 and FakeClient demos.
After download, a simple UDS communication is made with the parent device.
- Added a parent device feature to the SimpleServer demo.
UDS communication with a child device.
Added a description of MANUAL_DIR (added to the electronics operations manual for applications) to $CTR_SDK/documents/SDKRules/BuildRules.html.
The fact that GetMyMii returns an empty me if an application is started without having set a Personal Mii in Mii Maker.
There was a bug occurring when the HID library gets various types of sampling values where abnormal sampling values would occasionally occur. This was fixed.
A feature for deleting shared extended save data using DevMenu has been deleted.
In addition, specifications have changed so that shared extended save data in NAND is entirely erased and recreated when initialization is executed.
This was actually changed in CTR-SDK 0.14.2 but was accidentally omitted from the change log.
A bug was fixed where the AllowToConnect function would not work correctly if called after executing the DissallowToConnect function.
This was actually changed in CTR-SDK 0.14.1 but was accidentally omitted from the change log.
- Execution stops on a black screen during reboot after a DLP system update.
System update is complete. Restart the system.
- There is a bug where animations cannot be played correctly because illegal loop settings are written in the output file (
.bcwav
) when converting a .wav
file that includes loop settings and uses the same frame as the loop start and loop end.
- If a waveform file (WAV or AIFF) includes no loop settings prior to conversion by
ctr_WaveConverter32.exe
, a bug causes the --loopStart
and --loopEnd
options to be ignored.
The method used to calculate the memory available for allocating BOSS storage memory now includes a file's cluster size, not included in the original calculation.
The following problems were discovered with BOSS and corrected.
- The execution count does not go down if power is cut during a Raw download
- The internal BOSS timer keeps going off during the interval between a 20-second task and a 60-second task
- Sometimes the internal BOSS timer does not start after all tasks have executed
- A 255th task cannot be registered
- Sometimes NSDs beyond the first in NSA cannot be obtained by NADL using extended save data
- A task error results if an NADL task is halted and an attempt is made start a task registered before the halt
- NSA download fails if the storage ID of BOSS storage changed during download
A bug was fixed where the camera would not recover correctly when re-opened if the system was last closed while pressing the HOME Button for the second time after entering the HOME Menu using the HOME Button.
A bug was fixed where a "box not found" error is returned when OpenMessageBox is called while the daemon is running.
There was a bug that would occur during negotiations with a peer where, once "unable to send" status resulted, it would continue on even for communications with other peers.
The SimpleServer demo was made to support DLP system updates (DUP).
For examples, see Sample Demos/readme-CTR_SDK-0_14_3-Sample Demos.txt.
Fixed a bug where the backlight would stop lighting and the display would not recover if the system was closed while a FATAL and a "card removed error" were being displayed on the screen.
A bug was fixed where nn::fs::MountRom would occasionally return nn::fs::ResultVerificationFailed and fail.
A bug was fixed where a deadlock would occasionally occur if multiple threads attempted to access the file system at once.
A hardware problem was identified where coordinate data after a pen-down on the touch panel would occasionally result in incorrect values larger than the originals.
To solve this problem, processing was changed so that the first data generated after pen-down is handled as a pen-up.
A bug was fixed where HTTPS communications via proxy could not be implemented.
A bug was fixed where the 3D LED status was not being initialized when an application was started a second time after stopping the debugger during a stereoscopic display.
- Demos started via the debugger do not run normally if the system is closed and the demo does not support sleep mode.
- There is a bug where disconnection of a Client cannot be detected correctly if connected to the network as a Spectator via UDS.
This bug was definitely present up to CTR-SDK 0.14.2, and handled in CTR-SDK 0.14.3 so that it only happened at a low level of probability. This problem has now been completely resolved.
- Sleep is not handled normally if sleep occurs during application or applet startup or shutdown.
- The system sometimes down not sleep normally if the HOME Button is pressed during the display of a "card removed" error.
- Noise was sometimes being introduced with sound sources satisfying the conditions listed below when using INTERPLATION_TYPE_LINEAR as the Voice interpolation method.
- Sources having a difference between adjacent samples of 32768 or higher when using 16-bit PCM
This would apply to a -6-dB square wave, for example.
Do not use INTERPOLATION_TYPE_LINEAR with sound sources that meet the above conditions.
Noise is not generated for sound sources that do not include a high-frequency component or sounds sources where the amplitude remains within 16384 when using 16-bit PCM.
- There is a bug where execution of firmware updates stops in the middle and recovery becomes impossible if System Updater is executed on development hardware whose serial number starts with AAA (for example, AAA300001231). Do not run System Updater on this hardware.
The SimpleServer demo was made to support DLP system updates (DUP).
For examples, see Sample Demos/readme-CTR_SDK-0_14_3-Sample Demos.txt.
Added sleep support to DLP Sample Demos and DlpClient.
An error results if sleep (system closed) occurs while using DLP.
Recover from error status according to the instructions displayed on the screen.
DlpClient now supports the power button and HOME button.
Made the following changes to the dlp sample demo.
- SimpleServer and FakeClient demos now support the Power Button and HOME Button
- Added a child device feature to Child_0 and FakeClient demos.
After download, a simple UDS communication is made with the parent device.
- Added a parent device feature to the SimpleServer demo.
UDS communication with a child device.
An electronics operations manual was added to Sample Demos/demo1.
There was a bug where the throughput and error rate displayed for Master of Clients already connected would appear as garbage when connecting a new Client when using the uds/com_demo1 demo. This has been fixed.
None.
A bug was fixed where the system would not enter sleep if the system was closed while returning to an application from the developer's menu.
A but was fixed where the camera could not be restored to the intended state during application recovery caused by opening the system if the system had been closed during transition to the developer's menu caused by pressing the HOME Button while using application was using the camera.
The GR Library was revised so that Texture::Unit0::MakeCommand function correctly generates cube map and shadow map commands.
The GR library was revised because the values of color border commands for Texture 0, 1 and 2 were incorrect.
A bug was fixed where the framebuffer cache was not being flushed and cleared when the GR library generated a RenderState class public variable command.
This was actually changed in CTR-SDK 0.14.1 but was accidentally omitted from the change log.
The Initialize/FinalizePedometer functions, used to initialize and shut down the pedometer library, have been deleted.
Note that the ptm::Initialize function must be called before using the pedometer library.
The UBL library had a problem where shared extended save data in NAND memory could not be accessed, so we have temporarily changed the location where shared extended save data is saved to SD card.
The specifiable range for the maximum send delay time that can be set using the SetMaxSendDelay function has been changed from 10 to 100 milliseconds to 5 to 10 milliseconds.
- There is a bug where animations cannot be played correctly because illegal loop settings are written in the output file (
.bcwav
) when converting a .wav
file that includes loop settings and uses the same frame as the loop start and loop end.
- If a waveform file (WAV or AIFF) includes no loop settings prior to conversion by
ctr_WaveConverter32.exe
, a bug causes the --loopStart
and --loopEnd
options to be ignored.
A bug was fixed where the system would not enter sleep if the system was closed while returning to an application from the developer's menu.
A but was fixed where the camera could not be restored to the intended state during application recovery caused by opening the system if the system had been closed during transition to the developer's menu caused by pressing the HOME Button while using application was using the camera.
A bug has been fixed where the screen would momentarily distort and in rare instances disappear without an error message appearing when going to display a FATAL error and "card removed" error.
A bug was fixed where, depending on the timing, the system would not enter sleep and would hang, if the system was closed immediately after starting the system.
A bug was fixed where the fact the HOME Button was being pressed could not be detected if the HOME Button was pressed repeatedly immediately after returning to the developer's menu by pressing the HOME Button from inside an application.
A bug has been fixed where the system would engage in restart without writing account and friend list information if the Power Button was held down to cause shutdown.
A bug was fixed where internal state transitions were not being handled correctly in cases such as when the system was quickly opened and closed.
A bug was fixed where, depending on the timing, background communications were not being switched correctly when combining sleep and WiFi on/off switching.
Sometimes, depending on the timing, the uds::Initialize function would not exit due to a bug where background communications were being stopped.
This bug has been fixed.
A bug was fixed where status update events were not being signaled when transiting to sleep or wireless off mode while not connected.
Do not put the system in sleep mode without shutting down the uds library.
Always execute the uds::Finalize function before allowing an application to sleep.
A bug was confirmed and fixed where a FATAL error would occur if the DestroyEndpoint function was executed after recovering from sleep initiated without closing the uds library.
Do not put the system in sleep mode without shutting down the uds library.
Always execute the uds::Finalize function before allowing an application to sleep.
- Demos started via the debugger do not run normally if the system is closed and the demo does not support sleep mode.
- Sleep is not handled normally if sleep occurs during application or applet startup or shutdown.
- The system sometimes down not sleep normally if the HOME Button is pressed during the display of a "card removed" error.
- The back light will stop lighting if the system is closed and opened again during display of a FATAL error screen.
- There is a problem where the chance encounter daemon sometimes returns SESSION_CLOSED and the chance encounter library then becomes unusable.
- Noise was sometimes being introduced with sound sources satisfying the conditions listed below when using INTERPLATION_TYPE_LINEAR as the Voice interpolation method.
- Sources having a difference between adjacent samples of 32768 or higher when using 16-bit PCM
This would apply to a -6-dB square wave, for example.
Do not use INTERPOLATION_TYPE_LINEAR with sound sources that meet the above conditions.
Noise is not generated for sound sources that do not include a high-frequency component or sounds sources where the amplitude remains within 16384 when using 16-bit PCM.
- There is a bug where execution of firmware updates stops in the middle and recovery becomes impossible if System Updater is executed on development hardware whose serial number starts with AAA (for example, AAA300001231). Do not run System Updater on this hardware.
- Save data access is not thread-safe.
Added a description of the EULA agreement check.
With this change, you must initialize the FS library before using this function.
The GetStatus function was dangerous depending on how it was used and was deprecated because the IsConnected function has been added for getting whether the local system is issuing a connection request to the network.
A function for getting whether stereoscopic display is permitted has been added.
Specifications have changed so that the nn::applet::CTR::Enable function is called immediately after making setting to clarify the timing at which applet library callbacks, such as sleep and HOME Button, are enabled.
The application is not notified of sleep and or pressing of the Power Button or HOME Button until this nn::applet::CTR::Enable function is called.
Due to this, the developers menu may accept key input if a demo has been executed via the debugger without calling this function.
Specifications were changed so that nn::boss:Task::StartImmediate fails if connection with the AP has not been spontaneously established first by a call to nn::ac::Connect.
The timing used to check whether the EULA agreement has been accepted has been changed.
This has been changed from when the box was opened (using MessageBox::OpenMessageBox) to the time data is written (using MessageBox::WriteMessage).
Specifications have changed when CecControl::StartScanning is called so that the system starts under ndm management. In the past operations were started directly by the daemon.
When performing communications other than chance encounter communications, under ndm management, that communication is allowed to end before starting operations.
(There is no change in daemon status immediately after StartScanning is called.)
Also, a bug was fixed where communications could not be started without calling StartScanning several times in the StopScanning function was called several times.
A bug was fixed where an error was sometimes returned when using the nn::cx::ReadUncomp function, regardless of whether data was correct.
Status indicating that the library is not initialized has been made public.
CLIENT_STATE_INVALID in the ClientState enumerated type indicates the client is in an uninitialized state.
SERVER_STATE_INVALID in the ServerState enumerated type indicates the server is in an uninitialized state.
Specifications have changed so that the cia files DlpClient and StereoCameraCalibrator are no longer included in the package because user applications can no longer be imported into NAND memory starting from CTR-SDK version 0.14.
Specifications were changed so that nn::friends::Login fails if connection with the AP has not been spontaneously established first by a call to nn::ac::Connect.
Revised member definitions so that the MiiData structure always has 4-byte integrity.
Access to members remains as in the past because it has been made a union.
Specifications have changed so that available memory in the save data archive can be obtained by GetArchiveFreeSize.
In addition, argument types have been standardized to match other API functions.
The nn::fs::GetFileSystemSize function was redacted.
The nn::fs::ReadExtSaveDataIcon function has removed from public view.
A function that gets the amount of memory used by extended save data was added.
Result-related definitions not handled by applications were removed from fs_Result.h.
The type of FrameBuffer::DepthStencilBuffer::clearStencil in the GR library was changed form f32 to u8.
A bug was fixed where the 3D command buffer was not being appropriately copied to the command list object specified by the nngxAddCmdlist function.
The following graphics-related documentation was updated.
- $CTR_SDK/documents/DMPGL20/DMPGL20_specification.pdf
- Added a description of "DMP shadow"
- Regarding clamping texture coordinate r during shadow access
- Described cases where the attenuation factor does not work correctly
- Regarding the color components used in the shadow collection pass
- Added a supplement about the value region of shadow texture components
- $CTR_SDK/documents/DMPGL20/DMPGL20_programming_guide.pdf
- Made revisions regarding the rendering color used in the shadow collection pass
- Added 20.5. When the rendering result for polygons with the same vertex coordinates do not exactly match.
- $CTR_SDK/documents/DMPGL20/DMPGL20_system_API_specification.pdf
- Added details regarding the conditions required for clearing the framebuffer cache
- Revised the description of register 0x25f, which is involved with rendering functions.
- Described block image transfer
- Revised the description of nngxBindCmdlist function errors
- $CTR_SDK/documents/DMPGL20/VertexShaderReferenceManual.pdf
- Added a description of an option for checking shader integrity
There was a possibility that division by 0 might occur when STICK_CLAMP_MODE_MINIMUM (one of the slide pad clamp modes) was selected.
This problem was fixed.
Listed the various API Result return values and the various methods for handling them.
Broken links and typos in the API reference were also corrected.
A notification LED now lights.
Check that a notification is posted and that the LED notifies you when the HOME Menu is opened.
A bug was fixed where some prohibited words were being mis-recognized as no problem when detecting prohibited words.
The prohibited word list used when the system region is Japan and specifications allow communication with other regions has been changed by overloading the CheckProfanityWords function, which automatically selects the list to use and detects prohibited words.
A bug was fixed where execution would stop on an assert when the nn::snd::FxDelay destructor was called after calling nn::snd::FxDelay::ReleaseWorkBuffer.
The timing at which the callback function should be called when a voice drop occurs has been clarified in the nn::snd::AllocVoice API reference manual.
Listed the various API Result return values and the various methods for handling them.
Broken links and typos in the API reference were also corrected.
Although ResultSocketZeroReturnErr returns normally, the name has been changed to ResultSocketZeroReturn so it is not limited to just errors.
Sample demos and the API reference have been revised due to this change.
Specifications have been revised so that a default value for each region is now used ResetSetting is executed with the Config tool. (Japanese language used to always result.)
A feature was added to DevMenu for setting the memory region at initial startup of the HOME Menu.
This is executed by going to the SExtData tab and pressing the Y Button.
A DNS setting feature was added to the NetworkSetting tool.
A bug was fixed where operations were not performed according to specifications if ctr-makeciaarchive32.exe did not specify the -rsf and --romfs-root options.
A bug was fixed where label names of the form "lN" (where "l" is a lowercase "L" and N stands for a number such as 0, 1, 2, ...) could not be interpreted correctly by the shader assembler ctr_VertexShaderAssembler32.exe.
The -check_consistency option has been newly added to the shader linker ctr_VertexShaderLinker32.exe for checking if a shader program is implemented.
For more information, see Chapter 15, Shader Check Feature, in the vertex shader reference manual included in $CTR_SDK/documents/DMPGL20/VertexShaderReferenceManual.pdf.
The format of the RSF BasicInfo/ProductCode has been changed. .
If you use the old format, ctr_makerom will output a warning and change to the new format.
The new format can no longer be used starting from the next version.
For more information, see the ctr_makerom reference page.
A bug with an extremely low frequency of occurrence was fixed where the Receive and ReceiveFrom functions would continue to block.
A bug was fixed where a Panic would result inside the ReceiveFrom function if endpoint was destroyed by the DestroyEndpoint function while the Receive function was blocking.
The nn::uds::NetworkDescription::CanConnectAsSpectator function was added beginning from CTR-SDK 0.14.
A bug was fixed where abnormal operations would result after re-initializing the system after sleeping it during UDS communications.
- The UBL library cannot be used.
- There is a bug where animations cannot be played correctly because illegal loop settings are written in the output file (
.bcwav
) when converting a .wav
file that includes loop settings and uses the same frame as the loop start and loop end.
- If a waveform file (WAV or AIFF) includes no loop settings prior to conversion by
ctr_WaveConverter32.exe
, a bug causes the --loopStart
and --loopEnd
options to be ignored.
A bug was fixed where an invalid IP address was being set under the following specific conditions during DHCP.
The GetStatus function was dangerous depending on how it was used and was deprecated because the IsConnected function has been added for getting whether the local system is issuing a connection request to the network.
A function for getting whether stereoscopic display is permitted has been added.
Specifications have changed so that the nn::applet::CTR::Enable function is called immediately after making setting to clarify the timing at which applet library callbacks, such as sleep and HOME Button, are enabled.
The application is not notified of sleep and or pressing of the Power Button or HOME Button until this nn::applet::CTR::Enable function is called.
Due to this, the developers menu may accept key input if a demo has been executed via the debugger without calling this function.
A bug was fixed where the NsData::SetAdditionalInfo function would not work under CTR-SDK version 0.14.
A bug was fixed where BOSS would wake up when executing a task with an execution count of 0.
A bug was fixed where wireless operations could not enter power save mode due to BOSS.
An error would result if WHITE_BALANCE_NORMAL was set using the SetPackageParameterWithoutContext function.
This has been fixed so no error results by making settings equivalent to SetAutoWhiteBalance when a value other than WHITE_BALANCE_NORMAL has been set.
A bug has been fixed where the daemon would malfunction immediately after communications were started if there was only one box containing a message specified as "send only."
The timing used to check whether the EULA agreement has been accepted has been changed.
This has been changed from when the box was opened (using MessageBox::OpenMessageBox) to the time data is written (using MessageBox::WriteMessage).
Operations have been revised so that an attempt is made to reconnect without leaving a gap after connection with AP or NintendoZone when no chance encounter data has been set during sleep.
Reconnection is made using the interval set by the system.
Specifications have changed so a message to users regarding the system's language setting is displayed on the lower screen when a FATAL error occurs.
(Existing error status information is displayed on the upper screen.)
In previous versions, switching between applications and the menu using the HOME Button was not being handled correctly and the correct Power Button sequence was not being performed because applications were being treated as if they did not exist within the developer's menu if the developer's menu was started while an application was halted.
This bug has been fixed.
A bug was fixed where the screen display would remain ON and execution would move to the application when an application was started from the development menu.
A feature for rebooting using the HOME Button during the display of a "card removed" error was added.
(This is currently being studied because it does not always work smoothly.)
A bug was fixed where there was a possibility of a malfunction without shutting down normally if the battery level was 0%.
The default value for backlight brightness has been changed from 4 to 5.
A bug was fixed where users waiting to establish friend relationships were being removed from the friends list.
Specifications have changed so that data can be reformatted using the FormatSaveData function if data on the CTR card backup device becomes corrupted and a ResultCardBackupType1BadFormat or ResultCardBackupType1CommError error results.
Specifications have changed so that available memory in the save data archive can be obtained by GetArchiveFreeSize.
In addition, argument types have been standardized to match other API functions.
The result returned after a card application executed the MountSaveData function was an invalid value (ResultNotFormatted) when a CTR card without backup memory was inserted. Specifications have been revised so that the appropriate value (ResultCardBackupType1NoDevice) is returned.
A bug was fixed where resources would run out if the SD card was repeatedly inserted while a file or directory was open.
Directory attributes have been revised so that an ARCHIVE Attribute is not attached to a directory when it is created.
The timestamp format used to only support the update date and time, but now also support a creation date.
The path name check has been revised to correctly return an error if when an attempt is made to create an unnamed directory or file. Under the old path name check, this would succeed.
A function that gets the amount of memory used by extended save data was added.
The internal format of save data and extended save data has changed.
Reformatting or recreation is required because data created under previous versions of the CTR-SDK can no longer be used.
A bug was fixed where, depending on the timing, a fatal result that should not be issued by the system would occur, or a NULL ASSERT would sometimes be generated within the CTR-SDK, if the card was removed while accessing backup memory.
Under old specifications, directories in an SDMC archive could not be deleted if a forward slash was included at the end of the path name, but this has been changed so that directories specified this way are deleted just as with other archives.
Access restrictions on the file system has been implemented.
With this implementation, code must be written as shown below inside AccessControlInfo for rsf files, when directly handling files on an SD card using functions such as nn::fs::MountSdmc.
FileSystemAccess:
- DirectSdmc
You can also code as indicated below when handling files on an SD card for debugging purposes only.
FileSystemAccess:
- Debug
A bug has been fixed where execution would freeze without issuing an insufficient resources error when many files or directories were open.
There was a problem where (314, 234) would occasionally result for touch panel data regardless of the actual touch position.
This problem was fixed.
Specifications have changed so that any communications, even keep alive communications, are cut if the user issues an explicit Cancel or Finalize during communications.
(Keep alive communications are not cut off just as in the past once communications have ended.)
A bug was fixed where connection would be cutoff while the application was using the communication infrastructure.
This bug has been fixed.
A bug was fixed where beacons without VendorSpecificIE could not be found using ZoneAp scans.
A bug was fixed where it was hard to connect distant network nodes because send signal strength could not be increased by switching communication modes.
A notification LED now lights.
Check that a notification is posted and that the LED notifies you when the HOME Menu is opened.
A bug was fixed where prohibited words were not being checked correctly due to a problem with the prohibited word list for the North American Region, Portuguese language.
A bug was fixed where the number of steps data that should normally have been counted would become 0 when getting the number of steps.
A bug was fixed where the system would not wake up from sleep normally at the time specified by the alarm.
A bug was fixed where control would not return from the polling function if a socket being polled was closed.
A bug was fixed where the system would change in the middle of transiting to the menu screen if the application exited without executing the nn::uds::Finalize function.
A bug was fixed where STATE_DISCONNECTED would result for the state returned by the GetConnectionState function, regardless of the expected state STATE_ERROR, after entering wireless OFF mode and going to sleep.
A bug was fixed where Clients would not correctly handle unconnected status when signal quality was extremely poor and there was a large volume of communication data.
- Demos started via the debugger do not run normally if the system is closed and the demo does not support sleep mode.
- The development menu does not start if the sleep/recover is repeated while power is on.
- System closed status, rather than sleep, results if the system is quickly opened and closed from sleep status.
- Sleep is not handled normally if sleep occurs during application or applet startup or shutdown.
- Sleep is not performed correctly if sleep is initiated immediately after pressing the HOME Button or Power Button.
- There is a problem where, depending on the timing, background communications are not being switched correctly when combining sleep and WiFi on/off switching.
- A FATAL error sometimes results if the uds::DestroyEndPoint function is called after recovering from sleep.
- Before displaying a FATAL error on the screen, the upper and lower LCD screens sometimes distort, and then the LCDs go black without showing the FATAL error screen.
- The system sometimes down not sleep normally if the HOME Button is pressed during the display of a "card removed" error.
- The back light will stop lighting if the system is closed and opened again during display of a FATAL error screen.
- There is a problem where the chance encounter daemon sometimes returns SESSION_CLOSED and the chance encounter library then becomes unusable.
- Child devices downloaded from using DlpClient are removed upon restart.
Therefore, each time DlpClient is started, download must be made for child devices regardless of the version. Note that the child device can be booted after download.
- Noise was sometimes being introduced with sound sources satisfying the conditions listed below when using INTERPLATION_TYPE_LINEAR as the Voice interpolation method.
- Sources having a difference between adjacent samples of 32768 or higher when using 16-bit PCM
This would apply to a -6-dB square wave, for example.
Do not use INTERPOLATION_TYPE_LINEAR with sound sources that meet the above conditions.
Noise is not generated for sound sources that do not include a high-frequency component or sounds sources where the amplitude remains within 16384 when using 16-bit PCM.
- There is a bug where execution of firmware updates stops in the middle and recovery becomes impossible if System Updater is executed on development hardware whose serial number starts with AAA (for example, AAA300001231). Do not run System Updater on this hardware.
- Save data access is not thread-safe.
This function was deleted because the sample could not be maintained due to insufficiency of the C language interface.
A fs initialization process was added to sample demos that use various nn::ac::Connect function.
Specifications have changed so that the nn::applet::CTR::Enable function is called immediately after making setting to clarify the timing at which applet library callbacks, such as sleep and HOME Button, are enabled.
The application is not notified of sleep and or pressing of the Power Button or HOME Button until this nn::applet::CTR::Enable function is called.
Due to this, the developers menu may accept key input if a demo has been executed via the debugger without calling this function.
A bug has been fixed where there was a mistake in handling Result returned by the nn::boss::GetNsDataIdList function in demo code where any NSD IDs from the 32nd and beyond could not be obtained by the demo.
The timing used to check whether the EULA agreement has been accepted has been changed.
This has been changed from when the box was opened (using MessageBox::OpenMessageBox) to the time data is written (using MessageBox::WriteMessage
).
A bug was fixed that would occur when writing files to SD card with the ProcTexEditor demo for editing procedural texture parameters.
Although ResultSocketZeroReturnErr
returns normally, the name has been changed to ResultSocketZeroReturn
so it is not limited to just errors.
Sample demos and the API reference have been revised due to this change.
Operations have changed so that care is taken when entering WiFi OFF mode during communications when an application was started in WiFi OFF mode so that the com_demo1 demo is slept and the HOME Menu is brought up.
Specifications have changed so that connections are made in Spectator mode by the uds/simple demo.
None.
In contrast to the description in the FS API Reference Manual, the latency emulation function remained enabled by default even in the Release build. This was corrected so that it is disabled in the Release build.
- Of the tools in $CTR_SDK/tools/TargetTools/CTR-TS/Release, DevMenu.csu and FriendTool.csu cannot be run on the debugger.
- A problem caused the screen to distort when the RenderState class public variable (such as stencilTest) MakeCommand function was called.
- There is a bug where animations cannot be played correctly because illegal loop settings are written in the output file (.bcwave) when converting a .wav file that includes loop settings and uses the same frame as the loop start and loop end.
- If a waveform file (WAV or AIFF) includes no loop settings prior to conversion by
ctr_WaveConverter32.exe
, a bug causes the --loopStart
and --loopEnd
options to be ignored.
In contrast to the description in the FS API Reference Manual, the latency emulation function remained enabled by default even in the Release build. This was corrected so that it is disabled in the Release build.
- There is a problem with partial stability during sleep mode. Depending on the timing, the system does not always recover correctly from Sleep Mode. Since this is a fatal problem with no workaround available, a bug fix package will be releases as soon as the cause is known.
- There is a bug where execution of frame updates stops in the middle and recovery becomes impossible if System Updater is executed on development hardware whose serial number starts with AAA (for example, AAA300001231).
- profiler.cia stops on an ASSERT when started from debugger software.
- Save data access is not thread-safe.
A problem caused an SD card not to be recognize correctly subsequent to being inserted/removed during Sleep. This problem was fixed.
This change was included in CTR-SDK 0.14.0.3 but was omitted from the change log.
A problem in the ngc library caused initialization to fail and the DESCRIPTION_ARCHIVE_NOT_FOUND to occur. This problem was fixed.
- Of the tools in $CTR_SDK/tools/TargetTools/CTR-TS/Release, DevMenu.csu and FriendTool.csu cannot be run on the debugger.
- A problem caused the screen to distort when the RenderState class public variable (such as stencilTest) MakeCommand function was called.
- There is a bug where animations cannot be played correctly because illegal loop settings are written in the output file (.bcwave) when converting a .wav file that includes loop settings and uses the same frame as the loop start and loop end.
- If a waveform file (WAV or AIFF) includes no loop settings prior to conversion by
ctr_WaveConverter32.exe
, a bug causes the --loopStart
and --loopEnd
options to be ignored.
A problem caused a FATAL ERROR to occur when waking while half-awake. This problem was fixed.
However, some instability still exists in the sleep process, and recovering from the sleep state may not be possible, depending on the timing.
A problem caused an SD card not to be recognize correctly subsequent to being inserted/removed during Sleep. This problem was fixed.
This change was included in CTR-SDK 0.14.0.3 but was omitted from the change log.
- There is a problem with partial stability during sleep mode. Depending on the timing, the system does not always recover correctly from Sleep Mode. Since this is a fatal problem with no workaround available, a bug fix package will be releases as soon as the cause is known.
- There is a bug where execution of frame updates stops in the middle and recovery becomes impossible if System Updater is executed on development hardware whose serial number starts with AAA (for example, AAA300001231).
- profiler.cia stops on an ASSERT when started from debugger software.
- Save data access is not thread-safe.
FATAL ERROR 0xD8E007FD was generated when a load was placed on the socket. This problem was fixed.
- Of the tools in $CTR_SDK/tools/TargetTools/CTR-TS/Release, DevMenu.csu and FriendTool.csu cannot be run on the debugger.
- A problem caused the screen to distort when the RenderState class public variable (such as stencilTest) MakeCommand function was called.
- There is a bug where animations cannot be played correctly because illegal loop settings are written in the output file (.bcwave) when converting a .wav file that includes loop settings and uses the same frame as the loop start and loop end.
- If a waveform file (WAV or AIFF) includes no loop settings prior to conversion by
ctr_WaveConverter32.exe
, a bug causes the --loopStart
and --loopEnd
options to be ignored.
Fixed the problem that caused one of every two imports to fail when there was a child device that had been imported.
A problem caused MountSaveData to fail, even when it should succeed, after it had failed a single time. This problem was fixed.
A problem caused register values to be corrupted occasionally when stepping/tracing with the debugger. This problem was fixed.
- There is a problem with partial stability during sleep mode. Depending on the timing, the system does not always recover correctly from Sleep Mode. Since this is a fatal problem with no workaround available, a bug fix package will be releases as soon as the cause is known.
- There is a bug where execution of frame updates stops in the middle and recovery becomes impossible if System Updater is executed on development hardware whose serial number starts with AAA (for example, AAA300001231).
- profiler.cia stops on an ASSERT when started from debugger software.
- Save data access is not thread-safe.
Bugs related to state transition and exclusive control of the HOME Button, Power Button and Sleep Mode were fixed.
A bug was fixed where the shutdown process would not complete normally.
A bug was fixed where the number of steps was not being saved at shutdown.
- Among the tools located in $CTR_SDK\tools\TargetTools\CTR-TS\Release, DevMenu.csu and FriendTool.csu cannot be executed by the debugger. Also, even though DlpClient.csu can be executed by the debugger, it does not work right due to a problem with importing and some behavior issues.
- The screen distorts if the MakCommand function is called with a public variable (such as stencilTest) of the RenderState class.
- There is a bug where animations cannot be played correctly because illegal loop settings are written in the output file (.bcwave) when converting a .wav file that includes loop settings and uses the same frame as the loop start and loop end.
- If a waveform file (WAV or AIFF) includes no loop settings prior to conversion by
ctr_WaveConverter32.exe
, a bug causes the --loopStart
and --loopEnd
options to be ignored.
Bugs related to state transition and exclusive control of the HOME Button, Power Button and Sleep Mode were fixed.
A bug was fixed where the shutdown process would not complete normally.
A bug was fixed where the number of steps was not being saved at shutdown.
- There is a problem with partial stability during sleep mode. Depending on the timing, the system does not always recover correctly from Sleep Mode. Since this is a fatal problem with no workaround available, a bug fix package will be releases as soon as the cause is known.
- In the last update a bug was fixed where an abort error would occur if stripping was continued using the debugger. However, there are now reports of cases where register values are sometimes being corrupted during step/trace execution.
We are still investigating the cause, and will release a bug fix package as soon as the cause is known.
- There is a bug where execution of frame updates stops in the middle and recovery becomes impossible if System Updater is executed on development hardware whose serial number starts with AAA (for example, AAA300001231).
- profiler.cia stops on an ASSERT when started from debugger software.
- Save data access is not thread-safe.
A bug was fixed where "unknown card" was being displayed if a game card was inserted and removed several times repeatedly.
A bug was fixed where an abort would occur if step execution from the debugger or break point stops repeated.
- There is a problem with partial stability during sleep mode. Depending on the timing, the system does not always recover correctly from Sleep Mode. Since this is a fatal problem with no workaround available, a bug fix package will be releases as soon as the cause is known.
- There is a problem with handling transitions from each state: application execution, TestMenu display, HOME Menu display, applet display, Sleep Mode, and Power Off mode. Depending on the exact combination of modes and their order, some state transitions cannot be made correctly. Since this is a fatal problem with no workaround available, a bug fix package will be releases as soon as the cause is known.
- There is a problem with processing when shutting down power. Applications sometimes do not shutdown correctly.
In relation to this, an error occurs where play history information and step information is not saved correctly when shutting down power. Since this is a fatal problem with no workaround available, a bug fix package will be releases as soon as the cause is known.
- There is a bug where execution of frame updates stops in the middle and recovery becomes impossible if System Updater is executed on development hardware whose serial number starts with AAA (for example, AAA300001231).
- Startup from debugger software using the NEWPU command in profiler.cia is impossible.
- Save data access is not thread-safe.
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.
Although sleep-related notification callbacks (SLEEP, SLEEP_QUERY, AWAKE) are provided, the SLEEP notification callback mechanism has been removed.
The original SLEEP and SLEEP_QUERY notification callbacks are designed to be called consecutively. As such, if there is processing that used to be performed by the SLEEP notification callback, be sure to include it in the SLEEP_QUERY notification callback.
The applet::Initialize function was moved to nninitSetup in the StartUp API.
Applications no longer have to call this API.
A bug was fixed where the Initialize function would return failure on rare occasions.
Among capture mode setting made by the SetPhotoMode function, white balance was being updated, but parameters for mitigating individual product disparities measured at time of production were not being reflected. This bug has been fixed.
However, these parameters are not stored in systems manufactured prior to mid-August.
White balance settings have not changed for these systems.
We have changed behavior so that, if the camera is running when transiting from the application to an Applet, it moves into Standby mode just like when the cover is closed, and when a transition is made from the Applet to the application, the original running state is restored.
A feature has been added where saving data midway through communications is canceled, and Daemon execution is stopped, if StopScanning(b_Immediate = true) is specified.
A check has been added to see whether the EULA agreement required to run the application has been accepted.
If not accepted, MessageBox::OpenMessageBox and WriteMessage result in an error.
Because the fs feature is used to read out the EULA request version, you must call the nn::fs::Initialize function beforehand.
After setting a message using the CloseMessageBox function, the message is committed using the CommitMessageBox or MessageBox::WriteMessage function.
If power goes off without committing the message, status may roll back to that in place the last time a message was committed.
Operations have changed so that CecControl::StopScanning(true) is called automatically from functions, such as MessageBox::OpenMessageBox and MessageBox::WriteMessage, that access the chance encounter box.
Daemon status no longer needs to be changed to halted status before accessing the box.
If communications operations have already started at this time, the communication is canceled.
If you do not want communications canceled, be sure to wait until halt status results using the GetCecStat or StopScanning functions.
An API function has been added to get whether the EULA agreement required to run the application has been accepted.
Program ID used to be used to specify child device programs, but this has changed so that they are specified using Unique ID and Child Index.
With this change, the following API functions and structures have also changed.
- API
- FakeClient
- StartScan, GetTitleInfo, StartFakeSession
- Server
- Structures
- ClientDiscoveredTitle, TitleInfo
We have settled on the error codes returned by the library.
For the error code returned by each API function, see the Reference Manual.
For development purposes, the wireless channel used for communication by the server can now be specified.
You can specify the channel using the Server::OpenSession function.
With production models, the wireless channel is automatically forcibly selected.
The function FakeClient::DeleteScanInfo was added for freely deleting information from scan results.
In addition, the member lastUpdateTick, giving the Tick value at the time of the last update according to the scan, to the server information structure ServerInfo.
The blend code has been removed from the RebootInfo structure, representing information on re-connecting to the child device.
Specifications have changed so that the child device is forcibly downloaded when forced import settings are enabled by the client using the Config tool.
With this change, the dlp::Server::ForceClientToDownload function formerly used by the server to force the client to download has been abolished.
It is now possible to specify the buffer size and number of buffers used to store data written from files on the server.
This can be specified using the server initialization function Server::Initialize.
The size of the buffer us specified in units called blocks that are burst-transferred from the server to the client.
Progress of client downloads used to be monitored by blocks, but because this has become variable, progress is now monitored in a fixed number of packets.
With this change, the types and names of related member in the ClientStatus structure, used to show client status, have been changed.
The CTR_NO_BANNER variable is not defined unless using banners and icons, but remains defined when only banners are not being used.
In addition, the variable CTR_NO_BANNER_ICON has been added for definition when not using banners and icons.
To stop the nnMain main function, serving as main() in the CTR-SDK, --keep=nnMain can now be specified as a linker option when using the CTR-SDK build system.
Added shared font data.
With CTR, applications will be imported to SD cards. They cannot be imported to system save memory.
Due to this, restrictions are placed on importing applications to system save memory.
A feature for importing applications to SD card is scheduled for inclusion in the SDK in a future release.
DevMenu, Config, and NetworkSetting can be imported to system save memory.
Also, related files that have become unnecessary, such as System Updater, DlpClient.cia, and StereoCameraCalibration.cia, have been removed from the release package.
The amount of memory that can be used by both development hardware and PARTNER-CTR Capture has been changed to 64MB.
Note that ROM accessing memory in excess of 64MB cannot be executed on development hardware for this reason.
The alignment restriction of 128 bytes has been restored due to a problem with memory leaks found when specifying a value larger than 128 for ExpHeap alignment.
nn::fnd::DateTime::GetParameters used to be a non-const member function, but has been changed to a const member function.
The pointer to Event has been removed from the arguments of the nn::friends::CTR::Logout function, and specifications have changed so the function no longer blocks.
We made it so users can get Miis and profile updates from their friends.
The enumerators NOTIFICATION_FRIEND_MII and NOTIFICATION_FRIEND_PROFILE have been added as notification types to the enumerated class NotificationType.
The function SetNotificationMask has been added for filtering the notification type being received.
Use newly added members of the enumerated class NotificationMask in arguments.
The functions UpdateGameMode and SendInvitation, related to match-making and invitation capabilities have been removed, because those features will not be available at start.
Given this, game mode update notifications and invitation receipt notifications have been removed from the default notification mask.
The function UnscrambleLocalFriendCode has been added for unencoding encrypted local friend codes that can be obtained from UDS communications.
Note, however, that only the local friend code of one's own friends can be decoded by this function.
API functions for getting one's own friend code or other friend code, and API functions and constants no longer necessary because these codes cannot be obtained, have been removed.
Specifically, the following declarations have been deleted.
GetMyLocalFriendCode
GetMyFriendKey
IsIncludedInFriendList
FriendKeyToFriendCode
PrincipalIdToFriendCode
FriendCodeToPrincipalId
FriendCodeToFriendKey
IsValidFriendCode
INVALID_FRIEND_CODE
The API function for getting screen names and Miis, which used to be obtained together up to this version, has been split up.
To get screen names, use the GetMyScreenName or GetFriendScreenName functions.
The MiiInformation structure has therefore been abolished, and a MiiData data structure for storing only Mii-related data has been added.
Specifications have changed so that non-ASCII characters that may be included in the obtained screen name of a friend outside one's own font region will be converted to questions marks (?) for display purposes.
Note, however, that this variable can be suppressed through specification of an argument to the GetFriendScreenName function.
In addition, the font region of the friend with the screen name can also be obtained using the GetFriendScreenName function.
A bug was fixed where paths included ".." would be rejected by assert.
A problem was fixed with memory shortages caused by repeatedly opening and closing files or directories using HioArchive.
A bug was fixed where existing files were being overwritten when HioArcive went to open a file in Create mode and the file already existed.
The restriction that functions for registering and unregistering SD card insertion/removal events (nn::fs::RegisterSdmcInsertedEvent, UnregisterSdmcInsertedEvent, RegisterSdmcEjectedEvent, and UnregisterSdmcEjectedEvent) cannot be used repeatedly has been eliminated.
Added the function nn::fs::[Try]CreateFile for creating a file of the specified size having the specified path name.
This function must be used when creating an extended save data archive file.
The function nn::fs::CommitSaveData has been added for save data that has been duplicated.
This function targets save data archives with duplicated data whose isDuplicateAll argument has been set to true by the nn::fs::FormatSaveData function.
Save data is committed calling the nn::fs::CommitSaveData function and passing it the name of the mounted save data archive as an argument.
Data in a save data archive with duplicated data is not valid unless committed.
If the archive is unmounted without being committed, or if execution terminates on an error, save data will be rolled back to the state in effect the last time the nn::fs::CommitSaveData function was called.
Result, returned by the file system, has been replaced with an official specification.
Also, note that the operators "==" and "!=" can no longer be used with Result, returned by the file system.
Up to this version, low-level hardware was being written (flushed) every time a Write function was called to write to a file. This has been changed so flushing is not guaranteed unless the user specifically orders it.
With this change, bool flush (true by default) has been added as the last argument to Write-related functions of the nn::fs::FileStream class.
The [Try]Flush function has also been added just for performing flushes.
With Debug and Development builds, the fact that there was a flush instruction is asserted immediately before closing a file.
Support has been added for guaranteeing the completeness of extended save data and shared extended save data.
With this added support, files can no longer be created even if OPEN_MODE_CREATE is specified for OpenMode to the function OpenFile.
Be sure to use OpenFile only after having called CreateFile first.
Extended save data can now be created on SD cards.
It is no longer possible to create file of size 0 in extended save data memory.
The same is true for icon size when creating extended save data.
The CreateAndMountExtSaveData and FormatAndMountExtSaveData functions were deleted.
Arguments for returning the media have been removed from the CreateExtSaveData and MountExtSaveData functions.
Made the following changes in the GR library.
- Important Changes
- Added the Vertex::MakeDisableCommand class method for disabling all vertex attributes
- Revised the Vertex::MakeDisableAttrCommand member function for disabling only enabled vertex attributes
With the above changes, compatibility with rendering API function that disable vertex attributes has been lost.
Note that the GPU will hang if these functions are used incorrectly.
For details on usage, see the GR library demo.
- Addition of Features
- Added the FrameBuffer class for creating framebuffer-related GPU commands
- Added the ProcedureTexture class for creating procedural textures
- Added the Shadow class for setting shadow registers
- Added a feature for enabling polygon offset even if the W-buffer is enabled
- Bug Fixes
- Fixed a problem with the Vertex::MakeDrawCommand function for creating commands required during rendering kick
- Fixed a problem with the loop count of the for statement in the Fog::SetTable function used to scan lookup tables
- Fixed a problem with asserts being generated by Shader::SearchBindSymbol( BindSymbol*, const u8 )
- Fixed a problem where the UnitBase class was inheriting private when using Unit1 and Unit2 of the Texture class
- There was a problem with casting bool RenderState::StencilTest.isEnableWrite as bool type, so this was changed to bit8 RenderState::StencilTest.maskOp.
Up to this version, function supporting the direct creation of the nngx command list existed only as header definitions. The following functions have been added starting with this version.
The following functions have been added.
- nngxUpdateBuffer
- nngxGetPhysicalAddress
- nngxMoveCommandbufferPointer
A 3D command load end command has been added as a bound command list object, and the nngxFlush3DCommand function has been added for creating 3D run command requests.
Unlike the nngxSplitDrawCmdlist, the processing described above is not performed if 3D commands do not accumulate during the function call.
The internal implementation of command request processing by the graphics driver has been improved, and the load on the CPU caused per request has been reduced.
Note, however, that this change causes execution to actually take longer to stop when the nngxStopCmdlist function is called during command list execution.
The following graphics-related documents were updated.
- $CTR_SDK/documents/DMPGL20/DMPGL20_programming_guide.pdf
- $CTR_SDK/documents/DMPGL20/DMPGL20_specification.pdf
- Clarified that shadow textures and gas textures cannot use mipmaps
- Corrected a mistake.
- $CTR_SDK/documents/DMPGL20/DMPGL20_system_API_specification.pdf
- Supplemented the framebuffer access control setting register
- Added a description of clearing the texture cache
- Changed the method of setting register 0x227
- Added the new function nngxFlush3DCommand
gx_MacroFragment.h
- Made the following changes because the name of enumerated constants was wrong compared to the GPU specification manual (setting registers for fragment lighting lookup tables)
- PICA_DATA_SAMPLER_FB -> PICA_DATA_SAMPLER_RB
- PICA_DATA_SAMPLER_FG -> PICA_DATA_SAMPLER_RR
- Revised a typo in the macro argument name (lutEnabledRef1 was changed to lutEnabledFefl)
gx_MacroTexture.h
- It used to be possible to set the phase and amplitude of noise in the U and V directions of each procedural texture in both the upper and lower 16 bits of the GPU registers (0xa9 and 0xaa). However, only one argument can be accepted by macros for setting these values (PICA_CMD_DATA_PROCTEX_DATA1 and PICA_CMD_DATA_PROCTEX_DATA2). Specifications have therefore changed so that the two 16-bit values are now taken and used to create a 32-bit value.
gx_MacroMisc.h
- Changed code internally so that dstAlpha is cast as u32 type, because a Warning was being issued when assigning a value to the dstAlpha argument of PICA_CMD_DATA_BLEND_FUNC_SEPARATE(...) macro.
- gx_MacroReg.h
- Added a API reference for the enumerated type PicaReg
- gx_MacroOld.h
- Moved the old enumerated constants PICA_DATA_SAMPLER_FG and PICA_DATA_SAMPLER_FB
The following two problems with the line shader included in CTR-SDK have been fixed.
- A problem where the display was incorrect when the W-buffer was enabled
- A problem where lines were not being displayed as connected correctly
A bug has been fixed where models were not being displayed correctly due to a problem with the settings being made when drawing using the glDrawArrays function while using the vertex buffer.
There was also a problem with the description in $CTR_SDK/documents/DMPGL20/DMPGL20_system_API_specification.pdf. This has also been fixed.
A bug was fixed where correct count data was not being returned to the GyroscopeReader::Read and GyroscopeReader::ReadLatest functions.
The function ?? has been added for continuously adjusting and normalizing slide pad data.
In addition, the SetNormalizeStickScaleSettings function has been added for setting parameters used by the NormalizeStickWithScale function, and the GetNormalizeStickScaleSettings function has been added for getting current parameters.
A problem was fixed with nn::hid::GyroscopeReader where data loaded immediately after recovering from sleep was sometimes invalid.
A problem was fixed where the coefficient specified using the nn::hid::GyroscopeReader::SetAngleMagnification function was not being reflected at load time.
The maximum clamp values for the slide pad have been changed as follows.
- Circular clamping: the old value of 46 has been changed to 40
- Cross clamping: the old value of 41 has been changed to 36
Final specified values have been determined for the following acceleration sensor-related constants included in the HID library.
MAX_OF_ACCELEROMETER_VALUE
ACCELEROMETER_VALUE_PER_1G
- ACCELERATION_SCALE_PER_1G
MAX_OF_ACCELEROMETER_PLAY
- ACCELEROMETER_SENSITIVITY_SCALE_SHIFT
MAX_OF_ACCELEROMETER_SENSITIVITY
The initial clamp mode STICK_CLAMP_MODE_MINIMUM was added to the clamp modes specifiable to the SetStickClampMode function.
A bug was fixed where the startup status of the HostIO Daemon could not be obtained normally using GetHioDaemonStatus.
Fixed a bug where execution would hang when the HostFile class was being used by multiple threads.
The SetOption and GetOption functions for specifying encoding options were added.
The JPEG_DECODER_OPTION_MATCH_WIDTH_HEIGHT option for specifying during decoding that only images of a given specified size be decoded has been added.
The image quality of decoded results has been improved.
A problem where the value returned by the GetForbiddenArea function was wrong when the gain was 32 has been fixed.
The SetClamp function for setting whether to use clamping in the guaranteed input range for mic data and the GetClamp function for getting the current clamp setting have been added.
Clamping is enabled by default.
Changed part of the guaranteed input range for mic data.
- TYPE_8BIT_GUARANTEED_INPUT_MIN Changed from 28 to 27
- TYPE_8BIT_GUARANTEED_INPUT_MAX Changed from 227 to 228
- TYPE_SIGNED_8BIT_GUARANTEED_INPUT_MIN Changed from -100 to -101
- TYPE_SIGNED_8BIT_GUARANTEED_INPUT_MAX Changed from 99 to 100
Added the NEWS library.
Note, however, that posting messages always fails because settings are such that the news daemon does not start by default under CTR-SDK 0.14.
As of 2011/11/1, there is no way to check the message list, so be sure to check it after the HOME Menu is made public.
A list of prohibited word patterns for North American region Portuguese has been added.
Definitions for the ProfanityFilterPatternList have also been added.
A problem has been fixed where some old notations remained in the NGC library API reference.
Added the InitializeMemoryBlock function to allow the use of the MemoryBlock class and StackMemoryBlock class.
This was actually changed in CTR-SDK 0.10 but was accidentally omitted from the change log.
Revised specifications so this is not used by default because the OS library automatically uses one Mutex internally.
(Note, however, that one Mutex is created internally when using StackMemoryBlock or the thread AutoStack feature.)
The Initialize and Finalize functions in the nn::pl namespace have been abolished so that functions in the nn:pl namespace can be called without prior preparations.
Added an interface for mounting shared fonts.
A library for getting step information recorded by the system has been added.
Plans call for making the reference public within a few days.
The result code ResultInvalidValue has been added as a value that might be returned by the newly established nn::rdt::CTR::SetLogLevel function.
Specifications have changed so that log output made within the RDT library can be turned on and off.
The log output level can be set using the nn::rdt::CTR::SetLogLevel function.
Use the nn::rdt::CTR::GetLogLevel function when getting the current log output level.
Settings are such that there is no log output by default.
A bug was fixed where inappropriate assert conditions were being used for confirming that context information had been set when playing ADPCM data using Voice.
This was actually changed in CTR-SDK 0.13 but was accidentally omitted from the change log.
The OutputCapture class has been added to provide a means of getting DSP final output from a thread other than a sound thread.
SetupBcWave used to set parameters (volume and pitch) not included in bcwave, but this has been abolished.
const is now used with the arguments nn::snd::Voice::SetMonoFilterCoefficients and nn::snd::Voice::SetBiquadFilterCoefficients.
To match the specifications of other Voice API functions, API functions have been added for getting and setting filters used for reference passing.
In addition, this fact has been added to the reference, because APIs that pass pointers provided up to this point were scheduled for future removal.
It has not yet been decided when these APIs will be removed.
Although it was previously only possible to use either monopole filters or biquad filters as Voice filters, the option nn::snd::FILTER_TYPE_BOTH has been added for using both types.
In addition, the Enable{Mono,Biquad}Filter functions for setting on/off separately for each filter have been added.
A bug has been fixed where FilterType and filter coefficients were not initialized when getting Voice.
The specifications of the SetPriority function have changed as follows.
- The priority specified when executing AllocVoice cannot be changed if VOICE_PRIORITY_NODROP is specified.
- If the priority specified when executing AllocVoice is other than VOICE_PRIORITY_NODROP, the priority cannot be changed to VOICE_PRIORITY_NODROP.
Effects controlled by the cPU (reverb and delay) have been added.
For more information, see the reference manual entries for the nn::snd::FxDelay class, nn::snd::FxReverb class, nn::snd::SetEffect, and nn::snd::ClearEffect.
A bug has been fixed where noise would occur during recovery from sleep if a sleeping application was using Aux callback processing.
A bug has been fixed where the nn::snd::GetDroppedSoundFrameCount function was returning illegal values even thought nn::snd::ClearDroppedSoundFrameCount was called.
A bug was fixed where an exception was finally being generated in AllocVoice if AllocVoice was repeatedly executed and the number of available voices was gradually decreased.
Made the following changes to the Config
tool.
- Corrected the values being set by the feature for changing some calibration values as provided for checking stereo camera calibration. (Although rotation around the optical axis was set to 45 degrees counterclockwise in the past, with revisions to this function, it is now set to 90 degrees clockwise.
- Fixed a bug where execution would freeze if [Ctr Info Setting] was started without a setting filter for the SD card
- Added a feature for selecting whether to forcibly import download play child devices
- Revised specifications so that Minor and Major can be distinguished in the Ctr Info Setting Eula version display
- Added a feature that allows CtrInfoSetting to make detailed settings for the system setting country and language setting
Made the following changes to the DevMenu
.
- The display of the program list screen has changed to show the selected program type, version information, and owned storage capacity
- Changed behavior so an error dialog appears when available memory is insufficient when importing to NAND
- Changed specifications so that pressing the HOME Button during execution returns to the development HOME Menu
- Fixed a bug where the cia file displayed first in the list was not being imported by the feature for importing all cia files.
- Changed specifications so that firmware updates can be made
(After the corresponding cia file is imported, update is performed by pressing the Start + Y Buttons while the cursor is aligned with that cia file.)
A connection text feature was added to the NetworkSetting tool.
The following items were added to RSF. BackupMemoryType… Specifies the backup memory type. This specification is always required. UseExtSaveData, ExtSaveDataNumber…Specify these items when using extended save data.
For more information, see the associated reference pages.
Changed specifications so that "no looping" is set in the bcwav file output if the loop start and loop end frames in a wave file are the same frame.
The following changes have been made to ctr_TextureConverter32.exe.
- Changed specifications so that only actual data is output without outputting texture information if the -dsl option has been specified.
- Changed the ctr_TexturePackager32 error message to English
- $CTR_SDK/documents/TechnicalNotes/TexturePackagerLibrary/TPLRuntime.pdf and $CTR_SDK/documents/TechnicalNotes/TexturePackagerLibrary/TPLTexturePackageTool.pdf,
- A bug was fixed where conversion was not carried out correctly when a format other than ETC1 was specified when using images with a height and width of 1024.
- <texture> Fixed a bug where a mipmap was not being created until the level specified by a node's
miplimit
attribute.
- Fixed a bug where the dir attributes of nodes were not being handled properly
The Australian region has been abolished. Now that it has been integrated with the European region, Australia has been removed as a BSF Region option.
Specifications have changed so that ctr_makeciaarchive32.exe can be directly executed.
The manual ctr_makeciaarchive, which gives information on how to use ctr_makeciaarchive32.exe, has also been added.
Added the -j NUM option to makerom.
This allows you to specify the number of parallel processes to makerom.
When it is not specified, the CPU core count for the execution environment is acquired, and that value is used.
Added ctr_loadrun32.exe for controlling the debugger.
Values in the range x200 to 0xf7fff could be specified for the UniqueID, but this has been changed to values from 0x300 to 0xf7fff.
Improvements were made to makerom performance.
A tool for building friend relationships using the friends library has been added to $CTR_SDK/tools/TargetTools/CTR-TS/Release/FriendTool.csu.
The MAX_MIPMAPLEVEL macro name has been changed to NN_TPL_MAX_MIPMAPLEVEL.
An API for getting the number of textures included in a texture package file has been added.
The function DisallowToConnect for prohibiting new client connections and communicating only with currently connected nodes, and the function AllowToConnect for canceling that status, have been added.
Along with revising the link level during communications, the radio signal strength of the network found by scanning has also been adjusted.
The error code ResultMalformedData has been added for return when there is a possibility that network information obtained using the nn::uds::Scan function has been modified.
The function SetMaxSendDelay has been added for setting the maximum send delay when executing the SendTo function without specifying the NO_WAIT option.
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.
Specifications have changed so that the ResultOutOfRange
error is returned. In the past, the error ResultOutOfResource
, which there was no reason to expect, used to be returned if the nn:uds::CreateNetwork
function was executed with maxEntry=1
.
To protect privacy, changed the friendCode
member of the NodeInformation
structure to 96-bit encrypted data.
The newly added scrambledLocalFriendCode
can convert to a local friend code via the friends library.
ResultMiscellaneousSystemError was added to indicate errors caused by temporary system status that can be resolved by retrying.
All API function in the UDS library other than Initialize and Finalize may return this error code in Result.
Deleted the not yet completed function nn::uds::SetNetworkAttribute.
The feature scheduled for provision using this function will be provided by a different API function.
The method of calculating the link level display during UDS communications has been revised so that more closely indicates actual communication status.
Although we recommended that you execute the DisconnectNetwork function even if connection as a Client or Spectator was lost during operations, the function has been removed because it is not needed by the system.
Applications do not need to care about this change because there is no problem with execution.
Due to a problem with the ResultDeniedFromMaster error being returned, specifications have changed so that ResultAlreadyNetworkIsFull is returned when ConnectNetwork has been executed on a network whose number of nodes have reached the maxEntry value specified by Master.
The StereoCamera class can now be copied.
Because changes in Note 48-111 were not complete, some functions remained unsupported. This has been fixed.
Operations were unstable when using this constructor because some member variables were not being initialized by the ulcd::StereoCamera function.
This problem was fixed.
A problem where 3D volume values were not being tracked has been fixed.
Added a class for calculating CRC-8, CRC16, CRC16/CCITT, CRC32, and CRC32/POSIX.
- Sometimes the message "Unknown Card" appears and the system freezes if the card is inserted and removed multiple times on the DevMenu.
- The screen distorts if the MakCommand function is called with a public variable (such as stencilTest) of the RenderState class.
- There is a bug where animations cannot be played correctly because illegal loop settings are written in the output file (.bcwave) when converting a .wav file that includes loop settings and uses the same frame as the loop start and loop end.
- If a waveform file (WAV or AIFF) includes no loop settings prior to conversion by
ctr_WaveConverter32.exe
, a bug causes the --loopStart
and --loopEnd
options to be ignored.
A bug was fixed where the CancelConnectAsync function would even affect connection processing being performed by other processes.
A problem was fixed where execution would abort if the Wi-Fie switch was turned off at a particular time during connection processing.
A problem was fixed where execution would abort if the Wi-Fi switch was turned off at a particular time during connection processing.
A bug was fixed where execution would eventually fail if the Connect function and Close function were continuously called in conjunction with each other.
A bu was fixed where sometimes there was no return from the Connect/ConnectAsync functions.
A bug was fixed when calling the CancelConnectAsync function at a time before or after connection was completed where the system was stuck in a status where disconnection was impossible even if the Close function was called even though the state was connected.
A function was added for specifying the AP type to be connected to meet demand for connecting only to network setting 2 or only to NintendoZone.
A barrage of HOME Button presses would sometimes cause the service manager message queue to become full because processing in the determination routine could was not finished in time.
Revised specifications so that there is no problem with repeatedly pressing the HOME Button.
A bug was fixed where the Initialize function would return failure on rare occasions.
Among capture mode setting made by the SetPhotoMode function, white balance was being updated, but parameters for mitigating individual product disparities measured at time of production were not being reflected. This bug has been fixed.
However, these parameters are not stored in systems manufactured prior to mid-August.
White balance settings have not changed for these systems.
We have changed behavior so that, if the camera is running when transiting from the application to an Applet, it moves into Standby mode just like when the cover is closed, and when a transition is made from the Applet to the application, the original running state is restored.
The timing at which playback of the shutter sound is allowed to start has been changed from the time up to the cover is closed to the time up to the system enters sleep mode.
ROM access of the card was being performed under illegal driver settings when performing both UIC-MIDI access and executing Mount ROM for a card at the same time.
Software has been revised so that ROM access is performed using the correct driver settings even when there are such conflicts.
A feature has been added where saving data midway through communications is canceled, and Daemon execution is stopped, if StopScanning(b_Immediate = true) is specified.
A check has been added to see whether the EULA agreement required to run the application has been accepted.
If not accepted, MessageBox::OpenMessageBox and WriteMessage result in an error.
Because the fs feature is used to read out the EULA request version, you must call the nn::fs::Initialize function beforehand.
After setting a message using the CloseMessageBox function, the message is committed using the CommitMessageBox or MessageBox::WriteMessage function.
If power goes off without committing the message, status may roll back to that in place the last time a message was committed.
Operations have changed so that CecControl::StopScanning(true) is called automatically from functions, such as MessageBox::OpenMessageBox and MessageBox::WriteMessage, that access the chance encounter box.
Daemon status no longer needs to be changed to halted status before accessing the box.
If communications operations have already started at this time, the communication is canceled.
If you do not want communications canceled, be sure to wait until halt status results using the GetCecStat or StopScanning functions.
An API function has been added to get whether the EULA agreement required to run the application has been accepted.
Program ID used to be used to specify child device programs, but this has changed so that they are specified using Unique ID and Child Index.
With this change, the following API functions and structures have also changed.
- API
- FakeClient
- StartScan, GetTitleInfo, StartFakeSession
- Server
- Structures
- ClientDiscoveredTitle, TitleInfo
We have settled on the error codes returned by the library.
For the error code returned by each API function, see the Reference Manual.
In past versions, transition to error status for both clients and the server would occur only during communications for errors where transition is triggered by sleep, WiFi Button OFF.
For development purposes, the wireless channel used for communication by the server can now be specified.
You can specify the channel using the Server::OpenSession function.
With production models, the wireless channel is automatically forcibly selected.
The function FakeClient::DeleteScanInfo was added for freely deleting information from scan results.
In addition, the member lastUpdateTick, giving the Tick value at the time of the last update according to the scan, to the server information structure ServerInfo.
The blend code has been removed from the RebootInfo structure, representing information on re-connecting to the child device.
Specifications have changed so that the child device is forcibly downloaded when forced import settings are enabled by the client using the Config tool.
With this change, the dlp::Server::ForceClientToDownload function formerly used by the server to force the client to download has been abolished.
It is now possible to specify the buffer size and number of buffers used to store data written from files on the server.
This can be specified using the server initialization function Server::Initialize.
The size of the buffer us specified in units called blocks that are burst-transferred from the server to the client.
Progress of client downloads used to be monitored by blocks, but because this has become variable, progress is now monitored in a fixed number of packets.
With this change, the types and names of related member in the ClientStatus structure, used to show client status, have been changed.
A bug was fixed where execution would not return when calling the nn::dsp::LoadDefaultComponent function.
A bug was fixed where power could not be turned on or a red LED light would flash if an MCU update during System Updater startup for the second stage resulted in illegal status.
With CTR, applications will be imported to SD cards. They cannot be imported to system save memory.
Due to this, restrictions are placed on importing applications to system save memory.
A feature for importing applications to SD card is scheduled for inclusion in the SDK in a future release.
DevMenu, Config, and NetworkSetting can be imported to system save memory.
Also, related files that have become unnecessary, such as System Updater, DlpClient.cia, and StereoCameraCalibration.cia, have been removed from the release package.
A bug was fixed where power would suddenly turn on once a certain amount of time had elapsed since development hardware power had been turned off.
The amount of memory that can be used by both development hardware and PARTNER-CTR Capture has been changed to 64MB.
Note that ROM accessing memory in excess of 64MB cannot be executed on development hardware for this reason.
Specifications of the development menu, which starts after PARTNER-CTR Debugger power is turned on, have been made to match those of development hardware.
The following operations are possible on the Development Menu.
- Starting DevMenu with the START button
- Starting CTR card applications with the A Button
- Exiting currently halted applications (status transited to from the application using the HOME Button) using the B Button
A bug has been fixed where the screen display would distort momentarily after starting development hardware or PARTNER-CTR Capture.
We made it so users can get Miis and profile updates from their friends.
The enumerators NOTIFICATION_FRIEND_MII and NOTIFICATION_FRIEND_PROFILE have been added as notification types to the enumerated class NotificationType.
A delay of about 20 seconds has been included between autonomous daemon startup and entering online status.
A bug has been fixed where the local friend code obtained by friends::GetMyLocalFriendCode was being replaced each time the system was started.
Specifications have changed so that non-ASCII characters that may be included in the obtained screen name of a friend outside one's own font region will be converted to questions marks (?) for display purposes.
Note, however, that this variable can be suppressed through specification of an argument to the GetFriendScreenName function.
In addition, the font region of the friend with the screen name can also be obtained using the GetFriendScreenName function.
A bug was fixed where the system would freeze if the operations [Open] > [Read/Write near end of file] > [Close] was repeated multiple times on a fragmented file in the FAT.
Support has been added for a time stamp when accessing an SD memory card.
A bug has been fixed where SD card access would become impossible if the nn::fs::MountSdmc function was executed at the same time as a multiple thread process.
An internal deadlock would sometimes occur when a function causing access to the card slot was called while nothing was inserted in the card slot.
This was fixed because it would result in a problem where card slot-related device functions such as UIC-MIDI would not return.
Result, returned by the file system, has been replaced with an official specification.
Also, note that the operators "==" and "!=" can no longer be used with Result, returned by the file system.
A feature was added for virtually reproducing latency that can occur due to device status or attrition.
The emulation feature is enabled for debug or development builds. Although it is disabled for release builds, it can be explicitly specified using the nn::fs::ForceEnableLatencyEmulation and nn::fs::ForceDisableLatencyEmulation.
Note, however, that this mode is disabled in the production environment (for both release builds and mass produced hardware).
Once files in the FAT file system became fragmented beyond a certain allowable range, they could no longer be used and an error would always be returned.
This problem has been corrected and behavior changed so that any file can be used no matter how fragmented.
This was actually changed in CTR-SDK 0.13 but was accidentally omitted from the change log.
Behavior has been changed when the backlight brightness level is set to 4 or 5 under system settings so that actual backlight brightness will vary depending on whether an AC adapter is plugged into the system.
Specifications have changed so that some low-level processing of the graphics driver that used to be handled in the same CPU core as the application is now handled in the system CPU core.
The execution speed of read and ReadLatest in the Reader class used to load sampled data from various devices has been increased.
Specifications have been changed so that an error is returned by the ResultKeepAliveDisconnected function when communications have been disconnected due to a server timeout when sending a LazyPost using keep alive communications.
A bug has been fixed where a space (a single character) could not be entered after "[Label_name]" only for original header fields.
The SetClamp function for setting whether to use clamping in the guaranteed input range for mic data and the GetClamp function for getting the current clamp setting have been added.
Clamping is enabled by default.
Added the NEWS library.
Note, however, that posting messages always fails because settings are such that the news daemon does not start by default under CTR-SDK 0.14.
As of 2011/11/1, there is no way to check the message list, so be sure to check it after the HOME Menu is made public.
An update has been made to the latest version of the prohibited word pattern list.
Processing for stopping operations when a card is removed have been implemented.
Execution stops when a card is pulled while an application from that card is running.
Added the InitializeMemoryBlock function to allow the use of the MemoryBlock class and StackMemoryBlock class.
This was actually changed in CTR-SDK 0.10 but was accidentally omitted from the change log.
Upper limits have been established for the following OS library objects.
Note that an error will result if an attempt is made to create more objects than given by the upper limit.
- Thread Max. 32
- Event Max. 32
- Mutex Max. 32
- Semaphore Max. 8
- Timer Max. 8
The time required to start the debugger when an SD card is inserted has been reduced.
Overall performance has been adjusted.
Although execution is slower in some cases, overall performance is improved.
Fixed a bug where IP address collisions were not being detected.
Fixed a bug where EV certificates were not being authenticated correctly.
The following items were added to RSF. BackupMemoryType… Specifies the backup memory type. This specification is always required. UseExtSaveData, ExtSaveDataNumber…Specify these items when using extended save data.
For more information, see the associated reference pages.
A bug was fixed where NETWORK_IS_AVAILABLE would in some cases be unable to get the correct reason for disconnection when disconnected from the network while communicating with a Client or Spectator.
A bug was fixed where connections could only be made to one node less than the maximum number of nodes specified using the CreateNetwork function.
A bug was fixed where connections to or disconnections from a client were not handled correctly when communication data volume was high, particularly when carrying out communications with many other nodes.
A bug was fixed where nn::uds::Initialize would not terminate if executed during wireless OFF mode.
There was a bug where the SendTo function would succeed (no reception) when one's own node ID was specified in destNodeId when using the nn::uds::SendTo function. This was fixed so that a ResultInvilidNode error is returned instead.
A bug was fixed where detection of disconnection was not being handled correctly when the number of connected nodes would increase or the amount of packets being sent/received would increase.
- There is a problem with partial stability during sleep mode. Depending on the timing, the system does not always recover correctly from Sleep Mode. Since this is a fatal problem with no workaround available, a bug fix package will be releases as soon as the cause is known.
- There is a problem with handling transitions from each state: application execution, TestMenu display, HOME Menu display, applet display, Sleep Mode, and Power Off mode. Depending on the exact combination of modes and their order, some state transitions cannot be made correctly. Since this is a fatal problem with no workaround available, a bug fix package will be releases as soon as the cause is known.
- There is a problem with processing when shutting down power. Applications sometimes do not shutdown correctly.
In relation to this, an error occurs where play history information and step information is not saved correctly when shutting down power. Since this is a fatal problem with no workaround available, a bug fix package will be releases as soon as the cause is known.
- Stop/trace execution could not be carried out normally by the PARTNER-CTR debugger. Since this is a fatal problem with no workaround available, a bug fix package will be releases as soon as the cause is known.
- There is a bug where execution of frame updates stops in the middle and recovery becomes impossible if System Updater is executed on development hardware whose serial number starts with AAA (for example, AAA300001231).
- Startup from debugger software using the NEWPU command in profiler.cia is impossible.
- Save data access is not thread-safe.
The number of bits used for size in the CommandBuffer3d structure in the lib_demo library was mistakenly set to 8 bits, but this has been changed to the correct value of 7 bits.
The number of bits of reserved memory aver that has also been changed from 3 bits to 4 bits.
An argument allowing the developer to select whether to fill the texture buffer with black has been added when executing the RenderSysten::Initialize function.
Although a feature for accessing non-volatile memory on the card was previously executed by default, this is now made to operation using button operations (X+A) without executing at demo1 startup.
Specifications have changed so that the nn::fs::MountRom function is now called by the lib_grfw library for GR library demos.
The heap size allocated by the lib_grfw frame work library for GR library demos has been changed from 32 MB to 20 MB.
The demo ProcedureTexture has been added for rendering patterns such as flames and water surfaces using the procedural texture class of the GR library.
Added the demo ProcTexEditor for editing procedural texture patterns and rendering the results.
A bug was fixed where code in the rsf demo program was not appropriate and there were problems where communication was impossible.
Codes and comments that could lead to misunderstandings such as whether the RDT library supports broadcasting were removed from the basic sample demo.
A sample demo was added for obtaining final DSP output asynchronously from sound threads using the OutputCapture class.
Sample demos have been revised to that exclusive control is performed for functions whose Voice operations are not thread-safe.
For details on thread safety, see the API Reference.
None.
Increased speed when opening files from ROM archives.
- If you run Ctr Info Setting in the
Config
tool when a settings file is not present on the SD card, the system will freeze.
- After you have connected to and finished communicating with your first StreetPass partner, you cannot communicate with another partner. Both systems must be reset to communicate again.
- If a waveform file (WAV or AIFF) includes no loop settings prior to conversion by
ctr_WaveConverter32.exe
, a bug causes the --loopStart
and --loopEnd
options to be ignored.
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.
The Known Issues with System Updater in SDK Version 0.13.0 section of the change log contained the following mistakes.
- [Incorrect]
Running the NN_LOG
function during communication sometimes causes the debugger to hang.
We recommend communicating in parallel with log output via calls to the NN_LOG
function.
- [Correct]
Running the NN_LOG
function during communication sometimes causes the debugger to hang.
We recommend NOT calling the NN_LOG
function for log output in parallel with communication.
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.
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.
- If you run Ctr Info Setting in the
Config
tool when a settings file is not present on the SD card, the system will freeze.
- After you have connected to and finished communicating with your first StreetPass partner, you cannot communicate with another partner. Both systems must be reset to communicate again.
- If a waveform file (WAV or AIFF) includes no loop settings prior to conversion by
ctr_WaveConverter32.exe
, a bug causes the --loopStart
and --loopEnd
options to be ignored.
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.
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.
Added the BOSS library, which is used for data download features that employ download servers.
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.
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.
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.
Changed the StreetPass library (formerly the Chance Encounter Communication library) as follows.
- Added the
MessageId
class.
Changed MessageId
from an 8-byte array to a class.
- Removed unnecessary functions
Deprecated the following functions and invalidated unused value definitions.
- Format of
cec::MessageBox::ReadMessage
that used void*
as an argument
- Format of
cec::MessageBox::WriteMessage
that used void*
as an argument
cec::Message::SetFlag_Unread
cec::Message::GetFlag_Unread
cec::Message::SetFlag_New
cec::Message::GetFlag_New
cec::Message::OutputMessage
cec::Message::InputMessage
cec::MessageBox::GetMessageFlag_Unread
cec::MessageBox::GetMessageFlag_New
- Changed daemon operations
Beginning with this version, background communication starts automatically and the StreetPass daemon begins operation at system startup.
To access a Box or a Message, you must first begin accessing the daemon, then put the daemon in IDLE state.
Operations must occur in this order:
[After startup] => [Put daemon in IDLE state with StopScanning
] => [Box operations] => [Return control rights to the system with StartScanning
and start daemon operation].
- Added
GetCecRecvEventHandle
and GetCecInfoBuffer
These functions get reception events and received Message information.
- Added information that can be obtained with the
MessageBox
class
Information obtainable by the MessageBoxInfoReader
class can now also be obtained by the MessageBox
class.
This change makes the MessageBoxInfoReader
class unnecessary.
[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)
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.)
Revised the string obtained by the nn::cfg::GetLanguageCodeA2
function and indicating the Japanese language from "jp
" to "ja
".
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.
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 start.
Added a library for file compression/decompression at the nn::cx
namespace.
Changed the method for embedding child programs, as shown below.
- If using OMake, specify the child CIA file in
CHILD_APPS[]
in the OMakefile.
See $Sample Demos/dlp/SimpleServer/OMakefile
.
- If not using OMake, pass a CFA file created by
ctr_makeciaarchive
to ctr_makerom
.
However, note that you must use the -rsf
option of ctr_makeciaarchive
to specify $CTR_SDK/resources/specfiles/Child.rsf
.
Made the following changes related to identification of child devices.
- Changed so that now the
Server::Initialize
function fails if the child and parent UniqueId
do not match.
- Changed so that the parent and child are told apart by their
Category
, and the Server::Initialize
function fails if the child's Category
is not DlpClient
.
Children tell each other apart by their ChildIndex
. The ChildIndex
is specified by the RSF file's TitleInfo/ChildIndex
, and can take a value from 0-255.
Note that TitleInfo/Version
is now replaced by TitleInfo/ChildIndex
, so do not use TitleInfo/Version
.
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.
The access attribute of nn::Result
-class constructors that take bit32
values was mistakenly set to "public". This has been revised to "private".
$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.
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.
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.
Formerly, when the Allocate
function failed to allocate an ExpHeap
, the destructor and Finalize
would not be called properly. This problem has been fixed.
Formerly, when the destructor was called on an uninitialized ExpHeap
object, it could not destroy the object properly. This problem has been fixed.
Changed the range of specifiable alignments in ExpHeap::Allocate
to the range -4096
to 4096
.
Corrected the spelling of ExpHeapBase::GetDirectionOf
, which was formerly misspelled as GetDirecitionOf
.
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.
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 the future, nw::font
is planned to be combined into nn::font
.
Changed the value of MODE_DESCRIPTION_SIZE
from 64
to 128
.
Removed NOTIFICATION_FRIEND_FAVORITE_GAME
, which control will never actually reach, from the NotificationType
enumerated type.
NOTIFICATION_FRIEND_PRESENCE
is no longer delivered when the game description string is the only item updated by UpdateGameModeDescription
or UpdateGameMode
.
Changed the value of the MII_SIZE
constant from 128
to 96
.
The size of the MiiInformation
structure also changed.
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.
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.
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
.
Added the nn::fs::MountSdmc
function, which mounts SD cards.
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.
Added a function that gets the size of working memory required when calling the nn::fs::hio::MountHioArchive
function.
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.
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.
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.
Changed length of filenames in save data and extended 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.
The main changes can be summarized as follows. See each document for further details.
- DMPGL 2.0 System API Specifications
$CTR_SDK/documents/DMPGL20/DMPGL20_system_API_specification.pdf
- Added description of procedural textures and of restrictions when configuring gas lookup tables.
- Revised the code for 5.9.7. Converting a 32-Bit Floating-Point Number into a 12-Bit Signed Fixed-Point Number with 11 Fractional Bits (Alternate Method).
- Revised in line with the argument types of existing functions and with changes to specification restrictions.
- Added description of new functions.
- Added description of the automatic padding of load arrays.
- Revised register settings for gases.
- Added description of the framebuffer access control setting registers.
- Revised the settings of register
0x101
when logical operations are enabled.
- Revised the setting of register
0x25f[0:0]
, which is involved with rendering functions.
- Added description of the WRAP mode settings used for shadow textures.
- DMPGL 2.0 Specifications
$CTR_SDK/documents/DMPGL20/DMPGL20_specification.pdf
- Added description of the w buffer and polygon offsets.
- Added description of the texture wrapping modes used with cube-map shadow filtering.
- DMPGL 2.0 Programming Guide
$CTR_SDK/documents/DMPGL20/DMPGL20_programming_guide.pdf
- Added a chapter on Troubleshooting.
- Added description of texture coordinate conversion during shadow texture lookups, and fixed some typos.
- Vertex Shader Reference Manual
$CTR_SDK/documents/DMPGL20/VertexShaderReferenceManual.pdf
- Expanded the description of the preprocessor pseudo-instruction
output_map
.
- Expanded sections 12.7.3 Output Order of Calculation Results and 12.7.5 Stalls Due to Arithmetic Unit Race Conditions.
- Added a section on stalls due to instruction dependencies.
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.
Made the following changes to the PICA macro headers.
gx_MacroCommon.h
- Added the new
PICA_CMD_HEADER_GS_F32
macro for commands that write to geometry shader floating-point registers.
- Added the
PICA_DATA_COLOR_RGB8
and PICA_DATA_COLOR_RGBA8
macros.
- Added names to enumerated types.
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.
gx_MacroFragment.h
PICA_DATA_FRAG_LIGHT_TEXTURE* -> PICA_DATA_FRAG_LIGHT_ENV_TEXTURE*
PICA_DATA_*_* -> PICA_DATA_FRAG_LIGHT_ENV_LUTSCALE_*_*
PICA_DATA_FRAG_LIGHT_LUTINPUT -> PICA_DATA_FRAG_LIGHT_ENV_LUTINPUT
PICA_DATA_FRAG_LIGHT_LUTSCALE -> PICA_DATA_FRAG_LIGHT_ENV_LUTSCALE
gx_MacroMisc.h
- Because it was discovered that commands that set register
0x101
are unnecessary when logical operations are enabled, the PICA_CMD_SET_LOGIC_OP
was revised to no longer generate such commands.
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.
Z-value offsets via glPolygonOffset
are now valid regardless of the W buffer setting.
Applied the following changes to both functions.
- Added support for transfer when the sum of the arguments height and y is larger than the current render buffer.
- Added support for transfer when either or both of the x and y arguments are negative.
In addition, made the following revisions to only the glCopyTexSubImage2D
function.
- Revised so that a
GL_INVALID_VALUE
error is returned when either or both of the xoffset and yoffset arguments are negative.
Previously, the results of the glPolygonOffset
function were affected by the settings of the glDepthRange
function. This bug has been fixed.
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.
This function adds a block image transfer command (render texture transfer command).
Use this function to copy images between rendered render buffers and textures.
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.
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.
Removed the restriction requiring the srcaddr and dstaddr arguments in the nngxAddVramDmaCommand
function to be 8-byte aligned.
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.
Revised the type of the srcaddr argument in the nngxFilterBlockImage
and nngxAddVramDmaCommand
functions to const GLvoid*
.
Added the new nngxGetAllocator
function, which gets the allocator and deallocator set by the nngxInitialize
function.
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.
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.
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.
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.
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.
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.
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.
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.
The range of specifiable values in the PadReader::SetStickClamp
function has been changed as shown below.
- Minimum value
- Circular clamping mode: 46 (50)
- Cross-shaped clamping mode: 41 (38)
- Maximum value
(The value in parentheses was the value used in CTR-SDK 0.12.)
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.
Added the GetReadableSize
and GetWritableSize
functions, which get the data size that can be sent or received in serial communication.
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.
Added the StopDecoder
function, which can issue a stop request on decoding that is already running in another thread.
Added pixel formats that can be specified during encoding and decoding.
Made the return value of the nn::math::VEC3::DistanceSquare
function a const
, in line with the function's internal implementation.
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.
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.
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.
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.
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.
Added the CountNumbers
function, which counts the number of characters that represent numbers within a string.
Added the nn::os::GetRunnningTargetHardware
function, which can get what hardware the program is running on.
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.
Added the following two functions, which get information about the amount of available memory.
nn::os::GetAppMemorySize
nn::os::GetUsingMemorySize
Added functions for getting shared fonts to the PL library.
Added an interface for battery, AC adapter, and alarm features to nn::ptm
.
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.
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 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.
- Eliminated the
ResultCommandQueueIsFull
result code, which indicated that the command queue was full.
- Added
SENDER_STATE_OPEN_REQUESTED
and SENDER_STATE_CLOSE_REQUESTED
as new states for Sender
instances.
- Changed the result codes returned by the various RDT functions.
See the API Reference Manual for details.
Added the nn::snd::Bcwav::IsBcwav
function, which determines whether a file is in BCWAV format.
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.
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.
Added the nn::snd::GetDroppedSoundFrameCount
function, which gets the number of dropped sound frames, and the nn::snd::ClearDroppedSoundFrameCount
function, which resets that number.
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.
Made the following changes to the Config
tool.
- Added feature to load a settings file placed on an SD card and use it to batch-configure the user settings.
The settings file (ctrsetting.txt
) is under $CTR-SDK/resources/configtool
.
- Added feature to rewrite a portion of the stereo camera calibration values.
Made the following changes to the DevMenu
.
- Added feature that imports all the CIA files in the current directory if the user presses the L+R+A button combination.
- Added features to display and delete additional data (extended save data).
Deletion is done with the X Button, the same as the other modes.
Added the font conversion utilities ctr_FontConverter
and ctr_FontConverterConsole
.
Their content is the same as the FontConverter included in NintendoWare for CTR.
Created a tool that configures the security mode, SSID, and key (or passphrase) for network configurations 1-3.
Added the following items to RSF files.
See the ctr_makerom
reference page for details.
BasicInfo/Logo
: Specifies logo data
TitleInfo/Category
: Specifies the application type
TitleInfo/ChildIndex
: Specifies the index of a download child program
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.
Added the following features to the ctr_TexturePackager32
tool.
For more information, see $CTR_SDK/documents/TechnicalNotes/TexturePackagerLibrary/TPLTexturePackageTool.pdf
.
- Added the
-nw4c
option.
Specify this option to use a TGA file that was created with the Photoshop plug-in (NW4C_tga
).
- Added the
etcmethod
attribute to <texture>
nodes.
This option explicitly specifies to use the ETC1 compression method for the ETC1
and ETC1_A4
formats.
Made the following changes to ctr_WaveConverter32.exe
.
- Fixed the following bugs, which occurred when a looping waveform was converted using the
--imaadpcm
option:
- Bug where the data portion would be filled with
0
- Bug where values would be written that were invalid in the loop context, causing noise when the waveform was played
- Added the
--loopStart/--loopEnd
options, which set the loop frames.
See the ctr_WaveConverter
manual reference page for details.
- Fixed bug where looping noise would occur in DSP ADPCM-encoded files whose loop start frame was 0.
Reconversion of the waveform data is required.
Added the file compression tool ctr_compress
.
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.
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.
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"
Changed part of the ctr_makerom
processing to now be performed in multiple threads.
Added the following options to ctr_makerom
.
See the reference page for details.
-content
: Specifies what content to store in the CCI file
-banner
: Specifies a banner file
-icon
: Specifies an icon file
-f data
: Specifies to output in CFA file format
Note: The -cxi
option, which was used in some demos in previous SDK versions, has been eliminated and replaced by the -content
option.
The shader assembler now supports files that are UTF-8 (with BOM).
Changed the default UniqueId
value from 0x200
to 0xf7fff
.
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
.
Added the nn::uds::AllowToSpectate
function, which allows reconnection by spectators after the EjectSpectator
function has been run.
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.
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.
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.
Added a function that can confirm whether the target network is allowing spectators to connect.
Added the CreateLocalCommunicationId
function, which creates a 32-bit ID (until now referred to in the API 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.
Previously, StereoCamera(const nn::WithInitialize &)
did not perform initialization in the way described in the API Reference. It was revised and now calls the StereoCamera::Initialize
function.
Prefixed "const
" to all member function arguments and return values in the nn::ulcd::StereoCamera
class where that prefix could be applied.
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.
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.
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.
- If you run Ctr Info Setting in the
Config
tool when a settings file is not present on the SD card, the system will freeze.
- After you have connected to and finished communicating with your first StreetPass partner, you cannot communicate with another partner. Both systems must be reset to communicate again.
Previously, there was a bug that sometimes prevented subsequent reconnections if a connection was canceled while connection processing was underway. This bug has been fixed.
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
.
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.
Added the BOSS library, which is used for data download features that employ download servers.
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.
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.
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.
Previously, a bug prevented voices from being muted while the shutter sound was playing. This bug has been fixed.
Changed the StreetPass library (formerly the Chance Encounter Communication library) as follows.
- Added the
MessageId
class.
Changed MessageId
from an 8-byte array to a class.
- Removed functions.
Deprecated the following functions and invalidated unused value definitions.
- Format of
cec::MessageBox::ReadMessage
that used void*
as an argument
- Format of
cec::MessageBox::WriteMessage
that used void*
as an argument
cec::Message::SetFlag_Unread
cec::Message::GetFlag_Unread
cec::Message::SetFlag_New
cec::Message::GetFlag_New
cec::Message::OutputMessage
cec::Message::InputMessage
cec::MessageBox::GetMessageFlag_Unread
cec::MessageBox::GetMessageFlag_New
- Changed daemon operations
Beginning with this version, background communication starts automatically and the StreetPass daemon begins operation at system startup.
To access a Box or a Message, you must first begin accessing the daemon, then put the daemon in IDLE state.
Operations must occur in this order:
[After startup] => [Put daemon in IDLE state with StopScanning
] => [Box operations] => [Return control rights to the system with StartScanning
and start daemon operation].
- Added
GetCecRecvEventHandle
and GetCecInfoBuffer
These functions get reception events and received Message information.
- Added information that can be obtained with the
MessageBox
class
Information obtainable by the MessageBoxInfoReader
class can now also be obtained by the MessageBox
class.
This change makes the MessageBoxInfoReader
class unnecessary.
[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)
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.
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.
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.
Until now, test units displayed the DevMenu
after system startup. Now they display a provisional HOME Menu.
Press START from this menu to start 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.)
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.
NOTIFICATION_FRIEND_PRESENCE
is no longer delivered when the game description string is the only item updated by UpdateGameModeDescription
or UpdateGameMode
.
Applying this System Updater 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.
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.
Previously, there was a bug where key sampling would not resume after recovery from Sleep Mode. This bug has been fixed.
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
).
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.
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.
Previously, when Keep-Alive was enabled, connections would sometimes fail depending on their timing. This bug has been fixed.
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.
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.)
Revised behavior of the LEDs during Sleep Mode, so that now the power LED blinks during Sleep Mode and the wireless LED dims.
Made changes so that now microphone sampling (if running) is stopped when the system is closed, and resumes when the system is opened again.
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.
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.
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.
Added the following two functions, which get information about the amount of available memory.
nn::os::GetAppMemorySize
nn::os::GetUsingMemorySize
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.
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.
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.
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.
Added the RegionSelector
tool, which changes the system region and language settings.
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.
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.
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.
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.
- Although this release enables support for Sleep Mode when the system is closed, there are some stability problems. In some cases (depending on timing) the system is unable to correctly recover from Sleep Mode.
- Save data access is not thread-safe.
- Running the
NN_LOG
function during communication sometimes causes the debugger to hang.
We recommend communicating in parallel with log output via calls to the NN_LOG
function.
- Execution sometimes aborts if
CancelConnectAsync
is run repeatedly or if Wi-Fi is toggled ON/OFF repeatedly.
- If about 30 seconds elapse after power-on while the system is in a state where it can connect to an access point (meaning that valid network configurations are saved in system NAND memory or there is a Nintendo Zone nearby), then the
SuspendScheduler
function will not complete.
Use the following procedure as a workaround for this bug.
nn::ndm::Initialize();
nn::ndm::Suspend(nn::ndm::DN_FRIENDS); // Add this line
nn::ndm::SuspendScheduler();
nn::ndm::Resume(nn::ndm::DN_FRIENDS); // Add this line
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.
Added the sample_nadl_simple
demo as an example of a task that downloads data from a download server.
Added the Compress
sample demo, which demonstrates run-length, Huffman, and LZ encoding.
Changed the display buffer of the lib_demo
library of Sample Demos. Now the display buffer is initialized to solid black before the LCD screens are turned on.
Changed the method for embedding child programs, as shown below.
- If using OMake, specify the child CIA file in
CHILD_APPS[]
in the OMakefile.
See $Sample Demos/dlp/SimpleServer/OMakefile
.
- If not using OMake, pass a CFA file created by
ctr_makeciaarchive
to ctr_makerom
.
However, note that you must use the -rsf
option of ctr_makeciaarchive
to specify $CTR_SDK/resources/specfiles/Child.rsf
.
Made the following changes related to identification of child devices.
- Changed so that now the
Server::Initialize
function fails if the child and parent UniqueId
do not match.
- Changed so that the parent and child are told apart by their
Category
, and the Server::Initialize
function fails if the child's Category
is not DlpClient
.
Children tell each other apart by their ChildIndex
. The ChildIndex
is specified by the RSF file's TitleInfo/ChildIndex
, and can take a value from 0-255.
Note that TitleInfo/Version
is now replaced by TitleInfo/ChildIndex
, so do not use TitleInfo/Version
.
Added Font library sample demos.
These demos are ports of the font sample demos included in NintendoWare for CTR.
Added the DrawPrimitive
demo, which uses the GR library to render spheres and cuboids.
Added the MultiPicture
demo, which handles MultiPicture (MP) format data, and the StopDecoder
demo, which stops decoding in progress.
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.
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.
Added the SharedFont
demo as an example of getting shared fonts.
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.
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.
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).
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.
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.
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.
- The
demo1
and demo2
demos are the only demos with support for Sleep Mode. Closing the system during any other demo causes undefined behavior.
- Because of a known bug in System Updater (running the
NN_LOG
function during communication cause execution to hang), the http
demo sometimes hangs.
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
.
- After you have connected to and finished communicating with your first Chance Encounter Communication partner, you cannot communicate with another partner. Both systems must be reset to communicate again.
- The API Reference Manual for the FRIENDS library describes
ResultConnected
incorrectly. This result is never returned when the local host connects.
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.
Fixed a bug that prevented the SetExposure
function from properly configuring the exposure in some environments where particular frame rates have been set.
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.
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.
Changed the Chance Encounter Communication library as follows.
- Changed the data storage location from the SD card to NAND memory.
- Made the caller of
Initialize
specify the allocator for the library to use.
- Changed some function arguments to be specified as
const
variables.
- Added functions for getting the timestamps of when data is sent and received.
- Removed the
SetModuleFilter_MCR
function.
- Renamed
OutputMessage
to MakeMessageBinary
.
- Added
GetMessageMessIdPair
.
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.
Added functions that convert CTR-specific country codes, region codes, and language codes into corresponding 2- or 3-character strings.
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
Added support for the PARTNER-CTR Capture/Debugger (all-in-one debugger hardware).
Added a build option that allows VFP instructions to be used by default when assembly language files are built.
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.
The FRIENDS library, which provides operations related to system friends and the presence feature, was made public.
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 API Reference Manual argument descriptions.
Added a function to determine whether it is possible to write to the SD card.
Implemented functions for SD card insertion and removal events.
You must call the nn::fs::InitializeForFileSystemEvent
function in advance.
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.
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.)
The main changes can be summarized as follows.
See each document for further details.
- DMPGL 2.0 System API Specifications
- Mentioned the situations and timing when the framebuffer cache must be cleared using a combination of register
0x111
and 0x110
.
- Added information on the settings of undocumented bits. (Bit [18:18] of register
0x1c4
must always be set to 1
. Fragment lighting results are not guaranteed if this bit is 0
.)
- Added detailed information on commands related to the rendering API.
- DMPGL 2.0 Specifications
- Documented the conditions for updating shadow depth values and intensity values during the shadow accumulation pass.
- Added 7.33. Depth-Value Textures. This section explains rendering depth values to textures and copying textures.
- DMPGL 2.0 Programming Guide
- Added 19.16. Load Sizes for Each Data Type. This section lists the size of each type of PICA data that is loaded (vertex buffers, textures, and command buffers).
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.
Made the following changes to the PICA macro headers.
gx_MacroMisc.h
- Renamed macros (the original names were moved to
gx_MacroOld.h
).
- Renamed
PICA_CMD_DATA_FOG_OP_WSCALE
to PICA_CMD_DATA_FRAGOP_WSCALE
.
- Renamed
PICA_CMD_DATA_FOG_OP_WSCALE_DATA
to PICA_CMD_DATA_FRAGOP_WSCALE_DATA
.
- Renamed
PICA_CMD_DATA_FOG_OP_CLIP
to PICA_CMD_DATA_FRAGOP_CLIP
.
- Renamed
PICA_CMD_SET_FOG_OP_CLIP
to PICA_CMD_SET_FRAGOP_CLIP
.
- Renamed
PICA_CMD_DATA_FOG_OP_CLIP_DATA
to PICA_CMD_DATA_FRAGOP_CLIP_DATA
.
- Renamed
PICA_CMD_DATA_FOG_SHADOW
to PICA_CMD_DATA_FRAGOP_SHADOW
.
gx_MacroShader.h
- To comply with the specifications,
1
is now set in bit [18:18] of register 0x1c4
.
PICA_CMD_DATA_FRAG_LIGHT_FUNC_MODE1
PICA_CMD_DATA_FRAG_LIGHT_FUNC_MODE1_LIGHT_SOURCE
- To comply with the specifications, a command that writes a value of
0
to bits [31:24] of register 0x25e
is now generated twice immediately after a render kick command.
PICA_CMD_SET_START_DRAW_ARRAY
PICA_CMD_SET_START_DRAW_ELEMENT
- Renamed macros (the original names were moved to
gx_MacroOld.h
).
- Renamed
PICA_CMD_DATA_VERTEX_ATTR_ARRAYS
to PICA_CMD_DATA_VERTEX_ATTR_ARRAYS0
.
- Renamed
PICA_CMD_DATA_LOAD_ARRAY0_ELEMENT
to PICA_CMD_DATA_LOAD_ARRAY_ELEMENT0
.
- Added new macros.
PICA_CMD_DATA_VERTEX_ATTR_ARRAYS1
PICA_CMD_DATA_LOAD_ARRAY_ELEMENT1
PICA_CMD_DATA_VS_GS_OUT_REG_NUM0
PICA_CMD_DATA_VS_GS_OUT_REG_NUM1
PICA_CMD_DATA_VS_GS_OUT_REG_NUM2
gx_MacroTexture.h
- To comply with the specifications,
0
is now written to bits [23:17] of register 0x80
.
PICA_CMD_DATA_TEXTURE_FUNC
- Revised the internal implementation for flushing the texture cache to comply with the requirement to run the flush operation commands separately from enabling texture units.
PICA_CMD_SET_TEXTURE_FUNC_CLEAR
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.
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.
Removed commands generated within the glBindFramebuffer
function because they were determined to be unnecessary. These commands cleared the framebuffer cache.
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
.)
Stopped checking for the following errors in the glCopyTexSubImage2D
function's arguments.
GL_INVALID_VALUE
errors when target is a cube map texture and width and height are different.
GL_INVALID_ENUM
errors when textures are not specified using (NN_GX_MEM_VRAMA | GL_NO_COPY_FCRAM_DMP)
, (NN_GX_MEM_VRAMB | GL_NO_COPY_FCRAM_DMP)
, or (NN_GX_MEM_FCRAM | GL_COPY_FCRAM_DMP)
.
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.
Fixed a bug that prevented the glGetTexParameteri
and glGetTexParameterf
functions from getting values when GL_GENERATE_MIPMAP
was specified for their pname argument.
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.
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
.
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
.
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.
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.
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.
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
.
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
.
Allowed the glCopyTexImage2D
and glCopyTexSubImage2D
functions to copy from the depth (depth/stencil) buffer.
Allowed the depth buffer to be specified with the render-to-texture feature (it is no longer limited to the color buffer).
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.
Fixed a bug that prevented proper validation when a texture attached by the glFramebufferTexture2D
function was deleted.
Added macro definitions that indicate the locations of reserved uniforms.
To use them, include $CTR_SDK/include/nn/gx/CTR/gx_UniformLocationForFragmentShader.h
.
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.
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.
Added several functions that can get and set Exif information during encoding and decoding.
Added the following functions, which can get and set JPEG decoding options.
JpegMpDecoder::SetOption
JpegMpDecoder::GetOption
Added error codes that can be obtained by the GetLastError
function when errors occur during encoding or decoding.
Added pixel formats that can be specified during encoding and decoding.
Fixed a bug that caused program execution to stop at an ASSERT statement while decoding particular JPEG files.
Added the StartJpegDecoderShrink
function, which can both decode and shrink images.
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.
Added the SetLowPassFilter
function, which configures whether a low-pass filter is applied to microphone input data.
Added overloaded functions that read the region and language settings and then check for profanity using the appropriate list, which is automatically selected.
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.
Added the GetContentVersion
function, which is used to get the version number of the profanity patterns installed on the system.
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.
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.
Explained CTR-SDK 0.10 specification changes for memory management with the OS library in the API Reference Manual.
This was accompanied by the addition of version 0.1 of the System Programming Guide.
$CTR_SDK/documents/TechnicalNotes/SystemProgrammingGuide/SystemProgrammingGuide.pdf
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.
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.
Established the result codes returned by the RDT API.
See the API Reference Manual for explanations of the result codes and to learn which result codes can be returned by each function.
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.
Improved the audio quality of 3D surround sound.
Changed specifications for the GetHeadphoneStatus
function and added the UpdateHeadphoneStatus
function.
For more information, see the API Reference Manual.
Fixed a bug in the nn::snd::GetSampleLength
function that caused it to return incorrect values for the ADPCM format.
Added the SetAuxFrontBypass
function, which handles front bypass settings for 3D surround sound on the AUX bus.
Removed the nn::snd::Bcwav
namespace and added a class with the same name.
This involves no changes other than making using namespace
unusable.
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.
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.
Added a feature to configure the EULA with the Config
tool.
Fixed a bug that caused the screens to turn yellow if the SD card was removed while DevMenu
was running.
Added an item for specifying the media size in RSF files.
For more information, see makerom
at $CTR_SDK/documents/tools/ctr_makerom.html
.
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.
Added a feature to ctr_makerom32
for compressing static regions.
This feature is enabled by default.
For more information, see makerom
at $CTR_SDK/documents/tools/ctr_makerom.html
.
Fixed a bug that caused the upper screen to turn red and the lower screen to turn yellow when DevMenu
returned an unexpected Result
.
Sped up encryption performed by makerom
.
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.
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.
Fixed a bug that allowed the CreateEndpoint
function to successfully run even when the UDS library had not been successfully initialized.
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.
Fixed a bug that only allowed the CreateEndpoint
function to create 15 endpoints even though the API Reference Manual stated that up to 16 (provisional specification) can be created.
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.
Added a note to the descriptions of the CreateNetwork
, Scan
, and ConnectNetwork
functions, stating that they require time to complete.
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.
- After you have connected to and finished communicating with your first Chance Encounter Communication partner, you cannot communicate with another partner. Both systems must be reset to communicate again.
- The API Reference Manual for the FRIENDS library describes
ResultConnected
incorrectly. This result is never returned when the local host connects.
Renamed functions and reorganized C functions that had not kept up with other additions.
- Nonexistent implementations
- Deleted
nnacCancelConnect
- Function Name Changes
- Renamed
nnacDebugSetNetworkSettingA
to nnacDebugSetNetworkSetting1
- Addition
nnacGetLastErrorCode
nnacGetLastDetailErrorCode
nnacGetConnectingApType
nnacGetConnectingNintendoZoneBeaconSubset
Fixed a bug that made it impossible to use WPA to connect to an access point in WPA/WPA2 mixed mode.
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.
Added a function that can register an event to detect unintended access point disconnections.
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.
Fixed a bug that prevented the SetExposure
function from properly configuring the exposure in some environments where particular frame rates have been set.
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.
Replaced the shutter sound played by the PlayShutterSound
function with the final version of the sound.
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.
Fixed a bug that illuminated the camera LED when the shutter sound was played while the inner camera was in use.
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.
Changed the Chance Encounter Communication daemon as follows.
- Added the
CecControl::StartScanning
function to start scanning and the CecControl::StopScanning
function to stop scanning. These functions can be used after the nn::cec::Finalize
function.
These functions represent a provisional specification.
- Added a feature to remember the MAC addresses of previous communication partners and refrain from communicating with them again as a measure to reduce power consumption. Follow the steps below to erase these stored addresses and allow further communication with previous partners.
- Start running the daemon with
CecControl::StartScanning(true)
.
- Write data to the outbox.
- Delete the data in the outbox.
- Delete the box.
- Move the data storage location to NAND memory.
Fixed a bug that caused the nn::cfg::CTR::GetRegion
function to get undefined region codes.
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.
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.
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
.
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.
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 $Sample Demos/dlp/SimpleServer
.
To distribute an embedded child program, specify the child program's ID in the Server::Initialize
function.
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.
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 $Sample Demos/dlp/Child
.
This eliminates the need to specify the icon and program title with the Server::Initialize
function, so its arguments were changed.
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.
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.
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.
Fixed a bug that prevented the debug pad from working properly during debug log output.
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.
Fixed a bug that caused invalid data to be sent in multipart lazy POST operations.
Fixed a bug that caused the next round of HTTP communication to a server to fail following a keepalive timeout on the server.
Added Read and Send functions that block until communication has completed and allow a timeout to be specified.
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.
Added the SetLowPassFilter
function, which configures whether a low-pass filter is applied to microphone input data.
Fixed the microphone input gain settings, which had been unsuitable.
This revision increases the base input amplitude by approximately 6 dB.
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.
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.
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.
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.
Added support for SSL communication with SHA-256 certificates.
Added support for SSL communication using pre-installed (built-in) commercial CA certificates.
Added a feature to ctr_makerom32
for compressing static regions.
This feature is enabled by default.
See the reference page for details.
Fixed a bug that prevented the correct information from being obtained when the GetConnectionStatus
function was run in Audience mode.
- The debugger software cannot import CIA files.
- Save data access is not thread-safe.
- In the AC library, network settings made by
DebugSetNetworkSetting1
are applied to NAND memory when a connection succeeds, even though they should not be.
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 $Sample Demos/dlp/SimpleServer
.
To distribute an embedded child program, specify the child program's ID in the Server::Initialize
function.
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 $Sample Demos/dlp/Child
.
This eliminates the need to specify the icon and program title with the Server::Initialize
function, so its arguments were changed.
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.
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).
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.
Fixed the basic
sample demo so that even Release builds generate log output.
Added the bidirectional
RDT sample demo.
This demo shows sample code for sending and receiving data between two systems simultaneously.
Changed the StreamPlayer
SND sample demo so that it now performs streaming playback of ADPCM files in the BCWAV format.
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.
Renamed AUDIENCE Mode to SPECTATOR Mode.
- If the remaining battery life reaches Level 0 even once, the
Battery
PTM demo stops running properly.
Fixed a bug that stopped sound during non-looping playback of a short waveform that ends within a single sound frame (5 ms).
Fixed a bug that prevented ROM files from being created at or beyond a fixed size (of approximately 400 MB).
- The
nn::fs::FormatSaveData
function parses the maxFiles and maxDirectories arguments in reverse. To deal with this, pass the opposite values as arguments in CTR-SDK 0.11.
- The
statusUpdateEvent
that is signaled when a system connects to a network as a Master or Client is not signaled when the same system connects as an Audience.
- You cannot use the following functions in the profanity library.
- The
CheckProfanityWords
function that checks all regions
- The
CheckProfanityWords
function that checks each region separately, called using CFG_REGION_TAIWAN
The ngc_simple
demo therefore does not run properly.
- After you have connected to and finished communicating with your first Chance Encounter Communication partner, you cannot communicate with another partner. Both systems must be reset to communicate again. Communication data that has been sent and received is saved on the SD card and is therefore not erased even after a reset.
- The Power Button originally needed to be pressed for two or more seconds to start the shutdown process, but because of a bug the system may shut down even if the Power Button is held down for a shorter period of time.
Fixed the nn::fs::GetRomRequiredMemorySize
function to return the correct values.
Fixed a bug that created noise when a buffer jump was performed during streaming playback of an ADPCM format audio source.
- The
nn::fs::FormatSaveData
function parses the maxFiles and maxDirectories arguments in reverse. To deal with this, pass the opposite values as arguments in CTR-SDK 0.11.
- The
statusUpdateEvent
that is signaled when a system connects to a network as a Master or Client is not signaled when the same system connects as an Audience.
- You cannot use the following functions in the profanity library.
- The
CheckProfanityWords
function that checks all regions
- The
CheckProfanityWords
function that checks each region separately, called using CFG_REGION_TAIWAN
The ngc_simple
demo therefore does not run properly.
- After you have connected to your first communication partner and finished communication, you cannot communicate with another partner. Both systems must be reset to communicate again. Communication data that has been sent and received is saved on the SD card and is therefore not erased even after a reset.
- The Power Button originally needed to be pressed for two or more seconds to start the shutdown process, but because of a bug the system may shut down even if the Power Button is held down for a shorter period of time.
Removed C wrapper functions from the camera library because they cannot be supported.
Revised the Finalize
function to turn off the camera LED if it is illuminated.
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.
Revised the Initialize
and Finalize
functions to initialize and clean up settings.
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.
Changed the following camera setting functions to return an nn::Result
value because there was a need for applications to handle errors.
Initialize
Activate
SwitchContext
SetExposure
SetWhiteBalance
SetSharpness
SetAutoExposure
IsAutoExposure
SetAutoWhiteBalance
IsAutoWhiteBalance
FlipImage
SetDetailSize
SetSize
SetFrameRate
SetPhotoMode
SetEffect
SetContrast
SetLensCorrection
SetOutputFormat
SetAutoExposureWindow
SetNoiseFilter
- SynchronizeVsyncTiming
PlayShutterSound
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.
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).
Removed the following functions, which automatically received image data from the camera at every frame.
SetReceivingAuto
SetReceivingRgbAuto
StopReceivingAuto
StopReceivingRgbAuto
Added the following functions, which change multiple camera settings all at once.
SetPackageParameterWithoutContext
SetPackageParameterWithContext
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.
Added support for the CEC library starting with CTR-SDK 0.11.
- Changes from the beta version
- Added the
MessageBoxInfoReader
class.
- Limitations
- Data is saved on an SD card, which must be inserted in the system.
- Because communication does not start automatically, you must start it using the
CecControl
class.
Renamed the Chance Encounter Communication library's namespace, classes, files, and so on from "cecd
" to "cec
".
Class names no longer begin with "Cec
".
- Changed
<nn/cecd.h>
to <nn/cec.h>
- Changed
libnn_cecd
to libnn_cec
- Changed
nn::cecd::CecdXXX()
to nn::cec::XXX()
- Renamed the
CecMessageBox
class to MessageBox
Made the following changes to the API for getting user information.
- Added constants used to parse simple address information IDs.
- Removed functions for getting the area code (it is now obtained from the simple address information ID).
- Added Taiwan to the region list.
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.
- Added elements
- Server API
- Loads and distributes a child program from ROM. Child programs are temporarily being distributed from SD cards.
- Simulated client API
- Connects to a server without downloading.
DlpClient
- A client application used for development. It downloads and boots a child program.
- Sample Demos
SimpleServer
: Sample demo for a server
FakeChild
: Sample demo for a simulated client
Child
: Sample demo for a child program
- Usage Restrictions
- Prepare the server location for storing the child program on an SD card. The child program will be included in the server ROM in the future.
- The rating and ULCD flags are not supported in the child meta-information broadcast by the server. Invalid values are always distributed.
- Parameters for re-connecting to the network after the child program boots are tentatively being written to an SD card.
- Behavior has only been verified with up to three systems, including the server.
- Currently Known Bugs
- The child program cannot start if
DlpChild
was specified as the TitleInfo
/Category
entry in the RSF file. Specify Application
.
- After the client has been re-initialized, it halts if the
StartScan
function is called to start scanning.
Revised all constants and macros defined by #define
statements so that they start with NN_DSP_
.
Fixed a bug that caused actual processing for the nn::fnd::HeapBase::DebugFillMemory
function to be run even in Release builds.
Fixed a bug that under specific conditions prevented access to save data at paths beginning with "data:" on CTR Cards.
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.
Stopped volume labels from being listed when directories are read.
Volume labels had been listed until now.
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.
Added functions for accessing extended 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 extended save data.
The following are the main changes to each document.
DMPGL20_system_API_specification.pdf
- Added tables with the registers corresponding to uniforms for the reserved geometry shaders.
- Added information on address restrictions for cube map textures.
- DMPGL20_specification.pdf
- Added 5.1.14. Texture Coordinate Precision under 5.1. Texture Units in Chapter 5 Rasterization.
DMPGL20_programming_guide.pdf
- Added precautions for a texture filter mode of
GL_NEAREST
.
- Added text related to the vertex buffer in Chapter 19 Performance-Enhancement Techniques.
Revised the macro headers as follows.
gx_MacroShader.h
- Fixed an error in a bitwise AND for
index
in PICA_CMD_DATA_GS_FLOAT_ADDR(mode, index)
.
- Revised
PICA_CMD_DATA_VS_FLOAT_ADDR(mode, index)
to take a bitwise AND for index
like PICA_CMD_DATA_GS_FLOAT_ADDR
.
gx_MacroTexture.h
- Fixed errors in the argument names used by the internal implementation of
PICA_CMD_DATA_TEXTURE_LOD_LEVEL(lodBias, maxLodLevel, minLodLevel)
.
- Renamed
PICA_DATA_TEXTURE_FORMAT_HILO8_DMP_UNSIGNED_BYTE_DMP
to PICA_DATA_TEXTURE_FORMAT_HILO8_DMP_UNSIGNED_BYTE
to match the specifications (the old definition was moved to gx_MacroOld.h
).
Fixed a mistake in the description of the nn::gx::CTR::MemAccessPrioMode
definition.
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.
Fixed a bug that prevented attributes output to the o3
register of DMP_subdivision3.obj
from being interpolated properly.
Fixed a bug that created invalid silhouettes when two vertices in a single TWN primitive overlapped.
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.
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.
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.
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.
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
.
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
.
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}
.
Added the nngxInvalidateState
function, which can disable the update flag for the specified state with an argument.
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.
Reviewed the maximum and minimum clamp values that can be specified with the SetStickClamp
function.
const s16 LIMIT_OF_STICK_CLAMP_MAX = 150 <- 153
in SDK 0.10.2
const s16 MIN_OF_STICK_CLAMP_MODE_CIRCLE = 50 <- 50
in SDK 0.10.2 (unchanged)
const s16 MIN_OF_STICK_CLAMP_MODE_CROSS = 38 <- 46
in SDK 0.10.2
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.
Removed libnn_hiolow.*.a
because the libnn_hiolow
features are included in the libnn_dev
library.
Sped up the SinIdx
, CosIdx
, and SinCosIdx
functions.
Each function's output has remained the same.
Removed C wrapper functions for the Microphone library because they cannot be supported.
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.
Added constants for each sampling type's guaranteed microphone input range, which are different.
TYPE_8BIT_GUARANTEED_INPUT_MIN
TYPE_8BIT_GUARANTEED_INPUT_MAX
TYPE_16BIT_GUARANTEED_INPUT_MIN
TYPE_16BIT_GUARANTEED_INPUT_MAX
TYPE_SIGNED_8BIT_GUARANTEED_INPUT_MIN
TYPE_SIGNED_8BIT_GUARANTEED_INPUT_MAX
TYPE_SIGNED_16BIT_GUARANTEED_INPUT_MIN
TYPE_SIGNED_16BIT_GUARANTEED_INPUT_MAX
Changed the heap mutex object used by the default implementation of malloc
and free
from nn::os::Mutex
to nn::os::CriticalSection
.
Added interfaces under nn::ptm::CTR
for the remaining battery life, the battery recharge state, and the existence of an AC plug.
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.
Changed the effect of selecting 3D surround sound mode so that it is appropriate for the test unit.
Added a feature to specify the loop position in the EncodeAdpcmData
function.
Added the DecodeAdpcmData
function, which converts DSP-ADPCM data into 16-bit PCM data.
Added the ConvertAdpcmPos2Nib
and ConvertAdpcmNib2Pos
functions, which convert between DSP-ADPCM nibble counts and sample counts.
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 more information, see the API Reference Manual and the CTR Programming Manual.
Changed the nn::snd::SetSurroundDepth
function's argument from a u16
value to an f32
value.
The initial depth value is now 1.0f
.
Changed constraints related to the buffer to register.
For more information, see the API Reference Manual and the CTR Programming Manual.
Fixed a bug that turned small volume changes given to the nn::snd::Voice::SetVolume
function into noise.
Added the nn::snd::Voice::SetupBcwav
function, which parses a BCWAV file and then configures the required nn::snd::Voice
settings.
Fixed a bug that caused noise when the nn::snd::Voice
filter feature was used with the biquad filter type set.
Revised all constants defined by #define
statements so that they start with NN_SND_
.
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 System Updater for CTR-SDK 0.11.
Otherwise, the proper volume will not be used.
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.
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.
Made the following changes to the DevMenu
.
- Revised error dialog boxes to display textual Result information.
- Fixed a bug that caused the screen to break up on application startup.
- Fixed a bug that caused the program to freeze when an SD card was inserted and then immediately removed.
- Allowed the user to erase all displayed programs by pressing the L Button, R Button, and X Button simultaneously.
- Changed the list order to use ascending program IDs.
Made the following changes to ctr_makerom32
.
For more information, see $CTR_SDK/documents/tools/ctr_makerom.html
.
- Added an option to output a list of files stored in ROMFS as well as the output image title when
ctr_makerom
is run.
- Changed
ctr_makerom
to output a warning when it is run with BasicInfo/InitialCode
specified in an RSF file. We plan to delete this item in the next release.
- Allowed the following items to be specified in an RSF file.
BasicInfo/CompanyCode
BasicInfo/ProductCode
TitleInfo/UniqueId
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.
Overloaded the ==
and !=
operators of the NetworkDescriptor
class so that objects of that class can be compared.
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.
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.
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.
Reviewed and adjusted the Result
values returned by the functions in the UDS library.
For more information, see the API Reference Manual.
Definitions prior to CTR-SDK 0.10.2 can still be used, but we plan to remove them in the next release.
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.
Revised the SendTo
and Attach
functions to not allow the use of port 0, which is reserved by the system.
Revised the Network section in the index of the API Reference Manual because there was no link to the UDS library, making it hard to access.
Removed C wrapper functions for the Y2R library because they cannot be supported.
Revised the Initialize
and Finalize
functions to initialize and clean up settings.
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.
Changed the StartConversion
function to return an nn::Result
value because there was a need for applications to handle errors.
Added the SetPackageParameter
function, which changes multiple Y2R settings all at once.
- The
nn::fs::GetRomRequiredMemorySize
function has been confirmed to return incorrect values when it is called with useCache set to true
. Because you may encounter memory corruption or other fatal errors if you use these values to mount a ROM, pass the sum of the following values to nn::fs::MountRom
.
- The value obtained from
nn::fs::GetRomRequiredMemorySize
with useCache set to false
- (the number of files in the ROM) * 64 bytes
- (the number of directories in the ROM) * 64 bytes
- 1 KB
- The
nn::fs::FormatSaveData
function parses the maxFiles and maxDirectories arguments in reverse. To deal with this, pass the opposite values as arguments in CTR-SDK 0.11.
- The FS library may not always be thread-safe in its timing. Further details are still under investigation, but please inform us if you encounter any symptoms that you think may be caused by this.
- The
statusUpdateEvent
that is signaled when a system connects to a network as a Master or Client is not signaled when the same system connects as an Audience.
- You cannot use the following functions in the profanity library.
- The
CheckProfanityWords
function that checks all regions
- The
CheckProfanityWords
function that checks each region separately, called using CFG_REGION_TAIWAN
The ngc_simple
demo therefore does not run properly.
- After you have connected to your first communication partner and finished communication, you cannot communicate with another partner. Both systems must be reset to communicate again. Communication data that has been sent and received is saved on the SD card and is therefore not erased even after a reset.
- The Power Button originally needed to be pressed for two or more seconds to start the shutdown process, but because of a bug the system may shut down even if the Power Button is held down for a shorter period of time.
Revised the Connect
function as follows.
- Fixed a bug that caused the kernel to abort when a Nintendo Zone was discovered.
- Fixed a bug that kept the system connected to an access point when it failed an Internet connection test.
Added a function to get the wireless signal strength for the access point that is currently connected.
Revised the Finalize
function to turn off the camera LED if it is illuminated.
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.
Revised the Initialize
and Finalize
functions to initialize and clean up settings.
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.
The LED was revised to illuminate only when an outer camera, rather than any camera, starts up.
Changed the following camera setting functions to return an nn::Result
value because there was a need for applications to handle errors.
Initialize
Activate
SwitchContext
SetExposure
SetWhiteBalance
SetSharpness
SetAutoExposure
IsAutoExposure
SetAutoWhiteBalance
IsAutoWhiteBalance
FlipImage
SetDetailSize
SetSize
SetFrameRate
SetPhotoMode
SetEffect
SetContrast
SetLensCorrection
SetOutputFormat
SetAutoExposureWindow
SetNoiseFilter
- SynchronizeVsyncTiming
PlayShutterSound
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.
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).
Removed the following functions, which automatically received image data from the camera at every frame.
SetReceivingAuto
SetReceivingRgbAuto
StopReceivingAuto
StopReceivingRgbAuto
Added the following functions, which change multiple camera settings all at once.
SetPackageParameterWithoutContext
SetPackageParameterWithContext
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.
- Added elements
- Server API
- Loads and distributes a child program from ROM. Child programs are temporarily being distributed from SD cards.
- Simulated client API
- Connects to a server without downloading.
DlpClient
- A client application used for development. It downloads and boots a child program.
- Sample Demos
SimpleServer
: Sample demo for a server
FakeChild
: Sample demo for a simulated client
Child
: Sample demo for a child program
- Usage Restrictions
- Prepare the server location for storing the child program on an SD card. The child program will be included in the server ROM in the future.
- The rating and ULCD flags are not supported in the child meta-information broadcast by the server. Invalid values are always distributed.
- Parameters for re-connecting to the network after the child program boots are tentatively being written to an SD card.
- Behavior has only been verified with up to three systems, including the server.
- Currently Known Bugs
- The child program cannot start if
DlpChild
was specified as the TitleInfo
/Category
entry in the RSF file. Specify Application
.
- After the client has been re-initialized, it halts if the
StartScan
function is called to start scanning.
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.
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.
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.
Reviewed the maximum and minimum clamp values that can be specified with the SetStickClamp
function.
const s16 LIMIT_OF_STICK_CLAMP_MAX = 150 <- 153
in SDK 0.10.2
const s16 MIN_OF_STICK_CLAMP_MODE_CIRCLE = 50 <- 50
in SDK 0.10.2 (unchanged)
const s16 MIN_OF_STICK_CLAMP_MODE_CROSS = 38 <- 46
in SDK 0.10.2
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.
Changed accelerometer axis settings, taking compatibility with existing Nintendo hardware into account.
Note that these changes have replaced axes and reversed signs.
- Previous axis settings
- Positive x-axis: Right from the +Control Pad
- Positive y-axis: Down from the +Control Pad
- Positive z-axis: Into the Touch Screen
- Changed axis settings
- Positive x-axis: Left from the +Control Pad
- Positive y-axis: Into the Touch Screen
- Positive z-axis: Up from the +Control Pad
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.
Fixed a bug that prevented more than 998 bytes of data from being set with the AddPostData*
functions.
Fixed the spelling of the NofityFinishSendPostData
function by changing "Nofity" to "Notify."
Fixed a bug that caused a terminating null character to be sent as POST data along with the string.
Added support for a Nintendo Class 2 CA certificate built into the system.
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.
Changed the initial value of the microphone's amplifier gain from 50 to 43.
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.
Changed the interval between scans for Chance Encounter zones from 20 seconds to 10 seconds.
Fixed a bug that prevent the debugger's VFP register value from being updated properly.
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.
Fixed a bug that prevented recovery from a call to Wait
in nn::os::WaitObject::WaitAll
.
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.
Fixed a bug that on rare occasions increased the volume irrespective of the system volume.
Fixed a firmware bug that on rare occasions decreased the volume.
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 System Updater for CTR-SDK 0.11.
Otherwise, the proper volume will not be used.
Added an SSL function to get pseudorandom numbers that use internal system information.
Added support for getting all the data in a server certificate chain verified by an SSL handshake.
Added the GetCertVerifyErrors
function, which collectively gets the causes of a failure to verify a server certificate.
Added support for SSL communication using non-blocking sockets.
Fixed a memory leak that occurred when the system disconnected from an access point during socket communication.
Changed the maximum number of socket descriptors that can be created by the application to 16.
Added Sound Output and System Mode to Other Settings in the Config tool.
For more information, see the API Reference Manual.
Fixed a bug that caused the detection of lower signal strength values than expected in Client systems.
Stopped adding unnecessary empty data to the data sent with a beacon.
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.
Revised the Initialize
and Finalize
functions to initialize and clean up settings.
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.
Changed the StartConversion
function to return an nn::Result
value because there was a need for applications to handle errors.
Added the SetPackageParameter
function, which changes multiple Y2R settings all at once.
- The debugger software cannot import CIA files.
Added sample demos that get the remaining battery life and recharge state.
Revised the BcwavPlayer
sample demo to use nn::snd::Voice::SetupBcwav
.
Added code that explicitly specifies stereo output in every snd
sample demo except 3DSurround
.
Renamed the AdpcmEncoder
sample demo to AdpcmEncDec
and added sample code for the decoder.
Added the following sample demos for the TPL library: IconSample
, ReadTexturePackage
, ReadTexturePackage2
, and ReadTexturePackage3
.
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.
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.
Replaced the NN_OS_DEVICE_MEMORY_SIZE
macro used in the sample demos with the nn::os::GetDeviceMemorySize
function.
None.
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.
- The volume sometimes increases momentarily regardless of the position of the volume control.
- The Chance Encounter communications data format was changed from CTR-SDK 0.11. If earlier data remains, it must be deleted.
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.
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.
Made adjustments to reduce screen flickering in images displayed by the application when active backlight controls are enabled.
To apply these revisions, you must start the Config
tool and run Reset setting.
Fixed a bug that caused the library to trigger an assert statement when the display buffer was placed in VRAM-B.
Added the following memory-related functions.
SetDeviceMemorySize
GetDeviceMemorySize
GetHeapAddress
SetHeapSize
GetHeapSize
Some specifications for memory-related functions in the OS library have also changed, but these could not be applied to the API 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.
Reviewed the system volume.
It is now approximately 5.5 dB louder than it was in CTR-SDK 0.10.
Revised the waveform converter, ctr_WaveConverter
, as follows.
- Fixed a bug that prevented sample output when the
--pcm16
and --pcm8
options were specified.
- Fixed a bug that caused audio to break up and stop playing when WAV and AIFF files in the 8-bit PCM format were converted.
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.
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.
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.
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.
- You cannot import CIA files generated by
ctr_makesimplecia32.exe
into DevMenu
.
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.
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.
Added the following memory-related functions.
SetDeviceMemorySize
GetDeviceMemorySize
GetHeapAddress
SetHeapSize
GetHeapSize
Some specifications for memory-related functions in the OS library have also changed, but these could not be applied to the API 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.
- The volume sometimes increases momentarily regardless of the position of the volume control.
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
.
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 API Reference Manual.
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.
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.
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.
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.
Added the nn::camera::PlayShutterSound
function to play the shutter sound and momentarily turn off the camera LED.
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.
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:
- The TITLE ID (GameID) must be set manually.
- Data is saved to an SD card.
(An error occurs if an SD card has not been inserted.)
Added functions to get the user name, birthday, country, area, language, and simple address.
Added a function to get region information.
Added descriptions of uses for the nn::dsp::LoadComponent
function in the API Reference Manual.
The following functions are no longer supported and have been removed from the public API.
CreateSharedMemory
DeleteSharedMemory
CopyBetweenDSPWramAndSharedMemory
GetVirtualAddress
GetPhysicalAddress
ConvertProcessAddressFromDSP
GetSemaphoreEventHandle
SetSemaphoreEventMask
Removed the DSPSND library. Use the SND library for DSP sounds.
Fixed a bug that prevented version.h
from being accessed within an OMakefile.
Suppressed compiler warning 96: "a translation unit must contain at least one declaration."
Changed omake
builds to generate binaries for TS boards, rather than for TEG2 boards, by default when FILTER
is not specified.
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.
Allowed the optimization level of development builds of applications to be specified using CCFLAGS_DEV_OPT
in the OMakefile.
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.
Added 64
, 128
, -64
, and -128
as specifiable alignment values in the ExpHeapTemplate::Allocate
member function.
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.
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.
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.
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.
Added the nngxAddVramDmaCommand
function, which adds DMA transfer commands to the current command list.
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.)
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.
Updated the DMPGL 2.0 System API Specifications.
The following PICA register information was updated. See the document for further details.
- Added supplementary information about cases when the command buffer Byte Enable (BE) setting is 0.
- Added register information for the
dmp_Gas.autoAcc
uniform.
- Added register information related to clearing the early depth buffer.
- Added register information for the rendering API.
- Added register settings relevant when a reserved geometry shader is used.
- Added register information related to clearing the framebuffer cache.
- Added register information related to commands that issue interrupts.
- Added a list of PICA registers.
Added the SetMemAccessPrioMode
function, which sets the access priority of the CPU or GPU when they access main memory.
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.
Changed the bufferaddr argument type from GLvoid*
to const GLvoid*
.
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.
Changed the error codes that occur during validation with the nngxValidateState
function from GL_INVALID_OPERATION
to GL_ERROR_806C_DMP
.
For more information about what causes errors during validation, see System API Specifications.
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 more information, see nngxDisplayBufferStorage
.)
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.
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.
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.
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.
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.
Added the nngxFilterBlockImage
function, which issues commands to apply a 2x2 antialias filter on block-formatted data while transferring it to a specified address.
Changed macro header files as follows.
- Changed specifications and other areas in a way that breaks compatibility (this cannot be circumvented even with
gx_MacroOld.h
).
You must address the following issues if they apply to any macros that you are using. Otherwise, build errors and unintended behavior might occur.
- Enumerated type constant definitions for the comparison functions for alpha tests, depth tests, and stencil tests (
PICA_DATA_ALPHA_TEST_*
) have been changed from 32-bit values (which accounted for the position of the bit that was set in the register) to 1-bit values.
PICA_CMD_DATA_DEPTH_COLOR_MASK
, PICA_CMD_DATA_STENCIL_TEST
, and PICA_CMD_DATA_FRAG_OP_ALPHA_TEST
were changed along with these.
- Added parentheses to the following macros.
PICA_CMD_SET_DISABLE_ALPHA_TEST
PICA_CMD_SET_BLEND_DEFAULT
PICA_CMD_SET_BLEND_NOTHING
PICA_CMD_SET_DISABLE_EARLY_DEPTH_TEST
PICA_CMD_SET_GS_ATTR_IN_MAP_RESERVED
PICA_CMD_SET_GS_MISC_REG0_DISABLE
PICA_CMD_SET_GS_MISC_REG0_SUBDIVISION
PICA_CMD_SET_GS_MISC_REG0_PARTICLE
- The
PICA_CMD_DATA_VS_GS_OUT_REG_NUM
and PICA_CMD_DATA_VS_GS_OUT_REG_NUM3
macros used to require an argument value that was one less than the number of output registers used in the vertex shaders, because this value was then set in bits [2:0] of register 0x4f
and bits [3:0] of registers 0x24a
, 0x25e
, and 0x251
. These macros have been revised to internally subtract one from the value that is passed in.
- The
PICA_CMD_DATA_VS_ATTR_NUM0
and PICA_CMD_DATA_VS_ATTR_NUM1
macros used to require an argument value that was one less than the number of input vertex attributes to the vertex shaders, because this value was then set in bits [3:0] of registers 0x2b9
and 0x242
. These macros have been revised to internally subtract one from the value that is passed in.
- Deleted
PICA_DATA_FRAG_LIGHT_ENV_LAYER_CONFIG{8-10}
following their deletion from the specifications.
- Changed the value set in
PICA_REG_FRAG_LIGHT_SRC_NUM
(0x1c2
) by the PICA_CMD_DATA_FRAG_LIGHT_NUM
macro to one less than the number of light sources (or 0 when all light sources are disabled).
- Deleted unnecessary arguments from the following macros.
PICA_CMD_DATA_TEXTURE1_WRAP_FILTER
PICA_CMD_DATA_TEXTURE2_WRAP_FILTER
- Changes caused by new items
- Added a new file,
gx_MacroReg.h
, that puts all macro definitions for register addresses together.
- Added a new file,
gx_MacroOld.h
, as the old version of macros for which current updates broke compatibility with the previous header files.
(We are considering gradually removing this header file in future releases.)
- Added the following new macro definitions for register addresses.
PICA_REG_INTERRUPT
(0x10
), the register that sets commands that generate interrupts
PICA_REG_EARLY_DEPTH_CLEAR
(0x63
), the register with settings related to the early depth buffer
- Added new
PICA_DATA_*
enumerated types (these types were previously incomplete) as well as new macro functions, PICA_CMD_DATA_*
and PICA_CMD_SET_*
.
- Changes caused by bug fixes
Fixed known bugs in gx_MacroMisc.h
, gx_MacroTexture.h
, gx_MacroShader.h
, and gx_MacroFragment.h
.
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.
The following were determined to have poor performance and were therefore 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.
- Layer configuration 8: Use layer configuration 6 with D1 and FR disabled.
- Layer configuration 9: Use layer configuration 4 with RR, RG, and RB disabled.
- Layer configuration 10: Use layer configuration 4 with D1, D2, and SP disabled.
Revised the glShaderBinary
and glLinkProgram
functions to stop unnecessarily operating on the invalid bit [17:17] in register 0x6f
.
Fixed a bug that caused incorrect behavior when vertex arrays were placed in main memory and index arrays were placed in VRAM.
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.
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.
Added the following functions for MP-format data.
SetMpTypeFlags
SetMpIndividualNum
ClearMpIndividualNum
SetMpPanOrientation
ClearMpPanOrientation
SetMpPanOverlapH
ClearMpPanOverlapH
SetMpPanOverlapV
ClearMpPanOverlapV
SetMpBaseViewpointNum
ClearMpBaseViewpointNum
SetMpConvergenceAngle
ClearMpConvergenceAngle
SetMpBaselineLength
ClearMpBaselineLength
SetMpVerticalDivergence
ClearMpVerticalDivergence
SetMpAxisDistanceX
ClearMpAxisDistanceX
SetMpAxisDistanceY
ClearMpAxisDistanceY
SetMpAxisDistanceZ
ClearMpAxisDistanceZ
SetMpYawAngle
ClearMpYawAngle
SetMpPitchAngle
ClearMpPitchAngle
SetMpRollAngle
ClearMpRollAngle
StartMpEncoderNext
GetMpRegionsToBuildJpegData
Added the following functions for setting parameters used during JPEG encoding.
SetThumbnailSize
SetInputBufferWidth
- SetDateTime
Added the following functions for getting EXIF values and analyzing only EXIF information while decoding.
ExtractExif
GetLastDateTime
GetLastSoftwarePointer
GetLastSoftwareLength
GetLastTwlPhotoMakerNote
Added the following functions for MP-format data.
GetMpIndex
GetMpNumberOfImages
GetMpImageUidListSize
GetMpImageUidListOffset
GetMpTotalFrames
GetMpEntry
GetMpImageType
GetMpImageSize
GetMpImageOffset
GetMpDependentImage1EntryNum
GetMpDependentImage2EntryNum
GetMpAttribute
GetMpIndividualNum
GetMpPanOrientation
GetMpPanOverlapH
GetMpPanOverlapV
GetMpBaseViewpointNum
GetMpConvergenceAngle
GetMpBaselineLength
GetMpVerticalDivergence
GetMpAxisDistanceX
GetMpAxisDistanceY
GetMpAxisDistanceZ
GetMpYawAngle
GetMpPitchAngle
GetMpRollAngle
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.
- SetOutputBufferWidth
GetLastOutputBufferWidth
Changed the SetThumbnailSize
function so that it can set thumbnail output formats other than YUV422.
Added the following functions to get and set data embedded in the Maker Note region of a created JPEG file.
SetUserMakerNote
GetLastUserMakerNotePointer
GetLastUserMakerNoteSize
GetLastTwlUserMakerNotePointer
GetLastTwlUserMakerNoteSize
- SetImageUid
GetLastImageUid
Added the following functions that run "safe" Normalize operations, returning the default values for vectors with a size of 0.
VEC2SafeNormalize
VEC2::SafeNormalize
VEC3SafeNormalize
VEC3::SafeNormalize
VEC4SafeNormalize
VEC4::SafeNormalize
Revised some values that did not fully use float
accuracy in the internal table used to find the sine and cosine.
The following functions have been added.
VEC{2,3,4}Mult
VEC{2,3,4}::operator*=(const VEC{2,3,4}&)
Fixed processing that accidentally treated a 2×3 matrix as a 3×2 matrix within the GetRow
and GetColumn
functions in math_Matrix23.h
.
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.
Revised the mic::FreeBuffer
function to return an error if it is called during microphone sampling.
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.
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 SetBuffer
is 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.
Added the MIDI library.
Added the RDT library, which runs local communications with trusted data.
The RDT library is a high-level library located above the UDS library.
Added support for 3D surround sound output.
(Effects are still provisional, however, and are highly likely to change in the future.)
Fixed a bug that corrupted waveforms only in the first data to have AppendWaveBuffer
called on a Voice during ADPCM playback.
Fixed a bug that caused AllocVoice
to return invalid results.
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.
Fixed a bug that caused the GetPlayPosition
function to return an undefined value immediately after the AllocVoice
function was called.
Added the nn::snd::GetMixedBusData
function, which gets the MixBus
final output information for DSP sounds.
Added a constructor for the MixParam
structure.
Added functions to the nn::snd::Bcwav
namespace for loading waveform (BCWAV) files generated by ctr_WaveConverter
.
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.
Added the const
modifier to the pAdpcmContext
member variable of the WaveBuffer
structure.
Fixed a bug that caused program execution to halt on a null assertion during sound playback with the Voice
class's AppendWaveBuffer
function.
Fixed a bug that would suddenly stop all audio output during audio playback with the SND library.
Added functions to set a one-pole low-pass filter and a two-pole filter for a Voice
.
Added the nn::snd::GetHeadphoneStatus
function, which gets the headphone connection state.
Fixed errors in the API Reference Manual for the SND library.
Fixed bugs that prevented proper loop playback of a high-pitch or high-sampling-rate Voice
when the PCM data buffer was small.
Added ctr_WaveConverter32.exe
, a tool that converts waveform (WAV and AIFF) files into the DSP ADPCM format. For more information, see ctr_WaveConverter
.
Fixed a bug that caused the playback position to lag behind the original position during long playback.
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.
Made the following changes to the DevMenu
.
- Made it possible to use
DevMenu
to start applications written to a CTR Card (by selecting "CARD" from the program list).
- Stopped the application startup screen from being displayed immediately after an import with
DevMenu
. (Start these applications from the program management screen.)
- Added support for hot-swapping SD cards (although execution freezes if an SD card is inserted and then immediately removed).
- Changed display to include the product code on the list of items.
- Revised the program IDs displayed on the program list from 16-digit numbers to 8-digit numbers.
- Fixed a bug that caused a program to be deleted when X was pressed on the Import screen after the program was selected from the Programs screen.
- Fixed a bug that caused corrupted display of the list.
Added ctr_makecia32.exe
, which generates CIA files.
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.
Updated the shader assembler and linker as follows.
- Added support for evaluating an equality, inequality, bitwise OR, bitwise AND, or any combination of these in
#if
and #elif
statements.
- Added support for
#line
.
- Revised so that unused regions are initialized with a value of 0.
- Revised
#pragma output_map
to cause an error when texture3
is specified to it.
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.
Fixed a bug that prevented existing networks from being detected on the channel(s) specified for scanning with the nn::uds::Scan
function.
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.
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.
Added a feature that determines whether a user-specified string has any problems that make it unusable.
Added features to register, clear, and search for information on the authors of user-generated content.
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.
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.
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.
Updated the Description of the ULCD Library.
For details on what was updated, see the documentation.
$CTR_SDK/documents/TechnicalNotes/AboutULCDLibrary/AboutULCDLibrary.pdf
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.
Changed the SetDitheringWeightParam
function's arguments from pass-by-value to pass-by-reference.
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.
None.
Fixed the following problems with the AC_Connect
function:
- Fixed bug when connecting to an access point with a stealth SSID
- Keyless access points were assumed to use open system authentication and keyed access points were assumed to use shared key authentication, resulting in a bug where keyed open system authentication access points could not be connected to. This is now worked around by attempting an open system authentication connection on the third retry.
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.
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.
Changed the destination to which the AC_DebugSetNetworkSetting1
function writes network settings from the SD card to NAND.
Fixed bug where, after a successful WPA connection, data could not be sent or received.
Fixed a bug where, after a failed attempt to connect to an access point, scan results would not be returned.
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
.
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 API Reference Manual.
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.
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.
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.
Added the nn::camera::PlayShutterSound
function to play the shutter sound and momentarily turn off the camera LED.
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.
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.
Fixed bug where the system would freeze if the nn::fs::Directory::Read
function was run in a root directory with no entries.
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.
Added the ability to access save data by specifying data:/...
in the path.
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.
Added the ability to access add-on data by specifying extdata:/...
in the path.
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.
Added the SetMemAccessPrioMode
function, which sets the access priority of the CPU or GPU when they access main memory.
Fixed bug where vertical line noise would appear on the 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.)
Added support for device-internal CA and client certificates.
Also overhauled API functions for using these certificates.
Added the MIDI library.
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.
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.
Fixed a bug where, when multiple threads were waiting for a single synchronous object, threads would not wake up in order of priority.
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.
Fixed bug that produced a high-pitched whine while the headphone jack was inserted, which would continue if the jack was only inserted partway.
Added the nn::snd::GetHeadphoneStatus
function, which gets the headphone connection state.
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 the future.
Fixed a bug where the system would deadlock when under load due to very frequent sending and receiving.
Added ability to connect to a UDS network as an audience member (spectator) by setting CONNECT_AS_AUDIENCE
with the ConnectNetwork
function.
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.
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.
Reduced processing load when receiving UDS communication.
Added support to automatically turn the parallax barrier off and disable stereoscopic display when the 3D depth value is 0.
Changed the SetDitheringWeightParam
function's arguments from pass-by-value to pass-by-reference.
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.
- The debugger cannot import CIA files.
One of the multifeature demos (demo1
) has been modified to read and write save data (data:/
).
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.
- Fixed bug where the last 5 bytes of the BMP header template (
u8
array) used when writing were not initialized.
- Fixed bug where a display buffer allocated for saving could not be released after a failed attempt to save the display buffer. After repeated save failures, the system would halt due to insufficient memory.
Added the following samples related to the graphics library.
TriangleSimpleCmd
: Demo that uses PICA register macro headers to directly create a 3D command buffer and render a triangle.
FragmentLightingSimpleCmd
: Demo that uses PICA register macro headers to directly create a 3D command buffer and perform simple fragment lighting.
Changed the libraries used by the sample, in line with moving the PC-side HostIO
library to the $(KMC_CTRHOSTIO)/SDK
directory.
Added the basic
sample demo, which uses the RDT library to perform very basic communication.
Added the following samples related to the SND library.
FilterSample
: Demo that uses IIR filters.
BcwavPlayer
: Demo that handles BCWAV files.
AdpcmEncoder
: Demo of the DSP-ADPCM encoder.
3DSurround
: Demo of 3D surround sound.
Added the ngc_simple
demo, which performs a profanity check without specifying a region.
Added the ubl_simple
demo, which registers and checks author information.
- There is a bug in the
Release - small
build of uds/com_demo1
that prevents scans from working properly.
Communication works properly when using other build options.
- The
camera/Simple
demo freezes on rare occasions if the settings are changed by pressing the buttons repeatedly.
- The
Seek
functions of file control classes under nn::fs
do not operate properly when nn::fs::POSITION_BASE_END
is specified as an argument.
- The
nn::fs::FileReader::TryInitialize
function sometimes returns an error depending on the folder layout or the content of files in the ROM or on an SD card.
- The
nn::ac::CTR::DebugFlushNetworkSetting
function does not operate correctly unless an SD card is inserted.
Fixed a bug that caused the audio output by headphones to be very quiet or distorted.
None.
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.
- The
Seek
functions of file control classes under nn::fs
do not operate properly when nn::fs::POSITION_BASE_END
is specified as an argument.
- The
nn::fs::FileReader::TryInitialize
function sometimes returns an error depending on the folder layout or the content of files in the ROM or on an SD card.
- The
nn::ac::CTR::DebugFlushNetworkSetting
function does not operate correctly unless an SD card is inserted.
There was a bug where calling the following functions in the camera
and y2r
libraries would occasionally not return. This has been fixed.
nn::camera::SetReceiving
nn::camera::SetReceivingAuto
nn::camera::SetReceivingRgbAuto
nn::y2r::SetReceiving
nn::y2r::SetSendingY
nn::y2r::SetSendingU
nn::y2r::SetSendingV
nn::y2r::SetSendingYuv
There was a bug where calling the following functions in the camera
library would occasionally not capture. This has been fixed.
nn::camera::SetReceivingAuto
nn::camera::SetReceivingRgbAuto
None.
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.
- The
Seek
functions of file control classes under nn::fs
do not operate properly when nn::fs::POSITION_BASE_END
is specified as an argument.
- The
nn::fs::FileReader::TryInitialize
function sometimes returns an error depending on the folder layout or the content of files in the ROM or on an SD card.
- The
nn::ac::CTR::DebugFlushNetworkSetting
function does not operate correctly unless an SD card is inserted.
Fixed a bug in the SetVolume
function (nn::snd::Voice
) that caused noise to occur when there was a significant change in volume.
- The
Seek
functions of file control classes under nn::fs
do not operate properly when nn::fs::POSITION_BASE_END
is specified as an argument.
- The
nn::fs::FileReader::TryInitialize
function sometimes returns an error depending on the folder layout or the content of files in the ROM or on an SD card.
- The
nn::ac::CTR::DebugFlushNetworkSetting
function does not operate correctly unless an SD card is inserted.
As a special measure for E3, changed the 3D LED to always be illuminated.
Fixed a bug that caused the volume to increase temporarily.
Fixed a bug that caused the power and LCD to suddenly turn off and the system to reset.
As a special measure for E3, changed the Power Button to turn off the power when it is held down for one second.
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.
None.
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.
Updated the following documentation. For details on what was updated, see each document's Revision History.
- DMPGL20_programming_guide.pdf
- DMPGL20_specification.pdf
DMPGL20_system_API_specification.pdf
- VertexShaderReferenceManual.pdf
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
.
Fixed a bug that prevented fixed vertex attributes included in vertex data from being updated properly when program objects were switched.
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.
- The
Seek
functions of file control classes under nn::fs
do not operate properly when nn::fs::POSITION_BASE_END
is specified as an argument.
- The
nn::fs::FileReader::TryInitialize
function sometimes returns an error depending on the folder layout or the content of files in the ROM or on an SD card.
- The
nn::ac::CTR::DebugFlushNetworkSetting
function does not operate correctly unless an SD card is inserted.
Fixed a bug that caused the application to freeze when it was started at particular times in some environments.
None.
Defined formats of calibration data required for correcting the position of stereo cameras and added functions to access data.
The following functions were added.
GetStereoCameraCalibrationData
function
GetParallaxOnChart
function
GetStereoCameraCalibrationMatrix
function
Updated the following documents.
- Updated
DMPGL20_load_pattern_setting.pdf
.
- Updated
DMPGL20_programming_guide.pdf
.
- Updated
DMPGL20_specification.pdf
.
- Updated
DMPGL20_system_API_specification.pdf
.
- Updated
VertexShaderReferenceManual.pdf
.
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.)
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.)
Fixed a bug that prevented the correct format from being recognized when glTexImage2D
was called multiple times with only the type
argument changed.
Added a new function to get the current command output mode (set by the nngxSetCommandGenerationMode
function).
Fixed a bug that prevented the bottom line of pixels from being displayed on the lower screen of the TS board.
Fixed a problem that caused the GPU to hang when every vertex attribute used was a constant (specified by glVertexAttrib*
).
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.
- The A Button, + Button, - Button, and Left on the +Control Pad.
Do not touch the Slide Pad while it is being calibrated.
Fixed a problem that caused distorted sounds to be played back.
Fixed a bug that caused all voices to stop during DSP sound playback if there is no specified loop or buffer jump.
Added the DevMenu
tool, which can import and execute CIA files from an SD card.
Changed the shader assembly language as follows.
- Added a feature to specify a single register to
bind_symbol
.
(#pragma bind_symbol(symbol name, register id))
Adjusted the following conditions assumed by internal library calculations.
These values have not been set in stone and may be fine-tuned later.
- Inter-eye distance
This was previously 65 mm and is now 62 mm.
- Distance between the viewer's eyes and the display
This was previously 290 mm and is now 289 mm.
- The maximum depth that the human eye can naturally experience three dimensions
This was previously 29.49 mm and has been revised to 30.96 mm.
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.)
NN_GX_DISPLAY0
corresponds to NN_GX_DISPLAY0_LEFT
NN_GX_DISPLAY0_EXT
corresponds to NN_GX_DISPLAY0_RIGHT
- The
Seek
functions of file control classes under nn::fs
do not operate properly when nn::fs::POSITION_BASE_END
is specified as an argument.
- The
nn::fs::FileReader::TryInitialize
function sometimes returns an error depending on the folder layout or the content of files in the ROM or on an SD card.
- The
nn::ac::CTR::DebugFlushNetworkSetting
function does not operate correctly unless an SD card is inserted.
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.
Fixed a bug that caused the debugger to hang while loading applications that run together with multiple processes.
Fixed a bug that prevented Client nodes from reconnecting under particular conditions.
Fixed a bug that was found to corrupt some network management data held by the Master node when a Client node failed to connect.
None.
Added ScreenCapture
samples that output the content of the specified display buffer to an SD card.
- There is a bug in the
Release - small
build of demo1
where triangles do not render to the upper screen.
Triangles render properly when using other build options.
- There is a bug in the
Release - small
build of uds/com_demo1
that prevents scans from working properly.
Communication works properly when using other build options.
- There is a bug in the
Release - small
build of gx/Api/RenderToTexture
that causes extremely slow rendering speeds.
There is no problem when using other build options.
- The
camera/Simple
demo freezes on rare occasions if the settings are changed by pressing the buttons repeatedly.
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.
- The operation would never return.
- Some of the transferred data would be corrupted.
The update period for sound parameters was changed to approximately 5 milliseconds.
The maximum number of allocatable voices has also been changed to 24.
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.
The nn::uds::Finalize
function has been revised so that it now finalizes status update events that were initialized using nn::uds::Initialize
.
It was discovered that the UDS library used std::vector
. The library has been revised to eliminate its use of std::vector
.
- There is a bug that causes distorted sound playback roughly once every 30 times after the TS board is powered on.
If this occurs, noise will continue until the board is powered off.
- The lowest line on the lower LCD does not display.
- The
Seek
functions of file control classes under nn::fs
do not operate properly when nn::fs::POSITION_BASE_END
is specified as an argument.
- The
nn::fs::FileReader::TryInitialize
function sometimes returns an error depending on the folder layout or the content of files in the ROM or on an SD card.
- The
nn::ac::CTR::DebugFlushNetworkSetting
function does not operate correctly unless an SD card is inserted.
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.
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.
Fixed a bug that caused invalid regions to be accessed when sending packets.
None.
Fixed a bug with the lib_demo
library used by the Sample Demos package. This bug caused only one of the display buffers to be shown for the right eye and the lower LCD.
- There is a bug in the
Release - small
build of demo1
where triangles do not render to the upper screen.
Triangles render properly when using other build options.
- There is a bug in the
Release - small
build of uds/com_demo1
that prevents scans from working properly.
Communication works properly when using other build options.
- There is a bug in the
Release - small
build of gx/Api/RenderToTexture
that causes extremely slow rendering speeds.
There is no problem when using other build options.
- The
camera/Simple
demo freezes on rare occasions if the settings are changed by pressing the buttons repeatedly.
Added the AC (auto-connection) library and demos.
This library is not supported by CTR-SDK 0.9.
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.
StartCapture
StopCapture
IsBusy
ClearBuffer
IsBufferError
GetVsyncInterruptEvent
GetBufferErrorInterruptEvent
SetReceivingAuto
SetReceivingRgbAuto
StopReceivingAuto
StopReceivingRgbAuto
SetReceiving
IsFinishedReceiving
SetReceivingRgb
IsFinishedReceivingRgb
SetTransferLines
SetTransferBytes
GetTransferBytes
SetTrimming
IsTrimming
SetTrimmingParams
GetTrimmingParams
SetTrimmingParamsCenter
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.
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.
The maximum values returned by the GetMaxBytes
and GetMaxLines
functions previously equaled the buffer size, but these are now half of the buffer size to help prevent buffer errors.
Despite being able to capture at 30 fps at sizes larger than QVGA, the reference page stated otherwise. This description has been removed.
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.
- (Previous)
CONTRAST_HIGH = CONTRAST_PATTERN_05
CONTRAST_LOW = CONTRAST_PATTERN_07
- (Revised)
CONTRAST_LOW = CONTRAST_PATTERN_05
CONTRAST_HIGH = CONTRAST_PATTERN_07
Added SetReceivingAuto
, SetReceivingRgbAuto
, StopReceivingAuto
, and StopReceivingRgbAuto
functions to set and stop automatic reception of camera image data.
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.
- No features included to exchange via network.
- Data is saved to an SD card.
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
Changed the nn::demo
library class structure, and moved to the Sample Demos/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 API reference and documentation.
Be aware of the following points when transitioning from the nn::demo
to the lib_demo
library.
- The upper and lower screens now share one framebuffer object (color buffer / depth buffer) to reduce VRAM usage.
Consequently, when rendering to both the upper and lower screens, rendering alternately to the upper and lower screens will produce a mixed display of the rendering results, so instead first complete rendering to one target screen and then proceed to rendering for the next.
For example, you can render to both the upper and lower screens as follows.
- Set the upper screen as the target, clear the framebuffer, complete rendering, and then send the results to the display buffer and swap the buffer.
- Set the lower screen as the target, clear the framebuffer, complete rendering, and then send the results to the display buffer and swap the buffer.
See the sample demo source code in the Sample Demos/gx
directory for programming specifics.
Categorized dsp
header files and moved to sub-directories named MPCore
and Common
.
Added --gnu
option for Release and Development builds.
This --gnu
option was not added for Debug builds.
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.
Added support for running on a TS board.
Added support for developing CTR applications in a Windows 7 64-bit environment.
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
.
Added a UTF-8 BOM to CTR-SDK header and source code files.
Rebuilding modified source files sometimes would fail previously. This bug has been fixed.
In line with this change, build times are now slightly longer.
Function call optimizations are now restricted to improve call stack display in the debugger.
Specifically, we added a --retain=calls
compiler option for non-Release builds.
Added features to the nn::fnd::DateTime
class required to handle date and time.
Added nn::fnd::DateTimeParameters
as a structure that can represent an individual date and time value separate from the nn::fnd::DateTime
class.
Changed ROMFS creation using makerom
to make file data 4-byte aligned.
Added nn::fs::Directory
for scanning files and directories located in a directory.
Changed the nn::fs::DirectoryEntry
structure's entrySize
member type from a u32
to an s64
.
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.
Added the following features, only for TS boards.
- Expanded texture combiners from 3 steps to 6.
- Added buffering feature for texture combiner intermediate calculation results.
- Added LA4, A4, and ETC1 with alpha to the texture formats.
- Added operand for swapping color elements to the texture combiners (RGB to RRR or GGG or BBB).
Added the following features, only for TS boards.
- Increased fragment lights from 4 to 8.
- Extended LUTs from 16 to 32.
- Increased layer configurations from 8 types to 11.
- Added the distance attenuation feature.
- Spotlight features have been extended to allow attenuation curves to be specified individually.
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
.
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.
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.
The nngxCopyCmdlist
function would previously result in an error if 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.
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.
Deprecated the nngxReserveSwapBuffers
function, as the nngxSwapBuffers
function has equivalent functionality.
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.
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.
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 API reference and in $CTR_SDK/documents/DMPGL20/DMPGL20_load_pattern_setting.pdf
.
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.
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.
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.
- X-axis: 5 <= x <= 314
- Y-axis: 5 <= y <= 234
Added HIO library samples and documentation.
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.
- The
HostSystemChannel
class member functions Open
/Close
/Puts
/Gets
have been removed, and the other functions have been moved to the nn::hio::CTR
namespace.
- The
HostFile
and HostDirectory
class member functions have had any reference to a HostSystemChannel
instance removed from their arguments.
Added functions and classes for handling wide-character strings.
Added the HTTP library and demos.
This library is not supported by CTR-SDK 0.9.
Added a library for encoding and decoding JPEG files.
These functions are not supported by CTR-SDK 0.9.
Added the following functions to the MATH
library.
VEC2IsZero
VEC3IsZero
VEC4IsZero
VEC4IsZeroWOne
MTX22IsIdentity
MTX33IsIdentity
MTX34CameraRotate
Fixed a bug where the above functions would return incorrect values.
Changed the math
library to use the inline
modifier by default for vector and matrix calculation functions.
Added API similar to the member functions of the MATH
library's matrix and vector classes.
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)
Fixed a bug where operations would become unstable when specifying a value greater than 8MB in a call to the nn::init::InitializeAllocator
function.
The nninitStaticInit
function was defined as a standard weak symbol function, but this was changed to match the NITRO and TWL-SDK specifications.
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
.
Added LightSemaphore
, LightEvent
, and LightBarrier
classes as high-speed synchronization mechanisms with no restrictions on how many can be used.
Fixed a bug where specifying a pitch greater than 14 would produce noise when playing back from an ADPCM
sound source.
Added Aux
bus and related features and parameters.
Added functions related to DSP
cycle count.
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.
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.
Changed the default snd
parameter to an appropriate value.
See the related API references for details.
Categorized snd
header files and moved to sub-directories named MPCore
and Common
.
Fixed a bug where releasing buffers managed by a voice (such as the Voice::Stop
or nn::snd::FreeVoice
functions) would not work properly.
Optimized the library, reducing processing overhead.
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.
Added functions to set and get the interpolation method.
Added the socket library and demos.
This library is not supported by CTR-SDK 0.9.
Added the SSL library and demos.
This library is not supported by CTR-SDK 0.9.
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.
Added the UDS (local communication) library and demos.
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.
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.
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.
SetSendingY
SetSendingU
SetSendingV
SetSendingYuv
- There is a bug that causes distorted sound playback roughly once every 30 times after the TS board is powered on.
If this occurs, noise will continue until the board is powered off.
- The lowest line on the lower LCD does not display.
- The
Seek
functions of file control classes under nn::fs
do not operate properly when nn::fs::POSITION_BASE_END
is specified as an argument.
- The
nn::ac::CTR::DebugFlushNetworkSetting
function does not operate correctly unless an SD card is inserted.
Added the AC (auto-connection) library and demos.
This library is not supported by CTR-SDK 0.9.
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.
StartCapture
StopCapture
IsBusy
ClearBuffer
IsBufferError
GetVsyncInterruptEvent
GetBufferErrorInterruptEvent
SetReceivingAuto
SetReceivingRgbAuto
StopReceivingAuto
StopReceivingRgbAuto
SetReceiving
IsFinishedReceiving
SetReceivingRgb
IsFinishedReceivingRgb
SetTransferLines
SetTransferBytes
GetTransferBytes
SetTrimming
IsTrimming
SetTrimmingParams
GetTrimmingParams
SetTrimmingParamsCenter
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.
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.
The maximum values returned by the GetMaxBytes
and GetMaxLines
functions previously equaled the buffer size, but these are now half of the buffer size to help prevent buffer errors.
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.
- (Previous)
CONTRAST_HIGH = CONTRAST_PATTERN_05
CONTRAST_LOW = CONTRAST_PATTERN_07
- (Revised)
CONTRAST_LOW = CONTRAST_PATTERN_05
CONTRAST_HIGH = CONTRAST_PATTERN_07
Added SetReceivingAuto
, SetReceivingRgbAuto
, StopReceivingAuto
, and StopReceivingRgbAuto
functions to set and stop automatic reception of camera image data.
Added support for running on a TS board.
Fixed a bug where files and directories on a FATFS could not be accessed.
Added DMA transfer support for access to NAND and SD Memory Cards.
Implemented the directory scanning via an nn::fs::Directory
object also for the directories in ROM that can be accessed using "rom:"
.
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.
Fixed a bug where Display 1 (the lower screen) could skip a frame, depending on when the nngxSwapBuffers
function is called.
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.
Added the HTTP library and demos.
This library is not supported by CTR-SDK 0.9.
Fixed a memory leak in the nn::os::Timer::ClearSignal
function.
Raised the limit to 32 for the number of threads an application can run at any one time.
Fixed a bug where the debugger would display a command error and fail when loading cci
files.
Fixed a bug in the debugger where performing a hard break when a breakpoint address is being executed would cause the debugger to freeze.
Changed code so the debugger is notified of undefined command exceptions and prefetch aborts.
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.
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.
Added LightSemaphore
, LightEvent
, and LightBarrier
classes as high-speed synchronization mechanisms with no restrictions on how many can be used.
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.
Fixed a bug where the volume + / - symbols were backward.
Added the socket library and demos.
This library is not supported by CTR-SDK 0.9.
Added the SSL library and demos.
This library is not supported by CTR-SDK 0.9.
Added the UDS (local communication) library and demos.
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.
SetSendingY
SetSendingU
SetSendingV
SetSendingYuv
None.
Changed the nn::demo
library class structure, and moved to the Sample Demos/common
directory as the lib_demo
library.
In line with this change, the released API reference and documentation has been deprecated.
Be aware of the following points when transitioning from the nn::demo
to the lib_demo
library.
- The upper and lower screens now share one framebuffer object (color buffer / depth buffer) to reduce VRAM usage.
Consequently, when rendering to both the upper and lower screens, rendering alternately to the upper and lower screens will produce a mixed display of the rendering results, so instead first complete rendering to one target screen and then proceed to rendering for the next.
For example, you can render to both the upper and lower screens as follows.
- Set the upper screen as the target, clear the framebuffer, complete rendering, and then send the results to the display buffer and swap the buffer.
- Set the lower screen as the target, clear the framebuffer, complete rendering, and then send the results to the display buffer and swap the buffer.
See the sample demo source code in the Sample Demos/gx
directory for programming specifics.
Added / removed the following graphics demos.
- Added
Draw3d
demo that renders cuboids, spheres, and cylinders.
- Added
FragmentLightingSimple
demo that uses simple fragment lighting.
- Added
VertexBuffer
demo of how to specify the region where a vertex buffer object is allocated.
- Added
RenderToTexture
demo of rendering to a texture.
- Removed
DemoFont
demo of font display.
Fixed double-writing to output register in the vertex shader assembly language (VSH files) included in the sample demos under the gx
directory.
Added the following sample demos under the gx/DMPGL
directory.
LightingDistanceAtte
(distance attenuation sample)
LightingSpotAtte
(spotlight sample)
Changed SimplePlayer
's wav
sound source.
Added AuxBusSample
demo showing delay effects (BusA) and sine wave synthesis (BusB) using AuxBus
.
Added ulcd/Simple
and ulcd/RealMode
as ULCD sample demos.
Changed demo1
so features were not mutually dependent, allowing each to operate independently.
Removed using namespace
declaration from sample demos, and now the demo uses explicit specification of namespaces that was previously omitted.
- There is a bug in the
Release - small
build of demo1
where triangles do not render to the upper screen.
Triangles render properly when using other build options.
- There is a bug in the
Release - small
build of uds/com_demo1
that prevents scans from working properly.
Communication works properly when using other build options.
- There is a bug in the
Release - small
build of gx/Api/RenderToTexture
that causes extremely slow rendering speeds.
There is no problem when using other build options.
- The
camera/Simple
demo freezes on rare occasions if the settings are changed by pressing the buttons repeatedly.
This function has been revised following the addition of the nngxWaitCmdlistDone
function, which waits for the CPU to finish running a command list.
The nngxReserveSwapBuffers
function has been replaced with the nngxSwapBuffers
function in anticipation of its future elimination from the SDK.
Made the following document revisions.
DMPGL20_system_API_specification.pdf
DMPGL20_specification.pdf
- DMPGL20_programming_guide.pdf
DMPGL20_load_pattern_setting.pdf
DMPGL20_statecache_specification.pdf
(The name of this file has also been changed from "DMPGL20_commandcache_specification.pdf
.")
- VertexShaderReferenceManual.pdf
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
).
Fixed a bug that prevented alpha components from being set properly with the glBlendEquation
and glBlendEquationSeparate
functions.
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.
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.
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.
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.
Added two additional definitions for the param argument to the nngxGetCmdlistParameteri
function: NN_GX_CMDLIST_TOP_BUFADDR
and NN_GX_CMDLIST_BINDING
.
Fixed a bug that caused failed initializations not to be detected if the nngxInitialize
function failed to allocate memory.
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.
Fixed a bug that prevented errors from being detected if an application used a display buffer that had not been allocated by the nngxTransferRenderImage or nngxSwapBuffers functions.
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.
nngxStartCmdlistSave
nngxStopCmdlistSave
nngxUseSavedCmdlist
nngxExportCmdlist
nngxImportCmdlist
nngxGetExportedCmdlistInfo
nngxCopyCmdlist
nngxValidateState
- nngxForceStateUpdate
nngxUpdateState
- nngxSetCommnadGenerationMode
Note that the functions that relate to this feature may be changed in a future release.
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.
Added the nngxWaitCmdlistDone
function, which waits until a command list finishes executing.
It is now possible to call the nngxEnableCmdlistCallback
and nngxDisableCmdlistCallback
functions on command lists that are still being executed.
Changed the errors returned by the system API (the functions with the "nngx
" prefix) from GL error codes to extended error codes.
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.
Changed the shader assembly language as follows.
- Added support for the
#if defined()
, #if !defined()
, and #elif
directives.
- If the
-debug
option is not specified, the input file's path is now deleted.
- Added a single
nop
instruction immediately after the end
instruction during assembly to resolve a hardware bug.
None.
The nngxReserveSwapBuffers
function has been replaced with the nngxSwapBuffers
function in anticipation of its future elimination from the SDK.
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.
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.
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.
The following demos that use the command cache feature have been added
- SampleDemos/gx/Api/CommandCacheSimple
- SampleDemos/gx/Api/CommandCacheVSUniformFrame
- SampleDemos/gx/Api/CommandCacheVSUniformModel
- There is a bug with the linker included in the RVCT 4.0 20100209 version that generated invalid inline operations. As a result of this bug, the following sample demos do not function properly with "small" (size-optimized) release builds.
This linker bug will be fixed in the next release of the ARM compiler.
- gx/Api/CommandCacheSimple
- gx/Api/CommandCacheVSUniformFrame
- gx/Api/CommandCacheVSUniformModel
- gx/Api/CommandListDouble
- gx/DMPGL/SubdivisionLoopSimple
Fixed a portion of the initialization process that was insufficient.
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.
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.
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.
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.
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.
None.
Changed the compiler and linker options used by the build system and in the creation of the CTR-SDK libraries.
- Compiler options:
- No specification → --remove_unneeded_entities
- Implicit specification → --littleend
- --debug_macros → --no_debug_macros
- --dwarf2 → --dwarf3
- --no_unaligned_access → No specification
- Linker options:
- No specification → --no_eager_load_debug
- No specification → --vfemode=force
- Implicit specification → --debug
- Implicit specification → --exception_tables=nocreate
- Added the
--no_bestdebug --inline --tailreorder
options for Release builds.
- Added the
--bestdebug
option for non-Release builds.
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.
Fixed a bug that caused load failures if an attempt was made to run a CCI file that uses the HIO library.
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.
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.
Changed bufferSize
(which sets the buffer size using a member variable of the nn::snd::WaveBuffer
structure) to sampleLength
(which sets the sample length).
None.
In line with the change described in Note 9-05, revised demo1
, demo2
, snd/SimplePlayer
, and snd/StreamPlayer
.
None.
Applications no longer need to call the StopDmaRecv[Rgb]
function explicitly, so this function has been removed.
Made the following revisions to the API reference for the camera library.
- Added an explanation of the data format output by the cameras.
- Added a note to the reference about the number of frames required until the auto-exposure stabilizes when the cameras are first activated.
Fixed a bug that disabled the auto-exposure feature in the SetAutoWhiteBalance
function, which is used to enable/disable automatic white balance.
The following functions have been added to set the operating mode of the cameras.
SetDetailSize
: Specifies the size (in pixels) of the images output from the cameras
SetContrast
: Changes the contrast
LensCorrection
: Changes the level of vignetting correction
The following enumerated types were added following the addition of the functions listed above.
The specifications of the following functions have been changed.
- The functions below now have a return value of
void
:
Initialize
- Finalize
StartCapture
StopCapture
ClearBuffer
GetVsyncInterruptEvent
GetBufferErrorInterruptEvent
- DmaRecv
SetTransferLines
SetTrimming
SetTrimmingParams
GetTrimmingParams
SetTrimmingParamsCenter
- Functions that now return
bool
:
ActivateModule
- SwitchContextModule
- SetExposureModule
- SetWhiteBalanceModule
- SetSharpnessModule
- SetAutoExposureModule
- IsAutoExposureModule
- SetAutoWhiteBalanceModule
- IsAutoWhiteBalanceModule
FlipModule
- SetSizeModule
- SetFrameRateModule
- SetPhotoModeModule
- SetEffectModule
- The functions below now return data:
IsBusy
IsBufferError
- IsDmaRecvFinished
GetMaxLines
IsTrimming
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.
- The arguments or return values of the following functions have been changed:
SetTransferLines
GetMaxLines
- The following functions have been removed:
- GetTransferLines
- GetBytesAtOnce
- The following functions have been added:
SetTransferBytes
: Specifies the number of bytes to accumulate in the buffer
GetTransferBytes
: Gets the number of bytes currently accumulated in the buffer
GetMaxBytes
: Returns the maximum number of bytes that can be stored in the buffer
Any references to the GetTransferLines
and GetBytesAtOnce
functions that have been removed should be replaced with references to the GetTransferBytes
function.
Some of the function names have been changed, as shown below:
DmaRecv
-> SetReceiving
- IsDmaRecvFinished -> IsFinishedReceiving
ActivateModule
-> Activate
SwitchContextModule
-> SwitchContext
SetExposureModule
-> SetExposure
SetWhiteBalanceModule
-> SetWhiteBalance
SetSharpnessModule
-> SetSharpness
SetAutoExposureModule
-> SetAutoExposure
IsAutoExposureModule
-> IsAutoExposure
- SetAutoWhiteBalanceModule -> SetAutoWhiteBalance
IsAutoWhiteBalanceModule
-> IsAutoWhiteBalance
- FlipModule -> FlipImage
SetSizeModule
-> SetSize
SetFrameRateModule
-> SetFrameRate
SetEffectModule
-> SetEffect
SetPhotoMode
-> SetPhotoMode
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.
Size
enumerated type
Deleted the value indicating 298x224 resolution, and added a value indicating the native size of the CTR's upper screen (400x240).
Effect
enumerated type
Increased the number of levels that can be set for the parameters from 6 to 22.
- Values set with the
SetSharpness
function
Changed the range from [-3, +5] to [-4, +5].
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.
Added functions to get the IDs of framebuffer objects and render buffer objects managed by the DrawFramework class.
Removed the second and fifth arguments, which had not been used.
Added the DSP reference manual.
Deleted the PIPE number that used to be specified as the third argument in previous versions of the SDK.
Added the LoadDefaultComponent
function for loading components used by the SND library.
Increased the number of pipes used for communication with DSP to 8.
The register number is now specified as the first argument.
The PIPE number is now specified as the first argument.
Added a reference page for build rules: $CTR_SDK/documents/SDKRules/BuildRules.html.
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.
Added the nn::fnd::DateTime
class to get the current date and time.
Revised return values in the nn::fnd::ExpHeapBase::GetSizeOf
API reference page.
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.
Fixed the following two problems that involved nngx
thread behavior.
- Low-priority threads would not run when the
nngxWaitVSync
function was running.
- Calling the
nngxInitialize
function in a thread with a priority of zero would result in a freeze.
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.
- Bug Fixes
- Fixed an issue with the default settings for the diffuse colors of light 0 and materials in DMP fragment lighting.
- Fixed a bug in the default value of the reserved uniform
dmp_LightEnv.clampHighlights
.
- Fixed a bug that caused an error when the
GL_GAS_DMP
format was used with the glCopyTexImage2D
function.
- Fixed a bug where you could not use textures in the
GL_GAS_DMP
format with texture units 1 and 2.
- Fixed a bug where you could not set
dmp_TexEnv[i].combineAlpha
to GL_DOT3_RGBA
.
- Added error checking.
- New Features and Changed Specifications
- Added two new functions:
glUniformsDMP
and glGetUniformsDMP
.
- Changed the maximum value for the V-Sync counter to
0x7FFFFFFE
.
- Implemented an optimization that reduces the number of searches for texture and vertex objects.
- Shader assembler tool-related fixes
- Errors and warning messages are now output to
sdterr
instead of stdout
.
Made cosmetic and layout improvements to the API references of the gl
and nngx
APIs.
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.
Fixed a bug that resulted in invalid coordinates obtained for locations tapped at the left or top edge of some touch panels.
Added the const
modifier to the GetStickClamp
and GetStickClampMode
member functions of the nn::hid::CTR::PadReader
class.
Added the HIO library, which provides access between the CTR development hardware and a PC.
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.
Added descriptions to the MIC API reference.
Renamed the NSTD library to libnn_nstd
.
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:
nnosInitializeAlarmSystem
- nnosInitializeDeviceMemory
- nnosGetDeviceMemoryAddress
The following C wrapper functions have been added.
nnosTimerSignal
nnosThreadGetId
nnosThreadIsAlive
nnosThreadGetMainThread
nnosInitialize
Deleted the following functions:
nnosEventInitializeNoCreate
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.
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.
Fixed a bug that sometimes caused DESCRIPTION_OUT_OF_MEMORY
errors to occur after repeated DMA system calls.
Corrected an error in the reference for nn::os::StackMemoryBlock
that describes regions where physical memory is not allocated.
Revised the return values listed in the API reference for the nn::os::WaitObject::WaitAny
function.
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.
Released the sound library.
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.
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 more information, see $CTR_SDK/documents/tools/ctr_makerom.html.
Applications no longer need to call the StopDmaRecv
or StopDmaSend*
functions explicitly, so these functions have been removed.
Added a description of input and output data formats of the Y2R library.
Fixed a bug that caused transfers to fail in the individual YUV mode
of the Y2R library.
Fixed an error in the conversion coefficients that can be set using the SetStandardCoefficient
function.
The specifications of the following functions have been changed.
- The functions below now have a return value of
void
:
Initialize
- Finalize
SetInputFormat
SetOutputFormat
SetRotation
SetBlockAlignment
SetSpacialDithering
SetTemporalDithering
SetTransEndInterrupt
GetTransEndEvent
DmaSendY
DmaSendU
DmaSendV
DmaSendYuv
DmaRecvRgb
SetInputLineWidth
SetInputLines
SetStandardCoefficient
SetAlpha
SetDitheringWeightParams
GetDitheringWeightParams
StartConversion
StopConversion
- The functions below now return data:
GetInputFormat
GetOutputFormat
GetRotation
GetBlockAlignment
GetSpacialDithering
GetTemporalSpacialDithering
GetTransEndInterrupt
IsDmaSendFinished
IsDmaRecvFinished
GetInputLineWidth
GetInputLines
GetOutputFormatBytes
GetOutputBlockSize
GetOutputImageSize
GetAlpha
IsBusyConversion
The following functions were added to check whether DMA transfers in the Y2R library have completed:
IsFinishedSendingY
IsFinishedSendingU
IsFinishedSendingV
Some of the function names have been changed, as shown below:
GetTemporalSpacialDithering
-> GetTemporalDithering
SetTransEndInterrupt
-> SetTransferEndInterrupt
GetTransEndInterrupt
-> GetTransferEndInterrupt
GetTransEndEvent
-> GetTransferEndEvent
DmaSendY
-> SetSendingY
DmaSendU
-> SetSendingU
DmaSendV
-> SetSendingV
DmaSendV
-> SetSendingV
DmaSendYuv
-> SetSendingYuv
IsDmaSendFinished
-> IsFinishedSendingYuv
DmaRecvRgb
-> SetReceiving
IsDmaRecvFinished
-> IsFinishedReceiving
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.
SetOutputDreq
GetOutputDreq
SetInputDreq
GetInputDreq
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.
SetCoefficientParams
GetCoefficientParams
GetStandardCoefficientParams
None.
Fixed a but that caused the Finalize
function to not operate properly.
Applications no longer need to call the StopDmaRecv[Rgb]
function explicitly, so this function has been removed.
Fixed a bug that disabled auto-exposure in the SetAutoWhiteBalance
function, which is used to enable/disable automatic white balance.
The following functions have been added to set the operating mode of the cameras.
SetDetailSize
: Specifies the size (in pixels) of the images output from the cameras
SetContrast
: Changes the contrast
LensCorrection
: Changes the level of vignetting correction
The following enumerated types were added following the addition of the functions listed above.
The specifications of the following functions have been changed.
- The functions below now have a return value of
void
:
Initialize
- Finalize
StartCapture
StopCapture
ClearBuffer
GetVsyncInterruptEvent
GetBufferErrorInterruptEvent
- DmaRecv
SetTransferLines
SetTrimming
SetTrimmingParams
GetTrimmingParams
SetTrimmingParamsCenter
- Functions that now return
bool
:
ActivateModule
- SwitchContextModule
- SetExposureModule
- SetWhiteBalanceModule
- SetSharpnessModule
- SetAutoExposureModule
- IsAutoExposureModule
- SetAutoWhiteBalanceModule
- IsAutoWhiteBalanceModule
FlipModule
- SetSizeModule
- SetFrameRateModule
- SetPhotoModeModule
- SetEffectModule
- The functions below now return data:
IsBusy
IsBufferError
- IsDmaRecvFinished
GetMaxLines
IsTrimming
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.
- The arguments or return values of the following functions have been changed:
SetTransferLines
GetMaxLines
- The following functions have been removed:
- GetTransferLines
- GetBytesAtOnce
- The following functions have been added:
SetTransferBytes
: Specifies the number of bytes to accumulate in the buffer
GetTransferBytes
: Gets the number of bytes currently accumulated in the buffer
GetMaxBytes
: Returns the maximum number of bytes that can be stored in the buffer
Any references to the GetTransferLines
and GetBytesAtOnce
functions that have been removed should be replaced with references to the GetTransferBytes
function.
Some of the function names have been changed, as shown below:
DmaRecv
-> SetReceiving
- IsDmaRecvFinished -> IsFinishedReceiving
ActivateModule
-> Activate
SwitchContextModule
-> SwitchContext
SetExposureModule
-> SetExposure
SetWhiteBalanceModule
-> SetWhiteBalance
SetSharpnessModule
-> SetSharpness
SetAutoExposureModule
-> SetAutoExposure
IsAutoExposureModule
-> IsAutoExposure
- SetAutoWhiteBalanceModule -> SetAutoWhiteBalance
IsAutoWhiteBalanceModule
-> IsAutoWhiteBalance
- FlipModule -> FlipImage
SetSizeModule
-> SetSize
SetFrameRateModule
-> SetFrameRate
SetEffectModule
-> SetEffect
SetPhotoMode
-> SetPhotoMode
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.
Size
enumerated type
Deleted the value indicating 298x224 resolution, and added a value indicating the native size of the CTR's upper screen (400x240).
Effect
enumerated type
Increased the number of levels that can be set for the parameters from 6 to 22.
- Values set with the
SetSharpness
function
Changed the range from [-3, +5] to [-4, +5].
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.
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.
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.
Added a class for reading and writing files.
Currently, files can only be written to archives stored on SD cards.
Fixed a bug in the firmware that caused a resource leak when files failed to open.
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.
Fixed a bug where the microphone was not usable once the Finalize
function was called.
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.
Fixed a bug that caused deadlocks within the system under certain conditions.
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.
Fixed a bug that caused strings output to the debugger to be output twice.
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.
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.
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.
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.
Fixed a but that caused the Finalize
function to not operate properly.
Applications no longer need to call the StopDmaRecv
or StopDmaSend*
functions explicitly, so these functions have been removed.
Fixed a bug that caused transfers to fail in the individual YUV mode
of the Y2R library.
Fixed an error in the conversion coefficients that can be set using the SetStandardCoefficient
function.
The specifications of the following functions have been changed.
- The functions below now have a return value of
void
:
Initialize
- Finalize
SetInputFormat
SetOutputFormat
SetRotation
SetBlockAlignment
SetSpacialDithering
SetTemporalDithering
SetTransEndInterrupt
GetTransEndEvent
DmaSendY
DmaSendU
DmaSendV
DmaSendYuv
DmaRecvRgb
SetInputLineWidth
SetInputLines
SetStandardCoefficient
SetAlpha
SetDitheringWeightParams
GetDitheringWeightParams
StartConversion
StopConversion
- The functions below now return data:
GetInputFormat
GetOutputFormat
GetRotation
GetBlockAlignment
GetSpacialDithering
GetTemporalSpacialDithering
GetTransEndInterrupt
IsDmaSendFinished
- IsDmaRecvFinished
GetInputLineWidth
GetInputLines
GetOutputFormatBytes
GetOutputBlockSize
GetOutputImageSize
GetAlpha
IsBusyConversion
The following functions were added to check whether DMA transfers in the Y2R library have completed:
IsFinishedSendingY
IsFinishedSendingU
IsFinishedSendingV
Some of the function names have been changed, as shown below:
GetTemporalSpacialDithering
-> GetTemporalDithering
SetTransEndInterrupt
-> SetTransferEndInterrupt
GetTransEndInterrupt
-> GetTransferEndInterrupt
GetTransEndEvent
-> GetTransferEndEvent
DmaSendY
-> SetSendingY
DmaSendU
-> SetSendingU
DmaSendV
-> SetSendingV
DmaSendV
-> SetSendingV
DmaSendYuv
-> SetSendingYuv
IsDmaSendFinished
-> IsFinishedSendingYuv
DmaRecvRgb
-> SetReceiving
IsDmaRecvFinished
-> IsFinishedReceiving
- The volume control slider settings are the reverse of those indicated by the silk-screened notations on the target boards.
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.
Added a feature to the multifunction demos (demo1
and demo2
) that retrieves and displays the current date and time.
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.
Deleted unnecessary mov
instructions for tangent values that are input as vertex data.
Added a CommandListDouble
demo that performs double-buffering on a command list for rendering.
Changed the preferred processor from core 1 to core 0 within the thread 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.
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.
None.
Made revisions required to support the sound library of NintendoWare for CTR 0.4.0.
None.
Added the CAMERA library, which is used to access the camera.
A new crypto library was added.
Currently, only SHA-1, SHA-256, SHA-1 HMAC, and SHA-256 HMAC functions are supported.
Added the following classes for simple rendering of 2D geometric shapes:
nn::demo::CTR::DrawFrameworkEx
nn::demo::CTR::RenderData
nn::demo::CTR::TextsRenderData
nn::demo::CTR::TrianglesRenderData
nn::demo::CTR::ColorFillProgram
nn::demo::CTR::DecalTextureProgram
nn::demo::CTR::FontProgram
nn::demo::CTR::ProgramObject
Added a new document that explains the DEMO library and contains more detailed information than that provided in the API reference.
$CTR_SDK/documents/TechnicalNotes/AboutDemoLibrary.pdf
When the LCD serving as the rendering target is changed using the DEMO_SetRenderingTarget
function, glViewport
is now called.
The following specifications of the DrawFramework
class were changed:
- The location where renderbuffers are allocated is now split between VRAM-A and VRAM-B, depending on the type.
- Changed the display buffer format to RGB8.
- Added the ability to specify the stencil buffer during calls to the
ClearDisplay
function.
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 to wait.
When this is set to true
(the default value), the function waits for a V-Sync.
The file demo_MemoryManager.h
was previously undisclosed, but it is now a public header.
The SwapBuffer
function has been made into a virtual function for convenience when inheriting the DrawFramework
class.
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
.
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.
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
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).
Changed the data type for u32
and s32
from [unsigned | Signed] long int
to [unsigned | Signed] int
.
It is now possible to use C preprocessor directives (such as #define
, #if
, and #end
) within assembly files.
Fixed a bug that caused duplicate macro-related options to be specified when compiling from the command line.
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 to avoid confusion.
Fixed a bug that caused the nn::fnd::ExpHeap
class to erroneously determine that the class was in an invalid state.
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.
Added the Allocator
classes to the class templates of nn::fnd::ExpHeapTemplate
and nn::fnd::UnitHeapTemplate
. These allocator classes share the same interface.
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.
nn::fnd::*Heap::Create
, which creates heaps within other heaps
nn::fnd::HeapBase::Destroy
, which destroys heaps that have been created within other heaps
The following changes were made to the heap classes (ExpHeap
, FrameHeap
, and UnitHeap
):
- It is now possible to specify options to perform zero-clearing and debug-filling during allocation.
- It is now possible to obtain the starting address and memory size of the memory regions.
- Added the
Dump
function for displaying the content of the heap.
- Added the
ExpHeap::Adjust
function for shrinking the size of the expanded heap region.
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.
Added the nn::fnd::HeapBase::FindHeap
function, which is used to find the heap associated with the memory block at the specified address.
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.
The remaining DMPGL samples from POD that were not included in CTR-SDK 0.6 have all been revised to support the CTR-SDK.
Added API 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.
- Fixed the following bugs in the DMPGL 2.0 drivers:
- In previous versions of the SDK, the progs argument in the
glRestoreProgramsDMP
function did not follow the specifications. Specifically, if an invalid value for progs (for example, a null pointer) was passed to the function, the error GL_INVALID_VALUE
would result instead of the expected error GL_INVALID_OPERATION
. This has been corrected.
- Similarly, in previous versions of the SDK, if a nonzero value was specified for the level argument to the
glCopyTexImage2D
or glCopyTexSubImage2D
functions, the error GL_INVALID_VALUE
would occur instead of the expected value of GL_INVALID_OPERATION
. This has been corrected.
- Added and revised the following features of the DMPGL 2.0 drivers:
- Added support for early depth tests
- Changed GL_DEPTH_COMPONENT24_STENCIL_INDEX8_DMP to GL_DEPTH24_STENCIL8_EXT
- Changed
GL_DEPTH_STENCIL_ATTACHMENT_DMP
to GL_DEPTH_STENCIL_ATTACHMENT
- Added support for 32-block format (added the
glRenderBlockModeDMP
function)
- The
glGet
function now supports GL_TEXTURE_COLLECTION_BINDING_DMP
- Added support for selecting the texture coordinate input
- Added the reserved uniforms
dmp_Texture[2].texcoord
and dmp_Texture[3].texcoord
- The texture coordinates for procedural textures used by the particle system shader can now be output to
GL_TEXTURE2
- Revised the following specifications for vertex shader uniforms:
- Changed all MAT-type uniforms so that they can be handled as arrays of VEC-type data
VEC
-type arrays can now be set using both the glUniformf
and glUniformMatrixf
functions
GL_TRUE
can now be specified for the transpose argument to the glUniformMatrix
function
- Made it possible to specify individual elements within a
VEC
-type array by adding an offset to the location value obtained using the glGetUniformLocation
function.
- Changed the upper limit of the number of uniforms within vertex shaders and geometry shaders that can be linked to a single program object to 2048.
- Established an upper limit of 8191 on the number of program objects that can be used simultaneously.
- Changed
GL_REPEAT
to GL_SYMMETRICAL_REPEAT_DMP
for the reserved uniforms dmp_Texture[3].ptClampU
and dmp_Texture[3].ptClampV
- Changed
GL_MIRRORED_REPEAT_DMP
to GL_MIRRORED_REPEAT
- Added
GL_TEXTURE3
to the values that can be set for the reserved uniform dmp_LightEnv.bumpSelector
- Added
GL_TEXTURE1
, GL_TEXTURE2
, and GL_TEXTURE3
to the values that can be set for the reserved uniform dmp_LightEnv.shadowSelector
- Added the following features for the command state cache:
- Added an argument for checking the buffer size to the "save" API
- Added an argument for specifying the first object to the "restore" API
- Added vertex shader uniforms and flags for restoring geometry shader uniform to the program state restoration API
- Bindings to object 0 within a
LUT
texture are now considered to be detached, and will no longer cause errors
- Added the
glTexSubImage1D
function
- Added error checking if
GL_COLOR_ATTACHMENT0
is provided as the second argument to the glFramebufferRenderbuffer
function (attachment).
- Changed the specifications so that
GL_INVALID_OPERATION
will occur if an invalid color format is specified for the renderbuffer (or if the color format is anything other than GL_GAS_DMP
)
- In previous versions of the SDK, the error
GL_INVALID_OPERATION
would occur during error-checking within the glReadPixels
function if the framebuffer was set incorrectly. This has been corrected so that the error GL_INVALID_FRAMEBUFFER_OPERATION
will occur instead.
- Fixed bugs with the point shader
- Fixed the following bugs and changed the following features of the shader assembly language
- Added support for selecting the texture coordinate input (deleted
#pragma output_map(texture3, oN)
from the specifications)
- The use of
#pragma bind_symbol
to set multiple input registers is now treated as an error
- Fixed a bug in the code that checks for consecutive calls to the
mova
instruction
- Revised the following documents:
- DMPGL20_specification.pdf
DMPGL20_system_API_specification.pdf
- DMPGL20_programming_guide.pdf
DMPGL20_commandcache_specification.pdf
- VertexShaderReferenceManual.pdf
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.
Fixed a bug that caused the uppermost line of pixels on the lower LCD not to be displayed.
The initialization and finalization functions of the HID library were changed from InitializeHid/FinalizeHid
to Initialize/Finalize
.
The use of the SELECT button is prohibited for CTR native applications.
Pressing SELECT is therefore now treated as presses of START.
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.
Added the const
modifier to the GetStickClamp
and GetStickClampMode
member functions of the nn::hid::CTR::PadReader
class.
Added the AccelerometerReader
class for using the accelerometer.
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
.
Added the MTX44PerspectiveDeg
and MTX44PerspectiveRad
functions.
The MTX44Perspective
function has been retained as an alternate name for the "degree" version for compatibility.
Added the Set
method to the Vector2
, Vector3
, and Vector4
classes.
Fixed a bug in the algorithm used within the DistSqPoint3ToPolyline3
function to select the shortest distance.
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.
Added the MIC library, which is used to access the microphone.
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:
nnosInitializeAlarmSystem
nnosInitializeDeviceMemory
nnosGetDeviceMemoryAddress
The following functions have been added.
nnosTimerSignal
Function
nnosThreadGetId
Function
nnosThreadIsAlive
Function
nnosThreadGetMainThread
Function
nnosInitialize
Function
Deleted the following functions:
nnosEventInitializeNoCreate
Function
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.
Changed the access label for the nn::os::HandleObject::Finalize
function to protected
.
Added the nn::os::SafeBlockingQueue
class, which implements a blocking queue, using mutexes to ensure exclusive access.
Fixed a bug that caused the obtained size of the nn::os::StackBuffer
class template to be up to 8 bytes more than expected.
Added the nn::os::Thread::GetMainThread
function, which obtains the main thread object, to the nn::os::Thread
class.
Fixed a bug that caused the nn::os::Tick::ToTimeSpan
function to return incorrect results.
Added the nnosAlarmCanSet
function, which acts as a C-language wrapper for the nn::os::Alarm::CanSet
function.
Added the nnosInitializeDeviceMemory
and nnosGetDeviceMemoryAddress
functions, which are used to perform operations on the device's memory from C.
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.
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.
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.
Added the nn::os::LockPolicy
class, which is used to specify the lock policy for implementing thread safety.
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
None.
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.
Removed the restriction that the size of all DMA transfers from main memory must be a multiple of four when allocating memory in VRAM.
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.
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.
VFP context switching now only occurs when the application uses the VFP.
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.
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.
Improved the performance when applications are run.
The debugger API now has multi-core support.
This makes it possible to attach the debugger monitor to processes that support multiple cores.
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.
- Setting a breakpoint in the
Thread::Start
function sometimes causes a kernel panic with the following output:
> KernelPanic[core1]: kern_Debug.cpp:526
> KDebug::OnDebuEvent : already event (4 1)
One of the multifunction demos (demo1
) has been modified to use the camera.
Added the Draw2d
demo (which draws 2D geometric shapes) and the DrawTexture2d
demo (which performs texture mapping on polygons).
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.
Changed the directory structure under Sample Demos/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.
The vertex shader code for "Sample Demos/demo1
" and "Sample Demos/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.
The following changes were made to the multifunction demos (demo1
and demo2
).
- Changed to use the accelerometer
- Changed the button assignments so that SELECT is not used
- Changed the button operations to use holding the buttons down
The multifunction demos (demo1
and demo2
) now use the microphone.
None.