Первая программа =)
Ну прежде чем заняться непосредственно созданием прог, я советую завести папку pspdev\Projects\
где вы будете хранить всё своё хозяйство =)
Писать мы будем конечно же, следуя традиции, программу "Hello, world!".
Итак, создали папку с проектами (pspdev\Projects\), создаём там папку "HW",
запускаем PSPxIDE.
Для начала идём в пункт "Файл->Новый" и получаем чистый лист. Сохраним его (Файл->Сохранить как...).
Выбираем нашу папку для программы (pspdev\Projects\HW) Имя файла вбиваем "main"(именно так и никак иначе)
и давим кнопку сохранить.
Далее идём в пункт "Проект->Мастер Makefile" и приводим появившуюся формочку к следующему виду -
[IMG]http://img81.**************/img81/2580/21914180ti4.jpg[/IMG]
Давайте пока не будем разбирать что там и как, просто сделайте как на картинке и всё. =)
Сделали? Давите "ОК".
Ну всё =) Начинаем писать собственно программу.
#include <pspkernel.h>
#include <pspdebug.h>
Это два необходимых нам хедера, копипастим этот код

в свою программу.
pspkernel.h - очень нужный хедер, без него вобще ничего работать не будет.
pspdebug.h - хедер для вывода на экран отладочной инфы, именно его методы будем использовать для
вывода на экран.
PSP_MODULE_INFO("HW", 0, 1, 1);
PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER);
Это тоже вписываем в программу и не задумываемся =) Последние две цифры модульинфы - версия вашей проги, второй аргумент указывает
что прога грузится в юзермод. Вторая строчка по сути дублирует первую, но туда ещё можно вписать и другие параметры, но мы их не рассматриваем здесь.
#define printf pspDebugScreenPrintf
Для вывода текста на экран PSP мы будем использовать функцию pspDebugScreenPrintf из хедера pspdebug.h,
однако, название это слишком длинное, и для удобства набора, а также чтобы выглядело по привычней,
переопределим её как printf. Вписываем в программу.
int exit_callback(int arg1, int arg2, void *common)
{
sceKernelExitGame();
return 0;
}
int CallbackThread(SceSize args, void *argp)
{
int cbid;
cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL);
sceKernelRegisterExitCallback(cbid);
sceKernelSleepThreadCB();
return 0;
}
int SetupCallbacks(void)
{
int thid = 0;
thid = sceKernelCreateThread("update_thread", CallbackThread, 0x11, 0xFA0, 0, 0);
if(thid >= 0)
{
sceKernelStartThread(thid, 0, 0);
}
return thid;
}
Данный кусок кода мы тоже незадумываясь копипастим в нашу программу. Это обработчик колбеков,
которые нужны для правильной отработки выхода по кнопочке "HOME", а также чтобы прога правильно
прибила все свои хвосты, если вдруг пользователь вздумает выключать PSP с нашей работающей программой.
int main(void)
{
SetupCallbacks(); //Установить колбеки
pspDebugScreenInit(); //Проинициализировать экран для вывода текста
А вот собственно наш код. Функция main получит управление сразу после старта программы.
Переносим.
printf ("Hello, World!\n"); //Собственно, строчка выводящая наше "Здравствуй, мир" =)
sceKernelDelayThread (1000*1000); //Делаем 10 паузу чтобы можно было насладиться плодами наших трудов =)
sceKernelExitGame(); //Завершаем работу программы.
return 0; //Ну это так, для порядку =)
}
Тоже переносим в текст программы. Ну вот и всё, наша программа "Здравствуй, Мир!" готова. Сохраняем
её. и идём в "Проект->Компиляция".
В "pspdev\Projects\HW" обнаруживаем две папки - Hello_world и Hello_world%, копируем из на
мемори стик в psp/game150, запускаем и наслаждаемся =)
Вот так. Даю несколько полезных ссылок для дальнейшиз изысканий.
pspdev\psp\sdk\samples - Не забывайте что здесь находится ряд примеров.
pspdev\psp\sdk\doc\html - Справочник.
Онлайн версия справочника доступна зесь -
http://psp.jim.sh/pspsdk-doc/modules.html
В частности по pspdebug -
http://psp.jim.sh/pspsdk-doc/group__Debug.html
Если с Си/Си++ совсем плохо, сходите в лавку с компьютерной литературой и купите какой-нибудь
худо бедно учебник(типа для начинающих), или погуглите на предмет подобной литературы.
Вот что нашёл почти сразу -
http://www.lib.ru/CTOTOR/
Удачи
(C) pspowner for pspx.ru
Возможно, TO BE CONTINUE...