I was reading this answer previously and it got me interested in purchasing a Nintendo DS Lite for learning to program embedded devices. Before I go out and splurge on a DS I had a few questions:
Are there any restrictions on what you can program? The post I indicated earlier seemed to say there weren't, but clarification would be nice.
Would I be better off buying an arduino (or similar) and going that route? I like the DS because it already has a lot of hardware built in.
I'm thinking of getting a CycloDS Evo card, is there a better option for homebrew?
What are the best resources to learn about DS development?
Thanks for your time, If you have a DS and program on it, I'd love you hear your opinion, or alternatively if you have a better idea, I'd like to hear it too.
Thanks =]
You can select commands and run programs using the Nintendo DS Touch Screen, and you can even share your creations via Nintendo Wi-Fi Connection, allowing you to collaborate with other users. You can also create special QR codes containing your programs that other users can scan using their Nintendo DS system camera.
C/C++ and Assembly (ARM) is used to make DS games, Although you could just stick to using one or the other.
D-Pad: The D-Pad (short for directional pad) is used whenever a code requires an Up, Down, Left, or Right action. Use the D-Pad to enter whatever directions the code uses. A, B, X, and Y: These are the most common buttons used for code entry on the DS.
No, there really isn't much of a limitation beyond that of the hardware, and even that can be overcome with enough effort. Quake has been ported to DS, for example, and particle games that utilize both processors have been made. There has also been discussion on how to make higher quality 3D scenes using a double pass renderer. There are multiple resources on the Nintendo DS section of the GBADev forums.
I would say that the DS is an excellent route to embedded systems development; there is a large and active community that is willing to answer questions and give support, and there is so much hardware built straight into the thing. It saves you the time of building a system to test on.
The CycloDS Evolution is a good card and is fairly common, so it shouldn't be difficult - if necessary at all - to make your homebrew compatable with other cards. However, be aware that other popular choices are the M3 line and the R4 line, which are pretty much the same thing. I have a TTDS, and it works well, but not out of the box. I would reccommend the other three mentioned.
As for beginning DS devving, I would reccommend looking at the basic examples found in the examples
folder of devkitPro and reading the GBA tutorial TONC, which covers many of the concepts that are used in both GBA and DS development. A more DS oriented tutorial, Patater's Introduction to Nintendo DS Programming, will help beginners get on their way in the DS world. There is also a very comprehensive documentation spec for the GBA and DS known as GBATek.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With