uOFW, the alternate Firmware project for the PSP

Some of you might have heard of uOFW, a project that aims at fully reverse-engineering OFW 6.60 on the PSP with the goal of writing an open source Firmware for our beloved device. Others might remember the Utopia project with a similar goal. Finally, most of you might wonder what the point of such a project would be, since we all have CFW on our PSPs… Today, in the hope of answering some of these questions, I’m interviewing Felix and Artart, the leads of one of the most ambitious projects on the PSP.

Wololo: Hi guys, could you describe the uOFW project in noob-friendly words? If I am a regular PSP user, what does this project do for me? What is its ultimate goal?

Felix & Artart: It’s quite a tough question, but although the project is very technical and not noob-friendly, its goals are very simple to understand.

uOFW is a project of reverse engineering the PSP firmware: in short, it means we are discovering how the PSP operating system works. In other words, it means we are looking into all the software which is used to make your PSP work as it does. From the binaries of this operating system (like a computer executable), we take its source code: it means we discover the way it works in a both human-readable and machine-readable way, in a conventional programming language (here, the C language).

As an end user, the project does nothing for now… we are “just” making a new PSP firmware, identical to the original one, but free of rights (it can be modified freely), and in a way which lets us modify it how we want. This means alternative firmwares may appear, opening your PSP to more opportunities and functionality… of course that part depends on what people will do with uOFW, not on uOFW itself. Still, with the documented source codes of the modules (and the working modules) we make adding new features to the firmware easier than ever before!

In addition, uOFW can also lead to progresses in emulators. As an example, the audio.prx module reverse engineering is heavily used in PCSP (practically untouched from what I heard), and it’s working perfectly.

A major part of the uOFW project is the documentation about the PSP modules and the PSP hardware itself. We intend to create the first compact archive of PSP hardware/kernel information. For now, a lot of information about it can already be found on the Internet, however, unfortunately, they cannot be found at a single place. Examples are the websites wololo.net and ps2dev, both being places where major information about the PSP can be found, but in many cases only in the form of bits and pieces, leaving much valuable information unfound (or can only be found after some search time). We want to change that with uOFW, adding module specific information right into the module’s source code. And it doesn’t end with that; we have setup a PSP wiki for the uOFW project as well, adding all information we find during reverse engineering which don’t get included into the source code.

Some information included in the uOFW documentations is very technical and thus aimed at hackers (people who would want to make low-level software for PSP or even, why not, a new firmware from scratch? Or porting linux? Bottom line: Everything is possible!) Even if you are not such a developer, but nonetheless interested in the PSPs inner works and want to know more about it, you should definitely check out the documentations added inside of a module’s source code, as they are aimed at explaining what is really going on. That means, not only C experts can get a grasp of what is going on but even every day PSP users.

Its final goal, shall we say, would be to completely reverse engineer the PSP firmware, resulting in having a completely open-source and modifiable firmware. However, we are aware of the fact that this objective is probably too high to be realistic (that is one reason why we are looking for more new contributors). Consequently, our goal is to reverse engineer all the most important modules (kernel ones, as opposed to VSH and utilities). This is a very long term project though… but the awesomeness of the project shall not stop us!

Wololo: What is the current status of the project? What can it do in its current state?

Felix & Artart: As for now, a few modules were reverse engineered. In its very basic form, as we said previously, it can’t do anything more than the original firmware; that is, you can use our “uOFW installer” to run our modules which work (only five are really working for now), and you won’t see any difference with the original firmware. However, it only seems to be the original firmware: actually, you’re partly running uOFW! (Let me just add that it is an awesome feeling to see “your” module running which you reverse engineered from scratch.)

The current five working modules are the controller module, the system timer module, the syscon module, the me_wrapper module and the LED module (although we still have to upload its working version). As you can see, we already finished some big numbers and we are looking forward to add more powerful modules to that list as time goes by.

