Almost all computer hardware these days has become hidden under multiple layers of abstraction and integrated into tiny packages. For instance, a system on a chip (SoC) combines virtually all of a computer’s components into a single small chip. That’s what powers most smartphones, single-board computers (SBCs), and even many ultra-portable laptops. But that wasn’t always the case, and most early computers were built with complex circuits made from many simple chips. That even included the video output, which Enrique Phan has recreated with his IC-based VGA controller.
If you just want to add VGA output to a project, this isn’t a practical way to do it. There are plenty of inexpensive chips on the market that can output whatever kind of video signal you want. But Phan wants to build his own 8-bit computer from scratch without using any complex ICs (integrated circuits) or modern microcontrollers. This VGA controller is just one piece of that larger puzzle, but it’s an important one. Generating an analog video signal using only basic ICs isn’t a trivial task, and requires a thorough understanding of how to convert digital data into the proper analog format.
That’s done using just EEPROM (Electrically-Erasable Programmable Read-Only Memory) chips and the kinds of simple logic ICs that have been available for decades. Using those, Phan is able to use two bits for each color channel, which results in a total of 64 colors. The picture is running at 620×480 at 60Hz, but is only actually displaying at 160×120 at 60Hz. The EEPROMs that are used to generate the various control signals were programmed in C using an Arduino, but no Arduino — or any microcontroller — is used in the final hardware.