Import Debian changes 1.23-12
[debian-dgen.git] / dgenrc.5
blobd6f88171df415b70668e95579545ca2e8f4ce46e
1 .Dd February 21, 2001
2 .Dt DGENRC 5
3 .Os
4 .Sh NAME
5 .Nm dgenrc
6 .Nd file containing settings for
7 .Xr dgen 1
8 .Sh SYNOPSIS
9 $HOME/.dgen/dgenrc
10 .Sh DESCRIPTION
11 The file
12 .Pa $HOME/.dgen/dgenrc
13 is parsed by
14 .Xr dgen 1
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
18 .Fl r
19 commandline switch.
20 .Sh FILE FORMAT
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.
24 .Pp
25 Each
26 .Ar fieldname
27 is prepended by a name, which identifies the type of this field:
28 .Bl -tag -width bool_*
29 .It Ar key_*
30 A key value. May be set to a key identifier listed in the
31 .Sx KEY INDENTIFIERS
32 section below.
33 .It Ar bool_*
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.
36 .It Ar int_*
37 An integer value, greater than or equal to 0.
38 .El
39 .Pp
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.
42 .Pp
43 The fields fall under a few basic groups. They are listed below, with their
44 default values in brackets ([]):
45 .Sh CONTROLLERS
46 .Bl -tag -width xxxx
47 .It key_pad1_up [up]
48 .It key_pad1_down [down]
49 .It key_pad1_left [left]
50 .It key_pad1_right [right]
51 .It key_pad1_a [a]
52 .It key_pad1_b [s]
53 .It key_pad1_c [d]
54 .It key_pad1_x [q]
55 .It key_pad1_y [w]
56 .It key_pad1_z [e]
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.
65 .It joypadX_bY
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
69 controller 2.
70 .El
71 .Sh AUDIO
72 .Bl -tag -width xxxx
73 .It bool_sound [true]
74 Enable the sound subsystem.
75 .It int_soundrate [22050]
76 Sound frequency to play at, in hertz (Hz).
77 .It bool_16bit [true]
78 Use 16-bit sound. If this is false, sound will be condensed to 8-bit (which
79 causes a speed penalty).
80 .It int_soundsegs [8]
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.
84 .El
85 .Sh VIDEO
86 .Bl -tag -width xxxx
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.
95 .It int_scale [1]
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
98 renderer is in use.
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.)
103 .Sh SAVE STATES
104 .Bl -tag -width xxxx
105 .It key_slot_X [X]
106 Sets the current save-state slot to number X.
107 .It key_save [f2]
108 Saves state to the current slot.
109 .It key_load [f3]
110 Loads state from the current slot.
112 .Sh MISCELLANEOUS KEYS
113 .Bl -tag -width xxxx
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]
119 Exit DGen.
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.
123 .It key_reset [tab]
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.
129 .It key_stop [z]
130 Pause emulation, so you can concentrate on real life for a few seconds. :)
131 .It key_screenshot [f12]
132 Take a screenshot.
134 .Sh PREFERENCES
135 .Bl -tag -width xxxx
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.
148 .It int_scale [1]
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
151 integer.
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.
158 .It int_nice [0]
159 If set to a non-zero value, DGen will call
160 .Xr usleep 3
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
164 CPU time.
166 .Sh EXAMPLES
167 See the file "sample.dgenrc" in the DGen/SDL distribution.
168 .Sh KEY IDENTIFIERS
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
176 equivalents.
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
180 escape
181 backspace
183 capslock        caps_lock
184 lshift          shift_l
185 rshift          shift_r
186 lctrl           ctrl_l
187 lmeta           meta_l
188 lalt            alt_l
189 ralt            alt_r
190 rmeta           meta_r
191 rctrl           ctrl_r
192 return          enter
193 space
195 scrollock       scroll_lock
196 numlock         num_lock
198 insert
199 home
200 page_up         pageup
201 delete
203 page_down       pagedown
204 left
205 right
207 down
209 kp_home
210 kp_up
211 kp_pageup       kp_page_up
212 kp_left
213 kp_right
214 kp_end
215 kp_down
216 kp_pagedown     kp_page_down
217 kp_insert
218 kp_delete       kp_period
220 kp_enter
221 kp_divide
222 kp_minus
223 kp_multiply
224 kp_plus
226 `       ~
227 -       _
228 =       +
229 \       |
230 [       {
231 ]       }
232 :       ;
233 '       "
234 ,       <
235 \.      >
236 /       ?
238 .Sh SEE ALSO
239 .Xr dgen 1
240 .Sh AUTHORS
241 This manual page was written by
242 .An Joe Groff Aq joe@pknet.com .