SNES 协处理器:DSP-1 及其他

主要观点:

  • Sega 通过 Sega CD 和 32X 扩展 Genesis 能力,Nintendo 则在 SNES 的游戏卡带中添加额外硬件,本文主要介绍 SNES 的第一款协处理器 DSP-1 及其相关内容。
  • 介绍了多种 SNES 协处理器,包括 DSP-1、DSP-2、DSP-3、DSP-4、ST010、ST011 和 ST018,它们各自的特点、使用游戏及在模拟器中的情况。

关键信息:

  • DSP-1 最早用于 1990 年底日本发布的《Pilotwings》,包含预编程的 NEC μPD77C25 DSP 用于 3D 计算,约 16 款游戏使用,如《Pilotwings》和《Super Mario Kart》。
  • DSP 时钟 8MHz,可执行单周期指令,24 位操作码,能进行 16 位乘法,支持 6KB 程序 ROM、2KB 数据 ROM 和 512 字节数据 RAM,有多种 ALU 操作。
  • SNES CPU 与协处理器通过两个 8 位寄存器通信,DSP-1 程序结构简单,“raster”命令用于 3D 投影计算。
  • 多数 SNES 模拟器采用 HLE 实现 DSP-1,现代模拟器也有 LLE 实现,作者的模拟器使用 LLE 因难以获取 DSP-1 程序文档。
  • DSP-2 用于《Dungeon Master》,DSP-3 用于《SD Gundam GX》,DSP-4 用于《Top Gear 3000》,LLE 实现需提供相应 ROM,HLE 实现与 DSP-1 不同。
  • ST010 和 ST011 协处理器使用 NEC μPD96050 DSP,分别用于《F1 ROC II: Race of Champions》和《Hayazashi Nidan Morita Shougi》,LLE 实现较简单,HLE 实现较难。
  • ST018 包含 32 位 ARMv3 CPU 用于《Hayazashi Nidan Morita Shougi 2》,作者的 SNES 模拟器未支持。

重要细节:

  • 《Pilotwings》和《Super Mario Kart》依赖 DSP-1 维持 60 帧每秒。
  • DSP 操作码各参数含义及作用。
  • SNES 不同模式下寄存器映射位置。
  • DSP-1 三种变体的区别及相关游戏的情况。
  • ST010 和 ST011 协处理器的内存映射及特点。
阅读 16
0 条评论