FreeVoice was used within the voice drop callback [SDK]nn::ac::LinkLevel GetLinkLevel function [SDK]SetNoiseFilter function [SDK|SystemUpdater]GetLanguageCodeA2 function [SDK]GetSimpleAddress function [SDK]nn::Result constructors private [SDK]types.h [SDK]Allocate of an ExpHeap fails [SDK]ExpHeap constructor when given no arguments [SDK]ExpHeap::Allocate [SDK]ExpHeapBase::GetDirecitionOf to GetDirectionOf [SDK]MODE_DESCRIPTION_SIZE [SDK]NotificationType enumerator [SDK]MII_SIZE constant [SDK]fs::Directory::Read function from getting all entries [SDK]nn::fs::GetFileSystemSize function [SDK]nn::fs::MountSdmc function [SDK]nn::fs::hio::GetHioRequiredMemorySize function [SDK]nn::fs::hio::HioArchive [SDK]nn::hio::CTR::HostFile::SetSize function [SDK]glCopyTexImage2D and glCopyTexSubImage2D functions [SDK]glPolygonOffset function [SDK]nngxAddB2LTransferCommand function [SDK]nngxAddBlockImageCopyCommand function [SDK]nngxAddL2BTransferCommand function [SDK]nngxAddMemoryFillCommand function [SDK]nngxAddVramDmaCommand function [SDK]nngxFilterBlockImage function [SDK]nngxFilterBlockImage and nngxAddVramDmaCommand functions [SDK]nngxGetAllocator function [SDK]glViewport function settings to not be applied if run immediately after running the nngxInitialize function [SDK]nngxSetGasAutoAccumulationUpdate function [SDK]nngxTransferLinearImage function would stop on an assert [SDK]glVertexAttribPointer function when multiple vertex attributes have been arranged as an interleaved array [SDK]0x101 register when logical operations are enabled [SDK]ACCELEROMETER_PLAY_MODE_LOOSE [SDK]GetMpRegionsToBuildJpegData function to the decoder [SDK]nn::math::VEC3::DistanceSquare function to a const function [SDK]CheckProfanityWords function [SDK]CountNumbers function [SDK]GetRunnningTargetHardware function [SDK]nn::snd::Initialize function [SDK]dummy_util functions [SDK|SampleDemos]Config tool [SDK]DevMenu [SDK]FontConverter tools [SDK]NetworkSetting tool [SDK]ctr_TexturePackager32 [SDK]ctr_WaveConverter32.exe [SDK]ctr_compress [SDK]ctr_makebanner [SDK|SampleDemos]ctr_makeciaarchive32.exe [SDK]-D option in ctr_makerom [SDK]ctr_makerom [SDK]ctr_makerom options [SDK]UniqueId [SDK]CtrTexFormat formats [SDK]nn::uds::AllowToSpectate function [SDK]nn::uds::ConnectionStatus structure [SDK]nn::uds::EjectSpectator function so that it can be certain of the ejection of spectators [SDK]nn::uds::LinkLevel GetLinkLevel function [SDK]nn::uds::NetworkDescription::CanConnectAsSpectator function [SDK]StereoCamera class constructor [SDK]const member functions in the StereoCamera class [SDK]util_Color.h, util_Rect.h, and util_Float24.h [SDK]Connect and ConnectAsync functions [SystemUpdater]ConnectCancelAsync function [SystemUpdater]DebugSetNetworkSetting1 function [SystemUpdater]SetNoiseFilter function [SDK|SystemUpdater]GetBirthday function [SystemUpdater]nn::fnd::DateTime::GetNow function would start returning invalid values a short time after the RTC surpassed 2099/12/31 [SystemUpdater]AddPostData*** functions [SystemUpdater]GetHeaderField function [SystemUpdater]GetBatteryLevel function [SystemUpdater]DevMenu import error [SystemUpdater]DevMenu bug [SystemUpdater]EjectClient function was run [SystemUpdater]NetworkDescriptionReader::GetNodeInformationList function could not get the NodeInformation successfully [SystemUpdater]NodeInfomation distributed by beacons [SystemUpdater]GetConnectionStatus function was run frequently [SystemUpdater]demo1 and demo2 [SampleDemos]sample_nadl_simple demo [SampleDemos]lib_demo library display buffer [SampleDemos]DrawPrimitive demo [SampleDemos]demo1 and demo2 [SampleDemos]SharedFont demo [SampleDemos]dummy_util functions [SDK|SampleDemos]ctr_makebanner [SDK|SampleDemos]com_demo1 where communication data was not cleared after disconnection [SampleDemos]CreateLocalCommunicationId function now creates the local communication IDs used in UDS demos [SampleDemos]Depth Level variable[SampleDemos]nn::snd::Voice::SetState function [SDK]IsBufferError function [SDK | System Updater]SetExposure function [SDK | System Updater]SynchronizeVsyncTiming function [SDK | System Updater]DlpChild.desc [SDK]CCFLAGS_DEV_OPT build variable [SDK]nn::fs::FormatSaveData function [SDK]nn::fs::IsSdmcWritable function [SDK]nn::fs::WaitForInsertSdmc, nn::fs::WaitForEjectSdmc, and nn::fs::IsSdmcInserted functions [SDK]nn::fs::hio::MountHioArchive function [SDK]NN_LOG was in use [SDK | System Updater]distanceAttenuationScale [SDK]glBindFramebuffer function [SDK]glCopyTexImage2D function [SDK]glCopyTexSubImage2D function [SDK]glFramebufferTexture2D [SDK]glGetTexParameteri and glGetTexParameterf functions from getting values for GL_GENERATE_MIPMAP [SDK]glReadPixels function [SDK]glReadPixels function [SDK]nngxAdd3DCommand function [SDK]nngxIsStereoVisionAllowed function [SDK]nngxSetTimeout function [SDK]nngxTransferRenderImage function from transferring data correctly [SDK]glDrawArrays function when a vertex buffer was used [SDK]{RGB8,RGBA8}x{LINEAR,BLOCK8} [SDK]GetLastSamplingAddress function [SDK | System Updater]SetLowPassFilter function [SDK | System Updater]CheckProfanityWords functions [SDK]CheckProfanityWords function [SDK]GetContentVersion function [SDK]nn::os::Thread::Sleep [SDK | System Updater]Process function's return values [SDK]Receiver instance [SDK]enum values that indicate uninitialized states [SDK]GetHeadphoneStatus function and added the UpdateHeadphoneStatus function [SDK]GetSampleLength function [SDK]SetAuxFrontBypass function [SDK]nn::snd::Bcwav namespace into a class [SDK]Config tool [SDK]DevMenu [SDK]ctr_TexturePackager32.exe related to specifying the mipmap level [SDK]ctr_makerom32.exe feature for compressing static regions [SDK | System Updater]dmen_PrintResult constant [SDK]makerom encryption [SDK]statusUpdateEvent from being signaled when the local host connected to a network in Audience mode [SDK]CreateEndpoint function [SDK]CreateEndpoint function to run prior to initialization [SDK]NetworkDescription::GetMacAddress function [SDK]nn::ulcd::StereoCamera [SDK]Connect function [System Updater]DebugFlushNetworkSetting function [System Updater]RegisterDisconnectEvent function [System Updater]IsBufferError function [SDK | System Updater]SetExposure function [SDK | System Updater]SynchronizeVsyncTiming function [SDK | System Updater]nn::cfg::CTR::GetRegion function [System Updater]RebootInfo structure [System Updater]NN_LOG was in use [SDK | System Updater]GetLastSamplingAddress function [SDK | System Updater]SetLowPassFilter function [SDK | System Updater]nn::dbg::Break function [System Updater]nn::os::Thread::Sleep [SDK | System Updater]ctr_makerom32.exe feature for compressing static regions [SDK | System Updater]GetConnectionStatus function from obtaining the correct information in Audience mode [System Updater]ProctexClamp sample [Sample Demos]basic sample demos [Sample Demos]StreamPlayersample demo [Sample Demos]com_demo1 [Sample Demos]com_demo1 [Sample Demos]makerom [SDK]nn::fs::GetRomRequiredMemorySize function [SDK]Finalize function [SDK | System Updater]GetSuitableY2rStandardCoefficient function [SDK | System Updater]Initialize and Finalize functions [SDK | System Updater]SynchronizeWhiteBalance function [SDK | System Updater]nn::fnd::HeapBase::DebugFillMemory function [SDK]nn::gx::CTR::MemAccessPrioMode [SDK]DMP_subdivision3.obj [SDK]STICK_CLAMP_MODE_CROSS mode [SDK | System Updater]SetStickClamp and GetStickClamp functions [SDK | System Updater]libnn_hiolow [SDK]SinIdx, CosIdx, SinCosIdx functions [SDK]malloc and free [SDK]nn::snd::SetSoundOutputMode function [SDK]nn::snd::SetSurroundDepth function [SDK]nn::snd::Voice::AppendWaveBuffer function [SDK]nn::snd::Voice::SetVolume function [SDK]nn::snd::Voice::SetupBcwav function [SDK]Initialize function [SDK]DevMenu [SDK]ctr_makerom32.exe [SDK]== and != operators of the NetworkDescriptor class [SDK]NetworkDescriptionReader::GetNetworkDescription function [SDK]NetworkDescriptionReader::GetNodeInformationList function [SDK]Receive and ReceiveFrom functions [SDK]Result values [SDK]SendTo function [SDK]Initialize and Finalize functions [SDK | System Updater]SetStandardCoefficient function [SDK | System Updater]StartConversion function's return value [SDK | System Updater]Connect function [System Updater]GetLinkLevel function [System Updater]Finalize function [SDK | System Updater]GetSuitableY2rStandardCoefficient function [SDK | System Updater]Initialize and Finalize functions [SDK | System Updater]SynchronizeWhiteBalance function [SDK | System Updater]Initialize function is called [System Updater]STICK_CLAMP_MODE_CROSS mode [SDK | System Updater]SetStickClamp and GetStickClamp functions [SDK | System Updater]AddPostData* functions [System Updater]NofityFinishSendPostData function [System Updater]SendPostDataAscii function [System Updater]Finalize function [System Updater]SetAmpGain and GetAmpGain functions [System Updater]Wait was called on multiple objects [System Updater]Initialize and Finalize functions [SDK | System Updater]SetStandardCoefficient function [SDK | System Updater]StartConversion function's return value [SDK | System Updater]BcwavPlayer [Sample Demos]AdpcmEncoder sample demo [Sample Demos]TPL sample demos [Sample Demos]Result values [Sample Demos]com_demo1 [Sample Demos]NN_OS_DEVICE_MEMORY_SIZE with the nn::os::GetDeviceMemorySize function [Sample Demos]nn::camera::FrameRate setting [SDK | System Updater]DevMenu [SDK]StereoCameraCalibrator [SDK]ctr_makecia32.exe [SDK]ctr_makerom32.exe [SDK]nn::camera::FrameRate setting [SDK | System Updater]nn::fs::Directory::Read function to list the proper number of entries [System Updater]Activate function [SDK | System Updater]SetAutoWhiteBalance function [SDK | System Updater]SetNoiseFilter function [SDK | System Updater]SetTrimmingParams and SetTrimmingParamsCenter functions [SDK | System Updater]Initialize function's return value [SDK | System Updater]version.h [SDK]CCFLAGS_DEV_OPT build variable [SDK]CTR_APPTYPE build variable [SDK]ExpHeapTemplate::Allocate member function [SDK]FrameHeap::Free [SDK]HeapBase::HasAddress [SDK]nngxAddVramDmaCommand function to issue DMA transfer commands [SDK]NN_GX_STATE_FRAMEBUFFER complete commands [SDK]SetMemAccessPrioMode function [SDK | System Updater]glReadPixels function [SDK]nngxAdd3DCommand function [SDK]nngxValidateState function [SDK]nngxValidateState function into extended error codes [SDK]nngxClearFillCmdlist function to both clear and fill a command buffer at the same time [SDK]0x6f [SDK]SafeNormalize functions [SDK]Vector2, Vector3, and Vector4 vectors [SDK]GetRow and GetColumn functions in math_Matrix23.h [SDK]mic::FreeBuffer function [SDK]AllocVoice function [SDK]GetPlayPosition function [SDK]Mix bus data [SDK]MixParam constructor [SDK]nn::snd::WaitForDspSync function to enter an endless loop [SDK]nn::snd::WaveBuffer structure [SDK]nn::snd::Voice was in use [SDK]Config tool features [SDK]DevMenu [SDK]ctr_makecia32.exe [SDK]CreateNetwork and Scan functions following policy changes to local communication IDs [SDK]CalculateMatrices[Real] functions [SDK]StereoCamera::CalculateMatrices[Real] functions [SDK]StereoCamera::GetMaxParallax function [SDK]SetDitheringWeightParam function [SDK | System Updater]AC_Connect function [System Updater]AC_ConnectAsync function [System Updater]AC_DebugSetNetworkSettingA [System Updater]DebugSetNetworkSetting1 function [System Updater]Activate function [SDK | System Updater]SetAutoWhiteBalance function [SDK | System Updater]SetNoiseFilter function [SDK | System Updater]SetTrimmingParams and SetTrimmingParamsCenter functions [SDK | System Updater]Initialize function's return value [SDK | System Updater]nn::fs::Directory::Read function [System Updater]sdmc: archives [SDK | System Updater]SetMemAccessPrioMode function [SDK | System Updater]Wait* functions with a timeout would not return [System Updater]Audience mode [System Updater]EjectAudience function [System Updater]SetApplicationDataToBeacon and GetApplicationDataFromBeacon functions could not set or get data [System Updater]SetDitheringWeightParam function [SDK | System Updater]ScreenCapture sample and fixed a bug in it [Sample Demos]HostIO sample [Sample Demos]glFramebufferRenderbuffer [SDK]glTexImage2D was called multiple times [SDK]nngxGetCommandGenerationMode function [SDK]DevMenu [SDK]ScreenCapture sample demos [Sample Demos]ctr_makesimplecia32.exe [SDK]nn::uds::Finalize function to finalize status update events [SDK]std::vector by the library [SDK]nn::camera::CTR::FrameRate [SDK]--gnu option [SDK]nn::fnd::DateTime class [SDK]nn::fnd::DateTimeParameters [SDK]nn::fnd::Directory class [SDK]nn::fnd::DirectoryEntry structure member size [SDK]NN_GX_STATE_OTHERS validation [SDK]dmp_LightEnv.bumpRenorm, dmp_LightEnv.bumpMode [SDK]glFramebufferTexture2D function error check [SDK]nngxAdd3DCommand [SDK]nngxCopyCmdlist function to allow copying to a command list that is waiting [SDK]nngxCopyCmdlist function where command counters were not cleared after execution [SDK]nngxReserveSwapBuffers function [SDK]nngxSwapBuffers function [SDK]SinFIdx, CosFIdx, SinCosFIdx functions [SDK]math API inline [SDK]nn::init::InitializeAllocator function [SDK]nninitStaticInit function [SDK]nn::snd::MixParam structure format [SDK]Config tool [SDK]Reader function of TouchPanelReader [System Updater]nn::os::Timer::ClearSignal function [System Updater]cci files [System Updater]using namespace declaration from sample demos [Sample Demos]nn::demo::RunCmdlistDone function [SDK]nngxReserveSwapBuffers function with the nngxSwapBuffers function [SDK | Sample Demos]glBlend* functions [SDK]glBufferData function [SDK]glBufferSubData function [SDK]glBufferSubData function specifications [SDK]glLinkProgram function [SDK]nngxGetCmdlistParameteri function [SDK]nngxInitialize function [SDK]nngxReserveSwapBuffers function to be equivalent of the nngxSwapBuffers function [SDK]nngxTransferRenderImage and nngxSwapBuffers functions [SDK]nngxReserveSwapBuffers function with the nngxSwapBuffers function [SDK | Sample Demos]GasCessna sample [Sample Demos]GasColorSimple sample [Sample Demos]ProctexRandom sample [Sample Demos]VEC3Transform function were the same [SDK]Voice::IsPlaying function [SDK]nn::snd::Voice::GetPlayPosition function [SDK]nn::snd::WaveBuffer function [SDK]StopDmaRecv[Rgb] function [SDK | System Updater]DrawFramework::GetFramebufferObject and GetRenderbufferObject functions [SDK]CreateSharedMemory function [SDK]LoadComponent function [SDK]LoadDefaultComponent function [SDK]RecvData, RecvDataIsReady, SendData, and SendDataIsEmpty functions [SDK]RegisterInterruptEvents function [SDK]ExpHeap::Adjust function that specifies the direction in which the expanded heap should be reduced [SDK]nn::fnd::DateTime class [SDK]nn::fnd::ExpHeapBase::GetSizeOf function reference [SDK]nngx functions [SDK]nngxInitialize function [SDK]AccelerometerReader class [SDK]Pad class [SDK]AllocateBuffer and StartSampling Functions [SDK]microphone function reference [SDK]NSTD Library [SDK]CriticalSection specifications [SDK]nn::os::StackMemoryBlock class [SDK]nn::os::WaitObject::WaitAny [SDK]ctr_makerom [SDK | System Updater]ctr_makerom [SDK]StopDmaRecv and StopDmaSend functions [SDK | System Updater]Finalize function [System Updater]StopDmaRecv[Rgb] function [SDK | System Updater]Finalize function [System Updater]Thread::Start function [System Updater]ctr_makerom [SDK | System Updater]Finalize function [System Updater]StopDmaRecv and StopDmaSend functions [SDK | System Updater]GasCessna sample [Sample Demos]os sample demo [Sample Demos]crypto library [SDK]DEMO_SetRenderingTarget function [SDK]DrawFramework class [DrawFramework]DrawFramework::SwapBuffer function that specifies whether or not to wait for V-Sync before running [SDK]demo_MemoryManager.h [SDK]nn::demo::DrawFramework::SwapBuffer into a virtual function [SDK]NN_ENDIAN macro [SDK]u32 and s32 [SDK]OMakefiles for the libraries [SDK]nn::fnd::ExpHeap class [SDK]nn::fnd::FrameHeap class [SDK]nn::fs::FileReader class the ability to use the char* type to specify path names as ASCII strings [SDK]DMPGL sample [SDK]Pad class [SDK]MTX44Perspective[Deg|Rad] functions [SDK]Set functions to the Vector* classes [SDK]nn::math::RunCmdlistDone function [SDK]nn::fnd::FileReader class was not set as no copy [SDK]nn::os::HandleObject::Finalize function to protected [SDK]nn::os::SafeBlockingQueue class [SDK]nn::os::StackBuffer class template [SDK]nn::os::Thread::GetMainThread function [SDK]nn::os::Tick::ToTimeSpan function [SDK]nnosAlarmCanSet function [SDK]nnosInitializeDeviceMemory and nnosGetDeviceMemoryAddress functions [SDK]ctr_makerom [SDK]glUniformMatrix functions [Sample Demos](2010/10/07)
Config tool when a settings file is not present on the SD Card, the system will freeze.ctr_WaveConverter32.exe, a bug causes the --loopStart and --loopEnd options to be ignored.(2010/09/30)
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.
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.
nn::snd features, which is fixed in this SDK release.
This fix is required when using NintendoWare for CTR 1.1.0.
FreeVoice was used within the voice drop callback [SDK]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.
Config tool when a settings file is not present on the SD Card, the system will freeze.ctr_WaveConverter32.exe, a bug causes the --loopStart and --loopEnd options to be ignored.(2010/09/28)
nn::ac::LinkLevel GetLinkLevel function [SDK]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.
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.
SetNoiseFilter function [SDK|SystemUpdater]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.
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.
MessageId class.
Changed MessageId from an 8-byte array to a class.
Deprecated the following functions and invalidated unused value definitions.
cec::MessageBox::ReadMessage that used void* as an argumentcec::MessageBox::WriteMessage that used void* as an argumentcec::Message::SetFlag_Unreadcec::Message::GetFlag_Unreadcec::Message::SetFlag_Newcec::Message::GetFlag_Newcec::Message::OutputMessagecec::Message::InputMessagecec::MessageBox::GetMessageFlag_Unreadcec::MessageBox::GetMessageFlag_New
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].GetCecRecvEventHandle and GetCecInfoBuffer
These functions get reception events and received Message information.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)
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.)
GetLanguageCodeA2 function [SDK]nn::cfg::GetLanguageCodeA2 function and indicating the Japanese language from "jp" to "ja".
GetSimpleAddress function [SDK]nn::cfg::CTR::GetSimpleAddress function that prevented it from getting the country name and area name parts of the simple address information.
nn::cfg::CTR::GetUserTimeOffset function to get the cumulative offset value that is saved when the end user changes the date and time.
Applications can learn of end user changes to the system time by checking this offset value on every application launch.
nn::cx namespace.
CHILD_APPS[] in the OMakefile.
See $SampleDemos/dlp/SimpleServer/OMakefile.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.
Server::Initialize function fails if the child and parent UniqueId do not match.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.
nn::Result constructors private [SDK]nn::Result-class constructors that take bit32 values was mistakenly set to "public". This has been revised to "private".
types.h [SDK]$CTR_SDK/include/nn/types.h was a UTF-8 file with no BOM, but it has been changed to now include a BOM.
This was actually changed in CTR-SDK 0.11 but was accidentally omitted from the change log.
--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.
Because of this update, out-of-date versions of RVCT will now sometimes not operate properly.
Allocate of an ExpHeap fails [SDK]Allocate function failed to allocate an ExpHeap, the destructor and Finalize would not be called properly. This problem has been fixed.
ExpHeap constructor when given no arguments [SDK]ExpHeap object, it could not destroy the object properly. This problem has been fixed.
ExpHeap::Allocate [SDK]ExpHeap::Allocate to the range -4096 to 4096.
ExpHeapBase::GetDirecitionOf to GetDirectionOf [SDK]ExpHeapBase::GetDirectionOf, which was formerly misspelled as GetDirecitionOf.
Free and other problems.
Its content is basically the same as nw::font, but applications that use nw must not use nn::font. (This is because some portions of libraries in nw reference nw::font.)
In future, nw::font is planned to be combined into nn::font.
MODE_DESCRIPTION_SIZE [SDK]MODE_DESCRIPTION_SIZE from 64 to 128.
NotificationType enumerator [SDK]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.
MII_SIZE constant [SDK]MII_SIZE constant from 128 to 96.
The size of the MiiInformation structure also 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.
fs::Directory::Read function from getting all entries [SDK]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.
nn::fs::GetFileSystemSize function [SDK]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.
nn::fs::MountSdmc function [SDK]nn::fs::MountSdmc function, which mounts SD Cards.
In order to access an SDMC archive, you must run this function with the SD Card inserted.
To mount a previously mounted SD Card that has been removed and then re-inserted, it must first be unmounted using the nn::fs::Unmount function and then the nn::fs::MountSdmc function must be executed again.
nn::fs::hio::GetHioRequiredMemorySize function [SDK]nn::fs::hio::MountHioArchive function.
nn::fs::hio::HioArchive [SDK]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.
nn::hio::CTR::HostFile::SetSize function [SDK]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.
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.
This was actually changed in CTR-SDK 0.12 but was accidentally omitted from the change log.
$CTR_SDK/documents/DMPGL20/DMPGL20_system_API_specification.pdf
0x101 when logical operations are enabled.0x25f[0:0], which is involved with rendering functions.$CTR_SDK/documents/DMPGL20/DMPGL20_specification.pdf
$CTR_SDK/documents/DMPGL20/DMPGL20_programming_guide.pdf
$CTR_SDK/documents/DMPGL20/VertexShaderReferenceManual.pdf
output_map.
Changed the member names and macro names of the enumerated types listed below.gx_MacroCommon.h
PICA_CMD_HEADER_GS_F32 macro for commands that write to geometry shader floating-point registers.PICA_DATA_COLOR_RGB8 and PICA_DATA_COLOR_RGBA8 macros.
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_LUTINPUTPICA_DATA_FRAG_LIGHT_LUTSCALE -> PICA_DATA_FRAG_LIGHT_ENV_LUTSCALEgx_MacroMisc.h
0x101 are unnecessary when logical operations are enabled, the PICA_CMD_SET_LOGIC_OP was revised to no longer generate such commands.
glPolygonOffset are now valid regardless of the W buffer setting.
glCopyTexImage2D and glCopyTexSubImage2D functions [SDK]
In addition, made the following revisions to only the glCopyTexSubImage2D function.GL_INVALID_VALUE error is returned when either or both of the xoffset and yoffset arguments are negative.
glPolygonOffset function [SDK]glPolygonOffset function were affected by the settings of the glDepthRange function. This bug has been fixed.
nngxAddB2LTransferCommand function [SDK]
The nngxTransferRenderImage function offers similar features, but this function can be used more generally.
nngxAddBlockImageCopyCommand function [SDK]
Use this function to copy images between rendered render buffers and textures.
nngxAddL2BTransferCommand function [SDK]
The nngxTransferLinearImage function offers similar features, but this function can be used more generally.
nngxAddMemoryFillCommand function [SDK]
The glClear function offers similar features, but this function can be used more generally.
nngxAddVramDmaCommand function [SDK]nngxAddVramDmaCommand function to be 8-byte aligned.
nngxFilterBlockImage function [SDK]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.
nngxFilterBlockImage and nngxAddVramDmaCommand functions [SDK]nngxFilterBlockImage and nngxAddVramDmaCommand functions to const GLvoid*.
nngxGetAllocator function [SDK]nngxGetAllocator function, which gets the allocator and deallocator set by the nngxInitialize function.
glViewport function settings to not be applied if run immediately after running the nngxInitialize function [SDK]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.
nngxSetGasAutoAccumulationUpdate function [SDK]
Use this function when directly generating commands for gas rendering, instead of using DMPGL functions.
nngxTransferLinearImage function would stop on an assert [SDK]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.
glVertexAttribPointer function when multiple vertex attributes have been arranged as an interleaved array [SDK]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.
0x101 register when logical operations are enabled [SDK]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.
ACCELEROMETER_PLAY_MODE_LOOSE [SDK]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.
nn::hid::GyroscopeReader class, which can get the gyro sensor values and the attitude of the system calculated based on the gyro sensor values.
PadReader::SetStickClamp function has been changed as shown below.
(The value in parentheses was the value used in CTR-SDK 0.12.)
GetReadableSize and GetWritableSize functions, which get the data size that can be sent or received in serial communication.
GetMpRegionsToBuildJpegData function to the decoder [SDK]GetMpRegionsToBuildJpegData function to the JpegMpDecoder class. This function gets information required to rebuild JPEG data from the individual image data stored in MP format.
StopDecoder function, which can issue a stop request on decoding that is already running in another thread.
nn::math::VEC3::DistanceSquare function to a const function [SDK]nn::math::VEC3::DistanceSquare function a const, in line with the function's internal implementation.
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.
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.
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.
CheckProfanityWords function [SDK]CheckProfanityWords function stating that if its check finds an "@" symbol in a string, that string will be handled as a problematic string.
CountNumbers function [SDK]CountNumbers function, which counts the number of characters that represent numbers within a string.
GetRunnningTargetHardware function [SDK]nn::os::GetRunnningTargetHardware function, which can get what hardware the program is running on.
To enable this feature, you must register APPLET Sleep-related callbacks.
See demo1 and demo2 for more details.
nn::os::GetAppMemorySizenn::os::GetUsingMemorySize
nn::ptm.
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.
Sender and Receiver instances transition between states.
In the implementation up until now, a call to the Process function was always required in order to trigger an instance to transition to another state. In the new implementation, behavior has been changed so that the state transitions instantly upon a successful call to Open, Wait, Close or the other functions.
The three changes listed below were also made in line with this change.
ResultCommandQueueIsFull result code, which indicated that the command queue was full.SENDER_STATE_OPEN_REQUESTED and SENDER_STATE_CLOSE_REQUESTED as new states for Sender instances.
See the Function Reference Manual for details.
nn::snd::Bcwav::IsBcwav function, which determines whether a file is in BCWAV format.
nn::snd::Initialize function [SDK]nn::snd::Initialize function. This bug has been fixed.
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.
nn::snd::GetDroppedSoundFrameCount function, which gets the number of dropped sound frames, and the nn::snd::ClearDroppedSoundFrameCount function, which resets that number.
dummy_util functions [SDK|SampleDemos]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.
Config tool [SDK]Config tool.
The settings file (ctrsetting.txt) is under $CTR-SDK/resources/configtool.
DevMenu [SDK]DevMenu.
Deletion is done with the X Button, the same as the other modes.
FontConverter tools [SDK]ctr_FontConverter and ctr_FontConverterConsole.
Their content is the same as the FontConverter included in NintendoWare for CTR.
NetworkSetting tool [SDK]
See the ctr_makerom reference page for details.
BasicInfo/Logo: Specifies logo dataTitleInfo/Category: Specifies the application typeTitleInfo/ChildIndex: Specifies the index of a download child program
This bug has been fixed.
ctr_TexturePackager32 [SDK]ctr_TexturePackager32 tool.
For details, see $CTR_SDK/documents/TechnicalNotes/TexturePackagerLibrary/TPLTexturePackageTool.pdf.
-nw4c option.
Specify this option to use a TGA file that was created with the Photoshop plug-in (NW4C_tga).etcmethod attribute to <texture> nodes.
This option explicitly specifies to use the ETC1 compression method for the ETC1 and ETC1_A4 formats.
ctr_WaveConverter32.exe [SDK]ctr_WaveConverter32.exe.
--imaadpcm option:
0--loopStart/--loopEnd options, which set the loop frames.
See the ctr_WaveConverter manual reference page for details.
Reconversion of the waveform data is required.
ctr_compress [SDK]ctr_compress.
ctr_makebanner [SDK|SampleDemos]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.
ctr_makeciaarchive32.exe [SDK]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.
-D option in ctr_makerom [SDK]-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"
ctr_makerom [SDK]ctr_makerom processing to now be performed in multiple threads.
ctr_makerom options [SDK]ctr_makerom.
See the reference page for details.
Note: The -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-cxi option, which was used in some demos in previous SDK versions, has been eliminated and replaced by the -content option.
UniqueId [SDK]UniqueId value from 0x200 to 0xf7fff.
CtrTexFormat formats [SDK]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.
nn::uds::AllowToSpectate function [SDK]nn::uds::AllowToSpectate function, which allows reconnection by spectators after the EjectSpectator function has been run.
nn::uds::ConnectionStatus structure [SDK]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.
nn::uds::EjectSpectator function so that it can be certain of the ejection of spectators [SDK]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.
nn::uds::LinkLevel GetLinkLevel function [SDK]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.
nn::uds::NetworkDescription::CanConnectAsSpectator function [SDK]CreateLocalCommunicationId function, which creates a 32-bit ID (until now referred to in the Function Reference as the "ID assigned to each title") based on the unique ID assigned to each title by the Licensing department.
Specify the ID created by the CreateLocalCommunicationId function to CreateNetwork, Scan, and similar functions.
StereoCamera class constructor [SDK]StereoCamera(const nn::WithInitialize &) did not perform initialization in the way described in the Function Reference. It was revised and now calls the StereoCamera::Initialize function.
const member functions in the StereoCamera class [SDK]const" to all member function arguments and return values in the nn::ulcd::StereoCamera class where that prefix could be applied.
See the Guidelines for details.
Note, however, that the ULCD library itself has not been revised to reflect these restrictions.
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.
util_Color.h, util_Rect.h, and util_Float24.h [SDK]Color, Rect, and Float to the util namespace.
These are ported versions of the same definitions from the ut namespace in NintendoWare for CTR.
Config tool when a settings file is not present on the SD Card, the system will freeze.(2010/09/28)
Connect and ConnectAsync functions [SystemUpdater]ConnectCancelAsync function [SystemUpdater]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.
DebugSetNetworkSetting1 function [SystemUpdater]DebugSetNetworkSetting1 function. This bug was fixed.
SetNoiseFilter function [SDK|SystemUpdater]SetNoiseFilter function was used to turn noise filter features OFF and then exposure was changed by the SetExposure function, image brightness would start to flicker. This problem has been fixed.
Note: Capturing is not restarted.
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.
MessageId class.
Changed MessageId from an 8-byte array to a class.
Deprecated the following functions and invalidated unused value definitions.
cec::MessageBox::ReadMessage that used void* as an argumentcec::MessageBox::WriteMessage that used void* as an argumentcec::Message::SetFlag_Unreadcec::Message::GetFlag_Unreadcec::Message::SetFlag_Newcec::Message::GetFlag_Newcec::Message::OutputMessagecec::Message::InputMessagecec::MessageBox::GetMessageFlag_Unreadcec::MessageBox::GetMessageFlag_New
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].GetCecRecvEventHandle and GetCecInfoBuffer
These functions get reception events and received Message information.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)
GetBirthday function [SystemUpdater]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.
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.
Also applied a policy change regarding the initial settings. Now the initial brightness level is 4 and the active backlight is OFF by default.
DevMenu after system startup. Now they display a provisional HOME Menu.
Press START from this menu to launch the DevMenu.
If you start the DevMenu or an application (using the debugger) from this provisional HOME Menu, you can use APPLET library functions to return to the provisional HOME Menu.
(See demo1 and demo2 for examples.)
nn::fnd::DateTime::GetNow function would start returning invalid values a short time after the RTC surpassed 2099/12/31 [SystemUpdater]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.
Note: All friend relationships established up to that point, and all account information, is deleted and reinitialized.
0).
AddPostData*** functions [SystemUpdater]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.
GetHeaderField function [SystemUpdater]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, both sizes were 8 KB.)
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.
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.
To enable this feature, you must register APPLET Sleep-related callbacks.
See demo1 and demo2 for more details.
nn::os::GetAppMemorySizenn::os::GetUsingMemorySize
GetBatteryLevel function [SystemUpdater]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.
SetRtcAlarm function are now restricted to the range 2000/01/01 to 2099/12/31.
DevMenu import error [SystemUpdater]DevMenu, the DevMenu would generate an error and would continue to generate errors with subsequently-imported valid CIA files. This bug has been fixed.
DevMenu bug [SystemUpdater]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.
RegionSelector tool, which changes the system region and language settings.
EjectClient function was run [SystemUpdater]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.
NetworkDescriptionReader::GetNodeInformationList function could not get the NodeInformation successfully [SystemUpdater]NetworkDescriptionReader::GetNodeInformationList function would sometimes become abnormal. These bugs were fixed.
NodeInfomation distributed by beacons [SystemUpdater]
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.
GetConnectionStatus function was run frequently [SystemUpdater]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.
NN_LOG function during communication sometimes causes the debugger to hang.NN_LOG function.CancelConnectAsync is run repeatedly or if Wi-Fi is toggled ON/OFF repeatedly.SuspendScheduler function will not complete.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(2010/09/28)
demo1 and demo2 [SampleDemos]demo1 and demo2.
Currently, they return to a provisional HOME Menu.
sample_nadl_simple demo [SampleDemos]sample_nadl_simple demo as an example of a task that downloads data from a download server.
Compress sample demo, which demonstrates run-length, Huffman, and LZ encoding.
lib_demo library display buffer [SampleDemos]lib_demo library of SampleDemos. Now the display buffer is initialized to solid black before the LCD screens are turned on.
CHILD_APPS[] in the OMakefile.
See $SampleDemos/dlp/SimpleServer/OMakefile.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.
Server::Initialize function fails if the child and parent UniqueId do not match.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.
These demos are ports of the font sample demos included in NintendoWare for CTR.
DrawPrimitive demo [SampleDemos]DrawPrimitive demo, which uses the GR library to render spheres and cuboids.
MultiPicture demo, which handles MultiPicture (MP) format data, and the StopDecoder demo, which stops decoding in progress.
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.
demo1 and demo2 [SampleDemos]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.
SharedFont demo [SampleDemos]SharedFont demo as an example of getting shared fonts.
dummy_util functions [SDK|SampleDemos]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.
ctr_makebanner [SDK|SampleDemos]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.
ctr_TexturePackager32.exe, added XML files and texture data for creating CTPK files (which are themselves used in the TPL sample demos).
com_demo1 where communication data was not cleared after disconnection [SampleDemos]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.
CreateLocalCommunicationId function now creates the local communication IDs used in UDS demos [SampleDemos]CreateLocalCommunicationId function is available, the demos were modified to use the CreateLocalCommunicationId function to create the local communication IDs that they use.
Depth Level variable[SampleDemos]0.0f for the Depth Level variable would cause execution to stop on an assert during subsequent normal calculations.
demo1 and demo2 demos are the only demos with support for Sleep Mode. Closing the system during any other demo causes undefined behavior.NN_LOG function during communication cause execution to hang), the http demo sometimes hangs.(2010/09/02)
nn::snd::Voice::SetState function [SDK]SetState function to specify STATE_STOP for a Voice object and then later setting the state to STATE_PLAY.
ResultConnected incorrectly. This result is never returned when the local host connects.(2010/08/20)
IsBufferError function [SDK | System Updater]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.
SetExposure function [SDK | System Updater]SetExposure function from properly configuring the exposure in some environments where particular framerates have been set.
SynchronizeVsyncTiming function [SDK | System Updater]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.
However, these parameters are not stored in systems manufactured prior to mid-August.
White balance settings have not changed for these systems.
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 Initialize specify the allocator for the library to use.const variables.SetModuleFilter_MCR function.OutputMessage to MakeMessageBinary.GetMessageMessIdPair.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.
DlpChild.desc [SDK]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
CCFLAGS_DEV_OPT build variable [SDK]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.
nn::fs::FormatSaveData function [SDK]nn::fs::FormatSaveData function so that it no longer parses the maxFiles and maxDirectories arguments in reverse.
Also fixed a related error in the Function Reference Manual argument descriptions.
nn::fs::IsSdmcWritable function [SDK]nn::fs::WaitForInsertSdmc, nn::fs::WaitForEjectSdmc, and nn::fs::IsSdmcInserted functions [SDK]
You must call the nn::fs::InitializeForFileSystemEvent function in advance.
nn::fs::hio::MountHioArchive function [SDK]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.
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.)
See each document for further details.
0x111 and 0x110.0x1c4 must always be set to 1. Fragment lighting results are not guaranteed if this bit is 0.)
NN_LOG was in use [SDK | System Updater]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.
gx_MacroMisc.h
gx_MacroOld.h).
PICA_CMD_DATA_FOG_OP_WSCALE to PICA_CMD_DATA_FRAGOP_WSCALE.PICA_CMD_DATA_FOG_OP_WSCALE_DATA to PICA_CMD_DATA_FRAGOP_WSCALE_DATA.PICA_CMD_DATA_FOG_OP_CLIP to PICA_CMD_DATA_FRAGOP_CLIP.PICA_CMD_SET_FOG_OP_CLIP to PICA_CMD_SET_FRAGOP_CLIP.PICA_CMD_DATA_FOG_OP_CLIP_DATA to PICA_CMD_DATA_FRAGOP_CLIP_DATA.PICA_CMD_DATA_FOG_SHADOW to PICA_CMD_DATA_FRAGOP_SHADOW.gx_MacroShader.h
1 is now set in bit [18:18] of register 0x1c4.
PICA_CMD_DATA_FRAG_LIGHT_FUNC_MODE1PICA_CMD_DATA_FRAG_LIGHT_FUNC_MODE1_LIGHT_SOURCE0 to bits [31:24] of register 0x25e is now generated twice immediately after a render kick command.
PICA_CMD_SET_START_DRAW_ARRAYPICA_CMD_SET_START_DRAW_ELEMENTgx_MacroOld.h).
PICA_CMD_DATA_VERTEX_ATTR_ARRAYS to PICA_CMD_DATA_VERTEX_ATTR_ARRAYS0.PICA_CMD_DATA_LOAD_ARRAY0_ELEMENT to PICA_CMD_DATA_LOAD_ARRAY_ELEMENT0.
PICA_CMD_DATA_VERTEX_ATTR_ARRAYS1PICA_CMD_DATA_LOAD_ARRAY_ELEMENT1PICA_CMD_DATA_VS_GS_OUT_REG_NUM0PICA_CMD_DATA_VS_GS_OUT_REG_NUM1PICA_CMD_DATA_VS_GS_OUT_REG_NUM2gx_MacroTexture.h
0 is now written to bits [23:17] of register 0x80.
PICA_CMD_DATA_TEXTURE_FUNC
PICA_CMD_SET_TEXTURE_FUNC_CLEAR
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.
distanceAttenuationScale [SDK]dmp_FragmentLightSource[i].distanceAttenuationScale to have an initial value of 1.0f, as documented, rather than 0.0f as they had been mistakenly set.
glBindFramebuffer function [SDK]glBindFramebuffer function because they were determined to be unnecessary. These commands cleared the framebuffer cache.
glCopyTexImage2D function [SDK]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.)
glCopyTexSubImage2D function [SDK]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).
glFramebufferTexture2D [SDK]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.
glGetTexParameteri and glGetTexParameterf functions from getting values for GL_GENERATE_MIPMAP [SDK]glGetTexParameteri and glGetTexParameterf functions from getting values when GL_GENERATE_MIPMAP was specified for their pname argument.
glReadPixels function [SDK]glReadPixels function from correctly reading depth values in the GL_DEPTH24_STENCIL8_EXT format from a buffer when the stencil values were nonzero.
glReadPixels function [SDK]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.
nngxAdd3DCommand function [SDK]nngxAdd3DCommand function must now be a multiple of 16 rather than a multiple of 8 when copycmd is GL_FALSE.
nngxIsStereoVisionAllowed function [SDK]
This allows applications to determine whether the 3D depth slider is completely down or the system has disabled stereoscopic display.
nngxSetTimeout function [SDK]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.
nngxTransferRenderImage function from transferring data correctly [SDK]GL_TRUE and the source buffer was larger than the destination buffer.
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.
GL_ERROR_COMMANDREQUEST_FULL_DMP; the old error code was GL_INVALID_OPERATION.
glCopyTexImage2D and glCopyTexSubImage2D functions to copy from the depth (depth/stencil) buffer.
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.
glFramebufferTexture2D function was deleted.
To use them, include $CTR_SDK/include/nn/gx/CTR/gx_UniformLocationForFragmentShader.h.
glDrawArrays function when a vertex buffer was used [SDK]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.
AccelerometerReader class is created and stops when the instance is destroyed.
JpegMpDecoder::SetOptionJpegMpDecoder::GetOption
GetLastError function when errors occur during encoding or decoding.
{RGB8,RGBA8}x{LINEAR,BLOCK8} [SDK]StartJpegDecoderShrink function, which can both decode and shrink images.
GetLastSamplingAddress function [SDK | System Updater]GetLastSamplingAddress function to return a pointer to the address where the most recent microphone sampling results are stored, rather than the previous address.
SetLowPassFilter function [SDK | System Updater]SetLowPassFilter function, which configures whether a low-pass filter is applied to microphone input data.
CheckProfanityWords functions [SDK]CheckProfanityWords function [SDK]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.
GetContentVersion function [SDK]GetContentVersion function, which is used to get the version number of the profanity patterns installed on the system.
nn::os::Thread::Sleep [SDK | System Updater]nn::os::SpinWaitCpuCycles if the sleep time specified to the nn::os::Thread::Sleep function is less than a certain value.
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.
This was accompanied by the addition of version 0.1 of the System Programming Guide.
$CTR_SDK/documents/TechnicalNotes/SystemProgramingGuide/SystemProgramingGuide.pdf
Process function's return values [SDK]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.
Receiver instance [SDK]Receiver instance is finalized.
These explanations were fixed to mention that the Close function must be called during the finalization process.
See the Function Reference Manual for explanations of the result codes and to learn which result codes can be returned by each function.
enum values that indicate uninitialized states [SDK]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.
GetHeadphoneStatus function and added the UpdateHeadphoneStatus function [SDK]GetHeadphoneStatus function and added the UpdateHeadphoneStatus function.
For details, see the Function Reference Manual.
GetSampleLength function [SDK]nn::snd::GetSampleLength function that caused it to return incorrect values for the ADPCM format.
SetAuxFrontBypass function [SDK]SetAuxFrontBypass function, which handles front bypass settings for 3D surround sound on the AUX bus.
nn::snd::Bcwav namespace into a class [SDK]nn::snd::Bcwav namespace and added a class with the same name.
This involves no changes other than making using namespace unusable.
Also added functions for changing and getting the clipping mode.
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.
Config tool [SDK]Config tool.
DevMenu [SDK]DevMenu was running.
For details, see the makerom reference page: $CTR_SDK/documents/tools/ctr_makerom.html.
ctr_TexturePackager32.exe related to specifying the mipmap level [SDK]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.
ctr_makerom32.exe feature for compressing static regions [SDK | System Updater]ctr_makerom32 for compressing static regions.
This feature is enabled by default.
For details, see the makerom reference page: $CTR_SDK/documents/tools/ctr_makerom.html.
dmen_PrintResult constant [SDK]DevMenu returned an unexpected Result.
makerom encryption [SDK]makerom.
statusUpdateEvent from being signaled when the local host connected to a network in Audience mode [SDK]ConnectNetwork function that prevented statusUpdateEvent from being signaled when the local host connected to a network as an Audience node.
CreateEndpoint function [SDK]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.
CreateEndpoint function to run prior to initialization [SDK]CreateEndpoint function to successfully run even when the UDS library had not been successfully initialized.
NetworkDescription::GetMacAddress function [SDK]NetworkDescription::GetMacAddress function to return NULL when run on a NetworkDescription obtained either prior to initialization or when an invalid beacon was received.
CreateEndpoint function to create 15 endpoints even though the Function Reference Manual stated that up to 16 (provisional specification) can be created.
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.
CreateNetwork, Scan, and ConnectNetwork functions, stating that they require time to complete.
nn::ulcd::StereoCamera [SDK]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.
ResultConnected incorrectly. This result is never returned when the local host connects.(2010/08/20)
nnacCancelConnect
nnacDebugSetNetworkSettingA to nnacDebugSetNetworkSetting1
nnacGetLastErrorCodennacGetLastDetailErrorCodennacGetConnectingApTypennacGetConnectingNintendoZoneBeaconSubset
Connect function [System Updater]DebugFlushNetworkSetting function [System Updater]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.
RegisterDisconnectEvent function [System Updater]IsBufferError function [SDK | System Updater]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.
SetExposure function [SDK | System Updater]SetExposure function from properly configuring the exposure in some environments where particular framerates have been set.
SynchronizeVsyncTiming function [SDK | System Updater]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.
PlayShutterSound function with the final version of the sound.
However, these parameters are not stored in systems manufactured prior to mid-August.
White balance settings have not changed for these systems.
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.
CecControl::StartScanning(true).
nn::cfg::CTR::GetRegion function [System Updater]nn::cfg::CTR::GetRegion function to get undefined region codes.
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.
Use a value of 16 or less for the scanNum argument to the FakeClient::Initialize function.
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.
RebootInfo structure [System Updater]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.
In line with this change, child programs can no longer be distributed from SD Cards.
To learn how to embed programs, see the OMakefile for $SampleDemos/dlp/SimpleServer.
To distribute an embedded child program, specify the child program's ID in the Server::Initialize function.
You can now use the nn::dlp::GetRebootInfo function to get parameters from the system-specific memory region.
For examples of child programs with embedded ICN files, see $SampleDemos/dlp/Child.
This eliminates the need to specify the icon and program title with the Server::Initialize function, so its arguments were changed.
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.
NN_LOG was in use [SDK | System Updater]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.
AccelerometerReader class is created and stops when the instance is destroyed.
GetLastSamplingAddress function [SDK | System Updater]GetLastSamplingAddress function to return a pointer to the address where the most recent microphone sampling results are stored, rather than the previous address.
SetLowPassFilter function [SDK | System Updater]SetLowPassFilter function, which configures whether a low-pass filter is applied to microphone input data.
This revision increases the base input amplitude by approximately 6 dB.
nn::dbg::Break function [System Updater]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.
nn::os::Thread::Sleep [SDK | System Updater]nn::os::SpinWaitCpuCycles if the sleep time specified to the nn::os::Thread::Sleep function is less than a certain value.
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.
There is no detectable change in audio quality.
ctr_makerom32.exe feature for compressing static regions [SDK | System Updater]ctr_makerom32 for compressing static regions.
This feature is enabled by default.
See the reference page for details.
GetConnectionStatus function from obtaining the correct information in Audience mode [System Updater]GetConnectionStatus function was run in Audience mode.
DebugSetNetworkSetting1 are applied to NAND memory when a connection succeeds, even though they should not be.(2010/08/20)
In line with this change, child programs can no longer be distributed from SD Cards.
To learn how to embed programs, see the OMakefile for $SampleDemos/dlp/SimpleServer.
To distribute an embedded child program, specify the child program's ID in the Server::Initialize function.
For examples of child programs with embedded ICN files, see $SampleDemos/dlp/Child.
This eliminates the need to specify the icon and program title with the Server::Initialize function, so its arguments were changed.
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.
ProctexClamp sample [Sample Demos]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).
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.
basic sample demos [Sample Demos]basic sample demo so that even Release builds generate log output.
bidirectional RDT sample demo.
This demo shows sample code for sending and receiving data between two systems simultaneously.
StreamPlayersample demo [Sample Demos]StreamPlayer SND sample demo so that it now performs streaming playback of ADPCM files in the BCWAV format.
com_demo1 [Sample Demos]com_demo1 demo from Mutex to CriticalSection.
You can also now set the priority of individual threads.
com_demo1 [Sample Demos]Battery PTM demo stops running properly.(2010/07/29)
makerom [SDK]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.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.CheckProfanityWords function that checks all regionsCheckProfanityWords function that checks each region separately, called using CFG_REGION_TAIWANngc_simple demo therefore does not run properly.
(2010/07/28)
nn::fs::GetRomRequiredMemorySize function [SDK]nn::fs::GetRomRequiredMemorySize function to return the correct values.
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.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.CheckProfanityWords function that checks all regionsCheckProfanityWords function that checks each region separately, called using CFG_REGION_TAIWANngc_simple demo therefore does not run properly.
(2010/07/22)
Finalize function [SDK | System Updater]Finalize function to turn off the camera LED if it is illuminated.
GetSuitableY2rStandardCoefficient function [SDK | System Updater]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.
Initialize and Finalize functions [SDK | System Updater]Initialize and Finalize functions to initialize and clean up settings.
SynchronizeWhiteBalance function [SDK | System Updater]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.
nn::Result value because there was a need for applications to handle errors.
InitializeActivateSwitchContextSetExposureSetWhiteBalanceSetSharpnessSetAutoExposureIsAutoExposureSetAutoWhiteBalanceIsAutoWhiteBalanceFlipImageSetDetailSizeSetSizeSetFrameRateSetPhotoModeSetEffectSetContrastSetLensCorrectionSetOutputFormatSetAutoExposureWindowSetNoiseFilterPlayShutterSound
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.
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).
SetReceivingAutoSetReceivingRgbAutoStopReceivingAutoStopReceivingRgbAuto
SetPackageParameterWithoutContextSetPackageParameterWithContext
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.
MessageBoxInfoReader class.
CecControl class.
cecd" to "cec".
Class names no longer begin with "Cec".
<nn/cecd.h> to <nn/cec.h>libnn_cecd to libnn_cecnn::cecd::CecdXXX() to nn::cec::XXX()CecMessageBox class to MessageBox
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.
DlpClient
SimpleServer: Sample demo for a serverFakeChild: Sample demo for a simulated clientChild: Sample demo for a child program
DlpChild was specified as the TitleInfo/Category entry in the RSF file. Specify Application.StartScan function is called to start scanning.
#define statements so that they start with NN_DSP_.
nn::fnd::HeapBase::DebugFillMemory function [SDK]nn::fnd::HeapBase::DebugFillMemory function to be run even in Release builds.
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.
Volume labels had been listed until now.
Seek and SetPosition for nn::fs::FileStream classes.
nn::fs::CreateAndMountExtSaveData creates it and nn::fs::MountExtSaveData mounts it.
Also added the nn::fs::ReadExtSaveDataIcon function for accessing the icon data in expanded save data.
DMPGL20_system_API_specification.pdf
DMPGL20_programing_guide.pdf
GL_NEAREST.
gx_MacroShader.h
index in PICA_CMD_DATA_GS_FLOAT_ADDR(mode, index).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
PICA_CMD_DATA_TEXTURE_LOD_LEVEL(lodBias, maxLodLevel, minLodLevel).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).
nn::gx::CTR::MemAccessPrioMode [SDK]nn::gx::CTR::MemAccessPrioMode definition.
dmp_FragmentLightSource[0].enabled is GL_FALSE), it disables the sum that is multiplied with the emission and global ambient color.
DMP_subdivision3.obj [SDK]o3 register of DMP_subdivision3.obj from being interpolated properly.
nngxGetCmdlistParameteri function for the current command list, allowing you to get a variety of information.
Note: See the documentation for further details.
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.
glUseProgram(0), preventing scissoring-related commands with no relationship to the original program object (NN_GX_STATE_SCISSOR) from being generated.
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.
GL_RENDERBUFFER_DATA_ADDR_DMP to the pname argument of glGetRenderbufferParameteriv.
GL_LIGHT_ENV_SP_DMP and GL_LIGHT_ENV_CP_DMP cannot be specified for dmp_LightEnv.lutInput{FR,RR,RG,RB}.
nngxInvalidateState function, which can disable the update flag for the specified state with an argument.
STICK_CLAMP_MODE_CROSS mode [SDK | System Updater]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.
SetStickClamp and GetStickClamp functions [SDK | System Updater]SetStickClamp function.
Any specified argument values that do not conform to these restrictions are corrected to the limit values.const s16 LIMIT_OF_STICK_CLAMP_MAX = 150 <- 153 in SDK 0.10.2const 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
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.
libnn_hiolow [SDK]libnn_hiolow.*.a because the libnn_hiolow features are included in the libnn_dev library.
SinIdx, CosIdx, SinCosIdx functions [SDK]SinIdx, CosIdx, and SinCosIdx functions.
Each function's output has remained the same.
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.
TYPE_8BIT_GUARANTEED_INPUT_MINTYPE_8BIT_GUARANTEED_INPUT_MAXTYPE_16BIT_GUARANTEED_INPUT_MINTYPE_16BIT_GUARANTEED_INPUT_MAXTYPE_SIGNED_8BIT_GUARANTEED_INPUT_MINTYPE_SIGNED_8BIT_GUARANTEED_INPUT_MAXTYPE_SIGNED_16BIT_GUARANTEED_INPUT_MINTYPE_SIGNED_16BIT_GUARANTEED_INPUT_MAX
malloc and free [SDK]malloc and free from nn::os::Mutex to nn::os::CriticalSection.
nn::ptm::CTR for the remaining battery life, the battery recharge state, and the existence of an AC plug.
EncodeAdpcmData function.
DecodeAdpcmData function, which converts DSP-ADPCM data into 16-bit PCM data.
ConvertAdpcmPos2Nib and ConvertAdpcmNib2Pos functions, which convert between DSP-ADPCM nibble counts and sample counts.
nn::snd::SetSoundOutputMode function [SDK]nn::snd::SetSoundOutputMode function.
The downmix coefficients for monaural output were also changed.
For details, see the Function Reference Manual and the CTR Programming Manual.
nn::snd::SetSurroundDepth function [SDK]nn::snd::SetSurroundDepth function's argument from a u16 value to an f32 value.
The initial depth value is now 1.0f.
nn::snd::Voice::AppendWaveBuffer function [SDK]
For details, see the Function Reference Manual and the CTR Programming Manual.
nn::snd::Voice::SetVolume function [SDK]nn::snd::Voice::SetVolume function into noise.
nn::snd::Voice::SetupBcwav function [SDK]nn::snd::Voice::SetupBcwav function, which parses a BCWAV file and then configures the required nn::snd::Voice settings.
nn::snd::Voice filter feature was used with the biquad filter type set.
#define statements so that they start with NN_SND_.
Specifically, the digital volume was increased and the analog volume was decreased.
The total volume has not changed.
Always run ResetSettings with the Config tool after applying the SystemUpdater for CTR-SDK 0.11.
Otherwise, the proper volume will not be used.
Initialize function [SDK]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.
Config tool.
DevMenu [SDK]DevMenu.
ctr_makerom32.exe [SDK]ctr_makerom32.
For details, see $CTR_SDK/documents/tools/ctr_makerom.html.
ctr_makerom is run.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.
BasicInfo/CompanyCodeBasicInfo/ProductCodeTitleInfo/UniqueId
== and != operators of the NetworkDescriptor class [SDK]== and != operators of the NetworkDescriptor class so that objects of that class can be compared.
NetworkDescriptionReader::GetNetworkDescription function [SDK]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.
NetworkDescriptionReader::GetNodeInformationList function [SDK]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.
Receive and ReceiveFrom functions [SDK]NO_WAIT option is specified, but now the function itself succeeds and returns 0 as the received data size.
Result values [SDK]Result values returned by the functions in the UDS library.
For details, see the Function Reference Manual.
Definitions prior to CTR-SDK 0.10.2 can still be used, but we plan to remove them in the next release.
SendTo function [SDK]NO_WAIT option is specified.
Nothing has changed when the NO_WAIT option is not specified.
SendTo and Attach functions to not allow the use of port 0, which is reserved by the system.
Initialize and Finalize functions [SDK | System Updater]Initialize and Finalize functions to initialize and clean up settings.
SetStandardCoefficient function [SDK | System Updater]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.
StartConversion function's return value [SDK | System Updater]StartConversion function to return an nn::Result value because there was a need for applications to handle errors.
SetPackageParameter function, which changes multiple Y2R settings all at once.
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.nn::fs::GetRomRequiredMemorySize with useCache set to falsenn::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.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.CheckProfanityWords function that checks all regionsCheckProfanityWords function that checks each region separately, called using CFG_REGION_TAIWANngc_simple demo therefore does not run properly.
(2010/07/22)
Connect function [System Updater]Connect function as follows.
GetLinkLevel function [System Updater]Finalize function [SDK | System Updater]Finalize function to turn off the camera LED if it is illuminated.
GetSuitableY2rStandardCoefficient function [SDK | System Updater]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.
Initialize and Finalize functions [SDK | System Updater]Initialize and Finalize functions to initialize and clean up settings.
SynchronizeWhiteBalance function [SDK | System Updater]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.
nn::Result value because there was a need for applications to handle errors.
InitializeActivateSwitchContextSetExposureSetWhiteBalanceSetSharpnessSetAutoExposureIsAutoExposureSetAutoWhiteBalanceIsAutoWhiteBalanceFlipImageSetDetailSizeSetSizeSetFrameRateSetPhotoModeSetEffectSetContrastSetLensCorrectionSetOutputFormatSetAutoExposureWindowSetNoiseFilterPlayShutterSound
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.
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).
SetReceivingAutoSetReceivingRgbAutoStopReceivingAutoStopReceivingRgbAuto
SetPackageParameterWithoutContextSetPackageParameterWithContext
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.
DlpClient
SimpleServer: Sample demo for a serverFakeChild: Sample demo for a simulated clientChild: Sample demo for a child program
DlpChild was specified as the TitleInfo/Category entry in the RSF file. Specify Application.StartScan function is called to start scanning.
NN_GX_DISPLAYMODE_STEREO is specified by the nngxSetDisplayMode function to enable stereoscopic display.
Initialize function is called [System Updater]Initialize function is called so that it does not overlap with addresses that can be used as an application heap.
STICK_CLAMP_MODE_CROSS mode [SDK | System Updater]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.
SetStickClamp and GetStickClamp functions [SDK | System Updater]SetStickClamp function.
Any specified argument values that do not conform to these restrictions are corrected to the limit values.const s16 LIMIT_OF_STICK_CLAMP_MAX = 150 <- 153 in SDK 0.10.2const 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
The SetStickClamp and GetStickClamp functions used to use common parameters regardless of the clamp mode, but now these parameters are managed separately. This is because threshold values have different limits in each clamp mode. Note that the SetStickClamp and GetStickClamp functions handle threshold values for the current clamp mode.
Note that these changes have replaced axes and reversed signs.
AddPostData* functions [System Updater]AddPostData* functions.
NofityFinishSendPostData function [System Updater]NofityFinishSendPostData function by changing "Nofity" to "Notify."
SendPostDataAscii function [System Updater]Finalize function [System Updater]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.
SetAmpGain and GetAmpGain functions [System Updater]
Press the L Button, R Button, START, and SELECT simultaneously to stop forcing the screen to be displayed.
Wait was called on multiple objects [System Updater]Wait in nn::os::WaitObject::WaitAll.
Specifically, the digital volume was increased and the analog volume was decreased.
The total volume has not changed.
Always run ResetSettings with the Config tool after applying the SystemUpdater for CTR-SDK 0.11.
Otherwise, the proper volume will not be used.
GetCertVerifyErrors function, which collectively gets the causes of a failure to verify a server certificate.
For details, see the Function Reference Manual.
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.
Initialize and Finalize functions [SDK | System Updater]Initialize and Finalize functions to initialize and clean up settings.
SetStandardCoefficient function [SDK | System Updater]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.
StartConversion function's return value [SDK | System Updater]StartConversion function to return an nn::Result value because there was a need for applications to handle errors.
SetPackageParameter function, which changes multiple Y2R settings all at once.
(2010/07/22)
BcwavPlayer [Sample Demos]BcwavPlayer sample demo to use nn::snd::Voice::SetupBcwav.
snd sample demo except 3DSurround.
AdpcmEncoder sample demo [Sample Demos]AdpcmEncoder sample demo to AdpcmEncDec and added sample code for the decoder.
TPL sample demos [Sample Demos]IconSample, ReadTexturePackage, ReadTexturePackage2, and ReadTexturePackage3.
Result values [Sample Demos]Result values for the UDS library.
For details on how to handle the Result values, see the simple demo.
com_demo1 [Sample Demos]NN_OS_DEVICE_MEMORY_SIZE with the nn::os::GetDeviceMemorySize function [Sample Demos]NN_OS_DEVICE_MEMORY_SIZE macro used in the sample demos with the nn::os::GetDeviceMemorySize function.
None.
(2010/07/06)
(2010/07/05)
nn::camera::FrameRate setting [SDK | System Updater]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.
To apply these revisions, you must launch the Config tool and run Reset setting.
Some specifications for memory-related functions in the OS library have also changed, but these could not be applied to the Function Reference Manual. Details are planned to be added in the next release of the CTR-SDK.SetDeviceMemorySizeGetDeviceMemorySizeGetHeapAddressSetHeapSizeGetHeapSize
This was changed in version 0.10 but was left out of the changelog.
It is now approximately 5.5 dB louder than it was in CTR-SDK 0.10.
ctr_WaveConverter, as follows.
--pcm16 and --pcm8 options were specified.
DevMenu [SDK]StereoCameraCalibrator [SDK]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.
ctr_makecia32.exe [SDK]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.
ctr_makerom32.exe [SDK]
The UseAes option, which was released as a temporary workaround, has been removed.
ctr_makesimplecia32.exe into DevMenu.(2010/07/05)
nn::camera::FrameRate setting [SDK | System Updater]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.
nn::fs::Directory::Read function to list the proper number of entries [System Updater]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.
Some specifications for memory-related functions in the OS library have also changed, but these could not be applied to the Function Reference Manual. Details are planned to be added in the next release of the CTR-SDK.SetDeviceMemorySizeGetDeviceMemorySizeGetHeapAddressSetHeapSizeGetHeapSize
This was changed in version 0.10 but was left out of the changelog.
(2010/06/23)
Activate function [SDK | System Updater]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.
SetAutoWhiteBalance function [SDK | System Updater]SetAutoWhiteBalance function to succeed when the white balance was not set to WHITE_BALANCE_NORMAL, even though it should have failed in this case.
This fix causes the SetAutoWhiteBalance function to behave as described in the Function Reference Manual.
SetNoiseFilter function [SDK | System Updater]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.
SetTrimmingParams and SetTrimmingParamsCenter functions [SDK|SystemUpdater]SetTrimmingParams and SetTrimmingParamsCenter functions that prevented trimming from the top line and that shifted the first trimmed line up by one line.
nn::camera::Activate function.
The camera LED turns off when active cameras are put into standby mode.
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.
nn::camera::PlayShutterSound function to play the shutter sound and momentarily turn off the camera LED.
Initialize function's return value [SDK | System Updater]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.
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:
(An error occurs if an SD Card has not been inserted.)
nn::dsp::LoadComponent function in the Function Reference Manual.
CreateSharedMemoryDeleteSharedMemoryCopyBetweenDSPWramAndSharedMemoryGetVirtualAddressGetPhysicalAddressConvertProcessAddressFromDSPGetSemaphoreEventHandleSetSemaphoreEventMask
version.h [SDK]version.h from being accessed within an OMakefile.
omake builds to generate binaries for TS boards, rather than for TEG2 boards, by default when FILTER is not specified.
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.
CCFLAGS_DEV_OPT build variable [SDK]CCFLAGS_DEV_OPT in the OMakefile.
CTR_APPTYPE build variable [SDK]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.
ExpHeapTemplate::Allocate member function [SDK]64, 128, -64, and -128 as specifiable alignment values in the ExpHeapTemplate::Allocate member function.
FrameHeap::Free [SDK]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.
HeapBase::HasAddress [SDK]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:" 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.
Previously, all entry names were recognized as uppercase characters based on the standard specification of FAT.
nngxAddVramDmaCommand function to issue DMA transfer commands [SDK]nngxAddVramDmaCommand function, which adds DMA transfer commands to the current command list.
(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.)
NN_GX_STATE_FRAMEBUFFER complete commands [SDK]0x06e and 0x11e) from being generated in the NN_GX_STATE_FRAMEBUFFER complete commands.
The following PICA register information was updated. See the document for further details.
dmp_Gas.autoAcc uniform.
SetMemAccessPrioMode function [SDK | System Updater]SetMemAccessPrioMode function, which sets the access priority of the CPU and/or GPU when they access main memory.
glReadPixels function [SDK]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.
nngxAdd3DCommand function [SDK]GLvoid* to const GLvoid*.
nngxValidateState function [SDK]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.
nngxValidateState function into extended error codes [SDK]nngxValidateState function from GL_INVALID_OPERATION to GL_ERROR_806C_DMP.
For more information on what causes errors during validation, see the System API Specifications.
(However, there are limitations on where display buffers can be placed. For details, see the nngxDisplayBufferStorage page in the Function Reference Manual.)
Internal address checks have been revised accordingly.
nngxClearFillCmdlist function to both clear and fill a command buffer at the same time [SDK]nngxClearFillCmdlist function, which not only clears the bound command list object but also initializes the command buffer with a specified 32-bit value.
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.
0x080 when the texture cache was cleared. Further testing revealed that these dummy commands are unnecessary, so they have been deleted.
Processing has also been added to clamp particles when the dmp_Partsys.time uniform has a value of 0 or less.
nngxFilterBlockImage function, which issues commands to apply a 2x2 antialias filter on block-formatted data while transferring it to a specified address.
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.
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.
PICA_CMD_SET_DISABLE_ALPHA_TESTPICA_CMD_SET_BLEND_DEFAULTPICA_CMD_SET_BLEND_NOTHINGPICA_CMD_SET_DISABLE_EARLY_DEPTH_TESTPICA_CMD_SET_GS_ATTR_IN_MAP_RESERVEDPICA_CMD_SET_GS_MISC_REG0_DISABLEPICA_CMD_SET_GS_MISC_REG0_SUBDIVISIONPICA_CMD_SET_GS_MISC_REG0_PARTICLEPICA_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.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.PICA_DATA_FRAG_LIGHT_ENV_LAYER_CONFIG{8-10} following their deletion from the specifications.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).
PICA_CMD_DATA_TEXTURE1_WRAP_FILTERPICA_CMD_DATA_TEXTURE2_WRAP_FILTER
gx_MacroReg.h, that puts all macro definitions for register addresses together.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.)
PICA_REG_INTERRUPT (0x10), the register that sets commands that generate interruptsPICA_REG_EARLY_DEPTH_CLEAR (0x63), the register with settings related to the early depth bufferPICA_DATA_* enumerated types (these types were previously incomplete) as well as new macro functions, PICA_CMD_DATA_* and PICA_CMD_SET_*.
Fixed known bugs in gx_MacroMisc.h, gx_MacroTexture.h, gx_MacroShader.h, and gx_MacroFragment.h.
For details on the formats for which mipmaps can be generated as well as size restrictions, see the DMPGL 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.
0x6f [SDK]glShaderBinary and glLinkProgram functions to stop unnecessarily operating on the invalid bit [17:17] in register 0x6f.
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.
$KMC_CTRHOSTIO/SDK directory.
SetMpTypeFlagsSetMpIndividualNumClearMpIndividualNumSetMpPanOrientationClearMpPanOrientationSetMpPanOverlapHClearMpPanOverlapHSetMpPanOverlapVClearMpPanOverlapVSetMpBaseViewpointNumClearMpBaseViewpointNumSetMpConvergenceAngleClearMpConvergenceAngleSetMpBaselineLengthClearMpBaselineLengthSetMpVerticalDivergenceClearMpVerticalDivergenceSetMpAxisDistanceXClearMpAxisDistanceXSetMpAxisDistanceYClearMpAxisDistanceYSetMpAxisDistanceZClearMpAxisDistanceZSetMpYawAngleClearMpYawAngleSetMpPitchAngleClearMpPitchAngleSetMpRollAngleClearMpRollAngleStartMpEncoderNextGetMpRegionsToBuildJpegData
SetThumbnailSizeSetInputBufferWidth
ExtractExifGetLastDateTimeGetLastSoftwarePointerGetLastSoftwareLengthGetLastTwlPhotoMakerNote
GetMpIndexGetMpNumberOfImagesGetMpImageUidListSizeGetMpImageUidListOffsetGetMpTotalFramesGetMpEntryGetMpImageTypeGetMpImageSizeGetMpImageOffsetGetMpDependentImage1EntryNumGetMpDependentImage2EntryNumGetMpAttributeGetMpIndividualNumGetMpPanOrientationGetMpPanOverlapHGetMpPanOverlapVGetMpBaseViewpointNumGetMpConvergenceAngleGetMpBaselineLengthGetMpVerticalDivergenceGetMpAxisDistanceXGetMpAxisDistanceYGetMpAxisDistanceZGetMpYawAngleGetMpPitchAngleGetMpRollAngle
GetLastOutputBufferWidth
SetThumbnailSize function so that it can set thumbnail output formats other than YUV422.
SetUserMakerNoteGetLastUserMakerNotePointerGetLastUserMakerNoteSizeGetLastTwlUserMakerNotePointerGetLastTwlUserMakerNoteSizeGetLastImageUid
SafeNormalize functions [SDK]
VEC2SafeNormalizeVEC2::SafeNormalizeVEC3SafeNormalizeVEC3::SafeNormalizeVEC4SafeNormalizeVEC4::SafeNormalize
float accuracy in the internal table used to find the sine and cosine.
Vector2, Vector3, and Vector4 vectors [SDK]
VEC{2,3,4}MultVEC{2,3,4}::operator*=(const VEC{2,3,4}&)
GetRow and GetColumn functions in math_Matrix23.h [SDK]GetRow and GetColumn functions in math_Matrix23.h.
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.
mic::FreeBuffer function [SDK]mic::FreeBuffer function to return an error if it is called during microphone sampling.
AllocateBuffer function. This process has been revised in CTR-SDK 0.10 so that the application allocates memory and SetBufferis used to set it to the microphone library.
The application must provide memory with a size and address that are 4-KB aligned.
Call the ResetBuffer function to stop using the memory set in the microphone library.
The RDT library is a high-level library located above the UDS library.
(Effects are still provisional, however, and are highly likely to change in the future.)
AppendWaveBuffer called on a Voice during ADPCM playback.
AllocVoice function [SDK]AllocVoice to return invalid results.
nn::snd::EncodeAdpcmData function, which is a DSP-ADPCM encoder, and the nn::snd::GetAdpcmOutputBufferSize function, which returns the size of the encoding results.
GetPlayPosition function [SDK]GetPlayPosition function to return an undefined value immediately after the AllocVoice function was called.
Mix bus data [SDK]nn::snd::GetMixedBusData function, which gets the MixBus final output information for DSP sounds.
MixParam constructor [SDK]MixParam structure.
nn::snd::Bcwav namespace for loading waveform (BCWAV) files generated by ctr_WaveConverter.
nn::snd::WaitForDspSync function to enter an endless loop [SDK]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.
nn::snd::WaveBuffer structure [SDK]const modifier to the pAdpcmContext member variable of the WaveBuffer structure.
nn::snd::Voice was in use [SDK]Voice class's AppendWaveBuffer function.
Voice.
nn::snd::GetHeadphoneStatus function, which gets the headphone connection state.
Voice when the PCM data buffer was small.
ctr_WaveConverter32.exe, a tool that converts waveform (WAV and AIFF) files into the DSP ADPCM format. For details, see ctr_WaveConverter.
Config tool features [SDK]Config tool.
A description of how to edit the user name has been added to the documentation.
DevMenu [SDK]DevMenu.
DevMenu to launch applications written to a CTR Card (by selecting "CARD" from the program list).DevMenu. (Start these applications from the program management screen.)
ctr_makecia32.exe [SDK]ctr_makecia32.exe, which generates CIA files.
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.
#if and #elif statements.#line.#pragma output_map to cause an error when texture3 is specified to it.
Note that the specifications for the nn::uds::Initialize function have changed.
nn::uds::Scan function.
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.
CreateNetwork and Scan functions following policy changes to local communication IDs [SDK]CreateNetwork and Scan functions, which do not set a local communication ID, were removed.
CalculateMatrices[Real] functions [SDK]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.
StereoCamera::CalculateMatrices[Real] functions [SDK]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.
StereoCamera::GetMaxParallax function [SDK]
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.
For details on what was updated, see the documentation.
$CTR_SDK/documents/TechnicalNotes/AboutULCDLibrary/AboutULCDLibrary.pdf
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.
SetDitheringWeightParam function [SDK | System Updater]SetDitheringWeightParam function's arguments from pass-by-value to pass-by-reference.
If the offset is omitted, this function will behave as it did with previous versions of the CTR-SDK.SetReceiving
None.
(2010/06/23)
AC_Connect function [System Updater]AC_Connect function:
AC_ConnectAsync function [System Updater]AC_ConnectAsync function to always fail if the same function had been used to connect and disconnect earlier.
AC_DebugSetNetworkSettingA [System Updater]DebugSetNetworkSetting1 function [System Updater]AC_DebugSetNetworkSetting1 function writes network settings from the SD Card to NAND.
Activate function [SDK | System Updater]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.
SetAutoWhiteBalance function [SDK | System Updater]SetAutoWhiteBalance function to succeed when the white balance was not set to WHITE_BALANCE_NORMAL, even though it should have failed in this case.
This fix causes the SetAutoWhiteBalance function to behave as described in the Function Reference Manual.
SetNoiseFilter function [SDK | System Updater]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.
SetTrimmingParams and SetTrimmingParamsCenter functions [SDK|SystemUpdater]SetTrimmingParams and SetTrimmingParamsCenter functions that prevented trimming from the top line and that shifted the first trimmed line up by one line.
nn::camera::Activate function.
The camera LED turns off when active cameras are put into standby mode.
nn::camera::PlayShutterSound function to play the shutter sound and momentarily turn off the camera LED.
Initialize function's return value [SDK | System Updater]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.
This fix also applies to attempts to write to a write-protected SD Card.
nn::fs::Directory::Read function [System Updater]nn::fs::Directory::Read function was run in a root directory with no entries.
sdmc: archives [SDK | System Updater]
This problem was fixed.
data:/... in the path.
Previously, all entry names were recognized as uppercase characters based on the standard specification of FAT.
extdata:/... in the path.
This active backlight control can be turned On/Off and the brightness level can be changed using the Config tool.
SetMemAccessPrioMode function [SDK | System Updater]SetMemAccessPrioMode function, which sets the access priority of the CPU and/or GPU when they access main memory.
(Note that this problem may still occur depending on the settings of the SetMemAccessPrioMode function, added in this version.)
Also overhauled API functions for using these certificates.
The wireless LED is lit when wireless is on, and blinks when a wireless signal is being sent.
Wait* functions with a timeout would not return [System Updater]nn::os::WaitObject::Wait* functions with a timeout.
This problem has been corrected.
Hold the Power Button down for at least 2 seconds to power off.
The system will power off 4 seconds after that.
nn::snd::GetHeadphoneStatus function, which gets the headphone connection state.
nn/net and below, but this dependency has been removed.
In line with this change, symbols beginning with NSOC can no longer be used.
nn/net remains for compatibility purposes, but will be deleted in future.
Audience mode [System Updater]CONNECT_AS_AUDIENCE with the ConnectNetwork function.
EjectAudience function [System Updater]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.
SetApplicationDataToBeacon and GetApplicationDataFromBeacon functions could not set or get data [System Updater]SetApplicationDataToBeacon function, or when getting data from a connected master beacon using the GetApplicationDataFromBeacon function.
SetDitheringWeightParam function [SDK | System Updater]SetDitheringWeightParam function's arguments from pass-by-value to pass-by-reference.
If the offset is omitted, this function will behave as it did with previous versions of the CTR-SDK.SetReceiving
(2010/06/23)
demo1) has been modified to read and write save data (data:/).
ScreenCapture sample and fixed a bug in it [Sample Demos]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.
u8 array) used when writing were not initialized.
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.
HostIO sample [Sample Demos]HostIO library to the $(KMC_CTRHOSTIO)/SDK directory.
basic sample demo, which uses the RDT library to perform very basic communication.
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.
ngc_simple demo, which performs a profanity check without specifying a region.
ubl_simple demo, which registers and checks author information.
Release - small build of uds/com_demo1 that prevents scans from working properly.camera/Simple demo freezes on rare occasions if the settings are changed by pressing the buttons repeatedly.(2010/05/26)
Seek functions of file control classes under nn::fs do not operate properly when nn::fs::POSITION_BASE_END is specified as an argument.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.nn::ac::CTR::DebugFlushNetworkSetting function does not operate correctly unless an SD Card is inserted.(2010/05/26)
None.
(2010/05/24)
Seek functions of file control classes under nn::fs do not operate properly when nn::fs::POSITION_BASE_END is specified as an argument.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.nn::ac::CTR::DebugFlushNetworkSetting function does not operate correctly unless an SD Card is inserted.(2010/05/24)
camera and y2r libraries would occasionally not return. This has been fixed.
There was a bug where calling the following functions in the nn::camera::SetReceivingnn::camera::SetReceivingAutonn::camera::SetReceivingRgbAutonn::y2r::SetReceivingnn::y2r::SetSendingYnn::y2r::SetSendingUnn::y2r::SetSendingVnn::y2r::SetSendingYuvcamera library would occasionally not capture. This has been fixed.
nn::camera::SetReceivingAutonn::camera::SetReceivingRgbAuto
None.
(2010/05/20)
nn::snd::Voice class was used for playback.
Seek functions of file control classes under nn::fs do not operate properly when nn::fs::POSITION_BASE_END is specified as an argument.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.nn::ac::CTR::DebugFlushNetworkSetting function does not operate correctly unless an SD Card is inserted.(2010/05/19)
SetVolume function (nn::snd::Voice) that caused noise to occur when there was a significant change in volume.
Seek functions of file control classes under nn::fs do not operate properly when nn::fs::POSITION_BASE_END is specified as an argument.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.nn::ac::CTR::DebugFlushNetworkSetting function does not operate correctly unless an SD Card is inserted.(2010/05/19)
When this bug occurs, execution halts with a red screen.
None.
(2010/05/12)
This is not linked by default and must be directly included if it is needed.
DMPGL20_system_API_specification.pdf
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.
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.
Seek functions of file control classes under nn::fs do not operate properly when nn::fs::POSITION_BASE_END is specified as an argument.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.nn::ac::CTR::DebugFlushNetworkSetting function does not operate correctly unless an SD Card is inserted.(2010/05/12)
None.
(2010/05/07)
The following functions were added.
GetStereoCameraCalibrationData functionGetParallaxOnChart functionGetStereoCameraCalibrationMatrix function
DMPGL20_load_pattern_setting.pdf.DMPGL20_programming_guide.pdf.DMPGL20_specification.pdf.DMPGL20_system_API_specification.pdf.VertexShaderReferenceManual.pdf.
(Behavior is undefined when a process causes an error.)
glFramebufferRenderbuffer [SDK]GL_COLOR_ATTACHMENT0).
(A GL_INVALID_OPERATION error is generated.)
glTexImage2D was called multiple times [SDK]glTexImage2D was called multiple times with only the type argument changed.
nngxGetCommandGenerationMode function [SDK]nngxSetCommandGenerationMode function).
glVertexAttrib*).
You can only use this controller if it is connected to a TS board when the system starts up.
You can get input values with the DebugPadReader class.
The analog sticks are calibrated at startup and when the following buttons are pressed simultaneously.
Do not touch the Slide Pad while it is being calibrated.
DevMenu [SDK]DevMenu tool, which can import and execute CIA files from an SD Card.
bind_symbol.
(#pragma bind_symbol(symbol name, register id))
These values have not been set in stone and may be fine-tuned later.
This was previously 65 mm and is now 62 mm.
This was previously 290 mm and is now 289 mm.
This was previously 29.49 mm and has been revised to 30.96 mm.
(The existing macros can also be used as before.)
NN_GX_DISPLAY0 corresponds to NN_GX_DISPLAY0_LEFTNN_GX_DISPLAY0_EXT corresponds to NN_GX_DISPLAY0_RIGHT
Seek functions of file control classes under nn::fs do not operate properly when nn::fs::POSITION_BASE_END is specified as an argument.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.nn::ac::CTR::DebugFlushNetworkSetting function does not operate correctly unless an SD Card is inserted.(2010/05/07)
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.
None.
(2010/05/07)
ScreenCapture sample demos [Sample Demos]ScreenCapture samples that output the content of the specified display buffer to an SD Card.
Release - small build of demo1 where triangles do not render to the upper screen.Release - small build of uds/com_demo1 that prevents scans from working properly.Release - small build of gx/Api/RenderToTexture that causes extremely slow rendering speeds.camera/Simple demo freezes on rare occasions if the settings are changed by pressing the buttons repeatedly.(2010/04/23)
The maximum number of allocatable voices has also been changed to 24.
ctr_makesimplecia32.exe [SDK]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.
nn::uds::Finalize function to finalize status update events [SDK]nn::uds::Finalize function has been revised so that it now finalizes status update events that were initialized using nn::uds::Initialize.
std::vector by the library [SDK]std::vector. The library has been revised to eliminate its use of std::vector.
Seek functions of file control classes under nn::fs do not operate properly when nn::fs::POSITION_BASE_END is specified as an argument.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.nn::ac::CTR::DebugFlushNetworkSetting function does not operate correctly unless an SD Card is inserted.(2010/04/23)
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.
None.
(2010/04/23)
lib_demo library used by the SampleDemos package. This bug caused only one of the display buffers to be shown for the right eye and the lower LCD.
Release - small build of demo1 where triangles do not render to the upper screen.Release - small build of uds/com_demo1 that prevents scans from working properly.Release - small build of gx/Api/RenderToTexture that causes extremely slow rendering speeds.camera/Simple demo freezes on rare occasions if the settings are changed by pressing the buttons repeatedly.(2010/04/14)
This library is not supported by CTR-SDK 0.9.
In line with this change, the following functions were changed to add a port argument.
With this added support, StartCaptureStopCaptureIsBusyClearBufferIsBufferErrorGetVsyncInterruptEventGetBufferErrorInterruptEventSetReceivingAutoSetReceivingRgbAutoStopReceivingAutoStopReceivingRgbAutoSetReceivingIsFinishedReceivingSetReceivingRgbIsFinishedReceivingRgbSetTransferLinesSetTransferBytesGetTransferBytesSetTrimmingIsTrimmingSetTrimmingParamsGetTrimmingParamsSetTrimmingParamsCenterSELECT_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.
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: NormalFLIP_HORIZONTAL: MirroredFLIP_VERTICAL: Flipped top to bottomFLIP_REVERSE: Mirrored, then flipped top to bottom
With this change, the Flip enumerated type matches the CAMERAFlip enumerated type used in the TWL-SDK.
GetMaxBytes and GetMaxLines functions previously equaled to the buffer size, but these are now half of the buffer size in order to help prevent buffer errors.
nn::camera::CTR::FrameRate [SDK]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.
CONTRAST_HIGH = CONTRAST_PATTERN_05CONTRAST_LOW = CONTRAST_PATTERN_07
CONTRAST_LOW = CONTRAST_PATTERN_05CONTRAST_HIGH = CONTRAST_PATTERN_07
SetReceivingAuto, SetReceivingRgbAuto, StopReceivingAuto, and StopReceivingRgbAuto functions to set and stop automatic reception of camera image data.
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.
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
nn::demo library class structure, and moved to the SampleDemos/common directory as the lib_demo library.
We plan to remove the previous demo library in the next release.
In this transition period, we have included just the demo library itself and the header files, and have deprecated the function reference and documentation.
Be aware of the following points when transitioning from the nn::demo to the lib_demo library.
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.
See the sample demo source code in the SampleDemos/gx directory for programming specifics.
dsp header files and moved to sub-directories named MPCore and Common.
--gnu option [SDK]--gnu option for Release and Development builds.
This --gnu option was not added for Debug builds.
fast builds. This was changed to instead prioritize speed during optimization.
A small build still optimizes for size.
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.
In line with this change, build times are now slightly longer.
Specifically, we added a --retain=calls compiler option for non-Release builds.
nn::fnd::DateTime class [SDK]nn::fnd::DateTime class required to handle date and time.
nn::fnd::DateTimeParameters [SDK]nn::fnd::DateTimeParameters as a structure that can represent an individual date and time value separate from the nn::fnd::DateTime class.
makerom to make file data 4-byte aligned.
nn::fnd::Directory class [SDK]nn::fs::Directory for scanning files and directories located in a directory.
nn::fnd::DirectoryEntry structure member size [SDK]nn::fs::DirectoryEntry structure's entrySize member type from a u32 to an s64.
NN_GX_STATE_OTHERS validation [SDK]glViewport function when validating with NN_GX_STATE_OTHERS specified for the command cache feature's state.
dmp_LightEnv.bumpRenorm, dmp_LightEnv.bumpMode [SDK]dmp_LightEnv.bumpRenorm is set to GL_FALSE and dmp_LightEnv.bumpMode is set to GL_LIGHT_ENV_BUMP_NOT_USED_DMP.
glFramebufferTexture2D function error check [SDK]glFramebufferTexture2D function has the data transfer pattern of having no copy in main memory and with the GPU accessing main memory.
nngxAdd3DCommand [SDK]nngxAdd3DCommand function to raise no error if the buffersize argument is a multiple of 4 when GL_TRUE is specified for the copycmd argument.
nngxCopyCmdlist function to allow copying to a command list that is waiting [SDK]nngxCopyCmdlist function would previously result in an error if the the nngxRunCmdlist function was called and the copy destination command list was in a waiting state unless the state was reset using the nngxClearCmdlist function.
Now this restriction is only effective during execution (while the GPU is actually processing the command).
Copying is allowed even while execution is halted with the nngxStopCmdlist function.
nngxCopyCmdlist function where command counters were not cleared after execution [SDK]nngxCopyCmdlist function.
The counter from previous completed executions would remain, such that the copied commands would not run. This bug has been fixed.
nngxReserveSwapBuffers function [SDK]nngxReserveSwapBuffers function, as the nngxSwapBuffers function has equivalent functionality.
nngxSwapBuffers function [SDK]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.
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.
glBufferData and other functions, and it included both whether data could be duplicated to the main memory and whether the GPU should access main memory or VRAM. Previously, it was required to explicitly specify both, but now it is also possible to specify only one or the other.
The unspecified pattern will default to the value described in the function reference and in $CTR_SDK/documents/DMPGL20/DMPGL20_load_pattern_setting.pdf.
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.
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.
Touching outside this border returns coordinates for inside the border.
In line with this change, the obtainable coordinates are now as follows.
In line with this change, the following has also changed.
HostSystemChannel class member functions Open/Close/Puts/Gets have been removed, and the other functions have been moved to the nn::hio::CTR namespace.HostFile and HostDirectory class member functions have had any reference to a HostSystemChannel instance removed from their arguments.
This library is not supported by CTR-SDK 0.9.
These functions are not supported by CTR-SDK 0.9.
MATH library.
VEC2IsZeroVEC3IsZeroVEC4IsZeroVEC4IsZeroWOneMTX22IsIdentityMTX33IsIdentityMTX34CameraRotate
SinFIdx, CosFIdx, SinCosFIdx functions [SDK]math API inline [SDK]math library to use the inline modifier by default for vector and matrix calculation functions.
MATH library's matrix and vector classes.
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)
nn::init::InitializeAllocator function [SDK]nn::init::InitializeAllocator function.
nninitStaticInit function [SDK]nninitStaticInit function was defined as a standard weak symbol function, but this was changed to match the NITRO and TWL-SDK specifications.
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.
LightSemaphore, LightEvent, and LightBarrier classes as high-speed synchronization mechanisms with no restrictions on how many can be used.
ADPCM sound source.
Aux bus and related features and parameters.
DSP cycle count.
nn::snd::MixParam structure format [SDK]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.
snd parameter to an appropriate value.
See the related function references for details.
snd header files and moved to sub-directories named MPCore and Common.
Voice::Stop or nn::snd::FreeVoice functions) would not work properly.
This bug has been fixed.
This library is not supported by CTR-SDK 0.9.
This library is not supported by CTR-SDK 0.9.
Config tool [SDK]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.
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.
SetDitheringWeightParams function where only patterns 0 and 1 of the 0-3 dithering weights could be set. All four are now usable.
If the offset is omitted, these functions will behave as they did with previous versions of the CTR-SDK.
SetSendingYSetSendingUSetSendingVSetSendingYuv
Seek functions of file control classes under nn::fs do not operate properly when nn::fs::POSITION_BASE_END is specified as an argument.nn::ac::CTR::DebugFlushNetworkSetting function does not operate correctly unless an SD Card is inserted.(2010/04/14)
This library is not supported by CTR-SDK 0.9.
In line with this change, the following functions were changed to add a port argument.
With this added support, StartCaptureStopCaptureIsBusyClearBufferIsBufferErrorGetVsyncInterruptEventGetBufferErrorInterruptEventSetReceivingAutoSetReceivingRgbAutoStopReceivingAutoStopReceivingRgbAutoSetReceivingIsFinishedReceivingSetReceivingRgbIsFinishedReceivingRgbSetTransferLinesSetTransferBytesGetTransferBytesSetTrimmingIsTrimmingSetTrimmingParamsGetTrimmingParamsSetTrimmingParamsCenterSELECT_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.
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: NormalFLIP_HORIZONTAL: MirroredFLIP_VERTICAL: Flipped top to bottomFLIP_REVERSE: Mirrored, then flipped top to bottom
With this change, the Flip enumerated type matches the CAMERAFlip enumerated type used in the TWL-SDK.
GetMaxBytes and GetMaxLines functions previously equaled to the buffer size, but these are now half of the buffer size in order to help prevent buffer errors.
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.
CONTRAST_HIGH = CONTRAST_PATTERN_05CONTRAST_LOW = CONTRAST_PATTERN_07
CONTRAST_LOW = CONTRAST_PATTERN_05CONTRAST_HIGH = CONTRAST_PATTERN_07
SetReceivingAuto, SetReceivingRgbAuto, StopReceivingAuto, and StopReceivingRgbAuto functions to set and stop automatic reception of camera image data.
nn::fs::Directory object also for the directories in ROM that can be accessed using "rom:".
nngxSwapBuffers function is called.
Reader function of TouchPanelReader [System Updater]TouchPanelReader class's Reader function could be invalid when called at the moment the touch panel is touched.
This library is not supported by CTR-SDK 0.9.
nn::os::Timer::ClearSignal function [System Updater]nn::os::Timer::ClearSignal function.
cci files [System Updater]cci files.
This problem was fixed.
nn::os::Timer::StartPeriodic or nn::os::Alarm::SetPeriodic functions would become longer than the specified value.
LightSemaphore, LightEvent, and LightBarrier classes as high-speed synchronization mechanisms with no restrictions on how many can be used.
This bug has been fixed.
This library is not supported by CTR-SDK 0.9.
This library is not supported by CTR-SDK 0.9.
If the offset is omitted, these functions will behave as they did with previous versions of the CTR-SDK.
SetSendingYSetSendingUSetSendingVSetSendingYuv
None.
(2010/04/14)
nn::demo library class structure, and moved to the SampleDemos/common directory as the lib_demo library.
In line with this change, the released function reference and documentation has been deprecated.
Be aware of the following points when transitioning from the nn::demo to the lib_demo library.
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.
See the sample demo source code in the SampleDemos/gx directory for programming specifics.
Draw3d demo that renders cuboids, spheres, and cylinders.FragmentLightingSimple demo that uses simple fragment lighting.VertexBuffer demo of how to specify the region where a vertex buffer object is allocated.RenderToTexture demo of rendering to a texture.DemoFont demo of font display.
gx directory.
gx/DMPGL directory.
LightingDistanceAtte (distance attenuation sample)LightingSpotAtte (spotlight sample)
SimplePlayer's wav sound source.
AuxBusSample demo showing delay effects (BusA) and sine wave synthesis (BusB) using AuxBus.
ulcd/Simple and ulcd/RealMode as ULCD sample demos.
demo1 so features were not mutually dependent, allowing each to operate independently.
using namespace declaration from sample demos [Sample Demos]using namespace declaration from sample demos, and now the demo uses explicit specification of namespaces that was previously omitted.
Release - small build of demo1 where triangles do not render to the upper screen.Release - small build of uds/com_demo1 that prevents scans from working properly.Release - small build of gx/Api/RenderToTexture that causes extremely slow rendering speeds.camera/Simple demo freezes on rare occasions if the settings are changed by pressing the buttons repeatedly.(2010/03/15)
nn::demo::RunCmdlistDone function [SDK]nngxWaitCmdlistDone function, which waits for the CPU to finish running a command list.
nngxReserveSwapBuffers function with the nngxSwapBuffers function [SDK | Sample Demos]nngxReserveSwapBuffers function has been replaced with the nngxSwapBuffers function in anticipation of its future elimination from the SDK.
DMPGL20_system_API_specification.pdfDMPGL20_specification.pdfDMPGL20_load_pattern_setting.pdfDMPGL20_statecache_specification.pdf (The name of this file has also been changed from "DMPGL20_commandcache_specification.pdf.")
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).
glBlend* functions [SDK]glBlendEquation and glBlendEquationSeparate functions.
glBufferData function [SDK]NULL(0) when NN_GX_MEM_FCRAM | GL_NO_COPY_FCRAM_DMP was specified for the glBufferData function.
glBufferSubData function [SDK]NN_GX_MEM_FCRAM | GL_NO_COPY_FCRAM_DMP was specified for the glBufferSubData function.
glBufferSubData function specifications [SDK]GL_INVALID_OPERATION error. The specifications have now been changed so that the cache for the specified partial region is flushed.
glLinkProgram function [SDK]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.
nngxGetCmdlistParameteri function [SDK]nngxGetCmdlistParameteri function: NN_GX_CMDLIST_TOP_BUFADDR and NN_GX_CMDLIST_BINDING.
nngxInitialize function [SDK]nngxInitialize function failed to allocate memory.
nngxReserveSwapBuffers function to be equivalent of the nngxSwapBuffers function [SDK]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.
nngxTransferRenderImage and nngxSwapBuffers functions [SDK]
As a result of the specification changes, the "command cache" feature has been renamed the "state cache," and the following functions have been added.
Note that the functions that relate to this feature may be changed in a future release.nngxStartCmdlistSavenngxStopCmdlistSavenngxUseSavedCmdlistnngxExportCmdlistnngxImportCmdlistnngxGetExportedCmdlistInfonngxCopyCmdlistnngxValidateStatenngxUpdateState
nngxDeleteCmdlist and nngxClearCmdlist functions to delete or clear command lists without generating errors, even if the command list still contains unexecuted commands.
nngxWaitCmdlistDone function, which waits until a command list finishes executing.
nngxEnableCmdlistCallback and nngxDisableCmdlistCallback functions on command lists that are still being executed.
nngx" prefix) from GL error codes to extended error codes.
#if defined(), #if !defined(), and #elif directives.-debug option is not specified, the input file's path is now deleted.nop instruction immediately after the end instruction during assembly to resolve a hardware bug.
None.
(2010/03/15)
nngxReserveSwapBuffers function with the nngxSwapBuffers function [SDK | Sample Demos]nngxReserveSwapBuffers function has been replaced with the nngxSwapBuffers function in anticipation of its future elimination from the SDK.
GasCessna sample [Sample Demos]
This has been changed to use an appropriate shader.
The Cessna model in the demo now uses shading.
GasColorSimple sample [Sample Demos]ProctexRandom sample [Sample Demos]
There was also an error in the method used to generate the noise lookup table.
These issues have been fixed.
(2010/02/22)
VEC3Transform function were the same [SDK]VEC3Transform function using CTR-SDK 0.8.1, the function would return an invalid result.
This problem has been corrected.
This change was actually made in version 0.8.1, but it was inadvertently left out of the changelog.
Voice::IsPlaying function [SDK]false, even after the end of the sound source data was reached.
nn::snd::Voice::GetPlayPosition function [SDK]nn::snd::Voice::GetPlayPosition function to return an unexpected value if it was called immediately after interrupt notification from the DSP.
None.
(2010/02/17)
Made a change so that
--no_bestdebug --inline --tailreorder options for Release builds.--bestdebug option for non-Release builds.__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.
The spec has been changed so that no reads will occur if the data has not been updated.
nn::snd::WaveBuffer function [SDK]bufferSize (which sets the buffer size using a member variable of the nn::snd::WaveBuffer structure) to sampleLength (which sets the sample length).
None.
(2010/02/17)
In line with the change described in demo1, demo2, snd/SimplePlayer, and snd/StreamPlayer.
None.
(2010/02/10)
StopDmaRecv[Rgb] function [SDK | System Updater]StopDmaRecv[Rgb] function explicitly, so this function has been removed.
SetAutoWhiteBalance function, which is used to enable/disable automatic white balance.
The following enumerated types were added following the addition of the functions listed above.SetDetailSize: Specifies the size (in pixels) of the images output from the camerasSetContrast: Changes the contrastLensCorrection: Changes the level of vignetting correction
ContrastLensCorrection
void:
InitializeStartCaptureStopCaptureClearBufferGetVsyncInterruptEventGetBufferErrorInterruptEventSetTransferLinesSetTrimmingSetTrimmingParamsGetTrimmingParamsSetTrimmingParamsCenterbool:
ActivateModuleFlipModule
IsBusyIsBufferErrorGetMaxLinesIsTrimming
New functions have also been added.
Any references to the
SetTransferLinesGetMaxLines
SetTransferBytes: Specifies the number of bytes to accumulate in the bufferGetTransferBytes: Gets the number of bytes currently accumulated in the bufferGetMaxBytes: Returns the maximum number of bytes that can be stored in the bufferGetTransferLines and GetBytesAtOnce functions that have been removed should be replaced with references to the GetTransferBytes function.
DmaRecv -> SetReceivingActivateModule -> ActivateSwitchContextModule -> SwitchContextSetExposureModule -> SetExposureSetWhiteBalanceModule -> SetWhiteBalanceSetSharpnessModule -> SetSharpnessSetAutoExposureModule -> SetAutoExposureIsAutoExposureModule -> IsAutoExposureIsAutoWhiteBalanceModule -> IsAutoWhiteBalanceSetSizeModule -> SetSizeSetFrameRateModule -> SetFrameRateSetEffectModule -> SetEffectSetPhotoMode -> SetPhotoMode
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.SetSharpness function
Changed the range from [-3, +5] to [-4, +5].
SetReceiving and SetReceivingRgb functions. These functions are used to receive camera data.
DrawFramework::GetFramebufferObject and GetRenderbufferObject functions [SDK]CreateSharedMemory function [SDK]LoadComponent function [SDK]LoadDefaultComponent function [SDK]LoadDefaultComponent function for loading components used by the SND library.
RecvData, RecvDataIsReady, SendData, and SendDataIsEmpty functions [SDK]RegisterInterruptEvents function [SDK]ExpHeap::Adjust function that specifies the direction in which the expanded heap should be reduced [SDK]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.
nn::fnd::DateTime class [SDK]nn::fnd::DateTime class to get the current date and time.
nn::fnd::ExpHeapBase::GetSizeOf function reference [SDK]nn::fnd::ExpHeapBase::GetSizeOf function reference page.
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.
nngx functions [SDK]nngx thread behavior.
nngxWaitVSync function was running.nngxInitialize function in a thread with a priority of zero would result in a freeze.
nngxInitialize function [SDK]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.
dmp_LightEnv.clampHighlights.GL_GAS_DMP format was used with the glCopyTexImage2D function.GL_GAS_DMP format with texture units 1 and 2.dmp_TexEnv[i].combineAlpha to GL_DOT3_RGBA.
glUniformsDMP and glGetUniformsDMP.0x7FFFFFFE.
sdterr instead of stdout.
gl and nngx APIs.
AccelerometerReader class [SDK]
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.
Pad class [SDK]const modifier to the GetStickClamp and GetStickClampMode member functions of the nn::hid::CTR::PadReader class.
AllocateBuffer and StartSampling Functions [SDK]AllocateBuffer and StartSampling functions are not two-byte aligned, or if the specified size exceeds the size of the buffer that has been allocated.
microphone function reference [SDK]NSTD Library [SDK]libnn_nstd.
The documentation for the following functions is now accessible from the list of OS-related C language wrapper functions:
nnosInitializeAlarmSystem
Deleted the following functions:nnosTimerSignalnnosThreadGetIdnnosThreadIsAlivennosThreadGetMainThreadnnosInitialize
nnosEventInitializeNoCreate
CriticalSection specifications [SDK]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.
This restriction has been lifted.
DESCRIPTION_OUT_OF_MEMORY errors to occur after repeated DMA system calls.
nn::os::StackMemoryBlock class [SDK]nn::os::StackMemoryBlock that describes regions where physical memory is not allocated.
nn::os::WaitObject::WaitAny [SDK]nn::os::WaitObject::WaitAny function.
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.
ctr_makerom [SDK | System Updater]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.
ctr_makerom [SDK]
For details, see $CTR_SDK/documents/tools/ctr_makerom.html.
StopDmaRecv and StopDmaSend functions [SDK | System Updater]StopDmaRecv or StopDmaSend* functions explicitly, so these functions have been removed.
individual YUV mode of the Y2R library.
SetStandardCoefficient function.
void:
InitializeSetInputFormatSetOutputFormatSetRotationSetBlockAlignmentSetSpacialDitheringSetTemporalDitheringSetTransEndInterruptGetTransEndEventDmaSendYDmaSendUDmaSendVDmaSendYuvDmaRecvRgbSetInputLineWidthSetInputLinesSetStandardCoefficientSetAlphaSetDitheringWeightParamsGetDitheringWeightParamsStartConversionStopConversion
GetInputFormatGetOutputFormatGetRotationGetBlockAlignmentGetSpacialDitheringGetTemporalSpacialDitheringGetTransEndInterruptIsDmaSendFinishedGetInputLineWidthGetInputLinesGetOutputFormatBytesGetOutputBlockSizeGetOutputImageSizeGetAlphaIsBusyConversion
IsFinishedSendingYIsFinishedSendingUIsFinishedSendingV
GetTemporalSpacialDithering -> GetTemporalDitheringSetTransEndInterrupt -> SetTransferEndInterruptGetTransEndInterrupt -> GetTransferEndInterruptGetTransEndEvent -> GetTransferEndEventDmaSendY -> SetSendingYDmaSendU -> SetSendingUDmaSendV -> SetSendingVDmaSendV -> SetSendingVDmaSendYuv -> SetSendingYuvIsDmaSendFinished -> IsFinishedSendingYuvDmaRecvRgb -> SetReceiving
SetOutputDreqGetOutputDreqSetInputDreqGetInputDreq
The functions that are no longer publicly available are listed below.
SetCoefficientParamsGetCoefficientParamsGetStandardCoefficientParams
None.
(2010/02/10)
Finalize function [System Updater]Finalize function to not operate properly.
StopDmaRecv[Rgb] function [SDK | System Updater]StopDmaRecv[Rgb] function explicitly, so this function has been removed.
SetAutoWhiteBalance function, which is used to enable/disable automatic white balance.
The following enumerated types were added following the addition of the functions listed above.SetDetailSize: Specifies the size (in pixels) of the images output from the camerasSetContrast: Changes the contrastLensCorrection: Changes the level of vignetting correction
ContrastLensCorrection
void:
InitializeStartCaptureStopCaptureClearBufferGetVsyncInterruptEventGetBufferErrorInterruptEventSetTransferLinesSetTrimmingSetTrimmingParamsGetTrimmingParamsSetTrimmingParamsCenterbool:
ActivateModuleFlipModule
IsBusyIsBufferErrorGetMaxLinesIsTrimming
New functions have also been added.
Any references to the
SetTransferLinesGetMaxLines
SetTransferBytes: Specifies the number of bytes to accumulate in the bufferGetTransferBytes: Gets the number of bytes currently accumulated in the bufferGetMaxBytes: Returns the maximum number of bytes that can be stored in the bufferGetTransferLines and GetBytesAtOnce functions that have been removed should be replaced with references to the GetTransferBytes function.
DmaRecv -> SetReceivingActivateModule -> ActivateSwitchContextModule -> SwitchContextSetExposureModule -> SetExposureSetWhiteBalanceModule -> SetWhiteBalanceSetSharpnessModule -> SetSharpnessSetAutoExposureModule -> SetAutoExposureIsAutoExposureModule -> IsAutoExposureIsAutoWhiteBalanceModule -> IsAutoWhiteBalanceSetSizeModule -> SetSizeSetFrameRateModule -> SetFrameRateSetEffectModule -> SetEffectSetPhotoMode -> SetPhotoMode
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.SetSharpness function
Changed the range from [-3, +5] to [-4, +5].
SetReceiving and SetReceivingRgb functions. These functions are used to receive camera data.
To do so, specify an sdmc archive and call the necessary functions in the FS library API.
Currently, these operations can only be done on archives stored on SD Cards.
Currently, files can only be written to archives stored on SD Cards.
Sampling of the accelerometer will occur every (approximately) 12 milliseconds.
These sampling periods are shorter than they were with previous versions of the SDK.
Finalize function [System Updater]Finalize function was called.
Thread::Start function [System Updater]Thread::Start function of CTR-SDK 0.7.
Note that the amount of memory that will be usable on the production hardware has not changed from 64 MB.
As a result of this bug fix, small (size-optimized) builds of the OS demos will no longer hang when run.
ctr_makerom [SDK | System Updater]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.
Finalize function [System Updater]Finalize function to not operate properly.
StopDmaRecv and StopDmaSend functions [SDK | System Updater]StopDmaRecv or StopDmaSend* functions explicitly, so these functions have been removed.
individual YUV mode of the Y2R library.
SetStandardCoefficient function.
void:
InitializeSetInputFormatSetOutputFormatSetRotationSetBlockAlignmentSetSpacialDitheringSetTemporalDitheringSetTransEndInterruptGetTransEndEventDmaSendYDmaSendUDmaSendVDmaSendYuvDmaRecvRgbSetInputLineWidthSetInputLinesSetStandardCoefficientSetAlphaSetDitheringWeightParamsGetDitheringWeightParamsStartConversionStopConversion
GetInputFormatGetOutputFormatGetRotationGetBlockAlignmentGetSpacialDitheringGetTemporalSpacialDitheringGetTransEndInterruptIsDmaSendFinishedGetInputLineWidthGetInputLinesGetOutputFormatBytesGetOutputBlockSizeGetOutputImageSizeGetAlphaIsBusyConversion
IsFinishedSendingYIsFinishedSendingUIsFinishedSendingV
GetTemporalSpacialDithering -> GetTemporalDitheringSetTransEndInterrupt -> SetTransferEndInterruptGetTransEndInterrupt -> GetTransferEndInterruptGetTransEndEvent -> GetTransferEndEventDmaSendY -> SetSendingYDmaSendU -> SetSendingUDmaSendV -> SetSendingVDmaSendV -> SetSendingVDmaSendYuv -> SetSendingYuvIsDmaSendFinished -> IsFinishedSendingYuvDmaRecvRgb -> SetReceiving
(2010/02/10)
demo1 and demo2) that retrieves and displays the current date and time.
GasCessna sample [Sample Demos]mov instructions for tangent values that are input as vertex data.
CommandListDouble demo that performs double-buffering on a command list for rendering.
os sample demo [Sample Demos]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.
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.
(2010/01/15)
None.
(2009/12/22)
crypto library [SDK]
Currently, only SHA-1, SHA-256, SHA-1 HMAC, and SHA-256 HMAC functions are supported.
nn::demo::CTR::DrawFrameworkExnn::demo::CTR::RenderDatann::demo::CTR::TextsRenderDatann::demo::CTR::TrianglesRenderDatann::demo::CTR::ColorFillProgramnn::demo::CTR::DecalTextureProgramnn::demo::CTR::FontProgramnn::demo::CTR::ProgramObject
$CTR_SDK/documents/TechnicalNotes/AboutDemoLibrary.pdf
DEMO_SetRenderingTarget function [SDK]DEMO_SetRenderingTarget function, glViewport is now called.
DrawFramework class [DrawFramework]DrawFramework class were changed:
ClearDisplay function.
DrawFramework::SwapBuffer function that specifies whether or not to wait for V-Sync before running [SDK]DrawFramework::SwapBuffer would always wait for a V-Sync, but the addition of the new isWaitVSync argument lets you specify whether or not to wait.
When this is set to true (the default value), the function waits for a V-Sync.
demo_MemoryManager.h [SDK]demo_MemoryManager.h was previously undisclosed, but it is now a public header.
nn::demo::DrawFramework::SwapBuffer into a virtual function [SDK]SwapBuffer function has been made into a virtual function for convenience when inheriting the DrawFramework class.
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.
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.
NN_ENDIAN macro [SDK]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
u32 and s32 [SDK]u32 and s32 from [unsigned|signed] long int to [unsigned|signed] int.
#define, #if, and #end) within assembly files.
OMakefiles for the libraries [SDK]OMakefiles for the libraries have been deleted in order to avoid confusion.
nn::fnd::ExpHeap class [SDK]nn::fnd::ExpHeap class to erroneously determine that the class was in an invalid state.
nn::fnd::FrameHeap class [SDK]
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.
Allocator classes to the class templates of nn::fnd::ExpHeapTemplate and nn::fnd::UnitHeapTemplate. These allocator classes share the same interface.
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 heapsnn::fnd::HeapBase::Destroy, which destroys heaps that have been created within other heaps
ExpHeap, FrameHeap, and UnitHeap):
Dump function for displaying the content of the heap.ExpHeap::Adjust function for shrinking the size of the expanded heap region.
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.
nn::fnd::HeapBase::FindHeap function, which is used to find the heap associated with the memory block at the specified address.
nn::fs::FileReader class the ability to use the char* type to specify path names as ASCII strings [SDK]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.
DMPGL sample [SDK]gl* and nngx*).
The format of these pages is provisional and will be overhauled in future versions of the SDK.
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.glCopyTexImage2D or glCopyTexSubImage2D functions, the error GL_INVALID_VALUE would occur instead of the expected value of GL_INVALID_OPERATION. This has been corrected.
GL_DEPTH_STENCIL_ATTACHMENT_DMP to GL_DEPTH_STENCIL_ATTACHMENTglRenderBlockModeDMP function)glGet function now supports GL_TEXTURE_COLLECTION_BINDING_DMP
dmp_Texture[2].texcoord and dmp_Texture[3].texcoordGL_TEXTURE2
VEC-type arrays can now be set using both the glUniformf and glUniformMatrixf functionsGL_TRUE can now be specified for the transpose argument to the glUniformMatrix functionVEC-type array by adding an offset to the location value obtained using the glGetUniformLocation function.GL_REPEAT to GL_SYMMETRICAL_REPEAT_DMP for the reserved uniforms dmp_Texture[3].ptClampU and dmp_Texture[3].ptClampVGL_MIRRORED_REPEAT_DMP to GL_MIRRORED_REPEATGL_TEXTURE3 to the values that can be set for the reserved uniform dmp_LightEnv.bumpSelectorGL_TEXTURE1, GL_TEXTURE2, and GL_TEXTURE3 to the values that can be set for the reserved uniform dmp_LightEnv.shadowSelector
LUT texture are now considered to be detached, and will no longer cause errorsglTexSubImage1D functionGL_COLOR_ATTACHMENT0 is provided as the second argument to the glFramebufferRenderbuffer function (attachment).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)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.
#pragma output_map(texture3, oN) from the specifications)#pragma bind_symbol to set multiple input registers is now treated as an errormova instruction
DMPGL20_system_API_specification.pdfDMPGL20_commandcache_specification.pdf
InitializeHid/FinalizeHid to Initialize/Finalize.
Pressing SELECT is therefore now treated as presses of START.
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.
Pad class [SDK]const modifier to the GetStickClamp and GetStickClampMode member functions of the nn::hid::CTR::PadReader class.
AccelerometerReader class for using the accelerometer.
For example, KEY_LEFT was changed to BUTTON_LEFT, and PLUS_KEY_MASK was changed to PLUS_BUTTON_MASK.
MTX44Perspective[Deg|Rad] functions [SDK]MTX44PerspectiveDeg and MTX44PerspectiveRad functions.
The MTX44Perspective function has been retained as an alternate name for the "degree" version for compatibility.
Set functions to the Vector* classes [SDK]Set method to the Vector2, Vector3, and Vector4 classes.
nn::math::RunCmdlistDone function [SDK]DistSqPoint3ToPolyline3 function to select the shortest distance.
The documentation for the following functions is now accessible from the list of OS-related C language wrapper functions:
nnosInitializeAlarmSystem Function
Deleted the following functions:nnosTimerSignal FunctionnnosThreadGetId FunctionnnosThreadIsAlive FunctionnnosThreadGetMainThread FunctionnnosInitialize Function
nnosEventInitializeNoCreate Function
nn::fnd::FileReader class was not set as no copy [SDK]nn::fnd::FileReader class, which is supposed to be "no copy," but was not in previous versions of the SDK. This has been fixed.
nn::os::HandleObject::Finalize function to protected [SDK]nn::os::HandleObject::Finalize function to protected.
nn::os::SafeBlockingQueue class [SDK]nn::os::SafeBlockingQueue class, which implements a blocking queue, using mutexes to ensure exclusive access.
nn::os::StackBuffer class template [SDK]nn::os::StackBuffer class template to be up to 8 bytes more than expected.
nn::os::Thread::GetMainThread function [SDK]nn::os::Thread::GetMainThread function, which obtains the main thread object, to the nn::os::Thread class.
nn::os::Tick::ToTimeSpan function [SDK]nn::os::Tick::ToTimeSpan function to return incorrect results.
nnosAlarmCanSet function [SDK]nnosAlarmCanSet function, which acts as a C-language wrapper for the nn::os::Alarm::CanSet function.
nnosInitializeDeviceMemory and nnosGetDeviceMemoryAddress functions [SDK]nnosInitializeDeviceMemory and nnosGetDeviceMemoryAddress functions, which are used to perform operations on the device's memory from C.
This version check is performed when the program is started. If the versions do not match, execution of the program halts.
nn::os::Thread class (including the Start function) have been revised to allow more flexibility in the values that can be accepted.
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.
nn::os::LockPolicy class, which is used to specify the lock policy for implementing thread safety.
ctr_makerom [SDK]
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.
(2009/12/22)
nn::fs::FileReader were closed. This bug caused a limit on the number of files that could be opened.
It is now possible to load static regions up to 31 MB in size.
This version check is performed when the program is started. If the versions do not match, execution of the program halts.
PARTNER-CTR/S will need to be updated after the 2009/11/25 version.
This makes it possible to attach the debugger monitor to processes that support multiple cores.
Thread::Start function sometimes causes a kernel panic with the following output:(2009/12/22)
demo1) has been modified to use the camera.
Draw2d demo (which draws 2D geometric shapes) and the DrawTexture2d demo (which performs texture mapping on polygons).
glUniformMatrix functions [Sample Demos]glUniformMatrix** functions.
SampleDemos/gx.
The code for vertex shaders is now stored in the shaders directory, and the group of files loaded into ROMFS is now stored in the romfiles directory.
SampleDemos/demo1" and "SampleDemos/demo2" were moved to the shaders directory.
The HostRoot was also changed to the romfiles directory so that the shader binaries will be created in the romfiles directory during builds.
demo1 and demo2).
demo1 and demo2) now use the microphone.
None.
CONFIDENTIAL