Nintendo DS


Warhawk DS

Welcome to the first release of Warhawk DS. Warhawk DS is a game for the Nintendo DS coded in 100% ARM assembler. It is based on a commercial C64 game released by Proteus Developments in 1986.

This has been a joint coding effort between Flash and HeadKaze that has taken around 5 or so months from vision to fruition.

Warhawk DS is based on a much earlier game released on the C64 in 1986, and is more of a re-imagining than a remake. One thing that was intended to retain was the 'old school' feel to the game, and this is hopefully something has been achieved. The downside to keeping the feel is that those of you brought up on present day games may find this a little difficult? It is not an easy ride to clear the 16 levels, though a consession has been made for the modern-day gamer in the addition of continues.


Manic Miner in the Lost Levels

The tale of Miner Willy and his incredible adventures in the mines, and then the mansions, of Surbiton is legend. But like all legends, it doesn't tell the whole story.

Most people know Willy simply as a digger who got lucky and lived happily ever after in decadent luxury. Far fewer know the secret - suppressed for quarter of a century by the government - of how he also saved Planet Earth from alien invasion.

It wasn't until an eccentric but dedicated historian writing a paper for a renowned academic journal (Retro Gamer issue 63) pieced together the complete saga of Willy's heroic exploits from fragments of scattered evidence - in the form of obscure retellings of the 'Manic Miner' folk fable in ancient languages readable only via long-obsolete machines - that the whole truth was finally revealed.


The Detective Game

London, 1974. You are a famous Scotland Yard Detective who must solve the murder of the rich aristocrat Angus McFungus, who’s body has been discovered at his home at 427 Park Lane. Arriving at the residence you soon discover that this will not be a simple ‘open and shut’ case, and will take all your finely honed detective skills to solve. Can you put your finger on the killer?

This is a remake of the 1986 C64 game by Sam Monthorpe for the Nintendo DS. Charcters were created by Paul Jay and the plot was cunningly devised by the Magnificent Seven.



WMBFront Version v1.3

WMBFront is a front-end for FireFly's wmb.exe multiboot application.

1. Place WMBFront.exe in the same folder as wmb.exe
2. Place your .nds files in the data directory
3. Use Browse... to select the ROM(s) to upload
4. Press upload button to send ROM(s) to DS

Thanks To: FireFly, Loopy, Costis, DarkFader



DSSpeech Speech Synthesizer v1.5

(C) Copyright 1986 A.D.Beveridge & M.N.Day. All Rights Reserved

Windows Adaption by Stefan Stenzel

