14

70年代末的几台电脑都使用电视机作为显示器。我说的不是TRS-80,它带有一个显示器,基本上是一台剥离式黑白电视机,但可以插入你的电视,从而节省显示器的购买价格。Apple II(带第三方调制器)、Atari 800、TI 99/4。所有都具有垂直分辨率192。

1982年发布的Commodore 64具有垂直分辨率200。

为什么不同?为什么早期的机器也卖不到200英镑?

推测:限制因素是标题安全区。美国实际销售的电视机的公差多年来有所收紧,因此在70年代,只有192线的区域可以可靠地看到,但到80年代初,这一数字已扩大到200。

另一种推测:限制因素是已知标题安全区。事实上,在70年代的电视机上,200台就可以了,但计算机设计师还没有足够的经验来确定不同型号的电视机,并理性地谨慎行事。

有一条可能的证据来区分这些:如果第一个猜想是真的,那么70年代的计算机应该都使用了几乎相同范围的扫描线,C64在每个方向上都略微延伸。

在NTSC场中名义上存在的240条扫描线中,哪一个192被Apple II、Atari 800、TI 99/4使用?哪200辆C64?

6
  • 4
    扫描线与NTSC无关;由于分辨率较低以及图像是如何绘制到屏幕上的,它们通常在视频CRT上很常见,包括单色。NTSC只是将颜色信息添加到信号中的一种方式,类似于欧洲PAL标准。(非正式,也称为“同一颜色永不加倍”。) 5月20日3:27
  • @公平地说,NTSC是制定美国电视标准的委员会,他们在着手开发和标准化彩色电视广播之前,对单色电视广播标准进行了标准化。因此,NTSC不一定只是指向信号中添加颜色信息的方式,它也是向信号添加颜色的方式。 5月20日7:58
  • @贾斯特米:我忘记了;谢谢你的更正! 5月20日13:24
  • 2
    @keshlam,我很确定,这个问题中使用的“扫描线”并不是指屏幕上可见的伪影。我认为这是指视频信号的结构。可见的伪影是显示硬件如何呈现该信号的结果,因此它们在数量上是相等的。我现在使用的显示器的数字视频流在结构上仍然有“扫描线”,但技术不同,正如你所说,分辨率更高,如果有任何伪影,我老化的眼睛是看不到的。 5月20日18:21
  • 1
    如今,人工制品在本机像素级别上有所下降。CRT荧光粉的褪色也意味着他们的屏幕通常是交错的,这意味着明暗交替的线条和线条的可见性增加。 5月20日18:54

4个答案4

重置为默认值
12

我找到了一个文档,它可能会解释为什么在200行之前使用了192行。

TI 99/4使用基于该文件的TI TMS9918 VDP,设计为简单低成本系统的芯片,即早期家用电脑的芯片。据称,它是当时任何单芯片系统中分辨率最高的全色芯片。该公司声称,分辨率接近普通彩色电视的极限,是与普通电视配套使用的家用电脑的最高实用性。

它确实承认摩托罗拉MC6847提供了更高的分辨率,但表示它以更高的清晰度换取了颜色的多样性。

因此,192行提供24行文本,字体高度为8像素。现在,例如C64同时提供24和25个文本行,所以额外的8条扫描线可以得到200条扫描线和25个文字行,这听起来可能并不复杂。

事实上,竞争可能会加剧。例如,在图形模式下,TI VDP将屏幕分割为三个64行部分,总计192行,每个256x64部分使用8x8像素的256个平铺,因此使用三个单独的256平铺贴图。

由于64是2的幂,与其他数字相比,它可能更容易检测从63到0的溢出,并跳转到下一节。这也是为什么所有部分都是相同的,加起来只有192条扫描线的原因。

由于许多芯片倾向于发明自己的线路编号方案,因此评估NTSC线路的所有工作方式有点困难。

NTSC从最后一个非空白行后的1开始行号,第一个空白行位于垂直空白区域。有3条带均衡脉冲的空白行、3条同步行、3个带均衡脉冲空白行和11条标准空白行。总共有20行空白行,其中第21行到第262.5行是活动的,因此有241.5行是活动行。21通常用于隐藏字幕,我们可以忽略半行,因此这是240行视频发送。因此,一般来说,第21行和第262行将不再可见。早些时候,消隐时间更短,可能出现486条交错线,或每个字段243条。

由于TI VDP使用262条总行,而不是262.5条,这意味着累进。按照相同的顺序,有3个空行、3个同步行和13个空行。总共有19行空白。然后是27行上边框、192行实际屏幕数据和24行下边框。因此,活动视频数据发送到243行。

如果我们稍微简化一下,并做出一些假设,在NTSC中,屏幕的中心位于活动图像线120和121之间的中间,或者大约在帧结束前120.5行。

在TI VDP中,192行屏幕的中点位于第96行和第97行之间,因此有96行加上24条底部边界线,即120.5行。屏幕中心与假定的标准NTSC传输中心相匹配。

如果我找到其他平台的计时,我会添加它们。C64的NTSC细节比PAL更难找到。

1
  • “64是2的幂,它可能会让事情变得更容易”——确切地说 5月21日10:24
10

老式电视机使用带边框的圆形显像管来遮住扫描区域的边缘。显象管通常是圆形的,为了最大限度地扩大有用区域,图像被扩展到角会被切断的位置。由于水平和垂直驱动电路会受到温度变化和老化的影响,因此很难确保图像居中,矩形扫描图案与圆管形状的相互作用会使定心变化显著。为了掩盖这一点,电视机使用了一个模糊的矩形边框。

