在 Nintendo DS 上编程

发布于 2024-07-06 19:59:13 字数 534 浏览 12 评论 0 原文

我正在阅读这个 之前的回答,这让我有兴趣购买任天堂 DS Lite 来学习嵌入式设备编程。 在我出去挥霍购买 DS 之前,我有几个问题:

  1. 您可以编程的内容是否有任何限制? 我之前指出的帖子似乎说没有,但澄清一下就好了。

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

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

  4. 了解 DS 开发的最佳资源有哪些?

感谢您的宝贵时间,如果您有 DS 和程序,我很乐意听听您的意见,或者如果您有更好的想法,我也想听听。

谢谢=]

I was reading this answer previously and it got me interested in purchasing a Nintendo DS Lite for learning to program embedded devices. Before I go out and splurge on a DS I had a few questions:

  1. Are there any restrictions on what you can program? The post I indicated earlier seemed to say there weren't, but clarification would be nice.

  2. Would I be better off buying an arduino (or similar) and going that route? I like the DS because it already has a lot of hardware built in.

  3. I'm thinking of getting a CycloDS Evo card, is there a better option for homebrew?

  4. What are the best resources to learn about DS development?

Thanks for your time, If you have a DS and program on it, I'd love you hear your opinion, or alternatively if you have a better idea, I'd like to hear it too.

Thanks =]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

半透明的墙 2024-07-13 19:59:14

大约一年前,我在 DS Lite 上完成了一些编程。 我遇到的主要硬件限制是使用 WiFi 硬件。 我发现当时的自制程序库无法进行 DS-DS 通信。 我不确定这是否已经改变。 我还发现您无法与其他设备建立临时连接。 我必须以基础设施模式连接到 802.11b 网络,并且必须广播 SSID。

为了进行开发,我使用了

我不推荐 Supercard Lite,因为它需要使用 DS 的 GBA 和 DS 插槽。 当时这是唯一的选择。 现在有仅 DS 插槽的解决方案,例如 R4。 我有一个朋友正在使用 R4,并且取得了相当好的成功,尽管我自己没有使用过。

I've done a little programming on the DS Lite about 1 year ago. The major hardware limitation that I had was working with the WiFi hardware. I found that DS-DS communication was not possible with the homebrew libraries at the time. I am not sure if that has changed. I also found that you could not form an Ad-Hoc connection to another device. I had to connect to an 802.11b network in infrastructure mode and the SSID had to be broadcast.

For developing I used

I don't recommend the Supercard Lite as it required use of the GBA and DS slot of the DS. At the time this was the only option. There are now DS slot only solutions such as the R4. I have a friend who is using the R4 and has pretty good success with it, though I have not used it myself.

豆芽 2024-07-13 19:59:14

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

I haven't done any programming on the DS, but I have done some development on the GBA (Game Boy Advanced). If what you're looking to do is learn how to program embedded devices, that might be a good option for you (and certainly a cheaper one). There's even a free book you can get online: Programming the Nintendo Gameboy Advanced. I suggest the GBA because, as I've seen, there are a lot more resources online for learning how to program for it. One drawback is that it doesn't have wifi, which means you won't be able to do as many cool things as you would for the DS, but it's certainly a start!

星軌x 2024-07-13 19:59:14

不能说任何关于 1,2 或 3 的事情。但是我用于 GBA 编程的资源也有 DS 信息:

http://nocash.emubase.de/gbatek.htm(这是一份深入的技术规范文档,但我喜欢它)

另外:http://www.devkitpro.org/ 用于编译器和其他内容。

Can't say anything about 1,2, or 3. but the resource I use for GBA programming also has DS info:

http://nocash.emubase.de/gbatek.htm (and this is a deep down technical spec document, but I like it for that)

Also: http://www.devkitpro.org/ for the compilers and stuff.

