ساخت برنامه به صورت حرفه ای برای psp

SASAN-BSE

کاربر سایت
Mar 1, 2007
1,378
نام
ساسان
======ساخت بازی و برنامه به صورت حرفه ای برای psp با زبون c , c++======

این روش اصلی ترین روش ساخت بازی و برنامه برای psp هست که حتی خود شرکت های بازیسازی مثله سونی استفاده میکند c,c++
از این طریق میتونید بازیهایی با فرمت pbp یا حتی iso بسازید
-------------------------
آموزش:
-------------------------
شما به 3 تا برنامه احتیاج دارید:
toolchain
PSPSDK
CYGWIN

ابتدا CYGWIN دانلود کنید
حدود 600 kb که یه دانلودر CYGWIN ، آنرا اجرا کنید
آدرس نصب C:/cygwin بزارید و دانلود CYGWIN هر جا خواستید قرار بدید
next بزنید و یکی از سایتهای زیر را انتخاب کنید که فایل ها رو از اون سایت دانلود کنه،
حالا نام فایلها میاد ، همه رو روی default قرار بدید
+ کنار web را بزنید و فایل wget به install تغییر بدید
next تا فایلها رو دانلود کنه.
بعد از دانلود فایلها روی finish کلیک کنید و بزارید فایلهای دانلود شده نصب بشن
بعد از نصب شدن برنامه CYGWIN باز کنید ، یک صفحه مشکی باز میشه که اگر این داخلش نوشته شده باشه برنامه با موفقیت نصب شده:
yourusername@yourcomputername ~
و $
toolchain دانلود کنید
و به این آدرس منتقل کنید:
/usr/local/pspdev
و تو صفحه CYGWIN تایپ کنید:
./toolchain.sh
و روی آیکون CYGWIN راست کلیک کنید و در قسمت Edit
این تغییرات رو انجام بدید:
@echo off

C:
chdir C:\cygwin\bin

set path=%path%;C:/cygwin/usr/local/pspdev/bin
set PSPSDK=C:/cygwin/usr/local/pspdev
bash --login -i
و سیو کنید
این هم pspsdk دانلود کنید و در درایو c نصب کنید

نکته :
این فولدر هارو بسازید:
C:\cygwin\home\****\projects\helloworld
****= یوزر شما

-----------------------------

حالا برای ساخت برنامه نیاز به Dev-C++ دارید که میتونید از اینجا دانلود کنید

یه فایل با نام main.c در helloworld بسازید و آن را باز کنید:

حالا شما اینجا میتونید برنامه نویسی کنید که من قسمتی از اونو به شما یاد میدم:
برای شروع ساخت برنامه helloworld که کارش فقط نوشتن helloworld هست:

این قسمت یه جورایی مثله مشخصات برنامه هست:
// Hello World - My First App for the PSP

/*
This program was created by (Your Name Here) on (Date Here)
It is a simple "Hello World" Application.
*/

تایپ کنید در اول برنامه
و این دو که کارشون معرفی برنامه به سیستم هست،تایپ کنید:

#include <pspkernel.h>
#include <pspdebug.h>
و بعد از این ، این تیکه رو با یخورده فاصله تایپ کنید:
PSP_MODULE_INFO("Hello World", 0, 1, 1);
و بعد:
#define printf pspDebugScreenPrintf
که مشخص کردن نوشتن حروف الفبا در صفحه psp هست
در آخر هم این قسمت رو قرار بدید که برای اجرای برنامه در psp هست:

/* Exit callback */
int exit_callback(int arg1, int arg2, void *common) {
sceKernelExitGame();
return 0;
}

/* Callback thread */
int CallbackThread(SceSize args, void *argp) {
int cbid;

cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL);
sceKernelRegisterExitCallback(cbid);

sceKernelSleepThreadCB();

return 0;
}

/* Sets up the callback thread and returns its thread id */
int SetupCallbacks(void) {
int thid = 0;

thid = sceKernelCreateThread("update_thread", CallbackThread, 0x11, 0xFA0, 0, 0);
if(thid >= 0) {
sceKernelStartThread(thid, 0, 0);
}

return thid;
}

int main() {

pspDebugScreenInit();
SetupCallbacks();

printf("Hello World");

به جای این Hello World هر چیز دیگه هم میتونید بنویسید یعنی برنامه از این قسمت میفهمه چی باید نمایش بده

برای پایان دادن برنامه هم اینها هم به برنامه اضافه کنید

sceKernelSleepThread();

return 0;

}

برنامه شما کامل شد، حالا شما احتیاج به فایل Makefile
Makefile در کنار main.c بسازید
و در داخل آن این هارو بنویسید:


TARGET = hello
OBJS = main.o

CFLAGS = -O2 -G0 -Wall
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)/lib/build.mak

و پسوند آن را وردارید ، یعنی اگر Makefile.txt هست به Makefile تغییر بدین

