KINGx - Das inoffizielle PlayStation Forum & News Portal

Normale Version: [TUT] PSPToolchain für Windows-User (ohne CYGWIN)
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo liebe Windows-User!
Ich schreibe heute ein Tutorial, wie ihr ganz schnell die PSPToolchain für Windows installieren könnt und euer erstes Programm compiled.
Wenn ihr Linux-User seid, stoppt hier und folgt diesem Tutorial!

Die Entwicklungsumgebung einrichten

1. Zunächst downloaded ihr euch das PSPSDK-Setup von hier.

2. Startet das Setup und klickt solange weiter, bis ihr nach der Installations-Position gefragt werdet (im Normalfall sollte dort C:/pspsdk/ stehen). Gebt dort folgenden Standort an: C:/pspdev/

3. Nun drückt ihr immer "Next", bis ihr am Ende der Installation auf "Finish" klickt.

4. Öffnet den Ordner "pspdev", welchen ihr gerade erstellt habt und erstellt dort ein neues Textdokument, in das ihr folgenden Code kopiert

Code:
set path=%path%;c:\pspdev\bin
set PSPSDK=C:\pspdev\psp\sdk
cmd


5. Nun speichert diese Datei als "start.bat" ab.

6. Fertig! Nun seid ihr bereit für´s coden.



Ein Programm erstellen

Dies ist nur eine kleine Erklärung, wie ihr mit eurer gerade fertig eingerichteten Toolchain Programme für die PSP erstellen könnt. Hier beschreibe ich, wie ihr ein bereits vorgegebenes Programm compiliert; um jedoch eure eigenen Programme zu coden, bedarf es einiges Wissen an C.


1. Ersteinmal öffnet ihr die "start.bat" aus eurem "pspdev"-Ordner. Folgender Code sollte erscheinen

Code:
C:\pspdev>set path=C:\WINXP\system32;C:\WINXP;C:\WINXP\System32\Wbem;C:\Programm
e\Intel\DMIX;C:\Programme\QuickTime\QTSystem\;C:\Programme\Gemeinsame Dateien\Di
vX Shared\;C:\pspdev\bin;c:\pspdev\bin

C:\pspdev>set PSPSDK=C:\pspdev\psp\sdk

C:\pspdev>cmd
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\pspdev>


2. Ihr könnt euch nun innerhalb des Ordners pspdev, mit dem Kommando "cd" bewegen.
Beispiel: Tippt "cd psp" ein. Nun befindet ihr euch im Ordner "psp", welcher sich im "pspdev"-Ordner befindet. Um wieder zurück zu kommen, benutzt ihr das universelle Kommando "cd..", mit dem ihr in den Hauptordner zurückkommt.

3. Um jetzt ein Programm zu compilieren, benutzt ihr das soeben erlernte Kommando "cd" um in den Ordner "basic" zu kommen. Dazu benutzt ihr folgenden Code

Code:
cd psp/sdk/samples/contoller/basic


4. In dem Ordner "basic" befinden sich eine Makefile-Datei und eine C-Source (das Programm im C-Code). Benutzt nun das Kommando "make" um das Programm zu compilieren. Folgendes sollte nun erscheinen

Code:
C:\pspdev\psp\sdk\samples\controller\basic>make
psp-gcc -I. -IC:/pspdev/psp/sdk/include -O2 -G0 -Wall -D_PSP_FW_VERSION=150   -c
-o main.o main.c
psp-gcc -I. -IC:/pspdev/psp/sdk/include -O2 -G0 -Wall -D_PSP_FW_VERSION=150  -L.
-LC:/pspdev/psp/sdk/lib   main.o  -lpspdebug -lpspdisplay -lpspge -lpspctrl -lp
spsdk -lc -lpspnet -lpspnet_inet -lpspnet_apctl -lpspnet_resolver -lpsputility -
lpspuser -lpspkernel -o controller_basic.elf
psp-fixup-imports controller_basic.elf
mksfo 'Basic controller sample' PARAM.SFO
psp-strip controller_basic.elf -o controller_basic_strip.elf
pack-pbp EBOOT.PBP PARAM.SFO NULL  \
        NULL NULL NULL  \
        NULL  controller_basic_strip.elf NULL
[0]        408 bytes | PARAM.SFO
[1]          0 bytes | NULL
[2]          0 bytes | NULL
[3]          0 bytes | NULL
[4]          0 bytes | NULL
[5]          0 bytes | NULL
[6]      58508 bytes | controller_basic_strip.elf
[7]          0 bytes | NULL
C:/pspdev/bin/rm -f controller_basic_strip.elf

C:\pspdev\psp\sdk\samples\controller\basic>


5. Glückwunsch! Ihr habt nun euer erstes Programm für die PSP erstellt! Ihr könnt es nun ausprobieren, indem ihr die neuentstandene EBOOT.PBP aus dem "basic"-Ordner nach PSP/GAME/basic kopiert.


Fehlerbehebung

Ein häufiger Fehler ist, wenn man die "start.bat" nicht mit der Endung .bat speichert, sondern als "start.bat.txt" (Falsch). Möglicherweise habt ihr auf eurem PC die Ausblendung der Dateiendung (in diesem Fall .txt oder .bat) eingeschaltet. Schaltet diese Funktion einfach ab und wiederholt Schritt 4.


