home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
PROG_PAS
/
TPPCX256.ZIP
/
JCS_READ.ME
< prev
next >
Wrap
Text File
|
1993-12-21
|
38KB
|
784 lines
Notes on the Super VGA BGI Drivers Document Version 3.07
----------------------------------
The contents of this disk or file are
copyright (C) 1990,1991 by Peter F. Jones
ALL RIGHTS RESERVED
Contents
--------
If you have obtained these files from the self extracting file BGI.EXE,
you will only have crippled versions of the Super VGA BGI drivers. Note that
the crippled drivers have the same files names as the fully functional
versions. For further details see the description of BGI.EXE in "b)" below.
BGI.EXE will however have a FULLY OPERATIONAL 320x200 256 color MCGA/VGA
called MCVGA256.BGI. This driver is faster that the one Borland has released,
and has a working floodfill function. You are free to use and distribute
MCVGA256.BGI as long as you dont charge for it, include the copyright notice,
and include the complete file BGI.EXE with it.
If you have purchased one or more BGI drivers, this disk will contain two
groups of files: a) The fully functional BGI drivers and b) Other Files: Demo
programs and autodetect source code that can be incorporated in your programs.
a) BGI Drivers
Only the drivers which you have ordered will be on the disk. The current
selection of drivers includes:
File Name Description
MCVGA256.BGI A 256 color BGI driver for use with regular MCGA and
VGA systems. This driver is faster that the one Borland
has released, and has a working floodfill function. You are
free to use and distribute MCVGA256.BGI as long as you 1)dont
charge for it, 2)include the copyright notice, and 3) include
the complete file BGI.EXE with a note that the file has
additional information about bgi drivers.
Possible graphics modes offered by this driver are:
Mode# Description
0 320x200 256 Color
***************************************************************
****MCVGA256.BGI is NOT CRIPPLED and is included in BGI.EXE.***
***************************************************************
MCVGA480.BGI A 256 color BGI driver that gets higher than normal resolution
with regular MCGA and VGA systems. This driver reprograms the
VGA registers to create a non-standard 360x480 resolution
video mode. It should allow most users stuck with standard
VGA Cards or IBM PS/2s to get better graphics images without
changing hardware on the system. Because this driver changes
the VGA registers, it may not work with some VGA cards that
are not fully register compatible.
Possible graphics modes offered by this driver are:
Mode# Description
0 360x480 256 Color
ATIVW256.BGI The 256 color BGI driver for use with the ATI VGA WONDER.
Possible graphics modes offered by this driver are:
Mode# Description
0 320x200 256 Color
1 640x400 256 Color
2 640x480 256 Color (requires 512K on card)
3 800x600 256 Color (requires 512K on card)
4 1024x768 256 Color (requires 1M on card)
ATIVW768.BGI The 16 color BGI driver for use with the ATI VGA WONDER.
Possible graphics modes offered by this driver are:
Mode# Description
0 1024x768 16 Color (requires 512K on card)
TRI256.BGI The 256 color BGI driver for use with TRIDENT 8800CS
and 8900 cards.
Possible graphics modes offered by this driver are:
Mode# Description
0 320x200 256 Color
1 640x400 256 Color
2 640x480 256 Color (requires 512K on card)
3 800x600 256 Color (requires 512K and 8900 chip set)
4 1024x768 256 Color (requires 512K and 8900 chip set)
TRIBR256.BGI The 256 color BGI driver for use with TRIDENT 8800BR cards.
Possible graphics modes offered by this driver are:
Mode# Description
0 320x200 256 Color
1 640x400 256 Color
2 640x480 256 Color (requires 512K on card)
3 800x600 256 Color (requires 512K on card and 8900 chip set)
4 1024x768 256 Color (requires 512K on card and 8900 chip set)
VESA256.BGI The 256 color BGI driver for use with VESA compatible cards.
VESA is the "Video Electronics Standards Association"
(San Jose, CA) which has produced a Super VGA standardized
bios specification. It is hoped that Super VGA card
manufacturers will support this standard. If we do not
have a driver specifically for your card, contact the
card's manufacturer and see if the card is VESA compatible,
or if they have a VESA driver for it. If so, then this
driver can probably be used with your card (depending on
the VESA modes you card supports).
Possible graphics modes offered by this driver are:
Mode# Description
0 640x400 256 Color
1 640x480 256 Color (requires 512K on card)
2 800x600 256 Color (requires 512K on card)
3 1024x768 256 Color (requires 768K on card)
4 1280x1024 256 Color (requires 1M on card)
PAR256.BGI The 256 color BGI driver for use with Paradise (Western
Digital) cards.
Possible graphics modes offered by this driver are:
Mode# Description
0 320x200 256 Color
1 640x400 256 Color
2 640x480 256 Color (requires 320K on card)
3 800x600 256 Color (requires 512K on card)
Note: mode 3 is not supported on all cards.
TSNG4256.BGI The 256 color BGI driver for use with TSENG ET4000
chip set based cards. We have tested it on the
STB Powergraph VGA card.
Possible graphics modes offered by this driver are:
Mode# Description
0 320x200 256 Color
1 640x350 256 Color
2 640x400 256 Color
3 640x480 256 Color
4 800x600 256 Color
5 1024x768 256 Color
Note: the actual modes available will depend
on the particular VGA card, memory and monitor.
TSNG3256.BGI The 256 color BGI driver for use with TSENG ET3000
chip set based cards. We have tested it on the
STB EVGA 16 VGA card.
Possible graphics modes offered by this driver are:
Mode# Description
0 320x200 256 Color
1 640x350 256 Color (requires 512K on card)
2 640x480 256 Color (requires 512K on card)
3 800x600 256 Color (requires 512K on card)
Note: the actual modes available will depend
on the particular VGA card, memory and monitor.
b) Other Files
These programs and autodetect source code that can be incorporated in your
programs.
File Name Description
READ.ME This file.
VGADEMO.PAS Borland's sample program to demonstrate the use of the
drivers and autodetect functions in Pascal. Must be
compiles with Turbo Pascal to run.
VGADEMO.EXE Compiled version of VGADEMO.PAS. (not included -
you must use Turbo Pascal to compile VGADEMO.PAS
to create this file.)
VGATEST.C Sample program to demonstrate the use of the drivers and
autodetect function in C. (Much simpler program than
VGADEMO.PAS)
VGATEST.MAK Makefile to create VGATEST.EXE. To create VGATEST.EXE,
type
make -fvgatest.mak
followed by pressing the 'Enter' or 'Return' key. See your
Turbo C manual for details on how to use the 'make'
program which is included with Turbo C. Note: this makefile
assumes you have your path set to the Turbo C directory,
and that the Turbo C directory is C:\tc. If your compiler
is in some other directory, you will have to modify the
paths in teh makefile.
CHOOSE.PAS Subroutine that allows the user to select which driver
to try from all the drivers on the disk, and after a
driver has been selected, the user is then given a choice
of which graphics mode to use. It uses the standard
autodetect functions to tell the user which drivers and
modes should work with the existing hardware, but allows
the user to override the standard autodetect routines and
provides a dummy autodetect routine to force the use of
a questionable video mode. This may be useful when trying
the drivers with hardware that is similer - but not
identical to the hardware for which the drivers were
written.
CHOOSE.C C version of CHOOSE.PAS.
RGBPALET.PAS Subroutines which use register level operations to
read and write the red,green and blue components
of the 256 color VGA DAC registers. Operation
is much the same as turbo's setRGBpalette subroutine
except that because registers are used instead of interupts,
the time to update a palette entry is reduced. However,
some VGA boards may experiance snow so you are advised
to test the set routines with your particular hardware.
In addition to "register_setrgbpalette", there is also
"register_getrgbpalette" which can be used to read the
current rgb values of the DAC palette entries, and
"register_setallrgbpalette" which can be used to set
a number of sucessive DAC palette values. In particular,
when used with the constant array default_VGA_palette[],
"register_setallrgbpalette(default_VGA_palette,0,16)"
can be used to reset the first 16 colors to the standard
VGA colors. This can be used to reset the DAC palette
after changing their values, or to initialize the first
16 colors on VGA boards that do not automatically do this
when a VGA graphics mode is entered.
****** This file is not included with the demo ******
****** versions of the drivers. It is included ******
****** on the disk when any of our BGI drivers ******
****** are purchased. ******
RGBPALET.C C version of RGBPALET.PAS
****** This file is not included with the demo ******
****** versions of the drivers. It is included ******
****** on the disk when any of our BGI drivers ******
****** are purchased. ******
BGI.EXE A self extracting archive file that holds crippled
versions of the drivers. You may freely distribute this file
to others without special license agreements. Note: the
crippled version of the drivers have the same name as the
working version. DO NOT GET THEM MIXED - only run BGI.EXE
in a different disk / directory.
The crippled BGI drivers will be fully functional for
approximately 2 minutes after being loaded by the
application program. After that period, some
functions (such as linedraw etc) will fail. However you
should be able to test the driver with your hardware
and software in that period of time. If you run out of time,
just restart your software (or reload the driver).
This crippled .BGI drivers are slightly slower and larger
in file size than the fully functional versions.
BGI.TXT A short description of BGI.EXE. It is intended for use
in the file description section of some BBSs.
ATIVW.C Subroutines to be used with ATIVW256.C and ATIVW768.C
ATIVW.OBJ Compiled and assembled version of ATIVW.C
ATIVW.H Header with function prototype for ATIVW.C.
ATIVW256.PAS Pascal autodetect for ATI VGA Wonder 256 color modes.
ATIVW256.C Turbo C version of ATIVW256.PAS.
ATIVW256.H Header with function prototype for ATIVW256.C.
ATIVW768.PAS Pascal autodetect for ATI VGA Wonder 1024x768 16 color mode.
ATIVW768.C Turbo C version of ATIVW768.PAS.
ATIVW768.H Header with function prototype for ATIVW768.C.
TRI256.PAS Pascal autodetect for TRIDENT 8800CS/8900 256 color modes.
TRI256.C Turbo C version of TRI256.PAS.
TRI256.H Header with function prototype for TRI256.C.
TRIBR256.PAS Pascal autodetect for TRIDENT 8800BR 256 color modes.
TRIBR256.C Turbo C version of TRIBR256.PAS.
TRIBR256.H Header with function prototype for TRIBR256.C.
MCVGA256.PAS Pascal autodetect for MCGA and VGA Cards.
MCVGA256.C Turbo C version of MCVGA256.PAS.
MCVGA256.H Header with function prototype for MCVGA256.C.
Note: use this as teh autodetect function for
both MCVGA256.BGI and MCVGA480.BGI.
VESA256.PAS Pascal autodetect for VESA compatible VGA cards.
VESA256.C Turbo C version of VESA256.PAS.
VESA256.H Header with function prototype for VESA256.C.
VESA256.OBJ Compiled version of VESA256.C.
PAR256.PAS Pascal autodetect for Paradise 256 color modes.
PAR256.C Turbo C version of PAR256.PAS.
PAR256.H Header with function prototype for PAR256.C.
TSNG4256.PAS Pascal autodetect for TSENG ET4000 based cards.
TSNG4256.C Turbo C version of TSNG4256.PAS.
TSNG4256.H Header with function prototype for TSNG4256.C.
TSNG3256.PAS Pascal autodetect for TSENG ET3000 based cards.
TSNG3256.C Turbo C version of TSNG3256.PAS.
TSNG3256.H Header with function prototype for TSNG3256.C.
Note: the autodetect files listed above are included even if you did
not order the corresponding driver. You you can still test code that
uses these routines by extracting the crippled versions of these drivers
from BGI.EXE.
READ THIS
---------
All files on this disk or in this archive file except the fully functional
Super VGA BGI drivers may be used or incorporated in your software provided
the copyright notices and JONES COMPUTER SUPPLIES' address is included and is
clearly visible to any potential user. If you intend to include any
individual files from this disk - the autodectect source code or the low
resoultion MCGA/VGA driver MCVGA256.BGI for example - you must also include
an unmodified version of the file BGI.EXE.
The fully functional Super VGA BGI drivers may only be used as outlined by
your license agreement - if you wish to distribute them with your software,
you must obtain a special license agreement from JONES COMPUTER SUPPLIES.
In order that we can continue to provide BGI drivers at low cost, please
help us by distributing the self extracting file BGI.EXE (which holds a
crippled demonstration version of the drivers) to anyone (or BBS) that might
be interested.
COMPATIBILITY LIST
-------------------
Here is a list of manufacturers and VGA cards that may help you select
a BGI driver:
VGA CARD/Chip Set DRIVER COMMENTS
-------- ------ --------
Acr Computers try "ATI VGA Wonder"
ALR Computers try "Paradise VGA1024"
AST Computers try "Paradise VGA1024"
AT&T Computers try "Paradise VGA1024"
ATI VGA Edge ATIVW256.BGI Should work
ATI VGA Wonder ATIVW256.BGI Tested and Works
ATIVW768.BGI Tested and Works
ATI VGA Wonder XL ATIVW256.BGI Tested and Works
ATIVW768.BGI Tested and Works
ATI VGA Wonder+ ATIVW256.BGI Should work
ATIVW768.BGI Should work
ATI VGA Integra ATIVW256.BGI Should work
ATIVW768.BGI Should work
ATI 18800 Chip Set ATIVW256.BGI Should work
ATIVW768.BGI Should work
ATI 18810 Chip Set ATIVW256.BGI Should work
ATIVW768.BGI Should work
Austin Computers try "TSENG ET3000" or "TSENG ET4000"
Compuadd Computers try "TSENG ET3000" or "TSENG ET4000"
Dell Computers try "Paradise VGA1024"
Diamond Speedstar VGA TSENG4256.BGI Used by one of our customers
We have not tested it
Need to set VMODE to "Custom"
monitor to make Diamond work.
Gateway Computers try "Diamond Speedstar VGA"
HP (Hewlett-Packard) Cards try "Paradise VGA1024"
Hyundai Computers try "ATI VGA Wonder"
IBM PS/2 MCVGA256.BGI All MCGA/VGA systems
MCVGA480.BGI Should work on most systems
Logix 2000 TRI256.BGI Used by one of our customers
We have not tested it
NEC Computers try "Paradise VGA1024"
Orchid Prodesigner TSENG3256.BGI Should work
Orchid Prodesigner II TSENG4256.BGI Used by one of our customers
We have not tested it
Paradise VGA1024 PAR256.BGI Tested and Works
Paradise Professional VGA PAR256.BGI Should work
Paradise WD90C00 Chip set PAR256.BGI Should work
Quadram Spectra TSENG3256.BGI Should work
Sigma VGA Legend TSENG4256.BGI Should work
Sota VGA/16 TSENG3256.BGI Should work
STB VGA EM-16 TSENG3256.BGI Should work
STB VGA Extra TSENG3256.BGI Should work
STB EVGA-16 TSENG3256.BGI Tested and Works
STB Powergraph TSENG4256.BGI Tested and Works
Swan/Tussey Computers try "TSENG ET3000" or "TSENG ET4000"
Trident Version 1 cards TRIBR256.BGI Tested and Works
Trident Version 2 and above TRI256.BGI Tested and Works
Trident 8800BR Chip set TRIBR256.BGI Tested and Works
Trident 8800CS Chip set TRI256.BGI Tested and Works
Trident 8900 Chip set cards TRI256.BGI Tested and Works
Tseng ET4000 based cards TSENG4256.BGI Should work on most cards
Tseng ET3000 based cards TSENG3256.BGI Should work on most cards
Unisys Computers try "Paradise VGA1024"
VESA VESA256.BGI Should work on most cards
Western Digital see Paradise
Willow Publishers VGA TSENG3256.BGI Should work
TrueTech HiResVGA TRI256.BGI Should work
Zeos Computers try "Diamond Speedstar VGA"
ZyMOS POACH51 VGA Chip set TRI256.BGI Should work on most cards.
For computer manufactures such as ALR. AST etc, this lists which cards
are likely to be in machine. However, there is no guarantee that this
is the case and you will have to try the drivers.
"Should work" means that compatibility information indicates that the
drivers will probably work, but we have not tested that particular hardware.
You should test the appropriate crippled drivers before ordering.
IF your video card is not listed above, see if it supports the VESA video
standard and then try VESA256.BGI. Some VGA manufacturers have tsr routines
that makes their cards VESA compatible. Also see if you can identify
the chip set or manufacturer of your card, and then try drivers supporting
that chip set or other cards from the same manufacturer - it may work!
You can also run MCVGA480.BGI on most VGA and Super VGA cards that are fully
VGA register compatible. MCVGA480.BGI will give you 360x480 resolution
which is not Super VGA, but is better than standard VGA 320x200 in 256 colors.
Finally, if nothing else works, MCVGA256.BGI will work on all VGA compatible
systems, but of course you are limited to IBM's standard 320x200 in 256 colors.
We would be pleased to hear from people who have tried the drivers on
any of the above cards so we update this list. We would also be pleased
to include the names of other cards that our drivers work with.
ORDERING INFORMATION
--------------------
Orders and inquiries 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
Current drivers include:
ATIVW256.BGI The 256 color BGI driver for the ATI VGA WONDER.
ATIVW768.BGI The 1024x768 16 color BGI driver for the ATI VGA WONDER.
TRI256.BGI The 256 color Super VGA BGI driver for TRIDENT 8800CS/8900 cards.
TRIBR256.BGI The 256 color Super VGA BGI driver for TRIDENT 8800BR cards.
VESA256.BGI The 256 color Super VGA BGI driver for VESA cards.
PAR256.BGI The 256 color Super VGA BGI driver for Paradise cards.
TSNG4256.BGI The 256 color Super VGA BGI driver for TSENG ET4000 cards (STB Powergraph etc).
TSNG3256.BGI The 256 color Super VGA BGI driver for TSENG ET3000 cards (STB EVGA-16 etc).
MCVGA480.BGI The 256 color 360x480 BGI driver for MCGA and VGA.
MCVGA256.BGI The 256 color 320x200 BGI driver for MCGA and VGA.
MCVGA256.BGI is included in working form in the demonstration
disk or file. It is also included when any of the other drivers
are ordered.
A disk with all the drivers listed above is available for US $25.00. Please
specify 5.25" or 3.5" disk size when ordering. Shipping and handling to USA
and Canada is included in the above prices. Add US $5.00 per order for shipping
and handling to other destinations. Add $15 for overnight delivery in USA or Canada.
Ontario residents add 8% sales tax. Canadian residents add 7% GST.
Terms: VISA, Money Order, Certified Check or COD ($3 extra, Canada only).
We accept VISA orders by telephone, mail or fax. We wil also accept purchase
orders for government agencies or major companies with suitable references.
Site licences and quantity discounts are also avialable. Please contact us for
further details.
You may also order the latest verson of the demonstration disk with
crippled Super VGA BGI drivers and the fully functional MCVGA256.BGI
driver for $5.00. Terms are identical to those described above.
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.
The Crippled Drivers
--------------------
The crippled drivers are provided so that you can test the operation of
the BGI drivers with your particular hardware. BEFORE ORDERING a driver,
make sure that the crippled version will run on your system. The crippled
drivers are almost identical to the fully functional ones except that some
graphics operations will cease to function after approximatly 2 minutes from
when the driver was first used. This is enough time to run VGADEMO.EXE and
VGATEST.EXE. If you need more time, simply reload the driver (ie restart your
program) and you will have another two minutes. The crippled drivers are
slightly larger in size and slower in operation than the fully functional
drivers.
Because the crippled drivers are identical in name to the fully functional
drivers, you can use write programs that use them even if you do not have
the fully functional drivers yet. When you get the fully functional drivers,
simply copy them over the crippled ones and your programs will run normally
(without the 2 minute limit before the crippled drivers fail.)
PROGRAMMING NOTES
-----------------
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).
Available Modes
---------------
Graphics modes that are available depend on the BGI driver and your video
card and monitor. The possible video modes for each driver are listed above
under "CONTENTS - a)BGI Drivers".
Some of these modes may not be available depending on the video
monitor you are using and amount of memory on the graphics card.
See the card's 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.
In Turbo Pascal, 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. This does not work in
Turbo C 2.0. See the "BUGS and SUGGESTIONS" section.
If you just want the highest resolution mode available, use the
autodetect functions (such as ATIVW256.PAS, ATIVW256.C, ATIVW768.PAS,
ATIVW768.C, TRI256.PAS, TRI256.C etc)as illustrated in VGADEMO.PAS
and the system will start in the highest valid mode. Note that this will not
work with TSENG ET4000 or ET3000 based cards since it is not possible for
the autodetect routine to determine which modes are valid - you will have
test which modes work on yout system and then modify the TSENG4000
autodetect routine to start in this mode.
IF YOU HAVE PROBLEMS WITH ANY VIDEO MODES that the driver supports and you
think the hardware should be able to support, use test programs included with your
video graphics card to see if a mode of the same resolution and number of
colors works. If not, you may need to add additional video memory or change
the video monitor.
Palettes
--------
Borland provides two general classes of Palette commands:
1) SetRGBPalette
2) SetAllPalette, SetPalette, GetPalette
Most video modes support one or both of these two groups of palette commands.
SetRGBPalette allows direct control of the individual red, green and blue
values that make up each palette entry.
SetAllPalette, SetPalette, GetPalette allows you to assign one of
a number of standard colors to each palette enry.
As a general rule, 256 color drivers use SetRGBPalette and 16 color drivers
use SetAllPalette, SetPalette, GetPalette. However, this is not always the
case. Here is a list of drivers and which functions are supported:
Driver Supported Palette Commands
ATIVW256.BGI SetRGBPalette
ATIVW768.BGI SetRGBPalette
TRI256.BGI SetRGBPalette
TRIBR256.BGI SetRGBPalette
MCVGA256.BGI SetRGBPalette
MCVGA480.BGI SetRGBPalette
VESA256.BGI SetRGBPalette
PAR245.BGI SetRGBPalette
TSNG4256.BGI SetRGBPalette
TSNG3256.BGI SetRGBPalette
IBM8514 BGI driver Compatibility with 256 Color Drivers
-------------------------------------------------------
The 256 color drivers support 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 the 256 color drivers. (Borland's IBM8514.BGI does NOT
provide floodfill operations). Depending on your video card and monitor, the
maximum resolution may not be the same as for Borland's 8514 driver.
(Borland's 8514 driver provides two 256 modes : 648x480 and 1024x768).
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:
- For rectangular bars, solid bars are MUCH faster than
patterned bars. Try using some colors instead of patterns
to distinguish between areas if possible.
- Getimage and Putimage(,,,copyput) are fast. Other putimage
functions are fast - but not as fast.
- 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
--------------------
MOUSE USERS: Note that the Super VGA modes that most of these drivers use
are not fully standardized between different manufacturers.
The mouse drivers supplied your mouse may not properly
support some or all of these modes. If you have difficulty with
your mouse, contact the manufacturers of your video card and/or
mouse - they may have updated mouse drivers to support these
graphics modes.
TSENG ET4000/ STB Powergraph: The first 16 colors of the palette for the
1024x768 mode appears to be intialized to colors different
from the 'standard' VGA colors. You may wish to reset these
palette entries using the setRGBPalette procedure.
COMPILER BUGS: Before deciding that there is a bug in the BGI driver, try
using a different version of the compiler to compile your
program. If the bug persists, try using an alternate language:
If you are using Turbo C, try Turbo Pascal. If the function
works in one compiler version or language and not in another,
it is probably a bug in the compiler. Compiler include:
GetDriverName - 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 TP 5.0. VGATEST.C returns the name correctly
when compiled with TC 2.0.
getmaxx getmaxy - In Turbo C 2.0, the "getmaxx" and "getmaxy" functions seem to
--------------- return values corresponding to the first mode that was
selected, not the current mode. (To test if if these
functions work in your version of Turbo C, do an initgraph
with this driver, do setgraphmode() to a valid mode
(such as 0), print the value of getmaxx(), do a setgraphmode()
to another valid mode such as 1 and again print the value of
getmaxx(). If they are the same and/or are not the correct
values for either mode, the functions are not working
correctly and should not be used to determine if a mode switch
was sucessful.)
setbkcolor - In Turbo C 2.0 and Turbo Pascal 5.0, the background color
---------- is not always properly passed to the user installed BGI driver.
cleardevice As a result, you can not seem to reliably set the background
----------- color that cleardevice and other functions use. When the driver
starts, backgroundcolor is set to 0 (black) - as long as you
dont modify it will remain black. To clear the screen to
another color, use setcolor(color) to define the color and then
bar(0,0,getmaxx(),getmaxy()) to fill the screen. This should
avoild setbkcolor(color).
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, number,
see the section below "READING 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.
- Video card memory (256K, 512K etc)
- Video card Bios revision
- Video card hardware revision #, usually on the card itself.
- Computer Make, processor speed, DOS
- any other information you feel is necessary
This information should be mailed or faxed JONES COMPUTER SUPPLIES at
the address shown under "Ordering Information".
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 produde
more drivers.
READING THE VERSION NUMBER
--------------------------
For identification purposes, each driver and documentation (this file)
are assigned a version number.
The document version number is on the first line of this file.
The driver version number can be read by typing
TYPE drivername.BGI
followed by pressing the 'Enter' or 'Return' key, where 'drivername' is the
name of the driver in question (ATIVW256, ATIVW768 etc). This will show the
driver header which will appear something like this:
BGI Device Driver (MCVGA256) 2.20 - Oct 20 1990
Copyright(c)1990 Peter Jones Tel(613)267-6704
The number 2.20 is the version number and will change from driver
to driver as will the name ( 'MCVGA256' in this case) and the date.
Crippled drivers can be identified by a 'C' after the version number
(only for versions 2.20 and later). An example of a crippled driver
header might be:
BGI Device Driver (MCVGA256) 2.20C- Oct 20 1990
Copyright(c)1990 Peter Jones Tel(613)267-6704
When reporting bugs, it is very important to include the driver version
number and documentation version so that we know exactly which driver
you are dealing with.