在PC上切换到高分辨率文本模式

时间:2017-06-09 09:38:36

标签: assembly x86 vga vesa

我想写一个在文本屏幕上运行的文本编辑器。在现代PC 1280x1024(160x64字符)屏幕将适合平板。出于安全考虑,我正在开发基于i865的P4主板。 VESA BIOS设置分辨率但是处于图形模式;另外,VGA寄存器显示原始DOS屏幕值。我需要帮助如何将i865编程为文本模式。

1 个答案:

答案 0 :(得分:5)

1280x1024不是VGA分辨率。如果要使用这些高分辨率模式,则需要使用VESA/VBE。并且,除了一个例外(不符合您的要求),VESA没有定义标准模式。您需要查询视频卡并选择一种支持的模式。使用VBE功能00h获取支持模式的完整列表,并使用01h功能检查每种支持模式的属性,看它是否符合您的要求。

找到所需的模式后,功能02h将设置该模式,然后基本完成。好吧,除了编写将文本放在屏幕上的代码的难点之外!

the standard中记录了这一切。 C中的示例代码可在OSDev Wiki上找到。