问题描述
BIOS如何初始化屏幕?我正在寻找一个我一直在网上搜索的答案,但是找不到东西...但是,我已经找到了一个网站!但是,它说here已将初始化为地址C000h。视频卡真的硬连接到内存地址C000h吗?请提前启迪我和TY ...:D
解决方法
视频卡真的硬连线到内存地址C000h吗?
您在谈论视频BIOS,而不是屏幕内存?
在早期的IBM计算机(例如“ PC”,“ XT”或“ AT”)中,128K地址范围从C000h:0h
到D000h:FFFFh
(这是线性地址范围{{ 1}}至C0000h
)用于“板载” BIOS不支持的附加卡的固件(BIOS)。
此地址范围的前32K(DFFFFh
至C0000h
)保留给板载BIOS不支持的视频卡;其余的96K可以用于其他类型的卡(例如SCSI硬盘控制器或支持从网络引导的网卡)。
BIOS如何初始化屏幕?
对于带有板载视频卡的计算机,此操作由BIOS本身完成。在“ IBM PCjr”(1983年出售的计算机)的技术参考手册中,您将找到这种BIOS的源代码。
BIOS启动计算机时,它将搜索固件在上述128K地址范围内的附加卡。
它检测视频卡的固件并运行该固件。
视频卡具有自己的固件的原因很简单:
特别是对于提供超过VGA(640x480像素为16种颜色,320x200像素为256种颜色)的视频卡,初始化顺序取决于制造商。
因此,对于现代计算机,您不能回答“通用”问题:“ BIOS如何初始化屏幕?”,但是您只能回答对于特定制造商如何完成此问题。
但是,我怀疑大多数视频卡的固件都会将其置于类似于VGA卡的状态,将其置于BIOS视频模式3(80x25文本),并用空格字符填充视频内存(因此屏幕为空),然后将文本光标置于左上角。