Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

The Nintendo DS - Computer


Published on

  • Be the first to comment

  • Be the first to like this

The Nintendo DS - Computer

  1. 1. The Nintendo DS More than just fun and games.
  2. 2. The Nintendo DS Programming and controlling a dedicated-purpose computer system.
  3. 3. Why Should I Care? <ul><li>    </li></ul>65 million units $8.5 billion sales
  4. 4. Why Should I Care? <ul><li>    </li></ul>
  5. 5. Why Should I Care? <ul><li>    </li></ul>
  6. 6. &quot;Homebrew&quot; Computing The Importance of Fiddling with Things
  7. 7. Spacewar (1962) Pong (1966/1972)
  8. 8. Space Travel game (1969)
  9. 9. Apple I (1976)
  10. 10. Who is Into Homebrew Computing? <ul><li>Engineers </li></ul>Computer Enthusiasts Tinkerers Geeks Innovators!
  11. 11. Inside the Nintendo DS: Hardware
  12. 12. Two TFT back-lighted screens Including a resistive touchpad integrated in the bottom screen
  13. 13. Integrated wireless networking via Wi-Fi 12 buttons for game-play inputs
  14. 14. 16-channel sound output Integrated microphone with limited speech recognition
  15. 15. Inside the Nintendo DS: System Architecture and Design
  16. 16. First CPU: ARM9 67 MHz, 200-300 MIPS, 16/32 bit
  17. 17. Second CPU: ARM7 33 MHz, 20 MIPS, 16/32 bit
  18. 18. Main memory: 4MB of built-in RAM
  19. 19. Dedicated video RAM 656 KB in 9 memory banks
  20. 20. Other memory banks: ARM9 caches, ARM7 Fast RAM, shared Fast RAM, DTCM and ITCM
  21. 21. Two slots for external Flash memory: DS software port and legacy GBA software port
  22. 23. Developing for the DS The Nintendo DS Software Development Environment
  23. 24. “ It is a shame that homebrew development can't be officially sanctioned and supported, because it would be a wonderful platform for a modern generation of programmers to be able to get a real feel for low level design work, to be contrasted with the high level web and application work that so many entry level people start with.” John Carmack
  24. 25. Today's Homebrew Devices
  25. 26. Open SDK $399 - $499 (New) $500 - $800 (Used/Unlocked) No Homebrew Support $115 - $130 (New) $40 - $75 (Used) Nintendo DS Apple iPhone
  26. 27. The DS is not meant to be a homebrew device… because Nintendo is concerned that people will use homebrew innovations to access and play pirated games .
  27. 28. <ul><li>No floating point unit </li></ul><ul><li>Encryption </li></ul><ul><li>Dynamic libraries NOT supported </li></ul><ul><ul><li>Need to synchronize two CPUs </li></ul></ul>DS Homebrew Challenges
  28. 29. Libraries are available for Homebrew coding <ul><ul><ul><li>devkitARM: ARM preprocessor, compiler & linker </li></ul></ul></ul><ul><ul><ul><li>libnds: a low-level NDS library </li></ul></ul></ul><ul><ul><ul><li>palib:  an optional higher level library </li></ul></ul></ul><ul><ul><ul><li>dswifi: an add-on to libnds for wi-fi support </li></ul></ul></ul><ul><ul><ul><li>libfat: filesystem manager for  r/w to media </li></ul></ul></ul><ul><ul><ul><li>DeSmuME and NO$GBA: emulators for testing </li></ul></ul></ul>
  29. 30. Just You and the Bits & Chips <ul><li>Even with the available libraries, you must understand </li></ul><ul><li>what is happening at a very low level, in order to </li></ul><ul><li>write code that will work. </li></ul><ul><li>Programming Options: </li></ul><ul><ul><li>ARM assembly </li></ul></ul><ul><ul><li>C/C++ </li></ul></ul>DS TV tuner
  30. 31. Two CPUs = Two (main) functions ARM7 ARM9
  31. 32. Check out what you can program on a Nintendo DS!
  32. 33. GPS on the DS (using Google Maps)
  33. 34. Any questions?