home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / ATIBGI.ZIP / READ.ME < prev    next >
Encoding:
Text File  |  1990-07-11  |  9.5 KB  |  244 lines

  1. Notes on the ATI VGA Wonder 256 Color Driver - CRIPPLED VERSION
  2. ---------------------------------------------------------------
  3. The contents of this disk are
  4.  
  5.     copyright (C) 1990 by Peter F. Jones
  6.           ALL RIGHTS RESERVED
  7.  
  8.  
  9. The contents of this disk or archive file may be used, copied and
  10. distributed freely, provided all individual files and the copyright
  11. notice are included.
  12.  
  13. READ THIS
  14. ---------
  15.  
  16. This Demonstration software is intentionally crippled. The BGI driver
  17. will be fully functional for approximately 2 minutes after it is first
  18. loaded by the application program. After that period, some of its functions
  19. (such as linedraw etc) will fail. However you should be able to test the
  20. driver with your hardware/software in that period of time. If you run out
  21. of time, just restart you software (or reload the driver).
  22.  
  23.  
  24. This crippled .BGI driver is slightly slower and larger in file size
  25. than the fully functional version.
  26.  
  27.  
  28. The fully functional version is available for US $10.00 (Shipping
  29. included for USA and Canada. Add $5.00 shipping and handling
  30. elsewhere. Add $15 for overnight delivery in USA or Canada. Ontario
  31. residents add 8% sales tax) Terms: VISA, COD ($3 extra, Canada only)
  32. Money Order, Certified Check.
  33.  
  34.  
  35.  
  36. Orders and inquiries concerning drivers for other cards or devices should
  37. be sent to:
  38.  
  39.          Jones Computer Supplies
  40.          Attention: Peter Jones
  41.                 RR # 3
  42.          Perth, Ontario  K7H 3C5
  43.                 Canada
  44.   Tel (613)267-6704   Fax (613)264-0372
  45.  
  46.  
  47. IF YOU WOULD LIKE A DRIVER FOR OTHER GRAPHICS CARDS, please send us the
  48. name/model/version of the card, manufacturer, address/telephone/fax of
  49. the manufacturer, and the graphics modes you wish to use. If there is enough
  50. demand, we will make a BGI driver for it.
  51.  
  52. Contents
  53. --------
  54. You should have the following files:
  55.  
  56. READ.ME         This file.
  57.  
  58. ATIVW256.BGI    The driver file. THIS IS A CRIPPLED VERSION
  59.  
  60. ATIVW256.PAS    Holds the Pascal autodetect routine to test for the VGA Wonder
  61.                 which returns the mode with the highest resolution available
  62.                 on your system. See "InstallUserDriver" in "Chapter 16 - Turbo
  63.                 Pascal Reference Lookup" of the "Turbo Pascal Reference Guide"
  64.                 for Turbo Pascal Version 5.0;
  65. ATIVW256.C      Turbo C version of ATIVW256.PAS. Note: this uses inline
  66.                 assembly code. ATIVW256.OBJ is the compiled and assembled
  67.                 version ready to be linked if an assembler is not available.
  68. ATIVW256.H      Header with function prototype for ATIVW256.C.
  69. ATIVW256.OBJ    Object file complied and assembled from ATIVW256.C.
  70.  
  71. VGADEMO.PAS     Borland's sample program to demonstrate the use of the driver
  72.                 and autodetect function in Pascal.
  73. VGADEMO.EXE     Compiled version of VGADEMO.PAS.
  74.  
  75. VGATEST.C       Sample program to demonstrate the use of the driver and
  76.                 autodetect function in C. (Much simpler program than
  77.                 VGADEMO.PAS)
  78. VGATEST.EXE     Compiled version of VGATEST.C.
  79.  
  80. Available Modes
  81. ---------------
  82. Note: Discussions here refer to Turbo Pascal. These comments
  83. apply to Turbo C, where graphics commands are similar if not
  84. identical. See the Turbo C manual for details.
  85.  
  86. The driver should be used as outlined in "InstallUserDriver" of
  87. "Chapter 16 - Turbo Pascal Reference Lookup" of the "Turbo Pascal
  88. Reference Guide" for Turbo Pascal Version 5.0. It has been tested
  89. with both Turbo C V2.0 and Turbo Pascal V5.0. VGADEMO.PAS is an
  90. example of how to use it in pascal. VGATEST.C is an example of
  91. how to use the driver in C. (Note: VGADEMO requires the use
  92. of Borland's font files (ending in .CHR) which are with the
  93. turbo compilers. Copy them to the current directory before using
  94. VGADEMO. If you do not, VGADEMO will only use the 8x8 default font).
  95.  
  96. Modes available on this driver:
  97.  
  98. 0   320x200 256 Color
  99. 1   400x640 256 Color
  100. 2   480x640 256 Color  (requires 512K on card)
  101. 3   800x600 256 Color  (requires 512K on card)
  102.  
  103. Some of these modes may not be available depending on the video
  104. monitor  you are using and amount of memory on the VGA Wonder.
  105. See the ATI VGA Wonder manual for details.
  106.  
  107. The function "getmaxmode" in Turbo pascal can be used to
  108. determine the highest allowable mode for your system. All
  109. current hardware configuration support all modes from 0 to
  110. "getmaxmode". ie If getmaxmode = 2, modes 0,1,2 are allowed.
  111. Requesting any other mode will generate a "graphresult" error and
  112. leave the system in an undefined graphics state. If this occurs,
  113. getgraphmode can be used to determine the mode number that the
  114. system has defaulted to. However, it is highly recommended that
  115. the "setgraphmode(mode)" be used to reset the system to a valid
  116. mode.
  117.  
  118.  
  119. IN THE EVENT THAT FUTURE HARDWARE COMBINATIONS MAY not support
  120. a continuous series of modes read this:
  121.  
  122. The BGI kernel supplied by Borland does not seem to pass on errors
  123. that occur if a mode in the range 0..getmaxmode is not supported.
  124. ie say getmaxmode = 3, and modes 0,1,3 are valid and mode 2 is not
  125. supported. Doing "setgraphmode(2)" will not cause a "graphresult"
  126. error and "getgraphmode" will indicate the desired mode change was
  127. achieved. In fact the system system will be in an undefined graphics
  128. mode. To test if the desired video mode has been selected use "getmaxx"
  129. and "getmaxy" to see if the current mode has the resolution of the desired
  130. video mode. If it does not, the desired mode was not selected and
  131. "setgraphmode()" should be attempted with a new mode number until a valid
  132. mode is found.
  133.  
  134. AS STATED ABOVE, no known hardware configurations have this problem.
  135. However, for maximum compatibility, it would be wise to perform the above
  136. test just in case. Alternately, if you just want the highest resolution mode
  137. available, use the "detect_ATI_VGA_Wonder" function in ATIVW256.PAS as
  138. illustrated in VGADEMO.PAS and the system will start in the highest
  139. valid mode.
  140.  
  141.  
  142.  
  143. IF YOU HAVE PROBLEMS WITH ANY OF THE VIDEO MODES listed
  144. above, use ATI'S "vgatest"  program (NOT the vgatest 
  145. program on this disk) to verify that the mode in 
  146. question works properly with your ATI card and video 
  147. monitor. ("vgatest" does not test all modes, but
  148. if you have horizontal or vertical hold problems, you
  149. can try other modes of the same resolution as the one
  150. causing problems to see if your monitor supports the
  151. required horizontal and vertical frequencies.)
  152.  
  153.  
  154.  
  155. IBM8514 BGI driver Compatibility
  156. --------------------------------
  157. This driver supports a 640x480 mode of similar resolution to
  158. a IBM8514 mode.
  159.  
  160.  
  161. Similarities:
  162.  
  163. Use SetRGBPalette(ColorNum, RED, Green, Blue : word) as outlined
  164. in the Turbo Pascal 5.0 manual for setting the palette.
  165. Do not use SetAllPalette, SetPalette, GetPalette.
  166.  
  167. Differences:
  168.  
  169. FloodFill WORKS with this driver (IBM8514.BGI does NOT provide
  170. floodfill operations). 800x600 is the highest resolution available
  171. on the VGA Wonder.
  172.  
  173.  
  174. PROGRAMMING NOTES
  175. -----------------
  176. Use SetRGBPalette(ColorNum, RED, Green, Blue : word) as outlined
  177. in the Turbo Pascal 5.0 manual for setting the palette.
  178. Do not use SetAllPalette, SetPalette, GetPalette.
  179.  
  180. Turbo Pascal Version 5.0 bug: the function "GetDriverName" should
  181. return the name of the installed bgi driver. It does not work for
  182. drivers other than the standard ones provided with Turbo Pascal.
  183. Turbo C 2.0 handles this function correctly.  VGADEMO.PAS returns
  184. a blank name string when compiled with 5.0. VGATEST.C returns the 
  185. name correctly when compiled with 2.0.
  186.  
  187.  
  188.  
  189. Speed Optimization
  190. ------------------
  191.  
  192. The high resolution modes use large amounts of graphics memory.
  193. This slows down graphics operations. I have tried to optimize
  194. this driver for speed of some critical operations instead of driver
  195. size - it therefore consumes a little more memory than some drivers.
  196.  
  197. In order to keep your applications as fast as possible:
  198.  
  199. 1) For rectangular bars, solid bars are MUCH faster than
  200.    patterned bars. You have 256 colors - try using some
  201.    of then instead of patterns to distinguish between areas
  202.    if possible.
  203.  
  204. 2) Getimage and Putimage(,,,copyput) are fast. Other putimage
  205.    functions are fast - but not as fast.
  206.  
  207. 3) For lines, SOLID HORIZONTAL LINES are very fast. SOLID
  208.    VERTICAL LINES are about half the speed of horizontal lines.
  209.    Patterned, thick  and diagonal lines are slowest.
  210.  
  211.  
  212.  
  213.  
  214. BUGS and SUGGESTIONS
  215. --------------------
  216.  
  217. If you find a bug, please document it and inform Peter Jones.
  218. If possible, documentation should consist of
  219.  
  220.    - the version number of this driver. To get the version,
  221.      type
  222.        TYPE ATIVW256.BGI
  223.      followed by return. This will show the driver header on the
  224.      screen. A number such as 2.00 is the version number.
  225.    - a short description of the problem.
  226.    - a short description of how the same program runs with a Borland
  227.      supplied driver (assumed to be working correctly).
  228.    - a working program demonstrating the problem with my driver.
  229.    - a working program demonstrating the correct operation using a
  230.      Borland driver.
  231.    - VGA Wonder memory (256K or 512K)
  232.    - VGA Wonder Bios revision
  233.    - VGA Wonder card revision # (on the card - dont bother unless
  234.      you have the computer open anyway.
  235.    - Computer Make, processor speed, DOS
  236.    - any other information you feel is necessary
  237.  
  238.  
  239. If you have any suggestions for improvements, I would be pleased
  240. to hear from you. I would also be interested in requests for similar
  241. drivers for other cards. If I receive enough requests, I will modify
  242. this driver.
  243. 
  244.