Всё постараемся описать по пунктам, и так поехали... Что нужно:
1. Знание Английского языка - хотя бы технического
Если ваш английский хромает, то очень большая вероятность того, что программирование для PSP превратится для вас в танцы с бубном.
Но это всего лишь препятствие, и тех кто твёрд в своих намерениях, это не остановит.
2. Наличие опыта программирования на C/С++. Все программы для PSP пишутся именно на этом языке (или же на ассемблере для процессора MIPS). С ассемблером начинающему я бы не рекомендовал экспериментировать, лучше наберитесь опыта в языке высокого уровня.
Если вы пока не знакомы с C/С++ то рекомендую вам ознакомиться со следующей книгой:
Джесс Либерти - Освой C++ самостоятельно за 21 день
Все электронные книги рекомендую искать здесь http://www.ebdb.ru
3. Ну и наконец нам понадобится SDK. Как бы меня не осуждали, но я использую SDK под Windows и всем пользователем "винды" так же советую не переходить на Linux ради программирования для PSP, просто если вы с Linux-ом на "вы", то это будет сильно тормозить скорость разработки ваших программ.
Устанавливаем SDK:
Итак вы всё еще здесь
Давайте договоримся, что про Linux мы ничего не знаем и будем всё делать в Windows.
Для начала надо скачать сам SDK.
Рекомендую MINPSPW - это самый лучший SDK под Windows, который мне доводилось использовать.
Скачать его можно отсюда: http://sourceforge.net/projects/minpspw/
(на момент написания данного гайда, последняя версия 0.8.3 ~30MB)
Скачиваем версию с документацией!!! (если вы только не гений)
Установка не займёт много времени, просто запустили инсталлер и выбрали куда устанавливать.
Рекомендуется устанавливать в папку на корне диска, причём имя папки должно содержать только латинские символы (лучше не длиннее 8-ми символов)
Самый лучший вариант устанавливать по умолчанию в C:\pspsdk
Если вам нужны дополнительные библиотеки, то вы также можете их скачать по адресу: http://sourceforge.net/projects/minpspw/
Итак, SDK установлен и вы готовы скомпилировать ваш первый проект
"HELLO WORLD"
Давайте с самого начала договоримся, что мы установили SDK в C:\pspsdk.
Итак, идём в папку с примерами из SDK:
C:\pspsdk\psp\sdk\samples\controller\basic
Как вы видите мы выбрали пример использования контроллера, т.е. джойстика.
И так в этой папке нам надо создать файлы с помощью которых мы будем компилировать наш примерчик, стирать объектные файлы и копировать на PSP
Сделав это, мы сможем работать так же комфортно, как и с IDE, при этом никакой IDE нам не понадобится.
Итак, создаём файлы BUILD.BAT, CLEAR.BAT и COPY.BAT.
В файл BUILD.BAT добавляем следующие строки:
REM C:/pspsdk - это путь к вашему SDK
C:/pspsdk/bin/make
pause
Таким способом мы сможем компилировать двойным нажатием на BUILD.BAT
Просто, не правда ли? Всё равно, что нажать на BUILD в любом IDE
К тому же, вызывая напрямую наш MAKE из папки C:/pspsdk/bin/, у нас не возникнет конфликтов с другими установленными компиляторами.
Теперь создадим CLEAR.BAT
del *.o
del *.elf
del *.sfo
del *.pbp
del *.prx
Данный файл можно использовать для "зачистки", если вы заметите, что компилятор не хочет компилировать измененные исходники.
И наконец COPY.BAT
REM X - это буква PSP, а MY_APP_FOLDER - папка для вашей программки
copy /Y EBOOT.PBP X:\PSP\GAME\MY_APP_FOLDER
Данным файлом можно с лёгкостью скопировать скомпилированную программу прямиком на PSP
Вы так же можете создать файл MKNCPY.BAT, который сразу выполнит все операции.
Вот его содержимое:
CALL CLEAR.BAT
CALL BUILD.BAT
CALL COPY.BAT
Вот и всё, можно компилировать
Подключаем PSP, запускаем MKNCPY.BAT и вуаля всё готово!
Можно отключить PSP и посмотреть, что получилось
Cоветы:
Для редактирования исходных файлов использовать БЛОКНОТ не рекомендую, лучше вооружиться текстовым редактором с подсветкой синтаксиса.
В этом отношение рекомендую EmEditor - на мой взгляд, самый лучший вариант.
Те файлы, которые мы с вами создали, очень легко изменить для работы с другим проектом. Просто копируйте их в папку с проектом и меняйте MY_APP_FOLDER на нужное название.
Сайты по теме:
http://www.pspdev.org
http://www.psp-programming.com/
http://www.qj.net
http://www.maxconsole.org
И про MAKEFILE
TARGET = controller_basic
НАЗВАНИЕ ВАШЕГО ПРИЛОЖЕНИЯ (при компиляции EBOOT.PBP это название ни где ни мелькает)
OBJS = main.o
(файлы для компиляции, все файлы .c .cpp .S вашего проекта только с расшерением .o)
INCDIR =
Путь к папке с заголовками
CFLAGS = -O2 -G0 -Wall
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)
Стандартные параметры компиляции (о подробностях их использования можно узнать из справочной информации к компилятору)
LIBDIR =
Папка с библиотеками
LDFLAGS =
Дополнительные параметры для линковки (о подробностях их использования можно узнать из справочной информации к компилятору)
EXTRA_TARGETS = EBOOT.PBP
Используется для компиляции файла исполняемого файла EBOOT.PBP
PSP_EBOOT_TITLE = Basic controller sample
Название вашего приложения в XMB
PSPSDK=$(shell psp-config --pspsdk-path)
Путь к SDK - это строчка везде одинаковая
include $(PSPSDK)/lib/build.mak
Путь к скрипту компиляции (Для компиляции PRX файлов можно использовать build_prx.mak)
====================================================================
Начинающий, может столкнуться со следующей проблемой:
Библиотека вывода текста из PSPSDK не поддерживает КИРИЛИЦУ
Конечно можно использовать множество разных способов устранения данного недостатка, но я вам предлагаю самый лёгкий вариант
Для этого просто используйте, данную библиотеку, она уже пропатчена и тестировалась с СДК версии 0.8.3