VOGONS


First post, by elianda

User metadata
Rank l33t
Rank
l33t

Hello,

I would like to discuss some general problems that TFTs and VGA to HDMI/DVI Converters show with analog VGA Signals.

So default text mode is 720x400 70 Hz. The 720 horizontal originates from 80 chars with 9 pixels each.
Here the resolution and the mode matches.

However other low res graphics resolutions like 320x200 are also output as 720x400 70Hz mode.

Any device that samples this mode to a digital representation samples 720 pixels. The result is that a checkerboard pixel pattern in 320x200 gets a moiree effect, where each 4th pixel is in the sampled 720 resolution 3 pixels wide.
The checkerboard pattern is then AABBAABBBAABBAABBBAABBAABBBAABBAABBB and so on. (notice the triple BBBs)

The title screen of Keen5 is very suited to check . See attached photo, where the checkerboard pattern has pixels with uneven width.

This is a very general problem where the sampling is incorrect and an artificial moiree effect is introduced. Since a TFT sees only the analog 720x400 mode, it can not know that the displayed resolution might be e.g. 320x200.

From our tests, general TFTs and converters:
If there is a 400 lines mode then it is sampled with 720 samples.
If there is a 480 lines mode then it is sampled with 640 samples.

In case the displayed resolution deviates or is a non-integer of it then the moiree effect comes up.
It also does not help to have a TFT with a high resolution because the effect is already introduced when the original signal is sampled. High TFT resolution blows the moiree effect just up when scaling.

You might want to check your device if you can set the number of sample points to 640 for these modes.
For most of the low res graphics modes sampling with 720 samples is wrong.

There are some eceptions, which is text mode and e.g. from the Quake 1 mode selection modes like 360x350 .

Another Problem:

Remember that Commander Keen shows a red tint on some TFTs?

The cause is that Commander Keen uses a cyan border color and some TFTs use the overscan color for white balance.
Good thing is Commander Keen offers a cheat code to change border color:
In the game press A+2+Enter to activate cheat mode then press F10 and B to change the border color.

If you have a TFT that shows a red tint you can now get any other wrong color tint until you set the border to black.
There is also a TSR from wbc here that fixes that: Commander Keen problem!

However, this means that all programs that change the border color are affected. If the TFT does not do this per frame but per scanline and one has VGA rasterbars in the border area one could thing of new demo effects 😉
At least it is not an issue of the graphics card.

Someone has seen the red tint effect also on VGA converters?

Attachments

Retronn.de - Vintage Hardware Gallery, Drivers, Guides, Videos. Now with file search
Youtube Channel
FTP Server - Driver Archive and more
DVI2PCIe alignment and 2D image quality measurement tool

Reply 1 of 36, by ChrisR3tro

User metadata
Rank Member
Rank
Member

Pretty good explanation. Thanks for bringing this issue up!

As a possible solution, people might want to look into the Open Source Scan Converter (OSCC).

Please also note, that DVI might not be susceptible to this issue, depending on impementation on graphics card and monitor capabilities and contents of EDID ROM. Of course DVI comes with other problems under DOS. (60hz vs. 70hz, wrong text mode resolution etc., sometimes scaling being done inside the GPU.)

for more Retro-related tidbits follow me on X under @ChrisR3tro.

Reply 3 of 36, by ChrisR3tro

User metadata
Rank Member
Rank
Member
maxtherabbit wrote on 2020-06-07, 18:34:

The OSSC has the same problem, it can't differentiate the different 400 line modes unless you manually toggle it

I only did a short test with Commander Keen 5 during which my OSCC (v1.6) did not show the moiree pattern. I think it was in 2x mode.

for more Retro-related tidbits follow me on X under @ChrisR3tro.

Reply 4 of 36, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
Locutus wrote on 2020-06-08, 08:20:
maxtherabbit wrote on 2020-06-07, 18:34:

The OSSC has the same problem, it can't differentiate the different 400 line modes unless you manually toggle it

I only did a short test with Commander Keen 5 during which my OSCC (v1.6) did not show the moiree pattern. I think it was in 2x mode.

that just means it was set to the correct sampling profile for 640x400, if you exit keen back to DOS you'd see that the text looks like crap without manually changing it to 720x400

Reply 5 of 36, by elianda

User metadata
Rank l33t
Rank
l33t

So are there TFTs or VGA to HDMI converters out there that allow to choose the correct sampling?

