2012-04-19 26 views
1

我一直在尋找BIOS數據區中內存地址461h(光標啓動)和460h(光標結束)的清晰含義。BIOS數據區:光標開始(61h)和光標結束(60h)的值的含義

但我剛剛發現一些引用,說它是遊標的「大小」。其他人說他們指的是掃描線,使用的值也有很大差異(MCGA爲63h和00h;對於80x25文本模式爲67h和00;或者例如01h和00h),但它仍然不夠具體,似乎如果VGA寄存器是針對標準圖形或文本模式(更具體地說,實際使用光標的文本模式)而不是使用INT 10h進行手動編程,則需要調整這些值,以便DOS或BIOS本身可以保持一致組態。

我已經看到了谷歌搜索結果的前兩頁(Ralf Brown,mcamafia.de,Wikipedia,TinyVGA,BIOS Central等),但是它們包含的信息並不能準確描述這些值的作用,或者它們在VGA寄存器中對應的配置,所以我會盲目地編程這些值。

那麼他們的正確定義是什麼?

回答

1

我的理解:

460H-461H是 「光標形狀」,大小=字。低字節保存結束掃描行號,而地址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