DS Port by Headspin (headkaze [at]

I would like to personally thank Stefan Stenzel for his most gratious generosity and kindness with providing the source, as well as taking much time to reply to my nurmerous and annoying e-mail's and nagging.

  • Version 1.5 Added Keyboard (now it will say whatever you want)
  • Fixed MP3 SD LCDSwap issue


DSGoo "Celebrity Edition" v1.0

Based on the popular Kai's SuperGoo program, DSGoo brings "Goo" to the Nintendo DS. "Goo" means to manipulate a picture by dragging a pen over it to distort it.

This can bring hours of amusement, messing up people's faces. You don't have to be an artist to have a go, just use the DS's pen to drag areas of the face around.

DSGoo "Celebrity Edition" contains the following photo's to Goo at your displeasure...

Angelina Jolie, Jennifer Aniston, Anna Kournikova, Christina Applegate, Britney Spears, Carmen Electra, Christina Aguilera, Cindy Crawford, Jennifer Connelly, Courtney Cox, Claire Danes, Demi Moore, Cameron Diaz, Claire Forlani, Gillian Anderson, Jeri Ryan, Jennifer Lopez, Kate Winslet, liv Tyler, Nicole Kidman, Salma Hayek, Shania Twain, Marissa Tomei, Virginie Ledoyen, Yamila Diaz, Catherine Zeta Jones.



Pictochat Keyboard Graphics

Hand drawn from photographs of Pictochat running on a DS, this set of images are for the dev community to reference for building applications on the DS.


Simple Keyboard Example

This is a simple implementation based on the Pictochat keyboard using tiles and touchscreen processing.

Download [20050804]

Extended Keyboard Example

This is an extended key implementation based on the Pictochat keyboard using tiles and touchscreen processing.

Additional keys are available. Keyboard design influenced by Dejital of DSLinux.

Download [20050804]

Extended Keyboard Example 2

This is an extended key implementation with a beveled keyboard skin using tiles and touchscreen processing.

Although there is no NDSLib example, you can just copy over the keyboard files in the previous one.

Download [20050804]

Extended Keyboard Example 3

This is an extended key implementation with a beveled keyboard skin using tiles and touchscreen processing.

This adds some extra keys to the previous example.

  • Better touch-screen processing.
  • Changed jump detection from a "distance check" to a "Z register is not zero" check.
  • Added key hi-light to make it easer to identify typing mistakes.
  • Added keyboard "click" audio feedback.
  • Shift key now works like in Pictochat (activates shift for next keypress only).

Download [20050804]

Extended Keyboard Example 4

Changed keyboard to have indented keys.

  • Fixed hi-light bug
  • Moved keyboard source into separate file
  • Updated for new libnds
  • Fixed some more bugs
  • Nicer keyboard function (uses your own string at a length you specify)
  • Backspace now works over multiple lines (bloody escape sequences!)
  • Added echo on/off to console

Download [20050921]

Extended Keyboard Example 5

A few people were put off using my keyboards because of the shading, the latest keyboard example simplifies the look so it will suit a broader variety of apps.

  • Source is now in one file (plus header) to make integration easier.
  • No more use of lcdSwap() function as it messes up on some carts. I was obviously being lazy before, now the keyboard is drawn to the sub screen like it should.
  • Cleaned up the code a bit.
  • Keyboard is now at the bottom of the screen, so it's easier to use (apparently).
  • Removed my custom pen jump checking code, since libnds takes care of most of this these days and is always being improved.
  • Added back my pen jump checking code. It seems to work better on h/w, although it doesn't work as well in Dualis.
  • You can comment out the line #define USE_CUSTOM_PEN_JUMP_DETECTION_CODE 1 to remove the custom pen jump detection code.
  • Updated source using latest LibNDS template.

NOTE: If you liked the old beveled blue keyboard style as in Example 4, then you can download the tile binaries for it here. Just copy the files over the old ones in the data directory.

Download [20060704]

Keyboard Example 5

This is a cut-down version of the Extended Keyboard 5 with the ESC, Function Keys and X key removed.

You can download the beveled blue graphics here. Copy them over the files in the data directory.

Download [20060704]


It's always nice to see other coders finding my graphics and code useful, so here I thought I'd showcase some fellow home brewer's who have found my stuff worth using in their own projects.

Frodo DS
GPF's great port of Frodo.

A nice text editor

TR-909 DS
Custom interface for this TR-909 drum machine.

Nitro Tracker
Nice music tracker.


Python for DS

NitroTracker Skin

DS IRC Program Mockup

Atomic Magazine

DS Tools

JPEG Decompression Library for DS

Burton Radons JPEG decompression library
Modified to work with DS

JPEGExample [20060704]


If you use gfx2gba to convert images to 32768 colour X1B5G5R5 format, you can't dmaCopy() to VRAM because bit 15 needs to be set.

This program will set bit 15 to a raw file created by gfx2gba.


DekuTree's ModPlayer Example

This is not written by me so all credit goes to DekuTree. This is a template of DekuTree's MOD Player for DS. It's also been slightly improved by LiraNuna. It's a good template to start writing a game or application that needs music playing the background. It is based on the "combined" template in LibNDS because the ARM7 binary needs to be customized to handle the audio.

MODPlayerExample [20060704]


DS Pictochat font
Amiga & MS-DOS Font