Figure 2: VGA signal timing . VGA Signal Generator Circuitry Now we have to figure out a circuit that will send pixels to the monitor with the correct timing and framing .   We can store a picture in the RAM of the XS Board .   Then we can retrieve the data from the RAM, format it into lines of pixels, and send the lines to the monitor with the appropriate pulses on the horizontal and vertical sync pulses . The pseudocode for a single frame of this process is shown in Listing 1 .   The pseudocode has two outer loops: one which displays the L lines of visible pixels, and another which inserts the V blank lines and the vertical sync pulse . Within the first loop, there are two more loops: one which sends the P pixels of each video line to the monitor, and another which inserts the H blank pixels and the horizontal sync pulse . Within the pixel display loop, there are statements to get the next byte from the RAM .   Each byte contains four two - bit pixels .   A small loop iteratively extracts each pixel to be displayed from the lower two bits of the byte .   Then the byte is shifted by two bits so the next pixel will be in the right position during the next iteration of the loop . Since it has only two bits, each pixel can store one of four colors .   The mapping from the two - bit pixel value to the actual values required by the monitor electronics is done by the COLOR _ MAP() routine .