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.