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).
From this, it's fairly trivial to connect an FRAM chip in place of the original SRAM. I chose to use the Ramtron FM28V020, though the any of the FM18*08 chips should work as well. If we don't really care about the dual CE lines, we can ignore CE1 and connect /CE2 directly to the RAM. After that, all that is needed is a pull-up resistor on the /CE line (10Kohm is a good value) and a smoothing cap between 3V3 and GND (100nF is good).
I'll be working on a 4x version soon, using a 1Mbit FRAM chip (Ramtron FM28V100). The basic wiring for this is the same as above, but add pull-up resistors on the A15 and A16 lines, then connect those lines to a 4-position switch that connects to GND. Use diodes to isolate the connections between the address lines and the switch, since one position on the switch will pull both lines to GND, but you don't want *every* position to do that.
If you'd like to buy a pre-assembled, nonvolatile N64 Controller Pak (1x or 4x), shoot me an email. I have a lot of extras sitting around...