<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[DC-SWAT Forum - Fenix]]></title>
		<link>http://www.dc-swat.ru/forum/</link>
		<description><![CDATA[DC-SWAT Forum - http://www.dc-swat.ru/forum]]></description>
		<pubDate>Fri, 10 Apr 2026 08:00:25 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[нет не auto нагрузки!]]></title>
			<link>http://www.dc-swat.ru/forum/thread-1550.html</link>
			<pubDate>Sat, 02 Apr 2011 20:54:20 +0000</pubDate>
			<guid isPermaLink="false">http://www.dc-swat.ru/forum/thread-1550.html</guid>
			<description><![CDATA[Здравствуйте у меня есть некоторые вопросы о fenix 0.93. Это не Автозагрузка, но мне нужно использовать его. Мне не нравится файлов менеджер системе... Но мне нужно использовать эту версию. Может кто-то пожалуйста, сделайте версию, авто нагрузок? Спасибо<br />
<br />
Nick]]></description>
			<content:encoded><![CDATA[Здравствуйте у меня есть некоторые вопросы о fenix 0.93. Это не Автозагрузка, но мне нужно использовать его. Мне не нравится файлов менеджер системе... Но мне нужно использовать эту версию. Может кто-то пожалуйста, сделайте версию, авто нагрузок? Спасибо<br />
<br />
Nick]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Fenix expand DLL]]></title>
			<link>http://www.dc-swat.ru/forum/thread-99.html</link>
			<pubDate>Sat, 14 Feb 2009 09:10:04 +0000</pubDate>
			<guid isPermaLink="false">http://www.dc-swat.ru/forum/thread-99.html</guid>
			<description><![CDATA[<a href="http://games4all.nm.ru/files/expand.zip" target="_blank">http://games4all.nm.ru/files/expand.zip</a>]]></description>
			<content:encoded><![CDATA[<a href="http://games4all.nm.ru/files/expand.zip" target="_blank">http://games4all.nm.ru/files/expand.zip</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Fenix opensource games]]></title>
			<link>http://www.dc-swat.ru/forum/thread-119.html</link>
			<pubDate>Sun, 14 Sep 2008 11:47:28 +0000</pubDate>
			<guid isPermaLink="false">http://www.dc-swat.ru/forum/thread-119.html</guid>
			<description><![CDATA[Здесь буду выкладывать игры с открытым исходным кодом адаптированые и скомпилированные для запуска на дриме через SWATовскую версию движка Fenix (исходный код включен в архив).<br />
<br />
<br />
Итак начнем:<br />
<br />
<span style="font-size: 17pt;"><span style="font-weight: bold;">ARK-4</span></span><br />
<br />
<br />
Скачать <a href="http://narod.ru/disk/2587603000/ark-4_DC_plain_files.zip.html" target="_blank">ark-4_DC_plain_files.zip</a>]]></description>
			<content:encoded><![CDATA[Здесь буду выкладывать игры с открытым исходным кодом адаптированые и скомпилированные для запуска на дриме через SWATовскую версию движка Fenix (исходный код включен в архив).<br />
<br />
<br />
Итак начнем:<br />
<br />
<span style="font-size: 17pt;"><span style="font-weight: bold;">ARK-4</span></span><br />
<br />
<br />
Скачать <a href="http://narod.ru/disk/2587603000/ark-4_DC_plain_files.zip.html" target="_blank">ark-4_DC_plain_files.zip</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Основы программирования на Fenix]]></title>
			<link>http://www.dc-swat.ru/forum/thread-186.html</link>
			<pubDate>Sun, 28 Oct 2007 12:39:06 +0000</pubDate>
			<guid isPermaLink="false">http://www.dc-swat.ru/forum/thread-186.html</guid>
			<description><![CDATA[<div style="text-align: center;">Примечание<br />
Данная статья написана на основе статьи EvilDragon’на<br />
”A Beginner&#39;s Tutorial by EvilDragon with a lot of help by Josebita”<br />
И является по сути её вольным переводом на русский язык.<br />
О всех ошибках и неточностях перевода, а также любые замечания и предложения по данной статье просьба писать  <a href="http://www.dc-swat.net.ru/forum/index.php?showtopic=1436" target="_blank">сюда</a><br />
<br />
<br />
<span style="font-weight: bold;">Глава 1 - процедуры, функции и переменные.</span></div>
<br />
<br />
<br />
<span style="font-weight: bold;">1. Процессы или как обрабатывается код программы</span><br />
 <br />
В принципе, компьютер обрабатывает программу линию за линией от начала до конца, подобно чтению книги. <br />
Если вы создали shoot-em up игру, он должен запустить её так:<br />
 <br />
<div class="codeblock">
<div class="title">Код:<br />
</div><div class="body" dir="ltr"><code>Начало&#58; <br />
Создать ваш корабль. <br />
Создать врагов. <br />
Создать пули. <br />
Проверка на столкновение. <br />
Если пуля попала во врага&#58; Убить его. <br />
Если враг попал в вас&#58; Убить вас. <br />
Проверка, на нажатие клавиш управления<br />
Рассчитать вашу новую позицию в соответствии с клавишами управления <br />
Создать новую пулю, если вы нажали кнопку огонь <br />
Рассчитать движения врагов <br />
Перейти на начало.</code></div></div>
 <br />
Это самое элементарное, и я думаю, вы понимаете это. Она просто делает все <br />
необходимое в игре, от начала до конца и снова переходит в начало, этот цикл повторяется снова и снова. Конечно, нам необходимо несколько частей в программе (что происходит когда вас убивают, или вы убиваете врага), но это просто показывает, как программы работали ранее ...<br />
 <br />
Итак, преимущество этого метода программирования: понятный для всех по структуре код.<br />
 <br />
Но, как только ваша игра станет более сложной, цикл будет все больше и больше, и в итоге код превратится в кучу текста в котором сложно что-то понять. Этот метод подойдет лишь для создания простеньких игр.<br />
 <br />
Итак, каким образом программа пишется сегодня? <span style="font-weight: bold;">Многозадачность</span> - это ключевое слово. <br />
Многозадачность означает, что несколько программ (называемых также <span style="font-weight: bold;">процессами</span>) обрабатываются одновременно. <br />
Таким образом, вместо одного большого цикла (как выше), где строка за строкой идет обработка движений, проверка на столкновение и т.д., мы имеем теперь более мелкие <br />
<span style="font-weight: bold;">программы/процессы</span>, выполняющие все это одновременно.<br />
 <br />
Теперь мы можем написать процессы следующим образом (каждая строка представляет процесс): <br />
<div class="codeblock">
<div class="title">Код:<br />
</div><div class="body" dir="ltr"><code>Ваш корабль &#40;нажатие клавиш, движение, отрисовка, создание процесса пули, проверка на столкновение&#41; <br />
Враг &#40;движение, отрисовка, проверка на столкновение&#41; <br />
Пуля &#40;движение, отрисовка, проверка на столкновение&#41;</code></div></div>
 <br />
Вместо одного большого, немного запутанного кода, мы имеем три простых, не столь запутанных кода выполняющихся одновременно. <br />
Между прочим: Каждая пуля врага имеет свой собственный процесс. Возможно также использование одного процесса для нескольких объектов в игре.<br />
Таким образом, намного проще написать более сложную программу. <br />
Найти ошибки в коде также легко, потому что если все работает, за исключением  движения корабля, вы точно будете знать в каком процессе её искать. <br />
Но это также означает, что мы не можем просто написать код с нуля (ну, если вы не создаете сложные игры): Перед тем как начать создавать игру, нам нужно подумать и записать все необходимые процессы для игры. <br />
В противном случае, добавив что-то здесь и там, он превратится в запутанный код и вы просто не поймете где какие процессы описаны. <br />
Имейте это в виду. Это не пустые разговоры, вы, безусловно, поймете насколько <br />
это важно, после того как застрянете в середине пути и несможете понять, почему программа нехочет работать как надо.<br />
Некоторые интересные особенности, которые вы должны помнить при работе с процессами в Fenix: <br />
<div class="codeblock">
<div class="title">Код:<br />
</div><div class="body" dir="ltr"><code>Если процесс создает другой процесс, первый называется &#34;Отец&#34;, а другой &#34;сын&#34;. Это означает&#58; Если приостановить или убить процесс &#34;Отец&#34;, вы также приостановите или убьёте процесс &#34;сын&#34;.</code></div></div>
Чем это полезно для нас, спросите вы? <br />
Ну, представим себе ситуацию, shoot-em up игра: <br />
Есть около 20 патронов и 10 врагов на экране (только эти 30 <br />
процессов). Затем вас убили, игра закончилась, и появился главный экран. <br />
На главном экране не должно быть врагов и пуль, соответственно их нужно убить. Что лучше – убить процесс отца, автоматически убив все другие процессы или убить все процессы вручную - один за другим? <br />
Или если нужно поставить игру на паузу: Вы же небудете приостанавливать все процессы по одному, не так ли? <br />
BTW: процесс также циклирует или где-то он будет проходить только один раз до конца, а затем убьет себя.<br />
 <br />
На этом мы завершаем первый взгляд на процессы. Не волнуйтесь, если что-то пока неясно, вы еще узнаете, как работать с процессами, создавая какую-нибудь игру.<br />
<br />
<span style="font-weight: bold;">продолжение следует...</span>]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;">Примечание<br />
Данная статья написана на основе статьи EvilDragon’на<br />
”A Beginner&#39;s Tutorial by EvilDragon with a lot of help by Josebita”<br />
И является по сути её вольным переводом на русский язык.<br />
О всех ошибках и неточностях перевода, а также любые замечания и предложения по данной статье просьба писать  <a href="http://www.dc-swat.net.ru/forum/index.php?showtopic=1436" target="_blank">сюда</a><br />
<br />
<br />
<span style="font-weight: bold;">Глава 1 - процедуры, функции и переменные.</span></div>
<br />
<br />
<br />
<span style="font-weight: bold;">1. Процессы или как обрабатывается код программы</span><br />
 <br />
В принципе, компьютер обрабатывает программу линию за линией от начала до конца, подобно чтению книги. <br />
Если вы создали shoot-em up игру, он должен запустить её так:<br />
 <br />
<div class="codeblock">
<div class="title">Код:<br />
</div><div class="body" dir="ltr"><code>Начало&#58; <br />
Создать ваш корабль. <br />
Создать врагов. <br />
Создать пули. <br />
Проверка на столкновение. <br />
Если пуля попала во врага&#58; Убить его. <br />
Если враг попал в вас&#58; Убить вас. <br />
Проверка, на нажатие клавиш управления<br />
Рассчитать вашу новую позицию в соответствии с клавишами управления <br />
Создать новую пулю, если вы нажали кнопку огонь <br />
Рассчитать движения врагов <br />
Перейти на начало.</code></div></div>
 <br />
Это самое элементарное, и я думаю, вы понимаете это. Она просто делает все <br />
необходимое в игре, от начала до конца и снова переходит в начало, этот цикл повторяется снова и снова. Конечно, нам необходимо несколько частей в программе (что происходит когда вас убивают, или вы убиваете врага), но это просто показывает, как программы работали ранее ...<br />
 <br />
Итак, преимущество этого метода программирования: понятный для всех по структуре код.<br />
 <br />
Но, как только ваша игра станет более сложной, цикл будет все больше и больше, и в итоге код превратится в кучу текста в котором сложно что-то понять. Этот метод подойдет лишь для создания простеньких игр.<br />
 <br />
Итак, каким образом программа пишется сегодня? <span style="font-weight: bold;">Многозадачность</span> - это ключевое слово. <br />
Многозадачность означает, что несколько программ (называемых также <span style="font-weight: bold;">процессами</span>) обрабатываются одновременно. <br />
Таким образом, вместо одного большого цикла (как выше), где строка за строкой идет обработка движений, проверка на столкновение и т.д., мы имеем теперь более мелкие <br />
<span style="font-weight: bold;">программы/процессы</span>, выполняющие все это одновременно.<br />
 <br />
Теперь мы можем написать процессы следующим образом (каждая строка представляет процесс): <br />
<div class="codeblock">
<div class="title">Код:<br />
</div><div class="body" dir="ltr"><code>Ваш корабль &#40;нажатие клавиш, движение, отрисовка, создание процесса пули, проверка на столкновение&#41; <br />
Враг &#40;движение, отрисовка, проверка на столкновение&#41; <br />
Пуля &#40;движение, отрисовка, проверка на столкновение&#41;</code></div></div>
 <br />
Вместо одного большого, немного запутанного кода, мы имеем три простых, не столь запутанных кода выполняющихся одновременно. <br />
Между прочим: Каждая пуля врага имеет свой собственный процесс. Возможно также использование одного процесса для нескольких объектов в игре.<br />
Таким образом, намного проще написать более сложную программу. <br />
Найти ошибки в коде также легко, потому что если все работает, за исключением  движения корабля, вы точно будете знать в каком процессе её искать. <br />
Но это также означает, что мы не можем просто написать код с нуля (ну, если вы не создаете сложные игры): Перед тем как начать создавать игру, нам нужно подумать и записать все необходимые процессы для игры. <br />
В противном случае, добавив что-то здесь и там, он превратится в запутанный код и вы просто не поймете где какие процессы описаны. <br />
Имейте это в виду. Это не пустые разговоры, вы, безусловно, поймете насколько <br />
это важно, после того как застрянете в середине пути и несможете понять, почему программа нехочет работать как надо.<br />
Некоторые интересные особенности, которые вы должны помнить при работе с процессами в Fenix: <br />
<div class="codeblock">
<div class="title">Код:<br />
</div><div class="body" dir="ltr"><code>Если процесс создает другой процесс, первый называется &#34;Отец&#34;, а другой &#34;сын&#34;. Это означает&#58; Если приостановить или убить процесс &#34;Отец&#34;, вы также приостановите или убьёте процесс &#34;сын&#34;.</code></div></div>
Чем это полезно для нас, спросите вы? <br />
Ну, представим себе ситуацию, shoot-em up игра: <br />
Есть около 20 патронов и 10 врагов на экране (только эти 30 <br />
процессов). Затем вас убили, игра закончилась, и появился главный экран. <br />
На главном экране не должно быть врагов и пуль, соответственно их нужно убить. Что лучше – убить процесс отца, автоматически убив все другие процессы или убить все процессы вручную - один за другим? <br />
Или если нужно поставить игру на паузу: Вы же небудете приостанавливать все процессы по одному, не так ли? <br />
BTW: процесс также циклирует или где-то он будет проходить только один раз до конца, а затем убьет себя.<br />
 <br />
На этом мы завершаем первый взгляд на процессы. Не волнуйтесь, если что-то пока неясно, вы еще узнаете, как работать с процессами, создавая какую-нибудь игру.<br />
<br />
<span style="font-weight: bold;">продолжение следует...</span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Fenix: Вопросы, замечания, предложения и т.д.]]></title>
			<link>http://www.dc-swat.ru/forum/thread-187.html</link>
			<pubDate>Sun, 28 Oct 2007 12:29:19 +0000</pubDate>
			<guid isPermaLink="false">http://www.dc-swat.ru/forum/thread-187.html</guid>
			<description><![CDATA[Все вопросы, замечания, предложения и т.д. касающиеся Fenix прошу писать сюда]]></description>
			<content:encoded><![CDATA[Все вопросы, замечания, предложения и т.д. касающиеся Fenix прошу писать сюда]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Fenix полезные ссылки]]></title>
			<link>http://www.dc-swat.ru/forum/thread-210.html</link>
			<pubDate>Sun, 30 Sep 2007 19:24:33 +0000</pubDate>
			<guid isPermaLink="false">http://www.dc-swat.ru/forum/thread-210.html</guid>
			<description><![CDATA[<a href="http://fenix.divsite.net/index.php?opcion=1&amp;amp;lang=en" target="_blank">http://fenix.divsite.net/index.php?opcion=1&amp;lang=en</a><br />
<br />
оффициальный сайт проэкта феникс<br />
<br />
<a href="https://sourceforge.net/projects/fenix/" target="_blank">https://sourceforge.net/projects/fenix/</a><br />
<br />
оффициальный сайт проэкта феникс (Win32 ,MacOS, and Linux Port )<br />
<br />
<a href="http://www.dc-swat.net.ru/fenix/" target="_blank">http://www.dc-swat.net.ru/fenix/</a><br />
<br />
дримкаст порт fenix_0.93 by SWAT<br />
<br />
<a href="http://fenixonfire.gp32x.de/" target="_blank">http://fenixonfire.gp32x.de/</a><br />
<br />
отличчный сайт посвященный феникс, содержит много примеров, исходников и инструкций по программированию на феникс]]></description>
			<content:encoded><![CDATA[<a href="http://fenix.divsite.net/index.php?opcion=1&amp;amp;lang=en" target="_blank">http://fenix.divsite.net/index.php?opcion=1&amp;lang=en</a><br />
<br />
оффициальный сайт проэкта феникс<br />
<br />
<a href="https://sourceforge.net/projects/fenix/" target="_blank">https://sourceforge.net/projects/fenix/</a><br />
<br />
оффициальный сайт проэкта феникс (Win32 ,MacOS, and Linux Port )<br />
<br />
<a href="http://www.dc-swat.net.ru/fenix/" target="_blank">http://www.dc-swat.net.ru/fenix/</a><br />
<br />
дримкаст порт fenix_0.93 by SWAT<br />
<br />
<a href="http://fenixonfire.gp32x.de/" target="_blank">http://fenixonfire.gp32x.de/</a><br />
<br />
отличчный сайт посвященный феникс, содержит много примеров, исходников и инструкций по программированию на феникс]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[настройка FlameBird2 IDE]]></title>
			<link>http://www.dc-swat.ru/forum/thread-212.html</link>
			<pubDate>Sat, 29 Sep 2007 11:17:45 +0000</pubDate>
			<guid isPermaLink="false">http://www.dc-swat.ru/forum/thread-212.html</guid>
			<description><![CDATA[Для начала вам нужно скачать сам Fenix:<br />
<br />
<a href="http://downloads.sourceforge.net/fenix/fenix092a-win32-binary.zip" target="_blank">Fenix 0.92a</a>  <a href="http://wwwhome.cs.utwente.nl/~bergfi/fenix/0.93-preview9.zip" target="_blank">обновление до версии 0.93 preview9</a> - win32 версия (компилятор+интерпретатор) для компилирования и проверки вашего кода<br />
<a href="http://dc-swat.net.ru/fenix/" target="_blank">http://dc-swat.net.ru/fenix/</a> - Dreamcast версия (интерппретатор) для запуска скомпилированного кода на дриме<br />
<br />
Рассмотрим  несколько файлов включенных в архив win32 версии:<br />
<br />
FXC.EXE: Fenix Compiler (компилирует ваш исходный код в загружаемый файл *.DCB)<br />
FXI.EXE: Runtime for Windows (запускает скомпилированный вами *.DCB файл)<br />
MAP.EXE: Конвертирует .PNG или .GIF в .MAP, и .MAP в .PNG.<br />
FPG.EXE: Запаковывает .MAP файлы в .FPG, распаковывает .FPG и создает новый .FPG.<br />
<br />
Все файлы являются консольными утилитами и запускаются с различными параметрами через командную строку.<br />
<br />
Фактически это все что вам нужно для программирования в Fenix.<br />
Пишем исходный код в текстовом редакторе, создаем *.FPG файл и вставляем в него графику с помощью FPG.EXE и MAP.EXE,  компилируем свой исходный код, используя FXC.EXE и запускаем его, используя FXI.EXE.<br />
Но это несовсем комфортно.<br />
<br />
Для более комфортной работы с Fenix существуют различные IDE (integrated development environment). Это редактор исходного кода с массой полезных функций (проверка кода на ошибки, компилирование и запуск, и многое другое). Лучшим из них, на мой взгляд, является Flamebird2, он обладает множеством полезных функций и удобным интерфейсом.<br />
Скачать его вы можете здесь <a href="http://fbtwo.sf.net" target="_blank">http://fbtwo.sf.net</a><br />
<br />
Но так-так Flamebird2 изначально неподдерживает Fenix выше версии 0.86, с ним придется повозиться. <br />
Итак, по вышеуказанной ссылке скачайте Flamebird2 и распакуйте его, например в C:&#092;fenix&#092;fb2, далее <a href="http://games4all.nm.ru/files/fb2.zip" target="_blank">скачайте патченый exe’шник</a>  и замените им старый fb2.exe.<br />
Распакуйте Fenix 0.92a и обновление до версии 0.93 preview9 в директорию c:&#092;Fenix&#092;fb2&#092;bin&#092;<br />
<br />
Откройте в текстовом редакторе файл fxc.bat и измените внем следующие строки<br />
<div class="codeblock">
<div class="title">Код:<br />
</div><div class="body" dir="ltr"><code>@echo off<br />
c&#58;&#092;fenix.test&#092;bin&#092;fxc.exe %1 %2 %3 %4 %5 %6 %7 %8 %9<br />
type c&#58;&#092;fenix.test&#092;bin&#092;stdout.txt<br />
del c&#58;&#092;fenix.test&#092;bin&#092;stdout.txt</code></div></div>
на<br />
<div class="codeblock">
<div class="title">Код:<br />
</div><div class="body" dir="ltr"><code>@echo off<br />
c&#58;&#092;Fenix&#092;fb2&#092;bin&#092;fxc.exe %1 %2 %3 %4 %5 %6 %7 %8 %9<br />
type c&#58;&#092;Fenix&#092;fb2&#092;bin&#092;stdout.txt<br />
del c&#58;&#092;Fenix&#092;fb2&#092;bin&#092;stdout.txt</code></div></div>
<br />
Запустите Flamebird2 и укажите путь к фениксу. Делается это так – нажмите Edit-&amp;gt;Preferences и в появившемся окне щелкните по вкладке Compilation, в поле Fenix path укажите путь к фениксу (c:&#092;Fenix&#092;fb2&#092;bin&#092<img src="images/smilies/wink.gif" style="vertical-align: middle;" border="0" alt="Wink" title="Wink" /> и нажмите ОК.<br />
На этом настройка компилятора завершена.<br />
<br />
Далее скачайте FPG Edit и FNT Edit, это программы для создания и редактирования FPG (банк с графикой) и FNT (шрифт для феникса) файлов.<br />
Скачать их можно здесь <a href="http://cdiv.sourceforge.net/html/down/down.htm" target="_blank">http://cdiv.sourceforge.net/html/down/down.htm</a><br />
<br />
<br />
Теперь у вас есть все необходимое для программирования на Fenix и запуска скомпилированного кода на дримкаст, ну чтож проверим как это все работает.<br />
<br />
напишем простенькую программу &amp;quot;Hello World&amp;quot;<br />
<br />
Запускаем flamebird2 и выбираем file-&amp;gt;new-&amp;gt;source file<br />
и пишем следующий код<br />
<div class="codeblock">
<div class="title">Код:<br />
</div><div class="body" dir="ltr"><code>program hello;<br />
begin<br />
WRITE &#40;0,160,100,1,&#34;hello world&#34;&#41;;<br />
loop; <br />
frame;<br />
end;<br />
end;</code></div></div>
<br />
жмем compile and run и любуемся результатом в виде надписи hello world в окне программы<img src="images/smilies/smile.gif" style="vertical-align: middle;" border="0" alt="Smile" title="Smile" /><br />
<br />
проверить программу на дриме можно загрузив порт интерпретатора и скомпилированный вами *.DCB файл через кодерс кабель или записав файлы на диск (интерпретатор+ваш *.DCB файл)<br />
либо как альтернативный вариант запустить программу на одном из эмуляторов дрима]]></description>
			<content:encoded><![CDATA[Для начала вам нужно скачать сам Fenix:<br />
<br />
<a href="http://downloads.sourceforge.net/fenix/fenix092a-win32-binary.zip" target="_blank">Fenix 0.92a</a>  <a href="http://wwwhome.cs.utwente.nl/~bergfi/fenix/0.93-preview9.zip" target="_blank">обновление до версии 0.93 preview9</a> - win32 версия (компилятор+интерпретатор) для компилирования и проверки вашего кода<br />
<a href="http://dc-swat.net.ru/fenix/" target="_blank">http://dc-swat.net.ru/fenix/</a> - Dreamcast версия (интерппретатор) для запуска скомпилированного кода на дриме<br />
<br />
Рассмотрим  несколько файлов включенных в архив win32 версии:<br />
<br />
FXC.EXE: Fenix Compiler (компилирует ваш исходный код в загружаемый файл *.DCB)<br />
FXI.EXE: Runtime for Windows (запускает скомпилированный вами *.DCB файл)<br />
MAP.EXE: Конвертирует .PNG или .GIF в .MAP, и .MAP в .PNG.<br />
FPG.EXE: Запаковывает .MAP файлы в .FPG, распаковывает .FPG и создает новый .FPG.<br />
<br />
Все файлы являются консольными утилитами и запускаются с различными параметрами через командную строку.<br />
<br />
Фактически это все что вам нужно для программирования в Fenix.<br />
Пишем исходный код в текстовом редакторе, создаем *.FPG файл и вставляем в него графику с помощью FPG.EXE и MAP.EXE,  компилируем свой исходный код, используя FXC.EXE и запускаем его, используя FXI.EXE.<br />
Но это несовсем комфортно.<br />
<br />
Для более комфортной работы с Fenix существуют различные IDE (integrated development environment). Это редактор исходного кода с массой полезных функций (проверка кода на ошибки, компилирование и запуск, и многое другое). Лучшим из них, на мой взгляд, является Flamebird2, он обладает множеством полезных функций и удобным интерфейсом.<br />
Скачать его вы можете здесь <a href="http://fbtwo.sf.net" target="_blank">http://fbtwo.sf.net</a><br />
<br />
Но так-так Flamebird2 изначально неподдерживает Fenix выше версии 0.86, с ним придется повозиться. <br />
Итак, по вышеуказанной ссылке скачайте Flamebird2 и распакуйте его, например в C:&#092;fenix&#092;fb2, далее <a href="http://games4all.nm.ru/files/fb2.zip" target="_blank">скачайте патченый exe’шник</a>  и замените им старый fb2.exe.<br />
Распакуйте Fenix 0.92a и обновление до версии 0.93 preview9 в директорию c:&#092;Fenix&#092;fb2&#092;bin&#092;<br />
<br />
Откройте в текстовом редакторе файл fxc.bat и измените внем следующие строки<br />
<div class="codeblock">
<div class="title">Код:<br />
</div><div class="body" dir="ltr"><code>@echo off<br />
c&#58;&#092;fenix.test&#092;bin&#092;fxc.exe %1 %2 %3 %4 %5 %6 %7 %8 %9<br />
type c&#58;&#092;fenix.test&#092;bin&#092;stdout.txt<br />
del c&#58;&#092;fenix.test&#092;bin&#092;stdout.txt</code></div></div>
на<br />
<div class="codeblock">
<div class="title">Код:<br />
</div><div class="body" dir="ltr"><code>@echo off<br />
c&#58;&#092;Fenix&#092;fb2&#092;bin&#092;fxc.exe %1 %2 %3 %4 %5 %6 %7 %8 %9<br />
type c&#58;&#092;Fenix&#092;fb2&#092;bin&#092;stdout.txt<br />
del c&#58;&#092;Fenix&#092;fb2&#092;bin&#092;stdout.txt</code></div></div>
<br />
Запустите Flamebird2 и укажите путь к фениксу. Делается это так – нажмите Edit-&amp;gt;Preferences и в появившемся окне щелкните по вкладке Compilation, в поле Fenix path укажите путь к фениксу (c:&#092;Fenix&#092;fb2&#092;bin&#092<img src="images/smilies/wink.gif" style="vertical-align: middle;" border="0" alt="Wink" title="Wink" /> и нажмите ОК.<br />
На этом настройка компилятора завершена.<br />
<br />
Далее скачайте FPG Edit и FNT Edit, это программы для создания и редактирования FPG (банк с графикой) и FNT (шрифт для феникса) файлов.<br />
Скачать их можно здесь <a href="http://cdiv.sourceforge.net/html/down/down.htm" target="_blank">http://cdiv.sourceforge.net/html/down/down.htm</a><br />
<br />
<br />
Теперь у вас есть все необходимое для программирования на Fenix и запуска скомпилированного кода на дримкаст, ну чтож проверим как это все работает.<br />
<br />
напишем простенькую программу &amp;quot;Hello World&amp;quot;<br />
<br />
Запускаем flamebird2 и выбираем file-&amp;gt;new-&amp;gt;source file<br />
и пишем следующий код<br />
<div class="codeblock">
<div class="title">Код:<br />
</div><div class="body" dir="ltr"><code>program hello;<br />
begin<br />
WRITE &#40;0,160,100,1,&#34;hello world&#34;&#41;;<br />
loop; <br />
frame;<br />
end;<br />
end;</code></div></div>
<br />
жмем compile and run и любуемся результатом в виде надписи hello world в окне программы<img src="images/smilies/smile.gif" style="vertical-align: middle;" border="0" alt="Smile" title="Smile" /><br />
<br />
проверить программу на дриме можно загрузив порт интерпретатора и скомпилированный вами *.DCB файл через кодерс кабель или записав файлы на диск (интерпретатор+ваш *.DCB файл)<br />
либо как альтернативный вариант запустить программу на одном из эмуляторов дрима]]></content:encoded>
		</item>
	</channel>
</rss>