問題タブ [vga]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2105 参照

memory - VGA と統合グラフィック理論

私は本当にVGAの内外を知りたいのではなく、VGAがどのように機能するか(および統合されたグラフィックス)の基本原則を知りたいと思っています.IntelのWebサイトには次のように書かれています-

ここに画像の説明を入力

この盗まれたメモリは VGA アダプタのフレーム バッファとして使用され、VGA グラフィックス コントローラによる読み取り/書き込みはそこから行われますか?

盗まれた 1MB の VGA メモリを使用したシステムの例 -

ここに画像の説明を入力

上記のシステムが VGA モードで実行されていて、従来の VGA アドレス範囲 (0xA0000 - 0xbffff) に何かが書き込まれた場合、そのプロセスはどうなるでしょうか?

現在、メモリ コントローラが CPU から VGA アダプタに転送し、グラフィック変換テーブル (GTT) を使用して、これを DRAM の上部にある 03F0_OOOOh - 03FF_FFFFh の範囲の物理アドレスに変換するというのが私の理解です。

これは、VGA アダプタが MMIO のアドレス範囲を使用しているため、従来の VGA メモリ範囲 0xA0000 - 0xbffff が DRAM でアクセスできないことを意味しますか?

誰かがそれらの質問を手伝うことができれば、それは大歓迎です.

ありがとう。

0 投票する
2 に答える
536 参照

assembly - システム フォントを VGA コントローラ メモリから手動で復元する方法を教えてください。

非常に変わった VGA システム フォントを持つ古いToshiba 386 PC (T2000Sx) にアクセスできます。Web サイトのフォント ファイルとドキュメントとして復元したいと考えています。

VGA メモリからフォント データを読み取り、フロッピーに書き込むプログラムを作成するにはどうすればよいですか?

システムはフロッピーからかろうじて起動し、メモリーもほとんどなく (基本 1MB + 拡張 9MB)、ハードドライブもありません。以前は、パラレル ポートの ZIP ドライブを介して Debian 2.1 を起動していましたが、それはもはや機能していないようです。

質問は次の組み合わせです。

  1. これを行う(DOS)プログラムはすでにありますか?(まだ見つけていませんが、もしかしたらあるのでしょうか?)

  2. プログラミング ツール: どの言語/コンパイラを使用できますか? 明らかに、このマシンは最新の OS を実行しないため、GCC / VS は問題外です。私は 20 年前にアセンブリから手動で .COM 実行可能ファイルを作成した経験がありましたが、さびています。現在、より優れたプログラミング ツールはありますか?

  3. VGA 標準: アドレス空間のどのアドレスでフォント データを見つけることができ、何バイトを読み取る必要がありますか? 私はこれをオンラインの他の情報源でまだ見つけていません.

0 投票する
0 に答える
275 参照

c++ - os dev : vga 印刷文字列と奇妙なコンパイラの動作

カーネルで文字列を出力するための非常に単純な関数を実装しようとしています。

この問題は私には非常に奇妙に思えます。何か重要なことを見逃しているのではないかと考えていますが、何が原因かわかりません。

だから、私は動作しないコードを持っています:

この抜粋の 3 行目を見てください : if (c=='\n') それを無実のものに変更するとどうなりますか : if (false) その後、魔法のように完全に機能します ... if(c では​​機能しません=='T') またはその他のいずれか、とにかく私のテストコードにはまだ '\n' がありません:

なんらかのあいまいな理由で、

部分で問題がありましたが、セミコロンで変更するとうまくいきません...

しかし、それだけではありません。私はこれらのフラグでコンパイルしています:

最適化フラグ「-O2」を削除すると、どのような場合でも機能しません。

何を見逃しているのかわかりません... お願いします、助けてもらえますか? 私は夢中になっています:P

=============編集=============

調査の結果、mtrrs はデフォルトの qemu 設定ではサポートされていないようです (特定の CPU 設定を使用して確認しました)。ここでコードを確認してください: (osdev はビット 5 をチェックしているのに対し、intel はビット 12 を言っていることに注意してください。後者は qemu で動作するようです)

これが私の現在のコードベースです。

ここでの asm 部分は、cr0 にビット 30 を設定することです。これは、Intel が主張するキャッシュを無効にすることです。これでも最初の文字が出力されますが、短い文字列は正常に出力されます...

今何を調べたらいいのかわからない。何か考えはありますか?本当にありがとうございました

=============編集=============

うわー、ちょうどいいバグを見つけた...

解決策はリンカースクリプトにありました:

なりました:

clang が.rodataセクションではなく.rodata.str1.1セクションを生成したからです。これにより、rodata 文字列が 4 文字と短い場合を除き、rodata 文字列が欠落していました。その場合、-O2 を使用すると int... として表されます。

0 投票する
2 に答える
952 参照

text - Matrox グラフィックス アダプタで使用される従来の VGA テキスト コンソール フォント

199 年の [456] 私は Linux と Matrox グラフィック アダプタを使用していました。プログラミングにはテキスト モードをよく使用し、わざわざ X11 を起動する必要はありませんでした。これらのグラフィックス カードは、非常に高いテキスト解像度を可能にし、非常に読みやすいフォントを備えていました。ときどき、このフォントが X11 でのプログラミングに適しているかどうかをテストしたいと思いますが、試してみるためのこのフォントが見つかりません!

ここなど、集中的に検索しましたが、Matrox のように見えるフォントはないようです。だから、質問:

  • どのフォントが使用されましたか?これらのグラフィックカードで見栄えがよくなったのは、通常のコンソールフォントでしたか?
  • このフォントは X11 で使用できますか? どちらですか?
  • 例/スクリーンショットはありますか?

私が幻覚を見ているだけなのか、それとも私の記憶が正確なのか、誰か説明してくれたらとてもうれしいです.

更新:それ以来、良いリソースを見つけました。フォントPx437_IBM_VGA_8x16.ttfを選択し、端末を 12px に設定すると、私の記憶にかなり近づきます。モニターの解像度が大幅に向上したため、フォントが非常に小さくなり、拡大すると多少見栄えが悪くなります。私は実験する必要があります。

0 投票する
2 に答える
13313 参照

vhdl - VHDL を使用した VGA コントローラ

Terasic の本と Altera DE1 開発キットを使って VHDL プログラミングを学ぼうとしています。

ここでの問題は、640x480 の解像度で動作するように VGA コントローラーをプログラムしようとしていることです (私の画面は 1280x1024 の TFT LCD ですが)。

コードに問題があります。

FSM を使用して垂直信号と水平信号を作成し、別のブロックで RGB 入力を駆動し、DE1 から 27 MHz クロックも使用しています。

画面に印刷する画像は正しいサイズ (640x480) ではなく、大きい (約 1174x980) ため、コードに何か問題があると思います。

今のところ、間違いが見つかるまで画面を単純化するために、画面に 1 つの色のみを配置しようとしています。

私のプロジェクトには 3 つのファイルがあり、1 つはブロック RGB 用、1 つは FSM 用、もう 1 つはそれらの両方をインスタンス化するためのものです。

この問題を解決するために何らかの助けをいただければ幸いです。なぜなら、私はそれを理解しようと努力しましたが、どこに間違いがあるのか​​ わかりません。

どうもありがとう!

オマール

VGA コントローラ ファイル

FSM 同期ファイル

VGD 表示ファイル