2008-09-28 48 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