![]() |
| Forums | Gaming News | Videos | Downloads | Today's Posts | Mark Forums Read | Chat | FAQ | Members List | Contact |
| ||||||
This is a discussion on Port Tutorial - rRootage example within the PSP Development Forum forums, part of the PSP Development, Hacks, and Homebrew category; I am writing this in response to some accusations of me stealing someone else's code. I am not gonna name ...
![]() |
|
|
LinkBack | Thread Tools |
|
|
#1 |
![]() ![]() Developer
|
I am writing this in response to some accusations of me stealing someone else's code.
I am not gonna name names and point fingers. I just want to clear up my name... and hopefully this information will be usefull to people who want to get in to psp homebrew scene. So you deside as to whether I needed to steal anything or could do it myself in 20 minutes, using basic C/C++ knowlege and common sense. So here we go... 1) Get the original rRootage distribution from: www.asahi-net.or.jp/~cs8k-cyu/windows/rr_e.html (google it if the link does not work) 2) Unzip it and get the source folder. The attached readme file mentions that you'll be needing SDL, OpenGL, bulletML oggVorbis. So if you don't have those yet, get the psp versions: SDL, SDL_mixer, PSPGL, libBUletML, libTremor. Of course you'll need the latest versions of those. you'll need PSPSDK and Cygwin as well. (Read other tutorials if you need help setting up anything from the list above) 3) Ok, so you have the environment setup :-) Let's compile it: Your basic make file should look something like this: Code:
TARGET = rr
PSPSDK = $(shell psp-config --pspsdk-path)
PSPBIN = $(shell psp-config --psp-prefix)/bin
SDL_CONFIG = $(PSPBIN)/sdl-config
O = o
OBJS = $(TARGET).$(O) foe.$(O) foecommand.$(O) barragemanager.$(O) boss.$(O) ship.$(O) laser.$(O) \
frag.$(O) background.$(O) letterrender.$(O) shot.$(O) \
screen.$(O) vector.$(O) degutil.$(O) rand.$(O) mt19937int.$(O) \
soundmanager.$(O) attractmanager.$(O)
DEFAULT_CFLAGS = $(shell $(SDL_CONFIG) --cflags)
MORE_CFLAGS = -g -O2
CFLAGS = $(DEFAULT_CFLAGS) $(MORE_CFLAGS)
CXXFLAGS = $(DEFAULT_CFLAGS) $(MORE_CFLAGS) -fno-exceptions
LIBS = -lbulletml -lSDL_mixer -lvorbisidec -lstdc++ -lGLU -lGL -lglut -lpsprtc $(shell $(SDL_CONFIG) --libs)
EXTRA_TARGETS = EBOOT.PBP
include $(PSPSDK)/lib/build.mak
It will do some compiling but will return with something like: foecommand.h:30: error: conflicting return type specified for 'virtual double FoeCommand::getBulletDire ction()' /usr/local/pspdev/lib/gcc/psp/4.0.2/../../../../psp/include/bulletml/bulletmlrunner.h:72: error: overriding 'virtual float BulletMLRunner::getBullet Direction()' Note that it's complaining about type mismatch double vs float in bulletml lib. So let's go to foecommand.h and change all "double" to "float" (if you use "vi", :s/double/float/g 5000 will fix it for you in a blink ;-) Now, of course, you'll have to do the same for the corresponding foecommand.cc Let's try to "make" again.... and bingo!!! you have your firmware version1.0 executable!!!! type "make kxploit" if you need the 1.5 version folders Well, you are done! with your working 0.01 version!!! Test it!!! make sure you copy all the game files/folders from the original distribution. You'll notice that it's running slow with the ms access light blinking... Well look for new files on your ms ;-) You'll probably find log.txt in which pspgl is dumping it's complaints about the errors it encountes... read it... If you recall the original version - it runs at 640x480 resolution which it a bit big for PSP.. so try to see if it is hardcodded somethere in the code ;-) and fix it.. Look for key assgnments (grep -i key) and see where they defined.. Since they did not seem to work in your first version, u'll need to fix that part.. view the readme.psp in SDL distribution on details... Obviously as you go along, you'll encounter some new problems and I don't want to spoit the fun by givving out solutions ;-) But as you see it is very simple to get things going with out stealing someone elses code ;-) with some experience you can produce a functional port in ~60 min... So what's the trick??? Finding easily portable free code.. You'll need some experience with that ;-) You best bet would be to look for something that has already been ported to some other lowres console or use platform independent libraries like SDL.. Try to search thru the games at www.libsdl.org for ideas... Also, the trick is in tweaking the game for performance.. for example, you can use same sequence to port NOIZ2SA and will be done in ~ 20 minutes.. but it took me much more time to come up with the fast & attractive tate version... I had to re-write all SDL calls (partly because psp SDL was not that well when I started codding that game.. i had to re-write most of the IO functions too and compile my own version of bulletML) I hope this was educating.. Regards, DENIS PS: Some other porting ideas: Dodgin' Diamonds - very easy.. Rise of Triad - more advanced - I'll try to finish this one when I have time... [Jan 3, 2006 Edit] Ok, some people got stuck with psp libraries installation so here is some hints: 1) Install as many cygwin libraries as you can (This is kinda dumb but at least you will not be missing anything and stock with some weird build errors) If you are pressed with HD space, you defenetely want X11 stuff (startx will give you anice xterm with copy/ paste functionality), libtool, gnu make, svn, wget, bison, etc.. 2) to get the fresh source for the libs do: svn co svn://svn.ps2dev.org/psp/trunk/SDL _this will get you the source for SDL.. Change "SDL" to libTremor, SDL_mixer, SDL_gfx and it will get you the source for those libs, creating new folders in your current directory. NOTE: make sure your current path don't have spaces in it. This may screw up some cygwin calls... Once you get the library, "cd" in to that directory and view README.PSP (or just README if README.PSP is not there) README.PSP usually has the command sequence for installing the library as well as any prerequisites. For example libTremor has following: LDFLAGS="-L`psp-config --pspsdk-path`/lib -lc -lpspuser" ./autogen.sh \ --host psp --prefix=`psp-config --psp-prefix` make make install So just copy those lines in to cygwin prompt.. Having 2 xterm windows can be handy.. so prowided that you have X11 stuff installed, type startx & xterm & Happy codding ;-) DENIS Last edited by deniska; 01-03-2006 at 09:33 PM.. |
|
|
|
|
|
#2 |
|
That is something that should be stickied, simply because this could build on having a full fledged tutorial and help center for porting games. This could be used to help in a joint effort to port unreal tournament onto the psp! Then by the time it gets good speeds well have the wifi libraries done and then we can have multiplayer unreal tournament, then 2003! or 4! W00t
Propz on this, if i knew how to code, i would so use this to help the psp world be a better place because it will have unreal tournament, or half life 1 than can be played on it, :-) My 2 dollars |
|
|
|
|
|
|
#3 | |
![]() |
Quote:
|
|
|
|
|
|
|
#4 |
![]() |
Hey don't flame the guy. I would loooove to see unreal tournament on the psp even if it does sound ridiculous. Theres always a way to do something. We just have to wait and see if someone will try it. Untill then don't flame the guy for saying something
__________________
[SPOILER="For PSP History"]1.50 > 1.52 > 2.00 > 1.5 > 1.5 (POC CF) > 1.5 (Harleyg) > 1.5 (Casual) > 3.03 OE-A > 3.03 OE-C[/SPOILER] Check it out: [URL="http://youtube.com/watch?v=xNVPKM07TWs&mode=related&search="]Pen Spinning[/URL] |
|
|
|
|
|
#5 |
![]() |
Okay, well, there may be a way to do it. If unreal tournament is open source, then do what the dude said above, but that wont work because the PSP capabilities arent as good. Okay, well lets do this together. Tweak it. Change setting, delete, add, etc. It can be done, as with everything else.
|
|
|
|
|
|
#6 | |
|
No longer a community member.
|
Quote:
|
|
|
|
|
|
|
#7 |
![]() ![]() ...
Join Date: Oct 2005
Location: The US of A Hombrew: Quak Arena Projects: RIFT
Posts: 381
Trader Feedback: 0
|
not as hard as you make it sound. if unreal tournament is anything like UT2004, it wouldnt be so hard to get it running at full speed, assuming you have the source. I know that i can run UT04 at 320x240 at lowest settings in software mode at a good 30 fps on a 400 mhz cpu with 64 mb ram.
__________________
... |
|
|
|
|
|
#8 |
|
Okay so Deniska, There seems to be an error in PSY mode, I can't nail whether its trying to load the background that gives it an error, or if its beggining the PSY loader function, I havent looked at the source readilly enough yet, but looks to me with the 00001C error that its loading the PSY function that causes the error, as you sometimes get that error in code that has faulty loading functions.
Could you please look into this? thanx
__________________
Cover your eyes and run... gmansixfo= STEPMANIA LEGEND!!
|
|
|
|
|
|
|
#9 | |
![]() |
Quote:
__________________
[IMG]http://img.photobucket.com/albums/v465/z357z/Photoshop/BKsig.jpg[/IMG] |
|
|
|
|
|
|
#10 | |
![]() |
Quote:
WEll. This is assuming we can use everything the psp has including mastering the psp's gpu, which atm we arent even close to comepleting |
|
|
|
|
|
|
#11 | ||
![]() ![]() PSP Developer
Join Date: Oct 2005
Real First Name: Alex
Location: ~* Confidential *~
Just Played: N/A
Posts: 839
Trader Feedback: 0
|
Quote:
"If you wait, it will come."
__________________
![]() "Every team needs an idealistic person (whether they are a noob or a pro), my team doesn't have one cus im the idealistic founder."-me Anime/Manga and Fanfiction is my inspiration! Creator of: - PSPSDK makefile creator - Lua Prompt - Animated Sprite Class\Library for Lua - Gmax2PSP - |
||
|
|
|
|
|
#12 | |
![]() |
Quote:
__________________
[IMG]http://img.photobucket.com/albums/v465/z357z/Photoshop/BKsig.jpg[/IMG] |
|
|
|
|
|
|
#13 | |
![]() |
Quote:
![]() Sony needs to just make it easier on all of us and make a public sdk or something..
__________________
NOTICE: By the time you have noticed this notice, you will have noticed that this notice is not worth noticing. FW History: 1.5>3.03OE-C>3.52 m33 |
|
|
|
|
|
|
#16 | |
|
Quote:
|
||
|
|
|
|
|
#18 |
|
Why bother with UT2004, technically speaking it might just work, but it'll be dog ugly. What about the original UT as that would run on a 266 P2 in software in 320x240 with little problem. Its just as playable, you just wont have all the extra modes like assult and onslaught. But standard DM and CTF is where its at anyway
|
|
|
|
|
|
|
#22 |
![]() ![]() My name is Mud
|
the old Unreal Tournament GOTY will run fine...
CPU: Intel Pentium* 200MHz or AMD K6 200MHz or better processor Memory: 32MB RAM (64MB recommended) Available HD Space: 300MB (605 recommended) CD-ROM Drive: 4x or faster CD-ROM or 4x or faster DVD-ROM Drive Audio System: DirectX 7.0 Compatible Sound Card Video System: PCI Local Bus Video Card (8M 3D accelerator recommended) O/S: Windows® 95/98/2000/Windows® NT 4.0/Linux/Mac Network and Internet Play: via TCP/IP (28.8K minimum speed) the other ones, ut2003/4 wont, they start requiring 1ghz+ cpus and 128mb+ ram... |
|
|
|
|
|
#23 | |
![]() ![]() Muppet Magnet
|
Quote:
__________________
Using firmware v2.00-v3.50? Open up a whole world of homebrew here
The PSP Homebrew Database needs YOU! Your ISP may be illegally wiretapping all your web activity. Stop Phorm Now! Visiting the Edinburgh Festivals? Get practical advice from experts. |
|
|
|
|
|
|
#24 | |
![]() ![]() Developer
|
Quote:
|
|
|
|
|
|
|
#27 | |
|
Quote:
I think it would need less mem when ported to the psp. Not that i have absolute knowledge
|
||
|
|
|
|
|
#28 |
![]() |
some very nice ideas are coming out here, it would be really great to play games like unreal tournament while on the go, especially if the multiplayer worked! other games like half life which were mentioned would also be fun! Cant wait to see if any of these become reality!
Last edited by warlord7856; 01-03-2006 at 04:55 AM.. |
|
|
|
|
|
#29 |
![]() |
Are games like Blood Omen or Daggerfall port-able? I think they are but they migh require high amounts of space on the memstick...
Blood Omen would be great tho... *hint*hint* (yeah I know it's not open source or whatever so it isn't legal... sigh... ) Anyways, great guide, I will go out and try Dangerous Dave maybe... |
|
|
|
|
|
#30 |
|
Nice tutorial, I would love to see BZFlag on the psp, but is that possible with WiFi? I'm not really a coder so I don't know **** about it :P But maybe someone could make a port? It's open source etc. http://bzflag.org
|
|
|
|
|
![]() |
| Tags |
| port , rrootage , tutorial |
| Thread Tools | |
|
|