Часто задаваемые вопросы
 


FreeBASIC на Xbox общие вопросы
Приступая к работе с FreeBASIC на Xbox вопросы

FreeBASIC на Xbox общие вопросы



На FreeBASIC действительно можно создавать игры для Xbox?

В теории, да. Копия FreeBASIC 0.13 была портирована на Xbox в июле 2005 года, и производила рабочие исполняемые файлы. Тем не менее, изменения в компиляторе для версии 0.14 сломали эту совместимость.

Порт Xbox находится в подвешенном состоянии, никто в команде проекта не имеет консоли Xbox на данный момент - оригинальный порт был сделан SJ Zero, но позднее совместимость была потеряна.

Порт находится на удержании, пока базовый порт GCC не будет полным, потому что считается, что этот порт будет исправлять порт Xbox.


Как был создан порт FreeBASIC Xbox?

FreeBASIC для Xbox стал возможным благодаря усилиям разработчиков Open Source, которые создали OpenXDK, легальный набор средств для разработки под Xbox. OpenXDK создавался для unix среды, что вполне совместимо с FreeBASIC.

Порт был создан благодаря тому, что FreeBASIC RinTime начала использовать версию OpenXDK из Glibc вместо mingw32 версии. При компиляции с правильными флагами, создается похожий EXE файл. Затем CXBE удаляет заголовок Windows PE и заменяет его заголовком Xbox.

В сущности, все порт оказался реален без изменения RinTime библиотеки, но с линковкой в соответствии с утилитой CXBE, с помощью которой и создается Xbox исполняемый файл.


Как насчет порта для Xbox 360?

Xbox работает на процессоре Intel Pentium 3 с чипсетом NVIDIA NFORCE от NVIDIA и с помощью звуковой карты NVIDIA SoundStorm. Именно поэтому порт Xbox было возможен, и относительно прост в реализации.

Xbox 360 использует чужой процессор, а так же другое оборудование. FreeBASIC в настоящее время не может создавать исполняемые файлы для Xbox 360.

Еще одной проблемой является отсутствие легального OpenXDK для Xbox 360. Это вынудит любой порт использовать Xbox 360 XDK, который охраняется авторским правом Microsoft. Это было бы незаконно, аморально, и поставило бы FreeBASIC в правовой конфликт.

Таким образом, порт с Xbox 360 невозможен в настоящее время.

Как насчет порта для PlayStation или другой консоли?

Xbox работает на процессоре Intel Pentium 3 с чипсетом NVIDIA NFORCE от NVIDIA и с помощью звуковой карты NVIDIA SoundStorm. Именно поэтому порт Xbox было возможен, и относительно прост в реализации.

PlayStation использует чип RISC, для которого FreeBASIC не может в настоящее время создавать код. Почти все консоли используют не x86 процессоры, что останавливает разработку с использованием FreeBASIC для консолей.

Еще одной проблемой является отсутствие легального OpenXDK для многих консолей. Это вынудит использовать коммерческое ПО, которое охраняется авторским правом. Это было бы незаконно, аморально, и поставило бы FreeBASIC в правовой конфликт.

Таким образом, порт для других консолей невозможен в настоящее время. Тем не менее, многие порты для консолей и других платформ с юридической точки зрения может стать возможным, когда базовый порт GCC станет полным.

Почему бы вам не использовать эмулятор, пока разработчик не получит модифицированные Xbox?

Ни один известный эмулятор Xbox не способен работать с FreeBASIC кодом. Реальная аппаратная консоль требуется, чтобы управлять запущенными программами. То есть эмулятор абсолютно бесполезен для этого.
Почему Вы не используете Microsoft XDK?

Есть две главные причины не использовать Microsoft XDK.

1) Microsoft's XDK - часть защищенного авторским правом программного обеспечения, и использование его было бы незаконным и безнравственным, создавая опасность подвергнуться судебным искам. Кроме того, ни у одного из членов команды FreeBASIC никогда не было доступа к Microsoft XDK, чтобы предотвратить "гонения" FreeBASIC по закону.

2) OpenXDK развит вокруг gcc и систем UNIX, таких как MinGW или Cygwin. Это означает, что может FreeBASIC может провести адаптацию по порту с очень небольшим усилием. XDK Microsoft развит вокруг базируемых компиляторов Microsoft, и таким образом сложность изготовления порта большая.

ПРИМЕЧАНИЕ: ЗАЩИТА АВТОРСКОГО ПРАВА MICROSOFT, И ДОВЕРИЕ К FREEBASIC, ИМЕЕТ ОСНОВНОЕ ЗНАЧЕНИЕ В ЭТОМ ПРОЕКТЕ. МЫ НЕ ХОТИМ ПОМОЩЬ НИ ОТ КОГО С XDK, И ПРИ ЭТОМ МЫ НЕ ХОТИМ ПОМОЩЬ НИ ОТ КОГО С XBOX ОТЛАДЧИКОМ. ЛЮБАЯ ПОПЫТКА ПРЕДЛОЖИТЬ XDK ИЛИ XDK СВЯЗАННУЮ ПОМОЩЬ ДОЛЖНА БЫТЬ ОТПРАВЛЕНА НАДЛЕЖАЩИМ ПРАВООХРАНИТЕЛЬНЫМ ОРГАНАМ.

