据我所知,在DS上运行的代码必须加载到RAM中,因此从已经限制的4M开始。有没有办法直接从图像中运行DS代码?
答案 0 :(得分:5)
简短回答:不。
任天堂DS的内存映射不包括映射到DS盒式磁带中ROM的任何位置。
相比之下,在Game Boy Advance上,区域08000000-09FFFFFF被映射到Game Pak中的外部ROM。此映射也包含在DS中,可能是为了向后兼容并允许一些GBA游戏和DS游戏交互(例如Castlevania: Dawn of Sorrow easter eggs)。但仅映射到GBA插槽,因此仅映射到GBA磁带。
您可以使用此功能从GBA插槽中的GBA磁带读取,并在DS模式下从那里运行代码。早期的非官方可擦写墨盒就是这么做的。这不是非常适合未来的 - 它不适用于没有这种GBA插槽的DSi。此外,现在更难找到Slot-2墨盒,常规DS型墨盒更受欢迎和可用。
创建需要运行比内存更多代码的大型游戏的常用方法是使用code overlays或在scripting-type language中编写可以动态加载和卸载代码的游戏。