news 2026/4/26 17:09:40

探秘超级任天堂游戏卡带内部:多种芯片助力游戏性能提升!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
探秘超级任天堂游戏卡带内部:多种芯片助力游戏性能提升!

超级任天堂游戏卡带内部探秘

2024年4月21日,来探秘超级任天堂游戏卡带内部。超级任天堂显著特点之一,是游戏卡带(cart)能在ROM芯片存储的内容,远不止指令和游戏资源。打开卡带印刷电路板(PCB),能看到CIC防拷贝芯片、静态随机存取存储器(SRAM),甚至还有“增强处理器”等组件。

CIC防拷贝芯片

此前在[10NES]一文中,已深入探讨过超级任天堂(SNES)的防拷贝机制。该机制通过两个芯片同步通信实现,一个在游戏机主机内,另一个在游戏卡带中。若主机内的CIC芯片检测到异常,就会重置所有处理器。

并非所有SNES游戏卡带都有CIC芯片,像《超级3D诺亚方舟》这类未经授权的游戏就没安装。玩家若要游玩此类游戏,需先将该游戏卡插入游戏机,再插上一张官方游戏卡,让诺亚方舟游戏卡的CIC总线线路连接到官方游戏卡的CIC芯片上。

ROM:指令与游戏资源

因一直没找到完整的SNES游戏ROM大小列表,所以自己制作了一份。该列表涵盖美国、日本和欧洲地区的3378款游戏,具体数据见相关图表。

过去,游戏ROM大小通常以比特(bits)而非字节(bytes)表示。例如,《塞尔达传说3》的ROM大小以比特为单位是1048576 * 8 / (1024 * 1024) = 8Mb,而非宣传的1048576字节。有史以来发布的最大游戏《星海传说》,其ROM大小为48Mb(即6291456字节),而经典游戏《超级马里奥世界》仅用了524288字节(4Mb)的ROM。

若不想点击查看CSV文件,以下是一些值得关注的游戏:

游戏名称发行地区容量(Mb)容量(字节)
《星海传说》日本486291456
《幻想传说》日本486291456
《街头霸王Alpha 2》美国324194304
《街头霸王Zero 2》美国324194304
《时空之轮》美国324194304
《超级街头霸王II》美国324194304
《大金刚国度》美国324194304
《超级银河战士》美国241571143
《魔法使之剑》美国162097152
《街头霸王II》美国162097152
《超级马里奥世界2:耀西岛》美国162097152
《洛克人X2》美国121572864
《阿拉丁》美国81048576
《忍者神龟IV》美国81048576
《魂斗罗III:异形战争》美国81048576
《塞尔达传说:时之笛》美国81048576
《星际火狐》美国81048576
《超级马里奥赛车》美国4524288
《超级马里奥世界》美国4524288
《F - Zero》美国4524288

SRAM

部分游戏支持保存进度,通过由电池供电的SRAM芯片实现。游戏机关闭时,SRAM进入低功耗模式以减少电池消耗。

在塞尔达传说3 PCB板中,能看到之前提到的CIC芯片(D413A)位于U4位置。U1位置是0x80000 = 524288字节的ROM;U2位置是一个LH5268AF - 10TLL芯片,提供64 Kbits(8 KiB)的SRAM;U3位置的MAD - 1芯片是一个内存地址解码器,用于仲裁对ROM/RAM的访问。

增强处理器

最著名的增强处理器是Super FX(又名“MARIO”,也被称为“GSU - 1”),1993年用于《星际火狐》游戏。不过在此之前就已有其他增强芯片(EC)被使用。

完整的SNES增强游戏列表可在相关平台找到,总共有13种增强芯片为72款游戏提供支持。

增强处理器:SA - 1

“超级加速器1”(Super Accelerator 1,简称SA - 1)是增强芯片中的佼佼者,有34款游戏卡带采用该芯片。它基于65C816 CPU(与SNES主机使用的CPU相同),但运行速度是其4倍,达到10.74 MHz,还配备了2KiB的SRAM和一个集成的CIC芯片。

在马里奥RPG PCB板中,因SA - 1芯片已集成CIC芯片,所以没有单独的CIC芯片。U1位置是包含游戏指令和资源的ROM芯片;U2位置是SRAM芯片(集成了解码器,因此无需MAD - 1芯片);U3位置则是SA - 1芯片。

SA - 1芯片没有振荡器,使用游戏卡带端口的系统主时钟线,并在内部将其频率减半,最终运行频率为21.4772700 MHz / 2 = 10.74 MHz。其工作方式可在《超级任天堂开发者文档第二卷》中找到详细描述。启动时,SA - 1处于“停止”状态,SNES CPU会创建一个复位向量,并启动SA - 1,SA - 1的初始指令指针从该专用复位向量中获取。

SA - 1有加速器模式、并行处理模式和混合处理模式三种操作模式,在最强大的配置下,能使整个系统的性能提升5倍。

得益于处理性能的提升,SNES能够对图像处理器(PPU)中的128个精灵进行动画处理和碰撞检测,还允许实时对精灵进行变换并写回PPU的显存。任天堂的SA - 1演示卡带展示了这些显著改进。

