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

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

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

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

    Публикаций: 0
    Комментариев: 48
    Спасибо: 0/33
    Репутация: 2
    Тут: 15 лет 8 месяцев
    НЕ............. НАХ это всё belay
    НО АФТОРУ ВСЕ РАВНО respect

    #22 [08.09.08] зызынько

    Посетители
    зызынько
    --

    Публикаций: 0
    Комментариев: 10
    Спасибо: 0/5
    Репутация: 0
    Тут: 15 лет 8 месяцев
    Restitce а я о чём говорю?

    #23 [08.09.08] Зызашурик

    Посетители
    Зызашурик
    X

    Публикаций: 0
    Комментариев: 11
    Спасибо: 0/67
    Репутация: 0
    Тут: 16 лет
    Мне понравилось Клёво
    А Автору respect

    #24 [08.09.08] .:Witcher:.

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

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

    народ вот вы говорите спс, респект, а вот хтото эт хоть зделал:)

    #25 [08.09.08] Shtourm

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

    Публикаций: 0
    Комментариев: 5
    Спасибо: 0/6
    Репутация: 0
    Тут: 16 лет
    правда какой смысл писать уроки?Если тут только школьники которые в спортзале сидят кучками и режуца по сетке, прогуливая(как я и делаю bully )но respect в любом случае!

    #26 [09.09.08] nilos

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

    Публикаций: 0
    Комментариев: 4
    Спасибо: 0/2
    Репутация: 0
    Тут: 16 лет 3 месяцa
    Уверен что 99,9% пользователей не знают C++
    блин думаю ты загнул ;)!! а так молдец , что замутил такую тему(ps если сам конечно)

    #27 [09.09.08] .:Witcher:.

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

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


    Shtourm, но я ведь тоже школьник:)))

    #28 [09.09.08] Rooney_10

    Посетители
    Rooney_10
          

    Публикаций: 7
    Комментариев: 216
    Спасибо: 135/304
    Репутация: 183
    Тут: 16 лет 1 месяц
    .:Witcher:., маладец=)
    может я не так понял но это homebrew?

    #29 [09.09.08] Gramoboi.

    Посетители
    Gramoboi.
    --

    Публикаций: 0
    Комментариев: 4
    Спасибо: 0/1
    Репутация: 0
    Тут: 16 лет
    молодец но это было !

    #30 [09.09.08] Wiener

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

    Публикаций: 1
    Комментариев: 52
    Спасибо: 42/8
    Репутация: 10
    Тут: 16 лет
    чёто непонятно зачем это надо?

    #31 [09.09.08] Lance95

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

    Публикаций: 0
    Комментариев: 4
    Спасибо: 0/4
    Репутация: 0
    Тут: 16 лет 2 месяцa
    Круто жду второго respect

    #32 [09.09.08] 3bl3gamer

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

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

    а если тут кто-от такой "крутой" и всех остальных нубами считает, пусть вспомнит то время, когда сам нубом был! а если не может вспомнить, значит что-то с головой...

    #33 [09.09.08] TWERQEN

    Посетители
    TWERQEN
    7:0 господа хороши!

    Публикаций: 4
    Комментариев: 266
    Спасибо: 129/156
    Репутация: 73
    Тут: 16 лет 3 месяцa
    3bl3gamer когдла я был нубом я учил всё сам с самого началда включая qbasic и с и не лез на разные форумы и сайты с тупыми вопросами скажем так я был нуб просто новечком а вы нубы тупите жестоко
    да кстати нупы или нубы от англицкого noobew новичок

    #34 [09.09.08] mepsp

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

    Публикаций: 0
    Комментариев: 21
    Спасибо: 0/1
    Репутация: 0
    Тут: 15 лет 10 месяцев
    а я и так программист по специальности=) лана всем удачи=)

    #35 [09.09.08] New York

    Посетители
    New York
    --

    Публикаций: 0
    Комментариев: 90
    Спасибо: 0/37
    Репутация: -1
    Тут: 15 лет 11 месяцев
    Как то лень все это читать!

    #36 [09.09.08] Лёха

    Посетители
    Лёха
    ....!!!

    Публикаций: 0
    Комментариев: 86
    Спасибо: 0/979
    Репутация: 0
    Тут: 16 лет 10 месяцев
    молодец_)))) rulez pupok

    #37 [09.09.08] TWERQEN

    Посетители
    TWERQEN
    7:0 господа хороши!

    Публикаций: 4
    Комментариев: 266
    Спасибо: 129/156
    Репутация: 73
    Тут: 16 лет 3 месяцa
    так всё коллчество нубов перевалило за 20 я ретируюс с сайта скорее всего вернусь через пол года а так досвидания все пока !!

    #38 [09.09.08] techno66

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

    Публикаций: 0
    Комментариев: 22
    Спасибо: 0/10
    Репутация: 0
    Тут: 15 лет 8 месяцев
    я в школе двоишник и в с++бум бум( больше на делфи 7-9 понимаю чем на с++

    #39 [09.09.08] frickk

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

    Публикаций: 0
    Комментариев: 2
    Спасибо: 0/0
    Репутация: 0
    Тут: 16 лет 7 месяцев
    А вообще лучше обратиться к pspprogramming.com

    #40 [10.09.08] RS

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

    Публикаций: 0
    Комментариев: 263
    Спасибо: 0/357
    Репутация: 38
    Тут: 16 лет 4 месяцa
    TWERQEN,
    Я те ясно написал НЕНРАВИТС НЕЗАХОДИ НА ЭТУ ТЕМУ !!!!
    ну ты был нубом и я щас нуб вот мне интересно в каком классе ты был когда ты был нубом а ??

    frickk,
    ГЫЫЫ прикольная аватарка !!!

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

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


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

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

    E-Mail:

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



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

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

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

    Обои для PSP

    System of a Down
    Альбом: Музыка
    Разместил: sinful

    Голосование

    В основном на 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