 
 Runstream (R) XGA/XGA-2 XGA208 Windows 95/98 Display Driver
 Copyright (C) UnalZ, 2008 for Runstream & PS/2 MCABASE
 --------------------------------------------------------------
 XGA208 Final Release                         unalz@mail333.com
 
 
   This document complements the installation instructions
   and presents authentic test reports.

   The driver installation procedure is described in INSTALL.TXT.
  
   Driver updates and information at http://www.members.aon.at/mcabase
  
  
   CONTENTS

   1. Before You Start
        Multiple XGA/XGA-2 Adapters
        Display Problems
   2. Resolutions and Monitor Specs
   2. Test Reports


 1. BEFORE YOU START

   You need a MicroChannel machine with an XGA or XGA-2 display adapter
   and the Windows 95/98 operating system. 
   
   The XGA206/208 drivers are an UPDATE of the Windows XGA driver. You must
   have either the Windows 95/98 XGA driver or the XGA206 driver installed
   before you update it with XGA208.

   If you have not defined a monitor type or your monitor is unsupported,
   select a monitor which most closely matches your monitor'r resolution.
   Windows will hide XGA208 high resolution modes if the defined monitor
   does not support them.
   
   To differentiate between the Windows XGA driver and the XGA208
   driver, the installable display types have been defined as:

   "IBM XGA MCA"    = IBM XGA Display Adapter with the XGA208 driver.
   "IBM XGA-2 MCA"  = IBM XGA-2 Display Adapter with the XGA208 driver.

   The Windows XGA driver defines the XGA and XGA-2 display types
   as "IBM XGA" and "IBM XGA-2".
   

   MULTIPLE XGA/XGA-2 ADAPTERS
   
   If you have multiple XGA or XGA-2 adapters, only one adapter will be 
   supported and all other adapters are left enabled. The adapter selection
   rules are as follows:

    * Planar XGA-2 and one XGA/XGA-2 display adapter in an extension slot.
       
         The adapter in the extension slot is used.
       
    * Planar XGA-2 and multiple XGA/XGA-2 display adapters in extension slots.
    
         The adapter in the LOWEST numbered extension slot used.
         
    * Multiple XGA/XGA-2 display adapters in extension slots.
    
         The adapter in the LOWEST numbered extension slot will be used.


   DISPLAY PROBLEMS

   If you experience problems with your current display settings and are
   unable to change or restore them, start Windows in safe mode and apply
   the display mode changes:
   
        Reboot or restart Windows. 
        
        Upon seeing the line "Windows 95 is loading...." press F8. 
    
        Select option 3 from the menu, Safe mode. 
        
        Start the "Display" applet program. 
        
        Select the desired color depth or resolution.
        
        Restart Windows.
        
   You can use the described procedure to reinstall the XGA206 driver or 
   the Windows XGA driver.
   
   
 2. RESOLUTIONS AND MONITOR SPECS
   
   The XGA-2 Display Adapter is a highly programmable device. The extended
   graphics (XGA) video modes are programmed and not contained in the BIOS.
    
   The XGA208 driver uses monitor timings, or XGA display mode settings, which
   require assumed monitor specifications. EIZO FlexScan T56S was used as a
   reference monitor. All XGA208 display modes do not require any adjustment
   on the EIZO FlexScan T56S. Your monitor, however, may eventually need some
   adjustment. XGA208 does not implement the Display Mode Query and Set (DMQS)
   mode of operation.
 
   The following tables list the supported XGA208 display modes. Find the
   desired display resolution, color depth and compare the given line rate
   with the specification of your monitor. All display modes are non-interlaced
   unless noted as interlaced.
   
   
   XGA-2 Modes -----------------------------------------------------------
   Resolution  Number   Frame  Listed    Line    PEL     Video   Monitor
   Pixels      Colors   Hz     Hz**      kHz     MHz     Mode    Notes 
   -----------------------------------------------------------------------
   640x480      256     75      75       39.4    --      101     Multisync
   640x480    65536     75      75       39.4    --      111     Multisync
   640x480      256     72      72       37.9    --      101     Multisync
   640x480    65536     72      72       37.9    --      111     Multisync
   640x480      256     60      60       31.6    --      101     Multisync 
   640x480    65536     60      60       31.6    --      111     Multisync 
   
   680x510    65536     73.7    75       39.4    33.5    160     IBM 9515
   
   800x600       16     98.5   100       61.4    65      102     Multisync  
   800x600      256     98.5   100       61.4    65      103     Multisync  
   800x600       16     94.8    95       59.0    62      102     Multisync  
   800x600      256     94.8    95       59.0    62      103     Multisync  
   800x600       16     85.1    85       52.8    55.5    102     Multisync  
   800x600      256     85.1    85       52.8    55.5    103     Multisync  
   800x600       16     73.6    75       45.7    48*     102     Multisync  
   800x600      256     73.6    75       45.7    48*     103     Multisync  
   800x600    65536     73.6    75       45.7    48*     114     Multisync  
   800x600    65536     72.1    72       44.7    47*     114     Multisync  
   800x600    65536     69.0    70       42.8    45      114     Multisync  
   800x600    65536     63.5    60       39.4    39.5    114     Multisync
   
   832x620      256     99.4   100       64.2    70      162     Multisync
   832x620      256     95.2    95       61.5    67      162     Multisync
   832x620      256     85.2    85       55.0    60      162     Multisync
   832x620      256     75.3    75       48.6    53      162     Multisync
   832x620    65536     72.3    72       46.1    48*     163     Multisync
   832x620    65536     68.2    70       44.0    48*     163     Multisync
   832x620    65536     61.1    60       39.4    43      163     Multisync
   
   960x720      256     95.8    95       71.5    90      164     Multisync
   960x720      256     84.6    85       63.2    81      164     Multisync
   960x720      256     81.4    82       60.8    78      164     Multisync
   960x720      256     79.6    80       60.9    84      164     IBM 9515
   
   1024x768      16     84.6    85       67.2    90      104     Multisync
   1024x768     256     84.6    85       67.2    90      105     Multisync
   1024x768      16     75.0    75       61.1    86      104     IBM 9515 
   1024x768     256     75.0    75       61.1    86      105     IBM 9515 
   1024x768      16     70.0    70       56.5    75      104     Multisync
   1024x768     256     70.0    70       56.5    75      105     Multisync
   1024x768      16     60.0    60       48.4    65      104     Multisync
   1024x768     256     60.0    60       48.4    65      105     Multisync
   
   1040x768     256     83.1    85       66.0    90      165     Multisync
   1040x768     256     75.2    75       60.6    87      165     IBM 9515 
   
   1104x828     256     78.1    78       66.9    96*     166     Multisync 
   1104x828     256     75.6    75       64.8    93*     166     Multisync 
   1104x828     256     73.2    72       62.7    90      166     Multisync 

   1120x840     256     74.5    75       64.8    94*     167     Multisync
   1120x840		256     71.3    70       62.0    90      167     Multisync
   
   1160x870     256     69.7    70       62.7    94*     168     Multisync
   1160x870     256     66.7    65       60.0    90      168     Multisync

   1280x800     256     75.2    75       62.1    102*    169     WIDE Multisync
   
   1280x960      16     69.5    72       68.8    113     16A     Multisync
   1280x960      16     66.9    70       70.6    116     16A     Multisync
   
   1280x1024     16     67.9    75       71.6    120     106     Multisync
   1280x1024     16     67.0    70       70.6    120     106     IBM 6091
   1280x1024     16     63.4    65       66.9    112     106     Multisync
   1280x1024     16     53.1 I  60       58.1    106     106     IBM 9517
 	
   1360x1024     16     64.8    65       68.4    120     16B     Multisync
   1360x1024     16     60.5    60       63.8    112     16B     Multisync
   
   1440x900      16     67.0    70       62.4    116     16D     WIDE Multisync
   
   1440x1080     16     56.1    60       62.4    116     16C     Multisync
   
   1600x1200     16     50.5    50       62.4    128     16E     Multisync
   -----------------------------------------------------------------------
    I = Interlaced
    * = Uses high PEL rate. Some XGA-2 adapters may not be able to function
        without errors. Do not use the mode if you wish to strictly comply
        with the IBM specifications published in 1992. If your XGA-2 adapter
        can display 1600x1200 without a shadow cursor or other artifacts,
        it has a high quality chipset.
   ** = The refresh rate value which is listed in the Display Applet.
        

   XGA Modes -------------------------------------------------------------
   Resolution  Number   Frame  Listed    Line    PEL     Video   Monitor
   Pixels      Colors   Hz     Hz**      kHz     MHz     Mode    Notes 
   -----------------------------------------------------------------------
   640x480      256     64.7    65       31.8    25.25   101     Multisync
   640x480    65536     64.7    65       31.8    25.25   111     Multisync
      
   800x600*      16     70.0    70       43.2    45      102     Multisync  
   800x600*     256     70.0    70       43.2    45      103     Multisync  
   800x600*   65536     70.0    70       43.2    90      114     Multisync  
   
   832x620*     256     64.4    65       41.3    45      162     Multisync
   832x620*   65536     64.4    65       41.3    90      163     Multisync
   
   960x720*     256     50.0 I  50       37.4    45      164     Multisync
   
   1024x768      16     44.7 I  45       35.5    45      104     Multisync
   1024x768     256     44.7 I  45       35.5    45      105     Multisync
   -----------------------------------------------------------------------
    I = Interlaced
    * = Introduced for the first time with the XGA208 display driver. These
        modes are not listed in the IBM technical specifications. Also, the
        IBM specifications list 65536 colors only for the 640x480 resolution.
   ** = The refresh rate value which is listed in the Display Applet.
        
   
   
  4. TEST REPORTS
    
   This section contains selected excerpts from the message exchanges in the
   COMP.SYS.IBM.PS2.HARDWARE newsgroup during the development and testing phase
   of the XGA208 display driver.


   UNALZ (January 16, 2008)

   I created a new custom hi-color video mode for XGA-2, patched the XGA206
   driver and successfully finished minutes ago the first tests. IT WORKS !!!
   
   XGA208 should be soon available featuring the new mode 832x624 with 8 and 16
   bpp at 72 Hz refresh (45 MHz PEL rate and 46.5 kHz line rate).
   
   The resolution increase is minimal, 4% over 800x600 but that is the best
   direct color mode you can get with 1M video memory on the XGA-2.
   
   I had to adjust my Eizo T56S for the new line rate, but the line rate can be
   changed a bit. I would like to see if I can push the card to 75 Hz at
   832x624.
   

   UNALZ (January 17, 2008)

   This evening I managed to overclock the XGA-2 to 96 MHz PEL rate.
   It worked and I could  produce 77 Hz and 78 Hz refresh rates for the new
   mode 832x624. I let the test machine (Mod. 77) run for an hour or so with
   the XGA-2 at the overclocked PEL rate, nothing burned. A trial with 100 MHz
   failed, the card produced no output.
   
   I am quite confident that 800x600 can be brought to 80 Hz refresh, now that
   I really better know the timing dependencies, it is much easier to change a
   setting and test.
   
   The two most important mode values are Horizontal Total (HT) and Vertical
   Total (VT), and accordingly the programmable PEL clock setting. With the
   first two values you can derive all mode/resolution settings.
   
   Horizontal Total = ROUND(PEL-Rate MHz / Line-Rate kHz / 8) - 1
   Vertical Total = ROUND(Line-Rate kHz / Frame-Rate Hz) - 1
   
   For 16-bpp modes use the halved PEL rate. The Line Rate specifies the number
   of horizontal lines per second the card can produce. Both HT and VT should
   contain a sync margin (this is the non-display area containing the border
   and horiz/vert sync pulse signals).
   
   Display mode 832x624
   Active picture area:
       Horiz = 832 / 8 = 104 PELs
       Vert = 624 scanlines
   Desired PEL rate
       45 MHz for 16-bpp
   Desired Line rate
       46.5 kHz
   
   HT = 121 = ROUND(45 MHz / 46.5 kHz / 8 )
   VT = 646 = ROUND(46.5 kHz / 72 Hz)
   
   HT margin: 121 - 104 = 17 PELs
   VT margin: 646 - 624 = 22 scanlines
   
   These margins are very very important.
   
   > Test coming up. Is there anything on the NT front for XGA-2?
   
   NT is for now suspended, not cancelled, but there is enough to test on W9x.
   
   
   WILLIAM R. WALSH (January 17, 2008)
   
   I would be very interested in knowing that the limitations of the more
   common white chips in both the heatsink and non-heatsink versions. I've only
   ever seen erratic behavior from one white RAMDAC that had a heatsink on it.
   When I took it to 1024x768 at 75Hz vertical refresh, the pixels became
   obviously unstable.
   
   I have my doubts that the RAMDAC could be permanently damaged by driving it
   past the published limits...it seems that no matter what mode the XGA-2 is
   running in, the temperature of the RAMDAC itself remains fairly constant.
   
   I am looking forward to testing this new mode and will give a full report.
   
   
   UNALZ (January 18, 2008)

   XGA208 or XGA206 Release 2008 for Windows 95/98/98SE adds a support for the
   832x624 custom mode with 8/16-bpp at 72/75 Hz frame rates. This mode is also
   available as a VESA mode to DOS applications under the redefined VESA modes
   112h (832x624 8-bpp) and 113h (832x624 16-bpp).
   
   Jan 18, 2008: www.members.aon.at/mcabase/pub/files/xga208.zip
   
   832x624   72 Hz   46.5 kHz    45 MHz PEL
   832x624   75 Hz   49.1 kHz    48 MHz PEL
   
   75 Hz were achieved with slightly overclocking the card to 96 MHz PEL rate
   which is beyond the recommended 90 MHz. Use this mode at you own risk.
   Tests so far have indicated no any malfunction of the XGA-2.
   
   Your XGA-2 monitor must support line rates of 46.5 kHz for 72 Hz resp. 49.1
   kHz for 75 Hz 832x624 viewing pleasure.
   
   As before, your eventual test reports will be appended to the history of the
   driver.
   
   > To be precise, the 45/48 MHz above are the 16-bit PEL rates. In terms of
   > 8-bit PELs (the unit of calculation) the PEL rate becomes 90/96 MHz.
   
   
   WILLIAM R. WALSH (January 20, 2008)
   
   Here is your first (public) test report. I set the new driver up on
   "Defiant", a 9585-0XF. The XGA-2 in this system has a "whitecap" RAMDAC with
   no heatsink.
   
   The short story is that it works. My monitor claims a vertical refresh rate
   of 76Hz instead of 75Hz. I selected 75. So far I have no noticed instability
   from the XGA-2. The video image is very stable at both 8 and 16 bit color
   depths.
   
   I had no problems during installation of the driver. I followed your
   published instructions and it simply dropped into place immediately.
 

   JIM SHORNEY (January 21, 2008)
   
   Installation went without incident on the same Bermuda 77 platform as 
   used for previous tests. Indeed, this computer likely has not been 
   powered since the last round of testing. My Viewsonic VE170 flat panel 
   did not like the new mode, but that was to be expected; flat panels are 
   notoriously narrow-minded. I could not bring the horizontal size down to 
   fit the monior @75 Hz.
   
   A Sony 100GS Trinitron fared better, I was able to get a very reasonable 
   picture with only slight nonlinearity at the edges @75 Hz. Screen paints 
   in the AfterDark slideshow are quite snappy and look very nice. No sign 
   of instability yet with the heatsinked XGA-2.
   
   > The mode must perform reasonably and equally well on a wide range of
   > monitors, so it is very important to have tests with different monitors.
   
   I was not able to get a clean edge-to-edge image on the Sony. I had to 
   back adjustments off so there was a little black space around the image. 
   Not a big concern for me, I'm from the generation that still considers 
   edge-to-edge to be something of a novelty.

   Heatsink temperature is 50.3 C (measured) after several minutes of 
   operation. The cover is off the unit, so cooling is probably not optimal
   
   > I let the XGA-2 in Mod. 77 run for about 6 hours, no any problems.
   
   
   UNALZ (January 21, 2008)
   
   Added support for 832x624 at 60 Hz and lowered the line rate of the 75 Hz.
   
   Jan 21, 2008: www.members.aon.at/mcabase/pub/files/xga208b.zip
   
   832x624   60 Hz   39.3 kHz    41 MHz PEL
   832x624   72 Hz   46.5 kHz    45 MHz PEL
   832x624   75 Hz   48.5 kHz    48 MHz PEL
   
   
   UNALZ (January 23, 2008)
   
   I went this evening the software way of tweaking, First, I simply used the
   1024x768 timings of the IBM 9515 monitor but limited the active picture area
   to 832x624. Surprisingly, I got a really nice 832x624 image in the 1024x768
   display space, 61.0 kHz / 75.6 H, with two large black stripes on the top
   and on the right of the image. I used the 1024x768 clock.
   
   For the second tests I based the timings on my 74.8 Hz mode and tried
   different values for the PEL rate and the horizontal timings until I got
   them right. Now I have a horizontally nicely centered image, but the
   vertical timings must be still tweaked. I have two black strips, about an
   inch, on top and below the image. With 61.0 kHz line rate I achieved  93 Hz
   (!) frame rate with 66 MHz PEL rate for 832x624 at 8-bpp. I will continue
   the tweaks in the next days and I hope to reduce the vertical black strips.
   
   
   UNALZ (January 27, 2008)
      
   I found out why IBM 9515 prefers to works with the XGA-2. It is the polarity
   as defined on pp. 3-72 "Display Control 1 Register (Index 50)". Moreover,
   once you set a polarity, the monitor expects about the same number of lines
   as defined by the table below. The polarity is also tied to the line rate:
   for 39.4 kHz it is (11, 10, 01 or 480, 350, 400 lines), for 61.1 kHz it is
   (00 or 768 lines).
   
   SP The SYNC Polarity field (bits 7, 6) value is assigned as shown in the
   following figure (Figure 3-73):
   
   SP Field        Vertical Horizontal Lines
   0 0     + +     768    (Ed: 61.1 kHz)
   0 1     + -     400    (Ed: 39.4 kHz)
   1 0     - +     350    (Ed: 39.4 kHz)
   1 1     - -     480    (Ed: 39.4 kHz)
   
   
   832x624 showed up after I set the polarity to 11 (-- or 480 lines) and used
   the 39.4 kHz VGA line rate . Due to the larger number of lines, 624 vs. 480,
   the picture overflows vertically, i.e. the top and bottom are beyond the
   screen. All other non-XGA2-wired monitors work with the 00 (++ or 768 lines)
   polarity in the 800x600 resp. 832x624 modes.
   
   With the 11 (-- or 480 lines) polarity and 39.4 kHz line rate, the monitor
   is tuned to 480 lines. With the 00 (++ or 768 lines) polarity and 39.4 kHz
   line rate, the monitor is matched to 768 lines. The width the line
   (horizontal res) does not matter, the max should be about 1040 pixels or a
   bit more.
   
   So, what to do? To stay with 768 lines and 75 Hz, I used a tilted mode of
   672x768 with 56 MHz PEL rate and 8-bpp (no 16-bpp with 56 MHz) and kept the
   4:3 internal aspect ratio (must be reversed to 3:4). 672x768 came up
   beautifully, produced elongated fonts with that particular OS/2 PM feeling.
   I added 16 pixels more, for 688x768, not much of an improvement.
   
   Next to test was 720x540 falling between 640x480 and 800x600. This time I
   used the VGA polarity (-- or 480 lines) with 39.4 kHz line rate. Varying the
   number of blanked lines, I managed to vertically fit the picture, somehow
   better with slight corrections in 728x536. 16-bpp will be possible here, the
   PEL rate is sufficiently low. However, with the VGA line rate and polarity
   set, the XGA-2 seemed to be acting slower than with the 768 polarity and
   61.1 kHz.
   
   For my taste, 672x768 looks nice though elongated. I may try wider lines and
   I want to see how 960x720 is like. The 9515 is a 15" monitor and 1024x768 is
   not so well readable with small fonts.
   

   UNALZ (February 2, 2008)
   
   The alternative turns out to be a medium super VGA at 680x510 @70 Hz (39.4
   kHz, PEL = 33.5 MHz), a resolution in the proximity of 700x500. Vertically,
   it completely fills the screen, from the top to the bottom; horizontally, it
   is bordered and centered. Looks good this cross breed of a VGA and a super
   VGA, 8-bpp and 16-bpp are possible
   
   The high res alternative is 960x720 @80 Hz on 60.9 kHz, it fits perfectly
   well the screen with slightly larger borders. The fonts are slightly larger,
   the mode is definitely preferable over the 1024x768 resolution. Only 8-bpp
   are possible, the higher line rate requires a higher PEL rate, 84 MHz (the
   native 1024x768 uses 86 MHz).
   
   Both 680x510 @70 Hz and 960x720 @80 Hz can be integrated in the driver. A
   good multisync monitor will allow to adjust the screen, the timings are
   adapted to a centered screen on the 9515 monitor.
   
   Further came 720x540, 728x536 and 696x522. While they do not fit well the
   9515 (overflows!), they are suitable for smaller monitors. 8-bpp and 16-bpp
   are possible, all at 70 to 75 Hz on 39.4 kHz with PEL rates less than 40 MHz.


   UNALZ (February 7, 2008)
   
   At 832x624, 1% of the display buffer remains unused. These 10 KB are used to
   store some data in the offscreen (unused) video  memory,
   
   The bit block transfer (BLT, the brush is such a block), needs 8 lines but
   only 6 are free. The brush is copied to a rectangular region in offscreen
   memory. I reduced the lines to 620 (832x620) and all problems disappeared.

   I can announce it now, we have now 85 Hz and 100 Hz refresh rates for the
   800x600 and 832x620 resolutions with 256 colors. They require a higher line
   rate, some 64 kHz (100 Hz) and 54 kHz (85 Hz), which may not be supported by
   some older monitors.
   
   For 832x620 8-bit 256 colors, I performed more tests:
   
   1. The display is stable at exactly 99.4 Hz. These timings will be used.
   
   2. At 100.9 Hz thin sprite (cursor) traces occasionally appear as the
   mouse is quickly moved. 100.9 Hz is a difference of 1 MHz PEL over 99.4 Hz.
   
   3. At 110 Hz the sprite (hardware cursor) doubles, i.e. as if there were
   two cursors moving in tandem, color defects appear on bitmap lines.
   
   4. At 120 Hz there was no video.
   
   5. The theoretical XGA-2 maximum for 832x620 is 130 Hz, not tested.
   
   Another fix, the black screen on W9x shutdown to DOS has been eliminated.
   

   UNALZ (February 15, 2008)
   
   I added 1040x768 (1040, in addition to 1024), it works flawlessly on the
   IBM 9515 monitor.  Note that both W9x and PSREF (mwbook1.pdf) specify the
   max resolution as 1024x768. In this resolution, the right black border is
   a bit larger than the left border, but at 1040x768 both borders are equally
   large. This also means that the monitor works well at 60.8 kHz or so,
   not only at the specified 61.1 kHz.
   
 
   UNALZ (February 17, 2008)
   
   Another major fix:
   
   4-bpp coprocessor operations enabled for the 16 colors modes - 800x600,
   1024x768 and 1280x1024.
   
   We have now a fast, coprocessor-supported 1280x1024 mode and it should be
   possible to recalculate it to non-interlaced for an LCD. 16 colors are good
   enough for text based work.
   
   
   UNALZ (February 18, 2008)
   
   Recalculation resulted in the following numbers, which must be tested and
   verified, I have already created the mode timings, all *non-interlaced*:
   
   120 MHz / 74.2 kHz / 4 bpp 70 / 1280x1024 (VESA mode, 106h)
   126 MHz / 74.2 kHz / 4 bpp 70 / 1360x1024
   120 MHz / 74.2 kHz / 4 bpp 75 / 1280x960
    91 MHz / 64.3 kHz / 8 bpp 75 / 1104x828
   
   A word to the 120/126 MHz PEL rates: Just as the 16-bpp halved the rate, the
   4-bpp doubles the rate. Therefore, the effective 8-bit dot rate is 60/63 MHz
   with a PEL rate of 120/126 MHz. For the techref, the max rate in the 4-bpp
   case is 128 MHz, it is the highest given programmable number.
      
   While speaking only for this monitor, Eizo T56S, the new monitors are faster
   than the older monitors. I observed that on the IBM 9515 which needs quite
   "long" lines (extra spacing) and demands to be warmed up before switching
   from XGA hi-res mode to DOS text mode (or but that is simply the age, the
   idle time, the capacitors drying up?).
   
   With faster monitors, higher line rates and "shorter" lines are possible,
   that allows the refresh rate to be increased. Remember that the XGA-2
   timings (DMQS files) are by now some 14 years old, it is time to update them
   for the better monitors.
   
   I also revised the existing XGA206 settings and converted them to
   "unadjusted", i.e. they do not need any adjustment on the Eizo T56S,
   however, they might need to be adjusted on other monitors
   
   
   UNALZ (February 19, 2008)
   
   This card is alive more than before, and I did not push either the PEL or
   the line rate too high. Amazing what you can get out of it, this evening I
   am indeed happy with the work:
   
   70 Hz non-interlaced for 1280x1024 and 74 Hz non-interlaced for 1280x960 is
   the result, here the impemented, tested and verified numbers:
   
   1280x1024 4-bpp
       121 MHz PEL / 73.6 kHz line / 70.1 Hz
       113 MHz PEL / 68.8 kHz line / 65.4 Hz
       106 MHz PEL / 58.1 kHz line / 53.1 Hz Interlaced (IBM 9517 timings)
   
   1280x960 4-bpp
       121 MHz PEL / 73.6 kHz line / 73.9 Hz
       113 MHz PEL / 68.8 kHz line / 69.0 Hz
   
   Two more modes will follow.
   
   
   UNALZ (February 20, 2008)
   
   Here are the last two (for now), both modes are non-interlaced:
   
   1104x828 8-bpp 256 colors
       96 Mhz PEL / 66.9 kHz line / 78.1 Hz
       93 Mhz PEL / 64.8 kHz line / 75.6 Hz
       90 Mhz PEL / 62.7 kHz line / 73.2 Hz
   
   1360x1024 4-bpp 16 colors
       118 Mhz PEL / 67.8 kHz line / 63.9 Hz
       111 Mhz PEL / 63.8 kHz line / 60.1 Hz
   
   I chose these modes because they were contained in the DMQS files. XGA208
   covers now all DMQS modes.
   
   My experiments showed that the PEL rate is rather sensitive to the total
   pixel volume. The PEL rate can be safely overdriven at lower volume rates,
   e.g. 832x620 or 1104x828, but 1360x1024 was not stable at 120 Mhz which is
   below the possible 128 Mhz for the 4-bpp case. The test started good but
   doubled after a few minutes the sprite, a clear sign to reduce the PEL rate.
   The only problem I observed was the sprite (hardware cursor), everything
   else was stable.
   
   I must correct a previous statement of mine, I thought I was testing with
   the blue XGA-2 but it was the classic heatsinked XGA-2. I saw it as I
   inserted a second XGA-2 in the machine. The driver now does not disable
   other XGA cards. The XGA/XGA-2 in the lowest slot is selected as the
   "master" card.
   
   The combination of two or more cards will be an interesting subject for
   other experiments. I wonder if the XGA-2 designers thought and provided
   facilities for joining the display buffers, so that a virtual composite
   display operating on two or more monitors is created. The card operates
   internally with a guard band, that is, pixel operations can overflow with no
   ill effect: "The guardband allows the destination X and Y addresses to range
   (-2048 to 6143)." (see trm3.pdf, pp, 3-100).
   
   
   UNALZ (February 21, 2008)
   
   > Would it drive a 6091? (Jim Shorney)
   
   Yes, it would. (30 minutes later)  We can dance. The Tool pointed me to the
   6091 parameters. In terms of the line frequency more resolutions are
   possible.
   
   Feb 21, 2008: www.members.aon.at/mcabase/pub/files/xga208bc.zip
   
   I prepared a preliminary C-release, named BC, so you can test your 6091.
   Support is enabled for 60 Hz @ 63.35 kHz and 67 Hz @ 70.75 kHz. Select 60 or
   65 Hz frame rate when you install the driver. Two utlities are also
   provided, V132 switches to 132-column mode (in an on/off fashion), XGA2
   dumps system info.
   
   Verify that the installed monitor file enables the desired max resolution,
   or else Windows may hide the hi-res modes. All other so far reported modes
   can be also tested. To do this, select a suitable monitor, or one supporting
   1600x1200. The file XGA208MON.TXT lists the modes and the parameters.
   
   You may also try 960x720 @ 85 Hz, the line rate, 63.2 kHz, is close enough.
   Look also at other modes and line rates close to those of 6091.
   
   For 6091, I used the timings below. "1280 1306 1506 1760" are the horizontal
   timings given in pixels. XGA-2 requires them in lines, divide by 8 to obtain
   the value in lines (e.g. 1280/8 = 160, decrement and set to 159). 1306 is
   where HSync starts, 1506 where HSync ends, 1760 is HTotal (so my guess).
   Similarly for the vertical parameters, "1024 1027 1030 1056". 1027 is where
   VSync starts, 1030 where VSync ends, and 1056 is VTotal.
   
   For 70.75 kHz we have then 70750 kHz/1056 lines = 66.99 Hz, this required
   120 Mhz PEL rate. For 60 Hz 63.35 kHz the PEL rate giving the exact number
   of lines could not be matched, so I set it to 111 Mhz (would require 111.5
   Mhz or so, but the step must be 1).
   
   Please test 6091 with the updated CC-version:
   
   Feb 22, 2008: www.members.aon.at/mcabase/pub/files/xga208cc.zip
   
   1280x1024 is currently modified to test the IBM 6091-109 monitor. The mode
   timings specific to IBM 6091 are identifiable through the refresh rate,
   60/65/75:
   
       60 Hz: Mode 1 at 63.36 kHz @ 60 Hz
       65 Hz: Mode 3 at 70.75 kHz @ 67 Hz Sync on Green  !!!!!!
       75 Hz: Mode 3 at 70.75 kHz @ 67 Hz Separate Sync  **** DEFAULT
   
   The 70 Hz setting selects the mode timings applicable to the usual multisync
   monitors.
   
   
   UNALZ (February 22, 2008)
   
   A short lesson in PEL arithmetics:
   
   Louis (Ohland) has this table in the Tool which allowed me to calculate
   the 6091 parameters as required by the XGA-2. The card operates with PELs
   (dots) and lines, therefore it was necessary to convert the H-timings
   (horizontal) to dots. Correct me if I am wrong, or add comments, I arrived
   at this method purely by a process of trial and error.
   
   Let us select Modes 1 and 2 and see how the calculations are done. Note that
   the timings are equal but the line rates differ. The reason will become
   clear at the end of the lesson:
   
   6019-019 Modes
                        Sync on     Sync on     Sync on     Separate
                        Green       Green       Green       Sync
                          1           2          3            3
   H Line Frequency     63.36kHz    63.63kHz   70.75kHz     70.75kHz
   
   H Active time        11.478us   11.478us    10.6667us    10.6667us
   H Sync Width         1.794us     1.794us     1.3333us     1.3333us
   H Front porch        0.235us     0.235us     0.2667us     0.1333us
   H Back porch         2.275us     2.275us     1.8667us     2.000us
   
   
   Follow these steps, the working resolution is 1280x1024:
   
   1. Divide the given H-Resolution (1280), by 8 to obtain the number of dots
   
   HDE (horizontal display enable)
   = H-Resolution / 8
   = 1280 / 8
   = 160 dots
   
   2. Divide 'H Active time' by the HDE to obtain the Dot time
   
   Dot time
   = H Active time / HDE
   = 11.478 / 160
   = 0.07174 us
   
   3. Add all timings
   
   HT  (horizontal total, time)
   = H Active time + H Sync Width + H Front porch + H Back porch
   = 11.478 + 1.794 + 0.235 + 2.275
   = 15.782 us
   
   4. Divide HT by the Dot time (obtained in step 2) and round the result
   
   HT / Dot time
   = 15.782 / 0.07174
   = 219.9
   = 220 dots
   
   5. Divide H Sync Width by the Dot time and round the result
   
   H Sync Width / Dot time
   = 1.794 / 0.07174
   = 25 dots
   
   6. Divide H Front porch by the Dot time and round the result
   
   H Front porch / Dot time
   =  0.235 / 0.07174
   = 3.27
   = 3 dots
   
   7. Add H Front porch to HDE (horizontal display enable) to obtain HSPS
   (horizontal sync pulse start):
   
   HSPS
   = HDE + H Front porch
   = 160 +3
   = 163
   
   8. Divide H Back porch by the Dot time and round the result
   
   H Back porch / Dot time
   = 2.275 / 0.07174
   = 31.7
   = 32
   
   9. Subtract H Back porch from HT (horizontal total) to obtain HSPE
   (horizontal sync pulse end), or add H Sync Width to HSPS (horizontal sync
   pulse start). Compare both values, they should be equal.
   
   HSPE
   = HT - H Back porch
   = 220 - 32
   = 188
   
   or
   
   HSPE
   = HSPS + H Sync Width
   = 163 + 25
   = 188
   
   10. For XGA-2, decrement all calculated values
   
   HT     = 219 = 220 - 1
   HDE   = 159 = 160 - 1
   HSPS = 162 = 163 - 1
   HSPE = 187 = 188 - 1
   
   11. For X11, multiply all calculated values by 8
   
   HT     = 1760 = 220 * 8
   HDE   = 1280 = 160 * 8
   HSPS = 1304 = 163 * 8
   HSPE = 1504 = 188 * 8
   
   
   12. Calculate the necessary PEL rate, round the result, decrement for XGA-2
   (Note: for these timings, the necesary PEL rate is 111.5 Mhz which cannot be
   set on the XGA-2, hence, the two different line rates, 63.36 kHz and 63.63
   kHz).
   
   HT (for 63.36 kHz)
   = PEL rate / line rate / 8
   = 112 000 / 63.36 / 8
   = 220.96
   = 221  - 1
   = 220 (failed, not equal to HT)
   
   or
   
   HT (for 63.63 kHz)
   = PEL rate / line rate / 8
   = 112 000 / 63.63 / 8
   = 220.02
   = 220 - 1
   = 219 (success, equals to HT)
   
   The PEL rate will be then 112 Mhz for a line rate of 63.63 kHz. That is all.
   
   
   > Are you saying that the XGA-2 supports sync-on-green? Wow...I had no
   > idea! (William R. Walsh)
   
   The only difference are two sync parameters (see the 6091 page in the Tool),
   but inexplicably the picture differed too. The separate sync mode produced a
   darker but crispier display. I test both modes on the VGA input of the
   monitor, it has also separate BNC inputs. Both work with the XGA-2.
   
   
   UNALZ (February 23, 2008)
   
   > Oh man, this is gonna hurt. (Jim Shorney) 
   
   Well, you get what you asked for, but take your time. I am not in a hurry, I
   will be busy calculating more hires modes. XGA-2 has a setting to blank out
   the Red and Blue DAC outputs, that means, auto-support for monochrome
   monitors. Anyone with a true monochrome monitor to test? I got all shades of
   green on my color monitor, a truly Martian experience. Even plain DOS turned
   Martian.
   
   6019-019: 1280x1024
   
   Mode 1 6019-019 (60 Hz) ** TEST ** (may not sync up well)
   Mode 2 6019-019 (60 Hz) ** TEST ** (should work)
   Mode 3 6019-019 (67 Hz) ** TEST Sync Green ** (may not work)
   Mode 3 6019-019 (67 Hz) ** TEST Separate Sync ** (should work)
   
   6091-19i:  1280x1024
   
   Mode 1 6091-19i (60 Hz) ** TEST **
   Mode 2 6091-19i (60 Hz) ** TEST **
   Mode 3 6091-19i (77 Hz) cannot be supported, a too high line rate.
   Mode 4 6091-19i  (120 Hz) looks interlaced, will not be supported.
      
   All other modes were reworked for "unadjusted", should be also tested.
   Please check the monitor timings table, see the included XGA208MON.TXT.
   
   
   > I'm probably going to regret this ... :) I've got a couple of the small
   > IBM paper-white VGA, 8504-021. Bought them in unused condition at an
   > auction years ago. They seem to support only the most basic mode set. I
   > could stack one of those without too much hazard. (Jim Shorney)
   
   The easiest way is a small utility switching between the mono/color display
   modes, without a special (mono) driver version. I need only to assemble a
   few procedures from the existing utilities and add the DAC lines.
   
   The utility will enable a green DOS prompt when in DOS with a color display,
   also everything else will appear in green or in shades of green. The green
   command line mode is pretty enjoyable, I liked it, and I am going to use it.
   
   The setting is sticky, it remains until a soft or hard reset. The driver
   currently ignores it and when the display is set to mono with the utility,
   the driver will appear to work in a mono mode. I have not tested it yet, but
   it must work from within DOS. Get the XGA-2 video I/O address and set a bit
   in the Miscellaneous Control Reg (index 6Ch). Not supported on the XGA.
   
   There are also some more things to explore in the Mainframe Interactive Mode
   (MFI).

   
   UNALZ (February 25, 2008)

   Feb 25, 2008: www.members.aon.at/mcabase/pub/files/xga2util.zip
   
   Contains two DOS program files, run with -h for help on options. I tested
   both on Mod. 77, both switch the display to mono, also on W9x. This allows
   us not to install a mono W9x driver version but to test the mono mode with
   these little programs.
   
   XGA2MONO.EXE
   
   Works in an on/off fashion: color to mono /  mono to color. In a system with
   multiple XGA-2s, it will select the XGA-2 in the lowest numbered slot
   amongst the slots which contain an XGA-2 card. Run with the option -i for
   basic XGA-2 POS information.
   
   XGA2.EXE
   
   System/Video/XGA info tool with options to set the 132-column XGA mode and
   switch the display to mono. Beside the sysinfo part, it also contains V132
   and XGA2MONO which are separately available. The options to set the
   132-column mode (132) and to switch the display to mono (mono) can be
   combined with the sysinfo options but must be always given as the second
   option. Run without options to restore the 80-column color text mode.
   
    -s     Print complete system information
    -v     Print video subsystem information
    -x     Print XGA subsystem information
   132     Set 132-column XGA alphanumeric video mode 14h
   mono    Set XGA-2 to monochrome display mode
   [no option]    Restore 80-column color alphanumeric video mode
   
   Example: "xga2 -s mono > mod77"  will print complete system info, switch to
   mono and write the output to the file "mod77".
   
   
   UNALZ (February 26, 2008)
   
   XGA-2 stands for eXtreme Graphics HiresmaniA with a PS/2.
   
   It shows the following symptoms in XGA208 (* = new):
   
   16 colors, 4-bpp:
       * 1440x1080
       * 1440x900  (wide screen!)
       * 1360x1024
       * 1280x1024
       * 1280x960
       * 1280x800  (wide screen!)
       1024x768
       800x600
   
   256 colors, 8-bpp:
       * 1160x870
       * 1120x840
       * 1104x828
       * 1040x768
       1024x768
       * 960x720
       * 832x620
       800x600
       * 680x510
       640x480
   
   64K colors, 16-bpp:
       * 832x620
       800x600
       * 680x510
       640x480
   
   
   UNALZ (February 27, 2008)
  
   Added 1600x1200 @ 50.7 Hz for (LCD monitors), made possible by the full 128
   MHz PEL rate. Works flawlessly, without sprite problems. However, apparently
   only on "selected" XGA-2 cards. Only one out of these three cards passed the
   test:
   
   - The blue chip XGA-2 failed badly (font color in the display properties
   turned blue when the mode was changed to 1600x1200, the sprite doubled).
   
   - The dark brown PCB with a FRU number on it failed too, though it preserved
   the font color but it kept the double sprite.
   
   - The green PCB without a FRU number performed best, without any problems.
   Amazing, this card seems to be the earliest (mid 1992) of all three.
   
   We have a mistery to solve here.
   
   
   UNALZ (February 28, 2008)
   
   XGA208 Beta C-Release
   
   Enables coprocessor support for graphics operations at 16-colors (4-bpp) and
   supports higher resolutions up to 1600x1200. Currently, only W9x.
   
   2008/02/28: www.members.aon.at/mcabase/pub/files/xga208c.zip
   
   See the enclosed XGA208MON.TXT for information on monitor line rates,
   refresh rates and supported resolutions. See INSTALL.TXT for installation
   instructions.
   
   Apparenty, we will need some time to collect and discuss the test reports.
   This is the reason for not including now the README in the package, I will
   include it at a later time. Since all modes have been reworked, I am mostly
   interested if and how much you had to adjust your monitor.
   
   If you select Mouse Trails or Color Cursor (W98SE), the hardware cursor will
   be disabled. You can test 1600x1200 with or without a hardware cursor, also
   do so with all other resolutions.
   
   The XGA-2 utilities are here:
   
   www.members.aon.at/mcabase/pub/files/xga2util.zip
   
   
   UNALZ (March 9, 2008)
   
   Jim (Shorney), I would like to know how the IBM 6019/6091 performs.
   From the rest of the LCD-equipped gang, I would like to hear how well
   the hi-res modes work.
   
   Meanwhile, I reworked the color pattern (the hatched brush) handling
   algorithm and fixed a dirty bug coming from the original M$ code. The bug
   may not show up in the M$ XGA driver, it comes up in a certain situation in
   the presence of more modes and color depths which was not the case with M$
   but well the case with XGA206. Steps to reproduce with XGA206 and with the
   C-release of XGA208 (the upcoming D-release fixes it):
   
   (1) Select a 256 color mode
   (2) Select a pattern for the desktop background
   (3) Open the Display Applet, select the Settings tab
   (4) Drag the Display Applet to another position
   (5) Bug: the background pattern is corrupted.
   (6) To confirm, open Paint and double click on a color; you should see
       corrupted patterns in the dithered colors.
   (7) To fix the colors, move the resolution slider in the Display Applet and
       bring it back to the original resolution, then click on OK.
   
   This bug is due to the use of a global variable (scanline width) which
   changed its value when Display/Settings was run: the driver is requested to
   validate the modes but neglects to save the original value of the variable.
   This value is used in the color pattern PixBLT when the patern is copied to
   a rectangular offscreen area. Two lines of code, the push-pop pair fixed it
   but it took much longer to figure and find out where the bug really was.
   
   As to the new color pattern (hatched brush) handling algorithm, it was a
   challenge. The problem is that, given a pattern, say 8x8 pixels, and an
   arbitrary destinaton rectangle, you cannot directly fill the rectangle with
   the pattern, you must align the source pattern with the destination.
   
   Think about the problem first, I will post the solution later (hint: M$
   needs 16 lines for the pattern alignment, XGA208 only 8).
   
   
   JIM SHORNEY (March 12, 2008)
   
   > XGA208 Beta D-Release
   
   Sony Multiscan 100GS CRT (Trinitron) reset to defaults (no adjustment).
   
   > That is how the test should start. Jim, big thank you for the detailed
   > report, the results match approximately what I see on my monitor. I
   > intentionally left some room for eventual adjustments and monitor
   > differences
   
   640x480
   60 Hz - 3/8" gap at left, 1/4" top, 1/2" right w/slight pincushion, 1/4" 
   bottom
   72 Hz - 1/2" left, right, and bottom; 3/8" top. Slight pincushion.
   75 Hz - 1/4" left. 3/8" right, 1/2" top, 3/8" bottom
   
   > This is the mode I did not touch. The results should be the same with 206.
   
   680x510 75 Hz
   1/4" top, left, and right
   
   > The timings are optimized for the IBM 9515 monitor.

   800x600
   60 Hz - ~1/2" right, otherwise fills screen well
   70 Hz - 1/2" left, 3/8" right.
   72 Hz - same as 70 Hz
   75 Hz - 7/16" left, 5/16" right
   About 1/4" gap at top with slight bowing downward (monitor 
   nonlinearity), 1/8" or less at bottom at all refresh rates.
   
   > 256 colors and 64K colors use different timings, expect differences there.
   
   832x620
   60 Hz - 1/2" on both left and right
   70 Hz - 1/2" on lefr, 3/8" on right
   72 Hz - flush left, 1/4" on right, negligible gap with very slight 
   foldover at top, anomalous "flicker" at top left when first few scan 
   lines are light colored (border color of window moved to upper left 
   corner of desktop). Probably a monitor glitch. Did not go back and check 
   other modes for this phenomenon.
   
   > 256 colors and 64K colors use different timings, expect differences there.
   
   920x760 - flush right and bottom, 1-5/8" left, 5/8" top. To be expected.
   
   1024x768
   60 Hz - well centered, slight gap at left, 1/4" at top
   70 Hz - 7/16" on left, 3/16" on right, 5/16" top
   
   1040x768
   1-1/4" left, 1/4" top, slight gap on right
   
   > Timings with the 75.2 Hz frame rate are IBM 9515 optimized.

   1104x828
   3/4" left, 1/4" top and right
   
   1120x840
   5/8" left, 1/4" top and right
   
   1160x870
   5/8" left, 1/4" top, negligible on right
   
   1280x800
   1/2" left, 1/4" top, negligible to 3/8" on right (slight keystoning)
   
   1280x960
   1/2" left, 1/4" top, slight keystoning on right as before
   
   1280x1024
   not supported by Sony monitor
   
   All modes tested at deepest color depth supported. Bottom gap was 
   negligible in all but 640x480. Monitor nonlinearities begin to show at 
   both higher refresh rates and resolutions. Some of this could be 
   adjusted out, but overall non-adjusted performance is very good.
   
   > The quality of the non-adjusted performance is critical, and I am quite
   > glad you rate it as very good !
   
   More to follow as the week unfolds.
 

   CHRISTIAN HOLZAPFEL (March 14, 2008)
   
   There is something strange I noticed on my 9595 T4 with Win98SE and
   blue XGA-2, using drivers v.208c and 208d (haven't tested previous
   versions):
   
   When the cursor is set to any other than the standard windows cursor,
   it often disappears when moved over a *highlighted* icon in the
   Windows Explorer.
   
   If I recall correctly, any other colored/animated cursor is using the
   software mode, so I'm not sure if it is an XGA driver issue. When I
   set the standard plain black & white icon (hardware mode, right?), the
   problem doesn't show up.
   
   > The plain black & white cursor is the hardware cursor.
   > Colored and animated cursors are software cursors, Windows moves them.
   > Use the XGA hardware cursor, which is monochrome, i.e. two colors.
   > Also, a too big cursor will become a software cursor.

      
   
   WILLIAM R. WALSH (March 14, 2008)
   
   I haven't noticed this on any of my XGA-2 adapters with UZ's driver.
   I normally use the extra large black mouse cursor on my systems.
   
   I have noticed that sometimes the hourglass cursor sometimes loses its
   top half. Moving the mouse "fixes" it.
   
   With UZ's driver or the original Microsoft driver, tooltips (hold your
   pointer over the system clock on the taskbar, or over an image with
   ALT TEXT in IE) show up corrupted--usually as a series of black lines
   with the yellow background color interspersed between them.
   
   > I will look at it, I remember seeing something similar but setting the
   > tooltips color to a solid color in the desktop settings fixed it. This
   > should be the case with 256 colors, where some colors can be dithered.
   
   
   UNALZ (March 14, 2008)
   
   We should have 800x600 @70Hz and 832x620 @65 Hz with 256 colors, both
   non-interlaced, on the XGA. I fixed the mish-mash, a leftover from the
   code in the VDD, set firmly the adapter ID to XGA to let the driver and
   XGA-2 work only with the XGA modes. This must be tested on a true XGA.
   
   The built-in 1024x768 XGA PEL clock at 45 MHz PEL rate is sufficient to
   drive the above modes. Porting the modes to the XGA was easy - eliminat
   the programmable PEL clock setting, tell the card to use the 1024x768
   clock, set the display mode to non-interlaced and increase the HSYNC end
   pulse to center the picture.
   
   800x600 64K colors failed, it looks bad. If it works, it would mean that
   the XGA is capable of 90 MHz PEL rates. 680x510 16-bpp could be possible.

   
   UNALZ (March 14, 2008)
   
   XGA208 Beta D-X801 Release: XGA-ONLY
   
   Supports non-interlaced 800x600 and 832x620 on the XGA display adapter. This
   is a special test build to try and test the new XGA modes. The XGA-2 modes
   are not available. This release can be installed over XGA208 with an XGA-2.
   
   The driver will properly detect the adapter type but it will assume the type
   to be XGA and work as if the adapter were an XGA. Video memory size checks
   are skipped, the driver assumes that 1M is available. If you have an XGA
   with 512K, you can still test 800x600 with 256 colors but you cannot test
   832x620.
   
   2008/03/14: www.members.aon.at/mcabase/pub/files/xga208dx801.zip
   
   XGA208 introduces the following new and non-interlaced video modes to the
   XGA display adapter (see also INSTALL.TXT):
   
   Display      Colors    Monitor     Refresh
   resolution   8-bpp     line rate   rate
   -------------------------------------------
   800x600*     256       42.8 kHz    69.0 Hz  NI
   832x620      256       41.3 kHz    64.4 Hz  NI
   640x480      256       56.1 kHz   107.0 Hz  NI
   
   * = 800x600 with 64K colors fails but the mode can be seen. Select 640x480
   64K colors (High Color), change to 800x600 High Color, test the mode but do
   not set it. The mode serves to illustrate the 64K problem on the XGA.

   960x720 with 256 colors is possible but only in interlaced mode (97 Hz). The
   mode is not included in this release.
   
   
   
   WILLIAM R. WALSH (March 15, 2008)
   
   And here's the test report, from a Model 90's planar XGA-1 adapter
   with 1MB VRAM.
   
   System configuration:
   1 dead clock battery
   Type 4 P66 complex
   32MB RAM
   Windows 98SE (with Spock-206 driving the SCSI adapter)
   XGA-1 planar video with 1MB VRAM
   
   > 800x600* 256 42.8 kHz 69.0 Hz NI
   
   Works perfectly on a Compaq MV520 monitor. The image is exceptionally
   sharp, bright and clear. (I remember your saying something about the
   XGA-1 having a much more powerful signal output.) The picture needed
   some adjustment, but the monitor's controls had more than enough range
   to make the picture perfect.
   
   >> Indeed, this can be also observed on the earlier XGA-2s. The later blue
   >> chip XGA-2 is not that bright and crisp. This also shows the improvement
   >> of the image quality with the higher refresh rates.
   
   > 832x620 256 41.3 kHz 64.4 Hz NI
   
   Again, absolutely perfect on the same Compaq monitor. Video is still
   clear and sharp. Image adjustment was needed, but the monitor's
   controls still had more than enough range to make things perfect.
   
   > 640x480 256 56.1 kHz 107.0 Hz NI
   
   Didn't try this one.
   
   > * = 800x600 with 64K colors fails but the mode can be
   > seen.
   
   The result is strange. It looks like the image is too fat, and that
   lines of darkness (or darker video signal) have been inserted between
   the video output. Windows reappeared, but the image was way off the
   edge of the screen.
   
   >> William, thank you for confirming the results. It must have been an
   >> exciting to be the first, the very first, to run 800x600 on the XGA.
   >> I could only simulate it on the XGA-2.
   
   Do you think there is a possibility for a working 800x600 mode with
   64K colors on the XGA-1?
   
   
   WILLIAM R. WALSH (March 18, 2008)
   
   Panel: Samsung SyncMaster 510N Flat Panel, 15" (1024x768 native resolution)
   System: IBM PS/2 Model 76 "Lacuna"
  
   The Lacuna and XGA-2 (heatsinked RAMDAC) finally came together under
   Windows 98SE and the latest XGA-208 driver for XGA-2 cards.
   
   The panel proved surprisingly hard to please. It didn't like 640x480
   all that well, although auto adjustment could correct it.
   
   > There are three 640x480 mode timings, IIRC, the default is IBM 9515.
   > It will hardly please any other monitor.
   
   I had to set 800x600 at 64K colors to a 70Hz refresh before I could
   get all of the image on-screen with either manual or automatic
   adjustment. At 70Hz refresh, the image was perfect.
   
   At the 832x624 resolution, auto adjustment could not get the image all
   the way on the screen, and the fonts looked "squished" horizontally. I
   tried various refresh rates, and all were the same.
   
   The next resolution was a 900-or so pixel choice, and the panel could
   not sync to it at all. A blinking power LED was the only result.
   
   > 960x720 is IBM 9515 optimized, running at 60.9 kHz. I enabled it also
   > on the XGA and changed the settings to suit other monitors.
   
   1024x768 was perfect at all refresh rates, at least as far as I
   remember.
   
   More precise test results should come soon.
   
   > Please quote the monitor specs. See the file xga208mon.txt for the
   > supported line rates.
   
   
   UNALZ (March 16, 2008)
   
   Rewrite the books - we have now 66.0 Hz VGA 256/64K colors (XGA default is
   60 Hz), and 70.0 Hz at 800x600 256/16 colors. Also, I managed to push
   1024x768 a tiny bit higher, from 43.5 (87 Hz, XGA default) to 44.7 (89.4 Hz)
   interlaced.
   
   1024x768    256/16     35.5 kHz    44.7 Hz (89.4 Hz) Interlaced
   800x600     256/16     43.2 kHz    70.0 Hz NI
   640x480     256/64K    32.4 kHz    66.0 Hz NI
   
   Surprise, the XGA manages 1600x1200 (16 colors) with the 4x reserved clock
   setting producing 71.3 Hz with a 87.7 kHz line rate, albeit with the typical
   PEL failure. The display resolution is correct, the image is interwoven, or
   painted over, with black vertical stripes but not corrupted otherwise.
   
   The following excerpt from the techref below speaks of two supported
   graphics mode timings. While the first paragraph does not limit the
   resolutions ("it could be any other resolution"), the second paragraph
   claims that "The XGA .... can display in two resolutions when in Extended
   Graphics Modes".
   
   Excerpt from the Preliminary Draft May 19th 1992, IBM VGA/XGA Technical
   Reference, 4-7:
      
   DISPLAY CONNECTOR
   
   Display Mode 4: Display Mode 4 is defined to be any other resolution. On the
   IBM 8515 display is it used for 1024*768 43.5Hz Interlaced, however, it
   could be any other resolution. This mode is not available using video BIOS,
   but is used in Extended Graphics Modes. See "Extended Graphics Mode Display
   Timing" on page 4-8.
   
   The XGA Display Adapter/A or the XGA subsystem on the system board can
   display in two resolutions when in Extended Graphics Modes:
   
   640x480 Non-Interlaced
   1024x768 Interlaced.
   
   The Display timing for the 640x480 resolution is defined above in the "VGA
   Mode Display Timing Set #1". No border is used.
   
   The 1024x768 interlaced mode display timing information is provided below.
   These are the only two display timings supported.
   
   (Ed: "Display timing" is not the same as "display mode". The display timings
   relate to the supported video signalling procedure (active, h/v sync,
   blanking, front/back porch) whereas the display mode uses these signals to
   define a resolution and color depth; in other words, the timing is the
   protocol and the mode is the content. All resolutions able to utilize the
   VGA and XGA PEL clocks, are supported and can be implemented.)

   
   UNALZ (March 23, 2008)
   
   XGA208 Beta E-Release: 64K colors on the XGA !!!
   ------------------------------------------------
   
   Supports high color (16-bit) 64K colors on the XGA (!) with the 800x600 and
   832x620 display modes. Due to the limitation of the XGA coprocessor to 8-bit
   operations, these new 16-bpp XGA modes are not yet hardware accelerated.
   These modes succeeded with a particular combination of the documented XGA
   settings without any reserved bits.
   
   XGA208 enables coprocessor support for graphics operations at 16 colors
   (4-bit) and supports higher resolutions up to 1600x1200 with the XGA-2
   display adapter, currently only on W9x.
   
   XGA208 adds previously unavailable non-interlaced display modes for the XGA
   display adapter such as 800x600 and 832x620 at 256 and 64K colors, and
   960x720 interlaced at 256 colors.
   
   2008/03/23: www.members.aon.at/mcabase/pub/files/xga208e.zip
   
   See the enclosed XGA208MON.TXT for information on monitor line rates,
   refresh rates and supported resolutions. See INSTALL.TXT for installation
   instructions.
   
   XGA
   Higher refresh rates: VGA 65 Hz NI, 1024x768 45 Hz I
   New XGA video modes: (incl. non-VESA modes)
   
   102h  XGA   800x600x4      16   Multisync (43.2 kHz, 70 Hz NI)
   103h  XGA   800x600x8     256   Multisync (43.2 kHz, 70 Hz NI)
   114h  XGA   800x600x16  65536   Multisync (43.2 kHz, 70 Hz NI)
   162h  XGA   832x620x8     256   Multisync (41.3 kHz, 65 Hz NI)
   162h  XGA   832x620x16  65536   Multisync (41.3 kHz, 65 Hz NI)
   164h  XGA   960x720x8     256   Multisync (37.4 kHz, 50 Hz I)
   
   
   WILLIAM R. WALSH (March 24/25, 2008)
   
   Wow. Just absolutely wow. This is *wonderful* news.
   
   > Yes, it is !!! Apparently, you were again the first to notice it.

   I'll test tonight, most everything else can wait.
   
   TEST RESULTS
   
   Model 90, Planar XGA-1, 1MB VRAM, Compaq MV520 monitor. Windows 98SE
   
   Loaded the driver just maybe fifteen minutes ago, and kicked it up to 
   832x620 at high color. The picture looked good, but I saw waviness in the 
   picture that hadn't been there before. A few minutes later, I found the 
   power supply for a set of speakers under the monitor. After moving that, 
   the  image was rock solid. ;-)
   
   832x620 and 800x600 both produce very good images. The picture is both sharp 
   and bright. No picture adjustment was required for 832x620, and only minimal 
   adjustment was required for 800x600.
   
    
   UNALZ (March 25/29, 2008) 
   
   The setting which enabled these modes was a kind of XGA Easter egg. It is a
   combination of the 1024x768 clock + VGA scaling factor + 16-bit PEL size.
   The PEL clock (45 MHz in this case) is doubled to 90 MHz - and this is what
   I was looking for - but only when the PEL size is set to 16 bits.
   
   By incident or accident, VCS doubles the selected clock (CS1/CS2) regardless
   of the clock value and depending on the PEL size. The techref has, politely
   said, an incomplete description of the VCS function. This nice side effect
   could be a function of the two mode timings (VGA and 1024x768 XGA) natively
   supported in the XGA. Hardwired or biostical, it does not matter at all for
   us.
   
   >> Due to the limitation of the XGA coprocessor to 8-bit operations,
   >> these new 16-bpp XGA modes are not yet hardware accelerated.

   > Is that meant to say that they could be? (William R. Walsh)
   
   Yes, they could be accelerated and this is where the fun part starts:
   performing 16-bit operations with an 8-bit coprocessor. The techref suggests
   an approach and I surely attack this problem in the coming days and weeks as
   time allows.
   
   > There is some speed difference between 640x480 and 800x600.
   > 800x600 is faster, possibly because fewer pixels have to be pushed
   > around? (William R. Walsh)
   
   The XGA coprocessor supports only 4 and 8 bit operations, 640x480 is handled
   in the exactly same way as 800x600. 832x620 has of course more pixels and is
   slower, 640x480 has fewer pixels and is faster.
   
   The function of the coprocessor is a bit different. It sees only source and
   destination bytes and performs operations on these bytes. The resulting
   value of the destination byte(s) is interpreted as a color value by the
   display logic, a separate component and not a part of the coprocessor.
   
   The 208 release is going to be the best of all times. I feel like a
   detective working on the XGA case to find out those who could not or
   did not want to do it right.
   
   > This is simply amazing stuff. I'd like to cast a vote for an NT
   > driver, but to do all this on Win9x is great. (William R. Walsh)
   
   Win9x is the sandbox, the exploration lab. I am moving the XGA208 modes to
   the NT miniport, and believe me, it would have been a nightmare without
   having a tested and proven implementation.
   
   > What I'm not so surprised to see is how Microsoft dropped the ball on
   > proper XGA-2 support.  (William R. Walsh)
   
   They did not have the coprocessor operations in the 16 colors (4-bpp) modes
   either in the XGA or the XGA-2. XGA208 implemented them and enabled/supplied
   the higher resolutions 16 colors modes.
   
   > I'm equally surprised at how much more capability you have squeezed
   > out of both XGA-1 and XGA-2. This practically begs the question - if
   > the chips are capable of these things, why didn't IBM ever make their
   > drivers equally capable? (William R. Walsh)
   
   Perhaps because IBM did not have the monitors with the needed frequencies to
   sell, not a small fact to ignore. I think, IBM was focused on establishing
   1024x768 XGA as a standard. The OS/2 PM has 256 colors, and imagine now, IBM
   supplies a 800x600 64K colors mode where the PM operates in an 8-bit mode.
   The real problem was insisting on the 256-colors OS/2 PM.
   
   Probably only few people knew what the XGA could do more, and the whole
   world was led to believe that the XGA can do only two XGA modes.
   
   > I suppose there is a partial answer for the XGA-2, as it is freely
   > programmable and exploring some of the more unusual color depths and
   > resolutions available at the time did not make sense. (William R. Walsh)
   
   It would have made sense but it was too late by then. SVGA took off quickly.
   
   
   JIM SHORNEY (March 28/29, 2008)
   
   More fun with the E release on the LCD.
   
   1360x2024
   Very slight offscreen vertical, 1/2" gap on left, right OK.
   
   1440x900
   Off screen top, bottom, and right, 1/2" gap on left
   
   1440x1000
   Perfect top, left, right; off screen on bottom enough to obscure taskbar.
   
   1600x1200
   Out of range
  
   The IBM 6091-19i monitor is a no-go. Complete loss of sync in both
   directions. I'm not seeing any way to set specifically 6091-19i frame
   rates. I get 71.7 KHz H, 68 Hz V on my LCD in 1280x1024, and that's all.
   No selections other than Adapter Default and Optimal in the display
   control panel. What am I missing?
   
   > Shouldn't the mode be manually selected with the mode switch? What is the
   > exact type of your monitor?
   
   Just now finally foundt the switches. That little flip-down cover on the 
   front wouldn't open until I said the right incantation.
   
   It's a 6091-19i.


   UNALZ (April 1, 2008) 
   
   There is perhaps a type confusion on my side. For the record, the programmed
   mode is the IBM 6019-019 Mode 3 Separate Sync at 70.75 kHz line rate for 67
   Hz. This mode is NOT supported on the IBM 6091-19i, the mode requires there
   81.32 kHz line rate for 77 Hz.
   
   The earlier BC-release included Mode 1 and Mode 2 both with 63.63 kHz @ 60
   Hz and supported by both monitors. As I write this, I notice that both modes
   use Sync on Green, the test will probably fail again. Another possibility is
   to use Mode 4 on the 6091-19i, the mode timings are equal to Modes 1/2
   although  there is something strange there too (interlaced?).
   
   
   JIM SHORNEY (April 3, 2008)
   
   Mode switch doesn't seem to help much.
   
   The devil is in the details. I foundt the magic key to reveal the 
   refresh rates. In a fit of pique, I set the monitor type to Eizo T560i. 
   Amazing. Gotta love that Windows. I wonder if I should go back and 
   retest the higher modes on the LCD now...
   
   > The monitor definition includes line rate and frequency limitations,
   > I would suggest to use Eizo F784, it has pretty generous ranges:
   
   Almost works at 60 Hz, locked horizontally, vertical roll.
   
   - 60 Hz: Mode 1 at 63.36 kHz @ 60 Hz -- (6019-019 and 6091-19i)
   
   Almost works as above. Looks locked OK horizontally, but rolls 
   vertically. Interestingly, it only fills the top half of the screen on 
   the LCD.
      
   > The original timings are defined for a quarter of a PEL rate. At the
   > higher PEL rates, the XGA allows only integral PEL values. This makes
   > it difficult to guess and set the proper timing values for this monitor.
  
   - 65 Hz: Mode 3 at 70.75 kHz @ 67 Hz Sync on Green -- (6019-019)
   - 75 Hz: Mode 3 at 70.75 kHz @ 67 Hz Separate Sync -- (6019-019)
   
   These two do not work of course.
   
   
   UNALZ (April 6, 2008) 
   
   Left without a W9x test machine, I decided to move the W9x hard disk to 
   PS/2 Mod. 9557. This HD was in Mod. 9577 before it was replaced with
   the HD with NT4 on it.
   
   We never before had XGA208/W9x reports from Mod. 57. The disk installation
   was easy, the machine came with I9990030 complaining about IML but the
   SysConfig option "Start Operating System" started and loaded W95.
   
   W95 behaved quite well. XGA208 behaved exactly as before on Mod. 77. The
   stress test passed up to 1440x1080. The double sprite showed up only at
   1600x1200. I did not run the machine for very long, some 30 minutes or less.
   
   The planar XGA-2 is really impressive, two adapter cards have already showed
   weaknesses dealing with the lower high resolutions, i.e. 1440x1080 was too
   demanding for them.
   
   One more pending test will be with the Radius XGA-2 (ISA bus). I would like
   how it would respond to the hi-res-mania.
   
   
   UNALZ (April 11, 2008) 
   
   The line "uc000:0 L 1c00" in DEBUG lists the XGA-2 BIOS when the ROM is
   located at C000. The adapter checks for other display adapters and disables
   them, here is the list without a claim of completeness:
   
   90EE = IBM SVGA Display Adapter
   90EF = IBM Display Adapter
   90FD = IBM Planar VGA/LCD Adapter
   90xx = All other 90xx adapters
   
   ECCF = Unknown, whereas ECCE = IBM Display Adapter 1.10
   ECFF = IBM 5250 Emulation Adapter
   EDAF = IBM P70 Plasma Display controller
   EFD8 = DBCS Display Adapter/J
   EFFD = IBM VGA Adapter
   FFFF = planar VGA when in system setup
   
   8FDA and 8FDB for XGA-2 resp. XGA are also checked.
   
   The ECCF entry is interesting because we know of only ECCE = IBM Display
   Adapter 1.10. This entry must be something similar to it.
   
   When it does not query and check installed display adapters, it does a lot
   of VGA I/O. I have not traced exactly what the BIOS does to the cards it
   does not know, it needs more time to look at the code.
   

END.