Driver packaging, linked vs dynamic assets, and rendering diagnostics
Turbo Pascal graphics was never just “call Graph and draw.” In production-ish
DOS projects, graphics was an asset pipeline problem, a deployment problem, and
a diagnostics problem at least as much as an API problem.
This part focuses on BGI driver mechanics, practical packaging, and the exact checks that separate real faults from folklore.
Structure map: BGI architecture and operational models → Graph unit runtime
contracts and GraphResult handling → dynamic vs linked drivers, packaging and
pitfalls → font/driver matrix and memory interactions → BGI artifacts in build
and deploy pipelines → debugging rendering failures on real DOS → team checklists
and release hardening.
BGI architecture in practical terms
The Graph unit provides the API. Under it, runtime driver/font assets do the
hardware-specific work. The unit itself is statically linked; it does not
contain adapter-specific code. Instead, it loads a driver binary that knows
how to program the hardware (CGA, EGA, VGA, Hercules, etc.) and interpret
high-level drawing calls. Fonts are separate assets because they are large
and optional — you only load the ones your UI needs.
Two operational models exist: ... continue