Libretro API bindings for Rust

Documentation

This crate exposes idiomatic Rust API bindings to the excellent [libretro] API.

The target audience of this library are emulator authors who want to turn their emulator into a libretro core, which relieves them from the necessity of creating a full blown frontend for their emulator and allows them to concentrate on actual emulation.

In its current state there is still a lot of features missing, nevertheless it should be useful enough to create a basic emulator.

As always, contributions are welcome!

Getting started

Add this to your Cargo.toml:

```toml [lib] crate-type = ["cdylib"]

[dependencies] libretro-backend = "0.2" ```

and this to your crate root:

```rust

[macro_use]

extern crate libretro_backend; ```

then just implement the [Core trait]:

```rust struct Emulator { // ... }

impl libretro_backend::Core for Emulator { // ... } ```

and use a macro:

rust libretro_core!( Emulator );

For a full example you can check out [this file], which is part of my NES emulator [Pinky].

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.