SGI: Hardware

U2410 display format for VPro graphics

Was asked to help with creating a display format tailored to a Dell U2410 24" 1920x1200 LCD monitor.

Rather than just supply the compiled code, I thought I'd share the underlying process. To do this on your own you'll need to have VFC installed .

First the source code for the format (there's a template and instructions in this post ):

Code: Select all

/*
1920x1200 Format for a Dell U2410 monitor using EDID information obtained from the monitor's firmware
*/

General {
FormatName = "1920x1200_60-U2410";

FieldsPerFrame          = 1;
FramesPerSecond         = 59.95;
TotalLinesPerFrame      = 1235;
TotalPixelsPerLine      = 2080;
ActiveLinesPerFrame     = 1200;
ActivePixelsPerLine     = 1920;

}
Active Line {
HorizontalBackPorch     = 80 pixels;
HorizontalSync          = 32 pixels;
HorizontalFrontPorch    = 48 pixels;
}
Field
{
Vertical Sync =
{
{
Length = 1.0H;
Low = 0.0 usec;
}
repeat 6
{
Length = 1.0H;
}
}
Initial Low;
Vertical Back Porch =
{
{
Length = 1.0H;
High = HorizontalSync;
}
repeat 24
{
Length = 1.0H;
Low = 0.0 usec;
High = HorizontalSync;
}
}
Initial High;
Active =
{
repeat 1200
{
Length = 1.0H;
Low = 0.0 usec;
High = HorizontalSync;
}
}
Vertical Front Porch =
{
repeat 3
{
Length = 1.0H;
Low = 0.0 usec;
High = HorizontalSync;
}
}
}
#if 0
postprocess
{
dump edge;
}
#endif
Cut and paste the source code into your favorite IRIX text editor and save the file as 1920x1200_60-U2410.vfs . *If* you're building a format for VPro graphics and want to use the command sting provided below, also place a copy of 1920x1200_60-U2410.vfs in usr/gfx/ucode/vfc/vfs/ .

You can build the format with:

Code: Select all

vfc -a ascii=1920x1200_60-U2410.info -c chip=/usr/gfx/ucode/vfc/rules/VPro_Chip.def,board=/usr/gfx/ucode/vfc/rules/VPro_Board.def -o 1920x1200_60-U2410.vfo /usr/gfx/ucode/vfc/vfs/1920x1200_60-U2410.vfs
Regardless of what your browser might think, that command string is a single contiguous line.

VFC will place the analysis ( 1920x1200_60-U2410.info ) and the complied format ( 1920x1200_60-U2410.vfo ) in the directory you were in when you ran the command (typically /usr/people/<insert your username>). If you want your newly created format to appear in xsetmon, place a copy of 1920x1200_60-U2410.vfo in /usr/gfx/ucode/ODSY/vof . Alternatively you could change your location to /usr/gfx/ucode/ODSY/vof *before* compiling the format. In either case though you'll need root-level privileges to copy or create a file in that location.

The - a ascii=1920x1200_60-U2410.info portion of the command line tells VFC to output an text analysis of the format. You can safely omit that portion of the command it if you prefer, but I find the results useful/interesting:

Code: Select all

1920x1200_60-U2410.vfo:
Total lines per frame:   1235
Total pixels per line:   2080
Active lines per frame:  1200
Active pixels per line:  1920
Frames per second:       59.9502
Fields per frame:        1
Swaps per frame:         1
Pixel clock:             154 MHz, period = 6.49351 nsec
Hardware pixel rounding:  every 1 pixels
Line analysis:
Length:                 2080 Pixels, 1 Lines, 13.5065 usec; (line 0)
Frequency:              74.0385 KHz, period = 13.5065 usec
Horizontal Sync:         32 Pixels, 207.792 nsec; (line 32)
Horizontal Back Porch:   80 Pixels, 519.481 nsec; (line 32)
Horizontal Active:       1920 Pixels, 12.4675 usec; (line 32)
Horizontal Front Porch:  48.0001 Pixels, 311.689 nsec; (line 32)
Field Information:
Field Duration:           2.5688e+06 Pixels, 1235 Lines, 16.6805 msec; (line 0)
Vertical Sync:            14560 Pixels, 7 Lines, 94.5455 usec; (line 0)
Vertical Sync Pulse:      14592 Pixels, 7.01538 Lines, 94.7532 usec; (line 0)
Vertical Back Porch:      52000 Pixels, 25 Lines, 337.662 usec; (line 7)
Vertical Active:          2.496e+06 Pixels, 1200 Lines, 16.2078 msec; (line 32)
Vertical Front Porch:     6240 Pixels, 3 Lines, 40.5195 usec; (line 1232)

You could do the same thing for pretty much any monitor. If you want to build a format for something besides VPro graphics, you'll need to change the 'chip' and 'board' definition files and related path statements to match your graphics hardware. The chip and board definition files VFC uses for other (supported) graphics hardware are located in /usr/gfx/ucode/vfc/rules .
***********************************************************************
Welcome to ARMLand - 0/0x0d00
running...(sherwood-root 0607201829)
* InfiniteReality/Reality Software, IRIX 6.5 Release *
***********************************************************************
Tanks for sharing it, recondas. My old 24" CRT is really losing its colors and I'll now have no excuses not to connect my fuel to the U2410.
:Onyx2: : oxygen / :A3504L: :A3504L: : neon (16xItanium2 1.6, L2 9MB) / :O200: :O200: : beryllium
:Fuel: : nitrogen / :Octane2: : carbon / :Octane: : fluorine
:O2: : hydrogen (R10k 195, 512Mo) / :O2: : sodium (R5k 180, 512Mo) / :O2: : R5k 180->200 motherboard and PM only
:Indigo2IMP: : helium (R10k 195, HighImpact, 160Mo) / :Indigo2IMP: : boron / :Indigo: : magnesium
:4D70G: 4D70GT : hydrogen, my very first one (now property of musée bolo and the foundation mémoires informatiques )
See the hinv/gfxinfo posts here .
Thanks, Just got around to doing the same on my V10 (which I had to install in place of V12).
Works flawlessly.
[click for links to hinv] JP: :Fuel: | :O2: | :Indy: || PL: [ :Fuel: :O2: :O2+: :Indy: ]