PSPверсия |  Новое на сайте |  Обратная связь |  Команда сайта |  FAQ |  ПРАВИЛА |     
 

Популярные статьи

Обзор нового на PSPinfo.RU

ДатаГородНомерНазваниеЗаписаться
собери друзей и сообщи об этом всем! »»
НовостиТемыСейвыОбоиВидеоролики
1..:Dr.Who:.945
2.iliya23420
3.Константин414
4.(:389
5.Masserau377
1.Dankin333
2.Игорь330
3.kalash1322
4.DJAMrik271
5.Артем=)252
1..:Dr.Who:.347
2.legofan12130
3.-=Sephiroth=-117
4.Dan96106
5.Patric Star104
1.wushu12250
2.Metal Sonic7404
3.iliya237000
4.Теккен6652
5.LFY6309
1..:Dr.Who:.4548
2.Михаил3742
3..:Canon:.1920
4.Ivan1760
5.Гомер Симпсон1535

Уроки программирования. Урок первый!
[07.09.08] Автор: .:Witcher:. HomeBrew » Программы
Всем привет!!!

Вот я начинаю выкладывать уроки программирования на psp.

Естественно это не так легко если вы не знаете C++.

Но думаю что всего вы научитесь :)

Я постараюсь выкладывать как намного больше уроков :)
Сразу хочу извинится за ошибки. :)
Ну что, начнём?

Уверен что 99,9% пользователей не знают C++, но уж больно сильно хотят программировать на psp:)) Уверен что читать книжки они тоже не хотят:). Именно для таких пользователей я и буду писать уроки:)

Для начала нам надо установить все нужные программы и библиотеки.Насчёт программ я скажу что их достаточно много, но для начала мы будем использовать самую простую, а потом перейдём на более сложнее.

И так, начнём:)
Качаем нашу программу в которой мы будем работать: скачать. (пароль pspinfo.ru)
Программы не совсем стабильная, зато хорошая для начинающих:-)


Так же нам надо будет sdk, мне нравится pspdev, не знаю даже чем, наверно потому что я с неё начинал, и продолжаю в ней работать:) Скачать её можно сдесь. (пароль pspinfo.ru)

Также качаем библиотеку что бы отображалась русская кодировка тут
Распокованый фал кидаем в C:Pspsdkpspsdklib

Думаю можно начинать:)
Распаковываем архив с нашей программой, установки она не требует, так что кидаем её куда вам удобней:). Лично у меня она стоит в c:/программы/pspinfoide/

Далее распаковываем архив с sdk, давайте договоримся что он будет хранится в c:/pspsdk, так нам будет удобней:)
Терь надо поправить некоторые файлы что бы далее прога компилировала уж в prx, одним словом что бы пахало на 3.xx или 4.xx:)

Идём в папку pspsdk/psp/sdk/lib
Находим там файлег build.mak, открываем его, смотрим в самом низу -

<br />
$(PACK_PBP) EBOOT.PBP $(PSP_EBOOT_SFO) $(PSP_EBOOT_ICON) <br />
$(PSP_EBOOT_ICON1) $(PSP_EBOOT_UNKPNG) $(PSP_EBOOT_PIC1) <br />
$(PSP_EBOOT_SND0) [color=#FF0000]strip_$(FINAL_TARGET)[/color] $(PSP_EBOOT_PSAR)

Приставку strip_ перед $(FINAL_TARGET) удаляем и сохраняем файл.

Потом нужно в папке pspsdkbin переименовать mkdir.exe на mkdir2.exe, затем открыть файл pspsdkpspsdklibbuild.mak в любом текстовом редакторе и заменить все mkdir на mkdir2. Это связано с тем, что mkdir есть в Windows и перекрывает mkdir, входящую в SDK.

Ну вот уже и пол дела сделано:) Теперь запускаем нашу программу c:/программы/pspinfoide/pspinfoIDE.exe, так же советую сделать ярлык на рабочем столе:
Уроки программирования. Урок первый!


Теперь можно приступить и к настройке программы:
жмём проект > опции, и выставляем как на скрине:
Уроки программирования. Урок первый!


Вроде прога настроена:)

