NN_COMPILER_RVCT_VERSION_MINOR macro [SDK]GR library [SDK]gr::MakeDisableAllCommand Function Reference [SDK]MTX33Mult function [SDK]AutoStack would not be released in ManagedThread [SDK]EncodeAdpcmData function [SDK]LightingSample2 sample demo [Sample Demos](2012/12/07)
NN_COMPILER_RVCT_VERSION_MINOR macro [SDK]NN_COMPILER_RVCT_VERSION_MINOR macro was deleted.
gd library.
This has now been revised such that the ResultInvalidTextureFormat error is returned when an RGB888 format texture is specified in the gd::TextureStage::CreateTextureCube function.
GR library [SDK]#pragma gs_main_vertex_num in the assembly code of the geometry shader for commands generated by the gr::Shader class was not reflected correctly. This has been fixed.
When a shader binary is created using #pragma gs_patch_size instead to avoid this bug, note that compatibility will be lost.
gr::MakeDisableAllCommand Function Reference [SDK]MakeDisableAllCommand function noted that Scissor-related settings would be disabled, but they were not actually disabled.
This behavior has been made a specification, and the Function Reference description revised.
DMPGL20_specification.pdf
GL_CLAMP_TO_ZERO_DMP, have been revisedVertexShaderReferenceManual.pdf
DMPGL20_programming_guide.pdf
GL_CLAMP_TO_ZERO_DMP, has been revisedGL_INTERPOLATE
MTX33Mult function [SDK]MTX33Mult function (a template function), which would result in a build error when instantiating with multiple types. This has been fixed.
AutoStack would not be released in ManagedThread [SDK]InitializeUsingAutoStack or TryInitializeUsingAutoStack was used with nn::os::ManagedThread. This has been fixed.
EncodeAdpcmData function [SDK]nn::snd::EncodeAdpcmData function. This has been fixed.
LightingSample demo, you will see a phenomenon in which the area where light shines flashes in cycles.FontConverter is sometimes not able to convert Windows fonts correctly if the following settings have been made.(2012/12/07)
LightingSample2 sample demo [Sample Demos]None.
(2012/11/14)
This change has no impact on application development.
zlib symbol caused a collision [SDK]ExceptionScreen depended on ManagedThread [SDK]RasterizerStage::SetScissor function was not applied correctly [SDK]gd::VertexInputStage::KickDraw function [SDK]IsBufferInUse of the DspFxDelay and DspFxReverb would occasionally not work [SDK]ctr_TexturePackage32 where an error would occur when you specify the maximum miplevel [SDK]snd::Voice [SDK]FragDisk [SDK]cro build option [SDK]cro was incorrect [SDK]DirectPrint [SDK]nn::fs::VerifySaveDataSecureValueLoosely function [SDK]SaveDataFiler [SDK]makebanner [SDK]gx/Gr/CommandBufferJump sample demo [Sample Demos]GetTrimmingParam are now the same as set values [SDK]SecureUncompressBLZ function's failure to decompress data correctly [SDK]Result search field [SDK]gr::MakeDisableAllCommand function [SDK]gx Raw API [SDK]nngxGetInitializationCommand function [SDK]nngxValidateState function [SDK]IsDaemonStartEnable function to check whether the wireless switch is on so daemon can run [SDK]SendTo function when a port number reserved by the system is specified [SDK]Child_0 and Child_1 [Sample Demos]gd sample RenderToTarget when vertex buffer placed in main memory [Sample Demos]example demo [Sample Demos]nn::applet::RestartApplication operating conditions to references [SDK]DirectPrint class [SDK]ExceptionScreen class [SDK]NN_DBG_PRINT_RESULT macro [SDK]ResultInvalidMediaType from the Initialize function return values [SDK]pNotice to false in the Initialize function reference [SDK]StartFakeSession function returns ResultDeniedFromServer [SDK]cro build procedure [SDK]0x6f[17]) write commands [SDK]nngxValidateState function [SDK]AccelerometerReader::ConvertToAcceleration function [SDK]nn::news::CTR::user::IsFromNewsList function [SDK | Sample Demos]GetCodeRegionAddress/Size functions [SDK]ManagedThread class [SDK]SetUserExceptionHandler can now be called from nninitStartUp [SDK]nn::os::Initialize function calls [SDK]ASSERT for when using default memory management mechanism [SDK]Module::Enumerate function [SDK]Module::GetRegionInfo function [SDK]Voice::AppendWaveBuffer [SDK]TexturePackager ETC encoding [SDK]makebanner [SDK]makecia [SDK]makecia [SDK]-i CONTENTS_PATH:INDEX to makecia options [SDK]makecro to end abnormally when the -p option was used [SDK]makerom bug [SDK]ResultInvalidData to the GetNodeInformationList function's return values [SDK]Scan function's scan results [SDK]exbanner demo [Sample Demos]nn::news::CTR::user::IsFromNewsList function [SDK | Sample Demos]Initialize member function in nn::fnd::ExpHeap [Sample Demos]snd volume operations [SDK]snd::DspFxReverb::Param structure's m_UseHpfDamping member was set to true [SDK]ShaderLite class's SetupBinary function [SDK]makebanner [SDK]CriticalSection and Mutex demos [Sample Demos]snd/OutputCapture demo [Sample Demos]ProcessHomeButton function would cause processing to halt [SDK]MessageBox::GetMessageIdPair function's error checking [SDK].. in CTR_BANNER_SPEC would cause an error [SDK]nn.h and cleaned up include statements [SDK]nn::os::Tick and nn::fnd::DateTime::GetNow cannot be used together, and added a description of precision [SDK]WideTextWriter [SDK]flush parameter of the Write functions [SDK]fs functions are now thread-safe [SDK]WBuffer class's constructor and for the MakeCommand function [SDK]Gd: texture cache would not be cleared properly [SDK]Gd: producing unexpected ResultNoTextureBound error [SDK]Gd: that had been left for backwards compatibility [SDK]gd::System::Debug::SetFilter function [SDK]nngxAddL2BTransferCommand function [SDK]nngxGetIsInitialized function [SDK]nngxGetIsRunning function [SDK]nngxRunCmdlistByID function [SDK]h [SDK]HostFile::Open function to support paths containing environment variables [SDK]MTX*Translate functions [SDK]Light functions with timeouts [SDK | System Updater]FxReverb class, added feature to specify damping filter type [SDK]AccessControlInfo/Debug [SDK]BossLotcheckTool [SDK]CardDevice parameter specified in the RSF file [SDK]BackupMemoryType parameter in the RSF file into SaveDataSize [SDK]ctr_loadrun32 [SDK]makebanner [SDK]makecia [SDK]ScanResultReader::Merge function [SDK]FORCE_UNICAST option from SendTo function [SDK]TemporaryID [SDK]Result values [SDK]Finalize function during calls to those functions would cause a fatal error [SDK]nn::fs::MountExtSaveData function causing creation of a 3DS directory [System Updater]ResultWriteProtected [System Updater]http::Finalize function during HTTP communication [System Updater]Light functions with timeouts [SDK | System Updater]TARGET ERROR: to also display an error description [System Updater]OUT_OF_MEMORY error [System Updater]Finalize function [System Updater]SimpleAddress [System Updater]HIO-Daemon [System Updater]Initialize function [System Updater]GetLinkLevel after stopping communication would never return a link level of 0 [System Updater]Simple demo [Sample Demos]FakeClientWithname and ServerWithName classes [SDK]Gd/ProfilingSample sample [Sample Demos]hio demo [Sample Demos]AppletMsetScene enumerated type [SDK]MessageBox::GetMessageIdPair function [SDK]FakeClientWithName and ServerWithName classes [SDK]gd::System::AddDummyCommands function [SDK]gd::System::Debug [SDK]gd::System::FlushDirtyModules function [SDK]gd::System::StartRecordingPackets function [SDK]http_Result.h public [SDK]FriendAddTool [SDK]loadrun [SDK]loadrun [SDK]makebanner [SDK]makerom [SDK]ctr_GxCommandAnalyzer, the command buffer parsing tool [SDK]ScanResultReader::Merge function [SDK]Initialize function [SDK]coppacs sample demos [Sample Demos]SendThread does not terminate when a simple network is disconnected and when wireless mode is off [Sample Demos]Initialize function that does not specify an allocator [SDK]crypto::Initialize and crypto::Finalize [SDK]FakeClient::StartScan function, so that it will always specify a unique ID [SDK]SHBIN_INSTALL_ROOT path [SDK]index.html table of contents [SDK]CTRSDK_ROOT environmental variable [SDK]gr::Vertex::MakeEnableAttrCommand function, when using the interleave array [SDK]ShaderLite class to lower the amount of consumer memory [SDK]nngxFilterBlockImage function [SDK]nngxFlush3DCommandNoCacheFlush function [SDK]nngxWaitCmdlistDone function is enabled even in Release builds [SDK]HostIO library manufactured by IS [SDK]nninitStartUp [SDK]PostNewsUrl function [SDK | System Updater | Sample Demos]nnroUnresolved in static modules [SDK]BossLotcheckTool [SDK]DevMenu private [SDK]TwlNandFiler [SDK]WaveCodecCtr.dll public [SDK]ctr_compress tool [SDK]ctr_loadrun to pass program parameters to CTR applications [SDK]ctr_loadrun [SDK]ctr_makerom's -D option [SDK]CreateNetwork function to be able to set arbitrary data to a beacon [SDK]PostNewsUrl function [SDK | System Updater | Sample Demos]Config tool [System Updater]HostIO in DevMenu [System Updater]DevMenu [System Updater]DevMenu [System Updater]AppRecommendedFlow demo [Sample Demos]hio demo [Sample Demos]PostNewsUrl function [SDK | System Updater | Sample Demos]simple demo and added the plugin demo [Sample Demos]AdpcmEncDec sample demo [Sample Demos]CreateNetwork function was called [System Updater]uds::Initialize [System Updater]PrintResult [SDK]DspEffect's IsBufferInUse function to always return true [SDK]Config tool [SDK | System Updater]Config tool [SDK | System Updater]DestroyEndpoint function was called [System Updater]GetLastErrorCode function is not guaranteed to have a particular default return value [SDK]Config tool that allows it to display serial numbers [SDK | System Updater]Config tool that allows it to display serial numbers [SDK | System Updater]swi execution in debugger [System Updater]crypto initialization [SDK]Result [SDK]CreateNetwork function would cause a fatal error [System Updater]ConnectNetwork function in SPECTATOR would cause a fatal error [System Updater]Register Friend: Local [System Updater]GetStartupArgument function [SDK]applet::ReceiveDeliverArg function has been made private [SDK]include statements to boss.h [SDK]SecureUncompressBLZ function to return an error for valid compressed data [SDK]UncompressBLZ and SecureUncompressBLZ functions [SDK]Initialize function to check an Event's Handle [SDK]bool pIsShowPlayedGame from the parameter list of the GetMyPreference function [SDK]IsMyPreferenceValid function to determine whether the user has specified a publication setting [SDK]MakePostVertexCacheEntryTypeCommand function [SDK]gd::System::StartRecordingPackets function [SDK]nngxFlush3DCommandPartially function [SDK]hio library's return values when an Intelligent Systems debugger is used [SDK]hio library functions [SDK]PrintResult to show "Unknown" as the description [SDK]CountNumbers function [SDK]CriticalSection to be more computationally expensive than necessary [SDK]Light* synchronization classes so that they cannot be copied [SDK]LightEvent from waiting [SDK]std::srand function to be called implicitly [SDK]FxReverb damping bug [SDK]GetMasterVolume function [SDK]Config tool to set the country [SDK | System Updater]SaveDataFiler feature that imports and exports raw user save data [SDK]ctr_compress that prevented the -A option from working properly [SDK]ctr_compress when the compressed file grows larger than the original file [SDK]DemoIndex to ctr_makerom [SDK]makebanner [SDK]SaveDataFiler feature that destroys individual files in user save data and expanded save data [SDK]Awake notification from being sent when the system recovered from Sleep Mode [System Updater]HTTP_ERROR_CONN_STATUS will now be retried [System Updater]X-BOSS-Closed field when a task's state was TASK_RETRY before it accessed the server [System Updater]TASK_RETRY before it accessed the server [System Updater]Result values that are given when file access validation fails [System Updater]Read and Finalize functions from returning [System Updater]http::Finalize and the process of cleaning up POST memory synchronous [System Updater]http::Finalize is called before all communication is finalized [System Updater]Finalize was not called [System Updater]Config tool to set the country [SDK | System Updater]ResultWirelessOff is now returned immediately after the system enters wireless-disabled mode [System Updater]GraphicsDrawing class [Sample Demos]CommandBufferJump sample demo [Sample Demos]Framework for sample demos [Sample Demos]StartRecordingPackets function to the gx/Gd/DrawPrimitiveScene sample demo [Sample Demos]include statements from http and ssl BOSS header files [SDK]DataStore) task [SDK | System Updater]nn::dlp::CTR::EventDesc [SDK]ccl builds would fail [SDK]enc library [SDK | Sample Demos]nn::friends::CTR::GetFriendScreenName [SDK]gd library [SDK]gd function parameter names [SDK]gd::Light::SourceType enumerated type, changed SOURCE_TYPE_PUNCTUAL to SOURCE_TYPE_POINT [SDK]gd::RasterizerStage functions to be immediate functions [SDK]gd::System::Finalize about freeing memory [SDK]nngxUseSavedCmdlist and nngxUseSavedCmdlistNoCacheFlush functions [SDK]http_Initialize.h [SDK]AutoStackManager [SDK]InitializeDeviceMemory [SDK]ASSERT to InitializeMemoryBlock to test for multiple calls [SDK]StackMemory [SDK]PANIC halt would occur when receiving a connection request when the Receiver state is FINISHED [SDK]GetSizeInfo to allow using only part of cro [SDK]FxReverb::SetParam [SDK]STATUS_DONE without being played when hitting a buffer underrun during stream playback [SDK]BannerModelConverter [SDK]BossLotcheckTool [SDK]dlp debug settings of the Config tool [SDK]Config tool features [SDK]TexturePackager tool [SDK]CardDevices would not be properly reflected in ccl [SDK]ccl build would error out when ROMFS was not specified [SDK]makebanner [SDK]Card2 support to makerom [SDK]SaveDataFiler to allow for the per-file deletion of user save data and expanded save data [SDK]ctr_makerom would error out in certain environments [SDK]NetworkDescription comparison function [SDK]nn::uds::CTR::NO_WAIT [SDK]DataStore) task [SDK | System Updater]Server::CloseSessions [System Updater]cci drop execution [System Updater]SendTo with NO_WAIT [System Updater]demo1 [Sample Demos]enc library [SDK | Sample Demos]CommandBufferJump sample [Sample Demos]Gr [Sample Demos]LightingStage settings for FogAndLight in the gd library sample [Sample Demos]GetParentalControlPinCode function [SDK]GetCompressionHeader function private [SDK]ENABLE_CPP_EXCEPTION variable [SDK]omake_deprecated [SDK]RequiredSize (NAND capacity) display for Download Play child programs [SDK]MakeUniformCommandVS and MakeUniformCommandVS functions [SDK]gd library due to different resolutions in DepthStencilTarget and RenderTarget under certain conditions [SDK]gd::LightingStage when only ShadowAlpha is enabled [SDK]gd::LightingStage::GlobalColorAmbient [SDK]gd::OutputStage::SetDepthRangeMode would not be applied correctly [SDK]gd::ResultInvalidShaderUniformName and gd::ResultInvalidShaderUniform module names [SDK]gd::System::DrawImmediate and gd::System::DrawImmediateIndexed functions [SDK]gd::TextureStage::SetShadowZBias function [SDK]InputLayout in the gd::VertexInputStage::CreateInputLayout function [SDK]nngxAddJumpCommand and nngxAddSubroutineCommand functions [SDK]nngxMoveCommandbufferPointer function [SDK]nngxUseSavedCmdlistNoCacheFlush function [SDK]Read functions [SDK]bool for VEC, MTX, QUAT [SDK]explicit modifier to constructors [SDK]Voice playback might be delayed when specifying NODROP [SDK]SetVoiceDropMode function [SDK]Voice::SetPriority function [SDK]WaitForDspSync that could cause buffer overflow [SDK]BannerModelConverter [SDK]Config tool features [SDK]Config tool setting items [SDK]Category in RSF file [SDK]ctrTexturePackager ID field [SDK]ctr_WaveConverter related to loading of certain .wav files [SDK]ctr_makerom to suppress warnings [SDK]ctr_makerom support for download application demos, added DESC for download application demos [SDK]TPL library for Windows [SDK]Attach and Receive functions [SDK]ConnectNetwork and SendTo functions [SDK]Initialize function [SDK]GetMacAddress function [SDK]scrambledLocalFriendCode member of NodeInformation structure [SDK]Initialize function would not return [System Updater]Activate while opening and closing the system returns a success without actually doing anything [System Updater]CommandBufferJump sample [Sample Demos]ShadowKnot sample demo to Gd [Sample Demos]shadowZScale uniform from ShadowSimple sample [Sample Demos]Gd samples [Sample Demos]mask value to ngxUseSavedCmdlist [Sample Demos]RSF file used in hio demo [Sample Demos]AssignGpuRight and ReleaseGpuRight functions from public view [SDK]TaskError::GetProperty function.GetStereoCameraCalibrationMatrix* functions [SDK]InitializeNN_USE_MAKECCI [SDK]UnitHeap::GetAlignment [SDK]4MbitVerificationFailed.bin was not returning the expected result [SDK]MakeUniformCommandVS and MakeUniformCommand.zBias when using the RenderState::ShadowMap::MakeTextureCommand function [SDK]RenderState::ShadowMap::zScale [SDK]Vertex::MakeDrawCommand [SDK]gr::Shadow [SDK]SetInternalDriverPrioMode function [SDK]gd::ShaderStage::SetFloatConstantBuffer function regarding registers specified as "Unmanaged" [SDK]gd::Finalize function [SDK]gd::InputLayout shader [SDK]gd::InputLayout [SDK]UnmapVertexBufferResource, UnmapTexture2DResource function in the gd::Resource class [SDK]gd::Resource::Create* functions [SDK]gd::Resource::Helper::GenerateMipMapsCPU function [SDK]gd::TextureStage projection textures [SDK]ptMinFilter when using the gd::TextureStage::SetDefault function [SDK]GetRegisterCount and GetManagedLocation functions in the gd::UniformLocation class [SDK]HostFile::Exists [SDK]SerialChannel::GetWritableSize function [SDK]SetSocketBufferSize function [SDK]calloc/realloc [SDK]ntsd library [SDK]Alarm::TryInitialize function [SDK]StackMemory::TryInitialize function [SDK]DecodeAdpcmData [SDK]Voice::DeleteWaveBuffer function [SDK]Voice::UpdateWaveBuffer function [SDK]AllocVoice data abort would occur if an invalid call to FreeVoice was made [SDK]SaveDataFiler [SDK]UniqueId is not set [SDK]ctr_WaveConverter [SDK]ctr_compress [SDK].makebanner [SDK]UniqueId is used in trial code [SDK]CreateNetwork function [SDK]SetPowerSaveMode function [SDK]GetCoefficientForParallax function [SDK]IsBusyConversion function no longer returns true when Y2R conversion hangs up [SDK]ResultSuccess from the function reference [SDK]nn::ac::Connect would be unintentionally canceled [System Updater]gd sample demos [Sample Demos]shadowZScale [Sample Demos]SetSocketBufferSize [System Updater]PrepareToCloseApplication [SDK]Awake callback from being invoked when the system entered Sleep Mode immediately after a library applet was launched [System Updater]SystemMode dev1 usable, with some restrictions, on development hardware [System Updater]SendTo function to return non-UDS errors [System Updater]gd::ForceDirty function [SDK]gd::ShaderStage [SDK]GetForbiddenArea function [SDK]1MbitVerificationFailed.bin [SDK]G_ALTASK STOPPED could not be specified in a policy list [System Updater]com_demo1 gave it another master name [Sample Demos]HostFile::Read [SDK]Config tool [SDK]SaveDataFiler [SDK]makecia failure to create CIA [SDK]CancelLibraryApplet when sleep is allowed would cause a deadlock [System Updater]X-BOSS-Digest value [System Updater]CONNECTION_LOST was always given as reason for client disconnection when DestroyNetwork called [System Updater]DevMenu firmware version [SDK]SaveDataFiler [SDK]FATAL ERROR occurs [System Updater]Finalize would cause a deadlock [System Updater]applet::ReceiveDeliverArg function [SDK]nn::applet::CTR::ReceiveDeliverArg, which allows the buffer region size to be specified [SDK | System Updater]FragmentLight::MakeDisableCommand [SDK]RenderState::ShadowMap::MakeCommand [SDK]RenderState::StencilTest::maskOp to "0xff" [SDK]RenderState::FBAccess::MakeCommand [SDK]GetAxisRotationMatrix function [SDK]HostFile::Read [SDK]makebanner [SDK]CreateLocalCommunicationId function [SDK | Sample Demos]nn::applet::CTR::ReceiveDeliverArg, which allows the buffer region size to be specified [SDK | System Updater]Initialize when country code not set [System Updater]CreateLocalCommunicationId function [SDK | Sample Demos]AP_TYPE_FREESPOT [SDK | System Updater]version.h [SDK]GetFriendKeyList to return ResultTooLarge [SDK]nngxInitialize [SDK]Finalize [SDK]nn::os::Thread::[Try]StartUsingAutoStack [SDK]EncodeAdpcmData [SDK]biquad filter was used [SDK]nn::snd::Delay and nn::snd::Reverb would be disabled when recovering from sleep or returning from the HOME Menu [SDK]GetHostByName stopped operation [SDK]BossLotcheckTool [SDK]Config tool [SDK]DevMenu [SDK]FriendTestingPartner to be handled as error [SDK]SaveDataSize to RSF files [SDK]WMTestTool [SDK]Send and Receive [SDK]AP_TYPE_FREESPOT [SDK | System Updater]KeepAlive in communication using chunked reception [System Updater]disconnected if Wi-Fi is turned off during UDS initialization [System Updater]ENOTCONN was returned from Send upon reception of RST [System Updater]STATE_CREATING_NETWORK after CreateNetwork failed [System Updater]GetLinkLevel would always return link level 0 [System Updater]Scan when the wireless switch is set to OFF [System Updater]lib_applet [Sample Demos]applet::Enable and others added to sample demos [Sample Demos]ScreenCapture sample [Sample Demos]PrepareToCloseApplication is called from CloseApplication [SDK]TASK_PERMISSION attribute [SDK]GetParallax function [SDK]GetStereoCameraCalibrationMatrix function [SDK]GetStereoCameraCalibrationMatrixEx function [SDK]SetBrightnessSynchronization function [SDK | System Updater]MessageBox class function names [SDK]IsFinishedUncompRL function name to IsFinishedUncomp [SDK]ResultArchiveInvalidated from expanded-save-data error handling [SDK]Vertex::DisableAttr to disable vertex attributes that were enabled with Vertex::EnableAttrAsArray [SDK]glGetTexLevelParameter[if]v function [SDK]nngxAdd3DCommandNoCacheFlush function [SDK]nngxAddCmdlist function [SDK]nngxAddVramDmaCommandNoCacheFlush function [SDK]nngxCmdlistStorage to reduce the number of allocator calls [SDK]nngxCopyCmdlist and nngxClearFillCmdlist [SDK]nngxInitialize to reduce the number of allocator calls [SDK]nn::hio::CTR::SerialChannel::GetReadableSize [SDK]GetLastDateTimePointer function [SDK]nn::midi::CTR::Open function to determine the UIC-MIDI device [SDK]BossLotcheckTool [SDK]Config tool [SDK | System Updater]SaveDataFiler [SDK]makerom [SDK]UdsLocalIdChecker tool to confirm the local communication ID [SDK]GetPackageParameter function [SDK]IsExpectedToCloseApplication and IsExpectedToProcessPowerButton to be true at the same time [System Updater]AwakeCallback is called when the battery is fully discharged during sleep [System Updater]SetBrightnessSynchronization function [SDK | System Updater]FakeClient::StopScan when the wireless switch was OFF [System Updater]Results returned by Login [System Updater]nn::fs::TryDelete* and nn::fs:TryRename* functions [System Updater]nn::fs::TryDeleteDirectory and nn::fs::TryDeleteDirectoryRecursively functions [System Updater]nn::fs::TryDeleteFile to fail for expanded save data files [System Updater]Read functions to timeout after canceling a ChunkedPost [System Updater]KeepAlive communication [System Updater]nn::os::SetDeviceMemory to enable changing the device memory size [System Updater]Config tool [SDK | System Updater]Result values when ConnectNetwork fails [System Updater]Finalize was executed during communication [System Updater]fs::Finalize in the sample demos [Sample Demos]Stereo demo [Sample Demos]DummyUpdatePartition [Sample Demos]lib_grfw so that the DMPGL display buffer functions are not used [Sample Demos]os::Initialize from the sample demos [Sample Demos]SimplePlayer sample demo [Sample Demos]nn::applet::CTR::GetSleepNotificationState, nn::applet::CTR::ClearSleepNotificationState [SDK]Dump function [SDK]ArchiveFont::InitStreamingConstruct function [SDK]nn::fs::ForceEnableLatencyEmulation function [SDK]nn::fs::GetExtSaveDataFormatInfo function [SDK]nn::fs::GetSaveDataFormatInfo function [SDK]nn::fs::hio and the HOST_IO build option [SDK]RenderState::ShadowMap class [SDK]Shader::MakeOutAttrCommand [SDK]Vertex internal classes (LoadArray, InterleaveInfo, and IndexStream) [SDK]Vertex::LoadArray::DisableAll and Vertex::AttrConstArray::DisableAll for internal use by Vertex::DisableAll to disable vertex attributes and initialize member variables [SDK]One function to Vector2, Vector3, and Vector4 [SDK]Thread::IsAlive [SDK]DlpClient would abort during a download [SDK]CardDevice item to RSF [SDK]SaveDataFiler [SDK]makebanner [SDK]makeciaarchive [SDK]Connect function [System Updater]SleepQueryCallback would not be called even if the system was opened while writing to media [System Updater]Suspend would take a lot of time if there were a large number of files in BOSS storage [System Updater]NsData::GetHeaderInfo would not return [System Updater]PauseAllTasks was executed [System Updater]Activate function would always return IsSleeping when the system was rapidly opened and closed [System Updater]INVALID_LANGUAGE [System Updater]nngxIsStereoVisionAllowed returns true when generating hid::CTR::GyroscopeReader [System Updater]nngxFinalize [System Updater]Cancel directly after starting communication [System Updater]nn::mic::SetAmp and nn::mic::SetLowPassFilter functions [System Updater]event execution [System Updater]INFTIM could not be used to specify a timeout for Poll [System Updater]ResultInvalidNode error would not be returned even when specifying a node ID not found by the GetNodeInformation function [System Updater]Silhouette demo that performs silhouette rendering using reserved geometry shaders [Sample Demos]glDrawElementsin demos that directly generate 3D commands [Sample Demos]SetReceiving function reference [SDK]FakeClient::StartScan function [SDK | Sample Demos]dmp_FragmentLightSource[i].position and dmp_FragmentLightSource[i].spotDirection [SDK]NN_GX_CMDLIST_GAS_UPDATE to the nngxSetCmdlistParameteri function [SDK]nngxSwapBuffersByAddress function [SDK]glShaderBinary function that would occur under specific conditions [SDK]AllocVoice where NULL would return and then the sound thread would stop [SDK]nn::fs::ResultVerificationFailed [SDK]NetworkDescriptionReader::GetNodeInformationList function were not being NULL-terminated [SDK]FakeClient::StartScan function [SDK | Sample Demos]SimpleServer would not run except in the JP market [Sample Demos]FragmentLightSimpleCmd sample demo [Sample Demos]ProjectionTexture sample [Sample Demos]demo1 save data are used [Sample Demos]ReadTexturePackage2 demo [Sample Demos]nn::cec::MessageBox::CreateMessageBox function that does not specify icon data [SDK]Shader::SetDrawMode function to support GL_TRIANGLE_STRIP and GL_TRIANGLE_FAN when in triangle render mode [SDK]const member function for the gr::Viewport, gr::Scissor, and gr::Shadow classes [SDK]private member variables to protected member variables [SDK]0x85 to the physical address of a cube map's +X plane [SDK][0.0, 1.0] or [-1.0, 1.0] [SDK]Finalize function to call ResetBuffer internally [SDK]Voice object obtained from AllocVoice was sometimes not initialized [SDK]applet::ProcessPowerButton or applet::ProcessHomeButton when there is no sound thread [SDK]CecLotcheckTool [SDK]FriendTool [SDK]CreateNetwork and Scan functions [SDK]CreateNetwork and ConnectNetwork functions [SDK]SendTo argument check to an assert [SDK]SetApplicationDataToBeacon function [SDK]uds::Attach function [SDK]Result value for the uds::DestroyEndpoint function [SDK]demo1-sys [Sample Demos]GraphicsDrawing demo for rendering 2D shapes [Sample Demos]ParticleSystem demo for rendering the results of particle systems using the reserved geometry shader [Sample Demos](2012/10/19)
zlib symbol caused collision [SDK]zlib, zlib symbols collided even if libzlib was not added to the link targets.
ExceptionScreen depended on ManagedThread [SDK]nn::dbg::CTR::ExceptionScreen would use nn::os::ManagedThread.
However, note that ExceptionScreen might not function properly if ManagedThread is not used because it cannot obtain the range of the stack.
gd:Draw function calls.
RasterizerStage::SetScissor function would not be applied correctly [SDK]SetScissor function, instead of the intended 10-bit mask.
gd::VertexInputStage::KickDraw function [SDK]
If glDrawArrays meets the following conditions, 0x20 is written.
If these conditions are not met, 0 is written.
IsBufferInUse of the DspFxDelay and DspFxReverb would occasionally not work [SDK]IsBufferInUse would remain as true even if DspFxDelay and DspFxReverb were finalized.
ctr_TexturePackage32 where an error would occur when you specify the maximum miplevel [SDK]miplevel value was specified as one less than the value specified for the miplimit attribute of the <texture> node.
LightingSample demo, the area the light is shining on periodically flashes.FontConverter is sometimes not able to convert Windows fonts correctly if the following settings have been made.(2012/10/19)
In some cases, a communication partner was unable to detect that the data transmission was canceled and would continue to wait for a connection.
This could lead to a potential system freezes. Keep this point in mind when implementing your application.
None.
(2012/07/26)
Effect enumeration type.
Also, added to the reference the fact that the following limits have been placed on the SetDetailSize function.
cropX0 must be even.cropX1 - cropX0 + 1 must be a multiple of 4.
snd::Voice [SDK]dsp::LoadDefaultComponent function where noise would occur when using the snd library if multiple voices were used and the pitch specified for a given voice was set extremely low.
$CTR_SDK/documents/TechnicalNotes/IdCatalog)
FragDisk [SDK]FragDisk tool for defragging empty areas on SD Cards.
LightingSample demo, you can see a phenomenon where the area the light is shining on periodically flashes.FontConverter is sometimes not able to convert Windows fonts correctly if the following settings have been made.(2012/07/26)
None.
(2012/07/12)
The following functions were revised.
nn::crypto::RsaContext::Encrypt
The following functions were revised.
nn::crypto::RsaContext::Signnn::crypto::RsaContext::SignSha256
cro build option [SDK]armlink for a cro build to handle a problem where the buffer size required to load cro was incorrect.
Certain support is necessary when constructing a proprietary build system.
For details, see $CTR_SDK/documents/TechnicalNotes/Dll/BuildSystemDevelopmentGuideForDll.html.
mask argument were being illegally set to 0 in the case of overload functions that take the mask argument of the nn::fs::SetSaveDataSecureValue function.nn::fs::VerifySaveDataSecureValueLoosely function would return true when it should have returned false.
cro was incorrect [SDK]ctr_makecro32.exe was revised due to a bug where a value lower than the actual size required was sometimes being obtained as the value of nn::ro::SizeInfo::bufferSize when using the nn:ro::GetSizeInfo function.
LightingSample demo, you can see a phenomenon where the area the light is shining on periodically flashes.FontConverter is sometimes not able to convert Windows fonts correctly if the following settings have been made.(2012/06/27)
DirectPrint [SDK]nn::dbg::CTR::DirectPrint class can only handle display buffers allocated in device memory to the function reference.
Also, changed the source to assert that the address of the display buffer passed as an argument to the ChangeDisplaybuffer member function is located in device memory.
For details, see the reference for nn::dbg::SetBreakHandler.
nn::dbg::CTR::ExceptionScreen during the default nninitStartUp process.
nn::fs::VerifySaveDataSecureValueLoosely function [SDK]nn::fs::VerifySaveDataSecureValueLoosely function with a looser method of verifying data immediately after system repair than nn::fs::VerifySaveDataSecureValue.
Revised the references for both functions in light of this addition.
nn::fs::MountDemoSaveData function or an overload function that takes the uniqueId of the nn::fs::MountSaveData function as an argument.
CommandBufferJumpHelper class to gather routines that were executed in the old gx/Gr/CommandBufferJump sample demo.
mova instruction and then outputting a warning.
VertexShaderReferenceManual.pdf regarding mistaken operations due to register dependency of the instruction immediately before or after a mova instruction.
std::string or std:wstring were being linked even if neither of those were being used.
$CTR_SDK/documents/TechnicalNotes/Dll/BuildSystemDevelopmentGuideForDllAdvanced.html.
Also, added references for makecro and makecrr.
SaveDataFiler [SDK]
See the SaveDataFiler reference for details.
makebanner [SDK]makebanner.
makebanner support for a new Taiwanese rating (added a setting for 15-year olds).Publisher has not been set for makebanner.makebanner would not run correctly if a TGA file in a format other than ETC was specified for BigIconFile or LittleIconFile.makeexbanner would not run correctly if a TGA file in a format other than ETC was specified for BigIconFile or LittleIconFile.BannerModelConverter.
LightingSample demo, you can see a phenomenon where the area the light is shining on periodically flashes.FontConverter is sometimes not able to convert Windows fonts correctly if the following settings have been made.(2012/06/27)
This allows you to launch the Internet browser from the HOME Menu.
The Internet browser's engine is not allocated as much memory on a PARTNER-CTR Debugger or PARTNER-CTR Capture as it is on a retail CTR system or a CTR test unit.
As a result, the Internet browser can display some pages on a retail system that it cannot display on a PARTNER-CTR Debugger or PARTNER-CTR Capture.
Note that download contextual banners associated with this bug will not be distributed in the future in the case of applications that register download tasks on systems prior to 3.2 NUP.
Changed rating icons and added a rating setting for ages 15 and older.
(2012/06/27)
gx/Gr/CommandBufferJump sample demo [Sample Demos]gx/Gr/CommandBufferJump demo to reflect the addition of the CommandBufferJumpHelper class.
None.
(2012/05/29)
GetTrimmingParam are now the same as set values [SDK]GetTrimmingParams for the Y axis (pYStart, pYEnd) were +1 larger than the set values. That bug has been fixed, so now it can get the correct values.
The set values were always the correct values, so it was not as if the settings were not configured as intended.
cec library header, the constants that had been defined with #define are now defined with the nn::cec namespace.
CEC_OUTBOX_SIZE_DEFAULT is now nn::cec::CEC_OUTBOX_SIZE_DEFAULT CEC_OUTBOX_MESSNUM_DEFAULT is now nn::cec::CEC_OUTBOX_MESSNUM_DEFAULT
GetCecRecvEventHandle function, which gets notification events when StreetPass has occurred, has been changed to GetCecEvent.
The function features have not changed.
This was actually changed in CTR-SDK 4.1 but was accidentally omitted from the change log.
SecureUncompressBLZ function's failure to decompress data correctly [SDK]SecureUncompressBLZ function would sometimes fail to decompress data correctly. That bug was fixed.
Result search field [SDK]Result values belonging to nn::fs. The process has been improved so that now those too can be searched.
$CTR_SDK/resources/icon/UpdateIndicator and also added documentation related to the update indicator, which is used on the HOME Menu to indicate when new data has arrived for an application and to notify when friends can join in.
nn::fnd::TimeSpan is converted into units of seconds.
gr::MakeDisableAllCommand function [SDK]gr::MakeDisableAllCommand function generated a flawed write command to the 0x118 register. That bug was fixed.
gx Raw API [SDK]gx Raw API, which is the API that enables the command-related controls of the gx API to be processed in the form of directly specified command list objects.
For details, see the gx Raw page in the Function Reference.
nngxGetInitializationCommand function [SDK]nngxGetInitializationCommand function, which gets the commands to set registers that are generated and executed when the nngxInitialize function is called.
By executing the command buffer obtained by this function when returning from the HOME Menu or an applet, you can restore the states of the GPU registers to be the same as they were immediately after initialization.
This function was added to deal with problems related to rendering that can occur upon return from the HOME Menu or elsewhere if commands for directly setting registers have been created, rather than using a graphics library supported by the CTR-SDK.
Accordingly, there is normally no need for this.
nngxValidateState function [SDK]
If there is this error, the function returns GL_ERROR_80B3_DMP.
The assumption is that in most cases the nngxValidateState function will be called directly after a return from the HOME Menu or another applet, or when the library is switched from some other graphics library. With the addition of this specification, the function will return the 80B3 error when the GL library is not being used and when glUseProgram(0) has been called before transitioning to an applet.
If the purpose is to restore the GPU registers, then there is not necessarily any need to call the nngxValidateState function.
For details, see the page on restoring the GPU register settings in the Graphics part of the Function Reference.
DMPGL20_specification.pdf
DMPGL20_system_API_specification.pdf
nngxGetInitializationCommand function.nngxValidateState function.DMPGL20_system_API_specificationRaw.pdf.
nn::math::MersenneTwister class for generating random numbers using the Mersenne Twister, and the nn::math::TinyMt class for generating random numbers using the Tiny Mersenne Twister (TinyMT).
IsDaemonStartEnable function to check whether the wireless switch is on so daemon can run [SDK]IsDaemonStartEnable function, which checks whether the wireless switch is on so the daemon can run.
nn::os::Tick is converted into nn::fnd::TimeSpan.
Also added a member function to nn::os::Tick for converting directly to units of seconds.
SendTo function when a port number reserved by the system is specified [SDK]SendTo function now returns ResultOutOfRange when the specified port number is one that has been reserved by the system. The function previously returned ResultOutOfResource, which is not included in the Function Reference.
For details, see the zlib page in the Function Reference.
LightingSample demo, you see a phenomenon where the area the light is shining on periodically flashes.FontConverter is sometimes not able to convert Windows fonts correctly if the following settings have been made.(2012/05/29)
Note that if you simultaneously press the Y Button and B Button and then start the application, even though the text "ISBN check mode." displays in the upper-left part of the upper screen, the startup animation will not stop unless you press some other button.
Delete just like other applications by pressing the X Button.
SystemUpdater.(2012/05/29)
Child_0 and Child_1 [Sample Demos]dlp/Child_0 and Child_1 were not configured with the ratings for the Taiwan market, so unintended age restrictions would be applied if Parental Controls were set in the System Settings.
That problem was fixed.
gd sample RenderToTarget when vertex buffer placed in main memory [Sample Demos]gd sample RenderToTarget, when #define TEST_COPY_VERTEXBUFFER was enabled and data was copied between two vertex buffers allocated in main memory, an error would occur due to invalid byte alignment of vertex buffer addresses.
This was resolved by fixing the memory allocator of the sample demo library.
example demo [Sample Demos]zlib/example demo, which shows how to use zlib included in the CTR-SDK to build example.c, which comes with zlib.
None.
(2012/05/02)
nn::applet::RestartApplication operating conditions to references [SDK]RestartApplication references, added a note that an application will not restart when the debugger is attached.
The previous method of specifying files using a file handle will be left in for backwards compatibility, but use the file path specification method from now on.
Also, fixed the same bug for the ctr_compress32 tool.
Furthermore, since this is a bug in the expansion code, there is no need to recompress files that have already been compressed.
DirectPrint class [SDK]nn::dbg::CTR::DirectPrint class that writes strings directly to the display buffer with the CPU.
ExceptionScreen class [SDK]nn::dbg::CTR::ExceptionScreen class as a utility to output CPU exceptions.
NN_DBG_PRINT_RESULT macro [SDK]NN_DBG_PRINT_RESULT macro desription display would always appear as "unknown." The correct result will be displayed now.
ResultInvalidMediaType from the Initialize function return values [SDK]ResultInvalidMediaType from the Initialize function return values.
This value is never returned except for card applications or SD Card applications.
pNotice to false in the Initialize function reference [SDK]nn::dlp::Server::Initialize function in function references about how to forcibly set pNotice to false.
StartFakeSession function returns ResultDeniedFromServer [SDK]FakeClient::StartFakeSession function returns ResultDeniedFromServer.
ResultDeniedFromServer is returned when the server is distributing a child program.
Users can now get to the feature by selecting Result > Search Result Value in the left center frame of the function reference.
cro build procedure [SDK]cro build procedure.
Certain support is necessary when constructing a proprietary build system.
For details, see $CTR_SDK/documents/TechnicalNotes/Dll/BuildSystemDevelopmentGuideForDll.html.
$CTR_SDK/documents/TechnicalNotes/AppletGuide/Applet_Specification.pdf):
$CTR_SDK/resources/icon/DlplayIcon directory.
$CTR_SDK/documents/TechnicalNotes/IconBannerManual/IconBannerManual.pdf).
nn::fs::MountDemoSaveData function for mounting demo application save data from the nn::fs::MountSaveData function that gets a unique ID and mounts save data from other applications.
Also, got rid of the variation argument for the nn::fs::MountSaveData function.
nn::fs::GetSaveDataSecureValue function that was released to help prevent rolling back save data, and added the nn::fs::VerifySaveDataSecureValue function.
Also, added an overloaded version for the nn::fs::SetSaveDataSecureValue function that can specify the bit mask that writes values.
For details, see the reference for the Windows tool, ctr_FsAccesslogAnalyzer.
nn::fs::ResultVerifcationFailed-type result is returned.
0x6f[17]) write commands [SDK]gr::Shader and gr::ShaderLite classes.
nngxValidateState function [SDK]nngxValidateState function was called while the command list was not bound, where the state would be validated while incomplete.
This bug was fixed so that now when there is no bound command list, an error (GL_ERROR_80B2_DMP) is generated and the function returns without validating the state.
DMPGL20_specification.pdf
dmp_Texture[3].ptNoiseU and ptNoizeV.DMPGL20_system_API_specification.pdf
nngxValidateState function
GL_ERROR_80B2_DMP error
AccelerometerReader::ConvertToAcceleration function [SDK]pSamplingData data sets can be specified as the 4th argument (samplingLen).
If samplingLen is smaller than bufLen, the function will be stopped with an assertion.
However, the feature cannot be used for dynamic modules.
QUATToMTX34Partially function to update only the rotated portion of a specified matrix.
nn::news::CTR::user::IsFromNewsList function [SDK | Sample Demos]GetCodeRegionAddress/Size functions [SDK]nn::os::GetCodeRegionAddress and nn::os::GetCodeRegionSize functions that get the start address and size, respectively, for the static module code region.
ManagedThread class [SDK]nn::os::ManagedThread class which adds several features to the nn::os::Thread class.
SetUserExceptionHandler can now be called from nninitStartUp [SDK]nn::os::ARM::SetUserExceptionHandler function can now be called from nninitStartUp.
nn::os::Initialize function calls [SDK]nn::os::Initialize function can no longer be called multiple times.
We have made it so that, essentially, the nn::os::Initialize function cannot be called in application code because the function is called automatically in the CTR-SDK.
If you call the nn::os::Initialize function in application code, it will be stopped with an assertion.
Although it was previously available, the nn::os::Initialize function is no longer publicly available, so please delete any nn::os::Initialize function calls.
ASSERT for when using default memory management mechanism [SDK]nninitStartUp in the application, the heap region managed by the default memory management mechanism will be destroyed when the nn::os::SetHeapSize, nn::os::GetHeapSize or nn::os::GetHeapAddress functions are called.
An assertion was added to detect this and stop these functions from executing when called without replacing nninitStartUp.
nninitStartUp process, nn::dbg::CTR::ExceptionScreen is now registered as the user exception handler.
Module::Enumerate function [SDK]nn::ro::Module::Enumerate class member function, which enumerates the loaded modules.
Module::GetRegionInfo function [SDK]nn::ro::Module::GetRegionInfo member function, which gets the information for the memory region being used by the loaded modules.
We have added support for this bug.
You may need to add this support to your code if you are encountering this bug.
For details, see $CTR_SDK/documents/TechnicalNotes/Dll/DllManual.html.
Voice::AppendWaveBuffer [SDK]Voice::AppendWaveBuffer. Now however, such a buffer is not included in the queue and its status is quickly changed to STATUS_DONE.
TexturePackager ETC encoding [SDK]FastImproved and MediumImproved.
makebanner [SDK]makebanner.
makecia [SDK]makecia for converting from CCI to CIA.
See references for details.
makecia [SDK]makecia.
-i CONTENTS_PATH:INDEX to makecia options [SDK]
CONTENTS_PATH specifies the content file path, and INDEX specifies the index number that contains that content.
makecro to end abnormally when the -p option was used [SDK]-p option in ctr_makecro32.exe would cause it to end abnormally for some AXF files.
makerom bug [SDK]makerom would output an error and close in environments in which environment variables were defined more than once (for example, "Path" and "PATH").
While hovering the cursor over a title in the User tab, pressing the R+Y Buttons will export save data to the SD Card, and pressing the R+X Buttons will delete save data.
While hovering the cursor over a title in the SD Card tab, pressing the A Button will import save data.
ResultInvalidData to the GetNodeInformationList function's return values [SDK]ResultInvalidData to the GetNodeInformationList function's return values.
Updated the documentation as well.
Scan function's scan results [SDK]Scan function's scan results.
LightingSample demo, you see a phenomenon where the area the light is shining on periodically flashes.FontConverter is sometimes not able to convert Windows fonts correctly if the following settings have been made.(2012/05/02)
See $CTR_SDK/documents/DevHomeMenu/HomeMenu.html for details.
We added a feature in the Developer HOME Menu to not display such contextual banners and to display a warning message on the lower portion of the upper screen.
A warning message is also displayed on the lower portion of the upper screen when you attempt to display a banner model that was not created with NW4C_ForBanner.
For details about this bug and rules for Notification title display (as well as related considerations), see the system application/applet specifications ($CTR_SDK/documents/TechnicalNotes/AppletGuide/Applet_Specification.pdf).
For details about this bug as well as related considerations, see the system application/applet specifications ($CTR_SDK/documents/TechnicalNotes/AppletGuide/Applet_Specification.pdf).
(2012/05/02)
exbanner demo [Sample Demos]exbanner demo which can create contextual banners and check operations.
Along with this change, a reference page has been added and a change to folder structure has been made (makebanner has been changed to simple and moved under makebanner/simple).
gx/Gr/Framework/sources/gr_Framework.cpp.
As a result, you could not get the correct measurement for the intended time period, so the locations with duplicate code were fixed.
nn::news::CTR::user::IsFromNewsList function [SDK | Sample Demos]Initialize member function in nn::fnd::ExpHeap [Sample Demos]Initialize member function in nn::fnd::ExpHeap in the sample demos.
gx/Gd/RenderToTarget demo does not work correctly even if TEST_COPY_VERTEXBUFFER is enabled. ALIGNMENT_VERTEX to 16 in $SampleDemos/common/libraries/demo/Utility/demo_MemoryManager.cpp.(2012/04/06)
This change does not have any effect on applications’ operation.
(2012/03/30)
(2012/03/19)
snd sounds. That problem was fixed.
$CTR_SDK/documents/TechnicalNotes/AppletGuide/Applet_Specification.pdf).
$CTR_SDK/resources/xllt directory.
nn::fnd::ExpHeap and other like classes, an assertion was not generated even though an alignment exceeding 128 was specified.
This bug has been fixed.
nn::fs::CreateArchiveAlias function to enable a mounted archive to be accessed with a different specified name.
DMPGL20_system_API_specification.pdf states that the busy counter as measured by nngxStartProfiling(NN_GX_PROFILING_BUSY) is reset at the two times listed below, but it was only being reset at the later time.
This has been corrected so that now it is reset when the nngxStartProfiling function is called.nngxGetProfilingResult function is called.nngxStartProfiling function is called.
nn::jpeg::CTR::JpegMpEncoder::StartMpEncoderNext function was called two or more times (i.e., three or more images were encoded), the encoding process would fail even if there was sufficient room in the encoding result buffer. That problem was fixed.
LightingSample demo, you see a phenomenon where the area the light is shining on periodically flashes.FontConverter is sometimes not able to convert Windows fonts correctly if the following settings have been made.(2012/03/19)
(2012/03/19)
None.
(2012/02/29)
snd volume operations [SDK]dsp library in CTR-SDK 4.0, where snd volume operations would cause noise (fixed the dsp library).
snd::DspFxReverb::Param structure's m_UseHpfDamping member was set to true [SDK]snd::DspFxReverb::Param structure's m_UseHpfDamping member was set to true (fixed the dsp library).
ShaderLite class's SetupBinary function [SDK]SetupBinary function would fail when not calling the GetRequiredBufferSize function.
Improved stability when using multiple instances simultaneously.
makebanner [SDK]makebanner to no longer allow setting rating values for unsupported regions.
Added introduction for and link to makedlexbanner in makeexbanner documentation.
LightingSample demo, you will see a phenomenon where the area the light is shining on will periodically flash.FontConverter is sometimes not able to convert Windows fonts correctly if the following settings have been made.(2012/02/29)
nn::friends::AddFriendWithApproach function in a state where friend presence could not be posted online, such as during UDS communication, would cause a communication error in asynchronous processing.
(2012/02/29)
CriticalSection and Mutex demos [Sample Demos]CriticalSection and Mutex demos to show the differences in behavior when there is a lock and when there is not.
snd/OutputCapture demo [Sample Demos]snd/OutputCapture demo to allow Release builds as well.
None.
(2012/02/20)
ProcessHomeButton function would cause processing to halt [SDK]ProcessHomeButton function would cause the system to halt.
Development and Debug builds when the application is rendering (strictly speaking, while processing command requests).
boss::GetNsDataIdList function multiple times and then deleting an NSD while getting the NSD list would cause the next call to the boss::GetNsDataIdList function to exit abnormally.
MessageBox::GetMessageIdPair function's error checking [SDK]MessageBox::GetMessageIdPair function to return an error (nn::cec::ResultNoData) when it cannot get a value, such as after receiving a message in a mode other than "convert."
nn::dbg::SetArgumentBuffer function, which forcibly changes the startup argument buffer after application launch, to be private.
.. in CTR_BANNER_SPEC would cause an error [SDK]CTR_BANNER_SPEC would cause an error during parallel builds.
In line with this, also changed the bnr and icn paths generated by the build system.
nn.h and cleaned up include statements [SDK]nn.h to allow use by all CTR-SDK API functions by using an include statement.
In line with this, revised the include statements in various header files.
$CTR_SDK/documents/TechnicalNotes/IconBannerManual/IconBannerManual.pdf documentation specific to creating icons and banners.
app.crs in the overall sequence chart in the Build System Development Guide For DLL (DLL version).
Only changed the chart.
$CTR_SDK/resources/icon/FriendIcon directory.
$CTR_SDK/documents/resources/BuiltInFont
In line with this, updated FontConverter and documentation on the internal bitmap fonts.
nn::os::Tick and nn::fnd::DateTime::GetNow cannot be used together, and added a description of precision [SDK]nn::os::Tick and nn::fnd::DateTime::GetNow cannot be used together, and added a description of precision.
WideTextWriter [SDK]WideTextWriter that could cause a buffer overflow.
Result other than the expected nn::fs::ResultNotFormatted-series results was returned when attempting to mount save data from Card2 when the card was in the factory-default state.
flush parameter of the Write functions [SDK]true for the flush parameter of the Write and TryWrite functions in the nn::fs::FileStream class and other classes. Note that this parameter can no longer be omitted when calling these functions.
Leaving this parameter unspecified now causes a compiler error.
Explicitly specify this parameter with a value of true to achieve the same behavior as in the past.
nn::fs::SetAnalysisLog(true).
This is only enabled for development and debug builds.
fs functions are now thread-safe [SDK]fs functions that took const char* as path arguments were previously not thread-safe.
They have been improved to be thread-safe.
TryRead function to deadlock.
WBuffer class's constructor and for the MakeCommand function [SDK]MakeCommand function of the FBAccess class when using the WBuffer class to generate commands, as this was deemed unnecessary given that this had no dependency in the specification on the registers set by the WBuffer class.
In line with this, the WBuffer class constructor no longer requires a RenderState class as an argument, so this was also deleted.
This change breaks compatibility for code using CTR-SDK 3.x and that directly generates and uses WBuffer class instances.
Texture::Unit1 and Unit2 in the MakeCommand function would write to undocumented bits.
Gd: texture cache would not be cleared properly [SDK]Gd library to set a texture in the texture unit, rendering it once to screen, then rendering the texture to a buffer and using that texture as-is to render to the screen.
Gd: producing unexpected ResultNoTextureBound error [SDK]gd::CombinerStage::CreateTextureCombinerState function to create a new combiner state previously failed to correctly initialize the combiner state's values.
This caused a ResultNoTextureBound error when rendering. This bug has been fixed.
Gd: that had been left for backwards compatibility [SDK]gd::System::Debug::SetFilter function [SDK]gd::System::Debug::SetFilter function.
nngxAddL2BTransferCommand function [SDK]width and height arguments to the nngxAddL2BTransferCommand function are limited by the same restrictions as for the nngxTransferLinearImage function (must be at least 128 pixels, and must be an even multiple of the block size). However, due to a bug in internal error checking, the values were not checked to make sure they were at least 128.
This has been fixed to properly return an error in such cases.
nngxGetIsInitialized function [SDK]nngxIsInitialized function to get whether the nngx library has been initialized (i.e., whether the nngxInitialize function has been called).
nngxGetIsRunning function [SDK]nngxGetIsRunning function to get whether a command list is running.
nngxRunCmdlistByID function [SDK]nngxRunCmdlistByID function that takes a command object ID as an argument, providing the same functionality as the nngxRunCmdlist function.
Use this function to start executing a command list without first binding it.
In line with this, the related documentation and reference materials have been removed from publication.
Do not use the following functions any more.
glSaveProgramsDMP functionglRestoreProgramsDMP functionglSaveVertexStateCollectionsDMP functionglRestoreVertexStateCollectionsDMP functionglSaveTextureCollectionsDMP functionglRestoreTextureCollectionsDMP function
DMPGL20_system_API_specification.pdf
NN_GX_PROFILING_BUSY_SAMPLING_TIME of the nngxSetProfilingParameter function.nngxAddL2BTransferCommand function that the width and height values must be at least 128 pixels.VertexShaderReferenceManual.pdf
DMPGL20_statecache_specification.pdf
hio::HostFile::Read and hio::HostFile::Write functions.
However, note that not using 32-byte-aligned values causes slower performance.
HostFile::IsExist [SDK]HostFile::IsExist function.
Replace any usage of the HostFile::IsExist function with the HostFile::Exists function instead.
HostFile::Open function to support paths containing environment variables [SDK]nn::hio::HostFile::Open function to allow the specification of paths containing environment variables.
MTX*Translate functions [SDK]MTX23Translate function to match the specifications of other MTX*Translate functions.
Added the MTX23MultTranslate function to provide the same features as the previous version of the MTX23Translate function.
Light functions with timeouts [SDK | System Updater]nn::os::LightEvent::TryWait(nn::fnd::TimeSpan) and os::LightSemaphore::TryAcquire(nn::fnd::TimeSpan) functions that had previously been removed due to the discovery of bugs.
If the main thread's stack size is not specified in the RSF file, the size defaults to this 256 KB.
$CTR_SDK/include/nn/pl/CTR/pl_ExBanner.h
nn::pl::MountSharedFont function to change the available internal fonts for China, Korea, and Taiwan.
FxReverb class, added feature to specify damping filter type [SDK]m_IsEnableDampingBugFix damping bug workaround flag, and changed operation to work as if this variable were set to true.
Separately, also added the m_UseHpfDamping flag to change the damping filter to a high-pass filter.
AccessControlInfo/Debug [SDK]AccessControlInfo/Debug.
BossLotcheckTool [SDK]Priority display of task information in BossLotcheckTool was handled as Invalid Value.
ctr_makecro32.exe generates CRO files to speed up nn::ro::LoadModule processing.
This improves the time needed to load modules that reference other modules that expose multiple symbols with reference types that are names.
ctr_makerom and the file specified by the RSF does not exist in the ROMFS.
For more details, refer to the ctr_makerom documentation for the ctr_makerom tool.
CardDevice parameter specified in the RSF file [SDK]NorFlash or None, but this is now determined automatically, so the argument can be omitted.
BackupMemoryType parameter in the RSF file into SaveDataSize [SDK]BackupMemoryType parameter in the RSF file, formerly used to specify the Card1 save data size, into the SaveDataSize parameter.
If you have only specified a value for BackupMemoryType in the past, note that you must now specify a value for SaveDataSize.
Not specifying a value for SaveDataSize is handled as if a value of 0 (zero) was specified.
ctr_loadrun32 [SDK]ctr_loadrun32 to allow for finalization checks based on partial string matches instead of just on whole-line matches.
Use the regular expressions "^" at the start of the string, and "$" at the end of the string to force whole-line matching.
makebanner [SDK]makebanner in the criteria for the maximum number of characters in title names.
Also fixed a bug in makebanner causing an error when a texture data file is not found.
makecia [SDK]makecia could not create a valid CIA file when specifying a CFA input file with a size of an even multiple of 4 MB.
This allows users to check command data in greater detail and to more easily make changes.
ScanResultReader::Merge function [SDK]ScanResultReader::Merge function, as merging beacons with this function could result in duplicating the original beacon information, and as it is possible to implement the same originally intended feature by combining other existing functions.
FORCE_UNICAST option from SendTo function [SDK]FORCE_UNICAST option from the SendTo function because specifying this did not change the function's behavior.
TemporaryID [SDK]TemporaryID specifications to the reference materials.
This does not update the TemporaryID when rebuilding the network if there are no Client connections and communication has not been established between devices.
However, if it is a long time until the network is rebuilt, the system judges that a network unrelated to the prior one has been built, and updates the TemporaryID.
Result values [SDK]Result values used in libraries in CTR-SDK version 0.10.2 and earlier.
Below is the list of deleted functions.
MakeResultAlreadyDone functionMakeResultNoData functionMakeResultNotFoundNetwork functionMakeResultInsufficientResourceAtMaster functionMakeResultDeniedFromMaster functionMakeResultConnectionTimeout functionMakeResultInvalidState functionMakeResultNotInitialized functionMakeResultAlreadyInitialized functionMakeResultInvalidParam functionMakeResultBufferFull functionMakeResultTooLarge functionMakeResultNotFoundTarget functionMakeResultNotImplemented functionMakeResultOutOfResouece function
Finalize function during calls to those functions would cause a fatal error [SDK]Finalize function during calls to those functions would cause a fatal error, so they now return ResultNotInitialized instead.
Below is the list of revised functions.
GetApplicationDataFromBeacon functionDestroyEndpoint functionReceiveFrom functionReceive functionSendTo functionSetApplicationDataToBeacon functionGetConnectionStatus function
LightingSample demo, you will see a phenomenon where the area the light is shining on will periodically flash.FontConverter is sometimes not able to convert Windows fonts correctly if the following settings have been made.(2012/02/20)
Also changed behavior so pressing the POWER Button quits the suspended application.
However, there is some variance in the amount of time needed to save, so make sure not to suspend or reboot for around 15 seconds after adding a friend.
nn::fs::MountExtSaveData function causing creation of a 3DS directory [System Updater]nn::fs::MountExtSaveData function where the function would create the Nintendo 3DS and other directories if they did not already exist, even though this function should not do any writing to the SD Card.
nn::fs::Get/SetSaveDataSecureValue function that reads and writes CTR system memory allocated separately for each application, as a feature to help prevent accidentally rolling back save data.
nn::fs::ResultVerificationFailed error.
ResultWriteProtected [System Updater]ResultWriteProtected error.
hid::AccelerometerReader class until the system starts sampling from the previously fixed value of 1 msec to a varying value from 0 msec to around 10 msec.
Read functions would return an error when the combined total size of the HTTP request and POST data was a multiple of 1536.
http::Finalize function during HTTP communication [System Updater]http::Finalize function when some HTTP communication processing remains would cause the HTTP library to stall.
Light functions with timeouts [SDK | System Updater]nn::os::LightEvent::TryWait(nn::fnd::TimeSpan) and os::LightSemaphore::TryAcquire(nn::fnd::TimeSpan) functions that had previously been removed due to the discovery of bugs.
TARGET ERROR: to also display an error description [System Updater]TARGET ERROR: load errors to also display an error description.
This requires use of PARTNER-CTR Debugger version 20111222 or later.
OUT_OF_MEMORY error [System Updater]OUT_OF_MEMORY error.
0x100000 as a workaround for a bug that caused the debugger to hang, but this has now been revised to show the thread handler address instead.
Finalize function [System Updater]Finalize function.
SimpleAddress [System Updater]SimpleAddress information (country/region).
See the Config tool documentation for details.
RawRtc.
See the Config tool documentation for details.
SD or HIO modes would cause a freeze.
HIO-Daemon [System Updater]HIO-Daemon.
Also fixed a bug caused by the same issue where shutting down the debugger and then launching DevMenu could cause a freeze.
Initialize function [System Updater]Initialize function.
GetLinkLevel after stopping communication would never return a link level of 0 [System Updater]DestroyNetwork or DisconnectNetwork functions so that calling the GetLinkLevel function returns a link level of 0 (zero).
(2012/02/20)
Simple demo [Sample Demos]
FakeClientWithname and ServerWithName classes [SDK]FakeClient and SimpleServer sample demos to use FakeClientWithName and ServerWithName classes.
Gd/ProfilingSample sample [Sample Demos]nngx profiling functions and the Gd library.
gx/DMPGL/SaveRestoreBuffergx/DMPGL/SaveRestoreProggx/DMPGL/SaveRestoreTexture
Gr and Gd sample demos to render frames in the wrong order when double command lists were used.
hio demo [Sample Demos]HioDemoPC, HioDemoPCCPP) return values in the hio demo to conform to specifications.
None.
(2012/01/25)
AppletMsetScene enumerated type [SDK]AppletMsetScene enumerated type was not defined in the nn::applet namespace. This has been fixed.
MessageBox::GetMessageIdPair function [SDK]MessageBox::GetMessageIdPair function that prevented it from getting the MessageID. This has been fixed.
FakeClientWithName and ServerWithName classes [SDK]Server::Initialize function.
$CTR_SDK/resources/shareddata/data/font directory.
In addition, descriptions specific to flush operations during file writes were added, and descriptions specific to performance during file writes were added.
Result can occur in the nn::fs::ResultVerificationFailed functions when mounting save data and when duplicating save data.
LookUpTable class, revisions were made to write a total of 256 units of data, since it is split into two burst transfers of 128 units of data each.
0x126 [25:24], which impacted additive blending D2 when rendering gas density information, was not generated. This has been fixed.
gd::System::AddDummyCommands function [SDK]gd::System::AddDummyCommands function, which inserts a specified number of dummy commands to the 3D command buffer.
gd::System::Debug [SDK]gd::System::Debug::SetFilter function, which can configure filters for disabling blending and changing the minimum size of textures, to support GPU debugging.
Also added the gd::System::Debug::ColorizeMipmaps function, which can make each mipmap level visible by colorizing it with a single color.
gd::System::FlushDirtyModules function [SDK]gd::System::FlushDirtyModules function to directly generate commands for a module when it has been placed in a reconfigurable state (a changed state), with the specification of arguments.
gd::System::StartRecordingPackets function [SDK]RECORD_3D_COMMAND_BUFFER_FOR_JUMP as a value that can be specified for the gd::System::StartRecordingPackets function's usage argument.
When this value is specified, the existing 3D command buffer can be handled as a subroutine.
http_Result.h public [SDK]http::Initialize and http::Finalize are used via http_Initialize.h, made http_Result.h public.
RandomGenerator class that generates random numbers was mistakenly notated as RamdomGenerator. This was fixed.
Since the RamdomGenerator class will probably be deleted, do not use it from now on.
GetMaxCount and GetCurrentCount functions, which are member functions of the Event, Mutex, Semaphore, Thread, and Timer classes, were repeatedly called, they would stop working normally. This bug has been fixed.
FriendAddTool [SDK]FriendAddTool tool, to assist in the addition and deletion of friends.
loadrun [SDK]
Revised to display usage when program arguments are blank.
loadrun [SDK]--systray option, and changed it so that when the debugger launches it will be displayed in a window.
In addition, changed the feature that exits the debugger when ctr_loadrun32 terminates to the --exit-debugger option, and changed it so that the debugger will not quit when no options are specified.
makebanner [SDK]makebanner.
makerom [SDK]ROMFS was at a certain level or higher, a CCI file of a size that exceeded that set in MediaSize would be created. This bug has been fixed.
ctr_GxCommandAnalyzer, the command buffer parsing tool [SDK]ctr_GxCommandAnalyzer that prevented you from being able to specify a relative path for an input file. This has been fixed.
In addition, documentation has been added on the format of input files.
ScanResultReader::Merge function [SDK]ScanResultReader::Merge function, it was possible that the same beacon information as that of the originating source would be duplicated. Therefore a description of this function was deleted from the function reference.
Plan to make this function unusable in CTR-SDK 4.0.
nn::ulcd::Get3DVolume function as a function to directl;y get the console's 3D volume value.
Initialize function [SDK]Initialize function may return false.
LightingSample demo, you will see a phenomenon where the area the light is shining on will periodically flash.FontConverter is sometimes not able to convert Windows fonts correctly if the following settings have been made.(2012/01/25)
coppacs sample demos [Sample Demos]AppletMsetScene enumerated type bug, revised the cfg/coppacs sample demo.
crypto/BlockCipher as a sample demo that uses the AES encryption API.
gx/Gd/FogAndLight demo, there was a bug that accessed extra-regional addresses, specific to lookup tables for fog. This has been fixed.
LightingSample demo, there was a problem in updating lookup tables configured for point light sources, and lighting results were not appropriate.
This bug has been fixed.
SendThread does not terminate when a simple network is disconnected and when wireless mode is off [Sample Demos]uds/simple demo, there was a bug where SendThread, which should ordinarily terminate when the network is disconnected during UDS communication or when wireless mode is off, would not terminate. This has been fixed.
None.
(2012/01/13)
The display position for characters of the built-in fonts for the Taiwan region was lowered by one pixel, since their display position was previously higher than Japanese, North American, and European fonts.
Going forward, the built-in fonts in System Updater and the bcfnt files distributed in the CTR-SDK will have this fix applied but only the Chinese, Korean, and Taiwan built-in system fonts for the Japan, North America, and Europe markets will be updated via an Internet system update, so there will be systems without the update on the market as well.
Note that when using built-in China, Korea, and Taiwan system fonts in the Japan, North America, and Europe markets.
(2011/12/22)
Initialize function that does not specify an allocator [SDK]Initialize function that does not specify an allocator was deleted.
When attempting to use it, a warning will be displayed during the build.
This API maintains compatibility with signatures created on older platforms, so unless there is a reason for not doing so, use the signature verification feature that uses SHA256.
crypto::Initialize and crypto::Finalize [SDK]crypto::Initialize and crypto::Finalize functions is unnecessary, they were changed to become private.
Developers who used these functions are asked to cease using them.
Length have been changed to Size.
The old names can be used, but will produce a warning in the compiler.
NN_PANIC and NN_ASSERT.
NN_PANIC and NN_ASSERT, including making changes to the format of debug output.
loadrun during development.
The application can get parameter data using the nn::dbg::CTR::GetArgc, nn::dbg::CTR::GetArgv, nn::dbg::CTR::GetArgBinary and nn::dbg::CTR::GetArgBinarySize functions.
FakeClient::StartScan function so that it will always specify a unique ID [SDK]
Until now, the specification of a unique ID was not necessary, but if a scan was performed without specifying a unique ID, you could obtain title information that was not related to your title, and this was the cause of a bug.
$CTR_SDK/documents/TechnicalNotes/IdCatalog/IdCatalog.html.
SHBIN_INSTALL_ROOT path [SDK]objects/CTR.Shader are duplicated to a location beneath SHBIN_INSTALL_ROOT.
index.html table of contents [SDK]$CTR_SDK/index.html.
dev2 with the Config tool.
As a result, the feature to set the system mode on development hardware to dev1 will be deleted from System Updater.
In addition, this new Config tool that supports this change will be removed from the CTR-SDK package, since there will be problems with its use with the old System Updater applied to the system.
dev2 will continue to work with a development memory size of 80 MB, and be a system mode that enables the use of the HOME Menu and the library applet.
See the Config reference for more information on settings and limitations.
$CTR_SDK/documents/SDKRules/BuildRules.html.
Use of the newly updated tools such as makerom, makebanner and BannerModelConverter enable the creation of applications for the China, Korea, and Taiwan markets.
System Updater also has additions for the China, Korea, and Taiwan markets. At present there are the following limitations.
s32, and so forth.
CTRSDK_ROOT environmental variable [SDK]CTRSDK_ROOT environmental variable.
$CTR_SDK/documents/TechnicalNotes/AboutHardwareDifference/AboutHardwareDifference.pdf.
nn::fs::FileStream and nn::fs::Directory or opening with the Initialize function fails and a fatal error results, the name of the file that the attempt to open was being performed on will now be displayed in the log.
fs::Finalize function is private, its declaration has been removed from the header.
gr::Vertex::MakeEnableAttrCommand function, when using the interleave array [SDK]
When this invalid command was executed, there was the potential for a GPU hang, so revisions were made for an implementation that took the automatically added padding into account.
nn::gr::FrameBuffer::ColorBuffer::MakeCommand where a command was not generated for bit [0:0] of register 0x11b.
A second argument was then added to the nn::gr::FrameBuffer::ColorBuffer::MakeCommand function, and when its value was true, the function was revised to internally call the MakeRenderBlockModeCommand function.
By default, this argument's value is false.
The MakeRenderBlockModeCommand function generates a block mode (8 or 32) setting command for the render buffer to the nn::gr::FrameBuffer::ColorBuffer class, and has been newly added.
In addition, it has been made to generate a command that returns BLOCK_SIZE8 to the block mode for the render buffer to the nn::gr::MakeDisableAllCommand function.
As long as you are not changing the block mode, if the nn::gr::MakeDisableAllCommand function is called, the normal block mode will be returned and there will be no problem.
ShaderLite class to lower the amount of consumer memory [SDK]Shader class is large, ShaderLite was added to lower the amount of memory consumed.
nngxFilterBlockImage function [SDK]nngxFilterBlockImage function was that it had to be a multiple of 8, but this was an error. It has to be a multiple of 16.
This has been revised in documentation and in the function's error checking section.
nngxFlush3DCommandNoCacheFlush function [SDK]nngxAddSubroutineCommand function was called, when the nngxFlush3DCommand function is called, a flush of the cache for the buffer up to the kick command is performed.
A function that does not perform this cache flush was added.
Instead of having the cache flush occur several times, use this function to skip the flush, and then use the nngxUpdateBuffer function to flush all at once, at the end, to lower the CPU cost.
nngxWaitCmdlistDone function is enabled even in Release builds [SDK]nngxWaitCmdlistDone function can also determine timeouts, via the nngxSetTimeout function, but until now this was only enabled in Debug and Development builds.
With this update, it is now also enabled in Release builds.
defi instruction has been changed from [0, 255] to [-128, 255]litp instruction, has been revised to 4
DMPGL20_specification.pdf.
PROCTEX_ADDSQRT2_DMP and PROCTEX_RMAX_DMP in Procedural Textures.DMPGL20_programming_guide.pdf.
DMPGL20_system_API_specification.pdf.
NN_GX_CMDLIST_HW_STATE, a factor in system hangs when invalid values are output from the vertex shader and when invalid settings are made for the load array.VertexShaderReferenceManual.pdf.
defi instruction.cmp Instruction.
$CTR_SDK/documents/shader.
In addition, when using the vertex buffer and rendering with the glDrawElements function, when an independent vertex array is defined with 12 vertex attributes, a limitation has been added so that it will result in a GL_INVALID_OPERATION error.
As a result of these revisions, the program state cache and vertex state cache will no longer be compatible.
Note that state cache data will need to be re-generated with this version.
BUTTON_SELECT_FOR_DEBUGGING input was not available, even when setting debug mode from the Config tool and executing the nn::hid::EnableSelectButton function. This has been fixed.
HostIO library manufactured by IS [SDK]HostIO library for the debugger has been updated to the 20111205 version.
nnMain.
Information on this STL behavior has been added to the System Programming Guide.
nninitStartUp [SDK]nninitStartUp, the function for memory management mechanism initialization.
A link to the list can be found on the nninitStartUp page in the function reference.
MTX34RotXYZRadPartially, MTX34RotXYZDegPartially, MTX34RotAxisRadPartially, and MTX34RotAxisDegPartially function to update only the rotating portion of a specified matrix.
PostNewsUrl function [SDK | System Updater | Sample Demos]
To this function was added a function to calculate the necessary work buffer size, GetWorkBufferSizeForNewsUrl.
When a post is made with the PostNewsUrl function, the CTR browser is launched to the URL specified within the notification posted to the notification list.
In addition, the news/news_test demo was changed to use this function.
nn::os::LightEvent::TryWait(nn::fnd::TimeSpan) and os::LightSemaphore::TryAcquire(nn::fnd::TimeSpan) functions were removed.
Event, Mutex, Semaphore, Thread, and Timer.
In addition, relevant information was added to the System Programming Guide.
$CTR_SDK/documents/TechnicalNotes/Dll/DllManual.html
nnroUnresolved function can be used with static modules.$CTR_SDK/documents/TechnicalNotes/Dll/BuildSystemDevelopmentGuideForDll.html
nnroUnresolved function with static modules
nnroUnresolved in static modules [SDK]nnroUnresolved function was defined in static modules, this was changed to be the same as for dynamic modules so they could be called when calling an unresolved function.
Several changes are needed when constructing your own build system.
For details, see $CTR_SDK/documents/TechnicalNotes/Dll/BuildSystemDevelopmentGuideForDll.html.
BossLotcheckTool [SDK]BossLotcheckTool. This has been fixed.
FontConverter so that the options that take numerical values as parameters (-ol, -or, and so forth) can now take negative values too.
DevMenu private [SDK]DevMenu is automatically imported with System Updater, so there is no need to release it as part of the CTR-SDK. It has, therefore, been made private.
For details, see the ctr_makerom32 reference page.
TwlNandFiler [SDK]WaveCodecCtr.dll public [SDK]WaveCodecCtr.dll that enables compression to the DSP ADPCM format within user applications.
The documentation also includes cautions on compression of loop waveforms, so refer to it when calling the nn::snd::EncodeAdpcmData function on production hardware to compress to the DSP ADPCM form.
For more information, see $CTR_SDK/documents/tools/WaveCodecCtr.dll.
ctr_compress tool [SDK]ctr_compress tool to enable use of standard input and output.
ctr_loadrun to pass program parameters to CTR applications [SDK]ctr_loadrun for passing program parameters to CTR applications.
ctr_loadrun [SDK]ctr_loadrun.
ctr_makerom's -D option [SDK]-D option. This has been fixed.
ctr_makerom32.exe, when certain conditions were met on the SD card, a bug would result in the generation of a ROM that could not launch. This has been fixed.
As a result of this fix, the maximum ROM size may increase on the order of several KB.
ScanResultReader) obtained with the nn::uds::Scan function.
They are consolidated with the ScanResultReader::Merge function.
Also added the ScanResultReader constructor to generate blank scan results.
This can simplify the repetition of scans.
CreateNetwork function to be able to set arbitrary data to a beacon [SDK]CreateNetwork function which sets arbitrary data for the beacon and builds a new network.
nn::util::Singleton, and so forth.
LightingSample demo, you will see a phenomenon where the area the light is shining on will periodically flash.FontConverter is sometimes not able to convert Windows fonts correctly if the following settings have been made.(2011/12/22)
dev2 with the Config tool.
As a result, the feature to set the system mode on development hardware to dev1 will be deleted from System Updater.
In addition, this new Config tool that supports this change will be removed from the CTR-SDK package, since there will be problems with its use with the old System Updater applied to the system.
dev2 will continue to work with a development memory size of 80 MB, and be a system mode that enables the use of the HOME Menu and the library applet.
See the Config reference for more information on settings and limitations.
This bug has been fixed.
PostNewsUrl function [SDK | System Updater | Sample Demos]
To this function was added a function to calculate the necessary working buffer size, GetWorkBufferSizeForNewsUrl.
When a post is made with the PostNewsUrl function, the CTR browser is launched to the URL specified within the notification posted to the notification list.
In addition, the news/news_test demo was changed to use this function.
CIA file in an invalid format or a file other than a CIA file was attempted to be imported by the debugger. This has been fixed.
Config tool [System Updater]Config tool in a launched state, when the POWER Button is briefly pushed, the Config tool will terminate and return to the System menu.
HostIO in DevMenu [System Updater]CIA files on the PC using HostIO in DevMenu.
Set the directory where import will incur on the PC to the DEVMENU_ROOT environmental variable, after which you will need to launch HIO-Daemon.
If you are using development hardware, you can import from a PC using UIC-MIDI.
As a result of this, the Import mode in DevMenu was changed to the SDMC and HIO mode.
DevMenu [System Updater]SD and HIO modes in DevMenu.
Delete a CIA file with the X Button, and delete all CIA files in the current directory with the LR + X Buttons.
Import and then delete with the X + A Buttons, and import and then delete all the CIA files in the current directory with the LRX + A Buttons.
DevMenu [System Updater]DevMenu if the POWER Button was pressed immediately after launching it. This has been fixed.
(2011/12/22)
sample_nsalist demo, when downloading the files in the list, this has been revised to use instant download tasks.
AppRecommendedFlow demo [Sample Demos]AppRecommendedFlow demo that reflects the recommended flow of use for the Circle Pad Pro.
Together with this change, a reference page has been added and a change to folder structure has been made (extra_pad has been changed to simple and moved under hid/ExtraPad).
hio demo [Sample Demos]hio demo has been changed so that it can even be built as a Release build.
PostNewsUrl function [SDK | System Updater | Sample Demos]
To this function was added a function to calculate the necessary working buffer size, GetWorkBufferSizeForNewsUrl.
When a post is made with the PostNewsUrl function, the CTR browser is launched to the URL specified within the notification posted to the notification list.
In addition, the news/news_test demo was changed to use this function.
simple demo and added the plugin demo [Sample Demos]simple demo. Separated out the plugin demo that simultaneously used several modules that have the same symbols as were used in the simple demo.
AdpcmEncDec sample demo [Sample Demos]AdpcmEncDec sample demo so that waveforms were connected perfectly during loop playback.
None.
(2011/12/06)
(2011/11/29)
Due to this change, the thread starting address is displayed as 0x100000.
(2011/11/28)
This change does not have any effect on applications that were unaffected by this issue.
(2011/11/25)
LightingSample demo, you will see a phenomenon where the area the light is shining on will periodically flash.FontConverter is sometimes not able to convert Windows fonts correctly if the following settings have been made.(2011/11/25)
This was actually changed in CTR-SDK 3.2.2 but was accidentally omitted from the change log.
This was actually changed in CTR-SDK 3.2.2 but was accidentally omitted from the change log.
(2011/11/23)
This bug does not occur for any access point to which the system has successfully connected before.
(2011/11/22)
FakeClient.
CreateNetwork function was called [System Updater]CreateNetwork was called.
(2011/11/18)
uds::Initialize [System Updater]uds::Initialize compatibility.
(2011/11/17)
This fix has absolutely no effect on CTR application behavior.
(2011/11/15)
The act of increasing the execution count for a task and then re-executing it used to always result in an error.
(2011/11/14)
(2011/11/11)
PrintResult [SDK]PrintResult to display the correct result for Description—instead of "Unknown"—when it is called on a Result value that belongs to MODULE_NN_ENC.
The HIO library's HostDirectory::GetNextEntry function was also changed to have different Result values when IS-CTR-DEBUGGER is used.
DspEffect's IsBufferInUse function to always return true [SDK]DspFxDelay and DspFxReverb classes' IsBufferInUse function to always return true regardless of whether the buffer could be released.
Config tool [SDK | System Updater]Config tool.
LightingSample demo, you will see a phenomenon where the area the light is shining on will periodically flash.FontConverter is sometimes not able to convert Windows fonts correctly if the following settings have been made.(2011/11/11)
RegisterImmediateTask function registered a task for immediate execution.
Config tool [SDK | System Updater]Config tool.
DestroyEndpoint function was called [System Updater]DestroyEndpoint function was called.
Nintendo provides the COPPA Compliance System (COPPACS) for applications aimed at the North American market to comply with the Children's Online Privacy Protection Act (COPPA).
The details of this system are currently under consideration, including the rules for use.
(2011/11/11)
None.
(2011/11/04)
GetLastErrorCode function is not guaranteed to have a particular default return value [SDK]nn::ac::GetLastErrorCode function is not guaranteed to have any particular return value if no errors have ever occurred.
Config tool that allows it to display serial numbers [SDK | System Updater]Config tool so that it now allows you to check the system's serial number.
LightingSample demo, you will see a phenomenon where the area the light is shining on will periodically flash.FontConverter is sometimes not able to convert Windows fonts correctly if the following settings have been made.(2011/11/04)
This bug was introduced in CTR-SDK 3.2.2 (System Updater 0.16.8).
Config tool that allows it to display serial numbers [SDK | System Updater]Config tool so that it now allows you to check the system's serial number.
(2011/10/28)
nn::applet::CTR::JumpToInternetSettingnn::applet::CTR::JumpToParentalControlsnn::applet::CTR::JumpToDataManagementnn::applet::CTR::IsFromMset
fs library.
Any performance designs based on the information in this document from CTR-SDK 3.2 must be reviewed.
DMPGL20_programming_guide.pdf.
DMPGL20_specification.pdf.
DMPGL20_system_API_specification.pdf.
VertexShaderReferenceManual.pdf.
litp instruction, and revised latency of this instruction from 2 to 4.
LightingSample demo, you will see a phenomenon where the area the light is shining on will periodically flash.FontConverter is sometimes not able to convert Windows fonts correctly if the following settings have been made.(2011/10/28)
nn::ac::CancelConnectAsync function sometimes caused the AC library API to become unresponsive.
Action in the background could cause this bug even if the application does not explicitly cancel the process.
messageSizeMax) specified in MessageBox::CreateMessageBox to a fixed value.
The specific impact of this change to the MessageBox::WriteMessage function's error-checking routine will depend on the system's firmware version, as follows.
messageSizeMax when creating the box, the WriteMessage function will return nn::cec::ResultMessTooLarge.WriteMessage function will only return nn::cec::ResultMessTooLarge when the size of the message to write exceeds 100 KB.
This revision could change the timing of determining an access error when removing an SD Card that is being accessed.
swi execution in debugger [System Updater]swi execution in the debugger.
(2011/10/21)
crypto initialization [SDK]Initialize and Finalize functions from crypto in function reference.
These functions will be removed in a future release.
Result [SDK]Result.
FS library.
Any performance designs based on the information in this document from CTR-SDK 3.2 must be reviewed.
This was fixed by preventing the CTR browser from being launched from the DevMenu. The CTR browser can only be started from the HOME Menu.
Execute this feature by selecting the file to destroy, and pressing the L + Y Buttons.
Note: This feature will not always destroy the file.
LightingSample demo, you will see a phenomenon where the area the light is shining on will periodically flash.FontConverter is sometimes not able to convert Windows fonts correctly if the following settings have been made.(2011/10/21)
nn::ac::Finalize function. This addresses an issue with delays in freeing this handle.
nn::ac::CancelConnectAsync function would fail at certain times.
[APPLET] Static occurs when exiting some applications from the HOME Menu.
This was actually changed in CTR-SDK 3.2 but was accidentally omitted from the changelog.
FakeClient::StartScan function and FakeClient::StopScan functions) or after scanning would result in a fatal error.
This was actually changed in CTR-SDK 3.2 but was accidentally omitted from the change log.
This bug has existed since System Updater 0.16.6 (version supporting CTR-SDK 3.2).
ResultMediaAccessError if it coincided with a high-priority file access to another device.
0xD9001BF7).
Japan region: Japan
European region: Germany
North American region: United States
CreateNetwork function would cause a fatal error [System Updater]CreateNetwork function would cause a fatal error.
ConnectNetwork function in SPECTATOR would cause a fatal error [System Updater]ConnectNetwork function and specifying CONNECT_AS_SPECTATOR would cause a fatal error if the ConnectNetwork function was called again with the same conditions immediately after the error was returned.
This was actually changed in CTR-SDK 3.2 but was accidentally omitted from the change log.
FinishableCondition member of nn::swkbd::CTR::Config is set to FINISHABLE_CONDITION_NON_SPACE, it should not be possible to finalize the input unless the input contains at least one non-blankspace character. Fixed a bug where it was possible to finalize input containing only blankspace characters, depending on the operation.
Register Friend: Local [System Updater]Register Friend: Local from 3 to 10.
This has been changed so that a dialog box stating that the two parties are now friends appears when the friend relationship is formally established.
Nintendo provides the COPPA Compliance System (COPPACS) for applications aimed at the North American market to comply with the Children's Online Privacy Protection Act (COPPA).
The details of this system are currently under consideration, including the rules for use.
(2011/10/21)
GLCombination sample, combining Gd with Gl library.
None.
(2011/10/14)
GetStartupArgument function [SDK]applet::GetStartupArgument function would return true even if the first argument, pParam, was NULL. The function has been revised to return false in this case.
applet::ReceiveDeliverArg function has been made private [SDK]applet::ReceiveDeliverArg has been made private because it is no longer necessary for the application to call it.
Use the applet::GetStartupArgument function to get the data specified in the applet::RestartApplication function.
nn::extrapad, the Circle Pad Pro calibration applet.
The $SampleDemos/applet/extrapad sample demo, which uses the Circle Pad Pro calibration applet, has also been added.
nn::applet::CTR::JumpToInternetSetting function for jumping to System Settings, which caused the function to jump to the main System Settings screen rather than the Internet Settings screen.
NsaList)FgOnlyTask)DataStoreDownloadAction/DataStoreUploadAction)
include statements to boss.h [SDK]
boss_DataStoreUploadAction.hboss_DataStoreDownloadAction.hboss_FgOnlyTask.hboss_NsaList.h
NULL character to the end of the decrypted string during RSA decryption, but now does not do so.
Initialize and Finalize functions for crypto.
UncompressBLZ and SecureUncompressBLZ functions.
SecureUncompressBLZ function to return an error for valid compressed data [SDK]SecureUncompressBLZ function sometimes returned an error for input data that can be expanded correctly.
UncompressBLZ and SecureUncompressBLZ functions [SDK]cx::UncompressBLZ and cx::SecureUncompressBLZ functions.
Initialize function to check an Event's Handle [SDK]Initialize functions of FakeClient and Server to return an error when passed an invalid Event Handle.
bool pIsShowPlayedGame from the parameter list of the GetMyPreference function [SDK]bool pIsShowPlayedGame from parameter list of GetMyPreference function, because it was never used.
IsMyPreferenceValid function to determine whether the user has specified a publication setting [SDK]IsMyPreferenceValid function to check whether the user has specified a publication setting. This setting governs whether the system publishes the user's online status and what game the user is playing in the initial startup sequence for the friend list.
Consequently, functions were added to set the priority of namespaces and class members under nn::fs.
See the documentation for details.
MakePostVertexCacheEntryTypeCommand function [SDK]
It lets you switch between the default of 32 and half that (16).
Although reducing the number of entries to 16 normally does not have advantages because it reduces the cache hit rate, it is possible to expand the maximum number of input attributes in the geometry shader to 15 instead.
See the System API Specifications included with the Geometry Shader SDK for details.
gd::System::StartRecordingPackets function [SDK]gd::System::StartRecordingPackets function so that the RecordingPacketUsage enumerated type can be specified.
If the RecordingPacketUsage value is RECORD_COMMAND_LIST_COPY, it copies the command buffer. (Prior behavior/default)
If the value is RECORD_COMMAND_LIST_NO_COPY, it reuses the same command buffer.
In the first case, the copied command buffer can later be edited and executed, but the copy process takes time. In the second case, the process time is shorter, but the command buffer cannot be edited, and it also cannot be reused after it is cleared.
nngxFlush3DCommandPartially function [SDK]nngxFlush3DCommandPartially function, which can specify the execution size.
This makes it possible to implement command-buffer jumps without using the nngx functions (nngxAddJumpCommand and nngxAddSubroutineCommand).
DMPGL20_system_API_specification.pdf.
0x1d9.0x1d9 the requirement that IDs be in ascending order.dmp_TexEnv[i].srcRgb and dmp_TexEnv[i].srcAlpha texture combiner uniforms.nngxFlush3DCommandPartially function.GL_SRC_ALPHA_SATURATE from conditions in description of bit 0x112 [3:0] in Table 5-50.DMPGL20_programming_guide.pdf.
DMPGL20_specification.pdf.
VertexShaderReferenceManual.pdf.
nn::hid::CTR::ExtraPad class to handle the Circle Pad Pro.
Consequently, SampleDemos/hid/extra_pad has also been added as a sample demo using this feature.
hio library's return values when an Intelligent Systems debugger is used [SDK]hio library when using the Intelligent Systems debugger.
hio library functions [SDK]hio library API in nn/hio/hio_Result.h.
Also fixed bug where (-1,63,255,1023) was returned if the HostFile::Open function was called for a non-existent file.
PrintResult to show "Unknown" as the description [SDK]Result returned by a function in nn::ir was printed using PrintResult, the description displayed as "Unknown."
WaitConnection function.WaitToConfirmId function where RequireToConfirmId was incorrectly written as "WaitToConfirmId."AnyConnection, from description of GetConnectionRole function.GetConnectionStatusEvent.restore parameter in Send function.
nn::ir::CTR::Communicator, which requires you to specify a communication ID that is generated from your application's unique ID.
The IrCommunicatorChecker tool was added to check this communication ID in data that is sent and received.
Even if the APP1 segment contains Exif information, decoding will fail when JPEG or MP-format data has an IFD0 offset other than 8.
JPEG_DECODER_ERROR_INTERNAL as an error code from the JpegMpDecoder::GetLastError function when progressive JPEG or some other unsupported data caused a decoding function to fail.
These error codes have been revised (to JPEG_DECODER_ERROR_DHT or JPEG_DECODER_ERROR_SOF_NOT_FOUND, for example).
CountNumbers function [SDK]CountNumbers function to recognize more characters as numbers (not enough characters were recognized before).
CriticalSection to be more computationally expensive than necessary [SDK]nn::os::CriticalSection processing was different than expected and caused an increased load.
Light* synchronization classes so that they cannot be copied [SDK]nn::os::LightEvent, nn::os::LightSemaphore, and nn::os::LightBarrier classes so that they cannot be copied (it should not have been possible to copy them in the first place).
LightEvent from waiting [SDK]LightEvent::Wait to incorrectly exit without waiting under certain conditions when nn::os::LightEvent was initialized using a manual reset.
This bug has been fixed.
Note that with this change, the size of the structures and classes used by members in nn::os::LightEvent and LightEvent have changed.
std::srand function to be called implicitly [SDK]Sender::Initialize and Receiver::Initialize functions used to call the std::srand function implicitly, and there was thus a risk that these functions could interfere with random number generation within an application.
The code that called the std::srand function within the RDT library has been removed, fixing this bug.
If you are implementing your own build system, you must specify additional options to makecrr.
For details, see $CTR_SDK/documents/TechnicalNotes/Dll/BuildSystemDevelopmentGuideForDll.html.
FxReverb damping bug [SDK]FxReverb damping bug caused effects to feel weaker than they actually were.
You can now fix this bug by setting the m_IsEnableDampingBugFix member variable of the Param class to true.
Note that this member variable is false (the bug is not fixed) by default for compatibility reasons.
GetMasterVolume function [SDK]SetMasterVolume function.
Config tool to set the country [SDK | System Updater]Config tool so that it can now set the country.
SaveDataFiler feature that restores save data to factory defaults for downloadable applications.
Place your cursor over a title on the User tab and press the X Button to restore the factory defaults.
You can delete it just like other applications, by pressing the X Button.
SaveDataFiler feature that imports and exports raw user save data [SDK]SaveDataFiler feature that can import and export raw user save data.
You can press the L Button, B Button, and X Button at the same time to export data, which can then be imported just like any other data.
ctr_compress that prevented the -A option from working properly [SDK]-A option to be ignored when the -lh or -lrc option was specified.
Also fixed a bug that caused the padding region to be an undefined value, instead of 0, when the -A option was specified.
ctr_compress when the compressed file grows larger than the original file [SDK]
This warning does not appear when the -s option is specified.
DemoIndex to ctr_makerom [SDK]ctr_makerom features for creating download application demos.
You can now specify a demo index between 1 and 255 for TitleInfo - DemoIndex in your RSF file.
This allows you to create multiple demos tied to a single normal application.
The DESC for download application demos has also been modified to match these changes.
makebanner [SDK]
You must re-generate ICN files using the makebanner provided with version 3.2 or later of the CTR-SDK before you make a master submissions for the Americas region.
CecBoxTool, which writes data from the system's StreetPass boxes to an SD Card and can also write the data back.
You can use this while debugging to create an environment for reproducing bugs.
SaveDataFiler feature that destroys individual files in user save data and expanded save data [SDK]SaveDataFiler features so that individual files can be reliably destroyed in user save data and expanded save data.
LightingSample demo, you will see a phenomenon where the area the light is shining on will periodically flash.FontConverter is sometimes not able to convert Windows fonts correctly if the following settings have been made.(2011/10/14)
Awake notification from being sent when the system recovered from Sleep Mode [System Updater]Awake notification from being sent, prevent the screen from turning on, cause sound to hang, or exhibit other symptoms.
nn::extrapad, the Circle Pad Pro calibration applet.
The $SampleDemos/applet/extrapad sample demo, which uses the Circle Pad Pro calibration applet, has also been added.
Retry state nor would it try again.RUNNING as that task's state.
For example, if a task was executed immediately in the foreground, its state would sometimes change to TASK_RETRY if it was still running when another task was executed immediately in the foreground.
(The result of immediate foreground task execution must be TASK_DONE or TASK_ERROR.)
HTTP_ERROR_CONN_STATUS will now be retried [System Updater]HTTP_ERROR_CONN_STATUS is now considered to indicate that a task should be retried, not that the task has an error.
This will increase the number of times that a running upload task will be retried if communication is interrupted.
X-BOSS-Closed field when a task's state was TASK_RETRY before it accessed the server [System Updater]X-BOSS-Closed field for a task whose state was TASK_RETRY before it accessed the server (services were mistakenly considered to have ended even when that was not the case).
TASK_RETRY before it accessed the server [System Updater]TASK_RETRY without any server access.
This allows you to launch the internet browser from the HOME Menu.
The internet browser's engine is not allocated as much memory on a PARTNER-CTR Debugger or PARTNER-CTR Capture as it is on a retail CTR system or a CTR test unit.
As a result, the internet browser can display some pages on a retail system that it cannot display on a PARTNER-CTR Debugger or PARTNER-CTR Capture.
However, you cannot launch it when you have configured a memory size of 96 MB (dev1) from the system mode settings.
nn::friends::Login function is called while the system is offline.
Consequently, functions were added to set the priority of namespaces and class members under nn::fs.
See the documentation for details.
Result values that are given when file access validation fails [System Updater]Result values related to nn::fs::ResultVerificationFailed, which are returned during file access.
This does not change how errors are handled, but DESCRIPTION numbers may be different than they were before.
Read and Finalize functions from returning [System Updater]
http::Connection::Finalize function would not return when a Connection was cancelled before communication started.http::Connection::Read function would not return for a Connection whose specified URL failed DNS resolution.
http::Finalize and the process of cleaning up POST memory synchronous [System Updater]http::Finalize, you can now verify that the POST memory configured by http::Initialize has been cleaned up.
This allows you to reuse the POST memory for some other purpose immediately after http::Finalize has been executed.
(POST memory used to be cleaned up asynchronously and was therefore unusable for some indeterminate period of time after http::Finalize was executed.
For this synchronous processing to behave correctly, however, you must run Finalize on every http::Connection before you call http::Finalize.
http::Finalize is called before all communication is finalized [System Updater]http::Finalize was called before Connection::Finalize was called for all communication in progress.
Finalize was not called [System Updater]nn::ir::CTR::Communicator::Finalize.
This was actually changed in CTR-SDK 3.0 but was accidentally omitted from the change log.
This means that you must use PARTNER-CTR Debugger 2011/09/08 or later to debug DLLs.
If you are implementing your own build system, you must specify additional options to makecrr.
For details, see $CTR_SDK/documents/TechnicalNotes/Dll/BuildSystemDevelopmentGuideForDll.html.
Config tool to set the country [SDK | System Updater]Config tool so that it can now set the country.
ResultWirelessOff is now returned immediately after the system enters wireless-disabled mode [System Updater]CreateNetwork, ConnectNetwork, and Initialize functions to return ResultWirelessOff (rather than an indeterminate Result value) when they are called immediately after the system enters wireless-disabled mode.
(2011/10/14)
nn::extrapad, the Circle Pad Pro calibration applet.
The $SampleDemos/applet/extrapad sample demo, which uses the Circle Pad Pro calibration applet, has also been added.
sample_nsalist, a sample demo for NSA list features.
Read the reference pages for the sample demo before you run it.
sample_fgonlytask, a sample demo for tasks that are only executed immediately.
GraphicsDrawing class [Sample Demos]GraphicsDrawing class's m_UseColorFillProgram and m_UseFontProgram member variables to its constructor's initialization list because they had been accidentally omitted.
This bug also meant that you accessed these indeterminate member variables when the RenderSystemDrawing class was initialized, their values would trigger an access violation.
DemoIndex item to TitleInfo in the RSF file for the sample used to create a downloadable demo under demo1/DemoVersion.
Specify a demo index between 1 and 255 for DemoIndex.
CommandBufferJump sample demo [Sample Demos]CommandBufferJump to use the nngxFlush3DCommandPartially function, which was just added, and consolidated cache flushes to improve performance. NNGX API restrictions had made the previous implementation of CommandBufferJump complicated.
ProceduralTexture and GraphicsDrawing, to render graphics incorrectly when double command lists were used.
Framework for sample demos [Sample Demos]gx/Gr/Framework.
Revised all of the sample demos under nngxFlush3DCommand instead of nngxSplitDrawCmdlist.PostDraw function to the IScene class.gx/Gr to conform to these changes.
StartRecordingPackets function to the gx/Gd/DrawPrimitiveScene sample demo [Sample Demos]gd::System::StartRecordingPackets function.
nn::hid::CTR::ExtraPad class to handle the Circle Pad Pro.
Consequently, SampleDemos/hid/extra_pad has also been added as a sample demo using this feature.
None.
(2011/09/08)
nn::ac::Initialize, Finalize, IsInitialized functions to be thread-safe.
However, this does not guarantee thread safety for functions related to initialization and other functions that require initialization before being called.
nn::applet::CTR::IsFromMset function to determine whether control has jumped back from System Settings to the application.
nn::applet::CTR::JumpToInternetSetting, nn::applet::CTR::JumpToParentalControls, nn::applet::CTR::JumpToDataManagement functions to jump from the application to System Settings.
include statements from http and ssl BOSS header files [SDK]include statements from the http and ssl BOSS header files since the HTTP and SSL libraries are now private.
Applications that indirectly included the http or ssl header files from the BOSS header files will error out when compiling, so you must directly include the http or ssl header files in your application's source code.
Use this to implement a service that could show the user a list of data files on the server and then download just the selected data files.
DataStore) task [SDK | System Updater]
Added a DataStore upload task to upload data to the server, and a DataStore download task to download data from the server.
Use this to implement a background communication service that could send data from one CTR and receive it on another.
boss::FgOnlyTask class) for immediate-execution tasks.
Use this API to simplify your implementation of immediate-execution tasks.
Tasks registered using this API are not counted against the number of tasks allowed per application, as described in the Guidelines.
Also added a function to get the region code portion from the ID for simple address data.
cryptoRSA library providing encryption, decryption, signing, and authentication features using RSA public keys.
nn::dlp::CTR::EventDesc [SDK]nn::dlp::CTR::EventDesc.
ccl builds would fail [SDK]ccl would fail when specifying MANUAL_DIR and CHILD_APPS.
$CTR_SDK/resources/icon/PlayCoin directory.
.a library file when building another .a library file that uses TARGET_LIBRARY.
The system now handles this as input at build time when specifying the library file in the LIBRARY_LIBFILES variable.
omake where large source files would not be recompiled after edits. The CTR-SDK build system was updated to handle large source files, and this update extends this support to the creation of object files from source files.
enc library [SDK | Sample Demos]enc library for conversion both ways between UTF-8 and UTF-16 character encodings.
Also added a sample demo of charset conversion.
nn::friends::CTR::GetFriendScreenName [SDK]nn::friends::CTR::GetFriendScreenName.
This was actually fixed in CTR-SDK 3.0 but was accidentally omitted from the change log.
nn::friends::Initialize, Finalize, IsInitialized functions to be thread-safe.
However, this does not guarantee thread safety for functions related to initialization and other functions that require initialization before being called.
This shares the local system's matchmaking group participation status via the friends library, making it easier to join into the matchmaking group that a friend is participating in.
This design assumes a link to the NEX library, so specific details on use will be made available in a future release of the NEX library, its samples, and documentation.
RenderState::WBuffer::MakeCommand passing a 32-bit value as-is to register 0x4e when a 24-bit value was needed.
Also revised polygon offset calculation when the W buffer is disabled to multiply by 128.0f, the same as when the buffer is enabled.
gd library [SDK]gd library to use texture unit 2.
gd function parameter names [SDK]gd library function parameter names.
gd::Light::SourceType enumerated type, changed SOURCE_TYPE_PUNCTUAL to SOURCE_TYPE_POINT [SDK]gd::Light::SourceType enumerated type, changed SOURCE_TYPE_PUNCTUAL to SOURCE_TYPE_POINT.
The header file still contains SOURCE_TYPE_PUNCTUAL to maintain compatibility, but note that this is deprecated and that you should use SOURCE_TYPE_POINT from now on.
gd::RasterizerStage functions to be immediate functions [SDK]
SetCullingSetViewportEnableClippingPlaneSetClippingPlaneEnableScissorSetScissor
gd::System::Finalize about freeing memory [SDK]gd::System::Finalize function where not all objects would be destroyed.
This function automatically destroys the following objects.
texture2DtextureCubeRenderTargetDepthStencilTargetShaderRecordingPacketShaderPipelineShaderBinaryVertexBufferResourceTexture2DResourceCombinerStateVertexInputStateSamplerStateDepthStencilStateBlendStateInputLayout
nngxUseSavedCmdlist and nngxUseSavedCmdlistNoCacheFlush functions [SDK]nngxUseSavedCmdlist and nngxUseSavedCmdlistNoCacheFlush functions to allow specifying the current command list. This previously caused an error.
In line with this change, removed the GL_ERROR_8039_DMP and GL_ERROR_8094_DMP errors.
DMPGL20_system_API_specification.pdf
NN_GX_CMDLIST_CURRENT_BUFADDR and NN_GX_STATE_ALL, which were previously only included in the function reference.0x83, to Table 5-33 the texture format setting register.
(This was previously only included in section 5.8.20.13 Shadow Texture Settings.)DMPGL20_programming_guide.pdf
NN_GX_PROFILING_BUSY_SAMPLING_TIME_MICRO_SECOND and NN_GX_PROFILING_BUSY_SAMPLING_TIME_NANO_SECOND as values for the pname parameter in the profiling feature nngxSetProfilingParameter function.
This sets the busy counter to count for periods of time set in microseconds and nanoseconds.
http_Initialize.h [SDK]http_Initialize.h header file that makes just the http::Initialize and http::Finalize functions public for applications using the NEX DataStore library.
When using the DataStore library, applications must call both the http::Initialize and http::Finalize functions.
nn::ir::CTR::Communicator function public for using the infrared communication features between two CTR systems.
Also added the SampleDemos/ir/communicator sample demo using this feature.
This bug only occurs in CTR-SDK version 3.0, and does not occur in earlier versions.
AutoStackManager [SDK]nn::os::AutoStackManager and derived classes.
See $CTR_SDK/documents/TechnicalNotes/SystemProgrammingGuide/SystemProgrammingGuide.pdf for detailed reference and system programming guidelines.
InitializeDeviceMemory [SDK]nn::os::InitializeDeviceMemory and the following related declarations and definitions.
NN_OS_DEVICE_MEMORY_SIZE macroDEVICE_MEMORY_SIZE constantInitializeDeviceMemory functionnnosInitializeDeviceMemory function
ASSERT to InitializeMemoryBlock to test for multiple calls [SDK]ASSERT statement to nn::os::InitializeMemoryBlock to check if function has been called multiple times.
In non-release builds, calling InitializeMemoryBlock the second time will cause the ASSERT to fail and processing to halt.
StackMemory [SDK]nn::os::StackMemory initialization function when specifying a memory region that cannot be partitioned where the function would return an error but the internal state would become inconsistent.
Also added explanation to the function reference that this function cannot partition memory allocated from anywhere but the heap.
$CTR_SDK/documents/TechnicalNotes/SystemProgramingGuide/SystemProgramingGuide.pdf, about threads, synchronization mechanisms, time, debug output, and CPU exception handlers.
TryWait member function that includes a timeout to the nn::os::LightEvent class.
Also added TryAcquire member function that includes a timeout to the nn::os::LightSemaphore class.
PANIC halt would occur when receiving a connection request when the Receiver state is FINISHED [SDK]PANIC halt would occur when receiving a connection request when the Receiver state is FINISHED.
Replaced this PANIC with statements to print the following strings to debug output, and revised to not halt the running program.
State is FINISHED, but received segment from remote!
This was actually fixed in CTR-SDK 3.0 but was accidentally omitted from the change log.
GetSizeInfo to allow using only part of cro [SDK]nn::ro::GetSizeInfo function to no longer require passing all of cro after loading into memory and instead allow using just the start of cro.
FxReverb::SetParam [SDK]nn::snd::SetEffect to register an FxReverb object and then calling FxReverb::SetParam would not update parameter values.
This bug does not occur if doing this before calling SetEffect.
STATUS_DONE without being played when hitting a buffer underrun during stream playback [SDK]WaveBuffer objects appended at the moment when playback halts due to a buffer underrun changed to STATUS_DONE without being played, as when playing back a stream as in the snd/StreamPlayer sample demo.
Note that the software keyboard will not function unless you apply System Updater 0.16.1 that supports this CTR-SDK version.
BannerModelConverter [SDK]BannerModelConverter to now output an error when it cannot resolve the names of textures referenced by models being converted, instead of continuing the conversion as in past versions.
BossLotcheckTool [SDK]BossLotcheckTool to run tasks immediately in the background.
dlp debug settings of the Config tool [SDK]Config tool under OtherSetting, changed the name of the Dlp Force Child Import setting to Dlp Debug, and reworked dlp debug feature allocation.
For details, see the Config tool reference.
Config tool features [SDK]Config tool to allow configuration of COPPACS settings.
TexturePackager tool [SDK]FastImproved and MediumImproved new compression methods to the TexturePackager tool for faster encoding of high-quality images.
CardDevices would not be properly reflected in ccl [SDK]makerom where the CardDevice value from the RSF file would not be reflected when using ccl.
This means that cci and ccl are no longer compatible for save data saved to a backup device.
ccl build would error out when ROMFS was not specified [SDK]ctr_makerom would halt on an error when building ccl with ROMFS left unspecified.
makebanner [SDK]makebanner.
makebanner would error out on conversion and fail to properly convert
Card2 support to makerom [SDK]makerom to generate a CCI file that supports Card2 by specifying Card2 as the CardInfo/MediaType value in the rsf file.
SaveDataFiler to allow for the per-file deletion of user save data and expanded save data [SDK]SaveDataFiler to allow for the per-file deletion of user save data and expanded save data.
ctr_makerom would error out in certain environments [SDK]ctr_makerom would error out on execution when certain environment variables were set multiple times.
NetworkDescription comparison function [SDK]NetworkDescription::CompareWith and NetworkDescriptionReader::CompareWith functions for comparing network information obtained from a new scan against information obtained previously.
nn::uds::CTR::NO_WAIT [SDK]nn::uds::CTR::NO_WAIT.
To support this automatic linebreak, also added *_WORD_WRAP enumerator to the errorType enumerated type in the Config parameters.
LightingSample demo, you will see a phenomenon where the area the light is shining on will periodically flash.FontConverter is sometimes not able to convert Windows fonts correctly if the following settings have been made.(2011/09/08)
nn::ac::GetLastErrorCode when no error has yet occurred from 0 to 34199.
nn::applet::CTR::JumpToInternetSetting, nn::applet::CTR::JumpToParentalControls, nn::applet::CTR::JumpToDataManagement functions to jump from the application to System Settings.
This was actually fixed in CTR-SDK 3.0 but was accidentally omitted from the change log.
Use this to implement a service that could show the user a list of data files on the server and then download just the selected data files.
Old tasks are deleted automatically.
This removes any need for applications to handle task registration failures.
DataStore) task [SDK | System Updater]
Added a DataStore upload task to upload data to the server, and a DataStore download task to download data from the server.
Use this to implement a background communication service that could send data from one CTR and receive it on another.
boss::FgOnlyTask class) for immediate-execution tasks.
Use this API to simplify your implementation of immediate-execution tasks.
Tasks registered using this API are not counted against the number of tasks allowed per application, as described in the Guidelines.
PHOTO_MODE_NIGHT_VIEW in a call to SetPhotoMode would set the gain to "maximum," but then later either calling SetPhotoMode with the camera in standby and then launching the camera with a call to Activate; or calling SetPhotoMode with the camera running, then going into standby, and then resuming, would reset the gain to "standard."
Server::CloseSessions [System Updater]Server::OpenSessions and then calling Server::CloseSessions would cause the SERVER_STATE_ERROR error state.
Calling Server::CloseSessions now transitions to SERVER_STATE_INITIALIZED.
However, the DLP server for download applications cannot run system updates, so the server cannot communicate with DLP clients running an older system version than the server.
Consequently, the DLP server disconnects DLP clients running older versions.
You must apply any system updates to the DLP client before communicating with the DLP server.
Released products must get the user to apply a system update by means of a memory card or via the network.
The server must notify the user of any messages concerning this disconnection and system updates.
Use the data provided by Nintendo for these messages.
This message display requirement may change in future.
See the nn::dlp::Server::Initialize function reference for details.
Be aware of these issues before implementing any DLP server for download applications.
HostIO to run on the profiler.
Fixed a bug where inserting an SD card that is full but that contains no HOME Menu software management information and resuming a suspended application at the same time causes the application to be unresponsive for up to 10 seconds.
However, any messages displayed in dialog boxes when launching the demos are currently left blank for all regions except Japan.
In addition, the System Updater is not included in the Nintendo eShop, so it cannot launch the Nintendo eShop.
This has been changed to display a FATAL card removal error.
This bug has been fixed.
TryWait member function that includes a timeout to the nn::os::LightEvent class.
Also added TryAcquire member function that includes a timeout to the nn::os::LightSemaphore class.
cci drop execution [System Updater]cci on the debugger, where the card removal error screen would not display even when operating the card emulator.
This was actually fixed in CTR-SDK 3.0 but was accidentally omitted from the change log.
SendTo with NO_WAIT [System Updater]NO_WAIT in a call to SendTo that caused delays in sending.
This would occur when calling the function for sending without specifying NO_WAIT, and then calling the function while specifying NO_WAIT.
This bug has been fixed.
To support this automatic linebreak, also added *_WORD_WRAP enumerator to the errorType enumerated type in the Config parameters.
Specify the language to use in the Config parameter displayLanguage to use the specified language for messages, the keyboard outlet, and the default dictionary used in the applet, regardless of the language specified in System Settings.
(2011/09/08)
demo1 [Sample Demos]demo1.
However, the DLP server for download applications cannot run system updates, so the server cannot communicate with DLP clients running an older system version than the server.
Consequently, the DLP server disconnects DLP clients running older versions.
You must apply any system updates to the DLP client before communicating with the DLP server.
Released products must get the user to apply a system update by means of a memory card or via the network.
The server must notify the user of any messages concerning this disconnection and system updates.
Use the data provided by Nintendo for these messages.
This message display requirement may change in future.
See the nn::dlp::Server::Initialize function reference for details.
Be aware of these issues before implementing any DLP server for download applications.
demo1/DemoVersion, based on demo1.
enc library [SDK | Sample Demos]enc library for conversion both ways between UTF-8 and UTF-16 character encodings.
Also added a sample demo of charset conversion.
CommandBufferJump sample [Sample Demos]gx/Gr/CommandBufferJump sample, in the implementation method of a command buffer jump when using the GR library, causing different rendering results depending on whether jumps were enabled or disabled.
Revised to add the following two methods.
nngxAdd3DCommandNoCacheFlush functionnngxAddSubroutineCommand function
Gr [Sample Demos]
Revised to calculate CPU / GPU processing time instead of displaying FPS.
LightingStage settings for FogAndLight in the gd library sample [Sample Demos]gx/Gd/FogAndLight sample where the scale and bias values for the distance attenuation lookup table input values were not set for all lights, causing unexpected display.
This bug has been fixed.
nn::ir::CTR::Communicator function public for using the infrared communication features between two CTR systems.
Also added the $SampleDemos/ir/communicator sample demo using this feature.
None.
(2011/08/05)
RestartApplication for restating the application itself, and the function GetStartupArgument for getting the argument passed by that function.
GetParentalControlPinCode function [SDK]GetParentalControlPinCode function has been deleted. Use the CheckParentalControlPinCode function to check Parental Control PIN codes.
GetCompressionHeader function private [SDK]GetCompressionHeader function is no longer publicly available.
To get necessary header information, use the GetCompressionType function and the GetUncompressedSize function.
Sample Demos.
ENABLE_CPP_EXCEPTION variable [SDK]ENABLE_CPP_EXCEPTION has been added to the SDK build system.
When true is specified, C++ exceptions are enabled.
The initial value is false.
To use C++ exceptions with cro you must set this variable to true.
omake_deprecated [SDK]omake_deprecated that was added back in Note 128-08 has been deleted.
But because this preprocess result is shared, that has been changed. Specifically, a preprocessed file has been included in the CTR-SDK so that this scatter file can be directly specified to the linker.
There are plans to delete the $CTR_SDK/build/linker directory in the future.
This issue will mainly affect those who construct their own build systems.
RequiredSize (NAND capacity) display for Download Play child programs [SDK]RequiredSize (NAND capacity) was calculated incorrectly such that a result larger than the actual size was displayed in the Import menu.
That was corrected so that now the correct result is shown.
nn::fs with paths comprising multibyte strings (const char*) are not thread-safe functions.
Config tool.
However, you also need to call fs::InitializeLatencyEmulation.
If it is not called, this functionality will always be disabled.
In the future, this functionality will be enabled in the Debug/Development builds and disabled in the Release build.
MakeUniformCommandVS and MakeUniformCommandVS functions [SDK]MakeUniformCommandVS function and the MakeUniformCommandVS function set four-dimensional vector arrays as uniforms, and there is a maximum number of four-dimensional vectors that can be set. The check for that maximum incorrectly treated the maximum number as 24. That has been fixed to the correct number, which is 64.
With the functions listed below, you can generate commands to jump to a command execution address in a different command buffer.
With the functions listed below, you can generate commands to jump to an execution address in a different command buffer and then return to the original execution address.MakeChannel0JumpCommand( bit32* command, const uptr commandBufferPtr, const size_t commandBufferSize )MakeChannel1JumpCommand( bit32* command, const uptr commandBufferPtr, const size_t commandBufferSize )
To return from the jump destination, you can use the following function:MakeChannel0SubroutineCommand( bit32* command, uptr* bufferSizePtr, const uptr commandBufferPtr, const size_t commandBufferSize )MakeChannel1SubroutineCommand( bit32* command, uptr* bufferSizePtr, const uptr commandBufferPtr, const size_t commandBufferSize )
MakeChannelKickCommand( bit32* command, const CommandBufferChannel channel )
gx_MacroReg.h.
gd library due to different resolutions in DepthStencilTarget and RenderTarget under certain conditions [SDK]
RenderTarget and the previously specified DepthStencilTarget.gd::System::ForceDirty function was called
gd::LightingStage when only ShadowAlpha is enabled [SDK]gd library where correct results could not be obtained when disabling both the primary and secondary colors for shadow attenuation and only the alpha component was enabled.
gd::LightingStage::GlobalColorAmbient [SDK]gd::LightingStage::GlobalColorAmbient to (10, 10, 10) to match the default value for DMPGL.
gd::OutputStage::SetDepthRangeMode would not be applied correctly [SDK]gd::OutputStage::SetDepthRangeMode function, producing unexpected results.
In addition, the offset parameter is type s32 but in some places it was treated as an unsigned value.
These bugs were fixed.
gd::ResultInvalidShaderUniformName and gd::ResultInvalidShaderUniform module names [SDK]ResultInvalidShaderUniformName and ResultInvalidShaderUniform, the module name in the result was incorrectly given as GX. That has been corrected to GD.
gd::System::DrawImmediate and gd::System::DrawImmediateIndexed functions [SDK]DrawImmediate and DrawImmediateIndexed for drawing without using the vertex buffer.
The samples TriangleSimple, RenderToTarget and SilhouetteSimple located below gx/Gd reflect the additions of these functions.
gd::TextureStage::SetShadowZBias function [SDK]gd::TextureStage::SetShadowZBias.
It was determined that the uniform shadowScale cannot be used due to hardware restrictions.
To maintain compatibility, the conventional function gd::TextureStage::SetShadowZScaleBias has been retained.
InputLayout in the gd::VertexInputStage::CreateInputLayout function [SDK]CreateInputLayout function now returns the pointer to that same InputLayout without creating a new InputLayout.
nngxAddJumpCommand and nngxAddSubroutineCommand functions [SDK]nngxAddJumpCommand and nngxAddSubroutineCommand to use command buffer execution registers and jump to command buffer execution addresses.
nngxMoveCommandbufferPointer function [SDK]nngxMoveCommandbufferPointer function could move to an invalid memory region (before the start of the command buffer region).
nngxUseSavedCmdlistNoCacheFlush function [SDK]nngxUseSavedCmdlistNoCacheFlush, which has the same features as the nngxUseSavedCmdlist function but also does not flush the 3D command buffer cache.
This revision enables the command list exit callback to execute the next command list object after it has been bound.
nngxSwapBuffers function was called.
This was fixed so that the correct determination is now made.
An explanation of region determination was also added to the function reference.
glDrawElements function must be used for rendering silhouettes. DMPGL20_programming_guide.pdf
DMPGL20_system_API_specification.pdf
nngxUseSavedCmdlistNoCacheFlush.nngxUseSavedCmdlistNoCacheFlush.nngxAddSubroutineCommand.VertexShaderReferenceManual.pdf
For details, see chapter 6 "Profile API" in the System API Specification.nngxStartProfiling FunctionnngxStopProfiling FunctionnngxGetProfilingResult FunctionnngxSetProfilingParameter Function
To view an example of their implementation, see the code for SampleDemos/gx/Api/EarlyDepthTestSample.
Read functions [SDK]MAX_READ_NUM, which indicated the maximum amount of sampling data that can be loaded at one time by the various Reader class Read functions.
*Reader class Read functions used for reading sampling values would sometimes have a negative value for pReadLen, which indicates the amount of sampling data read. That has been fixed.
nn::hio::HostFile::Write when running a program from emulation memory in PARTNER-CTR Debugger.
This does not accelerate the process when running a program from PARTNER-CTR UIC-MIDI.
If these functions are required for debugging, contact Nintendo.
bool for VEC, MTX, QUAT [SDK]bool when actions like the following are taken. This was done to curtail behavior that goes against the developer's intent.
VEC2 v;
Code like that shown above now generates a build error.if (v) {...} // v is the pointer to a VEC2 member and is always evaluated as true
MTX34ShadowProjectionFrustum, MTX34ShadowProjectionPerspective and MTX34ShadowProjectionOrtho) for generating matrices for shadow texture referencing.
TanIdx function and the TanFIdx function, which were slow.
Also accelerated the SinCosIdx function.
Added the nn::os::SetApplicationCpuTimeLimit function for setting the CPU time the application can use in core 1, and the nn::os::GetApplicationCpuTimeLimit function for getting that set value.
The default value is 0% for the amount of CPU time that is allocated to the application in core 1, so you need to set a value with SetApplicationCpuTimeLimit before starting a thread that operates in core 1.
The maximum of amount of CPU time is 30% and is restricted by the system.
To conduct a process in core 1 you create a thread that operates in core 1.
To create a thread that operates in core 1, specify 1 for the coreNo argument of the nn::os::Thread class Start function.
System processes cannot operate in core 1 during the time that is allocated to the application, even if the application is not using the CPU.
In other words, wireless communication and other system-related processes will slow down during periods when core 1 is allocated to the application.
Below is a concrete example of how core 1 CPU time is allocated to the application:
If N is specified as the argument for the SetApplicationCpuTimeLimit function, then the first 2 * N / 100 ms of every 2ms interval is allocated to the application.
If N = 25, then the application operates for the first 0.5 ms and the system operates for the next 1.5 ms, after which the application operates for 0.5 ms and then the system for 1.5 ms, etc.
The following kinds of restrictions ensure that allocated CPU time does not become 0 if there is a thread operating in core 1:
0, any attempt to create a thread to operate in core 1 will fail.
Use the nn::os::SetApplicationCpuTimeLimit function to allocate sufficient CPU time before creating a thread to operate in core 1.5 is specified by the nn::os::SetApplicationCpuTimeLimit function.
Once core 1 CPU time has been allocated the CPU time allocation cannot be reverted to 0.
explicit modifier to constructors [SDK]explicit modifier has been added those OS library class constructors that take a single parameter since these are not expected to involve implicit type conversions.
nn::os::Thread member functions.
ro library for using dynamic modules.
For details, see $CTR_SDK/documents/TechnicalNotes/Dll/DllManual.html.
In step with this, added sample demos under $SampleDemos/ro.
Note that you presently cannot conduct DLL debugging because the debugger does not support DLL.
Voice playback might be delayed when specifying NODROP [SDK]Voice playback with NODROP specified was sometimes delayed when specifying VOICE_DROP_MODE_REAL_TIME in a call to SetVoiceDropMode.
SetVoiceDropMode function [SDK]SetVoiceDropMode function for changing how voice-drops are controlled.
When this new function is not called, the default behavior is the same as in the previous version.
Voice::SetPriority function [SDK]SetPriority function, up until now you could not change from normal priority to VOICE_PRIORITY_NODROP and vice versa. Those restrictions have been removed.
WaitForDspSync that could cause buffer overflow [SDK]Voice object in a call to WaitForDspSync, under the conditions listed below.
WaveBuffer objects are appended to a VoiceWaveBuffer objects are playing in one sound frame
Delay and Reverb.
Processing details and sound quality remain unchanged.
nn::snd::SetOutputBufferCount function, sometimes a processing slowdown was determined even when there was no actual slowdown. That has been fixed.
If these functions are required for debugging, contact Nintendo.
In step with this, the header required for calling the functions socket::Initialize and socket::Finalize has been changed to nn/socket_Initialize.h (from nn/socket.h).
NEX application developers should take note of this.
If these functions are required for debugging, contact Nintendo.
BannerModelConverter [SDK]BannerModelConverter:
Config tool features [SDK]
RPM Sensitivity/Scale by pressing L/R Button while holding down Y Button.
Config tool setting items [SDK]Config tool for setting a limit value for the stereo camera's calibration value.
This setting is used for checking whether scenes captured by the stereo camera display without screen being cut when the calibration value is the limit value.
CIA file for the DLP child is created, a calculation is made of the NAND capacity required for import.
When the capacity exceeds the 32MB restriction, a warning is now displayed.
Category in RSF file [SDK]TitleInfo/Category of RSF.
Note that this change is an added feature for future support of add-on content, and at the present time add-on content still cannot be developed.
ctrTexturePackager ID field [SDK]ctrTexturePackager where the ID field size of images in the TGA format is always treated as 0, causing color data to be off sometimes off.
ctr_WaveConverter related to loading of certain .wav files [SDK]ctr_WaveConverter32.exe loaded WAV files exported by certain tools.
ctr_makerom to suppress warnings [SDK]ctr_makerom warnings.
However, at the present time, only warnings due to the combination of BackupMemoryType and CardDevice are suppressed.
See the reference page for details.
ctr_makerom support for download application demos, added DESC for download application demos [SDK]ctr_makerom now supports the creation of downloadable application demos.
You can create the CCI files for downloadable application demos by setting DemoVersion.desc for the RSF TitleInfo - Category and for the DESC file.
For details, see the ctr_makerom reference page.
Official documentation for creating downloadable application demos is scheduled for release in September.
TPL library for Windows [SDK]libnn_tplWin{d}.lib for the Windows environment.
Attach and Receive functions [SDK]nn::uds::Attach function and the nn::uds::Receive function of the process of searching for the end pointer.
The processing load of calling these functions has been reduced, albeit by just a little.
ConnectNetwork and SendTo functions [SDK]ConnectNetwork function now returns nn::uds::ResultOutOfRange.
When a dataSize has been specified that is shorter than the minimum length or exceeds the maximum length, the SendTo function now returns nn::uds::ResultTooLarge.
Initialize function [SDK]Initialize function with an added argument for specifying the local user name.
Be sure to comply with the UGC guidelines and perform the appropriate processing when specifying user names.
If nothing is specified (NULL), the user name in the System Settings is used.
GetMacAddress function [SDK]nn::uds::GetMacAddress function, which was used for debugging.
This was done in order to prevent mistaken use of the nn::uds::GetMacAddress function in the the retail product.
For debugging and other purposes when you want to identify systems, instead of the MAC address use the user name that can be gotten from the NodeInformation structure with the nn::uds::GetNodeInformation function, or use the local friend code.
scrambledLocalFriendCode member of NodeInformation structure [SDK]scrambledLocalFriendCode member so the individual identifiers of devices can be used during the entire time from the launch of the application to the end.
This way, you can determine whether clients connected while operating as the DLP server match the communicating nodes of subsequent UDS communications.
nn::uds::SendTo function would send packets of size 0.
Applications can receive packets of size 0, but sending and receiving these kinds of packets increases the processing load unnecessarily.
NetworkDescriptionReader class member function GetNetworkDescription only succeed once, and would return error ResultMalformedData on subsequent calls.
ConnectNetwork to connect to the network and then immediately calling GetApplicationDataFromBeacon on the client to get optional beacon data would get incorrect data.
LightingSample demo, you will see a phenomenon where the area the light is shining on will periodically flash.FontConverter is sometimes not able to convert Windows fonts correctly if the following settings have been made.(2011/08/05)
This bug has been fixed.
Initialize function would not return [System Updater]camera::Initialize repeatedly with no interval between calls while the system was being opened and shut rapidly would rarely fail to return.
camera::Finalize.
Activate while opening and closing the system returns a success without actually doing anything [System Updater]Activate while opening and closing the system would rarely return success, but not actually execute.
Now, when this abnormal state arises an FS fatal error is output.
To fix this, values now are restored to their previous settings when invalid settings values are specified.
friends library functions would sometimes be blocked for a period of several frames to around 1 second if the system went to sleep or the wireless switch was turned off while online.
Config tool.
However, you also need to call fs::InitializeLatencyEmulation.
If it is not called, this functionality will always be disabled.
In the future, this functionality will be enabled in the Debug/Development builds and disabled in the Release build.
Get*SaveDataBlockSize functions to freeze.
*Reader class Read functions used for reading sampling values would sometimes have a negative value for pReadLen, which indicates the amount of sampling data read. That has been fixed.
nn::hio::HostFile::Write when running a program from emulation memory in PARTNER-CTR Debugger.
This does not accelerate the process when running a program from PARTNER-CTR UIC-MIDI.
Added the nn::os::SetApplicationCpuTimeLimit function for setting the CPU time the application can use in core 1, and the nn::os::GetApplicationCpuTimeLimit function for getting that set value.
The default value is 0% for the amount of CPU time that is allocated to the application in core 1, so you need to set a value with SetApplicationCpuTimeLimit before starting a thread that operates in core 1.
The maximum of amount of CPU time is 30% and is restricted by the system.
To conduct a process in core 1 you create a thread that operates in core 1.
To create a thread that operates in core 1, specify 1 for the coreNo argument of the nn::os::Thread class Start function.
System processes cannot operate in core 1 during the time that is allocated to the application, even if the application is not using the CPU.
In other words, wireless communication and other system-related processes will slow down during periods when core 1 is allocated to the application.
Below is a concrete example of how core 1 CPU time is allocated to the application:
If N is specified as the argument for the SetApplicationCpuTimeLimit function, then the first 2 * N / 100 ms of every 2ms interval is allocated to the application.
If N = 25, then the application operates for the first 0.5 ms and the system operates for the next 1.5 ms, after which the application operates for 0.5 ms and then the system for 1.5 ms, etc.
The following kinds of restrictions ensure that allocated CPU time does not become 0 if there is a thread operating in core 1:
0, any attempt to create a thread to operate in core 1 will fail.
Use the nn::os::SetApplicationCpuTimeLimit function to allocate sufficient CPU time before creating a thread to operate in core 1.5 is specified by the nn::os::SetApplicationCpuTimeLimit function.
Once core 1 CPU time has been allocated the CPU time allocation cannot be reverted to 0.
To read how to use this, see the debugger Help.
nn::os::Event signaled.
The load on the CPU has been reduced.
However, the log output may be slow to display when the system core CPU usage rate is high.
IsExpectedToCloseApplication termination notification could reach the application running on the debugger.
For example, if System Updater on a system supports CTR-SDK 3.0, then programs created using CTR-SDK 4.0 cannot be launched on that system.
ro library for using dynamic modules.
For details, see $CTR_SDK/documents/TechnicalNotes/Dll/DllManual.html.
In step with this, added sample demos under $SampleDemos/ro.
Note that you presently cannot conduct DLL debugging because the debugger does not support DLL.
With this auto-recovery process, it appears to UDS communications as if the wireless feature was disabled and immediately re-enabled.
The UDS functions running at this time return a result indicating that the wireless mode transitioned to wireless-disabled mode.
nn::uds::Finalize would cause a delay of around 1 second before Wi-Fi turned off.
nn::uds::SendTo function would send packets of size 0.
Applications can receive packets of size 0, but sending and receiving these kinds of packets increases the processing load unnecessarily.
NetworkDescriptionReader class member function GetNetworkDescription only succeed once, and would return error ResultMalformedData on subsequent calls.
ConnectNetwork to connect to the network and then immediately calling GetApplicationDataFromBeacon on the client to get optional beacon data would get incorrect data.
(2011/08/05)
CommandBufferJump sample [Sample Demos]MakeChannel0SubroutineCommand function and the MakeChannelKickCommand function, added the sample CommandBufferJump which makes a subroutine of the command for setting lookup tables for the gr/DrawPrimitive sample.
gx/Gr, the nngxStartLcdDisplay function was called before the first image was ready.
That has been changed to be called after the first WaitVSync.
ShadowKnot sample demo to Gd [Sample Demos]ShadowKnot has been moved to Gd.
You can switch to orthogonal shadow using a macro.
shadowZScale uniform from ShadowSimple sample [Sample Demos]shadowZScale was deleted, but related code remained in the sample gx/DMPGL/ShadowSimple, so it too was deleted.
Gd samples [Sample Demos]gx/Gd:
DrawImmediate* functions (only some; switchable with macro).
mask value to ngxUseSavedCmdlist [Sample Demos]nngxUseSavedCmdlist in CommandCacheVSUniformModel was 0xFFFFFFFF. That has been corrected to NN_GX_STATE_ALL.
A GD version and a DMPGL version have been created.
The new sample supports the making of subroutines with the DMPGL demo LightingMicrofacet.
RSF file used in hio demo [Sample Demos]hio demo.
None.
(2011/06/28)
AssignGpuRight and ReleaseGpuRight functions from public view [SDK]applet::AssignGpuRight and ReleaseGpuRight functions have been removed from the function reference because there is no need to call them from an application.
At present, plans call for leaving behind disclosed header files, but completely hiding these functions in future versions of CTR-SDK.
TaskError::GetProperty function.
TASK_ERROR_CODE will become the standard identifier, so use it from now on.
GetStereoCameraCalibrationMatrix* functions [SDK]GetStereoCameraCalibrationMatrix function and fifth argument of the GetStereoCameraCalibrationMatrixEx function were named in a way that might lead to confusion, so they have been changed from translationByPixel to translationUnit.
Along with this change, a description of these arguments has also been added to the function reference.
OpenMessageBox or CloseMessageBox function was called during execution of the DeleteAllMessages function.
Mutex exclusion was added so that these functions cannot execute simultaneously.
Note, however, that there is still a chance that this problem may also occur when interrupting an application by pressing the HOME Button.
As such, pay careful attention so that no malfunctions arise at this time as the system may receive more data than it is set to handle.
InitializeInitialize.
UncompressBLZ and SecureUncompressBLZ functions have been added for expanding files compressed with LZ backward compression.
nn::dlp::ServerGetClientState function was added to get client download progress.
nn::dsp namespace have been hidden from public view.
RegisterInterruptEventsRecvDataSendDataRecvDataIsReadySendDataIsEmptyReadPipeIfPossibleWriteProcessPipeCheckSemaphoreRequestClearSemaphoreMaskSemaphoreGetSemaphoreSetSemaphoreSleepWakeUpGetHeadphoneStatus
(The nn::snd class includes an API function of the same name. Use that.)
NN_USE_MAKECCI [SDK]
$CTR_SDK/documents/TechnicalNotes/AboutHardwareDifference/AboutHardwareDifference.pdf
UnitHeap::GetAlignment [SDK]
$CTR_SDK/documents/resources/BuiltInFont/BuiltInFont.html
4MbitVerificationFailed.bin was not returning the expected result [SDK]4MbitVerificationFailed.bin is a binary used to issue fs::ResultVerificationFailed when mounting save data. It has been revised and replaced because it has been returning fs::ResultBadFormat since CTR-SDK 2.1.
MakeUniformCommandVS and MakeUniformCommand.MakeUniformCommandVS or MakeUniformCommandVS (used to set four-dimensional vector arrays as uniform) that exceeds the maximum number (24) allowed.
zBias when using the RenderState::ShadowMap::MakeTextureCommand function [SDK]RenderState::ShadowMap::MakeTextureCommand function affecting command generation for bits [23:1] of register 0x8b, equivalent to the dmp_Texture[0].shadowZBias uniform.
RenderState::ShadowMap::zScale [SDK]shadowZScale were discovered to be disabled in hardware. Code was changed so that commands are not issued using this variable.
Vertex::MakeDrawCommand [SDK]Vertex::MakeDrawCommand, there were locations in code where the byte enable [31:8] was not set to zero when writing to register 0x245.
gr::Shadow [SDK]gr::Shadow was deleted. Its planned removal has been mentioned before in the function reference.
Use the RenderState::ShadowMap class from now on for generating render state-related commands.
SetInternalDriverPrioMode function [SDK]nn::gx::CTR::SetInternalDriverPrioMode (and the corresponding C function nngxSetInternalDriverPrioMode).
gd::ShaderStage::SetFloatConstantBuffer function regarding registers specified as "Unmanaged" [SDK]ShaderStage::CreateShaderPipeline function was called by the ShaderStage::SetFloatConstantBuffer function on a register specified as "Unmanaged" when using the geometry shader.
This bug has been fixed.
In addition, a cache flush operation on the texture unit has been added. It is used by both the CopyTextureSubResource and CopyTexture2DResourceLinearToBlock functions.
gd library constant uniform registers starting from c64 [SDK]
Note, however, that conventional names have been left behind for compatibility purposes.
Plans call for the removal of old names in a future CTR-SDK update.
Please use the new names from now on.
Conventional -> Revised
gd::Finalize function [SDK]gd:Finalize function.
Fixed a bug where initialization would not occur correctly even when calling gd::Initialize after calling gd::Finalize.
gd::InputLayout shader [SDK]gd::InputLayout [SDK]InputElementDescription have been defined in order beginning from 0.
If they are not defined in order, the error ResultInputLayoutInvalidStreamSlots is returned.
UnmapVertexBufferResource, UnmapTexture2DResource function in the gd::Resource class [SDK]Resource::UnmapVertexBufferResource and UnmapTexture2DResource functions.
This bug has been fixed.
gd::Resource::Create* functions [SDK]copyInitialData has been added to the Resource::CreateTexture2DResource, Resource::CreateVertexBufferResource functions.
The default is true.
Now, if false is set, data is directly accessed without copying even if main memory (FCRAM) is specified.
gd::Resource::Helper::GenerateMipMapsCPU function [SDK]Resource::Helper::GenerateMipMapsCPU function was added to support the automatic generation of mipmap data by the CPU.
gd::TextureStage projection textures [SDK]TextureStage::SetTexture2DProjectionForUnit0 function has been newly added to support projection textures.
ptMinFilter when using the gd::TextureStage::SetDefault function [SDK]MIN_FILTER_NEAREST was being used as the default value for the ptMinFilter argument of the gd::TextureStage::SetDefault function. The default value has been changed to MIN_FILTER_LINEAR to match stated specifications.
GetRegisterCount and GetManagedLocation functions in the gd::UniformLocation class [SDK]GetRegisterCount and GetManagedLocation functions of the gd::UniformLocation class have been removed because they are not needed for development.
(Made changes so that a dependency relationship is determined if the register is the same for condition 5, 6, and 7, even if a component is not overlapped.)
Made changes so that a stall due to dependency relationship between registers is determined even if a component is not overlapped.)
DMPGL20_specification.pdf
dmp_Texture[0].shadowZScale from specifications (because it was clearly invalid due to hardware specifications)DMPGL20_programming_guide.pdf
dmp_Texture[0].shadowZScale from specifications (because it was clearly invalid due to hardware specifications)DMPGL20_system_API_specification.pdf
nngxFilterBlockImage transfer addressesdmp_Texture[0].shadowZScale from specifications (because it was clearly invalid due to hardware specifications)VertexShaderReferenceManual.pdf
rcp, rsq, exp, and log instructions to "Results of Exceptional Operations"
Added additional information to their references as wellcmp command.
HostFile::Exists [SDK]HostFile::Exists to function the same as HostFile::IsExist.
Do not use HostFile::IsExist as it will be deleted in a future release.
SerialChannel::GetWritableSize function [SDK]hio::SerialChannel::GetWritableSize was smaller than the original value.
SetSocketBufferSize function [SDK]nn::http::Connection::SetSocketBufferSize function was deleted.
calloc/realloc [SDK]nninitStartUp is not replaced, malloc and free could be used by default, but not calloc and realloc.
Specifications were changed so that calloc and realloc can also be used by default.
These functions may be replaced with original implementations just as malloc/free.
ntsd library [SDK]
This library includes MemCpy and MemMove for optimized copying of memory according to the given alignment. It also includes TSPrintf, TSNPrintf and TVSNPrintf for forming strings using a small stack.
Alarm::TryInitialize function [SDK]TryInitialize function was added to the Alarm class. The function receives whether initialization succeeded or failed as a return value.
StackMemory::TryInitialize function [SDK]TryInitialize function was added to the StackMemory class. The function receives whether initialization succeeded or failed as a return value.
No changes were made to the behavior of these functions during normal use.
DecodeAdpcmData [SDK]const was added to the pInput and param arguments.
Code was also revised so that context information when decode ends is stored in the context argument.
This was actually fixed in CTR-SDK 2.3.4 but was accidentally omitted from the change log.
Voice::DeleteWaveBuffer function [SDK]Voice::DeleteWavebuffer function has been added for deleting buffer information added using the Voice::AppendWaveBuffer function.
Voice::UpdateWaveBuffer function [SDK]Voice::UpdateWavebuffer function has been added for updating the sampleLength and loopFlag parameters included in buffer information added using the Voice::AppendWaveBuffer function.
Use them for referencing arguments from now on.
AllocVoice data abort would occur if an invalid call to FreeVoice was made [SDK]AllocVoice funtion if an invalid voice, such as a dual FreeVoice, was processed.
With this move, the items "CTR Tools" and "Windows Tools" have been added to index.html.
To delete save data, first delete the program using the X Button.
Further revision has been made so that imports are cancelled if there has been no change to the program when an overwrite import is performed.
To use an SD Card, switch to a writable one.
SaveDataFiler.
SaveDataFiler [SDK]SaveDataFiler.
The message displayed when file destruction fails was also made easier to understand.
For details, see the function reference.
UniqueId is not set [SDK]UniqueId in the RSF was unspecified, processing would continue as if 0xf7fff had been specified for UniqueId. This has been changed so that an error now results.
Furthermore, 0xff3ff is specified at the end fo sample code as UniqueId in Application.rsf, which serves as the default RSF.
ctr_WaveConverter [SDK]ctr_compress [SDK].makebanner [SDK]
An error message is displayed if a title exceeds a specified string widthmakebanner outputs to used to be calculated in terms of a relative path from the directory in which th bsf file was located, specifications have changed so that output is made in terms of a relative path from the current directory.
UniqueId is used in trial code [SDK]UniqueId when using ctr_makerom. This has been eliminated.
GetUserId. Information about the maximum number of people that can be registered on the blocked-user list was added to the function reference for Entry.
CreateNetwork function [SDK]nn::uds::REsultOutOfRange is returned if SubId 0xFF is specified with the CreateNetwork function.
This is due to the fact that SubId 0xFF is used when the Scan function queries all modes.
SetPowerSaveMode function [SDK]SetPowerSaveMode function was deleted from the function reference because although it was listed in the function reference, it could not be used.
There is no plan for continued support of the SetPowerSaveMode function.
GetCoefficientForParallax function [SDK]GetCoefficientForParallax function was disclosed to the public.
This function can be used to speed up calculation of the parallax required when making stereoscopic display of an orthogonal projection.
For details, see AboutULCDLibrary.pdf.
IsBusyConversion function no longer returns true when Y2R conversion hangs up [SDK]GetTransferEven function were no longer signaled if conversion stopped due to problems with Y2R transfer, it did not include the fact that the IsBusyConverion function no longer returns true. This has been added.
ResultSuccess from the function reference [SDK]Result::IsSuccess is used instead of ResultSuccess given in the function reference.
Specify the type of *_LANGUAGE using errorType of the Config parameter. By specifying the language you want displayed using useLanguage, messages inside applets will be displayed in the specified language regardless of the language set under System Settings.
LightingSample demo, you will see a phenomenon where the area the light is shining on will periodically flash.(2011/06/28)
nn::ac::Connect would be unintentionally canceled [System Updater]nn::ac::Connect would be unintentionally canceled in an environment where some APs cannot be used, such as when the system cannot access the Internet during connection processing.
This was actually fixed in CTR-SDK 2.3 but was accidentally omitted from the change log.
The icon database is a database located in system NAND memory that saves the icon of the application started. The icon stored here is displayed in the Activity Log.
Note, however, that once an icon is stored, the icon in the database will not be updated unless the unique ID and version of the application change, even if the application is started with a subsequent change made to the icon.
The icon cache stored the icon data of applications saved on an SD Card for increasing the speed of loading of icon data on the HOME Menu.
Because the icon cache is not overwritten even if a change is made to the icon just as with the icon database, specifications were changed so that the icon can be deleted in order to verify any changes.
However, there is no bug where banner models are not being displayed; therefore, if this symptom occurs, review the banner model in question.
PARTNER-CTR Debugger 2011/05/11 release or later is required to use this feature.
This bug fix has basically no effect on application development.
However, button input remains the same (will not work) as always during the EULA display.
This was actually changed in CTR-SDK 2.2 (System Updater 0.15.3) but was accidentally omitted from the changelog.
Specify the type of *_LANGUAGE using errorType of the Config parameter. By specifying the language you want displayed using useLanguage, messages inside applets will be displayed in the specified language regardless of the language set under System Settings.
Symptoms Treated as Specifications file in the CTR-SDK for details on known issues with System Updater.(2011/06/28)
UncompressBLZ and SecureUncompressBLS functions.
nn::dlp::ServerGetClientState function was added to get client download progress.
With this change, specifications have changed so this function is used with the SimplerServer demo.
Some text during writing was also deleted.
gd sample demos [Sample Demos]
shadowZScale [Sample Demos]shadowZScale has been deleted from source code because it was found to be invalid due to hardware specifications.
There is no problem with setting it as usual.
Voice::DeleteWaveBuffer and Voice::UpdateWaveBuffer functions.
None.
(2011/06/09)
(2011/06/08)
(2011/06/01)
http::Connection::SetSocketBufferSize function, which had few uses.
Now the buffer size remains unchanged even after this function is called, and it always returns nn::ResultSuccess.
(2011/05/27)
Even if this bug occurred, you could break out of the loop by moving outside of the AP's range or pushing the wireless switch off to disable wireless communication.
nn::fs::MountSaveData function from a card-based application.
(This fix is provisional, and simply disables the use of keep-alives via a proxy.
A different fix will be released at a later date to allow the proper use of keep-alives via a proxy.)
(2011/05/24)
boss::Initialize and boss::Finalize.
GetHostByName and GetAddrInfo from properly processing host names that started with a number.
(2011/05/18)
PrepareToCloseApplication [SDK]PrepareToCloseApplication so that it will run properly even if Sleep Mode is not prohibited when it is called.
LightingSample demo, you will see a phenomenon where the area the light is shining on will periodically flash.FontConverter is sometimes not able to convert Windows fonts correctly if the following settings have been made.(2011/05/18)
This fix causes connections to fail more quickly wherever there are a lot of stealth SSIDs.
Awake callback from being invoked when the system entered Sleep Mode immediately after a library applet was launched [System Updater]Awake callback from being invoked upon recovery from Sleep Mode if the system entered Sleep Mode immediately after a library applet was launched.
SystemMode dev1 usable, with some restrictions, on development hardware [System Updater]SystemMode dev1 usable, with some restrictions, on test units.
These restrictions are as follows.
SystemMode dev1 using the System Updater, the HOME Menu is not imported and will thus not launch even if you change Menu to home menu with the Config tool. To launch the HOME Menu, you must re-apply the System Updater.
Note: Starting with the firmware for CTR-SDK 2.3.2 (System Updater 0.15.7), applications built with CTR-SDK 2.0 – 2.3.1 will no longer be able to run UDS communication properly when running on systems that use this firmware.
SendTo function to return non-UDS errors [System Updater]SendTo function that caused it to return non-UDS errors that were not documented in the Function Reference Manual, depending on when the system was disconnected from the network.
GetConnectionStatus and GetNodeInformation functions to return invalid node information right before or after the DestroyNetwork or DisconnectNetwork functions were called.
(2011/05/11)
CalculateHmacSha1 or CalculateHmacSha256 function as an HMAC key.
This bug was introduced in CTR-SDK 2.1, and was not present in earlier versions.
gd::ForceDirty function [SDK]gd::ForceDirty function would not reissue a command for the primitive to be rendered (e.g., TRIANGLE).
gd::ShaderStage [SDK]
SetShaderPipelineConstantF function is usedShaderPipeline is used consecutively to render two objects
GetForbiddenArea function [SDK]GetForbiddenArea function did not return the correct result when gain was 68 or greater.
Voice::SetPitch.
However, this fix does not guarantee that the high pitch will be reproduced as intended, because increasing the pitch also increases the processing load on the DSP (nearly linearly).
1MbitVerificationFailed.bin [SDK]fs::ResultVerificationFailed when mounting a backup device, because the old one did not return the expected result. The new binary correctly returns fs::ResultVerificationFailed.
This was actually fixed in CTR-SDK 2.0 but was accidentally omitted from the change log.
LightingSample demo, you will see a phenomenon where the area the light is shining on will periodically flash.(2011/05/11)
G_ALTASK STOPPED could not be specified in a policy list [System Updater]G_ALTASK STOPPED could not be specified in a policy list (it would be deemed to be an invalid policy list).
Suspend operation after the system was closed), the cancellation had no effect if BOSS was in the middle of getting a policy list.
This format is not compatible with save data created using previous versions, so a reformat is necessary.
There are no changes to usage or performance.
This change will have no impact on the save data for CTR card applications or download applications created with the CTR-SDK 1.X series.
DevMenu, it would appear on the edge even if there was empty space
Consequently, the notes for checking icon images on the HOME Menu have also changed.
See the Readme of the applet package for details.
nowEntry member and the number of valid nodes in the nodeIdList member of the ConnectionStatus structure obtained from nn::uds::GetConnectionStatus.
FF20 when it should have been 0400.
When this was done, the region name in the language that was set in the system settings was cleared.
(For example, Anguilla for the US region, or Iceland for the EU region)
Normally, the country name is used for the region name that is set here.
In other words, when nn::cfg::CTR::GetSimpleAddress(pSimpleAddress) was called to obtain region information, pSimpleAddress->regionName[nn::cfg::CTR::GetLanguage()] was an empty string.
(2011/05/11)
com_demo1 gave it another master name [Sample Demos]com_demo1 gave it the display name of another master that was scanned at the same time.
None.
(2011/04/27)
In this state, calling nn::applet::CTR::ProcessHomeButton and closing the system at the same would cause processing to hang on an ASSERT check. That problem was fixed by extending the HOME Menu transition lock.
nngxMoveCommandbufferPointer, which had been inadvertently omitted.
HostFile::Read [SDK]0x200200 to HostFile::Read would corrupt memory.
nn::hio::GetEnvironmentVariable will return ResultSuccess even when there is no environment variable.
Config tool [SDK]Config now shows the micro version.
SaveDataFiler [SDK]makecia failure to create CIA [SDK]makecia would fail to create the a CIA file when the input file size was a multiple of 4MB.
LightingSample demo, you will see a phenomenon where the area the light is shining on will periodically flash.(2011/04/27)
CancelLibraryApplet when sleep is allowed would cause a deadlock [System Updater]CancelLibraryApplet with sleep allowed would cause a deadlock.
In this state, calling nn::applet::CTR::ProcessHomeButton and closing the system at the same would cause processing to hang on an ASSERT check. That problem was fixed by extending the HOME Menu transition lock.
X-BOSS-Digest value [System Updater]friends library function can block for as long as 1 second when the login process is running in the background.
nn::fs::ResultVerificationFailed error had occurred would cause that error to be returned as the result for other memory regions where that error had not occurred.
CONNECTION_LOST was always given as reason for client disconnection when DestroyNetwork called [System Updater]DestroyNetwork a disconnect-request packet is sent to all clients and they are immediately disconnected from the network.
At this time, GetConnectionStatus gets DISCARDED_FROM_NETWORK as the reason for disconnection (DisconnectReason).
However, sometimes the disconnect-request packet is not received, and when this is the case the client is disconnected around 1 second after DestroyNetwork is performed.
In this case, the reason for disconnection is CONNECTION_LOST.
However, because of a bug, the reason for disconnection was always returned as CONNECTION_LOST because the master actually was not sending a disconnect-request packet.
This bug was fixed in the following ways, depending on which version of the CTR-SDK to which the application is linked:
The firmware for CTR-SDK 2.2 and CTR-SDK 2.3 is such that the master sends a disconnect-request packet regardless of the CTR-SDK version to which the application is linked, so there is a possibility of connection compatibility problems.
As was the case previously, the master does not send a disconnect-request packet.
The master sends a disconnect-request packet.
Config tool, start an application without going through the startup sequence on the HOME Menu, and then open and close the system, the system will stop and the top and bottom screens will turn black.(2011/04/21)
DevMenu firmware version [SDK]DevMenu showed the wrong micro version. That was corrected.
SaveDataFiler [SDK]SaveDataFiler tool.
LightingSample demo, you will see a phenomenon where the area the light is shining on will periodically flash.(2011/04/21)
MountSaveData function returned a value indicating success. The has been fixed so the correct Result is returned.
This was actually changed in CTR-SDK 2.1 but was accidentally omitted from the change log.
FATAL ERROR occurs [System Updater]FATAL ERROR would forcibly turn the power off without performing the normal shutdown process.
Finalize would cause a deadlock [System Updater]nn::uds::Finalize would prevent the function from returning in some cases depending on the timing.
Config tool, start an application without going through the startup sequence on the HOME Menu, and then open and close the system, the system will stop and the top and bottom screens will turn black.(2011/04/15)
applet::ReceiveDeliverArg function [SDK]applet::ReceiveDeliverArg at such times as application jumping would return parameter data of only 386 bytes, shorter than the actual data size of 768 bytes.
nn::applet::CTR::ReceiveDeliverArg, which allows the buffer region size to be specified [SDK | System Updater]nn::applet::CTR::ReceiveDeliverArg function, the buffer region for receiving DeliverArg data was set to a fixed size by NN_APPLET_PARAMETER_BUF_SIZE and NN_APPLET_HMAC_BUF_SIZE. A function with the same name has been added that enables you to specify only the needed size.
FragmentLight::MakeDisableCommand [SDK]FragmentLight::MakeDisableCommand was used to generate commands to disable light sources, the value of register 0x1c6 became "0" in error. This has been corrected to 1.
RenderState function reference about the mode settings for exclusive fragment operations (MODE_GL/GAS_ACC_DMP/SHADOW_DMP) and logical operations/blending.
RenderState::ShadowMap::MakeCommand [SDK]RenderState::ShadowMap::MakeCommand would not properly generate commands for register 0x100.
RenderState::StencilTest::maskOp to "0xff" [SDK]RenderState::StencilTest::maskO was 0. It was changed to "0xff" to match the OpenGL specification.
RenderState::FBAccess::MakeCommand [SDK]RenderState::FBAccess::MakeCommand.
Combiner::Stage::MakeConstantColorCommand, which generates commands only for the constant color of the texture combiner.
Vertex::MakeEnableAttrCommand would cause the GPU to hang if padding was used for vertex attribute load array elements.
GetAxisRotationMatrix function [SDK]GetAxisRotationMatrix, which requires less overhead than the existing function, to the AccelerometerReader class and the GyroscopeReader class.
HostFile::Read [SDK]nn::hio::HostFile::Read.
FontConverter files: 3ds_bitmap_font_std.xlor and 3ds_bitmap_font_std.xllt
makebanner [SDK]The change made in
This problem was corrected.
CreateLocalCommunicationId function [SDK | Sample Demos]nn::uds::CreateLocalCommunicationId function generated a local communication ID for development purposes, the unique ID 0xFFFFF was used. Henceforth, please use the unique IDs for game software prototypes (0xFF000 to 0xFF3FF) instead.
When the local communication ID is generated using a game software prototype unique ID (as opposed to using the unique ID 0xFFFFF), the setting for Debug Mode in the Config tool Other Setting will not affect the behavior of the API.
LightingSample demo, you will see a phenomenon where the area the light is shining on will periodically flash.(2011/04/15)
nn::applet::CTR::ReceiveDeliverArg, which allows the buffer region size to be specified [SDK | System Updater]nn::applet::CTR::ReceiveDeliverArg function, the buffer region for receiving DeliverArg data was set to a fixed size by NN_APPLET_PARAMETER_BUF_SIZE and NN_APPLET_HMAC_BUF_SIZE. A function with the same name has been added that enables you to specify only the needed size.
CONNECT request for the next connection to be invalid.
Initialize when country code not set [System Updater]Initialize would cause the system to hang in cases when the country code had not been set, possibly because the HOME Menu had never been launched.
Config tool, start an application without going through the startup sequence on the HOME Menu, and then open and close the system, the system will stop and the top and bottom screens will turn black.(2011/04/15)
CreateLocalCommunicationId function [SDK | Sample Demos]nn::uds::CreateLocalCommunicationId function generated a local communication ID for development purposes, the unique ID 0xFFFFF was used. Henceforth, please use the unique IDs for game software prototypes (0xFF000 to 0xFF3FF) instead.
When the local communication ID is generated using a game software prototype unique ID (as opposed to using the unique ID 0xFFFFF), the setting for Debug Mode in the Config tool Other Setting will not affect the behavior of the API.
None.
(2011/04/12)
REPLY_ACCEPT.
When this problem happened, the banner on the HOME Menu would stop rotating in response to microphone input.
The corrected offset value is immediately applied to the suspended application.
The text and layout were changed, and the SLEEP Button was eliminated.
Applications do not need to do anything in response to these changes.
Information about the arguments passed to the application side will be included in the next planned release of the applet specifications.
When this was done, the region name in the language that was set in the system settings was cleared.
(For example, Anguilla for the US region, or Iceland for the EU region.)
In other words, when nn::cfg::CTR::GetSimpleAddress(pSimpleAddress) was called to obtain region information, pSimpleAddress->regionName[nn::cfg::CTR::GetLanguage()] was an empty string.
This was fixed by setting the country name as the region name.
Config tool, start an application without going through the startup sequence on the HOME Menu, and then open and close the system, the system will stop and the top and bottom screens will turn black.(2011/04/08)
AP_TYPE_FREESPOT [SDK | System Updater]AP_TYPE_FREESPOT with AP_TYPE_HOTSPOT.
version.h [SDK]version.h.
NN_VERSION_RVCT_MAJOR: RVCT major versionNN_VERSION_RVCT_MINOR: RVCT minor versionNN_VERSION_RVCT_CC_REV: RVCT compiler revision numberNN_VERSION_RVCT_LD_REV: RVCT linker revision number
GetFriendKeyList to return ResultTooLarge [SDK]GetFriendKeyList function so that it returns ResultTooLarge when the caller tries to retrieve a list that is larger than the number of users that can be registered in a friend list.
gx_MacroTexture.h to specify the format of shadow map textures and gas textures.
PICA_DATA_TEXTURE_FORMAT_SHADOW_UNSIGNED_INT = 0x0PICA_DATA_TEXTURE_FORMAT_GAS_DMP_UNSIGNED_SHORT = 0x0
nngxInitialize [SDK]nngxInitialize function. Some are kept until the nngxFinalize function is called as an administrator, and some are allocated for temporary use.
The order of buffer allocation was rearranged so that the memory freed when the nngxInitialize function terminates will not be in disparate chunks.
nn::hid::EnableSelectButton function to enable retrieval of SELECT Button and nn::hid::DisableSelectButton to disable it again.
Finalize [SDK]Initialize function was still used after the Finalize function.
nn::hio::HostFile::Read function speed when running a program from emulation memory in PARTNER-CTR Debugger.
This does not accelerate the process when running a program from PARTNER-CTR UIC-MIDI.
nn::os::Thread::[Try]StartUsingAutoStack [SDK]nn::os::Thread::[Try]StartUsingAutoStack function.
EncodeAdpcmData [SDK]EncodeAdpcmData function was "None," but it was actually an s32. The value was changed to void.
biquad filter was used [SDK]biquad voice filter caused diffused noise to emanate.
nn::snd::Delay and nn::snd::Reverb would be disabled when recovering from sleep or returning from the HOME Menu [SDK]nn::snd::Delay or nn::snd::Reverb, this would not be reflected in the output. This bug has been fixed.
nn::snd::SetOutputBufferCount function.
GetHostByName stopped operation [SDK]GetHostByName would stop the operation.
ctr_makerom now supports 4 GB cards.
4 GB was added as one of the values that can be specified for the RFS MediaSize.
BossLotcheckTool [SDK]BossLotcheckTool tool to prevent buffer overflow.
Config tool [SDK]Config tool language was set to invalid, but this limitation has been removed and configuration is now possible.
DevMenu [SDK]DevMenu display to indicate the remaining volume of importable media.
FriendTestingPartner to be handled as error [SDK]FriendTestingPartner function to be handled as error.
SaveDataSize to RSF files [SDK]Rom/SaveDataSize to RSF. This item specifies the save data size of a download application.
For details, see the makerom documentation.
WMTestTool [SDK]WMTestTool.
nn::uds::GetChannel function to get the communication channel.
Send and Receive [SDK]SendTo function to return ResultMisalignedAddress if the send buffer passed to it is not 4-byte aligned.
The send data size parameter indicating the size of the send buffer must be rounded up to the nearest multiple of 4.
Changed the Receive and ReceiveFrom functions to return ResultMisalignedAddress if the receive buffer passed to them is not 4-byte aligned.
If the receive buffer size assigned to the argument is not a multiple of 4, the function returns ResultMisalignedSize.
LightingSample demo, you will see a phenomenon where the area the light is shining on will periodically flash.DevMenu may cause a data abort if an SD Card that is not fully inserted is pushed and pulled several times.DevMenu may display two CTR Card items.(2011/04/08)
AP_TYPE_FREESPOT [SDK | System Updater]AP_TYPE_FREESPOT with AP_TYPE_HOTSPOT.
If-Modified-Since at ZoneAP level
When a task executes, the LastModifiedTime is recorded for each ZoneAP it connects to. This function thus enables it to switch the If-Modified-Since time that it notifies to the download server in accordance with the access point it is connected to.
This makes it possible to download at the connected ZoneAP level, retrieving new data and avoiding the re-acquisition of data it has already acquired.
This function is available with services that switch the distribution data at the connected access-point level.
If a task went into resume ready state while running connected to a zone access point, using this function it can later run a task connected to a non-zone access point (e.g., a task running on a home access point), and then resume when connected again to the zone access point.
This makes it possible to receive a data delivery from a particular dedicated zone access point.
The ID of download data (NSA) is recorded. Thus if an NSA that has already been downloaded is delivered, this feature will avoid retrieving the NSA twice.
The IDs of the latest NSAs that were downloaded (up to 50 max) are recorded for each task.
AccelerometerReader or GyroscopeReader functions upon shutdown before calling hid::Finalize.
nn::hio::HostFile::Read function speed when running a program from emulation memory in PARTNER-CTR Debugger.
This does not accelerate the process when running a program from PARTNER-CTR UIC-MIDI.
KeepAlive in communication using chunked reception [System Updater]KeepAlive on a connection that performed chunked reception would result in a response header error.
An application that wants to run BOSS autonomously in the background must release the stop on BOSS by using the nn::ndm::Resume function.
The nn:: boss::StartImmediate function, indicating explicit execution and execution during sleep, is not affected by stopping.
disconnected if Wi-Fi is turned off during UDS initialization [System Updater]disconnected.
If a fatal wireless error occurred before, the fatal error screen would appear and the system would stop. From this release, the system recovers automatically without stopping.
After automatic recovery, it will appear to the AC, CECD, NDM, and other higher layers that wireless communication mode turned on immediately after turning off.
For this reason, depending on the application's implementation, a message may appear stating that the connection was lost.
At this time, there is no auto recovery from fatal wireless communication errors occurring during background communication in sleep mode, or when using UDS communication.
(Currently, fatal errors will never happen in these cases that are not covered by auto recovery.)
Thread::Start and other functions that initialize threads.
nn::os::Timer function would not be properly freed if Finalize was called before Stop.
Note that CIA file imports via SPI are not conducted unless an option is specified.
(It is only performed when the .spi option is specified for the NAND WRITE and L commands.)
ENOTCONN was returned from Send upon reception of RST [System Updater]ECONNRESET is returned when RST is received while blocking on Send on a TCP socket, but there were other cases in which ENOTCONN was returned.
This bug has been fixed.
See the Test Menu documentation for details.
CreateNetwork, ConnectNetwork, DestroyNetwork, and DisconnectNetwork were returning an error that is only handled internally by the CTR-SDK (nn::uds::detail::ResultFatalError). The functions were revised to no longer return the error.
STATE_CREATING_NETWORK after CreateNetwork failed [System Updater]CreateNetwork function fails, the state should become STATE_DISCONNECTED, but the state sometimes became STATE_CREATING_NETWORK; this bug has been fixed.
GetLinkLevel would always return link level 0 [System Updater]GetLinkLevel function would always return link level 0.
nn::uds::GetChannel function to get the communication channel.
Scan when the wireless switch is set to OFF [System Updater]Scan function, it should return ResultWirelessOff but was returning ResultInvalidState.
Config tool, start an application without going through the startup sequence on the HOME Menu, and then open and close the system, the system will stop and the top and bottom screens will turn black.(2011/04/08)
lib_applet [Sample Demos]applet[.h|.cpp] added to demo1, demo2, and so forth. has been moved into the $SampleDemos/common directory in the format lib_applet.
applet::Enable and others added to sample demos [Sample Demos]applet::Enable function was added to the sample demos. Starting from the HOME Menu is now also possible.
Some demos have also been revised to use lib_applet and now enable HOME Button and sleep transitions.
The following demos do not support HOME Menu startup.
hiohttpmakebannernewsssltemplate
ScreenCapture sample [Sample Demos]ScreenCapture sample.
There was a bug in the old implementation that caused degraded performance.
None.
(2011/03/25)
PrepareToCloseApplication is called from CloseApplication [SDK]PrepareToCloseApplication is called from CloseApplication.
nn::applet::ProcessHomeButtonAndWait and nn::applet::ProcessPowerButtonAndWait wrapper functions concerning HOME Menu transition and POWER Menu transition processing.
TASK_PERMISSION attribute [SDK]TASK_PERMISSION attribute of a task to TASK_PERMISSION_IN_PARENTAL_CONTROL(task that can run even when Parental Controls have restricted "Online Interaction").
GetParallax function [SDK]GetStereoCameraCalibrationMatrix function [SDK]GetStereoCameraCalibrationData function returns a 3 X 4 matrix to use for two-dimensional geometric conversions.
The z-axis scale should have been 1 but was mistakenly set to 0. This has been fixed.
GetStereoCameraCalibrationMatrixEx function [SDK]GetStereoCameraCalibrationMatrixEx function was added to return a correction matrix that would not lose the edges of the image even for systems that had placement errors near the limit.
SetBrightnessSynchronization function [SDK | System Updater]SetBrightnessSynchronization function to enable a feature that links the stereo camera brightness.
By default, the above link feature is disabled.
MessageBox class function names [SDK]
This can be used to verify StreetPass communication and other operations.nn::cec::CecControl::EnterExclusiveStatenn::cec::CecControl::LeaveExclusiveState
These functions operate only when debug mode is enabled.
Sha1Context::GetHash, or CalculateSha1, and CalculateHmacSha1. This restriction, which also applies to Sha256, is included in the function reference.
IsFinishedUncompRL function name to IsFinishedUncomp [SDK]IsFinishedUncompRL function name was inappropriate, so it has been changed to IsFinishedUncomp.
The old function name is kept for compatibility, but it has been removed from public release.
In conjunction with this, some of the information about the client that can be obtained from the server will change.
Specifically, the DUP client is always in the CLIENT_STATE_JOINED_SESSION (state before child device distribution).
After the DUP completes, transitions to CLIENT_STATE_DOWNLOADING and child device distribution begin.
Finally, nn::dlp::Server::GetClientStatus was removed because the download progress during DUP can be determined. It was replaced with nn::dlp::Server::GetClientState.
The function is nn::dlp::IsChild, which is defined in dlp_Common.h.
Use it when neither nn::dlp::Server nor nn::dlp::FakeClient can be used (i.e., when the Initialize function has not been called).
However, C++ exceptions are disabled by default with the CTR-SDK build system.
When using C++ exceptions, add the CCFLAGS += --rtti --exceptions LDFLAGS += --exceptions specification to the application's OMakefile.
ctr_makecia reference, and Download Application Development Manual.
In OMakefile, specify LIST for the CTR_APPTYPE variable to generate the CCL format.
The CCL format is not currently supported, however, so it cannot be used for debugging or other purposes.
$CTR_SDK/documents/TechnicalNotes/DownloadAppManual.
SHADER_ASFLAGS and SHADER_LDFLAGS as build variables that can be specified as options for the vertex shader assembler and linker, respectively.
It cannot load files nor open directories.
It can be used by calling the nn::fs::MountSdmcWriteOnly function.
- nn::fs::GetRomRequiredMemorySize
- nn::fs::MounrRom
These functions only return successful, so there is no longer any need for error handling by the application.
The return value indicates invalid save data.
In conjunction with this change, a C8804497 error occurs when launching a card application that uses save data if the inserted CTR card does not have on-board backup memory.
ResultArchiveInvalidated from expanded-save-data error handling [SDK]ResultArchiveInvalidated was returned when mounting, creating, deleting, or enumerating expanded save data archives, but a ResultMediaNotFound error is now returned instead.
As a result, error handling for ResultArchiveInvalidated is unnecessary when dealing with expanded save data archives.
However, for expanded save data directory and file operations, ResultArchiveInvalidated must be handled as it had been previously.
Vertex::DisableAttr to disable vertex attributes that were enabled with Vertex::EnableAttrAsArray [SDK]Vertex::EnableAttrAsArray function could only be disabled using Vertex::DisableAll, which was a bug. This has been revised so that attributes can be disabled using Vertex::DisableAttr.
PICA_DATA_TEXTURE_FORMAT_SHADOW_UNSIGNED_INT and PICA_DATA_TEXTURE_FORMAT_GAS_DMP_UNSIGNED_SHORT to the PicaDataTexture0SamplerType enumerated type in order to specify shadow map texture and gas texture formats.
glGetTexLevelParameter[if]v function [SDK]glGetTexLevelParameter[if]v function has been added to the API to get information related to textures that are currently bound.
nngxAdd3DCommandNoCacheFlush function [SDK]nngxAdd3DCommandNoCacheFlush function, which does not flush the cache of the region specified by bufferaddr, has been added for cases when GL_FALSE is added to the copycmd argument of the nngxAdd3DCommand function.
nngxAddCmdlist function [SDK]nngxAddCmdlist function was revised so that a command request to reference external command buffers can be added.
nngxAddVramDmaCommandNoCacheFlush function [SDK]nngxAddVramDmaCommandNoCacheFlush function, which does not flush the cache of the region specified by srcaddr, has been added for the nngxAddVramDmaCommand function.
nngxCmdlistStorage to reduce the number of allocator calls [SDK]nngxCmdlistStorage function.
nngxCopyCmdlist and nngxClearFillCmdlist [SDK]nngxCopyCmdlist or nngxClearFillCmdlist functions.
nngxInitialize to reduce the number of allocator calls [SDK]nngxInitialize function.
Also, optimized the request size.
break command, which is not covered by the specification, cannot be compiled.break command is called immediately before the endloop command.jpb or jpc command is called immediately before a else, endif, endloop, or ret commandjpb or jpc command jumps in an if or loop statement.-preprocess option to support shader assembler preprocessing.
DMPGL20_specification.pdf
dmp_LightEnv.absLutInput{RR,...}DMPGL20_programming_guide.pdf
DMPGL20_system_API_specification.pdf
nngxAddVramDmaCommandNoCacheFlush and nngxAdd3DCommandNoCacheFlush functionsVertexShaderReferenceManual.pdf
jpb, jpc, and breakc commands
GYROSCOPE_ZERODRIFT_STANDARD of hid::ZeroDriftMode.
The zero-point correction for STANDARD is now stronger.
Nothing has changed for TIGHT and LOOSE.
Revise applications in accordance with the new STANDARD settings.
The previous settings for STANDARD are now more similar to the settings for TIGHT.
nn::hio::CTR::SerialChannel::GetReadableSize [SDK]GetLastDateTimePointer function [SDK]GetLastDateTimePointer function to return a pointer to the Exif date and time information.
$CTR_SDK/include/nn/math/math_Utility.h were omitted from the Function Reference. This oversight has been corrected.
nn::midi::CTR::Open function to determine the UIC-MIDI device [SDK]nn::midi::CTR::Open function is called.
When a UIC-MIDI device is not recognized, nn::midi::ResultUnknownDevice is returned.
The CTR system cannot correctly recognize the UIC-MIDI device when this result is returned. Verify that the UIC-MIDI is inserted in the card slot and then reload the program.
The debugger software specification prior to the PARTNER-CTR 2011/03/09 version does not allow for correct recognition of a reinserted UIC-MIDI device, therefore, by pressing the Reload button.
To correctly recognize the UIC-MIDI device, use the debugger software and either click Load or drag the file icon to the correct screen location.
BossLotcheckTool [SDK]BossLotcheckTool to verify BOSS task information or NS data information registered by the application.
For more details, see the Function Reference.
-f exec in makerom to generate a CXI file. Previously, this was specified using -f nand.
The -f nand specification still works with CTR-SDK version 2.1, but this capability will be removed in the future.
For details, see the makerom reference page.
Config tool [SDK | System Updater]Config tool.
For more details, see the Function Reference.
When the language settings are changed to invalid, some menu settings are changed instantaneously
To perform verification using this feature in the future, use the Config tool from CTR-SDK 2.1 and later
SaveDataFiler [SDK]SaveDataFiler tool.
For more details, see the Function Reference.
The save data of downloadable applications exported using the CTR-SDK 2.1 version of SaveDataFilercannot be imported using earlier versions of SaveDataFiler.
Other save data can be mutually imported and exported.Result is displayed when an error occurs
makerom [SDK]makerom.
Config tool settings.
When Debug mode is enabled, debugging features for the following functions are enabled.
For details, see the individual functions in the Reference Manual.
nn::ac::DebugSetApTypenn::ac::DebugSetNetworkAreann::ac::DebugSetNetworkSetting1CEC
nn::cec::CecControl::StartScanningnn::cec::CecControl::EnterExclusiveState
nn::uds::CreateNetworknn::uds::ConnectNetwork
Also, made changes so that data that violates these restrictions generates an error during conversion.
FriendTestingPartner tool to run friend presence background processing on the CTR where a friend relationship was made (the friend presence is updated at a high frequency).
UdsLocalIdChecker tool to confirm the local communication ID [SDK]UdsLocalIdChecker to confirm the local communication ID.
WMTestTool, which is provided with Nintendo DS systems as a wireless test tool.
For CTR, use only the feature to generate radio interference (Noise Mode).
Import the CIA file from $CTR_SDK/tools/TargetTools/CTR-TS/Release to the CTR. Then launch the tool from the development menu.
It executes in TWL-compatible mode.
For details, see the Function Reference.
SaveDataFiler and CecLotCheckTool were imported to a system, they were not displayed on the HOME Menu (outside of the Japanese region).
They are now displayed in all regions.
Also, the version displayed on the HOME Menu System Settings was not accurate and was set to 0.
The corrections described in
GetPackageParameter function [SDK]GetPackageParameter function to get PackageParameter structure parameters in one operation.
LightingSample demo, you will see a phenomenon where the area the light is shining on will periodically flash.(2011/03/25)
IsExpectedToCloseApplication and IsExpectedToProcessPowerButton to be true at the same time [System Updater]
This was changed so that only IsExpectedToProcessPowerButton is true.
LATER in response to a SLEEP QUERY, after which the system could not go to sleep.
This was actually changed in CTR-SDK 2.0 but was accidentally omitted from the change log.
AwakeCallback is called when the battery is fully discharged during sleep [System Updater]AwakeCallback was not called if the battery was fully discharged during sleep, so the application could not perform the finalization process. This has been revised so AwakeCallback is called.
This is a feature to immediately start background task execution. The function is nn::boss::Task::StartBgImmediate.
This feature ensures the number of files in BOSS storage do not exceed the specified number. The function is an overridden version of nn::boss::RegisterStorage.
Unlike the scheduling method used to date, the highest priority is given to task priority at the time the order of task execution is determined.
The control over task execution order has been changed to be even more precise.
(For example, if a MEDIUM priority task and a HIGH priority task are set to execute at the same time, the HIGH priority task will always be executed first.)
SetBrightnessSynchronization function [SDK | System Updater]SetBrightnessSynchronization function to enable a feature that links the stereo camera brightness.
By default, the above link feature is disabled.
The priorities of other camera processes have not been changed.
In conjunction with this, some of the information about the client that can be obtained from the server will change.
Specifically, the DUP client is always in the CLIENT_STATE_JOINED_SESSION (state before child device distribution).
After the DUP completes, transitions to CLIENT_STATE_DOWNLOADING and child device distribution begin.
Finally, nn::dlp::Server::GetClientStatus was removed because the download progress during DUP can be determined. It was replaced with nn::dlp::Server::GetClientState.
FakeClient::StopScan when the wireless switch was OFF [System Updater]FakeClient::StopScan function when it was called immediately before or after switching the wireless button off.
Results returned by Login [System Updater]friends::Login function does not return ResultTemporarilyBusy or ResultAlreadyDone.
ResultSuccess is now returned in these situations.
nn::fs::TryDelete* and nn::fs:TryRename* functions [System Updater]nn::fs::ResultBadFormat error was sometimes returned when deleting using nn::fs::TryDeleteFile or nn::fs::TryDeleteDirectory if a file with the same name as the directory was present in the same path.
In addition, an nn::fs::ResultInvalidArgument error was returned when using nn::fs::TryRenameFile or nn::fs::TryRenameDirectory if the same name was used for both a file and a directory in the same path.
These have been fixed and an nn::fs::ResultOperationDenied error is now returned.
nn::fs::TryDeleteDirectory and nn::fs::TryDeleteDirectoryRecursively functions [System Updater]nn::fs::TryDeleteDirectory or nn::fs::TryDeleteDirectoryRecursively functions, deletion failed and an nn::fs::ResultOperationDenied error was returned.
This bug has been fixed and the directories are now deleted.
If the format is invalid, an nn::fs::ResultBadFormat error is returned. You should first retry formatting.
nn::fs::TryDeleteFile to fail for expanded save data files [System Updater]nn::fs::TryDeleteFile for a file in expanded save data in an invalid state regardless of whether the actual process completes.
This bug occurred only with CTR-SDK 2.0 or later.
Read functions to timeout after canceling a ChunkedPost [System Updater]Read functions to time out after implementing http::Connection::NotifyFinishSendPostData and Connection::Cancel at the same time during ChunkedPost processing . (Specifications call for ResultTimeout to be returned.)
KeepAlive communication [System Updater]SetKeepAliveAvailability function to specify whether KeepAlive communication is used.
nn::os::SetDeviceMemory to enable changing the device memory size [System Updater]nn::os::SetDeviceMemory function. It can now change the device memory size.
However, the device memory size must be a multiple of 1,048,576 bytes (1 MB) both before and after the change.
Config tool [SDK | System Updater]Config tool.
For more details, see the Function Reference.
When the language settings are changed to invalid, some menu settings are changed instantaneously
To perform verification using this feature in the future, use the Config tool from CTR-SDK 2.1 and later
Also, the version displayed on the HOME Menu System Settings was not accurate and was set to 0.
Result values when ConnectNetwork fails [System Updater]Result values indicating failure of the ConnectNetwork function differed from the Function Reference.
In order to maintain compatibility, the Result values returned for applications built with CTR-SDK 1.x or earlier are based on the previous definitions.
nn::uds::Initialize function succeeded.
This bug has been fixed.
Finalize was executed during communication [System Updater]Finalize function was called without calling the DestroyNetwork or DisconnectNetwork function during communication.
(2011/03/25)
fs::Finalize in the sample demos [Sample Demos]fs::Finalize function are unnecessary and therefore were deleted from the AC-related sample demos.
This was actually changed in CTR-SDK 2.0 but was accidentally omitted from the change log.
demo1 and demo2 related to applets such as sleep, HOME Button, and POWER Menu.
Also deleted the code that terminated the application autonomously without interpreting the HOME Menu.
Stereo demo [Sample Demos]Stereo demo that caused capture to restart when the system was opened and closed and Capture Disable was specified on the lower screen.
In conjunction with this, some of the information about the client that can be obtained from the server will change.
Specifically, the DUP client is always in the CLIENT_STATE_JOINED_SESSION (state before child device distribution).
After the DUP completes, transitions to CLIENT_STATE_DOWNLOADING and child device distribution begin.
Finally, nn::dlp::Server::GetClientStatus was removed because the download progress during DUP can be determined. It was replaced with nn::dlp::Server::GetClientState.
DummyUpdatePartition [Sample Demos]DummyUpdatePartition from the sample demos because DUP (updates via download play) is no longer necessary for server application development.
The function is nn::dlp::IsChild, which is defined in dlp_Common.h.
Use it when neither nn::dlp::Server nor nn::dlp::FakeClient can be used (i.e., when the Initialize function has not been called).
The demos include sample code to mount ROM archives, save data, and expanded save data, and sample code for subsequent file operations.
lib_grfw so that the DMPGL display buffer functions are not used [Sample Demos]lib_grfw library, which is the framework for GR library demos, so that the DMPGL display buffer object functions (nngxBindDisplaybuffer, nngxDisplaybufferStorage, nngxSwapBuffers, and so forth) are not used and allocation of the display buffer is explicitly performed.
Also, revised the nngxSwapBuffersByAddress function to enable setting of display buffer swap values.
os::Initialize from the sample demos [Sample Demos]os::Initialize function are unnecessary and therefore were deleted from the sample demos.
SimplePlayer sample demo [Sample Demos]SimplePlayer sample demo was revised to support applets, so HOME Button and Sleep Mode transitions are now possible.
None.
(2011/02/24)
nn::applet::CTR::GetSleepNotificationState, nn::applet::CTR::ClearSleepNotificationState [SDK]nn::applet::CTR::GetSleepNotificationState function, and it was necessary for it to be cleared on the application side by the nn::applet::CTR::ClearSleepNotificationState function, but with this method there were instances, based on timing, where sleep notifications could not be picked up.
The response to the hold was therefore standardized to nn::applet::CTR::IsExpectedToReplySleepQuery.
In addition, the nn::applet::CTR::GetSleepNotificationState and nn::applet::CTR::ClearSleepNotificationState functions have been removed from public release.
This process will be performed by the applet::PrepareToCloseApplication function.
As a result, CA certificate setting processes are no longer needed on the application side.
NN_LOGV and NN_PUT) that perform output of debugging logs.
As a result, when developing server applications, the developer no longer needs to be aware of system updates in DLP.
Specifically, the changes are as follows.
The server data distribution states defined for the ServerState enumerated type, shown below, have been gathered together into one state: SERVER_STATE_DISTRIBUTING.
The events notified for server data distribution defined for the SERVER_STATE_PREPARING_FOR_SYSTEM_DISTRIBUTIONSERVER_STATE_DISTRIBUTING_SYSTEMSERVER_STATE_WAITING_RECONNECTSERVER_STATE_PREPARING_FOR_TITLE_DISTRIBUTIONSERVER_STATE_DISTRIBUTING_TITLEEventType enumerated type, shown below, have been gathered together into one event: EVENT_TYPE_SERVER_STATE_DISTRIBUTING.
EVENT_TYPE_SERVER_STATE_PREPARING_FOR_SYSTEM_DISTRIBUTIONEVENT_TYPE_SERVER_STATE_DISTRIBUTING_SYSTEMEVENT_TYPE_SERVER_STATE_WAITING_RECONNECTEVENT_TYPE_SERVER_STATE_PREPARING_FOR_TITLE_DISTRIBUTIONEVENT_TYPE_SERVER_STATE_DISTRIBUTING_TITLE
bossfriendsgdgrngcrdttplublulcd
omake rule definitions, used by builds that use omake.
With the aim of fixing bugs and improving maintenance, we plan to continue making changes in CTR-SDK 2.1.
The old build rules exist in $CTR_SDK/build/omake_deprecated, but we plan to delete them in the next release.
--depend to recreate the dependency relationships, but changes have been made so that this is no longer needed.
Dump function [SDK]Dump function.
ArchiveFont::InitStreamingConstruct function [SDK]nn::font::ArchiveFont::InitStreamingConstruct function.
Up until now there was only an assert failure check, which led to undefined behavior in release builds.
The error was nn::fs::ResultOutOfMemory when the archive name passed to nn::fs::Mount*SaveData had already been registered or was longer than seven characters and did not include a colon (":") character.
These have been respectively revised to return the nn::fs::ResultAlreadyExists and nn::fs::ResultInvalidArgument errors.
nn::fs::ForceEnableLatencyEmulation function [SDK]nn::fs::GetExtSaveDataFormatInfo function [SDK]nn::fs::GetSaveDataFormatInfo function [SDK]nn::fs::GetSaveDataFormatInfo function to get save data's format information.
The available information is the maximum number of files and directories specified at formatting and the flag for whether automatic redundancy is applied to the entire save data region.
nn::fs::hio and the HOST_IO build option [SDK]nn::fs::hio and the HOST_IO build option can be used in release builds.
For more details, see the separately released document, CTR Performance Tips.
Also added a sample demo that uses the GD library.
See the Function Reference Manual for differences with the existing GL and GR libraries.
RenderState::ShadowMap class [SDK]RenderState::ShadowMap class to set the value of the 0x100 register.
The Shadow still remains, but we plan to abolish it in the future.
Shader::MakeOutAttrCommand [SDK]Shader::MakeOutAttrCommand_ which generates the output attribute commands when a reserved geometry shader (for example, point sprites) is used, including generic attributes.
Vertex internal classes (LoadArray, InterleaveInfo, and IndexStream) [SDK]Vertex::LoadArray, which is an internal class for Vertex, was revised from a structure to a class, and constructors were added for the following internal classes: Vertex::LoadArray, Vertex::InterleaveInfo, and Vertex::IndexStream. Changes were also made such that the minimum member variables are now initialized.
Shader::SetShaderIndex function to specify the vertex and geometry shader within the used shader binary, and the Shader::MakeShaderCommand function to generate only the commands necessary when switching the used shaders.
Vertex::LoadArray::DisableAll and Vertex::AttrConstArray::DisableAll for internal use by Vertex::DisableAll to disable vertex attributes and initialize member variables [SDK]Vertex::LoadArray::DisableAll and Vertex::AttrConstArray::DisableAll methods to disable vertex attributes and initialize member variables, and made changes such that these methods, and not std::memset within the Vertex::DisableAll method which disabled all vertex attributes, will be used.
Added PICA_DATA_TEXTURE0_SAMPLER_TYPE_FALSE to the enumerated type tag name PicaDataTexture0SamplerType
Corrected errors in the Function Reference Manual for PicaDataGasColorLutInput and PicaDataDepthTest2
One function to Vector2, Vector3, and Vector4 [SDK]One function that returns a vector, all of which elements are 1.0f, to the following classes: Vector2, Vector3 and Vector4.
Thread::IsAlive [SDK]IsValid is also confirmed within IsAlive.
GetAdapterState, GetBatteryLevel, and GetBatteryChargeState functions were blocked, changes were made such that they were not blocked.
As a result of these changes, once there has been an actual change in the remaining battery level, there will be at most a delay of ten seconds until the GetBatteryLevel function can get the changed value.
The values are immediately reflected after the change for the GetAdapterState and GetBatteryChargeState functions.
nn::snd::FxReverb::SetParam, made revisions to check whether each of the variables for m_pFilterSize has a positive value.
nn::snd::SetOutputBufferCount function to increase the number of buffers at sound's final output stage.
Also added a percentage indicator to the progress bar when importing.
DlpClient would abort during a download [SDK]DlpClient would occasionally abort if communications were interrupted during a download. This has been fixed.
Reject parameters to allow for more flexible specification of files to exclude from ROMFS.
There is no change in operations when using the existing Reject parameters to specify files.
For details on the new specifications, see the ctr_makerom reference page.
CardDevice item to RSF [SDK]CardDevice field to RSF.
As a result of this change, applications that have None specified for BackupMemoryType will result in a warning when ctr_makerom is run as long as nothing appropriate is set for the CardDevice field.
For details, see the ctr_makerom reference page.
SaveDataFiler [SDK]SaveDataFiler and a reference page for it.
SaveDataFiler is a tool that includes features for viewing, importing and exporting the save data on the CTR Card, and the expanded save data on the SD card.
For more details, refer to the CTR-SDK function reference.
makebanner [SDK]makebanner.
・Corrected mistakes in the manual regarding makebanner and makeexbanner
・BannerModelConverter now supports NW4CForBanner
In step with this change, you now need .NET Framework version 3.5 or later to execute BannerModelConverter.
makeciaarchive [SDK]--romfs-root was specified.
Also deleted the references to DevMenu from the Description of the Initialize function, as they were not needed.
uds::DisallowToConnect function.
uds::Initialize function and the execution of the uds::Finalize function.
LightingSample demo, you will see a phenomenon where the area the light is shining on will periodically flash.(2011/02/24)
Connect function [System Updater]
Made changes such that holding down the POWER Button was a main case for the system to wake up, and that the power would turn off without a need to open the cover.
SleepQueryCallback would not be called even if the system was opened while writing to media [System Updater]SleepQueryCallback was not called even if the cover was opened while writing to media, screen and sound recovery would not occur. This has been fixed such that SleepQueryCallback is called when the cover is opened.
As a result, information on whether a 3D (3D screen) capture occurred becomes invalid, and in some cases different images are displayed on the right and left sides of the upper screen.
This was actually changed in CTR-SDK 0.14.22 but was accidentally omitted from the change log.
If-Modified-Since check returned an HTTP response code of 304 ("Not Modified") for NSD files of 200 KB or more.
GetNsDataHeaderInfo function was called for an invalid serial ID, any BOSS storage mounted within that would not be able to be unmounted.
Suspend would take a lot of time if there were a large number of files in BOSS storage [System Updater]Suspend would take a lot of time (it would take a lot of time to enter Sleep Mode even after closing the cover) when BOSS storage was full and there was a large number of files.
TaskPermission and LAST_MODIFIED_TIME via the GetTaskInfo function.
NsData::GetHeaderInfo would not return [System Updater]NsData::GetHeaderInfo function was called at the same time as a data download, in rare instances you would not return from that function.
PauseAllTasks was executed [System Updater]PauseAllTasks functions, tasks would end up running with a new infra-network connection as a trigger.
LastModifiedTime, such that the same data would end up being downloaded again the next time.
Activate function would always return IsSleeping when the system was rapidly opened and closed [System Updater]Activate function would always continue to return IsSleeping in the interval it took to close and open the cover once.
SynchronizeVsyncTiming function as part of the application's waking up process, because the waking up process was not executed when the cover was opened and closed rapidly.
INVALID_LANGUAGE [System Updater]Server::Initialize was called when the market was set to either Europe or the US and the language code was set to INVALID_LANGUAGE.
As a result, when developing server applications, the developer no longer needs to be aware of system updates in DLP.
Specifically, the changes are as follows.
The server data distribution states defined for the ServerState enumerated type, shown below, have been gathered together into one state: SERVER_STATE_DISTRIBUTING.
The events notified for server data distribution defined for the SERVER_STATE_PREPARING_FOR_SYSTEM_DISTRIBUTIONSERVER_STATE_DISTRIBUTING_SYSTEMSERVER_STATE_WAITING_RECONNECTSERVER_STATE_PREPARING_FOR_TITLE_DISTRIBUTIONSERVER_STATE_DISTRIBUTING_TITLEEventType enumerated type, shown below, have been gathered together into one event: EVENT_TYPE_SERVER_STATE_DISTRIBUTING.
EVENT_TYPE_SERVER_STATE_PREPARING_FOR_SYSTEM_DISTRIBUTIONEVENT_TYPE_SERVER_STATE_DISTRIBUTING_SYSTEMEVENT_TYPE_SERVER_STATE_WAITING_RECONNECTEVENT_TYPE_SERVER_STATE_PREPARING_FOR_TITLE_DISTRIBUTIONEVENT_TYPE_SERVER_STATE_DISTRIBUTING_TITLE
For more details, see the separately released document, CTR Performance Tips.
nn::fs::MountExtSaveData function returned nn::ResultSuccess, the process was insufficient, and attempts to access files, etc., within the archive after that would return the nn::fs::ResultArchiveInvalidated error.
This bug was registered in BOSS and elsewhere, and could occur when mounting expanded save data with the possibility of being accessed at the same time by other processes.
For more details on the improvements, see the separately released document, CTR Performance Tips.
nn::fs::TryCreateFile function, made changes such that we guarantee the first 512 bytes of the file (or all data of the file for smaller sized files) are filled with zeroes.
nn::fs::TryCreateFile function, made changes such that we guarantee the first 512 bytes of the file (or all data of the file for smaller sized files) are filled with zeroes.
nngxIsStereoVisionAllowed returns true when generating hid::CTR::GyroscopeReader [System Updater]hid::CTR::GyroscopeReader, nngxIsStereoVisionAllowed returned true even when the 3D depth slider was all the way down. This has been fixed.
nngxFinalize [System Updater]nngxFinalize call's timing would sometimes overlap that of VSync and in rare cases result in a system freeze.
Cancel directly after starting communication [System Updater]Cancel was performed immediately after starting communication, other functions would not return a response for that communication.
nn::mic::SetAmp and nn::mic::SetLowPassFilter functions [System Updater]nn::mic::SetAmp function (with a false argument) or when executing the nn::mic::SetLowPassFilter function (regardless of argument).
As a result, there would be losses of sound or short instances of noise heard. This has been fixed.
uds::Initialize, ac::Connect, ac::ConnectAsync, or dlp::Client::Initialize was called, even if Wi-Fi was subsequently enabled.
event execution [System Updater]
To reflect this change you need to use debugger software from the 2010/12/22 version or later of PARTNER-CTR.
Seven days worth of steps will be recorded from the start of compatibility mode.
With this fix, the bug where a number of steps from before the time was changed would remain, but would suddenly become zero, or some would remain, was also resolved.
GetAdapterState, GetBatteryLevel, and GetBatteryChargeState functions were blocked, changes were made such that they were not blocked.
As a result of these changes, once there has been an actual change in the remaining battery level, there will be at most a delay of ten seconds until the GetBatteryLevel function can get the changed value.
The values are immediately reflected after the change for the GetAdapterState and GetBatteryChargeState functions.
INFTIM could not be used to specify a timeout for Poll [System Updater]INFTIM for the timeout while continuing to specify the non-blocked mode's socket descriptor for Poll.
As part of this change, removed RegionSelector.
These can also be changed using the Config tool after applying System Updater.Config tool can be imported.
ResultInvalidNode error would not be returned even when specifying a node ID not found by the GetNodeInformation function [System Updater]ResultInvalidNode error would not be returned even when specifying a node ID that does not exist in the GetNodeInformation function.
CreateNetwork function, etc., and when transitioning to wireless disabled mode or entering Sleep Mode, a deadlock would occur within the system, and any subsequently executed functions might not complete. This has been fixed.
ConnectNetwork function would no longer complete when transitioning to wireless disabled mode at some point in the timing when a client was attempting to connect to the network.
REPLY_LATER has been returned to a SleepQuery issued because the system was closed (or for some other reason), if a card is removed before REPLY_ACCEPT or REPLY_REJECT is returned the system will no longer be able to enter Sleep Mode.MountSdmc or MountExtSaveData functions have not succeeded and the GetSdmcSize function is called, an error (NotFound) is returned.Mount will fail and return BadFormat or MediaAccessError immediately after Format or after several files have been created. (2011/02/24)
cec_demo2 sample demo that supports screen display.
As a result, when developing server applications, the developer no longer needs to be aware of system updates in DLP.
Specifically, the changes are as follows.
The server data distribution states defined for the ServerState enumerated type, shown below, have been gathered together into one state: SERVER_STATE_DISTRIBUTING.
The events notified for server data distribution defined for the SERVER_STATE_PREPARING_FOR_SYSTEM_DISTRIBUTIONSERVER_STATE_DISTRIBUTING_SYSTEMSERVER_STATE_WAITING_RECONNECTSERVER_STATE_PREPARING_FOR_TITLE_DISTRIBUTIONSERVER_STATE_DISTRIBUTING_TITLEEventType enumerated type, shown below, have been gathered together into one event: EVENT_TYPE_SERVER_STATE_DISTRIBUTING.
EVENT_TYPE_SERVER_STATE_PREPARING_FOR_SYSTEM_DISTRIBUTIONEVENT_TYPE_SERVER_STATE_DISTRIBUTING_SYSTEMEVENT_TYPE_SERVER_STATE_WAITING_RECONNECTEVENT_TYPE_SERVER_STATE_PREPARING_FOR_TITLE_DISTRIBUTIONEVENT_TYPE_SERVER_STATE_DISTRIBUTING_TITLE
Also added a sample demo that uses the GD library.
See the Function Reference Manual for differences with the existing GL and GR libraries.
Silhouette demo that performs silhouette rendering using reserved geometry shaders [Sample Demos]Silhouette demo that performs silhouette rendering using reserved geometry shaders.
glDrawElementsin demos that directly generate 3D commands [Sample Demos]0x253[0:0] register is initialized to 0x0 during nngxInitialize for the demos that directly generate 3D commands (TriangleSimpleCmd and FragmentLightingSimpleCmd), changes were made to not generate unnecessary commands that would write 0x0 to register 0x253[0:0] for every frame when the rendering API was glDrawElements.
ProcTexEditor demo that edits that parameters of procedural textures, a change was made to display a gradation bar for the alpha color.
It displays the alpha color lookup table in RGBA shared mode and the Fa lookup table in alpha independent mode.
demo1 from the HOME Menu, and accessing save data using the A + X Buttons, if you then press the HOME Button there is a high probability that the demo will freeze.SimpleServer server, a DUP cannot be run because an update archive cannot be attached.(2011/02/15)
SetReceiving function reference [SDK]SetReceiving was revised.
CheckParentalControlPinCode function was added for verifying Parental Controls PIN codes.
Plans call for removing the GetParentalControlPinCode function used to get the PIN code.
Be sure to use the CheckParentalControlPinCode function to verify PIN codes.
FakeClient::StartScan function [SDK | Sample Demos]FakeClient::StartScan function allowed developers to specify a wireless channel when they should not have been able to, a FakeClient::StartScan function that does not allow wireless channel specification has been prepared.
This function automatically scans all scannable channels.
Use this function from now on.
Also, use of the FakeClient::GetChannels functions, used to get scannable channels, is prohibited.
Although the FakeClient::GetChannels function and the FakeClient::StartScan function that allows wireless channel specification can be accessed to maintain mutual compatibility, please use the new functions so that unnecessary problems do not arise.
With this change, the NodeInfo user names obtained by the following functions now always include NULL at the end (11th character).
nn::dlp::FakeClient::GetServerInfonn::dlp::FakeClient::GetNodeInfo
nn::fs::ResultOutOfMemory was being returned as an error when mounting a new archive using a name already registered.
This has been revised so that nn::fs::ResultAlreadyExists is returned.
dmp_FragmentLightSource[i].position and dmp_FragmentLightSource[i].spotDirection [SDK]dmp_FragmentLightSource[i].position and dmp_FragmentLightSource[i].spotDirection, did not match the specification manual.
NN_GX_CMDLIST_GAS_UPDATE to the nngxSetCmdlistParameteri function [SDK]pname has been newly added for making settings related to updating additive blend results for rendering gas density information.
nngxSwapBuffersByAddress function [SDK]nngxSwapBuffersByAddress function has been added. This function can specify the address of a buffer to be directly swapped without using a display buffer object.
glStencilFunc function for stencil tests, the default setting for the func argument differed in terms of the state on the driver and the value in the GPU register.
Although the state was GL_ALWAYS as per specifications, the register value was GL_NEVER. If glStencilFunc(GL_ALWAYS, 0, ~0) was specified, this would lead to a bug where operation would advance using GL_NEVER without updating the value of the register to match the actual state.
This bug has been fixed.
dmp_LightEnv.lutEnabledRefl from GL_TRUE to GL_FALSE
NN_GX_CMDLIST_HW_STATE0x0af[11:8], 0x126[25:24], 0x1c0, and 0x229[1:0]NN_GX_CMDLIST_GAS_UPDATE to the nngxSetCmdlistParameteri functionnngxSwapBuffersByAddress function
mad instruction and changed the upper limit on the number of masking patterns from 64 to 32
subdivision0.obj because there was a risk it would lead to undefined operations
glShaderBinary function that would occur under specific conditions [SDK]glShaderBinary function when specifying a generic attribute for the eighth or later attribute in the definition of a #pragma output_map statement in the shader assembler.
Sender::Cancel function would sometimes result in an assert failure if signal reception was poor, regardless of whether the build was a Release build.
Also, code was revised so that the ASSERT macro of the RDT library is disabled for Release builds.
AllocVoice where NULL would return and then the sound thread would stop [SDK]AllocVoice from a thread other than a sound thread where the function would return NULL and then the sound thread would stop.
This bug did not occur in CTR-SDK 0.14.23 or earlier.
INTERPOLATION_TYPE_LINEAR in a call to nn::snd::Voice::SetInterpolationType.
This bug did not occur in CTR-SDK 0.14.23 or earlier.
For details, see the documentation for the Config tool.
nn::fs::ResultVerificationFailed [SDK]nn::fs::MountSaveData function returns nn::fs::ResultVerificationFailed has been added to $CTR_SDK/tools/TargetTools/CTR-TS.
Be sure to write it to a backup device using PARTNER-CTR and use it.
ctr_VertexShaderLinker32.exe.
These features are disabled by default.
For details, see $CTR_SDK/documents/DMPGL20/VertexShaderReferenceManual.pdf.
NetworkDescriptionReader::GetNodeInformationList function were not being NULL-terminated [SDK]NetworkDescriptionReader::GetNodeInformationList, and when scanning after turning the power on and UDS communication had been carried out even once, including by another application.
GetNodeInformation function in the UDS library gives a Result value indicating success even when a nonexistent node ID is specified.(2011/02/15)
Also, the following bugs associated with this demo were fixed.
nn::camera::Activate function if the system was opened and closed repeatedly
FakeClient::StartScan function [SDK | Sample Demos]FakeClient::StartScan function allowed developers to specify a wireless channel when they should not have been able to, a FakeClient::StartScan function that does not allow wireless channel specification has been prepared.
This function automatically scans all scannable channels.
Use this function from now on.
Also, use of the FakeClient::GetChannels functions, used to get scannable channels, is prohibited.
Although the FakeClient::GetChannels function and the FakeClient::StartScan function that allows wireless channel specification can be accessed to maintain mutual compatibility, please use the new functions so that unnecessary problems do not arise.
SimpleServer would not run except in the JP market [Sample Demos]SimpleServer would not operate outside the JP region.
The cause was due to the fact that the JP market had been set for the Child_0 icon. The icon was changed to support all markets.
demo1 was old and could not be displayed, so it was replaced with the most recent data.
$Sample Demos/documents.
FragmentLightSimpleCmd sample demo [Sample Demos]demo1 code that used a non-Try function for save data, by changing the code to determine results using a Try function.
ProjectionTexture sample [Sample Demos]gx/DMPGL/ProjectionTexture, for procedural textures was newly added.
demo1 save data are used [Sample Demos]0x149 was not set correctly in relation to the value of position w for Light 0.
This bug was addressed in the CTR-SDK 1.1 graphics driver update.
gyroscope, for using the gyro, was added.
ReadTexturePackage2 demo [Sample Demos]ReadTexturePackage2 demo.
None.
(2011/01/25)
nn::cec::MessageBox::CreateMessageBox function that does not specify icon data [SDK]nn::cec::MessageBox::CreateMessageBox function that does not specify icon data, since there is no need to use it.
Also removed descriptions of the MessageBox Class Error HandlingMessageBox::OpenMessageBoxMessageBoxInfoReader class, since this class is not supported.
Also see the Programming Manual for details on how to implement.
MountRom, with the function returning a Result of type nn::fs::ResultVerificationFailed.
Shader::SetDrawMode function to support GL_TRIANGLE_STRIP and GL_TRIANGLE_FAN when in triangle render mode [SDK]gr::Shader class to support GL_TRIANGLE_STRIP and GL_TRIANGLE_FAN when in triangle render mode.
const member function for the gr::Viewport, gr::Scissor, and gr::Shadow classes [SDK]gr::Viewport::MakeCommand, gr::Scissor::MakeCommand, and gr::Shadow::MakeCommand member functions to be const member functions.
private member variables to protected member variables [SDK]private member variables in the library to protected member variables.
0x85 to the physical address of a cube map's +X plane [SDK]Texture::Unit0::MakeCommand function when generating the command to set register 0x85 to the physical address of a cube map's +X plane.
gr::MakeDisableAllCommand function and other class methods to generate 3D commands to disable graphics settings (such as shader modes, vertex attributes, fog, fragment lighting, textures, and render states).
FragmentLight::Source::MakeColorCommand function to generate fragment lighting light source color information commands, and the FragmentLight::Source::MakeGeometryCommand function to generate geometric information commands.
FragmentLight::MakeLightEnvCommand function causing miscalculation of the value in the register corresponding to the dmp_FragmentLightSource[i].shadowed uniform.
[0.0, 1.0] or [-1.0, 1.0] [SDK]LookUpTable::SetAbsTable method to configure lookup table commands when the input value is [0.0, 1.0], and the LookUpTable::SetNotAbsTable for when the input value is [-1.0, 1.0].
The LookUpTable::SetTable function is kept for compatibility purposes, and this now calls the LookUpTable::SetAbsTable function internally by default.
LookUpTable::SetTable, Fog::SetTable, ProcedureTexture::SetNoiseLookUpTable, ProcedureTexture::SetRgbMapLookUpTable, and ProcedureTexture::SetAlphaMapLookUpTable functions.
This default value is 0.0f.
ctr_VertexShaderLinker32.exe shader linker.
See VertexShaderReferenceManual.pdf for details.
Finalize function to call ResetBuffer internally [SDK]Finalize function to avoid possible unstable operation should the application forget to call ResetBuffer before calling Finalize.
Voice object obtained from AllocVoice was sometimes not initialized [SDK]Voice object obtained from AllocVoice was sometimes not initialized.
applet::ProcessPowerButton or applet::ProcessHomeButton when there is no sound thread [SDK]applet::ProcessPowerButton or applet::ProcessHomeButton functions after calling the nn::snd::Initialize function but before creating a sound thread.
INTERPOLATION_TYPE_LINEAR as the interpolation method of a Voice object.
CecLotcheckTool [SDK]CecLotcheckTool.
CecLotcheckTool to allow it to be imported into NANDDevelopment
FriendTool [SDK]FriendTool for registering friends from the CTR-SDK package.
Use the friend roster included in the HomeMenuPackage for establishing friendships.
CreateNetwork and Scan functions [SDK]CreateNetwork and Scan functions are now provided as the standard interfaces for these features.
The previous function that specifies the channels to use as the default argument value is still available for purposes of backwards compatibility, but Nintendo recommends using and supporting the new function to avoid any possible problems.
CreateNetwork and ConnectNetwork functions [SDK]CreateNetwork and ConnectNetwork functions, allowing the size of the passphrase to be specified as 0. This was changed to check for passphrases of at least 8 and at most 255 characters.
SendTo argument check to an assert [SDK]NN_ASSERT checks.
SetApplicationDataToBeacon function [SDK]SetApplicationDataToBeacon function reference stated that the argument data size had to be less than NET_DESC_APPDATA_SIZE_MAX. However, the function specification states that data can be NET_DESC_APPDATA_SIZE_MAX in size, so the reference content was changed to reflect this, and the library checks were changed similarly.
uds::Attach function [SDK]ATTACH_BUFFER_SIZE_DEFAULT and ATTACH_BUFFER_SIZE_MIN constants for the size of the receive buffer specified in the uds::Attach function.
Result value for the uds::DestroyEndpoint function [SDK]DestroyEndpoint function previously allowed for the specification of an invalid EndpointDescriptor, such that calling DestroyEndpoint on an Endpoint that had already been destroyed would return an error value of ResultNotInitialized. This was changed to return the more appropriate ResultNotAuthorized error instead.
GetNodeInformation function in the UDS library gives a Result value indicating success even when a nonexistent node ID is specified.(2011/01/25)
demo1-sys [Sample Demos]demo1 to show implementation of sample demo demo1-sys, which supports startup, quitting, and sleep processing, with the keyboard applet removed.
GraphicsDrawing demo for rendering 2D shapes [Sample Demos]GraphicsDrawing demo for rendering 2D geometric shapes using the GR library.
ParticleSystem demo for rendering the results of particle systems using the reserved geometry shader [Sample Demos]ParticleSystem demo for rendering the results of particle systems using the reserved geometry shader with the GR library.
gx/DMPGL/TriangleSimple and demo1 where calculation precision issues would cause strange behavior in the rotation of polygons on the upper screen when running the demos for extended periods.
Revised to reset the floating-point value specified as the rotation angle at set intervals.
None.
CONFIDENTIAL