最近、NASMとCでオペレーティングシステムを開発し始めました。私はすでにブートローダ、カーネル、ファイルシステムなどを作っています。これまではVGAテキストモードを使って直接住所0x000B8000
。そこで、テキストモードではなくビデオモードに切り替えることにしました。私は最大ディスプレイ解像度320x200
を選択しましたが、それから3つの問題があることを認識しました。まず、256色しかありません。第二に、解像度が小さすぎます。第3に、アドレス0x000A0000
への書き込みが遅すぎる。私はいくつかのアニメーションをやろうとしましたが、それは非常に遅く、次のフレームの前に1秒以上待つこともあります。高解像度に切り替える
1920x1080
などの高解像度に切り替える方法と、256*256*256
の色を256の代わりに使用する方法について、インターネットで検索しました。私が見つけたものはすべて、高解像度を使用するのは難しいさまざまな種類のグラフィックスカードのドライバを開発し、いくつかのカードにはドキュメントがないため、リバースエンジニアリングを使用する必要があります。
私は実際にオペレーティングシステムに高解像度のグラフィックスを導入したいと考えています。本当に難しいのですか、それとも簡単な方法がありますか?どのように私はこれを解決することができます上の任意の提案?
VGA 320x200の貧弱な画面で高速アニメーションを表示するためのコードを作成する際に問題が発生している場合は、1ピクセルあたり3倍(おそらく4倍)と30倍(!)倍以上のピクセル。 – usr2564301