1

BIOS データ領域のメモリ アドレス 461h (カーソル開始) と 460h (カーソル終了) の明確な意味を探していました。

しかし、カーソルの「サイズ」であると言う参考文献を見つけました。他の人は、スキャンラインを参照していると言い、使用される値も大きく異なります (MCGA の場合は 63h と 00h、80x25 テキストモードの場合は 67h と 00、または 01h と 00h など)。 VGA レジスタが、INT 10h を使用する代わりに、標準のグラフィックまたはテキスト モード (具体的には、実際にカーソルを使用するテキスト モード) 用に手動でプログラムされている場合は、DOS または BIOS 自体が一貫性を保つことができるように、これらの値を調整する必要があります。構成。

Google の検索結果 (Ralf Brown、mcamafia.de、Wikipedia、TinyVGA、BIOS Central など) の最初の 2 ページを見たことがありますが、そこに含まれる情報では、これらの値が何をするのか、どの構成に対して行われるのかを正確に説明することはできません。これらは VGA レジスタに対応しているため、これらの値をやみくもにプログラムすることになります。

では、彼らにとって正しい定義は何でしょうか?

4

1 に答える 1

1

私の理解:

460h-461h は「カーソル形状」、size=word です。下位バイトは終了スキャン ライン番号を保持し、アドレス 40:61h の上位バイトは開始スキャン ラインを保持します。ビデオ モード 3 では、文字セルは通常 VGA で 16 スキャン ラインの高さです。カーソルをオフにするには、終了スキャン ライン番号を開始スキャン ライン番号の上に設定します。

カーソル形状のサンプル:

two line cursor at bottom:    0607h
lower half cursor:            0307h
upper half or quarter cursor: 0003h
full box cursor               0007h
blank cursor                  0100h
于 2012-04-23T15:46:18.550 に答える