Retronn.de - Vintage Hardware Gallery, Drivers, Guides, Videos. Now with file search
Youtube Channel
FTP Server - Driver Archive and more
DVI2PCIe alignment and 2D image quality measurement tool

Reply 6 of 36, by darry

User metadata
Rank l33t++
Rank
l33t++
elianda wrote on 2020-06-08, 15:03:

So are there TFTs or VGA to HDMI converters out there that allow to choose the correct sampling?

OSSC does, but you have to set it manually for 720x400 vs 640x400 . Automatic detection is not possible, unless maybe if using some fancy image analysis algorithm, but even that would not be fool-proof and would likely require CPU usage and added latency (beyond scope of OSSC) .

EDIT: Actual horizontal resolution of the analogue signal cannot be deterministically detected in this case. It all looks the same to the ADC and digitization logic if the blanking intervals and sync signals are the same, which is the case for 720x400 and 640x400 at 70Hz in DOS . Without actual image line analysis to try to determine how many variations are occurring on a given line, which would not be infallible, determining actual resolution is impossible . Most (all?) LCD monitors with VGA input assume 720x400, which is not perfect for 640x400, but still works .

EDIT2: This is my understanding, please correct me if I am wrong .

Reply 7 of 36, by elianda

User metadata
Rank l33t
Rank
l33t

Thats summarizing the general problem.

While TFTs sampling at 720x400 is targeted for text mode, most of the games use some 640 dividable horizontal resolution. There 720 pixel sampling is suboptimal as it introduces a moiree effect in horizontal direction.

I have not found a TFT with VGA input yet where 720 and 640 pixel sampling can be set.

Retronn.de - Vintage Hardware Gallery, Drivers, Guides, Videos. Now with file search
Youtube Channel
FTP Server - Driver Archive and more
DVI2PCIe alignment and 2D image quality measurement tool

Reply 8 of 36, by darry

User metadata
Rank l33t++
Rank
l33t++
elianda wrote on 2020-06-09, 09:16:

Thats summarizing the general problem.

While TFTs sampling at 720x400 is targeted for text mode, most of the games use some 640 dividable horizontal resolution. There 720 pixel sampling is suboptimal as it introduces a moiree effect in horizontal direction.

I have not found a TFT with VGA input yet where 720 and 640 pixel sampling can be set.

I agree, and neither have I found such a monitor .

That said, I did answer your question since, as mentioned, the OSSC does have the option to switch between 640x400 and 720x400 input.

Another VGA to to DVI converter that indirectly offers this option is the Extron RGB-DVI 300 (and likely all variants that share the same firmware). In this case, you need to specify the number of total and active lines, both horzontally and vertically and save your settings to a preset. You can have a preset for 640 and one for 720 .

EDIT: The Extron unit forces frame rate conversion to 60Hz, however, so it is not ideal in that respect .

EDIT2: my OSSC comments hold for firmware 0.85 . The option mentioned was not always present .

Reply 9 of 36, by elianda

User metadata
Rank l33t
Rank
l33t

I own an OSSC myself and appreciate the flexibility.
(On a side note: I miss support in the OSSC for 1024x768 at 43 Hz interlaced, though I am not sure of the OSSC hardware would be capable to convert this mode)

The 60 Hz limitation/downconversion of most converters is a bit odd. If you look at early DVI cards the output in text mode was 720x400 at 70 Hz on DVI and there are TFTs that are not limited to 60 Hz.
The mode support can be read from the EDID.

Retronn.de - Vintage Hardware Gallery, Drivers, Guides, Videos. Now with file search
Youtube Channel
FTP Server - Driver Archive and more
DVI2PCIe alignment and 2D image quality measurement tool

Reply 10 of 36, by darry

