PSP Port

Started by danielt3, August 17, 2009, 05:41:11 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

danielt3

Quote from: Ariel Yust on February 14, 2010, 01:30:48 PM
how exectly does he try to make it work?

copy the dcb that was compiled for linux to his PSP card?
I do wonder how can u setup it to work thought quit curiouse :P

hmmm intresting I hope u make it =] I would love to make games for my PSP ^_^

Well, dcb files are created in such a way that it does not matter (much) where they were compiled (linux, windows, etc). I think this is the spirit. The main goal is to create a binary program that runs on PSP and that has full-capabilities to run a dcb file wherever it has been compiled. I'm still unsure if this will be possible because I do not know the internals of dcbs (yet). If it is not possible to simply run a dcb, I will patch every tool needed to " cross-compile " a dcb for the PSP and possibly write a new one to patch a dcb in order to run it on the PSP.
---

Daniel

Neodreamer

Daniel, could you upload your psp port beta version? Any new info?
Thanks

danielt3

Quote from: Neodreamer on May 07, 2010, 05:29:01 PM
Daniel, could you upload your psp port beta version? Any new info?
Thanks

There will be a (very very) beta in a couple of days. I'll keep everyone informed, of course.
---

Daniel

FreeYourMind


josebita

Woa! that's nice!
Hope to see it in action. If you could upload a video of your port in action, it'd be great!

Neodreamer

Any news about psp port? What date will be beta released?
Please, answer us.
Thanks

Alguna noticia del port de psp? Cual sera el dia de salida o publicacion de la release?
Por favor respondenos.
Gracias

danielt3

Quote from: Neodreamer on May 18, 2010, 02:46:24 PM
Any news about psp port? What date will be beta released?
Please, answer us.
Thanks


Sorry, people. I got stuck at work these days.  Maybe I can release something by friday or saturday. I'm about to get something usable but my free time is almost zero. I hope I can release something until this weekend.
---

Daniel

josebita

Ok, just take your time. We'll be happy to see anything you have once you get it working.

danielt3

Quote from: josebita on May 18, 2010, 03:47:46 PM
Ok, just take your time. We'll be happy to see anything you have once you get it working.

Thank you.
---

Daniel

Neodreamer

Hi, two weeks ago... Where is the beta versión? Please, if you cant upload your version, please tell us only that or when. Please, put some news some day on every weeks for informate us.
Thanks, we wait you

josebita

For what I know, he was having some trouble but was working on it.

danielt3

Quote from: Neodreamer on May 30, 2010, 02:33:21 PM
Hi, two weeks ago... Where is the beta versión? Please, if you cant upload your version, please tell us only that or when. Please, put some news some day on every weeks for informate us.
Thanks, we wait you

I'm sorry, people. I'm with almost zero-free time.
Now for the news. I will just post some explanations here. From now on, I will be posting weekly (at least) updates on the PSP port in my blog. (http://danielt3.zzl.org/wordpress).

The PSP port is somewhat difficult. Not only because lots of things are not documented so have to go like in a trial and error process. Altough there are a lot of code already written for the PSP, I could not figure out somethings myself (like exporting single variables from dynamic loaded modules). I'm using as a base some code I borrowed from the ScummVM and DaedalusX64 PSP ports. I'm not an experienced PSP programmer and I'm learning things in the whole process. After I finish and get something useful, the code will be avaliable for anyone who wants to learn from it too and I will be here to answer any questions I able to.

PSP does have a dynamic linking mechanism, the so called PRX. PRX are poorman's DLL. Good news! Bad news: they are not documented at all (at least not for anyone who do not have a oficial SDK, which costs a lot of money). The examples in the PSP-SDK are outdated and do not work at all. The process of creating a dynamic loadable module is:

1.) create your source file with some special macro telling it is a module (in bennugd, i have to add the macro and some other things to the source of e.g. libblit, libdraw, etc). libblit, libdraw will become each one a prx.

2.) create (manually, really a PITA) a file which tells what symbols a PRX exports. This file will be compiled to a assembly source file which will be compiled and linked against whatever modules that imports one of the symbols the PRX exports.

3.) compile and link your own PRX

Sorry my lack of time to work on this. I really would like to have more time and see BennuGD fully working in PSP. PSP is a great plataform to write games and BennuGD in PSP would be even more cool.

I will work on a larger more complete post to the blog. So stay tuned.
---

Daniel

FreeYourMind

Daniel, cara, você é brasileiro !?
Da Baía, carioca ou do interior ?  ;D

P:S: Não tem PSP da TecToy não ?

Neodreamer

Thanks for the info...i hope the future will be near ;)

danielt3

Hi folks

Just passing by to say about the PSP port. Investigation (still in course) shows that the PSP's dynamic linking system is unable to export single variables. Bad news. BennuGD is designed in such a way that global variables needs to be exported in some of the modules and libs. A possible workaround is to write getters/setters in every code module. I don't think this approach is good. My design goals are to touch the original code as little as possible.

The new approach I'm trying is to convert the code to static linking and then build a single executable with everything inside. This breaks the biggest advantages of dynamic linking (to be able to replace modules without recompiling and to load/unload code dynamically, thus saving precious RAM space). In PSP-Slim (3000+) we have a total 64Mbytes of RAM. If the whole stuff can fit in a reasonable memory space I will release a beta version as soons as I get all modules and libs to work correctly.

For now, it has become a makefile issue to recompile the code in static libs.

Cherrs and wait for more.

---

Daniel