Protocol for Instrumentation of Emulators
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
Gauvain Roussel-Tarbouriech 8eda811948
slot: setting main slot
pirms 3 nedēļām
bindings rpcs3: init pirms 3 nedēļām
src slot: setting main slot pirms 3 nedēļām
standard standard: finalizing the draft pirms 3 nedēļām
utils implement msgversion pirms 9 mēnešiem
.clang-format formatting, the return pirms 10 mēnešiem
.gitignore rust bindings pirms 10 mēnešiem
Doxyfile docs: update them, merge PCSX2 initializers into one pirms 3 nedēļām
Jenkinsfile argh pirms 10 mēnešiem
LICENSE better tests, headless tests, idk man bunch of stuff pirms 10 mēnešiem readme: mention the standard pirms 3 nedēļām better tests, headless tests, idk man bunch of stuff pirms 10 mēnešiem
gcovr.cfg naming: initial switch to pine pirms 3 nedēļām vle: slowly getting the first implementation working pirms 3 nedēļām

PINE Reference Implementation

build tests coverage

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 src/tests.cpp 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.

On Doxygen you can find the documentation of the C++ API [here](@ref PINE).
The C API is documented [here](@ref bindings/c/c_ffi.h) and is probably what you want to read if you use language bindings.

Have fun!
-Gauvain "GovanifY" Roussel-Tarbouriech, 2020