It’s been a while since I have written a post on this blog, and Wololo’s recent coming out of retirement has sparked my interest in doing what I like: to talk about PSP development.
While my initial idea was to create a series of blog posts where I document as much as I can about PSP hacking and CFW development. I ended up deciding to start with a much milder topic for all audiences.
There has been rumours but I guess this pretty much confirms it. Both Adrenaline and ARK are receiving huge updates, Versions 8 and 5 respectively. And there’s a reason why they are both being developed at the same time.
Shared Code and Unified API
For a while now both ARK and Adrenaline developers have been sharing ideas, code, and know-how. One of the ideas that was brought to the table was the usage of the newest, still-in-development, still-maintained, PSP SDK.
But it didn’t just end up there, since to create software for PSP Custom Firmware (such as plugins, and including the CFW itself) there has to be an extension to the PSPSDK, this used to be called the M33SDK, which we have evolved into psp-cfw-sdk, a package that is now installed by default with the PSPSDK itself.
Another important refactor has been the Pentazemin module, which was created in ARK-4 as a compatibility layer that allowed ARK to work under Adrenaline, has now been moved onto Adrenaline itself. This made sense, as Pentazemin was a simplified version of Adrenaline’s SystemControl module (the heart of the CFW). Meaning this code was of Adrenaline origin and was heavily outdated compared to newer Adrenaline versions (Pentazemin was made years ago, Adrenaline kept being updated). By moving Pentazemin back to Adrenaline, we ensure that ARK will always use the latest code from Adrenaline itself. At the same time, duplicated code between Pentazemin and Adrenaline’s SystemControl has been eliminated (in favour of Pentazemin), so now Adrenaline also uses Pentazemin.
Finally, Adrenaline is now capable of loading ARK from scratch (no longer needing external loaders), with an option to switch between EPI and ARK being added to Adrenaline Settings Menu. The name EPI (short for Epinephrine, the main compound of Adrenaline) is the new nickname given to Adrenaline’s CEF (Custom Emulated Firmware), which is based on the old TN-CEF that was still used up to Adrenaline 7. This change of nickname represents a huge update in Adrenaline’s CEF as it has been heavily modified to make it up to date with modern standards set by ARK-4, such as the usage of the newer PLUGINS.TXT format as well as internal API functions, ensuring that any plugin can and will work on both CFWs without any compatibility issue.
Revamped XMB and Enhanced VSH Plugins
One of the first things that users come across with is the XMB, the native PSP interface. Traditional CFWs would make use of something called ‘VSH Menu’, a custom-made menu that would pop up when you pressed the Select button.

This menu has been carried over ever since it first appeared, with minor changes to the code-base, and relying on software-based drawing, making it very limited and ugly.
The solution was actually figured out by Total_Noob (now known as TheFl0w), who created XMBControl as a more native way to add custom configuration to the XMB. With proper improvements to the code, we can have this module fully replace the old VSH Menu.
To further improve upon the possibilities of what can be done in the XMB, fellow developer ‘m-cid’ has figured out the magic necessary to do hardware-accelerated drawing on top of the XMB, creating this fantastic 3D spinning cube demo that’s included with ARK-5 as a replacement of what used to be the VSH Menu.
Since this is all included on the CFW, it it fairly easy to expose an API for plugins to take advantage of this, allowing all sorts of new plugins to draw graphics on the XMB with a much simpler system.
New Developments on the PSP
To my own surprise I can very happily say that the PSP has still lots of things to surprise us with. There are many devs all working towards improving what we already have, from a plugin that promises reduced game scanning times on the XMB, ports of N64 games such as Perfect Dark and Ocarina of Time, to new developments related to the ever mysterious Media Engine and VME co-processors, and the quest for a stable CPU overclock (frequencies above the 333MHz maximum we’ve always known about). But these are best reserved for their own posts.







