Unlocking the PSP's Dual Core setup. - Wololo.net
Skip to content
hardware / PSP
Unlocking the PSP’s Dual Core setup.
by Acid_Snake · June 16, 2026
Contrary to what Sony wanted everyone to believe, the PSP is not actually a single core setup, it is in fact a dual core setup, and PSP Guru m-cid is here to break it open.
Creator of PSP True Overclocking (one of the best features ever made in my not-so-humble opinion) and VSHGU (which still has untapped potential), m-cid has been restless unlocking the mysteries of the PSP’s Second Core, known as ME (short for Media Engine), and its incredibly rare co-processor VME (short for Virtual Mobile Engine), and what’s most important is the creation of new libraries that developers can make use of to enhance and boost the their homebrew with easy and enough abstraction to allow for seemless coding.
Knowledge of the PSP’s second MIPS core, ME, wasn’t exactly 100% a secret, ancient devs of the PSP scene (such as crazyc from ps2dev forums) had already done much tinkering, enough to execute code, but with several limitations due to lack of new discoveries such as a hardware spinlock. These new discoveries have been converted into convenient libraries and lots of very technical documentation that I will be linking at the end of the article for those curious enough.
In the world of Official Firmware (non-modified Sony’s original code), the Media Engine was inaccessible from user-mode, only the kernel could talk to and execute code on the ME, which was used mainly (as its name implies) for multimedia (audio and video) decoding (such as MP3, AT3, JPEG, MPEG, and other formats the PSP supports). Retail games could only ever issue system calls (such as "decode this mp3 audio packet") and Sony’s kernel was the one who handled everything related to the ME. It was clear from the start that Sony’s decision for hiding the ME behind kernel and only exposing pre-built functionality was to allow for further PSP revisions to drop the hardware in favor of a different one (similar to what they did to the PS2 IOP, but in that case it made later PS2s have less compatibility with PS1 and some PS2 games due to the IOP being fully accessible and usable by any retail game). While this never happened on the PSP itself, it did happen on the PS Vita, notorious for lacking the Media Engine, which makes it incompatible with PSP homebrew that make use of the ME (such as emulators).
An even weirder and much less documented piece of hardware that’s also been investigated is the VME, or Virtual Mobile Engine. The VME acts as a co-processor for the ME, and it’s what grants it the necessary power for real-time decoding of audio and video data. The VME is composed of various Processing Elements (PEs) connected by a data path, working as a microscopic network of PEs, all of which is configurable. This co-processor also seems to be useful for hardware-accelerated 64-bit integer math (which the main PSP CPU can’t do, as it’s a 32 bit MIPS core). Technical details about this co-processor is still being discovered and documented and real use-cases (such as helping get that extra few FPS on an emulator or port) are still being worked on.
Meanwhile, not everything are words and complex technical details, actual use cases for the ME (and most importantly, the easy-to-use libraries developed) have been successfully integrated into projects such as the Perfect Dark port (which we will talk about on another post). I will leave you with a bunch of very important and interesting links if you want to dig deeper into this topic:
https://github.com/mcidclan/psp-media-engine-custom-core/
https://github.com/mcidclan/psp-media-engine-safe-task
https://github.com/mcidclan/psp-media-engine-cracking-the-unknown/blob/main/the-vme-bitstream-and-datapath.md
Acid_Snake
I like beer.
8 Responses
Comments8
Pingbacks0
AciDBatH says:
June 16, 2026 at 3:58 pm
It’s always great to see new articles on here. Thank you Acid_Snake for continuing to contribute and for sharing your knowledge and opinions. I might not know much about coding but I always enjoy reading about how other people manage to find out things. I check here daily for anything new so it’s always exciting when there’s something new to read. Thank you all for making this site what it is. From PSP firmware 1.00, to Pandoras battery, from PSP save state vita hacks to enso, I’ve been coming here for years.
Reply
Max Holloway says:
June 17, 2026 at 1:03 am
comment
Reply
mcidclan says:
June 17, 2026 at 2:57 pm
Hi, thank you Acid for this article, and thanks wololo for keeping the scene alive. About the spinlock, the hardware register was already known. The personal work I did around it was more related to ‘how it works’ before sharing how to use it between the two CPUs, but I’m sure people like crazyc already knew this. Thanks again to the pioneers without whom none of this would have been possible
Reply
lollypop says:
June 19, 2026 at 4:42...