emu-runner

Crates.ioemu-runner
lib.rsemu-runner
version0.1.1
sourcesrc
created_at2023-09-12 03:40:05.502193
updated_at2023-10-12 20:10:36.077199
descriptionCommand builder and executor for various emulators.
homepage
repositoryhttps://github.com/bigbass1997/emu-runner
max_upload_size
id970413
size34,169
Luke Stadem (bigbass1997)

documentation

README

License: MIT Crates.io Documentation

Description

emu-runner is a command builder intended to make it easier to run a wide range of emulators using a consistent interface. This utility attempts to handle any version differences automatically, such as determining how to execute a particular emulator depending on the current OS, or recognizing which CLI argument to use based on the version of the emulator.

For example, for any given version of FCEUX, it has multiple build types, all which contain different executable names, and two entirely different sets of CLI argument names. emu-runner simplifies this by providing an abiguous data structure:

let ctx = FceuxContext::new("path/to/emulator")?
    .with_lua("/a/lua/script.lua")
    .with_movie("SuperMario.fm2")
    .with_rom("roms/Super Mario Bros.nes");

ctx.run();

Current supported emulators include: BizHawk, FCEUX, and Gens.

Other emulator contexts can be made by implementing the EmulatorContext trait on your own types.

Commit count: 2

cargo fmt