Playstation 2: Hello World

от автора

Доброго дня суток Хабр!
Наверняка у многих из нас завалялась в закромах старушка плейстейшн. В этой статье я хочу Вас познакомить с увлекательным миром программирования. Мы подготовим дистрибутив altlinux для разработки, что включает настройку окружения и SDK, а так же скомпилируем первый Hello World. Интересно? Тогда поехали.


Дистрибутив

Раз у нас ps2 на линуксе, следовательно, разрабатывать удобнее тоже под линуксом. Для этого я выбрал себе altlinux. Вы можете попробовать другой, но я буду описывать именно этот. Итак.
Скачиваем себе образ altlinux. Я скачал i686, потому-что другой у меня не захотел заводиться в Virtual Box. И производим установку на целевую систему с инструментами разработчика.
После установки и настройки сети, проверяем, доступны ли пакеты

gcc, make, patch, subversion, wget

Так же устанавливаем Git, ведь ps2sdk лежит на github.

PS2SDK

Тут интереснее, оказывается, есть открытый SDK, который реализует почти все возможности Ps2. Единственное, там есть проблемы с драйвером USB, а так же с GS. Очень великих вещей сделать не получится, но нам ведь не это нужно? 😉

Исходники лежат на github.com/ps2dev. Собственно оттуда мы и будем их качать. Вернее не мы, а тулчейн который поможет нам легко войти в воду.

Для установки тулчейна нам необходимо выполнить следующие шаги:

Заходим в директорию пользователя, и под консолью выполняем

git clone https://github.com/ps2dev/ps2toolchain

И в итоге у нас скачивается тулчейн который нам легко поможет установить SDK.

Осталось прописать окружение для нашей консоли. Для этого нам надо создать скрипт в /etc/profile.d/ я назвал его ps2sdk.sh

Пишем в консоли:

mcedit /etc/profile.d/ps2sdk.sh 

И заносим туда следующие строки:

export PS2DEV=/usr/local/ps2dev export PATH=$PATH:$PS2DEV/bin export PATH=$PATH:$PS2DEV/ee/bin export PATH=$PATH:$PS2DEV/iop/bin export PATH=$PATH:$PS2DEV/dvp/bin export PS2SDK=$PS2DEV/ps2sdk export PATH=$PATH:$PS2SDK/bin 

После этого выполняем:

chmod 0777 /etc/profile.d/ps2sdk.sh cd /home/[youUser]/ps2toolchain/ ./toolchain.sh  

Пойдёт долгий процесс скачивания и компиляции, в итоге всё должно получиться без ошибок. Теперь я могу Вас поздравить, Вы можете разрабатывать под PS2.

Playstation 2

Теперь окунёмся в мир плейстейшн. Я надеюсь Вам повезло так же как мне и у Вас стоит modchip. Если нет, разработка будет затруднительной, но в принципе реальной. Есть несколько способов запустить своё приложение на соньке, вот неколько из них:

  1. Boot cd с uLaunchELF
  2. MemoryCard uLaunchELF
  3. PS2Link

В первых двух способах, мы можем записать и свой софт вместо uLaunchELF. Примечательно, что если у нас есть uLaunchELF (iso образ я выложу в конце статьи), то мы можем запускать наши программы и с флешки. Для начала я думаю это замечательный путь, так что воспользуемся им. Единственное что после того как загрузитесь с диска, можете переместить BOOT.ELF в карту памяти(mc0:/BOOT/BOOT.ELF), теперь если вы обладатель мод чипа вам достаточно зажать R1 при загрузке приставки.

Давай-те представим что Вы записали диск, и теперь бежите к своей соньке и включаете его, загрузился uLaunchELF? Тогда всё хорошо. Можете не выключать, сейчас мы перейдём к самому интересному, первой компиляции приложения.

Hello World!

Теперь нам достаточно всего лишь скопировать примеры из папки ps2sdk в нашу домашнюю директорию. Для этого в консоли пишем

cp –r /usr/local/ps2dev/ps2sdk/samples  ./ cd ./draw/teapot make 

Если вы увидели это значит всё прошло успешно

Теперь если у вас есть ps2, то закиньте файл teapot.elf(/home/[youuser]/samples/draw/teapot/teapot.elf) в корень флешки. Если же нет, воспользуйтесь эмулятором. В итоге это будет выглядеть так:

В итоге

Разработка под PS2 довольно проста. У неё большой потенциал и я думаю мы с Вами его раскроем.
как и обещал:
Iso образ диска uLaunchELF — kupimoloka.ru/ulaunchelf.zip
PS2SDK — github.com/ps2dev

В следующих статьях

  • Структура SDK архитектура PS2
  • Протокол DLNA, или тот же самый uPnP
  • Меняем GUI. Разбираем SMS(Simple Media System) компиляция ffmpeg под ps2
  • Интеграция DLNA с ps2

ссылка на оригинал статьи http://habrahabr.ru/post/168863/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *