Maybe I'm getting over my head here, but I just bought the 6502 project from Ben Eater and I'm looking forward past going through the tutorial to getting it to work with an RA8875 chip to drive a touch screen TFT. I've been going over the timing to see if it will work, and I'm not sure I'm reading something right. I would appreciate it if someone with more experience could give me some guidance.
The RA8875 data sheet is here (
https://cdn-shop.adafruit.com/datasheet ... 12_Eng.pdf). I can't find a link to the full datasheet on the Raio site; only an abbreviated one.
I'm planning to use the 6800 mode, connecting the A0 address pin (6502) to the RS pin (RA8875), the R/W pin (6502) to the RW# pin (RA8875), some nand or something gates to decode two addresses (xxx0 for register select 0 and xxx1 for register select 1) to the CS# pin (RA8875). What has me stumped is the RW# pin (RA8875).
I was thinking of using the clock and maybe some gates to create the enable signal. I think the read timing is ok, because the read hold time on the RA8875 is from 0ns to 25ns, and the 6502 requires 10ns (pg. 57 of the RA8875 datasheet). What concerns me for write, the RA8875 has a data hold time minimum of 10ns (which, correct me if I'm wrong, means it requires the 6502 to hold the data for a minimum of 10ns) and the 6502 has a write data hold time minimum of 10ns. So the 6502 may only provide the data for 10ns, and the RA8875 requires 10ns to get the data properly; am I reading that right?
Are there better suggestions for the RA8875 Enable pin than the 6502 system clock? I was looking at the BE pin, but I don't understand what it is saying in the timing diagram with a READ DATA, a WRITE DATA, and a DATA timeline, and what "BE to Valid Data" means. I was wondering if I could use the BE line to trigger the Enable pin, but only on writes, to give some extra time for the RA8875 to read the data before the 6502 ends its data hold time.
Thank you.