Почему Вы не используете отладчик Microsoft, для отлова ошибок?

Есть два очень серьезных основания не использовать отладчик Microsoft.

1) Microsoft's XDK - часть защищенного авторским правом программного обеспечения, и использование его было бы незаконным и безнравственным, создавая опасность подвергнуться судебным искам. Кроме того, ни у одного из членов команды FreeBASIC никогда не было доступа к Microsoft XDK, чтобы предотвратить "гонения" FreeBASIC по закону.

2) Отладчик Microsoft требует специальной модификации Xbox, которой ни SJ Zero, ни любой член группы разработчиков не имеют, и откровенно говоря, все, кто работал над портом, полагают, что отладчик Microsoft не сможет прочитать файлы с отладочной информацией FreeBASIC. Независимо от этого, пункт №1 в приоритете.

ПРИМЕЧАНИЕ: ЗАЩИТА АВТОРСКОГО ПРАВА MICROSOFT, И ДОВЕРИЕ К FREEBASIC, ИМЕЕТ ОСНОВНОЕ ЗНАЧЕНИЕ В ЭТОМ ПРОЕКТЕ. МЫ НЕ ХОТИМ ПОМОЩЬ НИ ОТ КОГО С XDK, И ПРИ ЭТОМ МЫ НЕ ХОТИМ ПОМОЩЬ НИ ОТ КОГО С XBOX ОТЛАДЧИКОМ. ЛЮБАЯ ПОПЫТКА ПРЕДЛОЖИТЬ XDK ИЛИ XDK СВЯЗАННУЮ ПОМОЩЬ ДОЛЖНА БЫТЬ ОТПРАВЛЕНА НАДЛЕЖАЩИМ ПРАВООХРАНИТЕЛЬНЫМ ОРГАНАМ.


Разве это законно? Разве Microsoft не может предъявить иск Вам?

Авторские права важны как для защиты коммерческой фирмы Microsoft, так и для небольших проектов, вроде FreeBASIC. Без авторского права, нет возможности установить права на код (в нашем случае, например, GPL). Вообще говоря, это вопросы авторского права, которые наиболее часто являются причиной проблем для проектов с открытым кодом, пытающихся делать изделия вроде нашего.

Поскольку порт FreeBASIC Xbox создавался с помощью программных инструментов, чья законность былы установлена, FreeBASIC для Xbox является законным. Тщательное внимание было уделено, чтобы защитить FreeBASIC от любых недоразумений, связанных с авторским правом Microsoft, и в будущем эта позиция не изменится.

Приступая к работе с FreeBASIC на Xbox вопросы



Что мне нужно для компиляции Xbox игры с FreeBASIC?

Порт в настоящее время не работает, но когда он будет готов, вам нужно будет только копию FreeBASIC для Xbox.


Как вы получаете ввод?

Первоначально, ввод будет осуществлен через SDL, поскольку gfxlib порт еще не закончен. Один из разработчиков работает над универсальной версией SDL gfxlib, и он обеспечит полную gfxlib функциональность порту Xbox.


Значит ли, что это будет работать только на определенных консолях Xbox?

FreeBASIC для Xbox исполняемых файлов будет работать только на модификациях Xbox. Тем не менее, модификация Xbox так же проста, как загрузка сохраненной игры. Более подробная информация доступна на веб-сайте Xbox-Linux.


Другой язык (например, С или ASM) требуется для работы?

Нет. FreeBASIC для Xbox - единственная необходимая вещь.


Нужна ли специальная библиотека?

Нет. FreeBASIC для Xbox будет идти со всеми поддерживаемыми библиотеками.


Можно ли использовать функции (INKEY, LINE и т.д.)?

В настоящее время команды ввода и вывода, такие как inkey и line не доступны, но все другие функции доступны, включая ввод / вывод файла. Один из разработчиков работает над универсальной версией SDL gfxlib и если она будет функционировать, то он обеспечит полную gfxlib функциональность для порта Xbox.


Что еще я должен знать?

Исполняемые файлы, созданные FreeBASIC для Xbox свободны от защищенного авторским правом кода Microsoft, что делает их законным для распределения.

Windows и Linux исходные файлы, которые предназначены для использования c SDL и rtlib будут способны для компиляции под Xbox из коробки. В то время как Xbox имеет поддержку клавиатуры через порты геймпада (фирменное подключение USB), схема ввода должна быть изменена с учетом геймпада.