原來MyOS的圖形驅動只支持32位色,使得MyOS無法在Qemu下運行。因爲Qemu最大隻支持24位色。在前幾天做完VM86之後,終於可以在內核中設置顯示模式了,所以就在啓動時,先嚐試用32位色,不行就改用24位色,最後用16位色。終於在Qemu下啓動了,然後修改了圖形驅動,使得不論在32位、24位還是16位時都可以正確的顯示圖形。
在這裏要先談談MyOS的圖形庫,MyOS的圖形庫內部採用32位色,支持窗口透明,alpha特效,然後在輸出到顯存時再根據顯示模式轉換成需要的格式。
MyOS的圖形庫絕大部分都是完全可移植的,只需要在底層提供一個輸出函數即可。在MyOS中就是根據當前的顯示模式作一些變換後寫顯存即可。如果需要,完全可以把該函數替換成一個網絡接口,通過TCP/IP輸出圖形數據,這樣就可以用來實現類似Windows遠程桌面那樣的效果。