From GNU/Linux to Warhammer & back again!
The world of FOSS is not simply limited to the PC or the many homebrew games played on vintage systems either natively or via an emulator, development for current platforms is possible and it is for this reason I am running this article on the R4 Revolution for the DS. How did I come by it? At a market today, being sold quite openly (since its not breaking any laws) for the very reasonable price of £35 per unit. I had doubts the hardware would work but figured for that small amount of money it could provide me with hours of entertainment as I get to grips with creating a few little programs for the DS.
I have been experimenting a little already with coding for the DS. A while ago we ran some articles on DS emulation on Linux, you can see the review of iDeaS v188.8.131.52 here and the review of DeSmuME v0.8 here. Both packages, whilst still in early versions were very impressive and great for using to test your DS homebrew creations. We will be looking at both of those projects again at a later date, hopefully with more features and better compatibility. Remember to support these projects and report bugs in the software to the authors!
Before I go any further, Im sure Im going to have the piracy allegation thrown at me, however what I would say is that R4 Revolution is intended as a tool to enable home brew software to be played and created for the Nintendo DS. If users choose to abuse its purpose, then fine, just dont bring it here. The R4 is no more of a piracy device than a DVD writer. OpenBytes does not support the use of this device for piracy or infringing copyright. I will not link to any copyrighted products and the only links here are to home brew games/demos/projects where there is permission to distribute freely.
So what is the R4 Revolution? Quite simply its a multimedia player for your Nintendo DS, allowing files from your PC to be copied onto a MicroSD card, inserted into a DS sized cartridge and then run via a menu system. Its runs off the media player Moonshell which is currently at 2.00 beta 7.00.
So whats in the box?
A DS sized cartridge with a slot for a MicroSD card.
A 2GB MicroSD (plenty for your projects).
A USB stick that also has a slot for the MicroSD card, which can be pluged into your PC for copying files to any from your DS and acts as an adaptor if you dont have a MicroSD memory card slot on your PC.
What features/file formats can it handle?
Video files are handled by nDs-mPeG (or DPG) its own special version of mpeg1. This is important to know because if you intend to put any video files onto your DS, you will need to convert them first. In regards to the ROM files, .NDS and in respect of audio, mp3, ogg are amongst those supported. You can also view jpegs on your DS through Moonshell aswell!
For Linux users wanting to convert their video files to the native NDS format, there is a great Python script which can be downloaded from: http://theli.is-a-geek.org/blog/static/dpgconv
From the site:
-2nd generation storage device (no booting tool required)
-Flush fitting slot 1 card
-Uses MicroSD card, FAT16 or 32
-Supports any MicroSD card speed with no lag in game
-Supports Clean ROM, drag and drop. Works on any OS
-Built in NoPass
-Automatically detect save type
-Save directly to MicroSD card, not to onboard chip
-Supports Moonshell and other homebrew. Open I/O interface
-User friendly skinnable interface. Touchscreen or button operation
-Supports rumble pak and memory pak
-Supports the WiFi game, DS Rumble Pak, DS Browser
-Supports changes of the background of Operation Interface
- Support Skin DIY by setting background and font colors on Main Menu and Game Menu manually and automatically
-Supports 4-scale-lightness adjustment ( DS Lite only )
-Supports the Soft Reset.
-Supports Action Replay cheat
-moonshell 1.6 support Software Reset function( Press START key back to the R4 menu)
For those of you interesting in developing your own software for the DS, get yourself over to http://www.devkitpro.org/ I will probably be covering some devolopment issues on the DS, but in the interests of keeping the R4 review shorter and to the point, Ill refer you to the link for now.
A few great places for homebrew games/tech demos/applications are at the following sites:
In addition, there is a growing emulation scene and already you can play a few retro titles on your DS. Check out: http://www.zophar.net/ I dont intend to go into emulation on the DS at the moment (for the same reasons as development) but I will be taking a look at DS home brew titles in the future.
Using in a Linux enviroment
Its always a common theme amongst the ignorant that Linux either cant use or needs special drivers to run hardware. Its rubbish. There are a few pieces of hardware that may need a little “tweeking”, but then thats the advantage of a LiveCD, you can see for yourself without commiting. In the case of the R4, there are no issues at all (not really a surprise) within seconds of pluging the device in, I was transfering my music collection and some great homebrew demos in seconds. I can confidently say that since this device is nothing more than a memory card adaptor, you will have no problems whatever distro you are running.
I dont believe I can praise highly enough the value and functionality of this product. It is simplicity itself to use, and even with the traditional “unconventional” coding styles of a home brew developer on a console, Ive yet to come across any work that fails to load. One of the most interesting things of the R4 is experiencing the demoscene actually on the DS as it was intended, and I hope we will see more demo and displays of creativity on the DS in upcoming Demo Parties this year. Although I paid £35 for my unit, from briefly looking around the net it can be bought for around the £25-30 mark, that was for the 2gig version.
Where the R4 opens up even more is in the area of emulation, and there are already numerous emulators for the DS which allow you to play many retro titles from other platforms on it.
It is a shame its not an official Nintendo product, since I think the hobbyist developer and “emulator” would snap this up. Allowing users to be creative on your hardware (IMO) extends its life, and creates more of a buzz about a product.
Maybe Nintendo should consider this hardware for the future?