0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

童年修复系列-SNES芯片组介绍及FPGA实现

OpenFPGA 来源:OpenFPGA 作者: 碎碎思 2021-10-12 14:43 次阅读

超级任天堂1990年11月21日在日本开始发售,北美于1991年8月13日发售,欧洲于1992年4月11日发售。

超级任天堂,简称超任,是任天堂公司开发的家用游戏机。英文名称Super Famicom,简写SFC;在欧美洲销售的产品名为Super Nintendo Entertainment System,简写SNES。超级任天堂是任天堂红白机的后继机种。由于芯片组的复杂,中国鲜有“复制品”出现。

所以今天就来聊一聊SNES的芯片组及其特殊性,同时带来FPGA实现SNES的开源方案。

SNES和现今的PC芯片组很相似-CPU+显卡+声卡组成,同时SNES为了处理复杂的运算增加了一颗DSP芯片,下面就按照组成一个一个介绍。

下图是整机的框图:

c547de7e-2b09-11ec-82a8-dac502259ad0.png

整机的总线互联如下:

c5aa3bdc-2b09-11ec-82a8-dac502259ad0.png

CPU总线使用的是从6502继承过来的类ISA总线。

CPU

SNES 的 CPU (中央处理单元)是基于 65c816 的处理器-5A22《一块带给无数人年少欢乐的CPU,别说你没用过它》。虽然它的时钟速度大约为 21 MHz,但它的有效速度要低得多:3.58 MHz 用于快速访问(即 2100-00-4000-00 到 $3F 中的硬件寄存器 )。这种变速模式来源于6502有一个叫做“ZERO-PAGE”的寻址模式,但是进行了进一步扩展。

它是一个带有 24 位总线的 16 位处理器(16 位数据指针和 8 位组指针)。支持16MB的寻址空间。它有一个计算器和两个寄存器,可以在8位或16位模式之间切换。

然而,它具有许多寻址模式。它使用可变宽度指令。单个指令的宽度可以根据某些寄存器的长度而变化。

PPU

SNES有两个特制的图像处理器,主要运行于256×224的分辨率,最高支持512x448的分辨率,最大发色数32768色,最大同屏幕显示256色,最大活动块数为128个,并支持缩放、回旋、马赛克、半透明、窗口、光栅等特效。

声优芯片

辅助CPU采用一颗SPC700(索尼推出),是一个8位的CPU核心,很接近6502,但有一些不同的寻址模式和复数/分割指令,与一个定制的数字声音信号处理器共同集成在一个模块中。

SPC700和65c816通过一个4路双向通道(8位I/O端口)通讯。SPC700有自己独立的64K内存,可以用来存储声音采样或者从65c816下载的程序。CPU有一个内建的64K ROM开机码,用来通过65c816从游戏ROM里加载更多的复杂程序或者采样数据。这个ROM可以被关闭,以存储开机码的64K RAM来代替它的工作。

声音数字信号处理器(Sound DSP)只能播放压缩的声音采样。这种使用一固定比率的压缩算法,可以将16个16位声音采样压缩成8字节加一字节标题的形式。一个采样的最小单位是一个区块,区块的标题字节包含一个移位和一个过滤值(算法解压信息),再加上一个最后区块标记和一个循环标记。循环标记仅仅在最后区块标记存在时才使用。

在同一时间内,最多允许有8个声音通道同时播放声音采样,每个声音通道都有单独的左右声道音量和频率的调节。每个通道都可以定义一个硬件音量调节,并各自设置其回声效果,不过复合的回声效果必须受制于一个8路的FIR声音分流器。

一个通道的声音输出可以用来调整在数字序列上的下一个声音通道的频率。DSP也有一个白噪音源,可以播放一个替代采样数据的声音通道。所有的8个音源连同回声数据最后都混合到一个双通道的主音量控制下。DSP有3个间隔定事器,头两个运行在8KHz下,最后一个是64KHz。游戏通常只使用三个中的一个来输出一个恒定的音乐回放频率。

顺便一提SNES的声音处理芯片SPC700是PS之父久多良木负责设计的,所以说索尼大法好可不是白叫的。

声优芯片和整机总线如下图所示:

c6e89034-2b09-11ec-82a8-dac502259ad0.png

扩展芯片

数字信号处理器

SNES 的 S-DSP (数字信号处理器)用于向扬声器输出数据。产生的声音以 32 KHz 运行。S-DSP 使用比特率降低将所需的大小减少到原始大小的 9/16。S-DSP 是「自带鬼畜」,你输入一个PCM格式的音源进去,比如把FA乐器输入进去,然后往sound chip的寄存器里写入你要的包络,音调之类的,sound chip上的协处理器就会帮你处理输出,其实就和做音乐用的合成器播放软音源差不多。

DSP-1

DSP-1是一种主要用于数学和伪 3D 投影的芯片。这通常使用model 7。这是其中最常用的芯片。它也适用于 2D 旋转等。

SA-1

SA-1是 CPU 的更快版本,但在访问方面存在一些差异。它带有“I-RAM”和“BW-RAM”。它通常以大约 11 MHz 的速度运行,当访问与 CPU 相同的东西时,它的速度为 5 MHz。

GSU

GSU是著名的 SuperFX 芯片的技术名称。GSU 可用于绘制颜色。它在很多方面都比 SNES 的 CPU 更强大。它是一个伪RISC。它可用于绘制许多事物,例如精灵和对象的旋转或制作伪 3D 效果。

CX4是 Capcom 使用的芯片,它在三角和图形方面非常强大。它可以绘制线条、波浪和 3D 线框,旋转精灵并进行三角计算等。应用到的游戏包括:洛克人X2,洛克人X3 等卡普空街机移植作品。

SDD-1

