So try this:
Find the ratio calc code around line 1928: [code] ratio = "" if (asc(mid(strarrRawEDID(tmpctr),38,1)) and 128) then ratio = "1:" else ratio = "0:" if (asc(mid(strarrRawEDID(tmpctr),38,1)) and 64) then ratio = ratio & "1" else ratio = ratio & "0" if ratio = "0:0" then ratio = "16:10" if ratio = "0:1" then ratio = "4:3" if ratio = "1:0" then ratio = "5:4" if ratio = "1:1" then ratio = "16:9"[/code]
And change it to this: [code] ratio = "" for i = 0 to 7 b1 = asc(mid(strarrRawEDID(tmpctr),39+i*2,1)) b2 = asc(mid(strarrRawEDID(tmpctr),40+i*2,1)) if b1 = 1 and b2 = 1 then Exit For end if
if b1 = 0 then Exit For end if if (b2 and 128) then ratio = "1:" else ratio = "0:" if (b2 and 64) then ratio = ratio & "1" else ratio = ratio & "0"
if ratio = "0:0" then ratio = "16:10" if ratio = "0:1" then ratio = "4:3" if ratio = "1:0" then ratio = "5:4" if ratio = "1:1" then ratio = "16:9" next[/code]
Test! But it looks to work for me. EDIT: Added another for loop escape clause on b1 = 0 which shouldn't happen. Also I'm not a coder and I'm just pulling info from the EDID spec and reading the source of edid-decode and twiddling the existing code a bit. EDIT2: Stupid problem which messed up the for loop coverage. Fixed now.
|