Updated: Feb 11, 2022
I am currently working on building an improved VGA circuit for my 6502 build. My goal is to offload the video processing and have better resolution than my current 100x64 (yes, 100x64). I would like to treat the display as a "smart display." My first priority is character output, followed by mouse support and rudimentary graphics.
I've been doing some prototyping and things are looking decent. See my previous blog posts if you're interested in learning more about the FPGA part of this, or my "paint" on 6502 with 100x64 VGA output. I would like to control the display with a single VIA on the 6502 system. I suppose I could go to two VIAs if I need the data transfer speed, but so far, I don't think that will be needed. This gives me 16 bits of data at a time that I can use for video instructions from the 6502 to the VGA circuit. Before I connect everything up to an actual VIA, I would like to test some concepts.
In the following video, you can see where I'm at with the prototyping. I built a test harness that sends instructions via serial to the FPGA, mimicking how communication will come in from the 6502 VIA to the FPGA to see how it performs (in an intentionally slow, painful way with 16 individual data bits per call). On the FPGA, I then manage the video RAM pixel by pixel, in a similar way to how I have been doing it previously on my 6502+VGA. The character generation has been done from the ground up (i.e., no font libraries). Plenty of work to go, but I think this might actually work for my 6502! 🙂
For future videos in this FPGA VGA series, I will try and use a video capture device, so you don't need to stare at my crappy Dell monitor. 😉
Edit: I'm not sure why I had "16 analog lines" listed in the video. The lines from the 6502 VIA to the FPGA are digital, of course. The levels for the digital signals will need to be shifted between 5v and 3.3v.