Version 1.6.0
-
libnds:
-
Peripherals:
- Add support for the "retail" (ATTiny-based) Motion Pack accelerometer to the DS Motion Card/Pak driver.
- Clean up the DS Motion Card/Pak driver.
- Fix the DS Motion Card driver not working on DSi consoles.
- Fix the solar sensor not being detected on Boktai 1 cartridges.
- Fix
peripheralSlot2SolarScanFast()
not working correctly.
-
GL2D:
- Fix off-by-one errors when drawing textures with GL2D when the textures aren't flipped.
- Reorganize GL2D setup code to reduce code duplication.
-
Other:
- Fix return types and improve performance of integer square root helpers.
- In
initSystem()
, fix video register clearing ranges and remove redundant VRAM configuration. - The GRF "HDR" RIFF chunk has been deprecated and it has been replaced by a new chunk called "HDRX", which is exactly the same, but it includes a version field so that it is future-proof.
- Fix some issues that prevented LLVM from building the library. Add missing arguments to UDF instructions in the codebase. Add some explicit casts. Use
inttypes.h
definitions inprintf()
instead of explicit size modifiers. - Fix undefined behaviour warnings due to left shifts of signed integers.
-
-
grit:
- Update GRF export code to match the new format used by libnds.
-
ndstool:
- Use
git describe
output as version string instead of a hardcoded outdated version number.
- Use
-
SDK:
-
crt0 and linker script files:
- It is now possible to place DTCM variables and data at the end of DTCM instead of the beginning. This means the stack can grow downwards without affecting the variables at the beginning of DTCM. This is done by setting the value of the new symbol
__dtcm_data_size
to a non-zero value. The linker will helpfully point out if the data area is too small for a given program. - The user-configurable symbol
__shared_wram_size
has been added. - Assertions have been added to check that the user-defined sizes produce a valid executable.
- Support for
.noinit
sections has been added. - Missing copyright notices have been added to linker scripts.
- Minor cleanups and adjustments have been done to the crt0 code.
- It is now possible to place DTCM variables and data at the end of DTCM instead of the beginning. This means the stack can grow downwards without affecting the variables at the beginning of DTCM. This is done by setting the value of the new symbol
-
picolibc:
- Add implementation of
<uchar.h>
. - Improve
powf()
accuracy.
- Add implementation of
-
Documentation:
- Provide information about the build process of .nds files.
- Add a FAQ to the documentation.
- Add IRC channels to the support channels page.
- Add notes about what to do after installing BlocksDS.
- Credit all known contributors to all repositories of BlocksDS.
-
Examples:
- Add NDS Motion card example.
- Add example of scaling and rotating GL2D sprites.
- Add
inttypes.h
include in some examples that require it after picolibc changes.
-