哪个库/代码负责在复古计算机中渲染终端?

问题描述 投票:0回答:3

例如,当您键入时,哪个库告诉计算机屏幕显示相应的 ASCII 字符并相应地移动光标?

想象一下像运行 DOS 或 Basic 的老式学校计算机(没有 GUI)...什么/哪个库负责 UI?

源代码的链接对于理解所述库的工作原理非常有用。

user-interface graphics io terminal retro-computing
3个回答
3
投票

您发布的照片是在模式 7 下运行的 BBC Micro。这是大多数规则的例外。模式 7 是一种低内存模式,其中没有像素,只有 256 个文本字符。 RAM 中保留了 1K 内存,用于保存当时屏幕上显示的内容。电路板上的一个特殊芯片,称为视频 ULA(未提交逻辑阵列),读取该存储器的内容并将其编码到输出。 ULA 是 ROM,程序员无法更改。

ZX81 的工作方式类似:256 个可能的文本字符,没有像素。然而,ZX81 的专用芯片较少,主 CPU 完成了大部分工作。

一种更常见的设置是,每个像素都由内存中的多个位表示(通常每个像素需要多个位,因为必须指示颜色)。例如 BBC 模式 1-6;橡子电子;光谱; C64;还有许多其他人。当用户在屏幕上放置文本时,计算机 ROM 会将其转换为正确的像素。图形通常可以直接写入 RAM,或通过 BASIC“绘制”。然后,专用 ROM 芯片和电路再次将该存储器呈现给输出。这种方法需要更多的内存来显示。

每台 8 位计算机都有自己的在 RAM 中表示显示的方式。您需要获取您正在尝试编程的机器的手册(很容易在互联网上找到更知名的 Micros)。

如果您想了解内部原理,许多模拟器都是开源的。例如:https://github.com/stardot/beebem


0
投票

如果您有兴趣查看终端的内部结构以更好地了解它的工作原理和呈现输入/输出,Bash 是完全开源的。您可以在这里下载其最新的源代码。


0
投票

上述 BBC Micro MODE 7 是独一无二的,因为它使用了电视中的实际 TeleText (SAA5050 iirc) 芯片,该芯片允许比通常的 8x8 像素、颜色、块 (2x3) 图形更好的字体以及闪烁等效果并隐藏可以通过更改单个字符来显示的部分文本。这几乎肯定是英国广播公司的要求,该公司与政府一起赞助了一个全国范围的计算机扫盲项目https://clp.bbcrewind.co.uk/

© www.soinside.com 2019 - 2024. All rights reserved.