this space intentionally left blank

May 28, 2008

Filed under: gaming»software»homebrew

The Homebrew Channel

For my own future reference: Wii hackers have managed to create a Homebrew Channel for the system's main menu, putting non-licensed code on pretty much the same level as virtual console and first-party apps. Very interesting.

May 9, 2007

Filed under: gaming»software»homebrew

Nitro Pills

As far as I can tell, NitroTracker is the top of the DS homebrew world right now, if for no other reason than sheer physical convenience--any decent software really requires the GBAMP add-on for storage, and it sticks out about an inch from the DS, making it an unattractive package for MP3s or relatively shallow gaming. Music is more stationary.

Which is not to say that the experience is flawless, but the problems with it still lie mainly with the nature of the software and not with the program itself. NitroTracker is, well, a tracker. That means that it programs its sample-based music by stepping through a grid of notes like a piano roll, but less flexible. It's like writing a song in Excel (and I would know). For some genres of music--techno and house come to mind--having strict grid patterns of 4/4 eighth notes works well. But if you need to swing at all, or work in different time signatures, it gets ugly fast.

For example, the first slightly elaborate production I tried was the Galactica theme, because I knew that in 9/8 time it would be just slightly larger than a standard NitroTracker measure. It turns out pretty odd--partly because of the samples I used, but also because it's really hard to do decent timing this way (listen for yourself). This morning, on the Metro, I also put together a short version of Dave Brubeck's Take 5, which is even more difficult--not only is it 5/4 time, but it has a definite swing groove going on, which meant that I had to use 15 grid spaces to represent the song in triplets, and even then it sounds odd. To really get good exact timing, you'd need to break each quarter note into at least six grid spaces to get eights (every three spaces) and triplets (every two). That's a clumsy way to build a song. (here's an MP3 sample)

But for all that, I can definitely see this as one of the few applications where it is actually worth the hassle of putting homebrew together. After all, that Take 5 cover uses the DS microphone to sample my voice and whistling, which is pretty cool. A clever and patient programmer could use this to build songs out of ambient noise wherever he or she went. It's quick and fairly cheap, all things considered. As of version .3, it loads samples correctly (the Galactica snippet was built using .wav files I took from Ableton Live) for expandability, and it understands MIDI over WiFi. You could conceivably build a whole row of electronic instruments out of a PC and set of homebrew-capable DS's, especially if you used the other DSMIDIWiFi apps for control and simple synths.

June 9, 2006

Filed under: gaming»software»homebrew

D(rum) S(equencer)

Last night I finally got around to installing homebrew support on my old DS. Now I've got the DS Lite as a game machine, and the original DS as a music sequencer using NitroTracker. I'm loading files from the GBA Media Player (Lik-Sang), which uses cheap compact flash and is itself pretty inexpensive. A lot of homebrew supports access to the FAT32 on the GBAMP, so that's a gig of space on my DS for samples and songs if I wanted.

Here's the process I used to get everything up and running:

  1. Reflashed the firmware on the GBAMP to support homebrew (both .gba and .nds) using this firmware hack.
  2. Installed WiFiMe drivers on my laptop. WiFiMe is basically a PassMe device delivered over 802.11 to the DS, and it tells the handheld to load DS code from the GBA slot. You have to have a special chipset for the driver to work--I picked one up cheap from NewEgg about a year ago, and set up my laptop to use the hacked drivers (which can't use any of the normal networking functions) only when it's in the second PCMCIA slot. In the first slot, it's a regular network card. You can also use the drivers to capture and trade the downloadable demos, like having your own store kiosk.
  3. Using WiFiMe, I booted FlashMe, upgrading the DS firmware to run unsigned code from the GBA slot automatically. Once that's done, the DS will run homebrew on its own, without having to keep a PassMe plugged in or the laptop handy. It's not entirely clear to what extent this interferes with online games--and you can't install it using the 802.11 method on newer models, because Nintendo updated the firmware to stop WiFiMe. These are good reasons to find an old model to use for your homebrew. If you decide to try it on the newer firmware versions anyway, you'll have to buy a PassMe2 to get around Nintedo's changes, and it complicates the process quite a bit.
  4. Finally, installed the Mighty Max bootloader on the flash card, along with Nitrotracker, DSLinux, and a bunch of other toys. The bootloader brings up a menu for browsing through different programs--without it, the GBAMP can only run the file currently named _BOOT_MP.NDS.

If you try to do this with a DS Lite, you have to be careful, because it's much easier to touch the wrong contact during the flash upgrade and brick the whole machine. But on the other hand, at least you're not masochistically struggling against Sony the whole time, as with PSP homebrew. Nintendo seems to have taken steps to prevent this, but it looks like a half-hearted effort at best.

Future - Present - Past