Приступаем к программирование, давайте сразу договоримся, я вам показую строчку и обьясняю её, а вы в свою очередь вставляете все строчки по порядку:). Делать будем мы как всегда привет мир lol
Создаём в програмке файл main.cpp



[quote]#include &lt;pspkernel.h><br />
#include &lt;pspdebug.h>[/quote]

Это два главных хедера.
pspkernel.h - самый главный хедер, без него ничего работать не будет.
pspdebug.h - хедер для вывода на экран отладочной инфы, именно его методы будем использовать для
вывода на экран.

<br />
PSP_MODULE_INFO("HW", 0, 1, 0);<br />
PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER);<br />

Последние две цифры модульинфы - версия вашей проги, второй аргумент указывает
что прога грузится в юзер режиме. Вторая строчка по повторяет первую, но туда ещё можно вписать и другие параметры, нам эта строчка не такуж и нада, просто копипастим:).

#define printf    pspDebugScreenPrintf

Эта строчка показывает что если мы будем использывать printf, будет выполнятся pspDebugScreenPrintf, которая отображает то что вы хотите. Очень удобная команда, так что пользоватся буде ей:)

int exit_callback(int arg1, int arg2, void *common)<br />
{<br />
    sceKernelExitGame();<br />
<br />
    return 0;<br />
}<br />
<br />
int CallbackThread(SceSize args, void *argp)<br />
{<br />
    int cbid;<br />
<br />
    cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL);<br />
    sceKernelRegisterExitCallback(cbid);<br />
<br />
    sceKernelSleepThreadCB();<br />
<br />
    return 0;<br />
}<br />
<br />
int SetupCallbacks(void)<br />
{<br />
    int thid = 0;<br />
<br />
    thid = sceKernelCreateThread("update_thread", CallbackThread, 0x11, 0xFA0, 0, 0);<br />
    if(thid >= 0)<br />
    {<br />
        sceKernelStartThread(thid, 0, 0);<br />
    }<br />
<br />
    return thid;<br />

Этот кусок кода я не буду подробно обьяснять, просто скажу что это обработчик колбеков, которые нужны для правильной отработки выхода по кнопочке "HOME", а также чтобы прога правильно прибила все свои хвосты, если вдруг пользователь вздумает выключать PSP с нашей работающей программой. Думаю вы меня поняли:)

<br />
int main(void)<br />
{<br />
    SetupCallbacks(); //Устанавливаем колбеки<br />
    pspDebugScreenInit(); //Инициализируем экран для вывода текста<br />
    printf ("Привет мир!!!n");      //вот эта та команда printf, если бы мы выше не написали #define..., то нам бы пришлось писать pspDebugScreenPrintf<br />
    sceKernelDelayThread (1000*1000); //устонавливаем время работы программы (10сек)<br />
        sceKernelExitGame();        //Завершаем работу программы.<br />
    return 0;              //Ну эт уже обезатильно:)<br />
}<br />



Далее тыкаем проект > мастер makefile
Далее выбираем произвольный
И вписуем:
TARGET=Hello_World<br />
OBJS=main.o<br />
INCDIR =<br />
CFLAGS=-G0  -O2<br />
CXXFLAGS=$(CFLAGS) -fno-exceptions -fno-rtti<br />
ASFLAGS=$(CFLAGS)<br />
BUILD_PRX=1<br />
LIBDIR=<br />
LDFLAGS=<br />
LIBS=<br />
EXTRA_TARGETS=EBOOT.PBP<br />
PSP_EBOOT_TITLE=HW<br />
PSPSDK=$(shell psp-config --pspsdk-path)<br />
include $(PSPSDK)/lib/build.mak


Вот терь жмём компиляция. ИИИИИИИИИИИИ готово, кидаем на psp в папку psp/game/




Что такое makefile??
Правило, а так же инфа программе как надо компилировать файл


Все вопросы спрашуёте в коментах:). Если вам не понравилась моя статья, то прошу не писать плохие коменты:)
Кнопка спасибо чуть ниже smile
Спасибо за внимание laughing

  • 68

Просмотров: 23805 Благодарностей: 202
Напечатать Комментарии (80)
»» Сообщить об ошибке «« [?]

