Decided to start getting back in to this today.
I have disconnected the GameDuino (as the display solution) and have decided to have a go at making my own using a CPLD, which won't get me far to start with due to limited capacity, I know. But I have managed to create a low res graphics area on screen.
It's currently sharing RAM from location $0000 onwards, with the CPU and I am running a program to act like a big 5x5 black and white cursor, so I can see that the CPU is stable. It's cool as you can see the zero page calls at 0 to 4 running realtime and can also see the stack. I'll look at moving the location later on.
There is a bit of tearing going on, which I will look at resolving today, as a result of line noise and probably also the lack of capacitors on the CPLD test board. Otherwise the image is extremely clean. As always pics don't do it justice.
The graphics board uses the low side of the clock, putting the CPU in to the high impedance state, which causes a big performance penalty, due to the recovery time of the CPU on the high phase of the clock. Without going for the datasheet, (from memory) it takes up to 25nS for the CPU to come good again, when BE goes high. And yes, in practice, that does affect things quite a bit.
I could go down the path of dual port RAM one day. But for now, I'm just working with what I have.