حالا برای اجرا در psp احتیاج دارید فایل main.c تبدیل به EBOOT.PBP کنید
آموزش تبدیل:
ابتدا CYGWIN باز کنید و آدر فایل main.c تایپ کنید ولی قبل از آدرس یه کلمه cd هم اضافه کنید
حالا تنها کاری که باید بکنید تایپ کلمه make هست،
فایل شما به EBOOT.PBP تیدیل شد!
اونو در psp بریزید و جمله helloworld ببینید.
نویسنده:SASAN-BSE
 
آخرین ویرایش:

SASAN-BSE

کاربر سایت
Mar 1, 2007
1,378
نام
ساسان
معرفی دستور های psp:

#include <pspdisplay.h>
انتقال فرمان به صفحه نمایش psp

#include <pspctrl.h>
فرمان گرفتن از دکمه های psp

#include <pspkernel.h>
هسته اصلی ، یه جورایی سازماندهی کردن فرمان ها در psp

#include <png.h>
شناختن تصویر با فرمت png

#include "graphics.h"
ایجاد اشکال 3 بعدی (این باید حتما با دستور قبلی بیاد)

#include <psppower.h>
کنترل سیستم برقی psp مثله فرمان خواموشی یا sleep تو ir shee

#include "mp3player.h"
شناختن فرمت mp3 در psp

#include <pspaudio.h>
پخش فرمت (بستگی به دستور بالا دارد) و باید با فرمان بالا بیاد

اینم یکسری دیگه که باید جزء دستورها باشه
#include <pspdebug.h>
#include <pspkernel.h>
#include <pspgu.h>
#include <stdio.h>


نکته : احتیاجی نیست بین هر دستور فاصله بزارید
2:بعد از تایپ اگر ارورر < داد یعنی دستور رو اشتباه تایپ کردید
3:بعد از تبدیل به pbp اگر ارور مشخص کردن دستور رو بده یعنی شما مثلا فایلی با نام mp3player.h تو کتابخونتون ندارید (کتابخونه همون psp sdk هست)


------------------------
تمام این مطلب ها از تجربه هایی که برای ساخت برنامه psp هست یاد گرفتم (یعنی احتمال داره چندتا ایراد باشه ولی در پست های بعدی کامل تر میشه ، چیکار کنم دیگه منبع خاصی نیست برای آموزش:biggrin1: )
 

SASAN-BSE

کاربر سایت
Mar 1, 2007
1,378
نام
ساسان
خیلی ممنون
راستی اون تاپیک تبدیل برنامه ها به کرنل اسلیم کجا رفت همون LEDA بود؟
:smile:
یه پست دادم گفتم به خاطر اینکه این روش قدیمیه و بجاش LEDA اومده دیگه آموزش نمیزارم
بعد 1 ساعت دیگش به یکی از بچه ها گفتم تاپیکو پاک کنه
 
آخرین ویرایش:

NeverPoint

کاربر سایت
May 6, 2009
578
سلام
ببخشید می شه تو Visual Studio ازاین psp sdk استفاده کرد؟ آموزشش رو بزاری خیلی خوبه. این ++ Dev C زیاد جالب نیست. راستی اگه این برنامه رو کامپایل کنیم تو PC اجرا می شه؟
 

SASAN-BSE

کاربر سایت
Mar 1, 2007
1,378
نام
ساسان
سلام
ببخشید می شه تو Visual Studio ازاین psp sdk استفاده کرد؟ آموزشش رو بزاری خیلی خوبه. این ++ Dev C زیاد جالب نیست. راستی اگه این برنامه رو کامپایل کنیم تو PC اجرا می شه؟
اره فرقی نداره
آموزش Visual studio تو اینترنت یه سرچ کنی میتونی پیدا کنی (همشون یکی هستن)
چون دستور هایه جدید اضافه میشه تو برنامه نمیشه تو ویندوز بازش کرد ولی اگه دستور هارو حذف کنی یا از برنامه jpcsp استفاده کنی میشه تو ویندوز اجراش کرد ، وگرنه به صورت exe نمیشه. (بهترین جا برای اجراش خود psp هست);)
 

SASAN-BSE

کاربر سایت
Mar 1, 2007
1,378
نام
ساسان
ساسان جان یه iso loader واسه hen بنویس :D
:biggrin1:
باید زبون C رو فول فول بلد باشی + اصتلاحات خود psp
که منم هیچی....:biggrin1:
حالا جدی بیشتر هکر ها و برنامه نویس ها با همین روشی که نوشتم برنامه میسازن ، هرکی که زبون c , c++ کامل بلد باشه یخورده وقت بزاره راحت میتونه هر برنامه ای خواست برای psp بسازه.
(راستی زبون lua دوباره برای psp محبوب شده و خیلی خوب رو hen جواب میده )
LUA
 

کاربرانی که این قسمت را مشاهده می‌کنند

Top
رمز عبور خود را فراموش کرده اید؟
or ثبت‌نام سریع از طریق سرویس‌های زیر