I'm with Rayman, these vga2hdmi converters work remarkaby well for the $
I have about 4 different models from maybe 6 or 7 purchases
Most use the Macro Silicon chips, some have QFN, and some have QFP footprints with a slightly different part number
There was also another chipset that started with C whose brand and number I can't remember
Most of the testing has been with Roger's driver, where the screen is part graphics and part text. The text remains sharp and readable
Roger and I have joked about desoldering the chips and moving them onto a dedicated P2 accessory board. The chips can be bought on aliexpress. Tbh given the 'input' to the board just needs to be 5 vga signals and 2 power pins, with optional audio, maybe just patching via a ribbon cable to the P2 board may be the way to go, and work easily with any existing P2 ecosystem
The converter I had used with success was this CM201 model...mine was branded as product from Simplecom. It appeared to give very good results over a range of resolutions I tried with it. Didn't try its sound capability because my monitor takes DVI only but if that worked too it would be very handy. For its rather low price I think it works very well. As Tubular mentioned, a P2-EVAL breakout with the same encoder chip on it sending directly to a HDMI socket would be a very convenient way for a P2 to do 1080p60 over HDMI and make the solution a bit tidier vs using extra cables/adapters.
Analogue (VGA) 1920x768@60Hz is easy for the Prop2. Could do it with maybe as little as 120 MHz sysclock. The converter, on the other hand, probably won't recognise the resolution. It'll probably attempt 1024x768.
@evanh said:
Analogue (VGA) 1920x768@60Hz is easy for the Prop2. Could do it with maybe as little as 120 MHz sysclock. The converter, on the other hand, probably won't recognise the resolution. It'll probably attempt 1024x768.
That is exactly the problem.
I already know enough of this from my P1 VGA projects.
Therefore, the converters have migrated from the table to the trash can.
What I have also noticed, not every combination of monitor and converter, are crowned with success.
Some combinations even make real garbage.
@pic18f2550 said:
Bad question.
I mean the 8 question marks.
This mapping used to be defined in a table of streamer commands in the earlier P2 HW documentation, but the latest P2 documentation doesn't appear to cover it (yet), or at least I can't seem to find it there.
I have once displayed individual characters.
And I have to say that the picture is just horrible.
The quality of the P1 VGA output is better, even if the monitor has to scale.
The best place to see the failure is on the two lines.
The black line in between is simply filled with color values.
This should be as wide as the two colored lines.
This looks really good.
Have only looked at the VGA_base_1920x1080_001c.spin2 so far.
Will soon take a closer look at the VGA_base_1920x1080_004f.spin.
I don't have any values from 1920x1080, nor do I have a monitor.
My monitors are all 1920x1200 Samsung SyncMasterSA450 and 2560x1440 HANNSpree HQ272 respectively.
VESA Signal 1920 x 1200 @ 60 Hz Timing
General timing
Refresh rate 60 Hz
Vertical refresh rate 74.521604938272 kHz
Pixel frequency 193.16 MHz
Horizontal timing (line)
The polarity of the horizontal synchronization pulse is negative.
Scanline Part Pixel | Time [µs]
Visible area 1920 | [9.939946158625
Front stem 128 | 0.66266307724166
Synchronization pulse 208 | 1.0768275005177
Rear stem 336 | 1.7394905777594
Total row 2592 | 13.418927314144
Vertical timing (frame)
The polarity of the vertical synchronization pulse is positive.
Frame part Lines | [ms]
Visible range 1200 | 16.102712776972
Front stem 1 | 0.013418927314144
Synchronization pulse 3 | 0.040256781942431
Rear porch 38 | 0.50991923793746
Total frame 1242 | 16.666307724166
@pic18f2550 said:
The best place to see the failure is on the two lines.
The black line in between is simply filled with color values.
This should be as wide as the two colored lines.
That's just your monitor doing bad scaling. That is, linear interpolation of sRGB values.
@Wuerfel_21
I won't argue with that.
But there are more and more monitors on the market that don't have a VGA socket or DVI with analog input.
It would be nice if you could switch off the linear interpolation.
The only possibility is to control the monitor with the native resolution. But the P2 is still too slow for that.
Perhaps there is also some "smearing-effect", due to any impedance mismatch (or bad interpretation of P2-pins drive strength), as seen by monitor's DVI/HDMI input.
IIRC, I've saw this before (cable dependancy), perhaps during the 7" HDMI display (800 x 480) or even Jon McPhalen's P2 Edge Module Breadboard tests (in one of Collin's setups, perhaps), though I couldn't find that reference yet (forums search box just ___ks, as usual...).
You can almost "see" the eye-patterns at the top collored lines, each one composed by eight consecutive 3H x 5V "dots".
The representation in the luminosity is somewhat exaggerated.
The cause is that a camera overdoes something due to its sensitivity.
I have tried with different monitors and cables.
Everywhere the same problem.
I believe your monitor is oversampling to 75 MHz (as if P2 sysclk rate was 750 MHz).
If that's true, there is a chance for it (the monitor) to feel a bit more "easy" with P2 sysclk rate at 375 MHz, but them, everything would need to be recalculated, based on the new dot rate.
Another option would be trying the pixel-doubling trick, since it will relly on the same data you already has, but the DVI clocks would need to be reconfigured to be commanded by the smart pins, not the streamer-provided ones.
A bit of work, as to get the right phase alignment, but it'll be a one-time setup. Will think about it during my "mitagessen"...
Kind of a controlled downhill ride, over a mountain bike; having the proper pace adjusted, it's an ever-enjoying adventure.
And more backwards compatible still (70 Hz being original VGA rate):
_clkfreq = 250_000_000 'system clock frequency must be at least 250 MHz for DVI/HDMI
rx = 640 ' x400
ry = 64
ry1 = 168 ' 1920x1200
vbp = 82 ' 70 Hz 'minimum vblank of 8 (vblank = vfp + vp + vbp)
EDIT: Removed the out of date vblank maths in comments
UPDATE: Added a macro photo of this mode used on my old Dell U2412M 1920x1200 DVI monitor.
PS: Sadly, this monitor refuses to accept arbitrary resolutions within spec. It comes from the days of known mode numbers only. I'm trying to find other suitable resolutions ...
EDIT: Fixed image by changing to a file for download.
Ugh! I got an unexpectedly good result with this monitor.
I tuned it roughly 800x600 sync rates and got that working then adapted that to 640x600 and, expecting it to say it was still 800x600, amazingly it correctly picked up the resolution change without complaining.
So it can do odd-ball combinations in the right conditions. Cold comfort for blindly choosing a resolution though.
EDIT: Ha, wow, and with 370 MHz sysclock, I can even get it to accept 960x600 because that makes hsync what seems to be its minimum 35 kHz.
_clkfreq = 370_000_000 'system clock frequency must be at least 250 MHz for DVI/HDMI
rx = 960 ' x600
ry = 64
ry1 = 268 ' 1920x1200
vbp = 5 ' 57.5 Hz 'minimum vblank of 8 (vblank = vfp + vp + vbp = 1 + 2 + 5)
Comments
The two different kinds of ~$10 VGA to HDMI converters from Amazon appear to work perfectly for me.
And, they add sound as a bonus.
Which ones did you try Rayman?
I'm with Rayman, these vga2hdmi converters work remarkaby well for the $
I have about 4 different models from maybe 6 or 7 purchases
Most use the Macro Silicon chips, some have QFN, and some have QFP footprints with a slightly different part number
There was also another chipset that started with C whose brand and number I can't remember
Most of the testing has been with Roger's driver, where the screen is part graphics and part text. The text remains sharp and readable
Roger and I have joked about desoldering the chips and moving them onto a dedicated P2 accessory board. The chips can be bought on aliexpress. Tbh given the 'input' to the board just needs to be 5 vga signals and 2 power pins, with optional audio, maybe just patching via a ribbon cable to the P2 board may be the way to go, and work easily with any existing P2 ecosystem
The converter I had used with success was this CM201 model...mine was branded as product from Simplecom. It appeared to give very good results over a range of resolutions I tried with it. Didn't try its sound capability because my monitor takes DVI only but if that worked too it would be very handy. For its rather low price I think it works very well. As Tubular mentioned, a P2-EVAL breakout with the same encoder chip on it sending directly to a HDMI socket would be a very convenient way for a P2 to do 1080p60 over HDMI and make the solution a bit tidier vs using extra cables/adapters.
I found that other chip in one of the converters, its a CM6616s
https://www.manua.ls/ica/cm6616s/manual
For the best possible display, the ratio native resolution display and video image should always be an integer.
If this is not possible, the native resolution is not completely usable (pixels and lines must be darkened).
x1-> 640x256 (monitor can internally scale to 1920x768)
x2-> 1280x512 (no scaling only dark keys)
x3-> 1920x768 (perfect)
The values x2 and x3 are not feasible with the P2.
The HDMI converters without internal graphics memory are just a waste of money.
Even in 24Bit mode I only need 491.520Byts.
Analogue (VGA) 1920x768@60Hz is easy for the Prop2. Could do it with maybe as little as 120 MHz sysclock. The converter, on the other hand, probably won't recognise the resolution. It'll probably attempt 1024x768.
What is the encoding at 24Bit color depth?
That is exactly the problem.
I already know enough of this from my P1 VGA projects.
Therefore, the converters have migrated from the table to the trash can.
What I have also noticed, not every combination of monitor and converter, are crowned with success.
Some combinations even make real garbage.
As per the comment. HubRAM longs = red[31:24];green[23:16];blue[15:8];unused[7:0]
Bad question.
I mean the 8 question marks.
This mapping used to be defined in a table of streamer commands in the earlier P2 HW documentation, but the latest P2 documentation doesn't appear to cover it (yet), or at least I can't seem to find it there.
$B0850000 -> $B0860000 for 24bit
Oh, right. In the Spin2 manual, look in section "Built-In Symbols for Streamer Modes": X_RFLONG_RGB24
P2 DVI/HDMI
P1 VGA
I have once displayed individual characters.
And I have to say that the picture is just horrible.
The quality of the P1 VGA output is better, even if the monitor has to scale.
The best place to see the failure is on the two lines.
The black line in between is simply filled with color values.
This should be as wide as the two colored lines.
But back to VGA? or wait for the P3?
Source code please.
Prop2 is very flexible and the DACs are high speed and very precise. It's more likely the program needs some fixes.
FWIW This is what I had on VGA 1920x1080 with 8x8 font and 240 characters per line.
https://forums.parallax.com/discussion/comment/1457246/#Comment_1457246
This looks really good.
Have only looked at the VGA_base_1920x1080_001c.spin2 so far.
Will soon take a closer look at the VGA_base_1920x1080_004f.spin.
I don't have any values from 1920x1080, nor do I have a monitor.
My monitors are all 1920x1200 Samsung SyncMasterSA450 and 2560x1440 HANNSpree HQ272 respectively.
Let's see if I can get it together.
That's just your monitor doing bad scaling. That is, linear interpolation of sRGB values.
@Wuerfel_21
I won't argue with that.
But there are more and more monitors on the market that don't have a VGA socket or DVI with analog input.
It would be nice if you could switch off the linear interpolation.
The only possibility is to control the monitor with the native resolution. But the P2 is still too slow for that.
Perhaps there is also some "smearing-effect", due to any impedance mismatch (or bad interpretation of P2-pins drive strength), as seen by monitor's DVI/HDMI input.
IIRC, I've saw this before (cable dependancy), perhaps during the 7" HDMI display (800 x 480) or even Jon McPhalen's P2 Edge Module Breadboard tests (in one of Collin's setups, perhaps), though I couldn't find that reference yet (forums search box just ___ks, as usual...).
You can almost "see" the eye-patterns at the top collored lines, each one composed by eight consecutive 3H x 5V "dots".
The representation in the luminosity is somewhat exaggerated.
The cause is that a camera overdoes something due to its sensitivity.
I have tried with different monitors and cables.
Everywhere the same problem.
Thanks for the clarification!
I believe your monitor is oversampling to 75 MHz (as if P2 sysclk rate was 750 MHz).
If that's true, there is a chance for it (the monitor) to feel a bit more "easy" with P2 sysclk rate at 375 MHz, but them, everything would need to be recalculated, based on the new dot rate.
Another option would be trying the pixel-doubling trick, since it will relly on the same data you already has, but the DVI clocks would need to be reconfigured to be commanded by the smart pins, not the streamer-provided ones.
A bit of work, as to get the right phase alignment, but it'll be a one-time setup. Will think about it during my "mitagessen"...
Kind of a controlled downhill ride, over a mountain bike; having the proper pace adjusted, it's an ever-enjoying adventure.
Looks like others are better equipped to answer the image concerns.
However, the posted code https://forums.parallax.com/discussion/comment/1527246/#Comment_1527246 has a bug. The second ORG 0 throws out the assembled branch calculations without first relocating the binary to match. So it's a crash.
Removing the second ORG 0 produces a 82 Hz display! Me beleaguered TV can't handle that high.
Small tweaks gives some parameters to play with:
What I will say about the image quality is since it's all digital (via DVI link) then the monitor/TV are what's responsible, not the prop2.
And more backwards compatible still (70 Hz being original VGA rate):
EDIT: Removed the out of date vblank maths in comments
UPDATE: Added a macro photo of this mode used on my old Dell U2412M 1920x1200 DVI monitor.
PS: Sadly, this monitor refuses to accept arbitrary resolutions within spec. It comes from the days of known mode numbers only. I'm trying to find other suitable resolutions ...
EDIT: Fixed image by changing to a file for download.
Ugh! I got an unexpectedly good result with this monitor.
I tuned it roughly 800x600 sync rates and got that working then adapted that to 640x600 and, expecting it to say it was still 800x600, amazingly it correctly picked up the resolution change without complaining.
So it can do odd-ball combinations in the right conditions. Cold comfort for blindly choosing a resolution though.
EDIT: Ha, wow, and with 370 MHz sysclock, I can even get it to accept 960x600 because that makes hsync what seems to be its minimum 35 kHz.
Adding a frame improves the hit probability and reduces pixel smearing.
Another thing I noticed is the brightness values.
The smaller values are barely visible.
Despite 370Mhz, the P2 is surprisingly cool, only a slight temperature can be felt.