« 3DS 的架构 (index)

3DS 的架构

Chapter 7: 音频


目录

  1. 3DS专用硬件
    1. 操作
  2. 向下兼容模块
  3. 流水线

总的来说,SoC中包含两个音频模块

3DS专用硬件

你可能知道,这个DSP之前也捆绑在任天堂DSi中,但被视为可选加速器。 在3DS中,它成为了指定的音频处理器,因此不再是可选组件。

该DSP名为CEVA TeakLite II ,运行频率约为134 MHz 。 它由ParthusCeva制造,该公司提供用于音频处理的可综合核心 ,我猜"synthesisable"是任天堂在合作时寻找的关键词。

此外,该DSP输出采样率高达32 kHz16 bit的立体声样本(2通道)。

在这个组件旁边,我们可以找到512 KB的RAM,供DSP作为工作区使用。 它是双缓冲的(每个缓冲区256 KB),因此CPU和DSP都可以不间断地读写 。 除此之外,DSP还带有一个专用的DMA,可以在这512 KB内存中传输数据。

操作

出于所有目的和意图,游戏将此视为一个不透明的DSP。 因此,只有任天堂知道如何对其进行编程。

3DS编程,由于使用官方SDK开发,捆绑了一个DSP固件(完全由任天堂编写),该固件在运行时上传到DSP芯片 。 之后,程序依赖该固件执行与音频相关的例程。 此外,操作系统提供的音频服务进一步抽象了程序与DSP固件之间的通信 。

无论如何,尽管DSP固件可能多年来有所变化,但某些功能保持不变。 例如,DSP可以混合ADPCMPCM样本。 支持多达24个通道 。 还有滤波和排序功能,包括生成PSG类声音。

有趣的是,破解3DS(使其可以执行自制应用程序)的步骤中,可选地涉及提取HOME菜单的DSP固件,以便自制程序可以使用它提供音频输出 。

向下兼容模块

另一方面,我们找到了CSND模块。 3DS可以将其用作DSP的扩展,而DS/DSi/GBA游戏则依赖它来模拟其硬件。

在功能方面,CSND具有32个通道,是NDS对应模块的两倍。

奇怪的是,早期的自制程序默认使用此模块提供声音,同时等待DSP被逆向工程。

流水线

DSP和CSND都独立工作,并分别将音频输出到扬声器。

Image
音频管道概述.

值得注意的是,最初的任天堂3DS与扬声器的功能配合不佳,任天堂最终为嗡嗡声和3D滑块波动的情况提供了故障排除指南 ,所有这些都是由外壳设计引起的。


Previous: 6. 图形

Next: 8. I/O


Rodrigo Copetti © 2026 RSS Feed

切换至现代版

主页 · 文章 · 支持 · 关于作者 · 关于此网站