Thanks for the ideas, Luke.
My Verilog file is based on that page on fpga4fun. (I hope the author doesn’t mind.)
The Pong code uses a quadrature decoder to move the game’s paddle.
Funnily enough, one of the programs I wrote for my early '90s VGA pattern generator (based on a Lattice ispLSI1016) used 2 quadrature decoders to let me move a crosshair around the screen with a trackball.
In odd moments over the past few days I’ve been pondering more interesting things to display using my circuit. My current pattern is a bit unimpressive since the blocks of colour are 32 pixels on a side, and the same signal could be generated with a clock 1/16th of the frequency. A TinyFPGA logo might be a good pattern . The top of the ‘T’ could be something like CounterX>=10 && CounterX<=80 && CounterY==140. I don’t know how many 10-bit magnitude comparators would squeeze into an A1.
I also thought of dividing vsync by 60 and displaying a 2-digit count.
A 640x480 8 bits per pixel display for my 68010 homebrew has been on my to-do list for a year or 2. I had in mind using 4 256Ki*4 VRAMs. I don’t know if I’d use a TinyFPGA for that since there’d be 18 address bits in from the MPU and 9 out to the VRAMs. (Of course, I could use external multiplexers to route the MPU address bits to the VRAMs, so the FPGA wouldn’t need those 18 inputs.)
I might make myself a breakout board for 1 of my VRAMs, put that on a breadboard with my A1 and drive the monitor directly (except for resistors) from the VRAM’s serial outputs. Its minimum voltage in is 2.4V so the A1 should be able to drive it directly (per your suggestion).
I’ve programmed several microprocessors in assembly over the decades, but the 6502 isn’t one of them. I’m busy enough learning Verilog!