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!
Add this to your Cargo.toml
:
[lib]
crate-type = ["cdylib"]
[dependencies]
libretro-backend = "0.2"
and this to your crate root:
#[macro_use]
extern crate libretro_backend;
then just implement the Core trait:
struct Emulator {
// ...
}
impl libretro_backend::Core for Emulator {
// ...
}
and use a macro:
libretro_core!( Emulator );
For a full example you can check out this file, which is part of my NES emulator Pinky.
Licensed under either of
at your option.
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.