Main Page


Jump to: navigation, search


Nintendo DS

Nintendo Wii


2011.09.11 Now on Twitter

Most have noticed I'm not particularly active here anymore due to real life etc. As I still have random thoughts I'd like to share I can now be found on twitter, @DesktopMa. Tweets will be tech related and not too frequent. See you there.

2009.04.04 Me VS Mac Mini and more

I've had a few requests for dev-related updates, but unfortunately it's not high on my priority list at the moment. Between work and my master thesis I usually sleep or relax during time off, hardly any time for dev. I did get a Mac Mini though, and I'd like to share few thoughts.

I broke one. Unrecoverable. How? Don't know. Basically new Mac Minis are Intel core 2 based pcs, nothing more. They use EFI instead of bios though, and I think that might be where I had some issues. See, I was going to install Linux on it to use it as a media center with XBMC, and there's where it went wrong.

Apple allows you to run windows through bootcamp, which is basically a BIOS compatibility layer for EFI. You can also use this for Linux. As OSX uses GPT partitions, it also keeps an MBR partition scheme for Windows. Sometimes these go out of sync. What I did was remove all pertitions and install Linux, which went fine. Except after the install the Mac never booted again.

Never, as in, never. Rescue cd didn't work, Geparted live cd didn't work, diagnosis tools says everything is correct. Now, this might be because I removed the 200MB EFI partition, but according to forums other people have done this and were still able to to boot. So I returned it. And ordered another one.

Second time around I was more careful. Partitioned from OSX, synced the MBR and GPT schemes with refit, installed directly to the partitions I created from OSX. Which worked fine. My Mac is now dualboot OSX / Linux. Lesson learned. Except I don't know what, exactly.

Once my thesis is done (May / June), I hope to get back to some dev-related activities again.

2008.07.30 Band Brothers DX Tools

Since translation has been slower than I could wish for I've decided to release a few of the tools I've written. With these you can convert to and from the game's textures, and replace a texture in the rom file easily without any tech knowledge or pesky things such as offsets. You can use ndstool from devkitPro ( extract the rom and acquire the textures.


2008.06.27 Band Brothers DX

Band Brothers DX has been released (still Japan only), so order your copy from Play-Asia today!

Store placements aside, I've started working on the song file format among other things. The Band Brothers DX page will be updated regularly as I (or someone else, e-mail is welcome) figure stuff out.

Band Brothers DX

2008.05.25 Wii Homebrew Channel

After weeks of development and testing the homebrew channel (HBC) is ready for download.

If you have a drive chip you can install from DVD, otherwise you can install it from the zelda exploit. The channel allows running homebrew from SD cards (built in) and USB Gecko.

Compatible homebrew can return to the homebrew channel without restarting the Wii. The apps package provided on the hbc homepage contains a special hbc build of Tetris.

If you only need the HBC compatible Tetris:

2008.03.22 Tetris Wii update and source

I've gone through and fixed some bugs in Tetris, as well as enhanced some parts of the gameplay. This time I've also included the source code.

2008.02.24 Updated binaries and Gorilla DS

I've updated my DS projects to the newest versions, and also uploaded Gorilla DS which was not up earlier. For those requesting source to Tetris Wii I will release this when devkitPPC r14 gets a final release so I can be sure it works.

2008.02.19 Tetris for Wii

Allright, so I cleaned up Tetris and it now works with controls.



Source will follow once people can actually compile it. The ELF runs with the beta ELF loader or by other means for those who have them.

2008.02.13 Pong in Wii mode

Current work in progress have made it possible to run ELF files from an SD card inserted in the GC card slot, and this is the result:

It's just my old Pong demo written for GameCube a long time ago. Controls doesn't work yet, and there are more to fix before a release, but at least things are moving forward.


Code / gfx by DesktopMan

Exploit code by Segher and Bushing

2008.28.01 Wii update

Some of the keys used for Wii has been discovered, such as the disk master key, and the SD key. The SD key opens up possibilities, mainly save game hacks that require no modification to the console at all. A surprising amount of games have bad/buggy save game handlers, and by using a name overflow in Zelda TP Segher was able to run a few instructions, causing an exception to show it works. Hopefully he will be able to expand on this to write a first stage loader, much like the first stage loader of SD load, which was written in Action Replay codes.

The discovery of the keys also opened up a lot of info on the system in general, as the Arm core in Hollywood (tentatively named Starlet) is updated by games. Super Mario Galaxy has a full Arm elf in it, and decrypted this yields the code that runs on the Arm. This code does USB, Wifi, SD, Nand etc, and the SD key was discovered here. To sign saves you also need a console's private key (they're unique per console, but saves work across consoles), and there's no public method to do this yet, but Segher obviously has one. Hopefully a proper exploit save will be released in the not so far future. Apparently a few KByte of code will be possible from the save, and in such space a loader is no problem.

Bushing has some screens on his flickr page:

2007.12.29 Wii homebrew

Yes, it's alive. Please see video here:

There aren't a lot of technical details here, so I will try to explain how it works. Basically the Wii disks are encrypted with aes-128-cbc. In addition to this the binaries are signed with RSA, but we'll get to this in a second.

For Wii to accept disks that aren't pressed disked you need a drive chip. This is also true for this particular hack.

AES is a symmetric encryption used for the entire disk. This key is, for reasons known only to Nintendo (retarded reasons I am sure), put into the Wii main memory. Nintendo assumed no one would ever be able to read it, which of course was a stupid assumption, but there you go. This memory was read in GameCube mode by bridging the address lines to be able to access the upper 24+MBytes of memory that are only available in Wii mode, and in this dump the encryption key for the disk was discovered. using this key Wii disks can be decrypted and encrypted, as well as the content changed before re-encrypting.

The second part of the protection is the RSA signature used on the executable binaries. I've been told that what I wrote earlier here wasn't very correct, so I've removed it to try to keep things somewhat decent. This RSA signature check must be bypassed, removed or similar for the Wii to launch the modified binary. How this is done (if it's done) is unclear at this point, so I'll refrain from making any guesses until more information is available.

Disclaimer: This is *speculation* from my part, using the little information available. If this is wrong, don't sue me, but feel free to contact me. If it's right, please don't sue me.

Credits: Ben, Felix, and others.

2007.12.17 Rock Band clone

I am working with someone else on a Rock Band clone that eventually will run on Windows, Mac and Linux. Read more here:

Rock Band

2007.12.02 Visual Studio 2008 for NDS

Visual Studio 2008 is out, and what's a better way to celebrate than writing some DS code in it? Hit the link to fetch a project file ready to drop into an existing project, or start a new one.

VS 2008

2007.12.02 New wiki

I've decided to use MediaWiki as my page from now on. The reason for this is that I rarely do actual news posts, so a place to document my work is more fitting. I've also used MediaWiki in a bunch of school projects and have been satisifed with how that worked out. As the page grows old and new content will be added.


christian {[at]}

Personal tools