emu-runner 0.1.1

Command builder and executor for various emulators.
Documentation
  • Coverage
  • 21.43%
    15 out of 70 items documented0 out of 33 items with examples
  • Size
  • Source code size: 34.24 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 3.63 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 11s Average build duration of successful builds.
  • all releases: 11s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • bigbass1997/emu-runner
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • bigbass1997

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.