As a clarification, I would like to first point out that this is meant to be a discussion thread regarding something I just think is cool. This is not a thread where a developer would show off what they made, because this is not my project. This is in the hands of AntonioND (with special help from asie).
With that out of the way, I now feel comfortable talking about it.
About a month ago now, a certain message was posted by them on our DS(i) Mode Hacking! Discord Server. It read something of the sort, with a bit of modification to remove outdated information:
That was v0.1, though. Since then, 4 different updates have been released, with key changes being:
- Intergrated DSi-Camera system
- EEPROM Dumping Fixes (ported from GodMode9i)
- Touch-Frame Delay removal
- Pressure Touch for Nintendo DSi
- Faster VRAM-friendly memcpy function (no more tonccpy)
- Filesize optimizations (.1KB touchscreen keyboard built in as opposed to the 8KB one)
- Rumble Pak detection improvements
- Multithreading
With all of that combined with smaller file sizes by default, this was a chance for the DS Scene to finally pick up some steam from a toolchain POV. Indeed, the DS-Homebrew team effectively already switched over, with myself, lifehackerhansol and Evie already using it.
I am very glad this scene was given a second chance, and I hope we can take better advantage of it.
With that out of the way, I now feel comfortable talking about it.
About a month ago now, a certain message was posted by them on our DS(i) Mode Hacking! Discord Server. It read something of the sort, with a bit of modification to remove outdated information:
Well, I'm tired of waiting, so it's time to make it official. This is BlocksDS v0.1, my SDK for NDS https://github.com/blocksds/sdk I've taken all of the libraries supported in devkitPro and integrated them as part of my SDK. I've removed a few things that weren't licensed under FOSS licenses (like NitroFS) and reimplemented them. The current licensing status of the SDK should be 100% clean (as far as I can tell!). There is still a lot to do, but I think it's stable enough now to announce it.
At this point, it is possible to build devkitPro projects relatively easy (there is a guide here! https://github.com/blocksds/sdk/blob/master/docs/porting-guide.rst). The main difference is that you need to replace the makefile.
The main idea behind this SDK is to have something that can be easily modified by the user. You have to build all the libs yourself, it only takes a few seconds! The only thing I don't make you build is the compiler. You don't like the makefiles? Create your own build system! The makefiles will help you know which command line arguments to use and such. Have you found a regression between SDK versions? Use git bisect to find the problem! All the components of the SDK are integrated as submodules, so you always know which version was used at all points of the SDK history.
Thanks to asie for all his advice! He has already made a couple of very early tests, and the final binaries are noticeably smaller than with devkitarm (mainly thanks to using picolibc instead of newlib)
That was v0.1, though. Since then, 4 different updates have been released, with key changes being:
- Intergrated DSi-Camera system
- EEPROM Dumping Fixes (ported from GodMode9i)
- Touch-Frame Delay removal
- Pressure Touch for Nintendo DSi
- Faster VRAM-friendly memcpy function (no more tonccpy)
- Filesize optimizations (.1KB touchscreen keyboard built in as opposed to the 8KB one)
- Rumble Pak detection improvements
- Multithreading
With all of that combined with smaller file sizes by default, this was a chance for the DS Scene to finally pick up some steam from a toolchain POV. Indeed, the DS-Homebrew team effectively already switched over, with myself, lifehackerhansol and Evie already using it.
I am very glad this scene was given a second chance, and I hope we can take better advantage of it.