[Toc][Index]

[ModeInfo]


ModeInfo, together with the MonitorModeInfo section, defines mode 
capabilities of the PMI adapter. The complete list of all ModeInfo and 
MonitorModeInfo headers is available through a system-mode query function. 
The ModeInfo header specifies attributes that are not dependent on the 
type of display attached. Some of the fields are optional and, if not 
provided, are internally set to 0. Most fields are static; that is, they 
will not be modified at run-time and changed from their .PMI file values. 
However, Aperture address is a dynamic PMI keyvariable and is set by the 
caller to reflect the current value. All of the mode PMI keyvariables are 
field members of the VIDEOMODEINFO structure, a substructure of the 
VIDEO_ADAPTER. 
   *  ModeAttributes       = <constant> 
        -  Static PMI keyvariable. Required. 
        -  0x18 for color graphic modes, 0x08 for color text modes. 
        -  See VESA SVPMI Standard for full description. 
   *  BytesPerScanLine          = <constant> 
        -  Static PMI keyvariable. Required. 
        -  Length of logical scan line in bytes. 
        -  See VESA SVPMI Standard for full description. 
   *  XResolution          = <constant> 
        -  Static PMI keyvariable. Required. 
        -  Horizontal resolution in pixels or characters in graphics and 
           text modes, respectively. 
   *  YResolution          = <constant> 
        -  Static PMI keyvariable. Required. 
        -  Vertical resolution in pixels or characters in graphics and 
           text modes, respectively. 
   *  XCharSize       = <constant> 
        -  Static PMI keyvariable. Required in text modes. 
        -  Character cell width in pixels. 
   *  YCharSize       = <constant> 
        -  Static PMI keyvariable. Required in text modes. 
        -  Character cell height in pixels. 
   *  TextRows        = <constant> 
        -  Static PMI keyvariable. Required in both graphics and text 
           modes. 
        -  Number of text rows. 
   *  BitsPerPixel         = <constant> 
        -  Static PMI keyvariable. Required. 
        -  Color depth. 
   *  NumberOfPlanes       = <constant> 
        -  Static PMI keyvariable. Required. 
        -  [4|1] planar vs. linear memory organization. 
   *  PageLength      = <constant> 
        -  Static PMI keyvariable. Required. 
        -  Size of memory required to save a page of the on-screen VRAM. 
   *  SaveSize        = <constant> 
        -  Static PMI keyvariable. Required. 
        -  Size of memory required to save all of the on-screen VRAM. It 
           should be set to include at least the logical scanline width 
           (BytesPerScanLine*Yresolution). 
   *  Int10ModeSet         = <constant> 
        -  Static PMI keyvariable. Required if the same mode can be set 
           though BIOS. 
   *  ColorFormat          = <string> 
        -  Static PMI keyvariable. Optional. 
        -  User defined. 
        -  Zero-ended string. Required for hi-color and true-color modes. 
           Suggested definitions: 
           [ RGB | BGR | GBR | YUI ] 
           
        -  Not used internally; available to drivers through a mode query. 
           
        -  If not specified, zeros are returned. 
   *  ColorWeight          = <constant> ':' <constant> ':' <constant> 
        -  Static PMI keyvariable. Optional. 
        -  User defined. 
        -  Required for hi-color and true-color modes. 
        -  Not used internally; available to drivers through a mode query. 
           
        -  If not specified, zeros are returned. 
   *  BufferAddress        = <constant> 
        -  Dynamic PMI keyvariable. Required if direct VRAM access is 
           possible. 
        -  Represents the physical address of the video buffer. If direct 
           buffer access is possible, VIDEOPMI interpreter will copy VRAM 
           in chunks of ApertureSize or SaveSize, whichever is smaller. If 
           0, no direct buffer access is possible. 
      This PMI keyvariable is dynamic on all systems in which remapping of 
      the aperture is possible. In such cases, it should be assigned the 
      LinearWindowAddress value from the Hardware description. The SetMode 
      section should ensure that it programs hardware to reflect the 
      hardware's dynamic value. 
   *  ApertureSize         = <constant> 
        -  Static PMI keyvariable. Required if direct VRAM access is 
           possible. 
        -  Size of the aperture. If ApertureSize < SaveSize and 
           BufferAddress is not 0, SetBank and GetBank sections are 
           required. 
        -  Aperture size will not be modified, even if hardware does allow 
           for different sizes. 
   *  Colors. 
        -  Number of colors for this mode. 
 
 Here is a sample .PMI file for a 9GXE S3 card: 
 

 
 [comment]
      Graphics Mode: 1280 x 1024 x 256 colors.
 
 [ModeInfo]
      ModeAttributes   = 0x18
      BytesPerScanLine = 1280
      XResolution      = 1280
      YResolution      = 1024
      TextRows         = 64
      BitsPerPixel     = 8
      NumberOfPlanes   = 1
      PageLength       = 1310720
      SaveSize         = 1310720
      Int10ModeSet     = 0x107
      BufferAddress    = 0x000a0000
      ApertureSize     = 0x00010000
 
 
  
 

Created using Inf-PHP v.2 (c) 2003 Yuri Prokushev
Created using Inf-HTML v.0.9b (c) 1995 Peter Childs