Pull to refresh

Playstation 2: Hello World

Reading time 3 min
Views 58K
Доброго дня суток Хабр!
Наверняка у многих из нас завалялась в закромах старушка плейстейшн. В этой статье я хочу Вас познакомить с увлекательным миром программирования. Мы подготовим дистрибутив 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
Tags:
Hubs:
+74
Comments 28
Comments Comments 28

Articles