Nonvolatile Nintendo 64 Controller Pak
The Nintendo 64 was the first Nintendo console to employ nonvolatile chips for saving game progress, alleviating the need for a battery to maintain the data, and avoiding the problem of dead batteries leading to lost saves (at least in most cases, there are a few N64 games that still used battery-backed SRAM). However, the Controller Pak still used volatile, battery-backed SRAM. I have designed a non-volatile Controller Pak, based around Ramtron F-RAM, which is fully compatible with the original Controller Pak. I am also in the process of developing a 4x version, which should be coming soon. The first step was to track down a reliable pinout for the Controller Pak's cart edge connector. I did manage to find an incomplete (and, in places, incorrect) pinout on the benheck forums, but after a bit of poking and prodding, as well as analyzing the circuit design, I am fairly confident in the following pinout:
Pin Name
--------------
1 GND
2 A14
3 A12
4 A7
5 A6
6 A5
7 A4
8 A3
9 A2
10 A1
11 A0
12 D0
13 D1
14 Detect*
15 3V3
16 D2
17 GND
18 CE1
19 /CE2
20 /WE
21 A13
22 A8
23 A9
24 A11
25 /OE
26 A10
27 D7
28 D6
29 D5
30 D4
31 3V3
32 D3
*The Detect line is pulled low inside the controller through a pull-down resistor. The Controller Pak connects Detect to 3V3 to indicate the presence of a cart in the slot (this is true for both the Controller Pak and the Rumble Pak; the controller determines which type of cart it is by strobing a specific address and reading the response).
I have ordered PCB's and assembled my first board and confirmed that my design works. I'll be updating this page soon, adding additional information and documentation. I'm also working on setting up a Google Checkout account so that I can sell these directly from this site.