User metadata
Rank l33t++
Rank
l33t++
elianda wrote on 2020-06-09, 09:52:
I own an OSSC myself and appreciate the flexibility. (On a side note: I miss support in the OSSC for 1024x768 at 43 Hz interlace […]
Show full quote

I own an OSSC myself and appreciate the flexibility.
(On a side note: I miss support in the OSSC for 1024x768 at 43 Hz interlaced, though I am not sure of the OSSC hardware would be capable to convert this mode)

The 60 Hz limitation/downconversion of most converters is a bit odd. If you look at early DVI cards the output in text mode was 720x400 at 70 Hz on DVI and there are TFTs that are not limited to 60 Hz.
The mode support can be read from the EDID.

My old Samsung 204B definitely had 70Hz modes in its EDID, but its native resolution is 1600x1200 at 60Hz .

It is possible to force 70Hz at 1600x1200 resolution (with reduce blanking) in pure DOS on some old cards Nvidia cards with modern monitors (that actually handle 70Hz without frameskipping) by using a modified EDID .

See this thread, if you have not already .
70Hz in pure DOS at 1600x1200 (or other) over DVI on an old card (FX5900) with modern monitor is possible

Reply 11 of 36, by ChrisR3tro

User metadata
Rank Member
Rank
Member
elianda wrote on 2020-06-09, 09:52:

The 60 Hz limitation/downconversion of most converters is a bit odd. If you look at early DVI cards the output in text mode was 720x400 at 70 Hz on DVI and there are TFTs that are not limited to 60 Hz.
The mode support can be read from the EDID.

Keep in mind, that a monitor that has VGA and DVI in always has two EPROMS with potentially different EDID data on each port. In my experience there are a lot of TFTs out there, that don't list a 70hz mode in EDID (using DVI). Most TFTs support 70hz over VGA, but not all of them display all 70 frames, as some seem to discard 10 frames, due to the panel being natively driven at 60hz. Then there are TFTs that miss the 70 hz mode in EDID but will still support it even over DVI, if forced. Then of course, there are monitors where the EDID data is unreliable and just plain wrong.

Manufacturers of signal adapter type devices will go the easiest route then, which is to just scrap 70hz support and output a 60hz signal and not bother with EDID and all these inconsistencies. Also makes total sense, because most people don't care about 10 frames being discarded and probably never even notice. The usual customer is probably happy to see a picture and doesn't care much for anything else. Sorry to disappoint but afterall these are devices targeted at the average consumer who probably just wants to connect his Notebook to do a PowerPoint presentation or some other mundane task. Plus the target group is not knowledgeable enough by far to notice anything wrong. Can see a picture? Meh, good enough for a 5 star review 😀

OSSC is the best alternative yet, because it's directly targeted towards US!

for more Retro-related tidbits follow me on X under @ChrisR3tro.

Reply 12 of 36, by ChrisR3tro

User metadata
Rank Member
Rank
Member
darry wrote on 2020-06-09, 10:03:

My old Samsung 204B definitely had 70Hz modes in its EDID, but its native resolution is 1600x1200 at 60Hz .

It is possible to force 70Hz at 1600x1200 resolution (with reduce blanking) in pure DOS on some old cards Nvidia cards with modern monitors (that actually handle 70Hz without frameskipping) by using a modified EDID .

That's exactly what I did to my 204B. It will work with some nVidia cards, but success is not guaranteed, depending on the video BIOS also. Also the monitor has an input lag of at least 30ms. It will get rid of the moiree pattern, but the scaled output will still look pretty blurry.

for more Retro-related tidbits follow me on X under @ChrisR3tro.

Reply 13 of 36, by darry

User metadata
Rank l33t++
Rank
l33t++
Locutus wrote on 2020-06-09, 10:14:
darry wrote on 2020-06-09, 10:03:

My old Samsung 204B definitely had 70Hz modes in its EDID, but its native resolution is 1600x1200 at 60Hz .

It is possible to force 70Hz at 1600x1200 resolution (with reduce blanking) in pure DOS on some old cards Nvidia cards with modern monitors (that actually handle 70Hz without frameskipping) by using a modified EDID .

That's exactly what I did to my 204B. It will work with some nVidia cards, but success is not guaranteed, depending on the video BIOS also. Also the monitor has an input lag of at least 30ms. It will get rid of the moiree pattern, but the scaled output will still look pretty blurry.

The blurry output is courtesy of Nvidia's scaling algorithm . I have not tried, but it may be possible to force an Nvidia card to output 640x400 70Hz over DVI under DOS by feeding it a suitably stripped down EDID . That would avoid the Nvidia scaling and force the monitor to scale instead (possibly better). EDIT: If using a non 4:3 monitor, the monitor better have good aspect ratio controls or the picture will likely be stretched .

The soft Nvidia picture is one of the reasons that pushed me towards getting an OSSC .

Reply 14 of 36, by ChrisR3tro

User metadata
Rank Member
Rank
Member
darry wrote on 2020-06-09, 10:31:

The blurry output is courtesy of Nvidia's scaling algorithm . I have not tried, but it may be possible to force an Nvidia card to output 640x400 70Hz over DVI under DOS by feeding it a suitably stripped down EDID . That would avoid the Nvidia scaling and force the monitor to scale instead (possibly better). EDIT: If using a non 4:3 monitor, the monitor better have good aspect ratio controls or the picture will likely be stretched .

The soft Nvidia picture is one of the reasons that pushed me towards getting an OSSC .

While this could work, I'd consider it pretty non-practical. First, you're limited to nVidia cards and second... reprogramming EDID EPROMS meh won't bother anymore. OSCC ftw!
Now I just need to find a good 4:3 TFT that supports 70 hz over DVI, preferably has a native res of 1600x1200 and has low input lag. Good luck with that :-p
Maybe you'd be better off getting a modern 16:10 monitor with 1920x1200 that can do aspect-correct scaling and then use OSCC to do the majority of the scaling (scan-multiplying) to minimize blurriness.

Or get a good CRT and just be happy.

for more Retro-related tidbits follow me on X under @ChrisR3tro.

Reply 15 of 36, by imi

User metadata
Rank l33t
Rank
l33t

I've asked this before in another thread, and can't remember getting a reply, does anyone know a DOS program that lets you easily test different graphics modes with test patterns (i.e. dithering)?
also moving patterns to detect frame skip would be nice.

I'm going to test this one I guess:
https://github.com/unclejed613/video-test-bench-dos-freeware

Reply 16 of 36, by darry

User metadata
Rank l33t++
Rank
l33t++
Locutus wrote on 2020-06-09, 11:34:
While this could work, I'd consider it pretty non-practical. First, you're limited to nVidia cards and second... reprogramming E […]
Show full quote
darry wrote on 2020-06-09, 10:31:

The blurry output is courtesy of Nvidia's scaling algorithm . I have not tried, but it may be possible to force an Nvidia card to output 640x400 70Hz over DVI under DOS by feeding it a suitably stripped down EDID . That would avoid the Nvidia scaling and force the monitor to scale instead (possibly better). EDIT: If using a non 4:3 monitor, the monitor better have good aspect ratio controls or the picture will likely be stretched .

The soft Nvidia picture is one of the reasons that pushed me towards getting an OSSC .

While this could work, I'd consider it pretty non-practical. First, you're limited to nVidia cards and second... reprogramming EDID EPROMS meh won't bother anymore. OSCC ftw!
Now I just need to find a good 4:3 TFT that supports 70 hz over DVI, preferably has a native res of 1600x1200 and has low input lag. Good luck with that :-p
Maybe you'd be better off getting a modern 16:10 monitor with 1920x1200 that can do aspect-correct scaling and then use OSCC to do the majority of the scaling (scan-multiplying) to minimize blurriness.

Or get a good CRT and just be happy.

USB programmable EDID emulators with button selectable presets do exist . Aten makes some . The VC060 and VC080, I think . I am currently using a less advanced EDID edid emulator to get the 1600x1200@70Hz to work in DOS .

I tried the new 70Hz capable 1920x1200 route, not many of those either . It works great, except it stretches 640x400 and 1280x800 (only has an aspect ratio option, no for 4:3). Line3x mode in 1600x1200 on my OSSC has artefacts because of the non spec pixel clock ("overclocking" the HDMI TX in the OSSC, which it does not like).

I do not have the room for a CRT and am done with geometry, convergence and focus adjustments .

Reply 18 of 36, by maxtherabbit

User metadata
Rank l33t
Rank
l33t

I'm not familiar with LCD displays made in the past 10 years, but prior to that it was pretty much impossible to get one that would actually drive the panel at 70Hz. They all just do frame rate conversion in the display's scaler down to 60Hz, even though they accept 70Hz over VGA input almost universally.

Reply 19 of 36, by darry

User metadata
Rank l33t++
Rank
l33t++
Locutus wrote on 2020-06-09, 13:58:

darry, can you suggest some good TFT options?

I have not found one yet .

My Acer VW257 is close .
+ has an IPS panel (6-bit plus FRC)
+ is 1920x1200
+ supports 70Hz input over HDMI (up to 75Hz, officially)
+ actually displays 70Hz (tested with PixPerAn)

- stretches 640x400 and 1280x800 to full screen (has an aspect option, no force 4:3 mode).

With OSSC Pro (or similar solution, if one exists), it should be an ideal setup.