躲猫猫 2024-07-13 19:59:14
  1. 这些限制是硬件限制 - 有 4Mb RAM、3D 硬件每帧可以处理 X 个多边形等等。 除此之外,它只是一堆硬件,你可以用它来做你想做的事情。 该工具链支持 C/C++ 和汇编器 (ARM)。

  2. 硬件的多样性也是我喜欢它的原因。 掌握每一个难题是 DS 的乐趣所在 - 每个硬件都有自己的一套技巧来充分利用它。

  3. 我自己没有,所以我想只需检查此处 。 不过看起来不错。
    编辑:我会选择的唯一缺点是你会经常在 PC 和 NDS 之间交换 SD 卡,而带有板载 USB 插槽的推车会给你更快的速度周转。

  4. 的资源是 libnds 示例,然后是 gbadev 论坛

  1. The restrictions are hardware restrictions - there's 4Mb of RAM, the 3D hardware can handle X polys per frame and so on. Aside from that, it's just a bunch of hardware that you can do what you want with. The toolchain supports C/C++ and assembler (ARM).

  2. The variety of hardware is why I like it too. Getting to grips with each piece of the puzzle is what makes the DS a fun - each bit of hardware has it's own set of tricks for getting the most out of it.

  3. Don't have one myself, so I guess just check here. Looks nice though.
    Edit: The only nit I would pick with it is that you'll be swapping the SD card between PC and NDS a lot, whereas a cart with an onboard USB socket would give you slightly faster turnaround.

  4. The best resources are the libnds examples, and then the gbadev forums.

时光无声 2024-07-13 19:59:14

前几天我刚刚得到了 CycloDS Evolution,我非常喜欢它! DSOrganize 就像一个迷你操作系统,它添加了一堆我希望的东西DS 附带了,就像一个真正的日历应用程序!

为了解决 Mike F 的#3,实际上有一个 DS 的 FTP 服务器,您可以使用它可用于将文件无线传输至 DS。 不过我自己还没有尝试过,因为我的网络使用 WPA,而 DS 似乎只支持 WEP。

I just got a CycloDS Evolution the other day, and I am loving it! DSOrganize is like a mini-OS which adds a bunch of stuff I was wishing the DS came with, like an actual calendar app!

To address Mike F's #3, there is actually an FTP server for DS, which you can use to transfer files to your DS wirelessly. I haven't tried it myself though, since my network uses WPA and the DS only seems to support WEP.

べ繥欢鉨o。 2024-07-13 19:59:14

老实说,我在大学参加嵌入式系统课程时发现了 Nintendo DS 和自制软件社区,并且我意识到我为课程编程的基于 ATmega32 的套件与 Nintendo DS 的硬件级开发之间的相似之处libnds,我被迷住了。

就我个人而言,我有很强的 C++ 背景,但自从我第一次接触 TI-83 Plus 计算器以来,能够随身携带我编写的程序一直是我的目标......由于任天堂 DS,我现在能够实现这个目标。

不管怎样,我希望你能像我过去几个月一样享受 DS 开发的乐趣,并祝你一切顺利。

Honestly, I found the Nintendo DS and the homebrew community while I was attending an Embedded Systems course in college, and I realized the similarities between the ATmega32-based kit I was programming for the class and the hardware-level development of the Nintendo DS via libnds, and I was hooked.

Personally, I've come from a strong C++ background, but being able to walk around with something in my pocket that I've programmed has been a goal of mine since I first got my hands on a TI-83 Plus calculator... I'm now able to realize that goal due to the Nintendo DS.

Anyway, I hope you have as much fun getting into DS development as I have over the past months, and I wish you luck on your endeavors.

动听の歌 2024-07-13 19:59:14

