2008-09-28 49 views
25

我刚才在读this答案,它让我有兴趣购买Nintendo DS Lite来学习编程嵌入式设备。在我出去挥霍DS之前,我有几个问题:任天堂DS上编程

  1. 对你的程序有什么限制吗?我之前表示的帖子似乎说没有,但澄清会很好。

  2. 我会购买arduino(或类似的)并走这条路线吗?我喜欢DS,因为它已经有很多内置的硬件。

  3. 我正在考虑购买CycloDS Evo卡,有没有更好的选择自制软件?

  4. 有关DS开发的最佳资源是什么?

感谢您的时间,如果你有就可以了DS和程序,我爱你,听听你的意见,或者如果你有更好的想法,我想听听它。

感谢=]

回答

19
  1. 没有,真的没有远远超出了 硬件的 限制,甚至可以克服足够的努力 。 Quake 已被移植到DS,例如, ,同时利用 处理器的粒子游戏已经制作完成。有 也正在讨论如何使用 双通渲染器来制作更高质量的3D场景。在GBADev forums的Nintendo DS部分有 多个资源。

  2. 我 会说,DS是一个 优秀的路由到嵌入式系统 发展;有一个大的 积极的社区,愿意 回答问题和给予支持, 和有这么多的硬件建成 直入事情。它将您建立系统时的 保存到 测试上。

  3. 的CycloDS进化是一个很好的 卡是相当普遍的,所以 它不应该是困难的 - 如果 必要的话 - 让你的自制compatable与其他 卡。但是请注意, 其他热门选择是M3 线和R4线,它们几乎是相同的东西,它们是 。我有 TTDS,它运作良好,但不是 开箱即用。我会推荐 其他三个提到。

  4. 至于 开始DS devving,我会 reccommend看着devkitPro的examples文件夹中找到基本 例子和阅读GBA tutorial TONC, 涵盖许多是在两个GBA和DS使用的概念 开发。更多面向DS的 教程,Patater's Introduction to Nintendo DS Programming, 将有助于初学者在DS世界中前往 。还有一个very comprehensive documentation spec for the GBA and DS known as GBATek

4

我没有在DS上做过任何编程,但是我在GBA(Game Boy Advanced)上做了一些开发。如果你想要做的是学习如何编程嵌入式设备,这对你来说可能是一个不错的选择(当然也是更便宜的)。甚至有一本免费的书可以上网:Programming the Nintendo Gameboy Advanced。我建议GBA,因为正如我所看到的,网上有更多的资源可供学习如何编程。一个缺点是它没有wifi,这意味着你将无法像DS那样做很多酷的事情,但它肯定是一个开始!

3
  1. 限制是硬件限制 - 有4Mb的RAM,3D硬件可以处理每帧X个多边形,等等。除此之外,它只是一堆硬件,你可以做你想做的事情。该工具链支持C/C++和汇编程序(ARM)。

  2. 硬件的多样性是我喜欢它的原因。掌握每一个难题就是让DS变得有趣 - 每一个硬件都有自己的一套技巧,可以充分利用它。

  3. 自己没有一个,所以我想只是检查here。虽然看起来不错。
    编辑:我唯一挑选的就是你将在PC和NDS之间交换SD卡,而带有USB插座的购物车会让你的周转速度稍微快一点。

  4. 最好的资源是libnds示例,然后是gbadev forums

7

大约一年前,我已经在DS Lite上做了一些编程。我的主要硬件限制是使用WiFi硬件。我发现DS-DS通信当时不适用于自制软件库。我不确定这是否改变了。我还发现你不能和另一台设备建立Ad-Hoc连接。我不得不在基础设施模式下连接到802.11b网络,并且必须广播SSID。

对于开发我使用

我不推荐使用Supercard Lite,因为它需要使用DS的GBA和DS插槽。当时这是唯一的选择。现在只有DS插槽解决方案,如R4。我有一个使用R4的朋友,虽然我没有用过它,但它的成功很不错。

+0

是的,dswifi仍然只是基础设施模式,没有专门的。但是,如果您只需要与其他NDS进行通信,您就可以*仅投掷原始802.11数据包。 – 2008-09-28 04:00:23

