N64 dev

overview

I accidentally fell in love with the N64 thanks to Shaun Taylor's libdragon, a really fantastic open source toolchain for the N64.

I do all my dev on a 64drive, which is hands down the best flash cart I've ever used. It is a really fantastic platform for homebrew dev, and if you're at all interested in that you should get one.

I developed FAT64, a FAT32 driver, which is used by the 64drive to access files on CF/microSD. I also make use of it in several homebrew apps, including agbd.

software

FAT64

FAT64 is a FAT32 driver that reads and writes files on the 64drive's CF / microSD. It is accessible from newlib in libdragon, which means opening files is as easy as fopen("cf://yourpath/yourfile.txt", "r").

agbd - game boy dumper

agbd is a Game Boy ROM and save dumper. Plug in a transfer pak with the game you desire and it takes care of the rest, dumping it straight onto microSD.

transfer pak

Given my love of Game Boy it should come as no surprise that I like the Transfer Pak.

Most popularly used by Pokémon Stadium, the Transfer Pak plugs into a controller and gives the console access to data stored on the game boy cart.

The N64 actually has full access to the game boy cart at the MBC-level. That is to say, the console is required to manually perform bank switches, RAM-enable, and so forth. agbd uses this facility to dump ROM and SRAM wholesale.

mupen transfer pak driver

I have a mostly working port of NRage's input plugin for mupen64plus, which has transfer pak support.

I haven't had a chance to clean it up enough to release it. I will update this page once that is complete.

game boy emulator

Those of you who have played Pokémon Stadium with the transfer pak probably know that there's a special mode wherein you can play the game boy red/blue/yellow version of Pokémon.

As you may have read above, the transfer pak only gives the console raw access to the cartridge. It does not contain a game boy CPU. This means that Pokémon Stadium actually contains a game boy emulator!

I have been attempting to rip the emulator from the game. So far I have located compressed segments of the game boy ROM, as well as the location of the emulator in the ROM. I have not succeeded in ripping it yet. I will update this page with more info as I continue working on it.

flash carts

64drive

These days there's really only one good choice for an N64 flash cart: the 64drive. It supports CF and microSD, loads games wicked fast, has 100% compatibility, and is far and away the best dev cart I've ever used.

gameshark

If you don't have the cash for a 64drive but happen to have a Gameshark Pro 3.2 or 3.3 lying around, there is still hope for you. It is possible, thanks to the fantastic work of hcs and casm, to upload software over parallel.

It's unreliable and slow, but it got the job done for me for the first several months of my dev career.