use*_*644 4 operating-systems characters
就像,在带有 DOS 和其他东西的旧时代计算机中,它们只是在屏幕上显示固定宽度的字母......
这些计算机的哪些功能部分负责显示物理字符,因为(我认为)原始操作系统实际上并不需要制作每个像素,而是将与字符对应的字节转储到内存中的某个特殊位置,然后角色出现在屏幕上?
那么是什么渲染了字节对应的实际字符呢?
小智 5
正如 ??c???007 的链接所描述的那样,在过去,这是由称为字符生成器的图形卡中的专用硬件完成的。与每个字符对应的像素模式将存储在 ROM(或 EPROM)中,其地址对应于字符的 ASCII 值(或其他字符代码,因为当时非 ASCII 字符集更为常见)。您可以通过将字符 ROM 芯片替换为包含不同位模式的芯片来更改字体。
图形卡中的一个相当简单的电路然后通过从显示缓冲区读取一个字节来动态生成像素,使用它作为地址从字符 ROM 读取一个字节,然后将在那里找到的任何内容从视频端口移出一位一次。由于运行该电路的时钟与 CRT 中电子束的运动同步(反之亦然),因此这些位对应于沿着一条扫描线的可见像素。当需要生成下一条扫描线时,电路从每个 ROM 条目中的下一行字符数据中读取;或者如果它到达字符单元格的底部,它前进到显示内存中的下一行并再次环绕到字符内存的第一行。
这听起来可能比实际更复杂——它可以用计数器和简单的状态机来实现。
位图显示实际上更简单:它们只是读取显示内存中的任何内容并将其从视频端口中取出,而无需中间查找表。然而,这显然需要更多的内存,而且内存真的很贵。