实现 VGA 80x25 文本控制台纵横比

use*_*329 5 aspect-ratio vga

I want to implement a text console with the look and feel of an old vga+crt monitor graphics configuration. To do so, I need information on the rendered aspect ratio of a typical setup.

  • 80 x 25 using 9 x 16 cells gives a ratio of 720x400. I have never seen a display with this ratio (It is slightly wider than 16:9). 720x400 is also the resolution when windows 9x splash image is shown.

  • I have measured the ratio from the video 8088 corruption. It gives me a 3:2 ratio.

  • I have always worked on 4:3 monitors which give huge stretched in the hardware text mode

  • Dosbox uses a ratio of 8:5 which makes sense for 320x200 resolution

So what ratio is correct for rendering block-character based ansi-art for example the ENDOOM lump?

Note that I speak of the aspect ratio that shows up on the monitor. I know that the CRT:s I have used have options to modify the width and height of output image, but how would the user set these if present. I set the v control to the full screen size giving streched characters but correct ratio for win95 splash image.

Eur*_*lli 6

没有人说像素是方形的。

事实上,在 VGA 出现并提供 640x480 之前,IBM 风格的 PC(我不知道是 Macintosh 还是 Amiga)没有常见的视频适配器/显示器组合呈现方形像素。

请记住,VGA 是一种为 CRT 设计的模拟技术。特别是分辨率和刷新率由主板上的视频适配器控制,而不是显示器。监视器电子设备可以从左到右和从上到下运行电子束(在电子设备可以承受的频率范围内),以产生视频控制卡想要输出的任何像素分辨率。像素是可寻址元素,而不是显示元素,它们的“矩形”程度取决于显示器(大多数显示器具有调整显示器 V 尺寸的控件,因此比例不是固定的)。

尽管存在“标准”分辨率(这基本上意味着 IBM PC BIOS 明确列出并支持它们),但如果您知道所使用的硬件,则可能会重新编程视频适配器以呈现不寻常的分辨率。一些视频游戏就是这样做的。

我还记得一个实用程序,它重新编程了原始 IBM PC(“MDA”)的单色显示适配器以在文本模式下呈现 26 行,而不是 25 行。如果您愿意,该实用程序使用额外的行来输出“状态栏”,具有 Caps Lock、Scroll Lock 和 Num Lock 状态(当时的键盘没有状态灯)。有趣的是,MDA 适配器没有足够的 RAM 来容纳一整行额外的文本,因此视频输出电路在缓冲区的末尾翻转,第 26 行的最后三分之一左右重复了第一行屏幕左上角的几个字符。你忍受了。(该实用程序还适用于 Hercules 视频适配器,它使用相同的控制器芯片,但具有更多 RAM 来支持图形模式,因此不会出现重复字符溢出)。

您没有听说过 720x400,因为没人关心。在这种模式下,程序无法寻址单个像素,因为它们是由字符生成器电路即时生成的,所以这真的无关紧要。VGA 适配器电路显然可以以这个频率驱动显示器,所以理论上你可以有一个高分辨率的图形模式,但适配器没有足够的 RAM 来支持它(电子设备中的其他限制也可能是存在;例如,视频 RAM 的扫描速度是否足够快?我不知道。)

编辑,有一些澄清:

需要 V 型调节旋钮,因为 CRT 电子设备无法经济地精确制造。需要一些摆动空间和手动调整控制垂直扫描范围的电压,以解决壁电流、电子设备老化(特别是电容器)等的电压变化。目的是使用旋钮调整所得高度,直到输出是“正确的”(大约 4x3)。当电子设备变得足够复杂以自动进行这些调整时,旋钮最终消失了。

要回答你的最后一个问题:你必须承认像素不是方形的。忠实的外观需要您以您选择的分辨率将渲染图像 720x400 矩阵缩放(压缩或拉伸)为 4x3 比例。它不会像我可以计算像素那样锋利;它不可能是。这与笔记本电脑制造商在 LCD 面板上呈现文本模式的问题相同。

  • 正确:4x3。对不起; 我觉得我讲了一个很好的故事,但没有回答你的基本问题。 (3认同)
  • 所以预期的输出是 4:3 (2认同)