A Bug in the Original PET Schematics

by

While creating the PET Simulator I spend hours trying to find a bug where all characters on the video output were inverted (black characters on a white background) – but not the screen borders, which were still black.

Of course the first suspect would be my simulated “CRT Monitor”, which looks like this1:

Inverting the VIDEO input did make all characters normal, but then the screen borders were partially inverted (left & right border white, top & bottom border black). Studying the schematics of the CRT I noticed that the VIDEO signal going to the tube is inhibited during the horizontal flyback. So I tried many combinations of inverting VIDEO and inhibiting it during the H-Sync, but there were always some incorrect artifacts.

Maybe a discrepancy between the original schematic and my recreation?
I checked all lines and all logic gates, but could not find any mistakes.

Then, a few days later, while checking the schematics for something else I finally found the error!

Can you spot the error in the schematic?

This is part of the schematic that takes multiple signals and combines them to generate the final video signal going to the CRT. (Top right section of page 8, original schematics)

Click here to see the solution

H10 is drawn as a NAND Gate. But the 74LS08 is a quad-AND Gate!
A small drawing mistake of an unnamed Commodore Engineer almost 50 years ago had cost me a few hours of troubleshooting. After changing this gate to an AND gate everything worked charmingly. The video was as it was supposed to be, with white characters on a black background and black borders – without any logic required between the signals within the simulated CRT Monitor.


  1. VIDEO is data actual pixel data, clocked with the pixel clock
    CLK8 is the pixel clock
    HOR DRIVE IN & VER DRIVE IN and the H-Sync and V-Sync signals
    Gr-RAM is a Component that acts like a RAM but shows its content as pixels
    ↩︎

Leave a Reply

Your email address will not be published. Required fields are marked *