I created the following thread a couple of weeks back regarding building an NES music player:
viewtopic.php?f=12&t=5099
I set off down this path with high hopes, but as soon as I got to where I was dumping music to play, I found that far too many of my favorite game tunes used the 2A03's delta modulation feature (sampled audio), making the ever-so-wacky diode matrix approach problematic.
I took a detour and decided to build the Arduino-to-2A03 interface using a dual-ported SRAM. I'll be using a larger one next, but for starters I'm using this 1k x 8 SRAM:
https://www.idt.com/document/dst/713040-datasheet
My request of the wise: How best to provide for the 10ns read hold time? My immediate thought is to generate the SRAM's /OE signal by simply NAND-ing the 2A03's Phi2 and R/W signals, and to generate the SRAM's R/W signal by NAND-ing the 2A03's Phi2 and the NOT of the 2A03's R/W, but when I look at the timing diagrams of both ICs, and consider that the datasheet for the 74HC00 doesn't say much about *minimum* propagation time, I become concerned that this approach, if it works, will be...fragile. Am I again worrying about nothing? Or should I be sticking a large even number of NOTs in there to introduce delay?
Thanks in advance (again) for thoughts/advice!