Skip to content

Interface for interacting with PlayStation 5 EMC and EFC

Notifications You must be signed in to change notification settings

manoma080/ps5-uart

 
 

Repository files navigation

Typical build

mkdir build && cd build && cmake -GNinja .. && cmake --build .

Outputs will be placed in bin/. You'll want to program your pi pico with bin/uart.uf2, then run tool.py. See uart/README.md for pico wiring instructions.

Usage

From tool.py interactive shell, emc.screset() will perform reset of syscon (EMC) and bring the rest of the board into consistent state. emc.unlock() runs the EMC exploit, which unlocks access to the full set of EMC commands (UCMD protocol).

emc.unlock_efc() will exploit EFC and load bin_blobs/uart_shell.cpp onto it. uart_client.py is used for interacting with uart_shell.cpp.

emc.load_eap() will exploit EAP and load bin_blobs/uart_shell.cpp onto it. uart_client.py is used for interacting with uart_shell.cpp.

About

Interface for interacting with PlayStation 5 EMC and EFC

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 51.9%
  • C++ 39.7%
  • CMake 4.2%
  • Assembly 2.9%
  • C 1.3%