两个我都玩过,GBA多于DS。 我建议首先使用 GBA,然后再升级到 DS,因为它会使复杂性加倍。 ezflash V gba 3 合 1 是一张不错的卡。 我有一个用于 gba 的引导加载程序,是我使用 NDS 写入卡的,还有一个我下载的程序,但我不记得名称了。 一旦引导加载程序开始使用串行电缆,我就可以调试程序并将它们加载到内存中。 该卡还允许您加载到卡上的 RAM 中,并利用预取缓冲区和更大的程序从那里运行。 对于NDS我已经尝试过很多卡了。 cyclods 适合日常使用,但对于开发来说就不那么好了。 我想我更喜欢 Acekard 2 或 R4。 想想你拔卡的次数,把sd卡拔出来再装入电脑的次数。 非常痛苦的是,您想要一张带有 SD 卡插槽的卡,无需拔出 slot0 卡即可使用。 cyclods不是它。 对于NDS来说,这是一张非常好的卡。 我认为它不像 acekard 2 那样适用于 NDSi。 对于 nds 和 gba,您可以使用像 Visualboyadvance 这样的模拟器,它们并不完全准确,而且很常见的是,在模拟器上运行的程序无法在真实硬件上运行,在真实硬件上运行的程序通常可以在模拟器上运行尽管。 移除开发卡、重新编程和更换是非常痛苦的,引导加载程序、wifi 或任何其他可以避免的方式都是值得的。

Arduino 很有趣,lilypad 和 USB 转串口是我推荐的,不需要焊接,不需要很大的投资就可以开始使用。 我更喜欢armmite pro,arduino喜欢footprint但基于arm(我唯一会买的lpc,现在不是lpc粉丝)。 而且您不需要购买串行设备,只需一根普通的 USB 电缆和一个跳线(也可以是回形针,直到您焊接跳线)。 我刚刚又订购了两个,到目前为止,我的代码删除了出厂闪存并允许我加载我想要的任何内容,但它不起作用,必须弄清楚这一点。 我仍然对 olimex sam7-h64 和 h256(头板 at91sam7s256)感到非常满意,因为 avr atmel 对开发人员非常友好,拥有良好的文档。 Sparkfun 是在美国找到上述所有内容的好地方。 Sam-ba 现在有一个 Linux 版本,如果你像我一样使用 Linux,Windows 版本已经有一段时间了,相当容易擦除和重新编程,比 ds 或 GBA 容易得多,与 arduino 或 armmite pro 或相似的。

以前的 luminary micro 现在 ti stellaris 有一些不错的主板。 与 GBA/NDS 类似,但与我提到的其他板不同,有显示器和其他外围设备可供使用,USB 是您编程所需的全部。 不过仅限拇指模式。 GBA 更喜欢拇指模式以提高性能,但可以选择任何一种模式。 我不记得了,我从来没有了解过总线的宽度和它们的时间安排。 了解任天堂和他们的廉价拇指可能会更好/更快。 lm3s811评估板太容易变砖了,1968年的还不错。 我不喜欢他们将开发人员从源代码​​中推向为 rtos 和特定编译器套件量身定制的预构建库。

I have done both, more GBA than DS. I would recommend GBA first then moving up to DS because it doubles the complication. The ezflash V gba sized 3 in 1 is a good card. I have a bootloader for the gba that I wrote to the card using an NDS and a program that I downloaded that I cant remember the name of off hand. Once the bootloader was working a serial cable and lets me debug programs as well as load them into ram. that card also allows you to load into ram on the card and run from there taking advantage of the prefetch buffer and a bigger program. For the NDS I have tried many of the cards. The cyclods is good for day to day use, but for development not so much. I think I liked the Acekard 2 better, or the R4. think about the number of times you pull the card out and pull the sd card out and load it into a computer. Very painful you want a card with an sd card slot you can get at without having to pull the slot0 card out. the cyclods is not it. A very good card though for the NDS. I dont think it works on the NDSi where the acekard 2 does. For both nds and gba you can get your feet wet with simulators like visualboyadvance, they are not completely accurate and very common that programs that work on the simulator will not work on real hardware, programs that work on real hardware will usually work on the simulator though. removing the development card, reprogramming, and replacing is very painful, bootloaders, wifi, or any other way you can avoid that is well worth it.

Arduinos are fun and interesting, the lilypad and the usb to serial thing is the one I recommend, no soldering required and you can start using for not a big investment. I like the armmite pro better, arduino like footprint but arm based (the only lpc I would buy, not an lpc fan right now). And you dont need to buy the serial thing, just a normal usb cable and a jumper (well maybe a paper clip until you solder on a jumper). I just ordered two more and so far my code that erased the as-shipped flash and allowed me to load whatever I want isnt working, gotta go figure that out. I continue to be very pleased with the olimex sam7-h64 and h256 (header board at91sam7s256), as with the avr atmel is very developer friendly with good docs. Sparkfun is a good place to find all of the above in the USA. Sam-ba now has a linux version if you use linux as I do, the windows version had been there for a while, fairly easy to erase and reprogram, much easier than a ds or gba, on par with the arduino or armmite pro or similar.

