Exposing Nintendo DS hardware to Python

Introduction

This work introduces a concrete way to expose Nintendo DS hardware to Python; it uses the Pyrex extension language to produce valid libnds wrappers in form of Python modules. It has been built upon the original port of Stackless Python 2.5 port to Nintendo DS, by Richard Tew.

Some sections of libnds have been wrapped, including framebuffer access, touchscreen reading, console emulation, irq handling and 3D functions.

Downloads

Slides used during the talk at PyCon Uno 2007 (Italian only!) - PyCon-DS.pdf

Binary .nds rom - NDSPython.nds

PyCon Uno framebuffer demo - main.py

Sources - dspython.7z

Instructions

To execute the framebuffer demo, place main.py in the "python" directory on your homebrew storage device, and execute NDSPython.nds. The .nds image is compiled with Supercard SD support; if you have another homebrew device, please patch the .nds image with dlditool.

The "Sources" package contains a full working environment to experiment with the wrapper. The requirements to build it are pretty much the same as the original port by Richard Tew, please refer to the included README.txt .

Changes

4th April 2008

25th February 2008

4th November 2007

8th October 2007

1st July 2007

10th June 2007

Todo... (in no particular order)

Contact

Lorenzo Mancini - lmancini@develer.com