- Joined
- Dec 9, 2017
- Messages
- 1,175
- Reaction score
- 1,620
- Trophies
- 3
- Age
- 96
- Location
- Wait, where do i live again ???
- XP
- 2,569
- Country

So the PSP is actually a multi-core system. Very interesting.
Here's a snippet of the article:
Source: Wololo.net
Here's a snippet of the article:
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.
Source: Wololo.net