2

我刚刚得到了CycloDS Evolution,我很喜欢它! DSOrganize就像是一个迷你操作系统,它增加了一些我希望DS附带的东西,就像一个实际的日历应用程序!

要解决Mike F的#3问题,实际上有一个FTP server for DS,您可以使用它来无线传输文件到您的DS。虽然我自己并没有尝试过,因为我的网络使用WPA,DS似乎只支持WEP。

1

老实说,我发现任天堂DS和自制软件,而我参加大学的嵌入式系统课程,我这才意识到自己被编程为类和硬件基于ATmega32的试剂盒之间的相似性通过libnds进行Nintendo DS的高级开发,并且我被迷住了。个人而言,我来自一个强大的C++背景,但能够在自己的口袋中随身携带某些东西,并且自从我第一次接触TI-83 Plus以来,一直是我的目标之一计算器...我现在可以通过任天堂DS实现这个目标。

无论如何,我希望您能像我在过去几个月一样乐在进入DS开发,并且祝您好运。

1

我已经完成了两个,比DS更多的GBA。我会先推荐GBA,然后再向DS推荐,因为它会使并发症增加一倍。 ezflash V gba大小为3合1是一张好牌。我有一个使用NDS和我下载的程序写入卡片的gba引导程序,我不记得手头的名字。一旦引导程序正在使用串行电缆,并让我调试程序并将其加载到内存中。该卡还允许您加载到卡上的RAM并从那里利用预取缓冲区和更大的程序运行。对于NDS我尝试了许多卡片。环行星适合日常使用,但发展并不多。我认为我更喜欢Acekard 2,或者R4。考虑你拔出卡的次数并将SD卡拔出并加载到计算机中。非常痛苦,你想要一张带有SD卡插槽的卡,而无需将slot0卡拉出。环行星不是它。 NDS非常好的一张卡。我不认为它适用于Acekard 2所在的NDSi。对于nd和gba,你可以用模拟器如visualboyadvance弄湿你​​的脚,它们不是完全准确和非常常见的,在模拟器上工作的程序不能在真实硬件上工作,在真实硬件上工作的程序通常会在模拟器上工作虽然。删除开发卡,重新编程和替换是非常痛苦的,引导程序,wifi或任何其他方式,你可以避免这是非常值得的。

Arduinos是有趣和有趣的,lilypad和USB串行的东西是我推荐的,没有焊接要求,你可以开始使用不是一个大的投资。我更喜欢armmite pro,arduino像脚印但是基于arm(我现在买的唯一lpc,现在不是lpc粉丝)。而且你不需要购买系列产品,只需一根普通的USB线和跳线即可(也许是一个回形针,直到你穿上跳线)。我刚刚订购了两个以上的代码,这些代码可以擦除发货的闪存,并允许我加载任何我想要的工作,但是要弄清楚。我仍然对olimex sam7-h64和h256(header board at91sam7s256)感到非常满意,因为avr atmel对开发人员非常友善,并且有很好的文档。 Sparkfun是在美国找到以上所有产品的好地方。 Sam-ba现在有一个linux版本,如果你像我一样使用linux,那么windows版本已经存在了一段时间,相当容易擦除和重新编程,比ds或gba更容易,与arduino或armmite pro相当类似。

以前的照明微现在ti stellaris有一些好的板子。像gba/nds,但不像我提到的其他主板有显示器和其他外设可以使用,usb是您需要编程的全部。只有拇指模式。 GBA更喜欢拇指模式的性能,但可以采取任何方式。恩,我不记得,从来没有懂得公交车的宽度和时间。了解任天堂和他们的廉价拇指可能更好/更快。 lm3s811评估板太容易砖了,1968年也不错。我不喜欢他们推动开发者远离源代码,并将其纳入针对rtos和特定编译器套件定制的预构建库中。

+0

对不起,错误的armmite亲需要小的ftdi板的电源和串行到USB。即使这仍然是一个有吸引力的价格。 – 2010-08-12 05:11:48