Skip to content

Version 1.6.0

Compare
Choose a tag to compare
@AntonioND AntonioND released this 03 Nov 13:34
· 78 commits to master since this release
  • 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 in printf() 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.
  • 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.
    • picolibc:

      • Add implementation of <uchar.h>.
      • Improve powf() accuracy.
    • 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.