英特尔核芯显卡的 VDU 内存的基址,以在 C 语言中使用它直接显示在显示器中



我想直接写入 VDU 内存并在显示屏中打印"字符串"。我在一本书中读到,我们可以通过直接写入基于VDU内存的地址0xB8000000来实现这一点。但我不知道这个地址是否是我笔记本电脑中显示内存的正确地址。我可以玩,看看,但我仍然怀疑这是否会搞砸一些东西。有人可以帮我如何知道基址吗?我的笔记本电脑是宏碁ASPIRE。我有Interl高清显卡。

在旧的MS DOS时代是有效的。黑/白视频卡的基址为 0xb0000000,而彩色视频卡 (CGA) 的基址为 0xb8000000。引入 VGA 时,0xB8000000在文本模式下仍然是正确的,但在图形模式下则不正确;当Windows开始使用保护模式和32位(大约在1995年使用Windows 95)时,所有这些地址都变得无效。

因此,您需要使用FreeDos来启动笔记本电脑,或者使用像DOSEMU这样的模拟器来获取写入这些地址的任何内容。

最新更新