Программирование на Nintendo DS - PullRequest
       46

Программирование на Nintendo DS

26 голосов
/ 28 сентября 2008

Ранее я читал этот ответ, и он заинтересовал меня в покупке Nintendo DS Lite для обучения программированию встроенных устройств. Прежде, чем я вышел и разорился на DS, у меня было несколько вопросов:

  1. Есть ли ограничения на то, что вы можете программировать? Сообщение, которое я указал ранее, казалось, говорило, что не было, но разъяснение было бы хорошо.

  2. Мне лучше купить Arduino (или аналогичный) и пойти по этому пути? Мне нравится DS, потому что он уже имеет много встроенного оборудования.

  3. Я думаю о получении карты CycloDS Evo, есть ли лучший вариант для домашнего варки?

  4. Как лучше узнать о разработке DS?

Спасибо за ваше время, если у вас есть DS и программа, я бы хотел, чтобы вы услышали ваше мнение, или, если у вас есть идея получше, я бы тоже хотел ее услышать.

Спасибо =]

Ответы [ 8 ]

20 голосов
/ 01 октября 2008
  1. Нет, на самом деле не так много ограничение за пределы аппаратное обеспечение, и даже это может быть преодолеть с достаточным усилием. дрожать был портирован на DS, например, и частицы игры, которые используют как процессоры были сделаны. Там Также была дискуссия о том, как создавать более качественные 3D-сцены, используя двухпроходный рендер. Есть несколько ресурсов на Nintendo ДС секция Г.Б.Дев форумы .

  2. I сказал бы, что DS является отличный маршрут к встроенным системам развитие; есть большой и активное сообщество, которое готово отвечать на вопросы и оказывать поддержку, и так много оборудования построено прямо в вещь. Экономит Вы время построения системы для тест на.

  3. CycloDS Evolution - это хорошая карта и довольно распространенная, так это не должно быть сложно - если необходимо сделать все, чтобы ваш домашний напиток был совместим с другие карты. Тем не менее, имейте в виду, что другие популярные варианты - M3 линия и линия R4, которые почти то же самое. я имею TTDS, и это хорошо работает, но не из коробки. Я бы порекомендовал другие три упомянутые.

  4. Что касается начиная DS деввинг, я бы рекомендую смотреть на основные примеры, найденные в папке examples devkitPro и чтение GBA руководство TONC , который охватывает многие концепции которые используются как в GBA, так и в DS развитие. Более ориентированный на DS учебник, Пататера Введение в Nintendo DS Программирование , поможет новичкам начать свой путь в мире DS. Существует также очень полная документация спецификации для GBA и DS, известные как GBATek .

8 голосов
/ 28 сентября 2008

Я немного программировал на DS Lite около года назад. Основное аппаратное ограничение, которое у меня было, - работа с оборудованием WiFi. Я обнаружил, что в то время коммуникация DS-DS была невозможна с доморощенными библиотеками. Я не уверен, что это изменилось. Я также обнаружил, что вы не можете создать Ad-Hoc соединение с другим устройством. Мне пришлось подключиться к сети 802.11b в режиме инфраструктуры, и необходимо было передать SSID.

Для разработки я использовал

Я не рекомендую Supercard Lite, так как он требовал использования слота GBA и DS DS. На тот момент это был единственный вариант. В настоящее время существуют решения только для слотов DS, такие как R4. У меня есть друг, который использует R4 и добился довольно хороших успехов, хотя сам не использовал его.

5 голосов
/ 28 сентября 2008

Я не занимался программированием на DS, но я занимался разработкой GBA (Game Boy Advanced). Если вы хотите узнать, как программировать встроенные устройства, это может быть хорошим вариантом для вас (и, конечно, более дешевым). Есть даже бесплатная книга, которую вы можете получить онлайн: Программирование Nintendo Gameboy Advanced . Я предлагаю GBA, потому что, как я видел, в Интернете гораздо больше ресурсов для обучения программированию для него. Недостатком является то, что у него нет Wi-Fi, а это значит, что вы не сможете делать столько крутых вещей, как для DS, но это, безусловно, начало!

3 голосов
/ 28 сентября 2008
  1. Ограничения являются аппаратными ограничениями - 4 МБ ОЗУ, 3D-оборудование может обрабатывать X полисов на кадр и т. Д. Кроме того, это просто куча оборудования, с которым вы можете делать то, что хотите. Инструментарий поддерживает C / C ++ и ассемблер (ARM).

  2. Разнообразие аппаратных средств - вот почему мне это тоже нравится. Освоение каждой части головоломки - это то, что делает DS забавным - у каждого аппаратного обеспечения есть свой собственный набор приемов для получения максимальной отдачи от него.

  3. Самого не имею, так что, наверное, просто отметьте здесь . Выглядит хорошо, хотя.
    Редактировать: Единственный недостаток, который я выбрал бы, это то, что вы будете часто менять карту SD между ПК и NDS, в то время как корзина с встроенным разъемом USB даст вам немного более быстрый оборот .

  4. Лучшими ресурсами являются примеры libnds, а затем форумы gbadev .

