2012年6月29日 星期五

在保護模式下, 不使用 vga bios 呼叫, 將顯示卡設定為繪圖模式 (3)

用個 workaround 的方式暫時解決 kernel loader 無法載入 p_kernel.elf 的問題 (在某種 fat 格式下) (fixed the issue 20120703), 可能是 fat12 的讀取方式有些問題, 先不看這問題。

可以在真實機器上測試, 一樣使用 usb 軟碟機來載入磁片上的 p_kernel.elf。這個 elf 執行檔會在保護模式下執行, 然後 call switch_vga_mode 切換 vga 到繪圖模式 (320X200X256)。

本篇是 在保護模式下, 不使用 vga biso 呼叫, 將顯示卡設定為繪圖模式 (2) 的真實機器測試版本。軟碟的答答聲令人懷念吧!經過這麼多年, 所有週邊的速度都變快了, 就只有軟碟還是這麼慢, 就算用 2G 的 cpu 還是這麼慢, 真的就是多年前的那種感覺。




左圖是切換到繪圖模式後沒有填滿底色和 qemu/bochs 的畫面很類似; 右圖是以藍色填滿整個畫面後再畫出 3 個正方形。

 

直到在真實機器上測試後, 我才能放心並確認程式碼的正確性, 至於是不是每台真實 pc 上都可以執行, 那是另外一件事情了。我希望 simple os 可以在真實機器上執行, 而不是只能活在模擬器中。我已經選了紅色藥丸。

沒有留言:

張貼留言

使用 google 的 reCAPTCHA 驗證碼, 總算可以輕鬆留言了。

我實在受不了 spam 了, 又不想讓大家的眼睛花掉, 只好放棄匿名留言。這是沒辦法中的辦法了。留言的朋友需要有 google 帳號。