| zaero   Супермодератор
 
       
   Сообщений: 1228
 Зарегистрирован: 05.01.2005
 Рейтинг: 0
 Сказал спасибо: 4Поблагодарили 2 раз(а) в 2 сообщ.
 
 | 
			| Программирование под PSP 
 
				да будем начинать. Что писать? хм.... Ну давай начнем с архиватора на псп. А еще луче сразу под ось выше 3.60м33) (просто у мну слим уже... ) 
вот нашел на prozzak.ru:
 Цитата:Верисия за 29.06.2007Ссылки по теме
 http://ps2dev.org
 http://www.psp-programming.com/
 Итак, мои друзья, вы решили попробовать себя в роли девелопвера прог для ПСП. Поэтому специально для вас и предназначен этот мануал.
 На начальном этапе нам понадобятся компьютер с выходом в интернет (желательно не через прокси, через прокси возникают некоторые проблемы) и установленной на него операционной системой. Из ОС это могут быть Windows или Linux.
 1.Итак, на первом этапе, если Вы пользователь Windows, нам понадобится Cygwin. Заходим на страничку http://www.cygwin.com и качаем setup.exe
 При установке Cygwin будет диалог, в котором он предложит выбрать компоненты, которые нужно будет доставить.
 Нужно поставить:
 autoconf
 automake
 bison
 doxygen
 flex
 gcc
 make
 mc
 ncurses
 patch
 readline
 subversion
 texinfo
 wget
 В Cygwin будет дерево этих всех компонентов, для удобства можно нажать на кнопку View, тогда они будут расположены в списке в алфавитном порядке. Чтобы выбрать компонент - щелкните на Skip напротив компонента пару раз, пока не появится номер версии. Советую папку в которую setup сохранил архивы сохранить на будущее: можно будет чуть что локально переставить Cygwin или перенести на другой компьютер.
 2.Итак, вы скачали и установили Cygwin.
 Не отключаясь из Интернета, запускаете cygwin из ярлыка или при помощи c:\cygwin\cygwin.bat. И в появившейся консоли набираете:
 svn export svn://svn.ps2dev.org/psp/trunk/psptoolchain psptoolchain
 и ждете пока svn скачает psptoolchain.
 Есть проблема если у вас прокси. Теоретически svn поддерживает прокси. Настроить прокси можно путем прописывания его в файле c:\cygwin\home\”ваш логин”\.subversion\servers. Если такого файла не нашли, то в консоли Cygwin выполните команду svn --version и он появится. В этом файле настройки прокси нужно будет раскоментить и заполнить в группе [global]. Но есть вероятность, что прокси будет не поддерживать методы, используемые svn, и прокси работать не будет. В общем, у меня настроить прокси не получилось . Тогда могу предложить попробовать какую-нибудь соксирующую программу, типа socscup или proxycup.
 3. Ок, с svn вы разобрались и скачали psptoolchain. Он теперь у вас находится в папке c:\cygwin\home\”ваш логин”\psptoolchain
 Нужно изменить содержимое файла c:\cygwin\cygwin.bat на
 
 
Код:
 @echo off
 C:
 chdir C:\cygwin\bin
 
 set WGETRC=c:/cygwin/wgetrc
 set PSPDEV=/usr/local/pspdev
 set PATH= %PATH%;%PSPDEV%/bin
 
 bash --login -i
 строчка set WGETRC=c:\cygwin\wgetrc нужна, если у вас интернет через прокси, если нет, то можете её не прописывать.
 Если же интернет у вас всётаки через прокси, то создаете файл
 c:\cygwin\wgetrc и прописываем в него строчку
 ftp_proxy = ваш прокси:его порт
 если у прокси требует авторизации, то добавляйте в файл еще строчки:
 proxy_user = ваш логин
 proxy_password = ваш пароль
 4. Разобравшись с прокси можно приступать к следующему этапу.
 Запускаем cygwin. Командой ls убеждаемся в наличии папки psptoolchain, убеждаемся что мы подключены к интернет. Командой cd psptoolchain заходим в эту папку и там выполняем команду ./toolchain.sh.
 Процесс собирания toolchain долгий и нудный, поэтому можете пока пойти погулять куда-нибудь на ПСП, например. В принципе, можно пока поставить на закачку следующий компонент путем запуска еще одного окна cygwin и выполнением команды
 svn export svn://svn.ps2dev.org/psp/branches/psplinkusb psplinkusb
 и так же следующий компонент: Eclipse SDK с стайта http://www.eclipse.org/downloads
 (весит примерно 120 Мбайт) и компонент к нему CDT c http://www.eclipse.org/cdt/downloads.php
 5. Жалко авторы psptoolchain не догадались в конце его установки выводить строчку типа "Поздравляем, psptoolchain установился успешно", так что я сам поначалу не понял, успешно ли он установился или вылетел.
 Чтобы удостовериться что он установился, соберите следующий пример.
 
 ----------------------------
 
 Можно попробовать написать первую программу для ПСП.
 Создаете папку Projects и Projects\HelloWorld в папке c:\cygwin\home\”ваш логин”.
 В папке HelloWorld создаете файл HelloWorld.cpp с содержанием:
 
 
Код:
 #include <pspkernel.h>#include <pspdebug.h>
 #include <pspctrl.h>
 
 PSP_MODULE_INFO("Hello World", PSP_MODULE_USER, 1, 1);
 
 #define printf pspDebugScreenPrintf
 
 bool gNeedExit = true;
 
 int exit_callback(int arg1, int arg2, void *common)
 {
    gNeedExit = true;
    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);
    gNeedExit = false;
    }
 
    return thid;
 }
 
 int main()
 {
    SceCtrlData pad_data;
   
    pspDebugScreenInit();
    SetupCallbacks();
   
    sceCtrlSetSamplingCycle(0);
    sceCtrlSetSamplingMode(PSP_CTRL_MODE_DIGITAL);
   
    printf("Hello PSP World!\nPress X to exit.\n");
    while (!gNeedExit)
    {
    sceCtrlReadBufferPositive(&pad_data, 1);
    if (pad_data.Buttons & PSP_CTRL_CROSS)
    gNeedExit = true;
    }
   
    sceKernelExitGame();
    return 0;
 }
 
 И
 Файл makefile c содержанием:
 
 
Код:
 TARGET = HelloWorldOBJS = HelloWorld.o
 
 CFLAGS = -G0 -Wall -O2
 CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
 ASFLAGS = $(CFLAGS)
 
 EXTRA_TARGETS = EBOOT.PBP
 PSP_EBOOT_TITLE = Hello World
 
 PSPSDK=$(shell psp-config --pspsdk-path)
 include $(PSPSDK)b/build.mak
 В cygwin заходите в папку HelloWorld, для удобства навигации можете использовать команду mc.
 Далее выполняете команду make и если установка toolchain прошла удачно, то на выходе вы получите свеженький eboot.pbp который можете попробовать запустить на своей псп.
 Вместе с psptoolchain поставился pspsdk с документацией к ней. Индекс файл к документации: c:\cygwin\usr\local\pspdev\psp\sdk\doc\html\index.html.
 По ней можете попробовать разобраться и поэкспериментировать в коде, скажу только, что благодаря вызову функции SetupCallbacks() наша программа получает возможность выходить по нажатию клавиши home.
 ![[Изображение: Ubuntu-User.png]](http://uniq.net.ua/load/tmp/Ubuntu-User.png) Dreamshell fAn
 |  |