Oct 02, 2023
Former GPU Architect Shows How to Generating VGA Images From an EPROM Circuit
Modern computers have graphics processors with as much if not more, computing
Modern computers have graphics processors with as much if not more, computing power than the CPUs mated to them. However, video circuits were far similar back in the day of 8-bit computers. So, it is interesting to see a former GPU architect, Dr. Matt Regan, break down how video graphics array (VGA) works and then implement it in an EPROM!
Regan's board is a stepping stone for future projects. The board contains two EPROMs, four data latches, a 25 MHz oscillator, and some resistors. The EPROM stores the image data, and the resistors form the digital-to-analog converter for red, green, and blue. Overall, the board is a finite-state machine.
The data in the RAM contains frame data. These frames have 3 bits of RGB data, signals for the vertical and horizontal scan lines, and pointers to the next dot. Regan used a 27c322 EPROM which is UV-erasable.
As is, this technique can only draw a single frame or static image. However, if you replaced the EPROMs with RAMs, it could generate mutable images. But the circuit demonstrates the ability to put a bit map into memory that auto-generates a frame of VGA data!
If this technique sounds familiar, it is close to how the Apple II line of computers generates video. The Apple II's approach, however, is a bit more complicated. The video memory's map doubles as a refresh cycle for RAM contents. Additionally, the CPU has a "stretch" clock cycle to achieve the proper timing for a composite NTSC signal. However, in principle, a state machine scans through RAM and rasters an image to a screen — just like Regan's approach.
For full details on how an image rasters, the format of the data, and example code of generating the bit map, check out Regan's video. His channel also has a very in-depth guide, down to the wires, of how the Apple II computer works.