This repo is a playground area for me to be able to learn the basics of nintendo DS development.
- Download and install devkitPro, installer link
- Only the NDS development kit is required
- I installed to
C:/nds/devkitPro
- Modify your system environment variables, the paths will be wrong if you're using a windows machine
- Update
/opt/
in the paths for DEVKITPRO, DEVKITARM, & DEVKITPPC to your installation path - For me I updated DEVKITPRO to
/c/nds/devkitPro
- Update
- Get an emulator like DeSmuME or No$GBA
- the less time you can spend copying onto a flash cart the better
- Set yourself up with a decent IDE, I chose VSCode
- Useful VSCode plugins
- C/C++
- C++ Intellisense
- Useful VSCode plugins
- Open
MSYS2
, this was installed as part of devkitPro- I chose to add this as an option to Windows Terminal
- Navigate to your repository
- Run the command
cd /c/nds/repo/dsLearn
- Run the command
- Run the
make
command
- NDS Homebrew Development
- VSCode Template
- libnds Documentation
- OSDL - A guide to homebrew development for the Nintendo DS
- Introduction to Nintendo DS programming
- DMA - Backgrounds
- VRAM Banks Selector
- VRAM BG Allocation Conflict Viewer
- dsgmLib - DS Game Maker
- The first person I found to have implemented NiFi, by changing packet headers in promiscuous mode, no clue if it works yet
- NES DS
- Includes NiFi support Related
- CQuake
- Includes NiFi support
- https://softwareengineering.stackexchange.com/questions/245236/is-heap-fragmentation-a-problem-in-bare-metal-arm-with-g
- https://stackoverflow.com/questions/8036474/when-vectors-are-allocated-do-they-use-memory-on-the-heap-or-the-stack
- https://stackoverflow.com/questions/21505021/extern-and-global-same-variable-in-same-file
- https://stackoverflow.com/questions/37323227/benefits-of-using-extern-declaration-in-same-file-as-definition
- https://patater.com/files/projects/manual/manual.html
Another advantage of using 16-color sprites is the ability to use 16 different palettes.
- There's a maximum of 4 bit palettes and it is 16!