This repository gathers links to recent samples and code examples related to the PSP Media Engine. These samples are the result of personal exploration, trial and error, some hardware-level investigation, and occasional reverse engineering when needed. The approach has been mostly empirical, driven by experimentation and curiosity.
The goal is to share findings and references that might be useful to others interested in working with the PSP's Media Engine.
-
Transfering data between main memory and the vme/dsp internal 24-bit buffers
https://github.com/mcidclan/vme-primary-dmac -
Minimal reset handler
https://github.com/mcidclan/me-minimal-handler -
Hardware spinlock as a mutex between both CPUs
https://github.com/mcidclan/me-spinlock -
Using DMACPlus for transferring data between both CPUs
https://github.com/mcidclan/me-dmacplus-transfer
https://github.com/mcidclan/me-dmacplus-sc2me-then-me2sc
https://github.com/mcidclan/me-dmacplus-me2sc -
Simple counter using shared uncached memory
https://github.com/mcidclan/me-simple-count -
Writing to the same displayed framebuffer from both CPUs
https://github.com/mcidclan/me-sharing-drawing -
Sending software interrupts between both CPUs
https://github.com/mcidclan/me-soft-interrupt -
Requesting the Media Engine-hosted AVC hardware module to perform hardware colorspace conversion.
https://github.com/mcidclan/me-avc-csc-hd -
Requesting the VME to perform hardware colorspace conversion
https://github.com/mcidclan/me-vme-csc-hd-992x992
https://github.com/mcidclan/me-vme-hardware-csc -
Writing and updating a GE list concurrently from both CPUs
https://github.com/mcidclan/me-feed-graphics-engine -
Just a tiny lib
https://github.com/mcidclan/me-tiny-lib
m-c/d