当然,计算机的设计几乎都是为了利用矩形屏幕区域。我的一个朋友把一台VIC-20连接到一台相当旧的控制台电视上,虽然VIC-20的屏幕高184行,是个人电脑使用的最短画面之一,但它略微切断了屏幕角落。扫描线比某些计算机宽一些(154个色度时钟宽,而Apple II和Commodore 64的扫描线宽140个)。Atari 400/800显示器更高更宽(160色x 200行),但其文本输出默认忽略左右4个色度时钟,产生152x200)。

2
  • 2
    @@超级大哥哇,牛仔。VIC芯片可以通过各种方式进行配置,允许超过184条垂直显示线,但由于可以物理寻址的RAM数量固定,因此产生的水平分辨率通常会降低。有一些非常时髦的hi-res模式配置,对于文本来说,设置24个字符(或25个字符,使用光栅分割)的行显示并不特别困难,40列是可行的,尽管在字形细节和颜色粒度方面有所妥协。 5月20日17:14
  • 2
    @第八位高手:的确,《超级外星人》盒式磁带的屏幕更大,但我朋友的电视机无法显示即使是正常的22x23屏幕尽管每个边缘的中间都有相当大的边距。对于购买家用电脑的人来说,将其与被更新型号取代的电视机一起使用是很常见的,因此与古代显示器的兼容性比现在重要得多。 5月20日17:23
10

与TI VDP答案类似,请查看中描述的Apple文本模式布局这个答案(请记住,图形视频布局基于文本布局)。

24行中有40个字符。24是3乘以8,你可以看到40个字节是如何被拟合三次的,其中有8个字节的“孔”。此构造重复了8次,覆盖了来自$4007FF美元.

现在想象一下,为了从192条扫描线移动到200条扫描线,您必须安装第25条扫描线。这会把整个方案搞砸,因为视频控制器完全是用分立集成电路实现的,它会增加电路数量、主板上使用的空间和价格。

所以,为了降低成本和复杂性,只使用24行文本是没有用的。

如果您有专用视频芯片(如C64)或CRT控制器(如MC6545型,其中您已经有计数器和比较寄存器,并且如果您有足够的RAM来容纳无功耗的额外信息。

  • 你说192行与NTSC格式无关,而是基于计算机电路中的二进制数学。考虑到对消费者来说足够便宜的集成电路和模拟电视的设计,这似乎完全可行。IIRC甚至在欧盟,我们在带有Apple II的PAL电视上使用了24行文本 5月21日0:50
  • 1
    @JohannesLinkels我没有说这与NTSC格式无关。这更像是“在不太复杂的情况下,在NTSC分辨率中加入足够数量的文本行是最好的权衡”。当然,苹果最初是为NTSC设计的,然后适应了PAL(只需进行最小的更改,保留24行文本)。顺便说一句,我在欧盟,我确实有一款Apple II europlus,它仍然可以使用(尽管那时我们已经有了显示器,但图像要好得多)。
    – 德克特
    5月21日4:38
  • 我的评论风格也许不是最好的,因为我同意你的观点。 5月22日12:07
10

推测#1:NTSC产权安全区(不太可能)

NTSC视频帧有525行。减去21行垂直消隐线和20%的可视区域后非产权安全在2002年之前,只剩下403行可用代码。或者将其减半后的201行处理交错。因此,Commodore 64以200条线突破了NTSC垂直分辨率的极限,但似乎已经足够好了。

猜测2:想要方形像素(不太可能)

我的一个猜测是,计算机制造商只想拥有方形像素。因为当时4:3的屏幕纵横比占主导地位,所以您希望垂直分辨率是3的倍数。如果您还想使用8×8字符位图(适用于8位字节)使用相同像素分辨率的文本模式(如@dirkt所建议),那么分辨率需要是24×32的倍数。192×256是适合“安全”区域的最大尺寸。

但是,虽然使用了192×256的分辨率(例如,在任天堂DS中),Atari 8位将“高分辨率”图形定义为192×320像素,使像素的纵横比为4:5。苹果II同等产品是192×280像素,32:35像素,比Atari更接近正方形,但仍然不是正方形。

猜想#3:二进制数学(似是而非)

虽然“200”对于习惯于以10为基数思考的人来说是一个很好的整数,但它与其说是二进制的,不如说是计算机使用的二进制:

  • 200 = 1100 1000
  • 192=1100万

假设您需要将一个数字乘以垂直屏幕分辨率。如何在MOS 6502这样的CPU上做到这一点,它没有乘法指令。使用位移位和加法:

  • 192*x=(x<<7)+(x<<6),两个左移和一个新增。
  • 200*x=(x<<7)+(x<<6)+(x<<3)、三次左移和两次新增。

那么192,少一个1在其二进制表示中,更容易在二进制中使用。当然,它现在看起来微不足道,但大约在1980年,将两条指令保存在ROM图形例程中,很可能值得在分辨率上稍有损失。

1
  • Apple II的水平分辨率实际上是560像素,但在Apple IIe中提供Double Hires之前,不可能逐个解决这560像素中的每一个。我怀疑ROM指令有什么不同,但沃兹肯定会在硬件设计阶段选择192而不是200来节省芯片。 5月23日8:30

你必须登录回答这个问题。

不是你想要的答案吗?浏览标记的其他问题.