Nekochan Net

Official Chat Channel: #nekochan // irc.nekochan.net
It is currently Thu Nov 27, 2014 11:21 am

All times are UTC - 8 hours [ DST ]


Forum rules


Any posts concerning pirated software or offering to buy/sell/trade commercial software are subject to removal.



Post new topic Reply to topic  [ 1 post ] 
Author Message
Unread postPosted: Thu Nov 27, 2014 10:42 am 
Offline
Moderator
Moderator
User avatar

Joined: Sun Jun 06, 2004 5:55 pm
Posts: 5227
Location: NC - USA
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:
 /*
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:
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:
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 *
***********************************************************************


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 1 post ] 

All times are UTC - 8 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group