在 PC 上切换到高分辨率文本模式
Switching to high-resolution text modes on PC
我想在文本屏幕上写一个文本编辑器运行。在现代 PC 中,1280x1024(160x64 字符)屏幕适合平板电脑。出于安全原因,我正在使用基于 i865 的 P4 主板。 VESA bios 设置分辨率,但在图形模式下;此外,VGA 寄存器显示原始 DOS 屏幕值。我需要帮助如何将 i865 编程为文本模式。
1280x1024 不是 VGA 分辨率。如果您想使用这些高分辨率模式,您将需要使用 VESA/VBE。而且,除了一个例外(不符合您的要求),VESA 没有定义任何标准模式。您需要询问视频卡并选择一种支持的模式。使用 VBE 函数 00h 获取支持模式的完整列表,并使用函数 01h 检查每个支持模式的属性,看它是否满足您的要求。
找到所需模式后,功能 02h 将设置该模式,然后您就基本完成了。嗯,除了编写将文本显示在屏幕上的代码的困难部分!
这些都记录在 the standard. Sample code in C is available on the OSDev Wiki 中。
我想在文本屏幕上写一个文本编辑器运行。在现代 PC 中,1280x1024(160x64 字符)屏幕适合平板电脑。出于安全原因,我正在使用基于 i865 的 P4 主板。 VESA bios 设置分辨率,但在图形模式下;此外,VGA 寄存器显示原始 DOS 屏幕值。我需要帮助如何将 i865 编程为文本模式。
1280x1024 不是 VGA 分辨率。如果您想使用这些高分辨率模式,您将需要使用 VESA/VBE。而且,除了一个例外(不符合您的要求),VESA 没有定义任何标准模式。您需要询问视频卡并选择一种支持的模式。使用 VBE 函数 00h 获取支持模式的完整列表,并使用函数 01h 检查每个支持模式的属性,看它是否满足您的要求。
找到所需模式后,功能 02h 将设置该模式,然后您就基本完成了。嗯,除了编写将文本显示在屏幕上的代码的困难部分!
这些都记录在 the standard. Sample code in C is available on the OSDev Wiki 中。