Skip to content

Latest commit

 

History

History

cli

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

rugby-cli

supports Linux supports macOS supports Windows

This frontend provides a command-line interface (CLI) to quickly launch an emulator session right from your terminal. It has first-class support for all main features, including a full interactive debugger.

Build

Invoke cargo build --release -prugby-cli from anywhere within the repository to build this frontend.

Usage

Commands

As a single-binary application, rugby provides several useful commands (outlined below). To see usage information, run the executable with the -h flag (use --help for more detailed descriptions).

check

Attempts to construct the provided ROM without performing any emulation. On success, ROM information is printed to the console.

run

Emulates the provided ROM. See options to customize emulation behaviour below.

gen

Generates static files for the command-line application which are printed to console. Currently implements the following subcommands:

  • cfg: Configuration file.
  • cmp: Shell completions.
  • cfg: Manual pages.

Note

Save the contents of a generated file by piping the output of the command, e.g.:

rugby gen cfg > ~/.config/rugby/config.toml

help

Opens the manual page for the corresponding command. Can also be specified using the alias man.

Configuration

When run, the program will load persistent configuration options from the first file found according to following precedence rules:

  1. Command-line option --conf=<PATH>.
  2. Environment variable RUGBY_CONF.
  3. Default path $XDG_CONFIG_HOME/rugby/config.toml.

When options are specified in multiple locations, they will be applied with the following precedence: cli > env > file. This means these options may be overridden when running the program.

Any relative paths specified in this file are resolved relative to this file's parent directory. Use --conf on the command-line to provide an alternate location for this file.

The default configuration could either be found here, or generated with:

rugby gen cfg

Note

Configuration options are documented in the rugby-cfg crate.

Debugging

If rugby is launched with -i/--gbd, the program will instead present the Game Boy Debugger (GBD) prompt after initialization. In this mode, commands can be run to control and monitor execution of the console. While running with GBD enabled, CTRL-C could be used to interrupt emulation and present the prompt.

To list and get help with GBD, use the help command at the prompt or see its documentation.

Progress

  • Emulator
    • Audio
    • Joypad
      • Keyboard inputs
      • Custom bindings
    • Video
      • Custom palettes
  • Frontend
    • App settings
      • Configuration file
    • Command-line interface
      • Generate static files
        • Configuration file
        • Shell completions
        • Manual pages
    • Features
      • Change clock speed
  • Debugging
    • Dynamic TUI application
    • Interactive debug prompt
      • Peek/poke memory
      • Peek/poke registers
    • CPU state log tracing
    • Video RAM visualizer

License

For information regarding licensure, please see the project's README.