数据解压芯片,解压使用 ASIC 无算压缩算法压制的数据,它活跃在 SFC 主 CPU 和 ROM之间,负责透明实时数据解压工作,针对一些资源太大的游戏,为了节省卡带空间成本而引入了该芯片,使用游戏包括:星之海洋,街霸 Alpha 2 等。

SNES FPGA实现

硬件

还是GameGirl硬件

开源地址:

https://github.com/suisuisi/gamegirl/tree/master/Hardware

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1625

    文章

    21639

    浏览量

    601355
  • 芯片
    +关注

    关注

    453

    文章

    50264

    浏览量

    421176
  • asic
    +关注

    关注

    34

    文章

    1183

    浏览量

    120254
  • 任天堂
    +关注

    关注

    0

    文章

    225

    浏览量

    18973

原文标题:SNES FPGA实现

文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    TI DLP® 1080p全高清显示芯片组

    电子发烧友网站提供《TI DLP® 1080p全高清显示芯片组.pdf》资料免费下载
    发表于 08-31 09:38 0次下载
    TI DLP® 1080p全高清显示<b class='flag-5'>芯片组</b>

    TI DLP 4K超高清(UHD)显示芯片组

    电子发烧友网站提供《TI DLP 4K超高清(UHD)显示芯片组.pdf》资料免费下载
    发表于 08-30 11:38 0次下载
    TI DLP 4K超高清(UHD)显示<b class='flag-5'>芯片组</b>

    SerDes芯片组SCS5501和SCS5502助力车载多摄像头系统

    SerDes芯片组SCS5501和SCS5502助力车载多摄像头系统
    的头像 发表于 08-28 10:02 237次阅读
    SerDes<b class='flag-5'>芯片组</b>SCS5501和SCS5502助力车载多摄像头系统

    深度学习芯片组行业市场规模分析及发展趋势预测报告

    据GIR (Global Info Research)调研,按收入计,2023年全球深度学习芯片组收入大约3322.4百万美元,预计2030年达到27870百万美元,2024至2030期间,年复合
    的头像 发表于 06-18 10:27 275次阅读

    传AMD将提前推出下一代主板芯片组800系列

    AMD近日宣布将提前推出X860(E)作为新的消费级旗舰主板芯片组,这一决定打破了原有的X760(E)更迭计划,直接向英特尔的Z890旗舰看齐,共同迈入800系列时代。
    的头像 发表于 05-30 10:17 554次阅读

    AMD预计提前推出X860(E)芯片组

    AMD近日宣布,将提前推出全新的消费级旗舰主板芯片组X860(E),这一举动打破了原先预计的X760(E)更迭计划。新芯片组将与英特尔的Z890旗舰主板芯片组同属800系列,展示了AM
    的头像 发表于 05-29 14:26 807次阅读

    Intel fpga芯片系列有哪些

    Intel FPGA芯片系列主要包括以下几种。
    的头像 发表于 03-14 16:28 938次阅读

    Xilinx fpga芯片系列有哪些

    Xilinx FPGA芯片拥有多个系列和型号,以满足不同应用领域的需求。以下是一些主要的Xilinx FPGA芯片
    的头像 发表于 03-14 16:24 2984次阅读

    fpga芯片系列介绍

    FPGA芯片系列众多,不同厂商会推出各具特色的产品系列以满足不同的应用需求。以下是一些主要的FPGA芯片
    的头像 发表于 03-14 16:15 1170次阅读

    全球首款5G-V2X芯片组Autotalks得到验证

    Autotalks 作为V2X通信解决方案的全球领导者,依托罗德与施瓦茨(以下简称“R&S”)的专业测试技术和设备,验证了其第三代V2X 芯片组的性能。
    的头像 发表于 02-28 18:27 1303次阅读

    真我Note50发布 搭载紫光展锐T612芯片组

    真我Note50发布 搭载紫光展锐T612芯片组 日前真我手机首款Note系列机型真我Note 50正式发布,真我Note50售价是3599菲律宾比索,约合人民币459元。值得我们肯定的是,真我
    的头像 发表于 01-25 17:31 616次阅读

    英飞凌推出新一代ZVS反激式转换器芯片组

    英飞凌科技股份公司近日发布了新一代的次级侧受控ZVS反激式转换器芯片组EZ-PD™ PAG2,以满足市场对高效能USB-C PD适配器和充电器的需求。该芯片组由EZ-PD PAG2P和EZ-PD
    的头像 发表于 01-25 16:11 759次阅读

    基于Qorvo超宽带雷达芯片组打造的车内传感应用解决方案

    Algorized作为伯克利SkyDeck孵化计划在CES 2024的重要参展商之一,非常荣幸地宣布其作为Qorvo的合作伙伴,将在CES 2024期间展示基于Qorvo超宽带雷达芯片组打造的车内传感应用(如儿童存在检测)先进解决方案。
    的头像 发表于 01-12 10:57 573次阅读

    Arbe宣布推出用于量产感知雷达的准量产芯片组

    摘要:Arbe的芯片组为业内提供了一个高通道阵列雷达解决方案,具有较高的性能表现。   新一代4D成像雷达解决方案的头部企业Arbe Robotics(纳斯达克股票代码:ARBE;以下称Arbe)于
    的头像 发表于 01-10 09:35 377次阅读

    简述Xilinx 7系列FPGA芯片相关知识

    Xilinx 7系列 芯片 应用非常广泛,具有成本低、性能强悍、成熟稳定的特点,目前Xilinx( AMD )已延长该系列芯片的生命周期至少到2035年。 本文主要
    的头像 发表于 11-28 10:20 1061次阅读
    简述Xilinx 7<b class='flag-5'>系列</b><b class='flag-5'>FPGA</b><b class='flag-5'>芯片</b>相关知识