home *** CD-ROM | disk | FTP | other *** search
- Notes on the ATI VGA Wonder 256 Color Driver - CRIPPLED VERSION
- ---------------------------------------------------------------
- The contents of this disk are
-
- copyright (C) 1990 by Peter F. Jones
- ALL RIGHTS RESERVED
-
-
- The contents of this disk or archive file may be used, copied and
- distributed freely, provided all individual files and the copyright
- notice are included.
-
- READ THIS
- ---------
-
- This Demonstration software is intentionally crippled. The BGI driver
- will be fully functional for approximately 2 minutes after it is first
- loaded by the application program. After that period, some of its functions
- (such as linedraw etc) will fail. However you should be able to test the
- driver with your hardware/software in that period of time. If you run out
- of time, just restart you software (or reload the driver).
-
-
- This crippled .BGI driver is slightly slower and larger in file size
- than the fully functional version.
-
-
- The fully functional version is available for US $10.00 (Shipping
- included for USA and Canada. Add $5.00 shipping and handling
- elsewhere. Add $15 for overnight delivery in USA or Canada. Ontario
- residents add 8% sales tax) Terms: VISA, COD ($3 extra, Canada only)
- Money Order, Certified Check.
-
-
-
- Orders and inquiries concerning drivers for other cards or devices should
- be sent to:
-
- Jones Computer Supplies
- Attention: Peter Jones
- RR # 3
- Perth, Ontario K7H 3C5
- Canada
- Tel (613)267-6704 Fax (613)264-0372
-
-
- IF YOU WOULD LIKE A DRIVER FOR OTHER GRAPHICS CARDS, please send us the
- name/model/version of the card, manufacturer, address/telephone/fax of
- the manufacturer, and the graphics modes you wish to use. If there is enough
- demand, we will make a BGI driver for it.
-
- Contents
- --------
- You should have the following files:
-
- READ.ME This file.
-
- ATIVW256.BGI The driver file. THIS IS A CRIPPLED VERSION
-
- ATIVW256.PAS Holds the Pascal autodetect routine to test for the VGA Wonder
- which returns the mode with the highest resolution available
- on your system. See "InstallUserDriver" in "Chapter 16 - Turbo
- Pascal Reference Lookup" of the "Turbo Pascal Reference Guide"
- for Turbo Pascal Version 5.0;
- ATIVW256.C Turbo C version of ATIVW256.PAS. Note: this uses inline
- assembly code. ATIVW256.OBJ is the compiled and assembled
- version ready to be linked if an assembler is not available.
- ATIVW256.H Header with function prototype for ATIVW256.C.
- ATIVW256.OBJ Object file complied and assembled from ATIVW256.C.
-
- VGADEMO.PAS Borland's sample program to demonstrate the use of the driver
- and autodetect function in Pascal.
- VGADEMO.EXE Compiled version of VGADEMO.PAS.
-
- VGATEST.C Sample program to demonstrate the use of the driver and
- autodetect function in C. (Much simpler program than
- VGADEMO.PAS)
- VGATEST.EXE Compiled version of VGATEST.C.
-
- Available Modes
- ---------------
- Note: Discussions here refer to Turbo Pascal. These comments
- apply to Turbo C, where graphics commands are similar if not
- identical. See the Turbo C manual for details.
-
- The driver should be used as outlined in "InstallUserDriver" of
- "Chapter 16 - Turbo Pascal Reference Lookup" of the "Turbo Pascal
- Reference Guide" for Turbo Pascal Version 5.0. It has been tested
- with both Turbo C V2.0 and Turbo Pascal V5.0. VGADEMO.PAS is an
- example of how to use it in pascal. VGATEST.C is an example of
- how to use the driver in C. (Note: VGADEMO requires the use
- of Borland's font files (ending in .CHR) which are with the
- turbo compilers. Copy them to the current directory before using
- VGADEMO. If you do not, VGADEMO will only use the 8x8 default font).
-
- Modes available on this driver:
-
- 0 320x200 256 Color
- 1 400x640 256 Color
- 2 480x640 256 Color (requires 512K on card)
- 3 800x600 256 Color (requires 512K on card)
-
- Some of these modes may not be available depending on the video
- monitor you are using and amount of memory on the VGA Wonder.
- See the ATI VGA Wonder manual for details.
-
- The function "getmaxmode" in Turbo pascal can be used to
- determine the highest allowable mode for your system. All
- current hardware configuration support all modes from 0 to
- "getmaxmode". ie If getmaxmode = 2, modes 0,1,2 are allowed.
- Requesting any other mode will generate a "graphresult" error and
- leave the system in an undefined graphics state. If this occurs,
- getgraphmode can be used to determine the mode number that the
- system has defaulted to. However, it is highly recommended that
- the "setgraphmode(mode)" be used to reset the system to a valid
- mode.
-
-
- IN THE EVENT THAT FUTURE HARDWARE COMBINATIONS MAY not support
- a continuous series of modes read this:
-
- The BGI kernel supplied by Borland does not seem to pass on errors
- that occur if a mode in the range 0..getmaxmode is not supported.
- ie say getmaxmode = 3, and modes 0,1,3 are valid and mode 2 is not
- supported. Doing "setgraphmode(2)" will not cause a "graphresult"
- error and "getgraphmode" will indicate the desired mode change was
- achieved. In fact the system system will be in an undefined graphics
- mode. To test if the desired video mode has been selected use "getmaxx"
- and "getmaxy" to see if the current mode has the resolution of the desired
- video mode. If it does not, the desired mode was not selected and
- "setgraphmode()" should be attempted with a new mode number until a valid
- mode is found.
-
- AS STATED ABOVE, no known hardware configurations have this problem.
- However, for maximum compatibility, it would be wise to perform the above
- test just in case. Alternately, if you just want the highest resolution mode
- available, use the "detect_ATI_VGA_Wonder" function in ATIVW256.PAS as
- illustrated in VGADEMO.PAS and the system will start in the highest
- valid mode.
-
-
-
- IF YOU HAVE PROBLEMS WITH ANY OF THE VIDEO MODES listed
- above, use ATI'S "vgatest" program (NOT the vgatest
- program on this disk) to verify that the mode in
- question works properly with your ATI card and video
- monitor. ("vgatest" does not test all modes, but
- if you have horizontal or vertical hold problems, you
- can try other modes of the same resolution as the one
- causing problems to see if your monitor supports the
- required horizontal and vertical frequencies.)
-
-
-
- IBM8514 BGI driver Compatibility
- --------------------------------
- This driver supports a 640x480 mode of similar resolution to
- a IBM8514 mode.
-
-
- Similarities:
-
- Use SetRGBPalette(ColorNum, RED, Green, Blue : word) as outlined
- in the Turbo Pascal 5.0 manual for setting the palette.
- Do not use SetAllPalette, SetPalette, GetPalette.
-
- Differences:
-
- FloodFill WORKS with this driver (IBM8514.BGI does NOT provide
- floodfill operations). 800x600 is the highest resolution available
- on the VGA Wonder.
-
-
- PROGRAMMING NOTES
- -----------------
- Use SetRGBPalette(ColorNum, RED, Green, Blue : word) as outlined
- in the Turbo Pascal 5.0 manual for setting the palette.
- Do not use SetAllPalette, SetPalette, GetPalette.
-
- Turbo Pascal Version 5.0 bug: the function "GetDriverName" should
- return the name of the installed bgi driver. It does not work for
- drivers other than the standard ones provided with Turbo Pascal.
- Turbo C 2.0 handles this function correctly. VGADEMO.PAS returns
- a blank name string when compiled with 5.0. VGATEST.C returns the
- name correctly when compiled with 2.0.
-
-
-
- Speed Optimization
- ------------------
-
- The high resolution modes use large amounts of graphics memory.
- This slows down graphics operations. I have tried to optimize
- this driver for speed of some critical operations instead of driver
- size - it therefore consumes a little more memory than some drivers.
-
- In order to keep your applications as fast as possible:
-
- 1) For rectangular bars, solid bars are MUCH faster than
- patterned bars. You have 256 colors - try using some
- of then instead of patterns to distinguish between areas
- if possible.
-
- 2) Getimage and Putimage(,,,copyput) are fast. Other putimage
- functions are fast - but not as fast.
-
- 3) For lines, SOLID HORIZONTAL LINES are very fast. SOLID
- VERTICAL LINES are about half the speed of horizontal lines.
- Patterned, thick and diagonal lines are slowest.
-
-
-
-
- BUGS and SUGGESTIONS
- --------------------
-
- If you find a bug, please document it and inform Peter Jones.
- If possible, documentation should consist of
-
- - the version number of this driver. To get the version,
- type
- TYPE ATIVW256.BGI
- followed by return. This will show the driver header on the
- screen. A number such as 2.00 is the version number.
- - a short description of the problem.
- - a short description of how the same program runs with a Borland
- supplied driver (assumed to be working correctly).
- - a working program demonstrating the problem with my driver.
- - a working program demonstrating the correct operation using a
- Borland driver.
- - VGA Wonder memory (256K or 512K)
- - VGA Wonder Bios revision
- - VGA Wonder card revision # (on the card - dont bother unless
- you have the computer open anyway.
- - Computer Make, processor speed, DOS
- - any other information you feel is necessary
-
-
- If you have any suggestions for improvements, I would be pleased
- to hear from you. I would also be interested in requests for similar
- drivers for other cards. If I receive enough requests, I will modify
- this driver.
-