3 голосов
/ 28 сентября 2008

Не могу ничего сказать о 1,2 или 3. но ресурс, который я использую для программирования GBA, также имеет информацию DS:

http://nocash.emubase.de/gbatek.htm (и это глубокий технический документ, но мне это нравится)

Также: http://www.devkitpro.org/ для компиляторов и прочего.

2 голосов
/ 28 сентября 2008

Я только что получил CycloDS Evolution на днях, и мне это нравится! DSOrganize походит на мини-ОС, которая добавляет кучу вещей, с которыми я хотел бы получить DS, как настоящее приложение для календаря!

Чтобы обратиться к Майку Ф. № 3, на самом деле существует FTP-сервер для DS , который вы можете использовать для беспроводной передачи файлов на DS. Я сам не пробовал, так как моя сеть использует WPA, а DS поддерживает только WEP.

1 голос
/ 12 августа 2010

Я сделал оба, больше GBA, чем DS. Я бы рекомендовал сначала GBA, а затем перейти на DS, потому что это удваивает сложность. Ezflash V gba размером 3 в 1 - хорошая карта. У меня есть загрузчик для gba, который я записал на карту, используя NDS, и программу, которую я скачал и не могу вспомнить имя от руки. После того, как загрузчик работал последовательный кабель и позволяет мне отлаживать программы, а также загружать их в оперативную память. эта карта также позволяет вам загружаться в оперативную память на карте и запускаться оттуда с использованием буфера предварительной выборки и более крупной программы. Для NDS я перепробовал многие карты. Циклод хорош для повседневного использования, но не для развития. Я думаю, что мне больше понравился Acekard 2 или R4. Подумайте, сколько раз вы вытаскиваете карту, извлекаете SD-карту и загружаете ее в компьютер. Очень больно, вам нужна карта со слотом для SD-карт, на которую вы можете получить, не вынимая карту slot0. Циклодов не так. Очень хорошая карта для NDS. Я не думаю, что это работает на NDSi, где acekard 2 делает. Как для nds, так и для gba вы можете получить удовольствие от симуляторов, таких как visualboyadvance, они не совсем точны и очень распространены: программы, работающие на симуляторе, не будут работать на реальном оборудовании, программы, работающие на реальном оборудовании, обычно работают на симуляторе хоть. удаление карты разработки, перепрограммирование и замена очень болезненны, загрузчики, Wi-Fi или любой другой способ, которым вы можете избежать, который того стоит.

Arduinos - это весело и интересно, я рекомендую lilypad и usb to serial, пайка не требуется, и вы можете начать использовать его без больших вложений. Мне больше нравится armmite pro, arduino как след, но основанный на руке (единственный lpc, который я бы купил, а не lpc fan прямо сейчас). И вам не нужно покупать серийную вещь, просто обычный USB-кабель и перемычку (ну, может, скрепку, пока вы не припаяете перемычку). Я только что заказал еще два, и пока мой код, который стер флеш-память и позволил мне загрузить все, что я хочу, не работает, должен разобраться. Я по-прежнему очень доволен olimex sam7-h64 и h256 (системная плата at91sam7s256), поскольку avr atmel очень дружелюбен к разработчикам и имеет хорошие документы. Sparkfun - хорошее место, чтобы найти все вышеперечисленное в США. У Sam-ba теперь есть версия для Linux, если вы используете Linux, как я, версия для Windows была там некоторое время, довольно легко стиралась и перепрограммировалась, намного проще, чем ds или gba, наравне с Arduino или Armmite Pro или аналогичный.

Раньше световой микро, теперь у ti stellaris есть несколько хороших досок. как и gba / nds, но в отличие от других плат, о которых я говорил, есть дисплеи и другие периферийные устройства, с которыми можно играть, usb - все, что вам нужно для программирования. только в режиме большого пальца. GBA предпочитает режим большого пальца для производительности, но может пойти в любую сторону. Во-вторых, я не помню, никогда не доходил до того, чтобы понять ширину автобусов и их время. Знание Nintendo и их дешевизны, вероятно, лучше / быстрее. Eval Board lm3s811 было слишком легко кирпичить, 1968 год - неплохой. Мне не нравится, что они отталкивают разработчиков от исходных текстов до готовых библиотек, адаптированных к rtos и конкретному набору компиляторов.

1 голос
/ 04 августа 2010

Честно говоря, я нашел Nintendo DS и сообщество домашних пивоваров, когда я посещал курс по встраиваемым системам в колледже, и я понял сходство между набором на базе ATmega32, который я программировал для класса, и разработкой на аппаратном уровне. Nintendo DS через libnds, и я подсел.

Лично у меня сильный опыт работы с C ++, но возможность ходить с чем-то запрограммированным в моем кармане была моей целью с тех пор, как я впервые заполучил калькулятор TI-83 Plus. ... Теперь я могу реализовать эту цель благодаря Nintendo DS.

В любом случае, я надеюсь, что вы получите столько же удовольствия от разработки DS, как и я в последние месяцы, и я желаю вам удачи в ваших начинаниях.

...