comparison README @ 1014:ef923c4b8977

More README updates
author Michael Pavone <pavone@retrodev.com>
date Mon, 02 May 2016 18:27:07 -0700
parents f2f983e262e2
children 216fa63749b3
comparison
equal deleted inserted replaced
1013:f2f983e262e2 1014:ef923c4b8977
15 This version of BlastEm has an experimental GUI that is implemented as a Genesis 15 This version of BlastEm has an experimental GUI that is implemented as a Genesis
16 ROM running inside the emulator. This UI can be operated with either a mouse or 16 ROM running inside the emulator. This UI can be operated with either a mouse or
17 the first emulated gamepad. By default, both the keyboard and the first game 17 the first emulated gamepad. By default, both the keyboard and the first game
18 controller are mapped to said gamepad. For more information on bindings see the 18 controller are mapped to said gamepad. For more information on bindings see the
19 Bindings section. 19 Bindings section.
20
21 20
22 Some operations are currently only supported through the command line. To get a 21 Some operations are currently only supported through the command line. To get a
23 list of supported command line options on Linux or OSX type: 22 list of supported command line options on Linux or OSX type:
24 23
25 ./blastem -h 24 ./blastem -h
108 vsync, please see the VSync section at the bottom of the README. 107 vsync, please see the VSync section at the bottom of the README.
109 108
110 Audio 109 Audio
111 ----- 110 -----
112 111
113 The audio section contains settings that affect the audio output of BlastEm 112 The audio section contains settings that affect the audio output of BlastEm.
114 113
115 "rate" selects the preferred sample rate for audio output. Your operating 114 "rate" selects the preferred sample rate for audio output. Your operating
116 system may not accept this value in which case a different rate will be chosen. 115 system may not accept this value in which case a different rate will be chosen.
117 This should generally be either the native sample rate of your sound card or an 116 This should generally be either the native sample rate of your sound card or an
118 integral divisor of it. Most modern sound cards have a native output rate that 117 integral divisor of it. Most modern sound cards have a native output rate that
125 "lowpass_cutoff" controls the cutoff, or knee, frequency of the RC-style 124 "lowpass_cutoff" controls the cutoff, or knee, frequency of the RC-style
126 low-pass filter. The default value of 3390 Hz is supposedly what is present in 125 low-pass filter. The default value of 3390 Hz is supposedly what is present in
127 at least some Genesis/Megadrive models. Other models reportedly use an even 126 at least some Genesis/Megadrive models. Other models reportedly use an even
128 lower value. 127 lower value.
129 128
129 Clocks
130 ------
131
132 The clocks section contains settings that affect how fast things run.
133
134 "m68k_divider" describes the relationsip between the master clock (which is
135 53693175 Hz for NTSC mode and 53203395 Hz for PAL mode). The default value of 7
136 matches the real hardware. Set this to a lower number to overclock the 68000
137 and set it to a higher number to underclock it.
138
139 "max_cycles" controls how often the system is forced to synchronize all
140 hardware. BlastEm generally uses a sync on demand approach to synchronizing
141 components in the system. This can provide perfect synchronization for most
142 components, but since the Z80 can steal cycles from the 68000 at unpredictable
143 times 68000/Z80 synchronization is imperfect. The default value of 3420
144 corresponds to the number of master clock cycles per line. Larger numbers may
145 produce a modest performance improvement whereas smaller numbers will improve
146 68000/Z80 synchronization.
147
148 "speeds" controls the speed of the overall emulated console at different
149 presets. Preset 0 is the default speed and should normally be set to 100. The
150 other presets enable the slow/turbo mode functionality.
151
152 UI
153 --
154
155 The UI section contains settings that affect the graphical user interface.
156
157 "rom" determines the path of the Genesis/Megadrive ROM that implements the UI.
158 Relative paths will be loaded relative to the BlastEm executable.
159
160 Other Settings
161 --------------
162
163 "default_region" determines the console region that will be used when region
164 detection fails and when there are multiple valid regions. The default of 'U'
165 specifies a 60Hz "foreign" console.
166
130 Debugger 167 Debugger
131 -------- 168 --------
132 169
133 BlastEm has an integrated command-line debugger loosely based on GDB's 170 BlastEm has an integrated command-line debugger loosely based on GDB's
134 interface. The interface is very rough at the moment. Available commands in the 171 interface. The interface is very rough at the moment. Available commands in the
135 68K debugger are: 172 68K debugger are:
136 b ADDRESS - Set a breakpoint at ADDRESS 173 b ADDRESS - Set a breakpoint at ADDRESS
137 d BREAKPOINT - Delete a 68K breakpoint 174 d BREAKPOINT - Delete a 68K breakpoint
138 di[/(x|X|d|c)] VALUE - Print a register or memory location when a 175 co BREAKPOINT - Run a list of debugger commands each time
139 breakpoint is hit 176 BREAKPOINT is hit
140 co BREAKPOINT - Run a list of debugger commands when BREAKPOINT is
141 hit
142 a ADDRESS - Advance to address 177 a ADDRESS - Advance to address
143 n - Advance to next instruction 178 n - Advance to next instruction
144 o - Advance to next instruction ignoring branches to 179 o - Advance to next instruction ignoring branches to
145 lower addresses (good for breaking out of loops) 180 lower addresses (good for breaking out of loops)
146 s - Advance to next instruction (follows bsr/jsr) 181 s - Advance to next instruction (follows bsr/jsr)
147 c - Continue 182 c - Continue
148 bt - Print a backtrace 183 bt - Print a backtrace
149 p[/(x|X|d|c)] VALUE - Print a register or memory location 184 p[/(x|X|d|c)] VALUE - Print a register or memory location
185 di[/(x|X|d|c)] VALUE - Print a register or memory location each time
186 a breakpoint is hit
150 vs - Print VDP sprite list 187 vs - Print VDP sprite list
151 vr - Print VDP register info 188 vr - Print VDP register info
152 zb ADDRESS - Set a Z80 breakpoint 189 zb ADDRESS - Set a Z80 breakpoint
153 zp[/(x|X|d|c)] VALUE - Display a Z80 value 190 zp[/(x|X|d|c)] VALUE - Display a Z80 value
154 q - Quit BlastEm 191 q - Quit BlastEm
157 de BREAKPOINT - Delete a Z80 breakpoint 194 de BREAKPOINT - Delete a Z80 breakpoint
158 a ADDRESS - Advance to address 195 a ADDRESS - Advance to address
159 n - Advance to next instruction 196 n - Advance to next instruction
160 c - Continue 197 c - Continue
161 p[/(x|X|d|c)] VALUE - Print a register or memory location 198 p[/(x|X|d|c)] VALUE - Print a register or memory location
162 di[/(x|X|d|c)] VALUE - Print VALUE before every debugger prompt 199 di[/(x|X|d|c)] VALUE - Print a register or memory location each time
200 a breakpoint is hit
163 q - Quit BlastEm 201 q - Quit BlastEm
164 202
165 The -d flag can be used to cause BlastEm to start in the debugger. 203 The -d flag can be used to cause BlastEm to start in the debugger.
166 Alternatively, you can use the ui.enter_debugger action (mapped to the 'u' key 204 Alternatively, you can use the ui.enter_debugger action (mapped to the 'u' key
167 by default) to enter the debugger while a game is running. 205 by default) to enter the debugger while a game is running. To debug the menu
206 ROM, use the -dm flag.
168 207
169 GDB Remote Debugging 208 GDB Remote Debugging
170 -------------------- 209 --------------------
171 210
172 In addition to the native debugger, BlastEm can also act as a GDB remote 211 In addition to the native debugger, BlastEm can also act as a GDB remote
203 stateview - GST save state viewer 242 stateview - GST save state viewer
204 243
205 VSync 244 VSync
206 ----- 245 -----
207 246
208 This section includes information 247 This section includes information about using VSync with BlastEm. As mentioned
248 above, the code is currently designed to only sync to audio and has some issues
249 with VSync as a result. That said, if your computer is fast enough and you
250 don't care about turbo mode, it can generally made to work.
251
252 The native refresh rate of an NTSC Genesis is approximately 59.92 Hz which is
253 probably not the native refresh rate of your monitor. Fortunately, it is
254 most likely lower than your refresh rate. As long as this is true, VSync will
255 generally work as long as your computer is fast enough to cope with the time
256 lost waiting for VSync and the audio buffer is large enough to not run out of
257 samples during that delay. Latency will suffer a bit and you'll get a doubled
258 frame, but things will be fine.
259
260 If you enable VSync and you're getting audio dropouts, first try doubling the
261 audio buffer setting. If you still experience dropouts, it's possible your
262 computer is not fast enough or that your monitor's actual refresh rate is in
263 fact lower than that of the emualted console. Not much can be done about the
264 former (apart from disabling VSync), but the latter can be dealt with by
265 lowering the default speed slightly in the "clocks" section.
266
267 A future release will support VSync in a less hacky fashion.
209 268
210 License 269 License
211 ------- 270 -------
212 271
213 BlastEm is free software distributed under the terms of the GNU General Public 272 BlastEm is free software distributed under the terms of the GNU General Public