Version 0.13.0
-
libnds
:- Breaking change: Refactor input handling in the ARM9. In order to fix a race condition where the touch screen state could be updated between calls to
scanKeys()
andtouchRead()
it has become mandatory to callscanKeys()
beforetouchRead()
,keyboardGetChar()
,keyboardUpdate()
and the deprecatedtouchReadXY()
. Most programs are already doing this, but this may break a small number of programs that don't do it. - Implemented
isHwDebugger()
, which returns 1 if the console running the code is a hardware debugger, regardless of the DS model and CPU state. This is meant to replaceswiIsDebugger()
, which only works if the cache is disabled, and only in DS models (not DSi). The documentation ofswiIsDebugger()
has been updated to mention its limitations. - Fix Slot-2 tilt API introduced in version 0.11.0, which hadn't been tested on hardware. The old
peripheralSlot2TiltUpdate()
has been replaced byperipheralSlot2TiltStart()
andperipheralSlot2TiltRead()
. - Implemented
utime()
andutimes()
for changing file modification dates. - Implemented
scandir()
,alphasort()
andversionsort()
, - Fixed
statvfs()
andfstatvfs()
on NitroFS paths and files. - Added stubs for
getwd()
andget_current_dir_name()
. - Added stubs for
getuid()
,getgid()
, etc. - Add helpers to load GRF files generated by grit.
- Reintroduce logic to read Slot-1 cartridges with card commands from the ARM7 to save CPU cycles on the ARM9.
- The value of the RAM size field in
REG_SCFG_EXT
in the ARM9 is now set to 16 MB or 32 MB instead of being fixed to 32 MB even in retail DSi units. - Some CP15 defines have been fixed.
- Simplify logic in ARM7 input handler.
- Generate default font from a PNG at build time instead of doing it from a preconverted BIN file to make it easier to replace it in the future.
- Breaking change: Refactor input handling in the ARM9. In order to fix a race condition where the touch screen state could be updated between calls to
-
grit:
- Added the
-D
argument, specifying the destination folder for non-shared data as a counterpart to-O
. - Fixed a situation in which the first color in an image's palette would be used as transparent if the user-provided color (with
-gT
) was not present in the image. - Breaking change: Fixed GRF file output to properly follow the RIFF chunk format. It will also export new information in the file header, like using special magic values to specify the formats A3I5, A5I3 and TEX4x4, and specifying the number of colors contained in the palette (for 16-bit
textures it's 0). In order for the new information to fit in the header, some fields have been increased in size. - Fixed palette size calculation for DS textures.
- Improvements to error messages.
- Added the
-
libxm7
:- Make types
XM7_XMModuleHeader_Type
andXM7_MODModuleHeader_Type
private. Developers consider their MOD/XM files as a typeless blob of data, they shouldn't need to cast it to anything, the library should do it itself. - The structs that define the MOD and XM formats have been made private, as well as some definitions internal to the player.
- Some defines have been turned into enums, which will help developers and IDEs identify what to use in which functions.
- The documentation has been updated.
- Make types
-
Tests:
- Add test to read DSi SCFG registers to see which DSi features are available with the loader that has been used to launch the application.
- Add test to display all configured MPU regions.