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

Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException вообще.

См. также: A хороший список лучших практик

Я бы добавил, очень важно, хорошо использовать модификатор final. Использование "окончательной" модификатор, когда это применимо в Java

Сводка:

  1. Используйте модификатор final для обеспечения хорошей инициализации.
  2. Избегайте возврата null в методы, например, при возврате пустых коллекций.
  3. Использовать аннотации @NotNull и @Nullable
  4. Быстрое завершение работы и использование утверждений, чтобы избежать распространения нулевых объектов через все приложение, когда они не должен быть пустым.
  5. Сначала используйте значения с известным объектом: if("knownObject".equals(unknownObject)
  6. Предпочитают valueOf() поверх toString ().
  7. Используйте null safe StringUtils StringUtils.isEmpty(null).

26
задан Community 23 May 2017 в 12:08
поделиться

8 ответов

  1. нет, действительно нет большой части ограничения кроме того аппаратных средств, и даже который может быть преодолен с достаточным усилием. Quake был портирован к DS, например, и игры частицы, которые используют оба процессора, были сделаны. Также было обсуждение того, как сделать более высокое качество 3D сценами с помощью двойного рендерера передачи. Существует несколько ресурсов на разделе Nintendo DS форумы GBADev .

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

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

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

20
ответ дан Patater 23 May 2017 в 12:08
поделиться
  • 1
    ах, право... Я предполагаю, что это объяснило бы почему I' d подсознательно заметил, что моя машина Win7 представила шрифты, намного более трудные, чем другие поля Win. Спасибо за указание на это! – Jonathan Day 26 August 2010 в 01:09

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

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

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

8
ответ дан Ryan Taylor 23 May 2017 в 12:08
поделиться
  • 1
    NB, что можно использовать специальный тег img так, чтобы он использовал различные размеры изображения " если высокий DPI" касательно: stackoverflow.com/a/43823483/32453 – rogerdpack 23 May 2017 в 18:05
  1. ограничения являются аппаратными ограничениями - существует 4 МБ RAM, 3D аппаратные средства могут обработать X уловок на кадр и так далее. Кроме этого, это - просто набор аппаратных средств, что можно сделать то, с чем Вы хотите. Набор инструментальных средств поддерживает C/C++ и ассемблер (ARM).

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

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

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

3
ответ дан 23 May 2017 в 12:08
поделиться
  • 1
    Этот ответ уже звучит так обновленным: (. Вещи перемещались много с тех пор - в особенности платформа CSS. Общие рекомендации здесь все еще содержат довольно истинное, но большое улучшение (быстро реагирующих) платформ, облегчили иметь более общую базу. – Stefano 4 July 2013 в 12:24

Я просто получил Эволюцию CycloDS на днях, и я люблю ее! DSOrganize похож на мини-ОС, которая добавляет набор материала, мне было жаль, что DS не шел, как фактическое календарное приложение!

Для обращения к F Mike № 3 существует на самом деле FTP-сервер для DS, который можно использовать для передачи файлов DS с помощью беспроводных технологий. Я не попробовал его сам, хотя, так как моя сеть использует WPA, и DS только, кажется, поддерживает WEP.

2
ответ дан Ryan Fox 23 May 2017 в 12:08
поделиться
  • 1
    " Ваш сайт can' t работают отлично на каждый дисплей..." - я полностью согласен - так Ваша стратегия (как многие из нас, я предполагаю), должен выбрать зону наилучшего восприятия и дизайн для того - при попытке не сделать что-либо, что будет действительно плохо для других (где практически возможный). – Adrian K 25 August 2010 в 21:20

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

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

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

3
ответ дан Dre 23 May 2017 в 12:08
поделиться
  • 1
    you' r приветствие! don' t колеблются, задавание более точных вопросов должно Вы нуждаться... it' s трудно для создания широкого ответа, не пишущий несколько страниц – Stefano 26 August 2010 в 14:30

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

5
ответ дан willurd 23 May 2017 в 12:08
поделиться

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

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

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

1
ответ дан 28 November 2019 в 07:20
поделиться

Я сделал и то, и другое, больше 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 на последовательный порт, пайка не требуется, и вы можете начать использовать их, не вложив больших средств. Мне больше нравится armmite pro, arduino как след, но основанный на руке (единственный lpc, который я бы купил, а не вентилятор lpc прямо сейчас). И вам не нужно покупать серийную штуку, просто обычный usb-кабель и перемычку (ну, может быть, скрепку, пока перемычку не припаяете). Я только что заказал еще две, и пока мой код, стирающий исходную флеш-память и позволяющий мне загрузить все, что я хочу, не работает, надо это выяснить. Я по-прежнему очень доволен olimex sam7-h64 и h256 (плата заголовка at91sam7s256), так как с avr atmel очень дружелюбен к разработчикам с хорошей документацией. Sparkfun - хорошее место, где можно найти все вышеперечисленное в США. Sam-ba теперь имеет версию для Linux, если вы используете Linux, как я, версия для Windows была там некоторое время, ее довольно легко стереть и перепрограммировать, намного проще, чем ds или gba, наравне с arduino или armmite pro или похожий.

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

1
ответ дан 28 November 2019 в 07:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: