Dec 062017
A SuperVGA BGI driver for Turbo C and ATI VGA that uses 16-bit read/writes and super optimized code.
File ATIDRIV.ZIP from The Programmer’s Corner in
Category Miscellaneous Language Source Code
A SuperVGA BGI driver for Turbo C and ATI VGA that uses 16-bit read/writes and super optimized code.
File Name File Size Zip Size Zip Type
ATI256.BGI 2943 2109 deflated
ATI256.H 469 199 deflated
ATI256.OBJ 3026 2180 deflated
ATIDET.H 362 147 deflated
ATIDET.OBJ 300 279 deflated
COLORTST.C 4400 1413 deflated
COLORTST.PRJ 37 31 deflated
MAKEOBJ.BAT 48 40 deflated
README.DOC 6331 2181 deflated
SIMPLE.C 969 449 deflated
SIMPLE.PRJ 35 29 deflated
SINEC.C 3333 1248 deflated
SINEC.PRJ 34 28 deflated
VGAEXTRA.H 1221 510 deflated

Download File ATIDRIV.ZIP Here

Contents of the README.DOC file


ATI256.BGI -- A SuperVGA BGI driver for Turbo C and ATI VGA
-- Using 16-bit read/writes and super optimized code

Thomas Design
P.O. Box 586
Stillwater Oklahoma

Modes supported:
320x200 by 256 - Standard VGA (256k ram)
640x400 by 256 - ATI VGA (256k)
640x480 by 256 - ATI VGA (512k)
800x600 by 256 - ATI VGA (512k)


This is a DEMO 256 color Super VGA driver for Turbo C. Wherever possible
16-bit read/writes have been used. Most of the graphics routines execute
entirely out of the CPU registers so system memory performance won't degrade
the graphics speed. There are a number of 256 color drivers available and
all use the same code except for the VRAM segment select routines. This
makes the 256 color drivers an excellent way to benchmark various VGA boards.
In our own experience we've noted a large difference in performance between
8 and 16-bit VGA boards, and between VGA chipsets.

Because of a BUG in Turbo C we had to create two separate versions of
each driver for Turbo C and Turbo Pascal. The Turbo C version of the driver
will hang if you try to use it in Turbo Pascal. If you use the Turbo Pascal
driver you will get to see the BUG in action! The BUG is that the getmaxx
and getmaxy values, in fact all the DEVICE INFORMATION block is ignored by
Turbo C. The only mode that will work properly is the one reported by
AutoDetect. This means that we had to add extra code to write the correct
DEVICE INFORMATION block back into the Turbo C graphics unit (or data area).

Also we intend to add dither support to the fill routines. This will
appear as new BGI function call that can be turned ON or OFF and will effect
only the fills. A method in Turbo Pascal to call the currently loaded BGI
driver needs to be discovered first.....

Files provided:
ATI256.BGI -- the 256 color BGI driver for Turbo C
ATI256.OBJ -- the OBJ version of the BGI driver
ATI256.H -- the include file for ATI256.BGI
ATIDET.H -- the include file for autodetection
ATIDET.OBJ -- Autodetection routine
VGAEXTRA.H -- flashmodeon() flashmodeoff() dacpalette()
SIMPLE.C -- C program showing how to register the BGI driver
SIMPLE.PRJ -- associated project file
COLORTST.C -- displays all 256 colors with color number
COLORTST.PRJ -- project file
SINEC.C -- demos the speed of linedraw routine
SINEC.PRJ -- project file
README.DOC -- Documentation file.
MAKEOBJ.BAT -- simple bat file that creates the OBJ version
-- Notes:
-- floodfill not implemented. Use fillpoly or fillellipse.
-- Vertical Text not implemented. Could add later if demand warrants.
-- 16-bit read/writes. In most cases graphics limited by VRAM
access times.
-- Outtext has not been optimized. The registered version will
use an optimized version that is smaller and faster.
-- Excellent test between graphics cards. 256 color drivers use
same code except for the VRAM segment select.
-- To determine if your driver is for TC or Tpascal do the following:
You should see a line of text with a version number for the driver.
If it starts with "C" such as C.01.02 it is a Turbo C driver.
The Turbo Pascal drivers start with "P" like: P.01.02

This driver is a "DEMO COPY" of the real driver. It is about 500 bytes
larger than the registered version. To register and receive the final
version with no "DEMO" header send $15.00 via check or money order to:
Thomas Design
P.O. Box 586
Stillwater Ok.

- Indicate which driver you want Turbo C or Turbo Pascal
- You can recieve your copy on either 5 1/4" or 3 1/2" disc,
so please specify the format.

A version of each driver is also available that only contain:
-- putpixel, getpixel, line, moveto, outtextxy, getmaxcolor --
These versions can be used in programs only requiring those routines.
They are about 1000 bytes smaller than the registered versions.

If you want to use these drivers in a commercial product, do so by linking
the drivers into the executable. Contact us if you wish to do otherwise.
--- Use this form to indicate the driver/s you wish to purchase --

The cost is $15.00 per driver. Mark with: __X__ for desired BGI driver.

(ATI VGA) (Video 7) (Paradise) (Tecmar) (Tseng Labs)
256 color BGI: ATI256.BGI VID256.BGI PAR256.BGI TEC256.BGI ORC256.BGI
Turbo C: _____ _____ _____ _____ _____
Turbo Pascal: _____ _____ _____ _____ _____

Turbo C: _____ _____ _____ _____ _____
Turbo Pascal: _____ _____ _____ _____ _____

Diskette form: 3 1/2" ____ 5 1/4" ____

I would like a limited version of the BGI driver containing only putpixel,
getpixel, outtext, and line for the following BGI driver/s: _____________
(Please indicate if Turbo C or Turbo Pascal version)

 December 6, 2017  Add comments

Leave a Reply