让Apple II变得专业的卡片
第一部分,共两部分。这部分介绍了Videx VideoTerm的硬件架构、MC6845 CRTC,以及为什么插槽3在架构上特殊。第二部分涵盖渲染管线、C8所有权以及Pascal启动挂起。1977年,Apple II配备了40列文本。这对BASIC程序和游戏来说是可以的,但对WordStar、VisiCalc或重新塑造行业的CP/M商业软件来说就不够了。一个严肃的文字处理器需要80列,处理真实数据的电子表格也需要80列。任何想要用Apple II进行实际工作的用户都需要80列。Videx VideoTerm于1980年推出,在俄勒冈州的科瓦利斯制造,是解决这个问题的卡片——并在1983年Apple将80列支持内置到IIe之前主导了市场。它是Apple II和II+最广泛支持的80列卡,兼容Apple Pascal、WordStar以及当时几乎所有严肃的商业应用程序。理解它为何以这种方式工作,需要理解一个已经逐渐淡出记忆的芯片:摩托罗拉MC6845 CRT控制器。显示问题 在了解Videx卡之前,理解Apple II的视频实际上是什么样子是有帮助的。Apple II+输出NTSC复合视频——这是为1970年代消费电视设计的单一模拟信号。它运作得还不错,你能看到屏幕。但NTSC复合视频存在颜色溢出、文本上的色度伪影,以及信号带宽根本限制的水平分辨率。原装Apple II产生的40列文本模式在当时的电视上是可读的。在其他任何设备上,它提醒人们显示技术变化了多少。A2FPGA完全绕过了复合输出。它不捕获和放大模拟信号,而是监视Apple II的视频内存——Apple II的视频电路读取生成其复合输出的文本页面和高分辨率图形页面——并直接从这些内存内容生成HDMI。FPGA读取Apple II用于构建其复合信号的相同字节,并将它们渲染为一个干净的720×480数字框架。结果是文本和图形在正确的像素边界内,没有模拟模糊。 添加Videx仿真扩展了这个管道。Videx卡具有自己的2KB视频RAM,独立于Apple II的内存映射,存储80列字符网格。当80列模式激活时,FPGA用其Videx VRAM渲染替代Apple II的40列文本——在现代HDMI显示器上生成比通过Apple II的复合输出连接的任何物理Videx卡产生的更清晰的80列输出。MC6845 MC6845是1977年的一个可编程CRT控制器。它的工作是生成驱动CRT显示的时序信号:水平同步、垂直同步和光标位置。它不是现代意义上的视频芯片——自身不生成像素数据。它告诉主系统电子束在哪里,并信任主系统在正确的时间提供正确的字符数据。6845通过一个双端口接口暴露18个寄存器。你将寄存器号写入地址寄存器,然后读取或写入数据寄存器。这些寄存器控制从每行字符数到垂直总数再到光标闪烁速率的所有内容。在原始MC6845上,寄存器在很大程度上是只写的,尽管在Videx VideoTerm上使用的日立HD6845SP是允许完全读回的Type 1变体——这一点对检查自己配置的软件很重要。如果你查看物理Videx板,HD46505SP是最大的芯片,位于中央。它上方的两个2716 EPROM,上面分别标记为“INVERSE (C)1981 VIDEX”和“STD. 7X9 E (C)1981 VIDEX”,是字符ROM的两个部分。“VI-FIM-500 (C)1982 VIDEX”芯片是固件ROM。一个小型的74LS系列逻辑芯片群处理地址解码、总线缓冲和定时。FPGA仿真替代了所有这些。这块板上的每个芯片——HD46505SP、两个字符ROM EPROM、固件ROM,以及所有的胶水逻辑——都在GW2AR-18C结构中的大约250个查找表和160个寄存器中生存。为什么插槽3不同 Apple II有7个扩展插槽。在电气上,它们几乎是相同的——每个都提供相同的一组总线信号,以及一个专用的I/O选择和设备选择。但插槽3有一个硬件特性,使其与机器中的其他插槽不同:它控制INTCXROM内部ROM机制。当CPU访问$C300–$C3FF范围(插槽3 ROM空间)的内存时,Apple II硬件会检查一个名为SLOTC3ROM的软开关。如果SLOTC3ROM为0(默认值),则访问$C300会设置一个名为INTC8ROM的标志,将$C800–$CFFF扩展ROM空间路由到Apple IIe的内部80列固件,而不是外部卡。在Apple ][+上,SLOTC3ROM不存在,因此它始终为0——这意味着任何$C3xx访问都会设置INTC8ROM并阻止所有扩展。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