Mit freundlichen Grüßen
Raiden1996

Das Programm, welches als Beispiel erstellt wird, ist übrigens ein Homebrew, das euch die Tasten, die ihr drückt, anzeigt.

PS: Ich wollt´s nicht ins Tutorial schreiben... also sorry wegen dem Doppelpost!
Und wie programmiere ich weiter nebenbei gemerckt gutes tut ganst du mir einen Link für eine Seite wie man damit programiert geben!!!! thumb
@homer
http://www.psp-programming.com/index.php
Ist zwar in Englisch, aber die beste Seite in Sachen PSP-Programmieren lernen.
wow, das is jetz echt nen klasse tut Smile war bisher immer zu faul cygwin zu installieren, doch jetz probier ich mich mal ans PSP coden, pc kann ich ja in c++ aber psp, na mal schauen Big Grin
Dankethumb
Wenn du dieses Tutorial benutzt, musst du kein Cygwin installieren.
Hallo, gibt es auch ein SDK das man am mac verwenden kann.
@philleb
http://www.lan.st/showthread.php?t=1927
Das ist ein Tutorial auf Englischthumb
geht das auf nur xp oder auch vista
weil ich vista hab ,
und noch eine frage wie macht man dieses cmd kompliemieren
sorry falls ich falsch geschrieben hab.
bitte hilfe
Danke echt super !
Hallo ich hätte eine Idee die man in dem Tutorial als Zusatz einfügen könnte.

Und zwar wenn man bereits eine IDE wie z.b. Borland C++ Builder 6 oder RAD Studios 2007 installiert hat dann funktioniert das mit dem make Befehl am Ende nicht.

Aber die Lösung dafür ist ganz einfach:

C:\pspdev\psp\bin\make.exe

Kopiert einfach die make.exe in den Ordner wo sich euer Makefile und der C Quelltext befindet dann könnt ihr einfach über die Eingabeaufforderung in den Ordner wechseln und den make Befehl verwenden.


Btw:

Auch auf in der Eingabeaufforderung kann man Werte einfügen.

Rechts klick in das Eingabeaufforderungs Fenster dann auf Einfügen.

Das erspart schreibt arbeit. (^_^)




Ehm und da ist mir noch was im Tutorial Bereich aufgefallen bei dem LUA Hello World:

http://www.pspking.de/lua-hello.html


Dort steht:

PHP-Code:
white =Color.new(255,255,255) --Farbdefinition 
while true do -- Mainloop starten 
screen
:print(1,1,"Hello World " white) --Textausgabe
sceen
.blit()  
screen.waitVblankStart() 
end -- Ende des Mainloops 


Aber in dem Quelltext ist 1 Fehler:

sceen.blit() <--- Fehler

Ersetzt den Fehler durch screen.flip()

Dann funktioniert es :>

Aber vielleicht wundern sich dann noch einige Leute warum Sie im Hintergrund noch immer das LUA Menü sehen.

Auch dafür gibt es eine einfache Lösung:
screen:clear()


Hier ist der verbesserte Quelltext:

PHP-Code:
white =Color.new(255,255,255) --Farbdefinition 

while true do -- Mainloop starten 
screen
:clear()


screen:print(1,1,"Hello World" white) --Textausgabe



screen
.flip()
screen.waitVblankStart()  
                                       
end -- Ende des Mainloops 




Eine kleine Erweiterung:

PHP-Code:
white =Color.new(255,255,255) --Farbdefinition 

while true do -- Mainloop starten 
screen
:clear() -- Damit ihr nicht im Hintergrund das LUA Menü seht

psp_taste 
Controls.read()-- Damit könnt ihr Taste eingaben abfragen

screen
:print(0,40,"Hello World" white

-- 
Textausgabe die ersten beiden Parameter geben Auskunft
-- darüber wo der Text steht schreibt z.bmal
-- screen:print(0,40,"Hello World" whitedann setzt ihr den Text ein 
-- paar Zeilen nach unten hin die anderen 2 Parameter 
-- sind ja selbstklärend    


        
                                        



        
if psp_taste:start() then   -- Wenn die Taste start auf der PSP gedrückt 
        
-- wird dann wird das Hello World
        
-- Programm beendet 
        
            
break
         
end 

screen
.flip()
screen.waitVblankStart()  

end -- Ende des Mainloops 










@_°/° |°_°| <-- Garry und Spongebob =)

wie muss ich denn dann die Batch unter Ubuntu erstellen??
Ich weiß ja schon dass es kein .bat ist sondern eine .sh, jetzt die frage mit was für einem Programm kann ich unter Ubuntu eine .sh erstellen und was gehört da rein??

einmal DEV

Code:
set path=%path%;/home/ich/Dokumente/pspdev/bin
set PSPSDK=/home/ich/Dokumente/pspdev/psp/sdk
cmd
cd /home/ich/Dokumente/HBL/eLoader
make


Und einmal normal

Code:
set path=%path%;/home/ich/Dokumente/pspdev/bin
set PSPSDK=/home/ich/Dokumente/pspdev/psp/sdk
cmd
cd /home/ich/Dokumente/HBL/eLoader
make distrib


Ist das so richtig?
Oder ist eine .sh anders aufgebaut???

Referenz-URLs