Improving the Colour Test code for analog VGA #139
Replies: 4 comments 3 replies
-
I had same issue, it seems black is "lowest análogo level" and not zero (the signal is DC filtered), see some images here litex-hub/litevideo#42 |
Beta Was this translation helpful? Give feedback.
-
Hello, and thanks for your message. You’re right that many VGA displays are confused by colour data during the blanking interval. I briefly cover this in the blog post section on Arty VGA output. All the Arty examples apart from the colour test make this explicit, for example, the Swedish flag. I’ll amend the colour test design to clarify the distinction between background and blanking colours. |
Beta Was this translation helpful? Give feedback.
-
I was planning a quick fix, but on reflection, I realised I should do this properly. This new approach ensures the colour channels are always zero in the blanking interval, freeing the user to mess with the painting colours as they choose. You can see the revised designs in: And take a look at the updated blog post: https://projectf.io/posts/fpga-graphics/#12-bit-colour Let me know what you think, @cocoacrumbs @suarezvictor, I plan to apply the better blanking to all designs over the coming weeks. |
Beta Was this translation helpful? Give feedback.
-
I have applied better blanking to the remaining FPGA Graphics designs. Designs in |
Beta Was this translation helpful? Give feedback.
-
Hi,
On https://projectf.io/posts/fpga-graphics/, there is this verilog code (Colour Test section):
On analog VGA this might cause troubles if you want to display anything else than black outside the colour square. When I tried green instead of black I got very weird results (the colour square suddenly only showed shades of red, with horizontal bars of shades of green next to it).
I finally figured out that the analog R, G, B signals have to be black when outside the display area (de == 0) and I came up with this code which will properly show a cyan color (instead of black) outside the color square.
It could be that the behavior I see is dependent on the [LCD] monitor I use (a very old Sony LCD monitor with 4:3 aspect ratio (16:10 didn't exist back then)). Maybe that more modern ones don't have the problem I observed. Interestingly, using the DVI input on that same monitor (using a ULX3S with the original code and HDMI to DVI cable) doesn't show this problem.
Beta Was this translation helpful? Give feedback.
All reactions