> Does anyone out there have the specs for the NES card-edge connector (not the
> socket, but the card itself)? I am trying to find it, but it looks like I might
> have to use my percussion disassembly techniques on an old super mario cart or
I'm not sure I understand what you mean by "the card itself" (remember each card is different). But if you need to know the signals on the cartedge, then Kevin Horton's doc provides this, aswell as pinouts of the CPU/PPU and traced paths of most bank-switching cards. Check it at http://tripoint.org/kevtris/nes/nestuff2.txt
Also, I must say that your choice of emulating SRAM through EEPROM worries me. Please correct me if I'm babbling about things I know nothing about, as my EE skills are limited, but wouldn't the limited lifetime of an EEPROM mean that at some point, it's functioning will begin to fail? And wouldn't this be noticed by the games you're playing starting to bug just a little bit in random places, or do all memory cells start failing at the same time? I know that I wouldn't want to use a cart for my projects if I weren't 100% sure that it will always give me the same result. Debugging your code is enough of a pain as it is without considering the possibility that the EEPROMs might have started to get old...
Considering how often the BRAM and CHR-RAM can potentially be written, I'm very skeptical about using EEPROMs to emulate RAM.
Another thing about the design: how do you plan to handle IRQ counters? Will this also be able to be handled by the CPLD? At least the very common MMC3 boards use an IRQ counter for split-screen effects.
You should also keep in mind that there are some carts that do specific things. The NES-TR1ROM-01 board (used on Gauntlet) enables 4-screen nametable RAM by mapping and 8kb SRAM chip to the 4kb nametable RAM in the PPU's address space. I also have some vague memories that a game in the top gun game series could map ROM to the PPU's nametable address space, but I can't remember exactly. In any case such functions are very rare and no one will cry about a universal NES cart not being 100% universal, as long as it runs > 90% of the common NES games it will be a success. But you will have to emulate IRQ counters to achieve this.
// Michel Iwaniec (email@example.com)