The TigForums Homebrew Creator's Club Presents
Meeting 2: Nintendo DS
Developing on a modern handheld
[LOGO NEEDED]
Introduction: There's not much needed to introduce the Nintendo DS. Its a powerful little handheld, with two ARM processors handling user input, sound processing, 3D graphics, and many other wonderful things. The DS is Nintendo's golden child of the late 2000s, and with it came a very interesting homebrew scene. First it was DarkFader showing the first Metroid Demo rip on his FPGA setup, then it was another team showing how to actually do the hack without needing an FPGA hacking the system. Then came the first pass through devices created by several people, but sold primarily by Natrium42. Wintermute and Dovoto kept the scene alive with updated version of devkitpro and libnds, and many hardware hackers dumped bios files, hacked flash firmware, and made the DS a great homebrew device.
Then came the land of piracy, with the R4s being declared illegal in Japan, EZFlash V's, Slot-1s and Slot-2s, so many awesome devices to make homebrew capable on almost any device for less than $10. But from this wave of scene divisions, clever hacks, and a barrage of flash carts, we got a great homebrew package for developing on the Nintendo DS. The CPUs inside of the DS are fast enough to handle C++ code without the need to optimize in ARM assembly (unless you want to), and there are a ton of great resources available to make homebrewing easy and simple. Also many DS homebrew applications are fully open sourced, such as Loopy's NES emulator, and many of the DS homebrew games.
Goals:Easy mode- Create an array of bouncing balls moving around the bottom or top DS screen.
- Create a two song MOD player using the build in MOD player in LibNDS.
- Manually draw lines and circles on the DS screen.
Normal Mode- Create a dynamic platform engine that scrolls both horizontally and vertically.
- Create a simple Megaman clone.
- Create a Dr. Mario clone with sounds.
- Using any demo scene source, create either a plasma demo or a twister or any fancy demo scene demo.
Hard Mode- Create a unique side-scrolling platformer with 4 levels and an end boss.
- Create a multi-player game using DSWifi, either with an in-between server or with a DS client/server.
- Create a beat game using sound samples and the touch screen.
Tools: Compilers Devkitpro suite w/ libnds checked -
http://www.devkitpro.org Do a regular install, and you will have Devkitarm and Libnds which is all you need to start compiling examples. Flash Carts for playing your homebrew on the REAL THING (very satisfying) EZFlash V Plus -
http://www.ezflash.cn/home.htm TopToy DS -
http://www.ndstt.com/product.html R4 -
http://www.r4ds.com/ G6 Flash -
http://www.g6flash.com/ Helpful Pages Gameboy Advance/ Nintendo DS Technical Cheat Sheet -
http://nocash.emubase.de/gbatek.htm Patater's Manual -
http://patater.com/manual EKid's How to Make a Bouncing Ball Game -
http://ekid.nintendev.com/bouncy/ Emulators NO$GBA -
http://nocash.emubase.de/no$gba-w.zip
DeSmuMe -
http://desmume.org/download/ Resources Drunken Coders (Great group of people) -
http://drunkencoders.com/ GBADev forums -
http://forum.gbadev.org/ Old Dev-Scene's List:
http://dev-scene.com/NDS/Homebrew_Catalog PDRoms - One of the best sources of legal roms :
http://pdroms.de/files/nintendods/ IRC Chat - #dsdev at irc.blitzed.org
---------------------------------------------------
As the month goes on, I'll be writing various tutorials to get everyone started. I encourage everyone to jump on in and start trying different challenges. Please post questions and comments in this thread, and we'll get some freaking homebrew creation going!