2013-03-20 23 views
2

我想实现具有旧版vga + crt监视器图形配置外观的文本控制台。为此,我需要有关典型设置的渲染高宽比的信息。实现VGA 80x25文本控制台纵横比

  • 80×25使用9×16个单元给出比率720×400。我从来没有见过这个比例的显示器(它比16:9略宽)。当显示Windows 9x飞溅图像时,720x400也是分辨率。

  • 我测量了视频8088腐败的比例。它给了我一个3:2的比例。

  • 我一直在4个工作:3个显示器这给巨大的拉伸硬件文本模式

  • DOSBox中使用的比例为8:这是有道理的,320x200的分辨率

所以5基于块字符的ansi-art例如ENDOOM块的比例是正确的?

请注意,我所说的显示器上显示的宽高比。我知道我用过的CRT有修改输出图像的宽度和高度的选项,但用户如何设置它们,如果存在的话。我将v控制设置为全屏幕大小,以提供强化字符,但对于win95飞溅图像而言正确比例。

+0

我添加了一些额外的信息。希望我帮助。让我知道你是否需要更多;我可能不会重温几个小时。 – 2013-03-20 14:18:40

+0

如果仍然适用,则3:2比率(3像素水平等于2像素垂直)是正确的。这几乎是正确的(一个720x405模式恰好具有严格的4:3像素长宽比),但坚持这一点很不错,对于体面的软件复制来说相当干净,特别是对于你提到的CRT的模拟性质(HV旋钮)在这个尺度上并不重要。所以只要坚持3:2。 – Jubatian 2015-12-01 13:07:50

回答

2

没有人说像素是正方形的。

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

请记住,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比例。它不会是锋利的I-can-count-the-pixels;它不可能是。这与笔记本电脑制造商在LCD面板上呈现文本模式的问题是一样的。

+0

所以预期的输出是4:3 – user877329 2013-03-20 15:16:41

+1

更正:4x3。抱歉;我觉得我讲了一个很好的故事,但没有回答你的根本问题。 – 2013-03-20 15:59:05