这里能说的可就多了,首要原因是这个游戏机确实启发开发者和艺术家们想出了非常创新的设计。 让我们来看看......
存储介质
这个游戏机可以从三个来源运行游戏,其中只有两个可以充分地利用硬件:
- NDS 或者说"Slot-1"卡带:用于加载原生NDS游戏的主要介质, 这是用于发行NDS游戏的唯一介质。
- GBA或者说"Slot-2"卡带:该插槽使得掌机能够原生游玩GBA游戏。Slot-1游戏也可以访问此插槽,因此可以插入扩展卡带以增强NDS游戏。 这提供了诸多功能如更多RAM、更丰富的输入控制或反馈设备(例如振动包)。
- Download Play或"无线多重启动(Wireless MultiBoot)":原多重启动(MultiBoot)功能的升级版,使另一个带有NDS游戏的掌机能够使用无线通信上传程序。 下载的内容存储在WRAM中,传输完成后启动。 由于WRAM是易失性存储器,数据在关机时将丢失。
- 获得授权的零售商可以使用此功能部署下载站,邀请用户在到店参观时下载演示版游戏。
程序的结构
你已经见过BIOS需要分别为ARM9和ARM7编写不同的代码,在游戏中基本也是同样的情况。 NDS卡的结构如下:
- Header(4 KB):包含元数据(各个可执行文件的位置、序列号等)。
- Secure Area(16 KB):出于复制保护的目的而设置。 我们将在本文的最后一部分详细介绍相关内容。
- Main content(大小可变):卡带的其余部分,仅包含可执行文件和游戏数据(图形、声音等)。 使用任天堂的SDK制作的零售游戏使用内置的文件系统将数据层次化地组织为文件和目录。
开发生态
对于有意为该掌机开发游戏的游戏工作室,任天堂分发了硬件套件和SDK,其中包括许多实用工具。
硬件
被称为IS-NITRO-EMULATOR的开发套件由一个中等大小的蓝色盒子组成,包含DS的大部分内部硬件和I/O接口。 套件通过一根粗电缆连接到一个充当"控制器"和显示器的伪NDS外壳。 根据需求,开发工具包还可以增加可选功能,例如音频/视频输出、Wi-Fi(默认情况下使用以太网模拟)和调试功能。 我原以为后者已经包含在内了,但我意识到这些设备也可以被测试团队使用。
该套件可以读取DS卡带,但是需要使用较大的卡片和可更换的备份芯片。 这些卡片使用被称为IS-NITRO-WRITER的另一个单元刷写。
软件
软件套件包括用于与开发工具包交互的实用程序、C/C++工具链和硬件API。 需要提到的一点是,文档明确禁止绕过提供的API直接访问硬件:尽管游戏将在裸机上运行,但如果它执行"违禁"操作,任天堂将不会批准其分发。 违禁操作包括直接控制ARM7,超出显示分辨率或者关闭LCD屏幕。
这些措施情有可原,例如为了保证质量水平。 尽管在我看来,把ARM7拘束在I/O任务里纯属浪费......
交互的自由
随着新型交互形式的出现,工作室就有机会优先考虑游戏体验而不是图形显示。
在电子消费品中,一款把触摸屏、麦克风、Wi-Fi和一个实时时钟封装到一起的掌机第一次出现。 一些游戏甚至提出了新的互动形式,比如指示用户侧握掌机。
网络服务
在以前的竞争对手获得成功之后,任天堂也加入了在线多人游戏俱乐部,并部署了他们的集中式基础设施。 使用"Internet Play"的游戏可以连接到任天堂的服务器(称为Nintendo Wi-Fi Connection)在线游玩游戏。