Formerly luminary micro now ti stellaris has some good boards. like the gba/nds but unlike the other boards I mentioned there are displays and other peripherals to play with, usb is all you need to program. thumb mode only though. GBA prefers thumb mode for performance but can go either way. nds, I dont remember, never got so far as to understand the width of the busses and their timing. Knowing Nintendo and their cheapness thumb is probably better/faster. the lm3s811 eval board was too easy to brick, the 1968 is not a bad one. I dont like that they were pushing developers away from the source and into pre-built libraries tailored to the rtos and specific compiler suite.

锦欢 2024-07-13 19:59:13
  1. 不,确实没有太多
    超出的限制
    硬件,甚至可以是
    以足够的努力去克服。 雷神之锤
    已移植到DS,例如,
    以及利用两者的粒子游戏
    处理器已经制作完成。 那里
    也一直在讨论如何
    使用以下工具制作更高质量的 3D 场景
    双通道渲染器。 有
    任天堂上的多种资源
    GBADev 的 DS 部分
    论坛


  2. 会说 DS 是一个
    通往嵌入式系统的绝佳途径
    发展; 有一个大的和
    活跃的社区愿意
    回答问题并提供支持,
    并且建造了如此多的硬件
    直接进入正事。 它节省了
    你建立一个系统的时间
    测试上。

  3. CycloDS Evolution 是
    好卡而且相当常见,所以
    这应该不难 - 如果
    完全必要 - 让你的自制程序兼容
    其他卡。 但是,请注意
    其他受欢迎的选择是 M3
    线和R4线,它们是
    几乎是同一件事。 我有
    TTDS,效果很好,但不是
    盒子外面。 我会推荐
    其他三人也提到了。

  4. 至于
    开始 DS 开发时,我会
    推荐看基本的
    在 devkitPro 的 examples 文件夹中找到的示例并阅读 GBA
    教程
    TONC
    ,
    其中涵盖了许多概念
    GBA 和 DS 中均使用
    发展。 更加面向DS
    教程,帕塔特的
    任天堂 DS 简介
    编程

    将帮助初学者上路
    在DS世界里。 还有一个非常全面的文档
    GBA 和 DS 的规范称为
    GBATek
    .

  1. No, there really isn't much of a
    limitation beyond that of the
    hardware, and even that can be
    overcome with enough effort. Quake
    has been ported to DS, for example,
    and particle games that utilize both
    processors have been made. There
    has also been discussion on how to
    make higher quality 3D scenes using
    a double pass renderer. There are
    multiple resources on the Nintendo
    DS section of the GBADev
    forums
    .

  2. I
    would say that the DS is an
    excellent route to embedded systems
    development; there is a large and
    active community that is willing to
    answer questions and give support,
    and there is so much hardware built
    straight into the thing. It saves
    you the time of building a system to
    test on.

  3. The CycloDS Evolution is a
    good card and is fairly common, so
    it shouldn't be difficult - if
    necessary at all - to make your homebrew compatable with
    other cards. However, be aware that
    other popular choices are the M3
    line and the R4 line, which are
    pretty much the same thing. I have
    a TTDS, and it works well, but not
    out of the box. I would reccommend
    the other three mentioned.

  4. As for
    beginning DS devving, I would
    reccommend looking at the basic
    examples found in the examples folder of devkitPro and reading the GBA
    tutorial
    TONC
    ,
    which covers many of the concepts
    that are used in both GBA and DS
    development. A more DS oriented
    tutorial, Patater's
    Introduction to Nintendo DS
    Programming
    ,
    will help beginners get on their way
    in the DS world. There is also a very comprehensive documentation
    spec for the GBA and DS known as
    GBATek
    .

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文