我想编写一个在文本屏幕上运行的文本编辑器。在现代 PC 中,1280x1024(160x64 字符)屏幕适用于平板。出于安全原因,我正在开发基于 i865 的 P4 主板。VESA BIOS 设置分辨率但在图形模式下;此外,VGA 寄存器显示原始 DOS 屏幕值。我需要帮助如何将 i865 编程为文本模式。
问问题
700 次
1 回答
6
1280x1024 不是 VGA 分辨率。如果要使用这些高分辨率模式,则需要使用VESA/VBE 。而且,除了一个例外(不符合您的要求),VESA 没有定义标准模式。您需要询问视频卡并选择一种支持的模式。使用 VBE 函数 00h 获取支持模式的完整列表,并使用函数 01h 检查每个支持模式的属性,看看它是否满足您的要求。
一旦你找到了你想要的模式,函数 02h 就会设置那个模式,然后你就基本完成了。好吧,除了编写将文本放在屏幕上的代码的困难部分!
这都记录在标准中。OSDev Wiki上提供了 C 语言示例代码。
于 2017-06-09T10:23:53.933 回答