I don't know what's going on for sure, but what I've encountered while using an EPROM emulator was that sometimes just one or 2 sprites (I think always the same ones, too) would be corrupted. What I believe is that the sprite DMA is changing the normal operation of the memory access cycle in a way that would only affect something fast (like 10ns response) such as a bus buffer. Same thing as this other thread:
http://nesdev.com/bbs/viewtopic.php?t=6212
So, I don't know the problem, or the fix, but the work-around is to use series resistors on the data bus. The NES PowerPak seemed to have ran into a similar issue. I don't think resistors don't fix the problem, but rather they prevent a bus conflict from becoming the problem.
2600 wrote:
The 5v tolerant part doesn't bother me as much as the lack of pull-ups on the data bus. If pull-ups were allowed, this wouldn't even be an issue.
Do you mean the PRG data bus? Why are pull-ups needed? If it's 8 resistors or so to put on the board, that's not too bad (assuming the CPLD upgrade is worth it, I'm not familiar with the differences).