Transfer Pak Mod

I fancy trying to hack the N64 transfer pak so it can connect to my PC and I can read/write gameboy cartridge save data (and maybe even rom). Unfortunately, I'm not entirely sure how to go about it... Hopefully some people here could give me a hand.

Progress so far:
I've connected my N64 controller to my laptop using an Arduino microcontrollor (following this guide: http://www.instructables.com/id/Use-an- ... roject-64/ ). The last step in the guide is setting it up for use with project 64. That got me thinking that maybe I could use the same simple setup to interrogate the transfer pak via the Arduino/microcontroller and grab some data from the gameboy cart.
I've had a look at the scripts contained in the tutorial and it looks like the arduino code handles all the important stuff - the processing script seems to simply convert the arduino's response to a simple keypress that can be easily mapped for an emulator. Further investigation revealed that the controller responds in 32 bit blocks to a message sent from the Arduino ( http://code.google.com/p/micro-64-contr ... i/Protocol ). The script in the above tutorial only uses the 0x01 command to receive info on the button presses.
It would seem logical that the N64 grabbed data from the transfer pak by sending some other command message (or perhaps a series of command messages) to the controllor which then responded in 32 bit blocks.
I managed to find http://n64devkit.square7.ch/pro-man/pro26/26-07.htm - this seems to go into quite a lot of depth on the exact commands that are exchanged between the console and the controller to interrogate the transfer pak. I think it should be possible for me to programme an Arduino to imitate these commands and feed the responses back to my computer, i.e. write the save data from the gameboy cart to a file.

However I'm a little bit stumped - partly because I'm not particularly experienced at programming. It looks like the commands sent and functions mentioned in the developer notes depend on other functions that are native to the N64. In other words, it looks like I might need to build a significant portion of an N64 emulator to get this working - and that's way out of my league.
Has anyone ever worked on this before/heard of it before/any advice etc? It also looks like the code used by the N64 is in C, and the Arduino is in C++. I'm not so good at programming so even translating the relevant scripts would be tough for me. Does anyone know of good resources to help with that?

Thanks,
Michael
 
You may want to start smaller. I'd start by buying a gameboy off of ebay to obtain a cartridge slot. Desolder the cartridge slot from the gameboy and solder the cartrige slot to your Arduino. The gameboy cart should have a few components like the rom, eeprom/flash, security chip, and maybe a battery (depending on the type of chip used to store saves). Every leg on every chip will be accessable via the pins on the cartridge. This should be a good start.

Once you've figured out how to read from all the chips you will have an easier time reading from them via the transfer pak. The hardest part will be finding the commands to have the processor on the N64 controller read from the transfer pak.
 
Thanks for the help. I've done some more searching about and it seems that no-one really knows how to go about extracting data through the transfer pak, so it's unlikely I'll be able to jump in and do it myself first time. I've ordered some parts to try and read from the cart directly like you suggested. Hopefully it'll be a bit easier.
 
Good luck!

Here's some good(ish)sources for the n64 controller:

This guy made a wireless rx/tx controller setup for the n64 among other consoles but he never added rumble pak, memory pak, or transfer pak support. http://nfggames.com/forum2/index.php?topic=4393.0

This other dude made a n64 controller with a pic. He didn't add support for the paks either. http://code.google.com/p/micro-64-controller/wiki/Mini64Controller

The source code is open for theae projects and may assist you in understanding how to communicate through the n64 controller. Although neither of these guys made it as far as too add support for the paks because either their project was a proof of concept or the lack of interest in the paks.
 
Back
Top