PINE (Protocol for Instrumentation of Emulators) is an IPC protocol designed
for embedded devices emulators, specifically video game emulators.
It has a small common subset of operations and additions that are platform specific. No obligation is given to implement the common operations although it is highly encouraged to aid in cross-compatibility of the protocol. You'll find in this repository the protocol standard(currently as a draft) along with the reference client implementation. The reference server implementation can be found in the PCSX2 project.
The reference implementation you'll find here is written in C++, although bindings in popular languages are available.
A small C++ client example is provided along with the API. It can be compiled
by executing the command
meson build && cd build && ninja in the folder
"example" that is included in the releases.
If you want to run the tests you'll have to do
meson build && cd build && meson test. This will require you to set
environment variables to correctly startup the emulator(s). Refer to
to see which ones.
Meson and ninja ARE portable across OSes as-is and shouldn't require any tinkering. Please refer to the meson documentation if you really want to use another generator, say, Visual Studio, instead of ninja.
-Gauvain "GovanifY" Roussel-Tarbouriech, 2020