2008-09-28 10 views
3

Примечание: Я мало знаю о инструментальной цепочке GCC, поэтому этот вопрос может не иметь особого смысла.Nintendo DS homebrew с Ada?

Поскольку GCC включает в себя передний конец Ada, и он может генерировать ARM, а devKitPro основан на GCC, возможно ли использовать Ada вместо C/C++ для написания кода на DS?

Редакция: Кажется, что цель, которую использует devKitARM, - arm-eabi.

+0

Я умираю, чтобы спросить, ПОЧЕМУ !!!!!! – 2008-09-28 04:33:02

+0

Достаточно честно - я представлял проект DoD, ориентированный на Nintendo. – 2008-09-29 01:27:59

ответ

1

(Отказ от ответственности: я не знаю, Ada)

Возможно.

Вы могли быть в состоянии построить devKitPro использовать Ад, однако, предварительно предоставленные двоичные файлы (по крайней мере, для OS X) не имеют поддержки Ada компиляции.

Однако, вы, вероятно, найти себя пишут тонны кода C "glue" для взаимодействия с различными аппаратными регистрами и т. п.

2

Одна вещь, которую следует учитывать при переносе языка на DSN-nintendo, - это относительно небольшой стек, который он имеет (16 КБ). Возможны обходные пути, такие как замена содержимого стека SRAM на DRAM (4 МБ), когда стек заполняется или просто имеет весь стек в DRAM (предположительно медленный).

И я второй Dre о том, что вам придется предоставить себе клей между функцией библиотеки Ada, которую вы хотели бы использовать, и существующими библиотеками на DS (которые, надеюсь, охватывают большинство аппаратных средств).

+1

Да, следите, чтобы вы не переполняли стек. :) – unwind 2008-11-05 11:01:00

6

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

Возможно, вы сможете построить компилятор ada, но я очень сомневаюсь, если вам когда-нибудь удастся получить что-нибудь полезное для самого DS. devkitPro, безусловно, никогда не предоставит компилятор ada в составе пакетов, которые мы производим.

+2

Для тех, кто не знает, WinterMute является разработчиком и создателем devkitPro. – LiraNuna 2009-11-05 22:25:03

0

На практичной плоскости это невозможно.

На теоретическом плане вы можете использовать один пользовательский парсер Ada (я нашел this one на сайте ANTLR, но он довольно старый), чтобы перевести Ada на C/C++, а затем передать это devkitpro.

Однако усилия по созданию такого переводчика, вероятно, будут равны (если не выше) для создания самой игры.

+0

Слишком много работы, как написать компилятор или переводчик для Ada - это огромный проект сам по себе. Тем не менее, очень простой переводчик Ada-> C/C++. – Lucretia 2011-11-02 17:41:03

3

Да, возможно, см. Мой проект https://github.com/Lucretia/tamp и построить кросс-компилятор согласно моему сценарию. Затем вы сможете настроить таргетинг на NDS с помощью Ada. Я также создал базовую RTS, которая предоставит вам локальную обработку исключений.

И @ Мартин Беккет, почему думают, что Ада нацелена прямо на материал DoD? Они отказались от мандата несколько лет назад, и Ada легко можно использовать для любого проекта, вы понимаете, что Ada - это язык программирования общего назначения не так ли?