PCのBIOSは、PCが80年代半ばに引き継ぐ前に普及していた8ビットCP / MシステムのBIOSと同様の機能を果たすことを目的としていました。BIOSは、最小限のブートローダーと、いくつかのデバイス(画面、ディスク、テープ、COMポート)への入出力を行うハードウェア依存の低レベルルーチンを含むことを目的としていました。これを行うための知識はROMに組み込まれています-ドライバーは不要であり、もちろん、このROMでサポートされる追加のハードウェアはありません。(電源管理やACPIのようなものは、PCがユビキタスプラットフォームとしての地位を確立した後、90年代のずっと後に来ました。)
(CP / M「ファイルシステム」は、BDOSと呼ばれるディスクからロードされたコンポーネントにありました-同様に、FATファイルシステムとそのインターフェースの知識は、MSDOS.SYSまたはIO.SYSの2つの隠しファイル(少なくとも1つ)にあります-一部ではありませんBIOS ROMの。)
ただし... CP / Mとは異なり、PC BIOSは拡張カードに含めることができる「オプションROM」の概念をサポートしていました。そのため、BIOSを拡張するための少なくとも最小限のメカニズムがありました。CGAで始まるビデオカード(CGAの前身であるMDAも同様です)には、BIOSインターフェイスにI / O機能を拡張または追加するオプションROMがあります。(これが、BIOSが起動する前にNVidiaメッセージが表示される理由です。)ハードコントローラーとSCSIカードも同様です。これらはすべてまだ有効です。多くの古いネットワークカードには、ブートROM用のソケットがあります。
80年代に生まれたPCクローンメーカーは、互換性のあるBIOSインターフェースのみを提供することを非常に迅速に決定しましたが、タイマーチップなどのすべての低レベルハードウェアを含めて、PCプラットフォーム全体をコピーしなければならなかったことにも留意してください、割り込みコントローラなど(IBM独自のものがほとんどないため、これは比較的簡単でした。)これは、BIOSの処理が遅く、プログラマーがハードウェアに直接アクセスするため、特にゲームのためです。
したがって、オプションROMとPCプラットフォームを形成するこの標準ハードウェアのコンセンサスの間、およびPCの進化を通じて下位互換性が保たれているという事実の間、ドライバーなしでディスプレイを使用したい場合は次のことができます。
- ビデオハードウェアのオプションROMによって「フック」される可能性のある標準BIOSインターフェイスを使用する
- または、システム内のハードウェアについて推測し、基本的なハードウェアに直接アクセスします
すべてのPCディスプレイハードウェアは、起動時に「VGA互換」モードで動作します。元のIBM VGAアダプターには、以前のEGA、CGA、およびMDAカードと互換性のあるモードがありました。つまり、BIOSまたはOSの外部から実行されているものは、1985年に慣例によりディスプレイに接続された同じメモリを読み書きできると想定できるということです。