Interview with DSLinux creator Malcolm Parsons AKA PepsimanThis week we passed one of the primary barriers towards making the Nintendo DS into a cheap, open, portable computer when mod master Malcolm Parsons AKA Pepsiman ported Linux to the DS. Generously Pepsiman has agreed to answer a few questions to help TMG readers understand what we have now, what we'll have soon and how to get in on the action....
TMG: Can you explain in laymens terms, what we have now and what the relationship is to UClinux and other Linux variants?
Pepsiman: DSLinux currently provides a text console on which you can run a shell
and play two text adventure games. Text is input using the Dpad to cycle through the letters, then pressing a button when the required letter is shown.
DSLinux is based on GBA linux.
The DS hardware is very similar to the GBA hardware, so this was a natural place to start.
GBA linux is based on uClinux, which is a modified linux for use on computers that are lacking the memory management hardware required for running the standard linux kernel.
A consequence of the lack of memory management hardware is that in uClinux, any program can crash another program or the kernel.
Both DSLinux and GBAlinux use the linux 2.0 kernel.
TMG: What's next?
Pepsiman: Using the Dpad for input is not very practical, so we are planning to add a keyboard on the touchscreen, much like the keyboard used in pictochat. Other things include audio support and framebuffer drivers to allow graphical applications.
TMG: What are the biggest nuts still to crack?
Pepsiman: The DS homebrew community has not yet worked out how to program the builtin wifi on the DS. Wifi support would be really useful, allowing web browsing, instant messaging, VOIP, internet radio, etc.
TMG: What do you expect the project will look like when you've finished? What should we expect in future incarnations of DSLinux?
Pepsiman: I don't think an open source project is ever finished. You can expect graphical applications and games, utilising the audio input and output and a touch screen keyboard & mouse. Wifi would be nice, but it might take a while.
TMG: Can we expect that eventually we'll be able to run any Linux OS software that the hardware supports?
Pepsiman: We haven't yet tried to get the X11 windowing system to run on the DS,
but if we do then any linux software that uses less than 4MB of RAM should run. So don't expect a DS version of firefox.
TMG: Who do we have to thank for this?
Pepsiman: I'm definitely standing on the shoulders of giants here. I'd like to thank Linus Torvalds, Alan Cox, the uClinux team, the gcc team, and Clemens Buchacher ( who completed the GBA port ).
The DS emulator authors, ndslib creators, and NDSTech Wiki authors.
I'd also like to thank all the people who tested beta releases and provided screenshots.
All the code changes were made by me, but I did receive technical help on the dslinux forum and the #dsdev irc channel from TheChuckster, lynx, loopy, DesktopMan, WntrMute, PhoenixRising. Apologies to anyone I've forgotten - I don't keep irc logs.
TMG: What's your preferred method of accepting gratitudes? Paypal? Beer?
Pepsiman: At this point what I really need is a passme and a GBA flash card. I started this port using the iDeaS emulator, and have not yet run it on my own DS. DSLinux does not run in any current emulators, so I rely on others to test releases on hardware for me.
I'm not doing this for money, but if people really want to send money, paypal is fine, send me (pepsiman) a message on dslinux.org and I'll tell you the email address to send it to. I don't drink beer.
TMG: What's the best way for newbies to help? Are there opportunities for non-techies to pitch in?
Pepsiman: There's currently a "DSLinux Character Compitition" for all you budding artists.
TMG: For people just coming to Linux - what are some steps that you would recommend for educating themselves on Linux for the DS?
Pepsiman: The easiest way to try linux is with a livecd distribution like Knoppix . When you know how to use linux, we'd love to help you run it on your DS.
TMG: Are there any good crib sheets for installing DS Linux?
Pepsiman: Not yet.
Basically, you need a GBA flash card and one of passme, wifime or flashme. Download the DSlinux binary, write it to your flash card and put it in your DS. The DSlinux binary is not a .nds file, so it does not need a .nds loader. Use the normal procedure for your *me device to execute code from the GBA slot in DS mode....
Thanks again to Malcolm Parsons AKA Pepsiman