SA - 1还被复古游戏社区用于改善过去因性能问题而出现卡顿的游戏,如消除《超级马里奥世界》的卡顿、去除《沙罗曼蛇III》的卡顿、去除《魂斗罗III》的卡顿等。

将游戏转换为支持SA - 1的过程似乎相当复杂,尤其需要重新映射RAM/ROM的访问。这有点令人费解,因为SA - 1的文档中提到“SNES和SA - 1使用相同的内存映射”。若知道原因,可发邮件告知。直到2019年,仍有人通过SA - 1收集项目努力实现自动重新映射,并让更多的SNES游戏支持SA - 1。

增强处理器:CX4

CX4是卡普空开发的芯片,为《洛克人X2》和《洛克人X3》两款游戏提供支持。它能进行3D线框渲染和大量数学运算,还可对精灵进行缩放和旋转,并将其写入显存。在《洛克人X2》的开场动画或BOSS战中能看到相关效果。

在洛克人X2 PCB板中,U4位置是防拷贝CIC芯片;U1位置是8M(8 Mbis = 1MiB)的ROM,包含游戏指令和资源;U2位置还有更多的ROM;U3位置则是CX4芯片。需要注意的是,X1位置有一个20MHz的振荡器,因为CX4芯片不使用游戏机的主时钟。

增强处理器:CS - DD1

DD1是一款精灵解压缩芯片,能直接向图像处理器的显存提供数据。它被用于《星海传说》和《街头霸王Alpha 2》两款游戏。

有传言称,DD1芯片是《街头霸王Alpha 2》在回合开始前出现黑屏问题的原因,Modern Vintage Gamer详细解释了其中原因,原来问题出在将声音样本传输到数字信号处理器(DSP)的RAM上。

《街头霸王Alpha 2》的游戏卡带在U1位置配备了大量的ROM(4 MiB),并使用DD1芯片实时解压缩游戏资源。这里没有单独的CIC芯片,因为它已经集成在DD1芯片中。

增强处理器:DSP - 1

DSP系列芯片支持19款游戏,其中DSP - 1芯片就占了16款,特别是像《超级马里奥赛车》和《飞行翼》这样的经典游戏。

这个名称选择不太恰当,因为DSP代表数字信号处理器,但它并不像大多数DSP那样处理连续信号。《超级任天堂开发者手册第二卷》对该芯片进行了详细介绍,它以阻塞模式工作,即DSP运行时,CPU处于等待状态。

在马里奥赛车PCB板中,U5位置是外部CIC芯片;U1位置是ROM;U3位置是用于保存游戏进度的SRAM;U4位置是用于ROM/RAM寻址的MAD - 1地址解码器,左上角还配备了电池以确保游戏保存数据在游戏机断电后不丢失。

和CX4芯片一样,DSP - 1芯片也不使用游戏卡带的主时钟,而是需要一个振荡器(这里是X1位置),其产生的频率为8 MHz。

当爱好者们发现《飞行翼》游戏使用的纹理分辨率远高于模式7的显示能力时,对bsnes模拟器进行了修改,使模式7能够实现高清分辨率。

DSP - 1芯片有三个版本,分别是DSP - 1、DSP - 1a和DSP - 1b。虽然这些版本修复了一些bug并改进了处理性能,但芯片的行为也发生了一些细微变化,导致《飞行翼》演示中的飞机出现坠毁问题。

增强处理器:DSP - 2

DSP - 2芯片仅用于一款游戏《地下城主》,主要用于转换Atari ST的例程,似乎主要用于精灵缩放。

增强处理器:DSP - 3

DSP - 3芯片仅用于一款游戏《SD高达GX》。

增强处理器:DSP - 4

DSP - 4芯片用于两款游戏:《顶级赛车3000》和《星球冠军TG 3000》。

这些增强处理器究竟还会给超级任天堂游戏带来怎样的惊喜呢?让人不禁期待!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/26 17:06:27

Moonlight TV:如何用开源方案实现30ms低延迟游戏串流?

Moonlight TV:如何用开源方案实现30ms低延迟游戏串流? 【免费下载链接】moonlight-tv Lightweight NVIDIA GameStream Client, for LG webOS TV and embedded devices like Raspberry Pi 项目地址: https://gitcode.com/gh_mirrors/mo/moonlight-tv …

作者头像 李华
网站建设 2026/4/26 16:58:39

3步立即掌握Ryujinx:如何快速解决Switch游戏在PC上卡顿的难题?

3步立即掌握Ryujinx:如何快速解决Switch游戏在PC上卡顿的难题? 【免费下载链接】Ryujinx 用 C# 编写的实验性 Nintendo Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx 想在电脑上畅玩《塞尔达传说:王国之泪…

作者头像 李华
网站建设 2026/4/26 16:50:23

2026届最火的六大降重复率神器推荐

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 如今,在学术写作这个范畴之内,人工智能论文工具变得越发普遍&#xf…

作者头像 李华
网站建设 2026/4/26 16:45:31

PE-bear:让PE文件分析变得像熊一样轻松

PE-bear:让PE文件分析变得像熊一样轻松 【免费下载链接】pe-bear Portable Executable reversing tool with a friendly GUI 项目地址: https://gitcode.com/gh_mirrors/pe/pe-bear 你是否曾在深夜调试Windows可执行文件时,被刺眼的界面晃得眼睛…

作者头像 李华