KINGx - Das inoffizielle PlayStation Forum & News Portal

Normale Version: C Sourcecode
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hi an alle erstmal. Smile
Ich habe mich eben entschlossen weg von lua zu gehen und mich c zu widmen, dazu habe ich mir das Buch "c von a bis z" als open book gratis heruntergeladen. (Nein, nicht von Rapidshare Big Grin)
Jetzt möchte ich wissen:
1.Kann man mit c was für die PSP machen (in Richtung Plugins)?
2.Welchen GRATIS Compiler würdet ihr empfehlen?
3.Wie erstelle ich den Source Code? (Text editor...)

Hoffe ihr antwortet.
MfG m33
1.Ja
2. Minipspw
3.Notepad,PSPad etc

fixit98 :
1.Ja
2. Minipspw
3.Notepad,PSPad etc


Ok, danke.
Noch ne Frage:
Wie muss ich den Source Code nennen?
Ich habe oft h.bin oder so gesehen, die ja laut meines Wissens eine header Datei ist.
Wie muss ich solche Dateien nennen und was muss rein?
(Titel...)

Dein Source muss mit der "makefile" unter dem namen "main.c" zusammen in einem Ordner gespeichert sein.

Danach ins CMD gehen.
Mit dem Befehl "cd c:/whatever" ins richtige Verzeichnis wechseln und "vsmake" tippen.

MfG ferra
Auch danke, aber ich meinte, welche Datei ich z.B. h.bin nennen muss und was da rein gehört.

m33 :
Auch danke, aber ich meinte, welche Datei ich z.B. h.bin nennen muss und was da rein gehört.


.bin´s sind meistens für Exploits Wink

du brauchst eine linker datei usw.


main.c ,makefile,etc sind für eboots oder prx´s ;D

Beispiel :
Main.c für Hello World

Code:
#include <pspkernel.h>
#include <pspdebug.h>

PSP_MODULE_INFO("Hello World", 0, 1, 1);

#define printf pspDebugScreenPrintf

/* 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 in C by fixit");   // Dein Text
printf("\nHBL Test EBOOT");





sceKernelSleepThread();

return 0;
}


Makefile

Code:
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

Ich finde man sollte erstmal programmieren lernen bervor man anfängt die leute "zu belästigen".

Soll jetzt nicht böse gemeint sein

den deine frage zu diesem h.bin ist wirklich überflüssig.
Hättest du dich mal ein bißchen selber informiert dann hättest du sie garnicht gestellt.

Diese h.bin, wo auch immer du sie gesehen hast, wird wahrscheinlich nur bei "diesem" projekt gebraucht daß du dir angeschaut hast (vermutung).
Sie ist nicht notwendig.

Ich würde dir raten erstmal richtig C zu lernen um dann auf das C für die PSP um zu steigen.Wurde schon sehr oft und von den besten coder hier in unserem forum geraten.<- und das will doch etwas heissen,oder?
Achso.

MixeryM@xe :
Ich finde man sollte erstmal programmieren lernen bervor man anfängt die leute "zu belästigen".

Soll jetzt nicht böse gemeint sein

den deine frage zu diesem h.bin ist wirklich überflüssig.
Hättest du dich mal ein bißchen selber informiert dann hättest du sie garnicht gestellt.

Diese h.bin, wo auch immer du sie gesehen hast, wird wahrscheinlich nur bei "diesem" projekt gebraucht daß du dir angeschaut hast (vermutung).
Sie ist nicht notwendig.

Ich würde dir raten erstmal richtig C zu lernen um dann auf das C für die PSP um zu steigen.Wurde schon sehr oft und von den besten coder hier in unserem forum geraten.<- und das will doch etwas heissen,oder?


Ich würde dir raten, nicht so einen Quatsch zu erzählen. Man kann .bin-Dateien auch so für Projekte verwenden. So überflüssig war die Frage gar nicht.
Genauso mit elf-Dateien. Wenn man Eboot's vorher noch verändern möchte, arbeitet man mit dennen weiter und lässt sich nicht sofort alles zusammenzaubern. Smile

h.bin ist für exploits wie z.b.
5.03 hen oder
hbl und so weiter.
Also m33 du musst alls erstes eine main.c erstellen

und oben muss immer stehen:

#include <beispiel.h> und beim Erstellen der Eboot mit der oben genannten befehlen mit CMD muss die .h datei im ordner sein.
Später wenn die Eboot erstellt wurde kannst du die .h datei löschen da sie jetzt in der Eboot drin ist.


mfg
emink123
Wenn du in C programmieren willst dann braucht das seine Zeit. Fang nicht direkt mot PSP Coden an den das ist schwieriger als PC Coden. Lies dein Buch durch und üb an dann C an deinem PC, als Compieler empfehle ich DEVC++ (ist auch für, musst es erst als .C datei abspeicher bevor du Compelierst). Wenn du das Buch duchgelesen hast und du dich in C sicher fühlst und auchh paar beispiel porgramme geschreiben hast dann kannst du auf C für PSP umsteigen denn dannn weist du diw wichtigsten "Grundbasics"
Hi,

als kleinen Tipp von mir: Nutze eclipse C++ als Editor IDE) mit MinGW32 als Windows compiler oder sogar Visual Studio vom Kleinweich (MS) für C++ ist die Version so weit ich weiß auch Kostenneutral... Mit diesen Editioren+ Compilern und dem Buch solltest du recht schnell deine ersten C-prgramme für'n PC hinbekommen....
wenn dass läuft mach dich in PSP Foren schlau wie das mit Make-File Projekten etc. unter eclipse und VC läuft und wie du das ganze mit MinPSPW eingerichtet bekommst um für die PSP zu prgrammieren...Aber bitt gib dir die Zeit es zu lernen und benutze Google, Google, Google...gerade zum Einstieg gibt es unzählige Tuts für C und dann auch für die PSP mit C....
Erstmal Danke für alle Tipps bis hier hin. Wink
So ich habe jetzt ein Hallo World abgetippt und mit pspdev compiled.
Doch es wird keine eboot erstellt sondern nur eine elf Datei, weiß einer wieso?
Ich mache das mit pspsdk v.0.9 ich muss nur die main.c und makefile haben.
Mach mal alles nach wenn du pspsdk hast:

Als erstes tipps du den main.c code oben ab.
Als zweites machst du die makefile.
Als drittes startest du cmd.exe
Als viertes gibst du den pfad wo die beiden Datein sich befinden:
cd C:\Test\
Als fünftes gibst du ein:
make
Und danach hast du schon eine Eboot.pbp und es kommen noch zwei andere Datein raus main.o,param.sfo aber die brauchst du nicht!!!
Wenn du willst kannst du alles ausser die eboot.pbp löschen und auf deine psp machen.
Das wars und danach starten.
Viel erfolg in deiner neuen C coderkarriere xD

mfg
emink123
Danke, wenn das passiert, dann dauerts aber noch xD
Okay mir ist aufgefallen, dass bei der vorgegebenen Datei eine Eboot gemacht wurde und bei meiner nicht.
Jetzt hast du ja geschrieben, den Code abtippen.
Jetzt die Frage Big Grin
Gibt es einen Code, der immer am Anfang rein muss?
Seiten: 1 2
Referenz-URLs