[rescue] 1920x1080 on LCD with a TGX+ :-) (was: Re: FB resolution in PROM)

Romain Dolbeau romain at dolbeau.org
Sat Feb 27 11:45:23 CST 2016


2015-11-07 22:03 GMT+01:00 Romain Dolbeau <romain at dolbeau.org>:
> The FB FAQ list a limited number of supported pixel clocks; I think 189
MHz is also supported at least on the TGX+

Well I investigated this in details, and the FB FAQ is a bit wrong. While
only clocks appearing on the list (+189 MHz) can be set by
'set-resolution', you can coerce a TGX+ into using other clocks, if you
really want to :-)

The document "Sbus_cgsix_graphics_cards800-5114-10.pdf" describe the TGX+
in details and mention a programmable clock generator. A quick look at the
card itself reveals an ICS1562A, fully documented in "DSAE0055356.pdf".
Checking the Forth code, the words ics74, ics94, ics216 and so on (used for
frequency of 74.25, 94.5 and 216 MHz and so on) are obvious candidates.
They contain values to set the registers of the ICS1562A to the proper
frequency, easily confirmed by the documentation.

So it's easy to create alternate words for alternate clocks. However,
 since the possible values are hard-wired in the Forth code, the new words
are not picked up by "set-resolution". But by going to the trouble of
recoding most of the call tree of set-resolution, then it's possible to use
the new words and output almost arbitrary clocks, and therefore video
settings.

I didn't get all that I wanted - the LCDs won't sync properly to many
signals, and only display partial resolutions of others (such as 1920x1200
displayed as 1600x1200 by a SyncMaster T260). Perhaps the LCDs aren't
comfortable with the composite sync.

But I was still able to sync perfectly to some VESA settings such as:

( VESA 1024x768 @ 75 ; work on SyncMaster 713BM & VisionMaster Pro 410 )
: r1024x768x75 " 78750000,60022,75,16,96,176,1024,1,3,28,768,COLOR,0OFFSET"
;
( VESA 800x600 @ 72  ; work on SyncMaster 713BM & VisionMaster Pro 410 )
: r800x600x72 " 50000000,48076,72,56,120,64,800,37,6,23,600,COLOR,0OFFSET" ;
( VESA 1600x1200 @ 75 ; work on VisionMaster Pro 410, reported as UXGA )
: r1600x1200x75 "
202500000,93750,75,64,192,304,1600,1,3,46,1200,COLOR,0OFFSET" ;

The one I can't get to sync is:
( Standard 1920x1080x60 using 148.5 Mhz clock... wont work for me on either
the T260 or the E2473HS )
: r1920x1080x60 "
148500000,67500,60,88,44,148,1920,4,5,36,1080,COLOR,0OFFSET" ;

As far as I understand the hardware, this should also work with a regular
TGX except there isn't enough memory for anything above 1152x900.

So if you want to hook-up your TGX(+) to a fixed-resolution device like a
LCD that isn't 1152x900, there might be a way if you're willing to add a
lot of code to your nvramrc...

Cordially,

--
Romain Dolbeau


More information about the rescue mailing list