bigbass1997 / emu-runner

Command builder to ease the automation of various emulators.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

Command builder to ease the automation of various emulators.

License:MIT License


Languages

Language:Rust 90.4%Language:Shell 9.6%