Skip to content

MiraLib

Specter edited this page May 13, 2020 · 1 revision

Summary

The Assist API is an API to help bridge the gap between PC tools/applications and Mira for interacting with the PS4. It is used by tools included in the toolchain, such as the debugger, kernel log viewer, and other tools.

It has been separated into a library so it can be used by any 3rd party application that wants to use it. It is the official library to interact with Mira.

Currently, the library only supports C# and Python, however bindings for C, C++, Golang, and Rust are planned.

Available Language Bindings

  • C#
  • Python

Building

Build instructions are provided for each supported binding below.

C#

The C# binding is contained in a Visual Studio project. Building it is as simple as building the solution in Visual Studio.

build

Usage

Usages are provided for each of the supported bindings below. You can also feel free to check out the assistant project source code included in the toolchain for reference code on how the API can be used, especially for the C# binding.

C#

Step 1. In your project, add a reference to the library DLL by right clicking on the project and clicking "Add -> Reference", then browsing to the DLL location.

add reference

Step 2. Support the "add console" functionality by creating a button or other UI element, and set it's click event to invoke PS4_Assist_API.UI.addConsole();.

Toolstrip menu item example:

private void addConsoleToolStripMenuItem_Click(object sender, EventArgs e)
{
    PS4_Assist_API.UI.addConsole();
}

Step 3. Support the "connect console" functionality by creating a button or other UI element, and set it's click event to invoke MiraLib.selectConsole() to prompt the user to select a console to connect to.

Toolstrip menu item example:

private void connectConsoleToolStripMenuItem_Click(object sender, EventArgs e)
{
    Console console = PS4_Assist_API.UI.selectConsole();
    // ...
}

License

OpenOrbis. This project is licensed under the MIT license.

Contributors

  • kiwidog (Mira + RPC/Protobuf structs and guide)
  • Specter (MiraLib)
  • Various contributors to the Mira project