Quote Originally Posted by WILL
....
So here is what I propose... Someone write a book!

Seriously there are a number of topics that could be found useful out there. Here a few sample titles for thought:
...
Homebrew Nintendo DS Programming with Free Pascal
...
Would anyone be seriously considering writing a book in the next year or so?
I'm resuming this old post, because I've started writing something on this subject
It's a spare time project, so I don't know when (and maybe if) I'll finish it... I think I'll release it on lulu.com as pdf for free and as real book for a small fee, in order to cover the printing costs. The book will be available in English and Italian; it will be a bonus cd with compiler, tools and sources too, that I'll put for download on my home page.
At this time I have written a draft for chapters 1, 2, 3 and 4 in Italian. Here's a draft of the index:

[list][*]I. First steps
  • 1. Two word to start
    • 1.1. Why programming the Nintendo DS?
    • 1.2. Is homebrewing legal?

  • 2. Hardware
    • 2.1. NDS tech info and features
    • 2.2. Backup devices
    • 2.3. Other devices

  • 3. Development tools
    • 3.1. Compilers
      • devkitARM
      • Free Pascal
    • 3.2. Libraries
      • libnds
      • libndsfpc
      • palib
    • 3.3. Emulators
      • Debuggers
    • 3.4. Other tools
      • Tools for graphics
      • Tools for sound

  • 4. Introducing fpc4nds
    • 4.1. Get it
    • 4.2. Installing
    • 4.3. Other needed stuff
    • 4.4. Configuration
    • 4.5. Recompiling from sources

  • 5. Let's start!
    • 5.1. Differences between arm7 and arm9
    • 5.2. Hardware initialization
    • 5.3. Usign both screens
    • 5.4. Using the touch screen and keys
    • 5.5. Loading and saving data
    • 5.6. First example (hello ds!)

[*]II. Graphics
  • 6. Backgrounds
    • 6.1. What's a background?
    • 6.2. Graphic modes
    • 6.3. Tiles Background
    • 6.4. Extended Background
    • 6.5. Setting memory banks for background
    • 6.6. Example: static background
    • 6.7. Example: dynamic background
    • 6.8. Example: tiled background

  • 7. Sprites
    • 7.1. What's a sprite?
    • 7.2. Sprites handling on NDS: OAM
    • 7.3. Initialization
    • 7.4. Updating sprites
    • 7.5. Attributes
    • 7.6. Activating and deactivating a sprite
    • 7.7. Moving a sprite
    • 7.8. Rotating a sprite
    • 7.9. Setting the priority
    • 7.10. Setting memory banks for sprites
    • 7.11. Example: Showing some sprites on the screen
    • 7.12. Example: Moving a sprite with the stylus

[*]III. Other stuff
  • 8. Sound
    • 8.1. Sound handling on DS
    • 8.2. ARM7/ARM9 interworking
    • 8.3. Example: playng a sound
    • 8.4. Example: using modules

  • 9. WiFi
    • 9.1. WiFi on DS: what can do and what can't do
    • 9.2. Esempio: exchanging data on the web

  • 10.Touching things up
    • 10.1. Example: interacting with the microphone
    • 10.2. Example: interacting with closing lid
    • 10.3. Example: grab the screen

[*]IV. Appendix
  • 11.Tips‚Äôn‚Äôtricks
    • 11.1. Fixed-point maths

  • 12.References
    • 12.1. ]
The writing tool I'm using is LyX, with Koma-script and a hand made template. About the title: something like

[list=a][*]Homebrew Nintendo DS Programming with Free Pascal[*]Nintendo DS for Pascal people[*]Nintendo DS for Pascal addicted[*]Nintendo DS homebrewing with Free Pascal[/list]

Well, I'm open to suggestions :mrgreen:

The book is open to external contributions too: if someone wants to write about a subject on the index, or even about a new argument, please PM me