These five modules are ready to be fully modified by anyone who wants to add new futures to the PSP’s kernel right away! Want some new, cool controller features? Just add them to the module, compile it and there you go! By this method, we can even continue releasing updates for the PSP and implement features, we, the users, really want; a point Sony did not always take into consideration.

We are hard at work to add more modules to the list of working modules and to provide even deeper looks inside the PSP kernel, however, we also have to emphasize that we (uOFW’s current main contributors) are very busy with real life for the foreseeable future and we would welcome every new contributor on board, bringing uOFW even further than it is right now! In other words: We need YOU! And don’t worry, if you have questions about reverse engineering or need help with a specific code block, we will happily help you out.

Wololo: That’s a nice transition to my next question: How many developers are actively working on this?

Felix & Artart: Currently, we are only four people actively working on it: Felix, Almost, artart78 and Omega2058. Some people just joined us, whereas others did a few libraries/modules for us but most likely won’t do anything more in a short time (Draan, jigsaw, mowglisanu, some1). While this list seems to be rather short, let us note that we have ongoing discussions with people (they are all excited to help uOFW coming together!) on IRC about PSP kernel details and specifications.

Wololo: How is uOFW different from an official firmware? How is it different from a CFW like Pro CFW? How is it different from a project like Utopia?

Felix & Artart: For its usage, uOFW is exactly like the official firmware; the only difference is that it’s understandable, modifiable, freely redistributable, etc….

A CFW is a modified official firmware… instead of reverse engineering the official firmware, its developers just understood SOME parts of the official firmware and replaced them by different ways, depending on what was needed.

For Utopia, you’ll need to search for long before finding a difference with uOFW, simply because there is none. The objective is the same! We just wanted to start again from scratch because Utopia was made on an old firmware (we are reverse engineering the latest firmware) and only a small part of it was code written in a way that would let us reuse it.

Furthermore, all its developers had abandoned the project; Mathieulh even had set the Utopia repository down for some time when there were legal issues with Sony. Considering all this, we found it easier to restart everything again from scratch, with a new team, new objectives, and with an improved organization. As the founders of the uOFW project, we are in full control of it and can listen to any suggestion made by you in order to make it even better!

To make a conclusion, uOFW is probably one of the most ambitious and interesting projects the PSP scene ever had!

Wololo: This does sound exciting indeed, if more devs want to participate, how can they contribute to uOFW?

By now, I hope we have already made you interested in uOFW, and, even better, interested in contributing to it. You will need some MIPS ASM/C knowledge in order to reverse engineer PSP modules and, of course, reverse engineering skills are needed as well. Now, if you don’t have the latter, don’t panic! Artart wrote an excellent guide about reverse engineering for the PSP and you should definitely check that out! It can be found at: http://psnpt.com/joomla/index.php/articles/39-tutorials.

Furthermore, we will add links (on the Github repository page) to MIPS online resources which you can use to improve your MIPS ASM skills.

If you want to take a look at uOFW’s current project status, check out its Github repository at: https://github.com/uofw/uofw

uOFW’s project page can be found at: http://dev.psnpt.com/redmine/projects/uofw

The doxygen documentation is located at: http://uofw.psnpt.com/sdkdoc/

uOFW’s wiki can be found at: http://dev.psnpt.com/redmine/projects/uofw/wiki/Wiki

If you want to join uOFW, you can always contact us through our emails:

Felix91’s email: FelixDev91@gmail.com
Artart78’s email: arthur.blot78@gmail.com

