VGA anti-aliasing issue
ti85
Posts: 44
in Propeller 2
I am working on getting some vga color bars running from the P2. However, I am getting some type of anti-aliasing going on - look at the black transition to gray on the top left or the black to white transition on the middle top. Those transitions should be solid – black to gray and black to white, but the first line in the transitions appear to be an off color. Why is this happening?
See below: are these dacmodes causing the issue?
'RJA: dacmodes for P2 VGA
dacmode_s long %0000_0000_000_1011000000000_01_00000_0 'hsync is 123-ohm, 3.3V
dacmode_c long %0000_0000_000_1011100000000_01_00000_0 'R/G/B are 75-ohm, 2.0V
setcy ##intensity << 24 'r set colorspace for rgb setci ##intensity << 16 'g setcq ##intensity << 08 'b setcmod #%01_0_000_0 'enable colorspace conversion 'Need to add cog# into dacmodes cogid x shl x, #8 or dacmode_s, x or dacmode_c, x 'Setup the RGB and HSync smartpins and turn them on 'enable dac modes in pins 0..3 wrpin dacmode_s,smart1 drvl smart1 'Loop for RGB pins rep @.end,#3 add smart1,#1 wrpin dacmode_c,smart1 drvl smart1
Comments
Some monitors, particularly TVs, may have image processing that can cause overshoot. That control is called "sharpness."
It could also be RF reflections in the cable. I've seen that with VGA cables. The severity will depend on the length and quality of the cable and the impedance mismatch at each end. Given the resolution, frame rate, and cable length it is possible to calculate the number of pixels affected.
Look carefully at boundaries between color bars. Our eyes are more sensitive to changes in brightness than changes in color. There might be interference on color transitions too that is harder to see.
First off, the usual sign tap: Use the symbolic constants for pin configuration (such as
P_DAC_75R_2V
andP_CHANNEL
). No one can sight-read the binary pin modes and it's easy to make mistakes. See the Spin2 manual for the full list of constants.Second, the other usual sign tap: Post full, compileable source files.
As for the actual problem, it's most likely your monitor being oddly configured (does it have a "sharpness" control? Also try phase and clock controls.) or just being bad (many such cases, random LCD monitors are not known for graceful scaling of arbitrary signals). To be certain, try a different source device that uses a similar resolution.
Also, if using the official Parallax VGA board, make sure all the switches are in "VIDEO" position.
Also, instead of
you can do
Also be sure to not accidentally enable parallel output at the same time as DACs on any overlapping pin ranges. I think I've seen problems with that sort of thing before when that happens and it messed up colours, although it might have been sync related at that time. Your image doesn't exactly look like what I saw.
Could be VGA cable bandwidth possibly. You might try some high frequency content like text font output instead of solid colour blocks which then could potentially show up somewhat fuzzy if the cable bandwidth was somehow being excessively limited....?
That is an interesting image…. Does seem like sharpness issue. But who knows …. Posting your code would help figure it out ..
Looks like monitor artifacts. As said above, check "sharpness". Although I have a cheap monitor that has this "image enhancer" not switchable off and not controllable at all. All high contrast transitions have these outlines there.
Thank you guys for your help. I finally figured it out. I was using jumper wires to connect the VGA pins the monitor and the signals were not properly connected to all the GNDs. It looks great now - not only is the artifacts gone, but the colors are the correct hues. Once again, thank you it was your suggestions that got me looking at the wiring/signals
Glad you got it. Had a suspicion it was wiring, but forgot to post... Think I've seen something like that when there are no ground wires, but it's been a while...