Download Latest Version SDL3_bgi-3.0.4-win.zip (4.2 MB)
Email in envelope

Get an email when there's a new version of SDL_Bgi

Home
Name Modified Size InfoDownloads / Week
SDL3_bgi-3.0.4-win.zip 2025-09-09 4.2 MB
SDL3_bgi-3.0.4-1.src.rpm 2025-09-09 3.7 MB
SDL3_bgi-3.0.4-1.x86_64.rpm 2025-09-09 1.0 MB
SDL3_bgi-3.0.4.tar.gz 2025-09-09 3.7 MB
sdl3_bgi_3.0.4-1_amd64.deb 2025-09-09 3.5 MB
README.md 2025-09-09 2.4 kB
sdl_bgi-quickref.pdf 2025-09-09 277.6 kB
SDL2_bgi-3.0.4-win.zip 2025-09-09 2.4 MB
SDL2_bgi-3.0.4-1.src.rpm 2025-09-09 1.9 MB
SDL2_bgi-3.0.4-1.x86_64.rpm 2025-09-09 1.0 MB
SDL2_bgi-3.0.4.tar.gz 2025-09-09 1.9 MB
sdl2_bgi_3.0.4-1_amd64.deb 2025-09-09 1.7 MB
SDL_bgi-3.0.3.tar.gz 2025-03-25 4.0 MB
Totals: 13 Items   29.3 MB 56

About

SDL_bgi is a graphics library (GRAPHICS.H) for C, C++, WebAssembly, and Python. It comes in two versions based on SDL2 and SDL3, and it runs on many platforms; the two versions have identical functionality.

Its name refers to BGI, the Borland Graphics Interface that was the 'de facto' standard in PC graphics back in DOS days; it was made popular by Borland Turbo C/C++ compilers. I wrote SDL_bgi because I wanted a simple to use but fast graphics library for my experiments with fractals and cellular automata, using the BGI syntax I'm used to.

SDL_bgi is functionally compatible with the BGI implementation in Turbo C 2.01 and Borland C++ 1.0; for instance, it compiles and runs the original bgidemo.c. It also provides nearly full compatibility with another BGI implementation, WinBGIm (see links below). One of the aims of SDL_bgi is the preservation of old software written for BGI; but not only that.

SDL_bgi provides graphics primitives, and is much easier to use than plain SDL; it should be especially useful for beginners, i.e. in introductory programming courses. SDL_bgi is pretty fast, and in addition to BGI compatibility it provides extensions for ARGB colours, mouse support, vector fonts, and multiple windows. Native SDL2 or SDL3 functions can be used alongside SDL_bgi functions. The library can also be used in programs written in C++ or Python.

SDL_bgi is written in C, and it should compile on any platform supported by SDL2 or SDL3. It has been tested on GNU/Linux, MS Windows (MSYS2 and ucrt64, CodeBlocks, Dev-C++), macOS (High Sierra and Catalina), Raspios (ARM, i386), and WebAssembly (Emscripten). A few example programs in C and Python are provided in the demo/ directory.

  1. SDL_bgi home page: https://sdl-bgi.sourceforge.io/

  2. The SDL library: https://www.libsdl.org/

  3. BGI on Wikipedia: https://en.wikipedia.org/wiki/Borland_Graphics_Interface

  4. WinBGIm, a BGI port for Windows: https://winbgim.codecutter.org/ (original version) https://github.com/ki9gpin/WinBGIm-64

  5. Borland Turbo C 2.01 online emulator: https://archive.org/details/msdos_borland_turbo_c_2.01

This library is released under the Zlib license; please see the enclosed file LICENSE.

Brought to you by Guido Gonzato, PhD <guido dot gonzato at gmail dot com>

Source: README.md, updated 2025-09-09