MarketBorland Graphics Interface
Company Profile

Borland Graphics Interface

The Borland Graphics Interface, also known as BGI, is a graphics library that was bundled with several Borland compilers for the DOS operating systems since 1987. BGI was also used to provide graphics for many other Borland products including the Quattro Pro spreadsheet.

Third-party BGI drivers
Given the popularity of Borland compilers, a few independent software developers produced BGI drivers for non-standard video modes, advanced video cards, plotters, printers, and graphics file output. In 1994 Jordan Hargraphix Software released SVGA BGI drivers version 5.5 that are compatible with some SVGA hardware like ATI or Cirrus Logic cards and VESA VBE-compatible cards. Also there are tweaked VGA drivers for non-standard graphic modes supported by VGA by writing directly into its registers, protected mode driver versions for Turbo Pascal 7.0 and mouse driver (actually cursor handler for unsupported video modes by standard mouse drivers). These drivers were shareware and buying them let receiving their source code and technical support; now they are no longer supported, but on 19 December 2020 Jordan Hargrave kindly released source code under the MIT License on GitHub. Main bugs are lack of aligning bytes support in VESA true-color modes (so the true-color driver is not suitable for Nvidia graphic cards) and video memory bank switching bug in mouse driver (since real mode addressing space is 1 megabyte, but some video modes require up to 4 megabytes of memory, it is split into 64 kilobyte banks). ==Legacy==
Legacy
A BGI-compatible library, named Graph, is included in the Free Pascal Pascal compiler. Several BGI implementations for present-day operating systems are also available (see External links.) ==Example==
Example
The following program, written for Borland Turbo C, initialises the graphics and draws 1000 random lines: • include • include • include int main (int argc, char *argv[]) { int i, gd = DETECT, gm; initgraph(&gd, &gm, ""); setbkcolor(BLACK); cleardevice(); outtextxy(0, 0, "Drawing 1000 lines..."); for (i = 0; i ==See also==
tickerdossier.comtickerdossier.substack.com