VOGONS


First post, by darry

User metadata
Rank l33t++
Rank
l33t++

I could not find a reference to this having been done before (correct me if I am wrong) and am quite excited.

IMHO, this is significant enough that it deserves its own thread, because :

a) It allows native HDMI/DVI on a modern monitor, no adapter needed (only an EDID emulator) and preserves 70Hz output (VGA input on monitors is going away eventually)

b) It allows timing sensitive applications such as Second Reality that must be run at 70 Hz to play at properly over DVI without frameskipping (with capable monitor)

c) It allows 70Hz output at resolutions that a single link (165 MHz) would not normally be capable of .

Re: Good 4:3 LCD Monitor

-----------------

darry wrote on May 27 2020, 15:55:
---
I had an idea: I modified an EDID from a 1600x1200 60Hz monitor to 1600x1200 70Hz (with reduced blanking to fit under single link DVI's bandwidth) and flashed into my EDID emulator .

I then plugged the EDID emulator between my Geforce FX 5900's output and my Acer VW257 75Hz monitor (with VESA adaptive sync enabled in menu) .

The result: 1600x1200 in 4x3 at 70Hz over DVI /HDMI under pure DOS and without apparent frameskip !!!! I realised I actually do notice frameskip when paying attention.

This did not work with the monitor's native EDID (got 1920x1200 stretched at 60Hz).

Ironically, Windows 98SE still outputs 1600x1200 60Hz (the Nvidia driver probably does not handle the reduced blanking, I even tried forcing 70Hz, but to no avail). Windows dos boxes run at 70Hz in fullscreen mode, but exiting to DOS mode switches to 60Hz until reboot .

I might try Powerstrip .

EDIT: The monitor has a preserve aspect ratio option which I enabled to get 4x3 aspect ratio when outputing 1600x1200 .

Attachments

  • Filename
    204b_edid_mod_70hz.zip
    File size
    306 Bytes
    Downloads
    95 downloads
    File license
    Fair use/fair dealing exception
  • Filename
    204b_edid_mod_70hz.txt
    File size
    399 Bytes
    Downloads
    96 downloads
    File license
    Fair use/fair dealing exception
Last edited by darry on 2020-06-03, 01:51. Edited 4 times in total.

Reply 5 of 34, by darry

User metadata
Rank l33t++
Rank
l33t++
Rawit wrote on 2020-05-28, 17:37:

What happens if you add 640x400 @70Hz? That might be interesting to get unscaled output for DOS games.

As far as I remember, you would have to disable adapter scaling by modifying the BIOS using Nibitor (for example) . You would not need to add 640x400 @ 70Hz as a resolution, since the video card would still output 1600x1200 @70Hz , but with a centered 640x400 image . You would get the wrong aspect ratio, though (the pixels would be treated as square, while they are not in 640x400).

EDIT: As far as my limited understanding of the EDID logic in this video card's BIOS goes, to force 640x400 at 70Hz as a mode with detailing timing in the EDID, might work too, though it may be necessary to remove other resolutions (do not know if BIOS logic chooses the highest resolution or not). At this point the unknown variables would be whether the monitor would even accept the resolution and whether it would choose to scale it .

That said, the best end result would be pretty much the same, as disabling adapter scaling in video card BIOS. The other possible results would be no picture or a scaled one (by the monitor) . Not to mention that, though it may work in DOS, the Windows driver's reaction to such a weird EDID might be unpredictable .

EDIT2: I have a Gefen HDMI Detective Plus on order . It should allow programming EDIDs through USB, so it will be easier to run tests .

My current Siig EDID emulator can only learn from a connected monitor (Gofanco software I tried does not work for USB programming).
To program the Siig with a custom EDID, I had to flash the modded EDID into a spare Samsung monitor and have the Siig learn from it . I then flashed the Samsung back its EDID . I used DDCW.EXE (works with old Nvidia cards) to flash from DOS this time, but I have also used a Linux util on previous EDID experiments .

Reply 6 of 34, by darry

User metadata
Rank l33t++
Rank
l33t++

I tried it with a Geforce 4 Ti 4200 on different PC with same monitor and same EDID emulator. In DOS, it behaves like the FX 5900 . In Windows 98 SE, it defaults to 70Hz without even running Powerstrip . In fact, Windows won't let me change it to 60Hz . Powerstrip would likely fix that, but I only have one license . Without the EDID emulator, I only get an "unsupported mode" message on the monitor under Windows .

EDIT: Without the EDID emulator under DOS the text is ghosted and corrupt and the reported resolution is 1920x1200 .

EDIT2: I do not know if this is representative of other modern monitors, but the Ti 4200 is essentially unusable with my Vw257 without an EDID emulator . with or without an EDID emulator, at least at 1600x1200 and 1920x1200 output resolution under DOS .

EDIT3: DOS text is ghosted and corrupt even with the EDID emulator on VW257. Windows is fine . Strange .

EDIT4: DOS text is fine without EDID emulator on my 1920x1080 Acer EB321HQ . Black screen in Windows on the EB321HQ without EDID emulator .

Reply 7 of 34, by Rawit

User metadata
Rank Oldbie
Rank
Oldbie

That's some testing you did there!

In case of modifying the BIOS: does unscaled output get projected at 1600x1200 (centered with borders) because of the behaviour of the monitor when it encounters non-native resolutions? Or is it because of the EDID and the card selecting 1600x1200?
It would be interesting to get 640x400@70Hz out so that you can scale somewhere else in the display chain. Then you can choose from scaling through the card, external scaler or display and that opens up a lot of options.

The results with the Ti 4200 make no sense to me, I would thin with standard Nvidia behavior you should get scaled output at an accepted resolution.

I've testing the behavior of my Savage4 cards with DFP and noticed that my AGP one prefers 1024x768 on my flatscreen TV as opposed by PCI version, which selects the resolution closest to the original if the original resolution is not available. I use my DVI2USB capture device to set accepted resolutions to see the behavior. Unfortunately my retro build is in parts at the moment because I really want to test if I get/force 70Hz out of one.

YouTube

Reply 8 of 34, by darry

User metadata
Rank l33t++
Rank
l33t++
Rawit wrote on 2020-05-29, 14:00:
That's some testing you did there! […]
Show full quote

That's some testing you did there!

In case of modifying the BIOS: does unscaled output get projected at 1600x1200 (centered with borders) because of the behaviour of the monitor when it encounters non-native resolutions? Or is it because of the EDID and the card selecting 1600x1200?
It would be interesting to get 640x400@70Hz out so that you can scale somewhere else in the display chain. Then you can choose from scaling through the card, external scaler or display and that opens up a lot of options.

The results with the Ti 4200 make no sense to me, I would thin with standard Nvidia behavior you should get scaled output at an accepted resolution.

I've testing the behavior of my Savage4 cards with DFP and noticed that my AGP one prefers 1024x768 on my flatscreen TV as opposed by PCI version, which selects the resolution closest to the original if the original resolution is not available. I use my DVI2USB capture device to set accepted resolutions to see the behavior. Unfortunately my retro build is in parts at the moment because I really want to test if I get/force 70Hz out of one.

Going from memory, if disabling adapter scaling in BIOS, pretty sure video card shoots full resolution image ,say 1600x1200, with centered 640x400 picture surrounded by black borders (which are part of the image) as monitor still says it's receiving full 1600x1200 . Getting actual 640x400 through DVI would likely require somehow forcing card to believe 640x400 is native resolution of screen. I will likely do more tests when Gefen EDID emulator arrives .

As for TI4200, older BIOS code might be the cause of issues . 1920x1200 was not common back then, nor was 1600x1200 at 70Hz . Maybe 1600x1200 at 60Hz would work well. Again, will wait for EMGefen EDID emu before running more tests.

Reply 9 of 34, by darry

User metadata
Rank l33t++
Rank
l33t++

I ran some more tests on some more cards today.

Radeon 9700
Geforce 6200
Geforce FX 5500

These 3 cards all have the TMDS integrated into the GPU chip itself. Here's how they behaved with the EDID emulator with 1600x1200 70Hz EDID .

Radeon 9700 : DOS boots in 1280x1024 at 75Hz . I did not bother testing in Windows .
Geforce FX 5500 : DOS boots in 1280x1024 at 75Hz . I did not bother testing in Windows .
Geforce 6200 : DOS boots in 1600x1200 at 70Hz . Windows 98 SE switches to 1600x1200 at 60Hz (70Hz cannot be selected, I did not try Powerstrip as I do not have it on this test machine). Full screen DOS boxes are at 1600x1200 60 Hz and exiting to DOS switches back to 1600x1200 at 70Hz (in this respect it is the exact opposite of the FX 5900).

I have a theory about why the Radeon 9700 and Geforce FX 5500 boot at 1280x1024 at 75Hz . My guess is the that logic in the BIOS selects the highest refresh rate available in the EDID's mode list and an then chooses the highest resolution available at that given refresh rate . If that turns out to be true, it should be possible to force 1600x1200 by removing all modes above 70Hz from the EDID . I will test that once I receive the easily programmable Gefen EDID emulator .

Reply 10 of 34, by Tiido

User metadata
Rank l33t
Rank
l33t

On some of my Radeon cards I can avoid scaling to 1280x1024 by using the other video output, it is like only one output scales to whatever EDID says and other outputs "standard" timings and lets monitor do its thing (this is with VGA signal and not DVI).

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜

Reply 11 of 34, by darry

User metadata
Rank l33t++
Rank
l33t++
Tiido wrote on 2020-05-31, 05:27:

On some of my Radeon cards I can avoid scaling to 1280x1024 by using the other video output, it is like only one output scales to whatever EDID says and other outputs "standard" timings and lets monitor do its thing (this is with VGA signal and not DVI).

I've actually never seen scaling by the video card on VGA output in DOS. I have not used VGA output regularly, except on Voodoos, since approx. 2005, so I likely missed out on some interesting VGA behaviours .

Reply 12 of 34, by Tiido

User metadata
Rank l33t
Rank
l33t

I noticed it when I was having two monitors and there were no scanlines on the CRT I was using. Lo and behold the card scaled the image to whatever monitor told it to (1280x1024). When I swapped the cables things were correct, nothing was scaled to the CRT and other monitor on DVI was working right.

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜

Reply 13 of 34, by darry

User metadata
Rank l33t++
Rank
l33t++
Tiido wrote on 2020-05-31, 06:39:

I noticed it when I was having two monitors and there were no scanlines on the CRT I was using. Lo and behold the card scaled the image to whatever monitor told it to (1280x1024). When I swapped the cables things were correct, nothing was scaled to the CRT and other monitor on DVI was working right.

Do you remember which card you were using when you saw this ? Maybe I have a similar one in my hardware stash .

Reply 14 of 34, by Tiido

User metadata
Rank l33t
Rank
l33t

It happened on Radeon 9600XT, X300, X600, X700, X850, and probably on 9200 and 7000 also.

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜

Reply 15 of 34, by darry

User metadata
Rank l33t++
Rank
l33t++
Tiido wrote on 2020-05-31, 09:52:

It happened on Radeon 9600XT, X300, X600, X700, X850, and probably on 9200 and 7000 also.

I'm pretty sure I have 9200 somewhere . The only 9600 I have is a MAC version flashed with a PC BIOS and non functional DVI (VGA only), so not very representative . I may have some 9550s somewhere, but they won't work in my Asus P3B-F testbed (AGP voltage issue and I don't want to use my Ipox 3ETI23 as a testbed at this point) . I, again, can't say much for VGA on these cards, but DVI behaviour was all over the place (some did 1600x1200 60Hz and others 1280x1024 75Hz under DOS) and seemed BIOS dependant (I did some semi-successful cross-flashing experiments a few years ago to test that) .

Reply 16 of 34, by Tiido

User metadata
Rank l33t
Rank
l33t

BIOS does matter, the X550 (I remembered it being X600...) card in my ISA C2D machine has very few resolutions in its VESA modes list and in DOS it only ever will use those for any attached monitor. On that particar card there's no 1600x1200, only 1280x1024 at max. In windows things get "fixed" by the driver. (I use the card because it can be passively cooled, I don't tolerate noisy computers).

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜

Reply 17 of 34, by darry

User metadata
Rank l33t++
Rank
l33t++

I can no longer find the site where I got the suggested 1600x1200 70Hz timings I used (should have bookmarked it). Does anybody have a good resource for CVT-RB timings ?

EDIT : DOH, found it right after posting ---> https://tomverbeure.github.io/video_timings_calculator

Reply 18 of 34, by darry

User metadata
Rank l33t++
Rank
l33t++

My Gefen EDID emulator arrived today, with a suprise twist : I was expecting a EXT-HDMI-EDIDPN , what I actually ordered and received was a EXT-HDMI-EDIDP . Helpfully, Gefen has named both of them HDMI Detective Plus .
What difference does that little "n" make ? It means the unit is USB programmable . The non "n" unit is not . It is apparently programmable using an HDMI signal generator, which I do not have and using DDCW on it does not work . The non "n" variant still allow allows for EDID cloning, though . I cloned the Siig's EDID into the Gefen and the Gefen now allows 1600x1200 at 70Hz using my FX 5900 .

Having no other option, I once again used my Samsung 204B as a go-between to flash another custom test EDID with all 75Hz modes removed into the the Siig EDID emulator . I also removed all 1280x1024 (5:4) modes as I see no point in having them . Now how did the Radeon 9700 and FX 5500 react to this EDID ? In exactly the same way! They both now output 1024x768 at 60Hz in DOS, completely ignoring both the 1600x1200 70Hz mode and the the 1024x768 70Hz as well as the 1280x960 60Hz mode .

The fact that the two cards' behaviour is exactly the same leads me to believe that they are following the same "recipe", probably based on a design recommendation from some authoritative entity (Digital Display Working Group?) for mode selection logic at the time . I could go on a few more rounds of trial and error tests to try to map that logic out, but I since I still don't have a USB programmable EDID (through my own fault) and don't feel like spending 120$ or more on an Aten VC060 or VC080 that would take months to arrive, I will leave it at that for the time being , unless I get another idea .

Reply 19 of 34, by darry

User metadata
Rank l33t++
Rank
l33t++

Played around with a Radeon 9700 . See continuation of cde's thread about how he patched a Radeon to output 70Hz in DOS over DVI by patching the BIOS . Outputting 720x400@70Hz with the ATi R300 DVI output in DOS I used his technique to force a Radeon 9700 to output 1024x768@70HZ (scaled to 1600x1200 by my monitor) over DVI in DOS .

This card's complete inability to run Future Crew's Second Reality was a disappointment to me . IMHO, the best pure DOS DVI cards ti use with an EDID emualtor so far are the Geforce FX 5900 and the Geforce 6200 . I've go some FX 5900XT cards coming eventually and a Quadro FX 1100 (FX 5700 equivalent) which I believe will behave similarly , stay tuned (if anybody's actually following this) .