In addition, you can always contact us via IRC on the FreeNode server (irc.freenode.net) (join the channel #uofw).

    1. Rico’s avatar

      You are an idiot

      Reply

      1. Looney Tunes’s avatar

        I second that

        Reply

        1. Codestorm’s avatar

          I fourth that

          Reply

        2. MrBeaver’s avatar

          I’m in for that to Looney tunes, please go away from the internet Ftbs.

          Reply

    2. Selph’s avatar

      Ftbs=first to be shot?

      Reply

      1. Ftbs’s avatar

        Yes. Please use hollow points when you shoot me.

        Reply

    3. Ftbs’s avatar

      Sorry to piss you guys off, its just that I have no life so being first on an internet posting is all I have to live for :’(

      Reply

  1. john’s avatar

    I was thinking about it, there is no way to extract the psvita firmware and then change the psp firmware to the ecfw and then flash it on a psvita?

    Reply

  2. thanatosysp4r4d0x’s avatar

    AAAAAAHHHHHH!!! I can’t believe in what i’m seeing! IT’S A DREAM COMING TRUE!!! PSP´s becoming free of shackles! It´s even more and more valuable buy a PSP, even nowadays! It´s really the best portable device which exists…

    Reply

  3. Alex’s avatar

    This sounds amazing! If only I knew how to program… Thinking of starting now, but it’ll be a very long time before I’d be at the level required for this. :(

    Reply

    1. gunblade’s avatar

      sounds fun dough ….uofw. sounds good must have been fun on the reversenginering.. thks guys would be nice to have a psp go now sounds like emulations would be better last i heard windows on the psp still took a while to load lol.. would be cool to just have it on boot or jus ass an app..

      Reply

  4. stOneskull’s avatar

    the possibilities are only limited to hardware capabilities

    Reply

    1. gunblade’s avatar

      i long time thought of that when i first herd about how much ram the psp had i always wanted to add more to it.. hope this helps.. thinking it can…

      Reply

  5. psVitovic’s avatar

    imagine if one day psp’s would run linux and in the same time play psp games… and imagine if something like that happened to the psvita… psvita 3G would emediatly be the best selling device ever because the first thing to hack on it would be to make it a mobile phone – the thing that everybody expected before it got out… PSVITA 3G MOBILE PHONE – THE TRUE iPHONE KILLER

    Reply

  6. psVitovic’s avatar

    PSVITA 3G – SonyOS+AndroidOS… bye bye apple

    Reply

    1. gunblade’s avatar

      a vita n an htc nice combo.. apple got there retina display.. nintendo got controllers thats an ipad with buttons…

      Reply

  7. qwikrazor87’s avatar

    That is amazing. I hope the project reaches completion.

    Reply

  8. ricardo’s avatar

    I hope the same thing to happen with psvita in 3 years

    Reply

  9. errm’s avatar

    PSP is dead, post vita news

    Reply

    1. gunblade’s avatar

      but even sony has psp on the vita

      Reply

    2. Chrono’s avatar

      except in Japan

      Reply

  10. svenn’s avatar

    Linux on psp, we can dream can we ? Its nice they try, but it really looks like a un-do-able job. Howmuch developers have worked on OFW6.60 ? Howmany hours in just coding, now they wanne reverse it with <10 man ? Its a very nice idea, if i'd had the knowledge & time I'd contribute, but i fear it will end up as utopia, an empty 2 topic forum.

    Nevertheless, goodluck !

    Reply

    1. me’s avatar

      The PSP will only ever run ucLinux due to it’s lack of MMU and ucLinux is rather limited for a non-embedded device.

      Reply

  11. gunblade’s avatar

    well in one movie i watch a team of 4 coders got in to a computer system in five minutes…(good movie)..but yea would be sumtime since alot diferent firmware from 1.xx….

    Reply

    1. gunblade’s avatar

      but i think if i had time with psp sdk it would be fun n i seen utube videos wit psp with huge umd dive..

      Reply

  12. Pirate’s avatar

    It, will not end as utopia did at all.. If, i do remember correctly they have been doing this for a LONG time. I would dig up the topic on the form but i am lazy at the moment… This idea is beast so let’s keep it that way!

    Reply

  13. HIMFan’s avatar

    You put the last question asked by Wololo. But you didn’t put their names before the last answer. It just appears as though the question is asked and answered by Wololo.

    Reply

  14. Rios’s avatar

    This is an awesome project, good luck guys. ;)

    Reply

  15. juniorsinistro’s avatar

    FBA full,yes

    Reply

  16. Del_Inferno’s avatar

    So if the source code is released, China can make knock offs with complete firmware functionality…25 dollar PSP anyone?

    Reply

    1. mlc’s avatar

      even those knockoffs would presumably be dependent upon the pricing of the components… so more like 50 or 70 dollar PSP’s that are ever so slightly more likely to break. hardly a bargain when compared to the enormous number of used PSPs that are available and probably would be more dependable.

      I may be wrong though, it just seems absurd that all the components of a PSP would cost less than 50 bucks. (though I’m not accounting for quantity discounts and the scale of whichever counterfeiting operation does it, so maybe they could get their components for that little if they planned to make tons of fake PSPs)

      Reply

      1. Del_Inferno’s avatar

        Who knows really? I was just thinking that with all of this knowledge of how the system is operating they could make the most complete clone we have ever seen. Look at the clones of Nintendo systems! Im sure they could find cheap manufacturing.

        Reply

  17. Orochi’s avatar

    is it possible that we can run android ios like gingerbread or ics some alike it will be awesome but just impossible think so any thought about this

    Reply

    1. itsugawakun’s avatar

      i would say don’t go with an already made OS. create your own. even though android said to be open source, I would consider a totally new OS completely.

      Reply

  18. itsugawakun’s avatar

    utopia firmware comes up again xD

    Reply

  19. naki’s avatar

    I was just wondering where this project went… good that its still going strong :)

    Reply

  20. sgii’s avatar

    What does the “u” mean in “uOFW” ?

    Reply

    1. Kefkiroth’s avatar

      I assume “unOfficial Firmware.”

      Reply

  21. Dovahkiin’s avatar

    WOW! I thought this was dead…

    Reply

  22. KryptikZ’s avatar

    Cantcha make a Software Flasher for ps3 without using those flashers?,im just wondering

    Reply

  23. auron’s avatar

    this is cool, but couldn’t they RE the vita and put a cfw on it.

    Reply

  24. Madblaster6’s avatar

    I don’t understand. I don’t see a use for this on 7 year old system.

    Reply

  25. chris’s avatar

    I wonder, could this possibly be ran on a PSP with the newer motherboard that has the newer IPL? If so, then this could be what late PSP 2000, PSP 3000, and PSP GO owners have been waiting for.

    Reply

    1. wololo’s avatar

      I think for newer motherboards this would need an exploit first, just like LCFWs do

      Reply

      1. chris’s avatar

        Ah, I see. Understood sir! :) Let the waiting begin. This could unlock many new possibilities for the PSP from what I read. I’m interested in this project and I fully support the motive these guys have! From what I gathered from the information provided here, this could allow us to do things from a simple rearrangement of the PSP XMB icons, all the way to an entirely fully custom menu coded from scratch! There would be more possibilities than that as well. It’s almost unbelievable. :) Well, looks like I have something I can look forward to messing around with after my college degrees in engineering and computer programming are all taken care of. :)

        Reply

  26. Pirate’s avatar

    Well, it is essentially just overwriting the current firmware files. So we could just reuse the 6.60 exploit to update it with this Firmware.

    Reply

  27. ProfX’s avatar

    By the looks of it the code hasn’t been updated in 2 months what a shame

    Reply

    1. Felix’s avatar

      A not-updated GIT repository does not necessarily mean that nothing is going on behind the lines. We are working on a few modules right now, however, we are very busy with real life as well (as pointed out in the interview). Our aim is to upload “high-quality” source codes of modules (best case: the reversed engineered module runs on your PSP without any flaws) and this takes some time. We could commit some new code files right now, but they wouldn’t be of much use as they are in-complete and missing a lot of important information, making them hard to understand. More contributors definitely would speed up the uOFW project and thus could result in more repository updates then right now.

      Reply

  28. Raikiri’s avatar

    Nice article indeed. Thanks.

    Reply

Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>