The file $HOME/.dgen/dgenrc is parsed by
dgen(1) when the emuator is started. It is used
to set controller keys, as well as other characteristics of the emulation. The
contents of this file may be overridden with the contents of another
similarly-formatted file, via the -r commandline
Each rc file consists of an unlimited number of lines, which each have the
format 'fieldname = value'. A line may also be a comment, if it begins with
the hash mark (#) character.
Each fieldname is prepended by a name, which
identifies the type of this field:
A key value. May be set to a key identifier listed in the
A boolean value. "false", "no", and
"0" values are taken as false, while "true",
"yes", and any number except 0 are taken as true.
An integer value, greater than or equal to 0.
Some fields take special value sets, which are addressed in their respective
sections. None of the field names or values are case-sensitive.
The fields fall under a few basic groups. They are listed below, with their
default values in brackets ():
Map keys to the first Genesis controller. Each of these
fields has a corresponding "key_pad2" field, to map to the
Use joysticks to emulate the controllers. Note that the
keyboard keys will still work if this value is set. This field is only
available if you have joystick support enabled.
Maps button number Y, on joystick X to a Genesis controller
button. Valid button values are "a", "b",
"c", "x", "y", "z",
"mode", and "start". Joystick 1 will always emulate
controller 1, and joystick 2 will always emulate controller 2.
Automatically load the saved state from slot 0 when DGen
Automatically save the saved state to slot 0 upon exit.
Setting both of these fields true, you can exit DGen, and automatically
start a game where you left off when you start it again.
Automatically skip frames, when it is necessary to maintain
proper emulation speed. This has no effect if sound is enabled, as the
sound loop skips frames automatically to maintain constant sound
Run in fullscreen mode, if it is available.
Amount by which to scale the window. Setting this to 2 will
double the dimensions of the window, 3 will triple it, and so on. It must
be a positive integer.
Use OpenGL mode to render the screen, if available.
Width of the OpenGL resolution to use.
Height of the OpenGL resolution to use.
If set to a non-zero value, DGen will call
usleep(3) with the specified parameter after
rendering each frame. This will slow the program down (if it is running
too fast on your computer), and allow the operating system to reclaim some
A key identifier can have the prefixes "shift-", "ctrl-",
"alt-" and "meta-", or any combination thereof, to require
that the specified modifier be pressed in combination with the key. For
example, the identifier "alt-enter" would correspond to holding down
the Alt key while pressing Enter.
The numbers "0" through "9" ("kp_0" through
"kp_9" for the numeric keypad), letters "A" through
"Z", and function keys "F1" through "F12" map to
their key equivalents. In addition, the following identifiers map to their
similarly-labeled key counterparts. Identifiers on the same line map to the