4

我正在编写在加载任何操作系统之前以实模式运行的代码。我的程序的一部分涉及将信息转储到视频显示器,而标准的 80x25 文本模式并没有削减它。

许多版本的 Windows 和其他操作系统似乎可以毫无问题地切换到更大的文本模式,我认为是 43 行,当它们显示内核恐慌时。我知道更大的文本模式已经存在了很长时间,所以我希望至少有一种标准模式。

这里有一个相当大的 BIOS 视频模式列表:

http://www.columbia.edu/~em36/wpdos/videomodes.txt

不幸的是,相同的模式编号似乎在芯片组之间的含义差异很大。

曾几何时,我似乎记得曾经使用一种名为 VESA BIOS 的东西以独立于设备的方式访问 Super VGA 图形模式,但我似乎还记得涉及必须加载的 DOS TSR。这不是一个选项在这里,因为 DOS 没有运行。

我正在寻找一种可以在最广泛的硬件上运行的模式,包括 VMware ESXi 中的虚拟视频适配器。更改模式的代码也需要紧凑,所以我希望一个简单的 Int 10h 可以做到。

有任何想法吗?Windows 和 VMware 内核恐慌是如何做到的?

4

1 回答 1

4

您可以使用 80x25 模式并加载 8x8 字体(ax = 1112h),这将产生 80x50 字符。据我所知,这是相当标准的。

于 2013-02-10T13:53:59.490 回答