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.
Invoke cargo build --release -prugby-cli
from anywhere within the repository
to build this frontend.
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).
Attempts to construct the provided ROM without performing any emulation. On success, ROM information is printed to the console.
Emulates the provided ROM. See options to customize emulation behaviour below.
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
Opens the manual page for the corresponding command. Can also be specified using
the alias man
.
When run, the program will load persistent configuration options from the first file found according to following precedence rules:
- Command-line option
--conf=<PATH>
. - Environment variable
RUGBY_CONF
. - 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.
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.
- 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
- Generate static files
- Features
- Change clock speed
- App settings
- Debugging
- Dynamic TUI application
- Interactive debug prompt
- Peek/poke memory
- Peek/poke registers
- CPU state log tracing
- Video RAM visualizer
For information regarding licensure, please see the project's README.