6 .Nd file containing settings for
12 .Pa $HOME/.dgen/dgenrc
15 when the emuator is started. It is used to set controller keys, as well as other
16 characteristics of the emulation. The contents of this file may be overriden
17 with the contents of another similarly-formatted file, via the
21 Each rc file consists of an unlimited number of lines, which each have the
22 format 'fieldname = value'. A line may also be a comment, if it begins with the
23 hash mark (#) character.
27 is prepended by a name, which identifies the type of this field:
28 .Bl -tag -width bool_*
30 A key value. May be set to a key identifier listed in the
34 A boolean value. "false", "no", and "0" values are taken as false, while
35 "true", "yes", and any number except 0 are taken as true.
37 An integer value, greater than or equal to 0.
40 Some fields take special value sets, which are addressed in their respective
41 sections. None of the field names or values are case-sensitive.
43 The fields fall under a few basic groups. They are listed below, with their
44 default values in brackets ([]):
48 .It key_pad1_down [down]
49 .It key_pad1_left [left]
50 .It key_pad1_right [right]
57 .It key_pad1_mode [backspace]
58 .It key_pad1_start [return]
59 Map keys to the first Genesis controller. Each of these fields has a
60 corresponding "key_pad2" field, to map to the second controller.
61 .It bool_joystick [false]
62 Use joysticks to emulate the controllers. Note that the keyboard keys will
63 still work if this value is set. This field is only available if you have
64 joystick support enabled.
66 Maps button number Y, on joystick X to a Genesis controller button. Valid
67 button values are "a", "b", "c", "x", "y", "z", "mode", and "start". Joystick
68 1 will always emulate controller 1, and joystick 2 will always emulate
74 Enable the sound subsystem.
75 .It int_soundrate [22050]
76 Sound frequency to play at, in hertz (Hz).
78 Use 16-bit sound. If this is false, sound will be condensed to 8-bit (which
79 causes a speed penalty).
81 Number of sound segments to use for sound buffering. Choosing a lower value will
82 lower the sound latency, but may cause performance to hiccup if set too low.
83 Should be a power of two from 4 to 32.
87 .It bool_opengl [false]
88 Use the OpenGL renderer, if it is available.
89 .It int_opengl_width [640]
90 The width of the OpenGL window to use.
91 .It int_opengl_height [480]
92 The height of the OpenGL window to use.
93 .It bool_fullscreen [false]
94 Try to run fullscreen, if possible.
96 Amount by which to scale the window from the default 320x240 resolution. This
97 does not affect the OpenGL renderer; it only has effect if the software
99 .It key_fullscreen_toggle [alt-enter]
100 Key to toggle fullscreen mode (this may do nothing if SDL doesn't support
101 fullscreen toggling on your platform.)
106 Sets the current save-state slot to number X.
108 Saves state to the current slot.
110 Loads state from the current slot.
112 .Sh MISCELLANEOUS KEYS
114 .It key_fix_checksum [f1]
115 Fixes the checksum value. Some older games will freeze with a red screen if
116 the ROM has been hacked or modified with Game Genie codes. If it does, pressing
117 this, and resetting should fix the problem.
118 .It key_quit [escape]
120 .It key_craptv_toggle [f5]
121 Toggles Crap-TV image filters. So far, these filters are only available if
122 DGen was compiled with the x86 assembly routines.
124 Restart the Genesis emulation.
125 .It key_cpu_toggle [f11]
126 Switch CPU emulators. The x86 assembly CPU emulator StarScream is fast, but
127 has glitches which affect a few games. Switching to the slower Musashi core
128 will fix these problems, at a speed penalty.
130 Pause emulation, so you can concentrate on real life for a few seconds. :)
131 .It key_screenshot [f12]
136 .It bool_autoload [false]
137 Automatically load the saved state from slot 0 when DGen starts.
138 .It bool_autosave [false]
139 Automatically save the saved state to slot 0 upon exit. Setting both of these
140 fields true, you can exit DGen, and automatically start a game where you left
141 off when you start it again.
142 .It bool_frameskip [true]
143 Automatically skip frames, when it is necessary to maintain proper emulation
144 speed. This has no effect if sound is enabled, as the sound loop skips frames
145 automatically to maintain constant sound speed.
146 .It bool_fullscreen [false]
147 Run in fullscreen mode, if it is available.
149 Amount by which to scale the window. Setting this to 2 will double the
150 dimensions of the window, 3 will triple it, and so on. It must be a positive
152 .It bool_opengl [false]
153 Use OpenGL mode to render the screen, if available.
154 .It int_opengl_width [640]
155 Width of the OpenGL resolution to use.
156 .It int_opengl_height [480]
157 Height of the OpenGL resolution to use.
159 If set to a non-zero value, DGen will call
161 with the specified parameter
162 after rendering each frame. This will slow the program down (if it is running
163 too fast on your computer), and allow the operating system to reclaim some
167 See the file "sample.dgenrc" in the DGen/SDL distribution.
169 A key identifier can have the prefixes "shift-", "ctrl-", "alt-" and "meta-",
170 or any combination thereof, to require that the specified modifier be pressed
171 in combination with the key. For example, the identifier "alt-enter" would
172 correspond to holding down the Alt key while pressing Enter.
174 The numbers "0" through "9" ("kp_0" through "kp_9" for the numeric keypad),
175 letters "A" through "Z", and function keys "F1" through "F12" map to their key
177 In addition, the following identifiers map to their similarly-labeled key
178 counterparts. Identifiers on the same line map to the same key:
179 .Bd -literal -offset indent
195 scrollock scroll_lock
216 kp_pagedown kp_page_down
241 This manual page was written by
242 .An Joe Groff Aq joe@pknet.com .