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

1 x86 assembly vga vesa

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

Cod*_*ray 5

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

一旦找到了你想要的模式,功能02h将设置该模式,然后你基本完成了.好吧,除了编写将文本放在屏幕上的代码的困难部分!

这一切都在标准中记录.C中的示例代码可在OSDev Wiki上获得.