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 = HelloWorld 
OBJS = 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
			
		 |  
	 
 |