Friday, January 15, 2010

Acekard 2i

I recently acquired an Acekard 2i for use with my DS Lite. I ordered the Acekard from r4i.co.uk (who are actually quite cheap for a lot of accessories) and got a 2GB microSD card for an extra £1 in the bundle. They also have other bundles with larger cards (or no card). The microSD card is needed because it's where you put all your precious files. There is meant to be a microSD reader in the bundle but I didn't receive one, I'm waiting for a response from them on that. Below is my quick guide to getting yourself up and running if you decide to get one for yourself. It's quite easy really.

Some features of the Acekard 2i in brief:
  • No DS flashing or passkey/passme/passwhatever device needed.
  • Supports all current DS variants (right now that's DSi, DSL, IDSL, DS and IDS).
  • Supports any brand of microSD card (unlike some older devices which had timing constraints). There is a size limit, but I can't seem to find it on the site, I believe it was around 32GB.
  • Older devices required software to be recompiled or patched for each different device it was run on, the Acekard handles this automatically.
  • Can be used as a passkey in order to boot slot-2 flashcarts (for GBA experimentation), including the 3in1 cart. No need to worry about manually flashing your image to the slot-2 cart because the Acekard does this automatically when you boot a GBA ROM.
  • Supports soft-reset, Download Play, and Wifi.

In terms of ethics, I know what you're thinking: "But Kemp, surely you don't condone playing pirated ROMs of DS games?" And no, no I don't. Sure, the Acekard has that capability, but this is one of those things I buy just to mess around with homebrew, and usually try to write a bit of my own at some point. The DS has a lot of nice features including two screens, one of which is a touchscreen, and wifi capability. Who wouldn't want to have a poke around on that? If you want help using it to play pirated games then you need to go find help somewhere else.

Setting up the Acekard 2i

The first thing you need to do is go and buy yourself a microSD card if you didn't order one along with the Acekard itself. It requires one for its own software, and you can't really do much without your own files anyway.

You should download either the official OSMenu software, or the alternative AKAIO software (which is a branch of the official software and widely regarded to be superior). This should be placed in the root of your microSD card. At this point insert the microSD into the Acekard and the Acekard into your DS, boot it, and check it works. If it hangs at the "Loading" screen then you didn't copy the software correctly.

That's basically it for the system software. Check out the options available, and make sure to change the options restricting the file types shown (you want the "All files" option).

Adding homebrew

I created a folder called "homebrew" in the root of the microSD card for this purpose. To get going you simply have to copy the .nds file for the program to this folder, boot up AKAIO, navigate to the homebrew folder, and click the file. It should be launched and (hopefully) work nicely. In general you can ignore any instructions to use DLDI to patch the software, as the Acekard handles this automatically for you.

Some nice software I've used:
Writing homebrew

A good run-through for this is at CoderJoe.net. Surprisingly, this is one of the few times (the only time?) I've seen a cross-compiler toolchain that is easier to set up in Windows than in Linux. Well wonders never cease?

Adding Python

The good bit ;-) Download the dspython binary and copy it to your homebrew directory. This will automatically run the script at /python/main.py when it is executed, so create a "python" directory in the root of your microSD card and place a script there. As an example you can download the framebuffer demo given on the dspython site. At some point I will write a browser type script to place there that allows you to select another script to run.

There is a serious lack of documentation, but if you check out their svn tree then there are a some demos. In general though, the functions are named exactly the way they are in libnds (see above), so any documentation and demos for that should be fairly easily translatable into Python (within the constraints of what has been wrapped).

Final notes

As usual, GBATemp.net ran a good review of the device.

If anyone needs a picture for something I've mentioned then add a comment and I'll see what I can do.

Thursday, January 14, 2010

Upcoming posts

So a lot of posts to come when I have time to make them neat.

  • Google has decided "to hell with this" and is either uncensoring all search results in China, or (if they're not allowed) pulling google.cn and closing their Chinese offices.
  • My visit to Boston and the various nice places to eat and so on that I liked.
  • Reviews of various DS games that I've played recently.
  • Related to the above: discussion of the Acekard 2i (added)
  • Some other things (as there always is).

Stay tuned.