home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 17 / CD_ASCQ_17_101194.iso / dos / games / lw2sw / lw2sw.z01 / UNIVBE41.ZIP / XGAVES.ZIP / XGAVESA.DOC next >
Text File  |  1991-12-16  |  8KB  |  166 lines

  1.              (sort of) VESA-Compliant TSR for the IBM XGA Adapter
  2.                             version 1.2
  3.  
  4.                 Another freeware utility by Bert Tyler
  5.                        Compuserve ID:  73477,433
  6.                            BIX ID:  btyler
  7.  
  8.  
  9. WHAT'S NEW IN THIS RELEASE?
  10.  
  11. (I'm going to answer this question first, because this is the only
  12. question that those of you who are using an earlier release of this
  13. package are gonna ask)
  14.  
  15. Release 1.2 adds support for the VESA 1.2 spec and its "true-color"
  16. modes - in particular, mode 111h (640x480x65536-color) that seems to
  17. have been designed especially for XGA-like adapters.
  18.  
  19. Also, this release supports the non-standard (at least as far as IBM is
  20. concerned) 800x600 mode only if you fire it up with the '800' option
  21. ('xgavesa 800').  Earlier releases supported that mode unless you
  22. specifically fired them up with a '-800' option, and in retrospect
  23. that was not a good approach.  This version cheerfully ignores any
  24. '-800' option, as that's what is was going to do anyway.
  25.  
  26.  
  27. WHAT DOES THIS PROGRAM DO?
  28.  
  29.  
  30. XGAVESA is a TSR that (sort of) makes your XGA adapter VESA-compliant
  31. (the "sort of" clause is explained in detail below, and is related
  32. to the fact that the XGA adapter has some basic incompatibilities with
  33. the VGA Video DAC and vertical retrace signals when it is in its
  34. XGA-specific video modes).
  35.  
  36. The reason for this TSR's existence is simple:  many software packages
  37. out there in the MS-DOS world currently have drivers for VESA-compliant
  38. video adapters but not for IBM's XGA adapter.  This TSR is an attempt
  39. to address that situation, by translating standard VESA calls into
  40. routines that IBM's XGA adapter understands.
  41.  
  42.  
  43. WHAT VIDEO MODES AND VESA CALLS DOES THIS PROGRAM SUPPORT?
  44.  
  45.  
  46. This TSR supports the following standard VESA modes:
  47.  
  48.    VESA mode           Description
  49.  
  50.    109h                132-column by 25-rows text mode
  51.    101h                640x480x256 graphics mode
  52.    103h *              800x600x256 graphics mode (requires a multisynching
  53.                        video monitor)
  54.    105h **             1024x768x256 graphics mode (requires a high-resolution
  55.                        video monitor and 1024K of memory on the adapter)
  56.    111h **             640x480x65536 graphics mode (requires 1024K of
  57.                        memory on the adapter)
  58.  
  59.    *  (The program reports support for this video mode only if you
  60.       have fired it up with the '800' option.  Note that this is
  61.       different from earlier versions, which supported this mode unless
  62.       you specifically told it not to using the '-800' option.  There
  63.       is no way for the program to auto-detect the presence of a 
  64.       multisynching monitor.)
  65.  
  66.    ** (The program reports support for this video mode only if it detects
  67.       that the appropriate hardware exists for it.)
  68.  
  69. XGAVESA supports all of the VESA calls defined in version 1.2 of that
  70. spec.  Given that VESA versions are downward-compatible, that means
  71. that XGAVESA also supports all of the VEAS calls defined by earlier
  72. versions of the VESA specs.
  73.  
  74. This TSR does not currently support any of the XGA adapter's 16-color
  75. SuperVGA modes.  Adding support for the XGA's 800x600x16 and 1024x768x16
  76. modes would have been trivial, but the XGA does *not* use the standard
  77. EGA/VGA style of pixel addressing when it is in those modes (the XGA's
  78. "packed pixel" method of handling 16-color modes is better, IMHO, but in
  79. this case the word "different" has more impact than the word "better").
  80. Furthur, the responses to a query I posted on various VESA forums indicated
  81. that there is no general consensus as to how most VESA drivers would
  82. attempt to handle a "16-color packed-pixel" VESA mode, so I simply
  83. left those modes out of this release.
  84.  
  85. When it is first fired up, XGAVESA attempts to detect the presence of
  86. your XGA adapter and determine the amount of memory on your adapter and
  87. the type of monitor to which it is connected.  If it can't locate any
  88. XGA adapter, the program errors out - otherwise, it displays a sign-on
  89. banner, sets itself up to support the VESA modes supported by your
  90. particular hardware and goes TSR.
  91.  
  92.  
  93. WAIT A MINUTE - THE XGA SUPPORTS 800x600?
  94.  
  95.  
  96. Yup - piece of cake.  Maybe your IBM manuals don't mention it, but
  97. that's probably only because IBM doesn't make a monitor that supports
  98. that particular resolution.  This particular resolution *does* require
  99. the presence of a monitor that supports 800x600 resolution, though, such
  100. as a multisynching monitor like the NEC 2A/3A/4A/5A.
  101.  
  102. One limitation that the program currently has is that there is no way
  103. to automatically detect the presence or absence of a multisynching 
  104. monitor attached to an XGA adapter.  For now, the program just assumes
  105. that you do not have a multisynching monitor that supports the 800x600x256
  106. mode unless you fire it up with the '800' option ("xgavesa 800").
  107. Earlier versions of this program supported that mode unless you specifically
  108. disabled it with the '-800' option, and in retrospect that was not a good
  109. approach - A few of the VESA programs I tried this program out on
  110. automatically use the highest resolution the VESA driver supports, and
  111. if your hardware can't handle 1024x768x256 mode, that's going to be
  112. 800x600 unless that particular mode is disabled.  The current version
  113. cheerfully ignores any '-800' option, as that's what it was going to
  114. do anyway.
  115.  
  116.  
  117. WADDYA MEAN "SORT OF" VESA-COMPLIANT?
  118.  
  119.  
  120. Well, actually, the XGA adapter with this TSR is totally VESA-compliant.
  121. The problem is that the current version of the XGA adapter in its
  122. XGA-specific video modes isn't totally VGA-compliant, and many programs
  123. make assumptions about VGA-compliance that don't work with the XGA
  124. adapter.  (The XGA adapter is totally VGA-compatible when it is in
  125. VGA mode, but not even close to it when in its XGA-specific modes.)
  126. The worst-case scenario is total lockup and Big Red Switch time.
  127.  
  128. The two problems I have run into are both related to programs which
  129. attempt to update the VGA's Video DAC via direct hardware writes
  130. (and yes, my own Fractint program is one of them).
  131.  
  132. 1) The XGA video DAC is completely different from the VGA video DAC,
  133. and any attempt to update the "VGA's" Video DAC via direct hardware
  134. while the XGA is in an XGA-specific mode has no effect.  If a 
  135. program goes through the BIOS to update the Video DAC, all is well
  136. (the XGAVESA program traps the INT 10H, AH=10h interrupts and either
  137. translates those BIOS calls and data into information that the XGA
  138. adapter can understand or "eats" them).
  139.  
  140. 2) The XGA does not support the VGA's vertical retrace hardware
  141. signals when it is in its XGA-specific modes, and any program that
  142. attempts to wait for a VGA-style vertical retrace ends up locking
  143. up the system.
  144.  
  145. Here is a short list of VESA-compliant programs that have been tested
  146. with XGAVESA, and the results:
  147.  
  148.    VPIC 4.5        works (version 4.5 of VPIC added its VESA drivers)
  149.    MVGAVU 5.0      works
  150.    VUIMG 3.14      works
  151.    PV 0.5          works ("Persistence of Vision" is the successor to the
  152.                    DKB raytracer program)
  153.    CSHOW 8.3       works *if* invoked with the "+V" option that forces it
  154.                    to avoid the vertical retrace wait and go through the BIOS
  155.                    (if you have a registered copy, the CONFIG program supplied
  156.                    with CSHOW lets you hard-wire this option into the program)
  157.                    ((On the other hand, CSHOW 8.3 offers direct XGA support
  158.                    that is far better than using this XGAVESA driver))
  159.    VGAKIT 3.5      works (once I fixed the VESA driver in release 3.5 <grin>.
  160.                    Uncomment out the 'jmp fini' statement just prior to
  161.                    the 'novesa:' label in BANKS.ASM)
  162.    ORSON 3         works (ORSON2 failed because of a bug in that program)
  163.    FRACTINT 16.11  fails  (looks for the vertical retrace)
  164.                    ((On the other hand, Fractint offers direct XGA support
  165.                    that is far better than using this XGAVESA driver))
  166.