Сказать "Спасибо" могут только зарегистрированные пользователи.
Похожее по теме "Уроки программирования. Урок первый!":
  • Уроки программирования. Дополнение к первому уроку.
  • Уроки программирования. Урок четвёртый!
  • Уроки программирования.Урок 2
  • GoTube [ОБНОВЛЕН И РАБОТАЕТ]
  • iR Shell v4.7
    • PSPinfo
    • ВКонтакте
    • Facebook
    • Twitter
    • Справка
    #61 [21.09.08] Shadow.egor

    Посетители
    Shadow.egor
    --

    Публикаций: 0
    Комментариев: 44
    Спасибо: 0/290
    Репутация: 0
    Тут: 16 лет 4 месяцa
    BXUtka если помогло хоть объясн мне

    #62 [22.09.08] Обитатель

    Посетители
    Обитатель
    --

    Публикаций: 6
    Комментариев: 61
    Спасибо: 390/10
    Репутация: 7
    Тут: 16 лет 2 месяцa
    Нормалек!!!

    #63 [23.09.08] 3bl3gamer

    Посетители
    3bl3gamer
    --

    Публикаций: 0
    Комментариев: 116
    Спасибо: 0/462
    Репутация: 2
    Тут: 16 лет 4 месяцa
    вообще-то НЕ все откажутся...
    второй урок давай!

    #64 [23.09.08] .:Witcher:.

    Посетители
    .:Witcher:.
    много заказов.. Работаю

    Публикаций: 13
    Комментариев: 55
    Спасибо: 744/6
    Репутация: 15
    Тут: 15 лет 8 месяцев
    ыыыыыы, предупреждаю: второй урок будет про алгоритмирование

    #65 [27.09.08] Neuro

    Посетители
    Neuro
    дето метал

    Публикаций: 0
    Комментариев: 166
    Спасибо: 0/32
    Репутация: 6
    Тут: 16 лет
    я ниасилил и мне это не надо но автору огромнейши зач0д!! bravo

    #66 [30.09.08] SpirithunteR

    Посетители
    SpirithunteR
    --

    Публикаций: 0
    Комментариев: 1
    Спасибо: 0/2
    Репутация: 0
    Тут: 16 лет
    А у мея чавото ссылка на прогу в которой делать не пашет... Дайте нормальную ссылку плиз!!!

    #67 [01.10.08] Миха 007

    Посетители
    Миха 007
    --

    Публикаций: 0
    Комментариев: 66
    Спасибо: 0/38
    Репутация: 0
    Тут: 16 лет 4 месяцa
    хорошо я знаю ява скрипт (основан на с++) гораздо легче было bully

    #68 [02.10.08] lordPSP

    Посетители
    lordPSP
    --

    Публикаций: 0
    Комментариев: 28
    Спасибо: 0/123
    Репутация: 0
    Тут: 16 лет 4 месяцa
    Молодца)) кул всё сделал))

    #69 [04.10.08] es9433

    Посетители
    es9433
    --

    Публикаций: 0
    Комментариев: 6
    Спасибо: 0/1
    Репутация: 0
    Тут: 15 лет 7 месяцев
    молодец, большое спасибо, я уж хотел книжки покупать bravo rulez biggrin

    #70 [22.11.08] filippon

    Посетители
    filippon
    --

    Публикаций: 0
    Комментариев: 54
    Спасибо: 0/82
    Репутация: 0
    Тут: 16 лет 8 месяцев
    нажимаю скачать а он мне пишет что файл не найден

    #71 [29.11.08] diesel2006

    Посетители
    diesel2006
    --

    Публикаций: 0
    Комментариев: 48
    Спасибо: 0/85
    Репутация: 0
    Тут: 15 лет 5 месяцев
    Чувак кульный молодец жду 2 урока!!!!)) rulez rulez respect respect biggrin biggrin bravo russian

    #72 [04.12.08] Diagens

    Посетители
    Diagens
    --

    Публикаций: 0
    Комментариев: 3
    Спасибо: 0/1
    Репутация: 1
    Тут: 16 лет 2 месяцa
    ссылка на прогу битая... восстанови fellow

    #73 [14.12.08] Ваня Разин

    Посетители
    Ваня Разин
    --

    Публикаций: 0
    Комментариев: 56
    Спасибо: 0/0
    Репутация: 1
    Тут: 16 лет 3 месяцa
    респект, чувак....ща начну.....блин, а на дэлфи прогить на PSPinfo.RU можна??? ото я дэлфуу знаю ток так а си не фига ваще)))

    #74 [26.04.09] cool_hamster

    Посетители
    cool_hamster
    --

    Публикаций: 0
    Комментариев: 4
    Спасибо: 0/5
    Репутация: 0
    Тут: 15 лет
    А ссылька битая с PSPinfoIDE

    #75 [06.06.09] .:Witcher:.

    Посетители
    .:Witcher:.
    много заказов.. Работаю

    Публикаций: 13
    Комментариев: 55
    Спасибо: 744/6
    Репутация: 15
    Тут: 15 лет 8 месяцев
    писать ли дальше уроки?? Да или нет? Ответ не здесь Ответ в аську. Публикация уроков тут не будет. Ибо забанили один раз,а писать снова тут.. де гарантия что снова не забанят... Кароч аська 9287678

    #76 [15.07.09] betbb

    Посетители
    betbb
    --

    Публикаций: 0
    Комментариев: 2
    Спасибо: 0/0
    Репутация: 0
    Тут: 14 лет 10 месяцев
    Где-то я это уже видел smile

    #77 [22.09.10] Blade97

    Посетители
    Blade97
    --

    Публикаций: 0
    Комментариев: 41
    Спасибо: 0/33
    Репутация: 8
    Тут: 13 лет 11 месяцев
    а зачем это надо?
    ?

    #78 [22.09.10] Temik007

    Посетители
    Temik007
    .

    Публикаций: 0
    Комментариев: 341
    Спасибо: 0/2
    Репутация: 14
    Тут: 15 лет 5 месяцев
    чтоб ты спросил...


    бесят тупые вопросы am

    #79 [24.09.10] Blade97

    Посетители
    Blade97
    --

    Публикаций: 0
    Комментариев: 41
    Спасибо: 0/33
    Репутация: 8
    Тут: 13 лет 11 месяцев
    Цитата: Temik007
    чтоб ты спросил...


    бесят тупые вопросы am

    слушай , я просто не врубаюсь.. ц меня на псп только одна прога- пспкомик . больше из прог ничего не знаю..

    #80 [14.02.11] ;)

    Посетители
    ;)
    -)

    Публикаций: 0
    Комментариев: 40
    Спасибо: 0/29
    Репутация: 6
    Тут: 13 лет 3 месяцa
    Автору respect !мне нравица-) bravo

    Информация
    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

    Сообщить о нарушениях в этих комментариях
    Для чтения материалов на нашем сайте не нужна регистрация.
    Но для написания комментариев она нужна.
    Но теперь, Вы можете оставить свой комментарии к материалам сайта без регистрации на PSPinfo.RU, а просто авторизовавшись в популярных сетях:
    - ВКонтакте
    - Facebook
    - Twitter
    Комментарии модерируются!
    В случае нарушения правил сайта Вы будете заБАНены.


    Обсуждение соцсетей тут.

    Личный кабинет

    E-Mail:

    Пароль (Забыли?):



    [Регистрация]

    МиниСтатистика

    На нашем сайте имеется:
    Обоев для PSP: 153001
    Сейвов для PSP: 7253
    Тем для PSP: 5095
    Роликов о PSP: 26507

    Обои для PSP

    Подсолнухи
    Альбом: Windows
    Разместил: Сергей

    Голосование

    Сколько времени в день Вы проводите за PSP?




    Показать все опросы

    Купить/починить PSP

    » Место сдается...

    А тут ты был???

    » Покажи где ты уже был!
    » 
    » 


    Flash игры onLine |  Игры для PSP |  Обои для PSP |  Софт для PSP |  Темы для PSP |  Сейвы для PSP |  Комиксы для PSP |  Форум |  Карта сайта |   
    "" and "PlayStation" are registered trademarks of Sony Computer Entertainment Inc. "", PSP and "UMD" are trademarks of Sony Computer Entertainment Inc. "", "XMB", "Memory Stick Duo" and the "Memory Stick Duo" logotype are trademarks of Sony Corp. All product titles, publisher names, trademarks, artwork and associated imagery are trademarks, registered trademarks and/or copyright material of the respective owners. All rights reserved.
    Game's TOP-100 Counter