One one the restrictions of BGI was that it could handle displays, but not printers. To overcome this limitation, some people developed ``printer packages'' for BGI. Although they derive from a real need, they are almost useless in that the force a complete re-write of the high-level code, linking with extra libraries, etc. By contrast, the solution I propose is a simple ``plug-and-play'': the driver should be recoginsed by any system using BGI that allows user-supplied drivers to be installed (see INSTALL-USER-DRIVER). The price to pay is, of course, that the driver produces only PostScript output. This postScript can then be send to a laser printer, inserted in a text document, or converted to another format or device. See for instance GNU's ``ghostscript''.
The drivers are written in C. This makes them very easy to change, while requiring very little extra space. An interface to the C code, written in assembly language is provided. Users are free to write their own BGI drivers using this system.