Yay for this two month hiatus.
No, I’ve not abandoned, it’s just that:
- There is a non-DS-dev-related project I want to take care about.
- I was ending the school year.
- General lazyness.
I now have a summer break so I should be able to work on DS homebrew, including a PAlib-to-libnds transition layer. A sneak peek of what’s coming:

(yes, that’s a pacifier)
For those who are worried about the Lua port, it’s indeed in my project list. The source code for the latest test R4i knockoff bootstrap will also be released once I clean it up (requested by Steve).
It’s April 29th, that means Ubuntu Lucid Lynx is out! I’m particularly sceptical about this release because it fixes some audio problems.
It appears they have had last minute problems but anyway…
As I have a 64-bit machine I’ve downloaded the 64-bit version. Too bad I’m busy until Saturday so I won’t be able to install it today…
I’ve decided to make my own DS port of Lua because:
- DSLua was abandoned (and uses PAlib).
- Micro Lua DS was abandoned by the original developer.
- Apparently noone noticed Lua defaults to the double floating point type (which is ridiculously slow on the DS due to its lack of a fp unit).
- Lua is easy to learn and can be a friendly introduction to Nintendo DS homebrew programming.
Compiling an integer-only version of Lua for DS was really easy, and I got key and stylus support in a couple of minutes. Division and module operations are done using the hardware registers for performance. Here are some pictures:
(EDIT: There’s something wrong in the main page, please click on “Read more”. Can a mod fix this?)
Cute, isn’t it? Well, it still lacks support for almost everything, but something is better than nothing. Here is a list of planned things:
- libnds lua bindings for background/sprite/VRAM functions
- maxmod lua bindings
- sleek object-based sockets API
- good ol’ POKE and PEEK functions
- memory buffers for use with the functions above
- file loading to memory buffers
- luaballs (archives containing Lua scripts and resources) with compression support
- preparsed Lua scripts support in order to speed up the loading process
- shell entirely written in Lua (with minimal C bootstrapping)
- debugging over Wifi via the DBGp protocol
- runtime version for converting Lua programs into standalone .nds files
- PC runtime emulation layer for quick testing and easier debug
Don’t forget to post your thoughts here!
So I have decided to get a drunkencoders blog as everyone seemed to have one ;p
Well, here I will finally have an organized space to place all my thoughts on Nintendo’s little portable console.
Stay tuned for stuff!