坦迪图形适配器
目录
坦迪图形适配器
坦迪图形适配器(TGA,也称为Tandy图形)是IBMPC兼容机Tandy1000系列的计算机显示标准,它与IBMPCjr的视频子系统兼容,但本身已成为标准。
PCjr图形
Tandy1000系列始于1984年,是IBMPCjr的克隆,为现有的PCjr软件提供支持。因此,它的图形子系统在很大程度上是兼容的。
PCjr于1983年发布,具有围绕IBM的VideoGateArray(不要与后来的VideoGraphicsArray混淆)和MC6845CRTC构建的图形子系统,并扩展了彩色图形适配器(CGA)的功能,增加每种屏幕模式下的颜色数量。CGA的2色模式可显示4色,其4色模式可显示全部16色。
由于Tandy1000比PCjr更成功,因此它们共享的硬件功能与Tandy品牌的联系比与IBM的联系更紧密。
虽然Tandy图形子系统没有具体的名称(Tandy的文档将其称为视频系统逻辑),但通常将其称为TGA。除非另有说明,本文中描述TGA的信息也适用于PCjr视频子系统。
虽然EGA最终会在IBM兼容机上提供TGA图形的超集,但为TGA编写的软件与EGA卡不兼容。
硬件设计
TGA图形内置于Tandy计算机的主板中。PCjr使用带有独特18针插头的定制显示器,但适配器(具有与IBM的CGA/EGA相同的DE-9连接器和引脚排列)可以将其连接到IBM彩色显示器。Tandy1000直接提供DE-9连接器。
后来的Tandy1000SL和TL型号提供了TGA的增强版本,仍然能够显示16种颜色,但分辨率提高了640×200。
输出能力
Tandy1000SL和PCjr之前的Tandy1000系统具有这种类型的视频。它提供了几种CGA兼容模式和增强模式。
CGA兼容模式:
两种文本模式本身都可以设置为单色或16色显示。
即使选择了CGA显示模式,一些游戏也会检测Tandy硬件并在Tandy模式下显示增强图形,而其他游戏则提供选择Tandy图形的选项。
人气
Tandy1000具有内置的操纵杆端口、16色图形和多声道声音,在VGA时代之前被认为是IBMPC兼容游戏的最佳平台,其图形和声音的结合成为事实上的标准,兼容Tandy.ComputerGamingWorld在1989年测试的66款游戏中有28款支持Tandy图形。
不兼容
PCjr视频和Tandy1000图形子系统不相同。一个区别在于地址0xB8000的视频内存孔径的大小。虽然PCjr视频硬件最多可以使用32KB的RAM用于视频缓冲区,但它通过在地址0xB8000上仅提供16KB的内存来精确模拟CGA。与真正的CGA一样,位于0xB8000的16KBRAM在地址0xBC000处具有别名。
相比之下,Tandy硬件在0xB8000处提供了全部32KB的选定视频RAM。这种差异导致一些为Tandy图形编写的软件无法在PCjr上正常工作,以320×20016色或640×200显示图像,并带有周期性的黑色水平线:百叶窗效果。
依赖于地址0xBC000的内存环绕的PCjr软件可能无法在Tandy1000上正常工作。
技术细节
共享内存
与IBM设计的所有其他PC视频标准不同,TGA使用一些主系统RAM作为视频RAM。PCjr在主板上有64KB的内置RAM,并且可以通过插入PCjr主板上专用插槽的特殊卡安装额外的64KB。这64KB或128KB的基本RAM的特殊之处在于它与PCjr视频子系统共享。
TGA视频模式分别使用16KB或32KB的RAM。文本模式使用16KB分为4或8页,分别用于80×25或40×25文本格式。
在图形模式下,基本128KB的RAM被分成8个16KB的存储区。PCjr可以在使用16KB的视频模式下使用任何库来生成视频。在使用32KB的模式中,它可以使用与下一个更高奇数库连接的任何偶数库。PCjr还可以独立地将任何16KB的基本RAM组映射到地址0xB8000以供CPU访问,以实现CGA兼容性。
除了地址0xB8000,CPU可以随时通过地址空间前128KB中的本机地址访问任何存储区。xxx个bank与x86CPU的中断向量表和BIOS使用的数据区重叠,所以一般不能用于显卡。
使用系统内存的好处是:节省了专用视频RAM的成本,只要视频在运行,动态RAM就由6845CRT控制器刷新,因此不需要单独的DRAM刷新电路。在PCjr所基于的IBMPCXT中,DRAM刷新由8237DMA控制器的一个通道执行,由8253可编程定时器的一个通道触发,而在PCjr中,8237被淘汰,定时器通道被重新利用(以解决键盘界面中其他成本削减的复杂性)。
多达近128KB的RAM可用于视频(如果软件主要在ROM中——例如在PCjr卡带上——或在前128KB以上的RAM中),并且显示的视频库可以立即切换以实现双缓冲(或三重缓冲,或在16KB视频模式下最多7倍缓冲)以实现流畅的全屏动画,这是CGA无法做到的。
![坦迪图形适配器](http://map.s-jl.com/wp-content/uploads/sites/14/2024/09/20240927233135-66f740570e7ff.png)
Tandy1000计算机没有采用PCjr的成本削减措施(其中大多数具有8237DMA控制器),但为了与PCjr视频兼容,它们使用相同的RAM共享方案。
可编程调色板
当在每像素使用1或2位的CGA视频模式下运行时,TGA允许通过可编程调色板控制寄存器将2或4个调色板条目重新映射到CGA色域中的16种颜色中的任何一种。这允许软件使用CGA模式,而不受实际CGA的三个硬连线调色板的限制。
CGA图形模式中提供了以下颜色选择改进:
调色板映射逻辑始终处于活动状态,即使在文本模式下也是如此,因此只需更改调色板即可使某些文本在外观上发生变化(出现、消失、循环颜色等),而无需对字符属性进行任何更改RAM中的字节。
PCjr/TGA可编程调色板被转移到IBMEGA,在那里它被扩展为64色的6位条目,等等用于VGA的扩展调色板。