2011-04-22 59 views
2

我已經完全在Assembly中開發了一個自己的操作系統,現在我想實現一個鼠標驅動程序,因爲我發現Windows中的INT 33h與EMU8086一起工作,但是當我從軟盤啓動時,工作。我試過USB和PS/2鼠標,結果相同。任何人都可以解釋我必須做什麼才能使操作系統識別鼠標嗎?如何讓鼠標在我自己的操作系統中工作? INT 33h無法在Windows以外工作

+0

過去10年我沒有做過x86硬件編程,但現在是由BIOS提供的INT 33h嗎?我認爲這只是應用程序和鼠標驅動程序之間的協議,如果您正在編寫自己的操作系統,那麼它並不適合開箱即用。 – wigy 2011-04-22 10:00:15

+1

你是對的,INT 33h是DOS中斷而不是BIOS中斷。然而,我發現一些關於INT 15h – Claudio 2011-04-22 10:39:15

+0

不知道,但+1爲您的工作 – BlackBear 2011-04-22 11:53:31

回答

2

我不會假設舊的BIOS「定位設備」功能(例如「int 0x15,ax = 0xC200」)也可以。

如果你正在編寫一個操作系統,你需要爲操作系統編寫設備驅動程序。這意味着要爲USB鍵盤/鼠標編寫完整的USB堆棧和驅動程序;併爲PS/2鍵盤和鼠標編寫驅動程序。見http://wiki.osdev.org/Mouse_Input

+0

現在我想起它,我似乎回想起詮釋15小時指示設備例程一路回到原來的PC或PCjr,並在那裏的遊戲杆。雖然有可能他們在新機器上支持鼠標,但它們更可能不支持。 – 2011-04-22 16:58:01

相關問題