Nintendo DSi

Posted 2009.12.31 20.50 in Computers/Internet/Technology

As I usually spend New Years alone, it has become a bit of a tradition for me to buy myself a new toy that I can disassemble on the 31st of December. In the past, it has frequently been something in the Amateur Radio genre, but this year I opted to do a Nintendo DSi.

I’m not much of a gamer, and I pretty much suck at almost all video games. I’ve had a DS for a while but the only game I was really happy with was the crossword game. Then I gave my DS to my mum so she could play that brain age thing. Anyhow, so I decided to get the DSi so I could take it apart. I like electronic gizmos. I like taking them apart. I like hacking them or breaking them or just finding out how they work.

The DSi has been around for a while now – feels like a year or so. But there’s very, very little info out there about hacking it. Really there’s just one site that has no news, just aggregates info from gaming sites. I don’t want cheat codes or that sort of thing, I want to mess with the hardware. It’s got 256MB of Flash storage, 16MB of RAM, and a 32-bit ARM processor at 133MHz. With the built-in WiFi and dual screens and SDHC expansionality, there’s more than enough oomph in there to run Linux, among other things… (Remember the Zipit?)

There’s no info that I could find about the software – is the DSi operating system a complete customized Nintendo thing? Or maybe the GUI is Nintendo but there’s something else under the hood? The CPU is supposedly custom made for Nintendo so that might preclude it doing other things…

So anyhow, I pulled it apart and studied the insides to see what I could see. There were a few things that might be of interest, but first, here’s some electronics pr0n. (Click the images for larger versions.)

Getting in the top was easy enough, there’s four screws surrounding the screen. They’re hidden under little square adhesive pads. Once the screws are out, the top sort of slides off. There’s not much of interest in there, really. And not much room to add anything. Nothing remarkable at all really.

Getting in the bottom is fairly straightforward. Remove the battery, undo all the screws you can see, then pull out the two rubber feet then remove the two screws under them. There’s one ribbon cable that connects the bottom shell to the motherboard.

The motherboard is interesting, but it doesn’t seem to have too much going on that’s mod-able or hackable. I didn’t bother removing the board completely, I just examined the component side. All in all, there were three areas that I am curious about.

DSi Trim Pots

The first is actually visible in the battery compartment – next to one of the screws, there are two surface-mount trimmer pots. These are obviously situated so as to be accessable while the device is assembled and working. I dug them out from the inside (they are on the same bit of ribbon cable as the “L” shoulder button) but they are not marked in any way, so no clues as to what they do. My guess though is they will be fairly uninteresting. Possibly for setting a max/min volume or for setting sound balance, or maybe adjusting a baseline for screen brightness. Something along those lines anyways.

DSi Jumpers?

The second and third are on the main motherboard. These may be nothing, but they are reminiscent of other mods to other equipment, notably, ham radio gear. On the motherboard, quite close to the CPU, are two missing resistors labeled R82 and R83. Their position and placement could be coincidental, but with some electronics, zero-ohm resistors (aka jumpers) are used to hard-wire certain options or parameters. For example, instead of having to produce different custom microcontrollers to meet different requirements for various countries / markets, they make a single MCU that can meet all requirements, then the addition or ommision of jumpers are used to configure the device to a specific market / country.

DSi Jumpers?

The other spot is again near the CPU, though admittedly it’s nearer the audio processor. Interestingly, the two resistors are labeled R84 and R85. Again recalling other similar configuration jumpers, even if they aren’t physically next to each other, they usually bore sequential identifiers. So maybe these four missing resistors are meaningless, or maybe they do have some promise. I haven’t actually tried anything – I also know from past experience that you can mess up a circuit board with repeated soldering/desoldering.

Anyhow, so there’s not really anything to report I guess – I was hoping for maybe something like a ‘debug’ connector that would offer a line in to the CPU or whatever. But it was a fun way to kill some time, and later when I get bored with my crossword game again, maybe I’ll experimement a bit with those jumpers.

What I would really like to do actually isn’t that big a deal, and I bet a lot of others would like to do this too. See, the DSi has an SDHC card slot – that means up to 32GB of solid state non-volatile storage. Compare that to the 256MB in the unit itself. Granted the SDHC card would be slower… but anyhow, here’s the deal. The game cartridges that I’ve seen generally have two main components – a ROM chip and a small Flash RAM chip. The Flash RAM is typically small, a few kB usually, and is just for storing game state / score / related information.

DS Cartridge

The ROM is the game itself, and the largest I’ve seen is 256Mb – that’s megabits, not bytes. Even at double or quadruple the size (say, 1024Mb) that’s only 128MB. Now back to the SDHC card – even with a modest 4GB or 8GB card, which are quite inexpensive these days, think about how many DS game ROMs could actually fit in there.

While I doubt Nintendo would allow or encourage folks to be copying game ROMs, they could at least allow us to take better advantage of all the potential the device has. At the moment you can download a few dozen games from the DSi Ware store, but the library is tiny and there is not much to be excited about there. Meanwhile there are GB and GBA games out there that they could port or copy or whatever, that would be a nice way to boost the DSi Ware library considerably.

For that matter even the current library of DS games could be had through the DSi Ware shop, if you think about it. Ok it’d be a bigger download and maybe not every one would work that way, but surely some of them would.¬†All that would remain would be to let people run those games from the SD card instead of having them only in System memory.

Anyhow, I’ve wandered off topic. I just think it’s a nifty bit of hardware, that has a lot of unrealized potential.

3 Comments

  1. Anonymous says:

    http://www.r4neo.com/

    One of these lets you add in your own home-brew code, or if you were so inclined, drop rom-dumps (.nds) onto a micro-SD card and then run them on the DSi.

  2. Stephanie says:

    That looks pretty cool, thanks for the link!

    It looks like the micro-SD card though has to be run from inside the product, so you couldn’t copy stuff off that card and onto a regular SD card and run it from the DSi’s SD slot…

    Boo Nintendo for giving us the SD slot then making it so nearly useless.

  3. Stephanie says:

    This page has the most impressive DSi hacking going on that I’ve seen – and they certainly put me and my meager peek under the hood to shame:
    DSi hacking at HackMii

Leave a Comment