Hardware Projects‎ > ‎N64‎ > ‎

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.
256Kbit Memory Pak.zip
Ben Whitman,
Apr 13, 2014, 8:34 PM