IBM MCGA 门阵列逆向工程

2026-06-27 1 阅读 userbinator
IBM MCGA 门阵列逆向工程 IBM 的 MCGA(多色图形阵列)是一种随 PS/2 型号 25 和 30 一起推出的低成本视频芯片组。Epson Equity 1e 使用 MCGA 兼容视频,但不使用相同的芯片。 IBM 芯片组由内存控制器门阵列和视频格式化器门阵列组成。其中一些示例是在内部 IBM 门阵列工艺上制造的,而其他示例则使用 Seiko 的外部门阵列部件。内存控制器门阵列 (72X8300) 该门阵列包含 MC6845 同步发生器 IC 的实现,管理 ISA 总线的视频 RAM 接口、管理字符 RAM 接口以及一些其他杂项功能,包括时钟选择和监视器 ID 读回。我进行逆向工程的示例是使用 Seiko SLA6430 门阵列实现的。它包含 4,342 个基本单元 (BC),每个基本单元有 4 个晶体管。 BC 排列为 167 行和 26 列。这是具有 2 个金属层的 2um CMOS 工艺。该图像来自 72x8300-sla6430j 逆向工程原理图和布局可以在 mcga72x8300flat 子目录中找到。视频格式器门阵列 (72X8205) 格式器门阵列对 ISA 内存和 IO 端口地址进行解码,管理 RAMDAC 接口,并生成图形和文本模式下的像素数据。该 IC 有两张图片。第一个 72x8205-gl14105fs 似乎位于内部 IBM 门阵列进程上。不幸的是,在开盖过程中,顶部金属层被移除,因此无法提取网表。第二个 72x8205-sla6330j 已被逆向工程:请参阅 mcga72x8205flat 子目录。它是精工SLA6330门阵列。它包含 3,312 个基本单元,每个单元有 4 个晶体管。 BC 排列为 144 行和 23 列。 72x8300(内存控制器门阵列)注释 基于逆向工程工作,发现了有关 MCGA 的新信息。 MCGA 可以同步锁定外部 HSYNC 和 VSYNC 信号。这些信号被传送至视频连接器:引脚 12 (ID1) 为 VSYNC,引脚 11 (ID0) 为 HSYNC。要启用此模式,请将 1 写入寄存器 0x​​12 的位 3(字符生成器接口和同步极性,或显示感应)。在 PS/2 型号 30 的技术参考手册中,该位被列为“保留 = 0”。据推测,该同步锁相模式需要连接到 25MHz 或 14MHz 时钟输入的外部时钟 PLL。寄存器 0x​​10(模式控制)位 3“兼容性”仅影响 80x25 文本模式。它使水平时序寄存器乘以 2(在 0x00 的情况下,水平总计加 1,在 0x02 的情况下,开始水平同步)。寄存器 0x​​10(模式控制)位 2“时钟 = 1”控制驱动视频电路的时钟。在默认状态下,大部分视频电路使用25.175MHz 时钟。您可以通过将该位更改为 0 来将时钟频率设置为 14.318MHz 输入。寄存器 0x​​10(模式控制)位 6“保留 = 0”尚未完全理解。寄存器 0x​​20(保留)是制造测试模式寄存器。位 功能 7 14.318MHz 交替时钟模式(未知) 6 VCK 引脚交替模式(通常 VCKIN 只转到 VCK) 5 加速模式:未知 4 加速模式:光标位置高位计数器 3 加速模式:光标位置低位/字符计数器 2 加速模式:垂直总调整计数器 1 加速模式:垂直计数器 0 加速模式:水平计数器 计数器加速模式基本上将时钟信号注入每个计数器的高四位,如下所示以及低四位,因此计数器用得更快。这是芯片测试仪中工厂测试的辅助工具。 72x8205(视频格式器门阵列)注释 扩展模式寄存器 0x​​1A 有两个未记录的位: 位功能 1 未知,即使使用其他分辨率也可能会强制使用 256 色模式。 0 未知,可能会将边框颜色强制显示到整个显示屏上。通过访问以下位置可以获得其他制造测试寄存器: 寄存器 0x​​19 - 制造寄存器地址 寄存器 0x​​18 - 制造寄存器数据 要访问特定的制造测试寄存器,请将地址加载到寄存器 0x​​19 中,然后读取或写入 0x18 处的内容。制造测试寄存器为: 地址寄存器 0 未实现 1 只读。包含发送到 RAMDAC(P[7:0] 引脚)的数据的最新内容。 2 只读。包含从 VRAM(CP[7:0] 引脚)接收的数据的最新内容。 3 只读。包含来自格式化逻辑的未知 16 色模式数据。 4 只写寄存器,操作见下文。地址 4 处的只写寄存器仅实现以下两位: 位 功能 0 制造相当于复位引脚的硬复位。写入“1”可将设备置于复位状态,写入“0”可使其退出复位状态。 1 写入“1”以禁用大量输出,包括进入 RAMDAC 的输出。逆向工程过程信息 72x8300 图像从 21808x21778 缩放到 10904x10889。输出 jpg 文件为 s