home *** CD-ROM | disk | FTP | other *** search
/ Learn 3D Graphics Programming on the PC / Learn_3D_Graphics_Programming_on_the_PC_Ferraro.iso / rwdos / univbe.doc < prev    next >
Text File  |  1995-02-15  |  10KB  |  244 lines

  1.  
  2.                          The Universal VESA VBE
  3.                          ----------------------
  4.  
  5.                   Copyright (C) 1993-1994 SciTech Software
  6.                            All rights reserved.
  7.  
  8. What is it?
  9. -----------
  10.  
  11. The Universal VESA VBE is a small Terminate and Stay Resident (TSR) program
  12. that extends the video BIOS of SuperVGA video cards to make them compatible
  13. with the Video Electonics Standards Association (VESA) recommended
  14. Video BIOS Extensions (VBE).
  15.  
  16. By having a video card that has a VESA VBE compatible BIOS, or by
  17. installing this small TSR, programs that support the VESA VBE programming
  18. interface will work correctly for your SuperVGA. This helps to solve a
  19. lot of problems with compatability between different SuperVGA cards on the
  20. market. Note that this program will not take advantage of any of the
  21. acceleration features that your video card may provide.
  22.  
  23. Why use it?
  24. -----------
  25.  
  26. You may already have a VESA VBE TSR for you video card, or you video card
  27. may have a VESA VBE compatible BIOS already, so why would you want to use
  28. this program?
  29.  
  30. The simple answer is that most of the TSR's that exist today, and a lot
  31. of the not-so-new SuperVGA cards that are around implement an older version
  32. of the VESA VBE programming interface (if any at all). For this reason, some
  33. programs that use the advanced features of the new VESA VBE standard will
  34. not work with the TSR or BIOS that you currently have.
  35.  
  36. So what advanced features does this TSR provide that other's don't? The
  37. Universal VESA VBE implements the VESA VBE 1.2 programming interface,
  38. which supports the following features:
  39.  
  40.     . SuperVGA page flipping. High performance animation programs can
  41.       use your card to full potential using the VESA BIOS to implement
  42.       extended page flipping (imagine, 1024x768x16 double buffered
  43.       animation, or even 800x600x256 and 640x400x32k/64k on a 1Mb video
  44.       card!!).
  45.  
  46.     . SuperVGA virtual screens. Programs may set up a virtual display
  47.       resolution of say 1024x1024 pixels, and smoothly scroll a window
  48.       with less physical resolution around within this buffer.
  49.  
  50.     . Support for the 32k, 64k and 16 million color video modes. As well
  51.       as supporting the industry standard 16 and 256 color video
  52.       modes.
  53.  
  54.     . Speed. The bank switching code in this package tends to run faster
  55.       than the routines embedded in the VIDEO BIOS of some video cards.
  56.  
  57.     . Extremely small size. When the TSR is resident in your computer it
  58.       only requires about 3k of memory which is smaller than the
  59.       size of most commerical VESA VBE TSR's. It may also be loaded high
  60.       to save even more memory.
  61.  
  62. Hardware Requirements
  63. ---------------------
  64.  
  65. The Universal VESA VBE will run on any 80x86 based IBM PC compatible
  66. running MSDOS. Currently the Universal VESA VBE supports the following
  67. SuperVGA cards (note that not all of these have been fully tested):
  68.  
  69.     - ATI Technologies 18800, 28800
  70.     - Ahead A & B
  71.     - Chips & Technologies 82c451/452/453
  72.     - Everex
  73.     - Genoa Systems GVGA
  74.     - OAK Technologies OTI-037C, OTI-067, OTI-077, OTI-087
  75.     - Paradise PVGA1A, WD90C00/10/11/20/21/30/31/33/26A
  76.     - NCR 77C20/21/22E/32BLT
  77.     - Trident 88/8900/9000
  78.     - Video7 VEGA, HT208/209/216
  79.     - Tseng Labs ET3000, ET4000, ET4000/W32, ET4000/W32i
  80.     - S3 86c911/924/801/805/928
  81.     - Advance Logic AL2101 SuperVGA
  82.     - MXIC 86010 SuperVGA
  83.     - Primus 2000 SuperVGA
  84.     - RealTek 3106 SuperVGA
  85.     - Cirrus Logic CL-GD 5402, 5420, 5422, 5424, 5426, 5428
  86.     - UMC 85c408
  87.     - Hualon HMC86304
  88.     - Weitek 5186/5286 (on P9000 based boards)
  89.  
  90. How do I install it?
  91. --------------------
  92.  
  93. You can install the TSR from the command line, or from your autoexec.bat
  94. file. Don't worry about installing it twice, it will automatically detect
  95. if you have already installed it.
  96.  
  97. To install it simply type:
  98.  
  99.     univbe
  100.  
  101. from the command line. It will determine what type of SuperVGA card you
  102. have installed and install itself accordingly. If you wish to remove the
  103. TSR from memory after it has been installed, simply type:
  104.  
  105.     univbe -u
  106.  
  107. This will remove the program from memory, even if it was not the last
  108. TSR to be installed. However if you installed another TSR after this
  109. one that has hooked into the Int 10h interface the old TSR will cease
  110. to function.
  111.  
  112. You may also use command line options to modify the the installation
  113. process used by the program. The following is produced by typing
  114. 'univbe -h' at the command line:
  115.  
  116. Options are:
  117.     -s<x>    - Force detection of SuperVGA (-s0 for list)
  118.     -c<x>    - Force detection of SuperVGA chipset (-c0 for list)
  119.     -m<size> - Force memory size to 'size'
  120.     -d<x>    - Force DAC type (-d0 for list)
  121.     -i       - Do not perform SuperVGA detection
  122.     -r       - Register the program and convert to full version
  123.     -q       - Quiet mode
  124.     -g       - Regenerate default .ini file
  125.     -u       - Unload the Universal VESA VBE from memory
  126.     -t       - Don't go TSR, just return the detected SuperVGA id
  127.     -b       - Swap RED and BLUE bytes in 24 bit modes
  128.  
  129. It is possible the SuperVGA detection code will hang the machine on old
  130. VGA/SVGA cards. You can optionally force the program to work with any
  131. combination of card, chipset, memory size and DAC, but unless you specify
  132. the -i option, unspecified values will be filled in automatically for you.
  133.  
  134. Thus you if the detection code did not correctly identify you video card
  135. configuration, you can force the TSR to work with the correct values.
  136.  
  137. For some SuperVGA cards, I have not been able to work out a solid method
  138. of detecting the amount of video memory on board. If this is the case,
  139. the Universal VESA VBE will refuse to install itself and ask that you
  140. specify the amount of video memory on your card from the command line.
  141.  
  142. The Universal VESA VBE does not provide support for any of the extended
  143. text modes that your video card may provide, but will provide support
  144. for any extended text modes supported by an underlying VESA VBE compliant
  145. BIOS. Thus if you video card already has a VBE BIOS or you install
  146. your favorite VESA VBE TSR for your video card _before_ installing the
  147. Universal VESA VBE, the Universal VESA VBE will use a pass-through
  148. mechanism to ensure the extended text modes still work correctly.
  149.  
  150. What's the .ini file for?
  151. -------------------------
  152.  
  153. For most installations, the Universal VESA VBE will automatically
  154. determine the video modes that you card supports. However on some older
  155. video cards some video modes that the Universal VESA VBE thinks are
  156. available aren't and so an error will occur if a program tries to set
  157. the video mode. The .ini file is used to remove support for those video
  158. modes. You can edit the .ini file yourself or you can get the TSR
  159. to automatically generate the default .ini file for you.
  160.  
  161. In order to generate the default .ini file for you, you must remove the
  162. TSR from memory, delete the old .ini file, re-install the TSR in memory
  163. and run the program with the -g option. The default .ini file is now
  164. generated. You should then remove the TSR again and re-install it using
  165. the values in the new .ini file.
  166.  
  167. The format of the .ini file is simple. All the video modes removed by
  168. the program are listed under the section '[remove]' in the .ini file.
  169. They are listed as the hexadecimal internal mode numbers used by the
  170. TSR (see the next section for a list of the mode numbers used). An
  171. example .ini file might be:
  172.  
  173. [remove]
  174.  
  175. 10D
  176.  
  177. Video modes supported by this TSR
  178. ---------------------------------
  179.  
  180. The Universal VESA VBE supports the VESA VBE 1.2 programming interface,
  181. which defines a number of standard video modes numbers. The new version
  182. of the VESA VBE specs will allow the vendor to extend the video numbers
  183. used to whatever values they wish, so I have taken the liberty to
  184. extend the mode numbers used by the Universal VESA VBE to include
  185. modes not originally specified in the VBE 1.2 specs, but supported by
  186. a number of popular video cards on the market. Depending on how well
  187. your applications have been written, they may or may not be able to
  188. use those modes.
  189.  
  190. The following is a list of the internal mode numbers used by the Universal
  191. VESA VBE and a description of each video mode:
  192.  
  193.     102   - 800x600 16 color
  194.     104   - 1024x768 16 color
  195.     106   - 1280x1024 16 color
  196.     11C   - 640x350 256 color
  197.     100   - 640x400 256 color
  198.     101   - 640x480 256 color
  199.     103   - 800x600 256 color
  200.     105   - 1024x768 256 color
  201.     107   - 1280x1024 256 color
  202.     10D   - 320x200 32k color
  203.     11D   - 640x350 32k color
  204.     11E   - 640x400 32k color
  205.     110   - 640x480 32k color
  206.     113   - 800x600 32k color
  207.     116   - 1024x768 32k color
  208.     119   - 1280x1024 32k color
  209.     10E   - 320x200 64k color
  210.     11F   - 640x350 64k color
  211.     120   - 640x400 64k color
  212.     111   - 640x480 64k color
  213.     114   - 800x600 64k color
  214.     117   - 1024x768 64k color
  215.     11A   - 1280x1024 64k color
  216.     10F   - 320x200 16m color
  217.     121   - 640x350 16m color
  218.     122   - 640x400 16m color
  219.     112   - 640x480 16m color
  220.     115   - 800x600 16m color
  221.     118   - 1024x768 16m color
  222.     11B   - 1280x1024 16m color
  223.  
  224. Problems and known bugs
  225. -----------------------
  226.  
  227. The Universal VESA TSR seems to have problems with QEMM, since QEMM does
  228. something weird with the Video BIOS. In order to fix this problem,
  229. you should use the QEMM 'exclude' options to exclude the Video BIOS
  230. area. Do this by including the following in the QEMM options:
  231.  
  232.         EXCLUDE=C000-C1FF
  233.  
  234. Refer to the BUGS file for a list of known problems with the Universal
  235. VESA VBE.
  236.  
  237. Can I get the source code?
  238. --------------------------
  239.  
  240. Yes, you can order the full source code for the product from SciTech
  241. Software. Refer to the files PRODUCTS.DOC and ORDER.DOC for more
  242. information.
  243.  
  244.