Mercurial > repos > blastem
annotate README @ 1971:80920c21bb52
Add an event log soft flush and call it twice per frame in between hard flushes to netplay latency when there are insufficient hardware updates to flush packets in the middle of a frame
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Fri, 08 May 2020 11:40:30 -0700 |
parents | 8aeac7bd9fa7 |
children | 92449b47cce8 |
rev | line source |
---|---|
1662 | 1 BlastEm 0.6.0 |
468 | 2 ------------- |
3 | |
4 Installation | |
5 ------------ | |
6 | |
1662 | 7 Extract this archive to a directory of your choosing. |
1066 | 8 |
9 NOTE: Prior to version 0.4.1, BlastEm was still using Unixy locations for config | |
10 and save files. If you're upgrading from a previous version on Windows, you will | |
11 need to move them manually. For config files, the relevant paths are in the | |
12 previous paragraph. For save files, move all the directories found in | |
13 %userprofile%\.local\share\blastem to %localappdata%\blastem | |
468 | 14 |
808
2953708d02af
Update README, CHANGELOG and version string for 0.3.1
Michael Pavone <pavone@retrodev.com>
parents:
785
diff
changeset
|
15 Usage |
2953708d02af
Update README, CHANGELOG and version string for 0.3.1
Michael Pavone <pavone@retrodev.com>
parents:
785
diff
changeset
|
16 ----- |
2953708d02af
Update README, CHANGELOG and version string for 0.3.1
Michael Pavone <pavone@retrodev.com>
parents:
785
diff
changeset
|
17 |
1662 | 18 This version of BlastEm has a GUI that allows access to most configuration options. |
19 Simply start BlastEm without passing a ROM filename on the command line to access | |
20 the main menu. You can also access the menu by hitting the button mapped to the ui.exit | |
21 action (default Esc). | |
22 | |
23 If Open GL is disabled or unavaible, or you explicitly request it, the old ROM-based UI | |
24 will be used instead. This UI does not support configuration so you will need to modify | |
25 the configuration file manually if you use it. See the rest of this README for instructions | |
26 on modifying the configuration file. | |
1013 | 27 |
28 Some operations are currently only supported through the command line. To get a | |
29 list of supported command line options on Linux or OSX type: | |
808
2953708d02af
Update README, CHANGELOG and version string for 0.3.1
Michael Pavone <pavone@retrodev.com>
parents:
785
diff
changeset
|
30 |
1066 | 31 ./blastem -h |
32 | |
808
2953708d02af
Update README, CHANGELOG and version string for 0.3.1
Michael Pavone <pavone@retrodev.com>
parents:
785
diff
changeset
|
33 From within your BlastEm directory. On Windows type: |
1066 | 34 |
35 blastem.exe -h | |
36 | |
1017
216fa63749b3
Added documentation for lock-on support and a fullscreen config option.
Michael Pavone <pavone@retrodev.com>
parents:
1014
diff
changeset
|
37 Lock-On Support |
216fa63749b3
Added documentation for lock-on support and a fullscreen config option.
Michael Pavone <pavone@retrodev.com>
parents:
1014
diff
changeset
|
38 --------------- |
216fa63749b3
Added documentation for lock-on support and a fullscreen config option.
Michael Pavone <pavone@retrodev.com>
parents:
1014
diff
changeset
|
39 |
216fa63749b3
Added documentation for lock-on support and a fullscreen config option.
Michael Pavone <pavone@retrodev.com>
parents:
1014
diff
changeset
|
40 This version of BlastEm has some preliminary support for Sonic & Knuckles lock |
1442
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
41 on technology. This is available via both the menu and the command line. To use |
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
42 it from the menu, first load Sonic & Knuckles normally. Enter the menu (mapped |
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
43 to the Escape key by default) and select the "Lock On" option to select a ROM |
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
44 to lock on. The system will then reload with the combined game. To use it from |
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
45 the command line, specify the Sonic & Knuckles ROM as the primary ROM and |
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
46 specify the ROM to be locked on using the -o option. As an example: |
1017
216fa63749b3
Added documentation for lock-on support and a fullscreen config option.
Michael Pavone <pavone@retrodev.com>
parents:
1014
diff
changeset
|
47 |
1066 | 48 ./blastem ~/romz/sonic_and_knuckles.bin -o ~/romz/sonic3.bin |
49 | |
1442
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
50 Please note that Sonic 2 lock-on does not work at this time. |
808
2953708d02af
Update README, CHANGELOG and version string for 0.3.1
Michael Pavone <pavone@retrodev.com>
parents:
785
diff
changeset
|
51 |
468 | 52 Configuration |
53 ------------- | |
54 | |
1066 | 55 Configuration is read from the file at $HOME/.config/blastem/blastem.cfg on |
56 Unix-like systems and %localappdata%\blastem\blastem.cfg if it exists. | |
57 Othwerise it is read from default.cfg from the same directory as the BlastEm | |
58 executable. Sections are denoted by a section name followed by an open curly | |
59 bracket, the section's contents and a closing curly bracket. Individual | |
468 | 60 configuration values are set by entering the value's name followed by a space |
61 or tab and followed by the desired value. | |
62 | |
63 Bindings | |
64 -------- | |
65 | |
66 The keys subsection of bindings maps keyboard keys to gamepad buttons or UI | |
67 actions. The key name goes on the left and the action is on the right. | |
1066 | 68 Most keys are named for the character they produce when pressed. For keys that |
69 don't correspond to a normal character, check the list below: | |
70 | |
71 Name | Description | |
72 ----------------- | |
73 up Up arrow | |
74 down Down arrow | |
75 left Left arrow | |
76 right Right arrow | |
77 space | |
78 tab | |
79 backspace Backspace on PC keyboards, Delete on Mac keyboards | |
80 esc | |
81 delete | |
82 lshift Left shift | |
83 rshift Right shift | |
84 lctrl Left control | |
85 rctrl Right control | |
86 lalt Left alt on PC keyboards, Option on Mac keyboards | |
87 ralt Right alt on PC keyboards, Option on Mac keyboards | |
88 home | |
89 end | |
90 pageup | |
91 pagedown | |
92 f1 | |
93 f2 | |
94 f3 | |
95 f4 | |
96 f5 | |
97 f6 | |
98 f7 | |
99 f8 | |
100 f9 | |
101 f10 | |
102 f11 | |
103 f12 | |
104 select | |
105 play | |
106 search | |
107 back | |
468 | 108 |
1227
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
109 The pads subsection is used to map gamepads and joysticks. Gamepads that are |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
110 recognized, can have their buttons and axes mapped with semantic names. |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
111 Xbox 360, PS4 and PS3 style names are supported. Unrecognized gamepads can be |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
112 mapped using numeric button and axis ids. The following button names are |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
113 recognized by BlastEm: |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
114 a, cross |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
115 b, circle |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
116 x, square |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
117 y, trinagle |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
118 start, options |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
119 back, select, share |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
120 guide |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
121 leftbutton, l1 |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
122 rightbutton, r1 |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
123 leftstick, l3 |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
124 rightstick, r3 |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
125 The following axis names are recognized by BlastEm: |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
126 leftx |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
127 lefty |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
128 rightx |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
129 righty |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
130 lefttrigger, l2 |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
131 righttrigger, r2 |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
132 |
1013 | 133 |
134 The mice subsection is used to map mice to emulated Mega/Sega mice. The default | |
135 configuration maps both the first and second host mice to the first emulated | |
136 mouse. This should not need modification for most users. | |
137 | |
138 One special mapping deserves a mention. By default, the 'r' key is mapped to | |
139 ui.release_mouse. When operating in windowed mode the mouse has a capture | |
140 behavior. Mouse events are ignored until you click in the window. The mouse | |
141 will then be "captured" and the cursor will be both made invisible and locked | |
142 to the window. The ui.release_mouse binding releases the mouse so it can be | |
143 used normally. | |
144 | |
1353
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
145 UI Actions |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
146 ---------- |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
147 |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
148 This section lists the various "UI" actions that can be triggered by a key or |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
149 gamepad binding. |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
150 |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
151 ui.release_mouse Releases the mouse if it is currently captured |
1662 | 152 ui.plane_debug Toggles the VDP plane debug view |
153 ui.vram_debug Toggles the VDP VRAM debug view | |
154 ui.cram_debug Toggles the VDP CRAM debug view | |
155 ui.compositing_debug Toggles the VDP compositing debug view | |
156 ui.vdp_debug_mode Cycles the mode/palette of the VDP debug view | |
157 that currently has focus | |
1353
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
158 ui.enter_debugger Enters the debugger for the main CPU of the |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
159 currently emulated system |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
160 ui.screenshot Takes an internal screenshot |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
161 ui.exit Returns to the menu ROM if currently in a game |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
162 that was launched from the menu. Exits otherwise |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
163 ui.save_state Saves a savestate to the quicksave slot |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
164 ui.set_speed.N Selects a specific machine speed specified by N |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
165 which should be a number between 0-9. Speeds are |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
166 specified in the "clocks" section of the config |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
167 ui.next_speed Selects the next machine speed |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
168 ui.prev_speed Selects the previous machine speed |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
169 ui.toggle_fullscreen Toggles between fullscreen and windowed mode |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
170 ui.soft_reset Resets a portion of the emulated machine |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
171 Equivalent to pushing the reset button on the |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
172 emulated device |
1442
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
173 ui.reload Reloads the current ROM from a file and performs |
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
174 a hard reset of the emulated device |
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
175 ui.sms_pause Triggers a press of the pause button when in SMS |
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
176 mode |
1353
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
177 ui.toggle_keyboard_captured Toggles the capture state of the host keyboard |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
178 when an emulated keyboard is present |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
179 |
1013 | 180 IO |
181 -- | |
182 | |
183 This section controls which peripherals are attached to the emulated console. | |
184 IO assignments can be overridden by the ROM database when appropriate. For | |
185 instance, games with mouse support can automatically use the mouse and games | |
186 that only support 3-button pads can automatically force an appropriate pad. | |
187 Unforunately, the ROM database is not yet exhaustive so manual configuration | |
188 may be needed here in some cases. | |
468 | 189 |
190 Video | |
191 ----- | |
192 | |
1013 | 193 The video section contains settings that affect the visual output of BlastEm. |
194 | |
1353
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
195 "aspect" is used to control the aspect ratio of the emulated display. The |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
196 default of 4:3 matches that of a standard definition television. |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
197 |
1442
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
198 "width" is used to control the window width when not in fullscreen mode. |
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
199 |
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
200 "height" is used to control the window height when not in fullscreen mode. If |
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
201 left unspecified, it will be calculated from "width" and "aspect". |
1013 | 202 |
203 "vertex_shader" and "fragment_shader" define the GLSL shader program that | |
204 produces the final image for each frame. Shaders can be used to add various | |
205 visual effects or enhancements. Currently BlastEm only ships with the default | |
1442
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
206 shader and a "subtle" crt shader. If you write your own shaders, place them in |
1013 | 207 $HOME/.config/blastem/shaders and then specify the basename of the new shader |
208 files in the "vertex_shader" and "fragment_shader" config options. Note that | |
209 shaders are not available in the SDL fallback renderer. | |
210 | |
211 "scanlines" controls whether there is any emulation of the gaps between display | |
212 lines that are present when driving a CRT television with a 240p signal. This | |
213 emulation is very basic at the moment so this option is off by default. | |
214 | |
215 "vsync" controls whether the drawing of frames is synchronized to the monitor | |
216 refresh rate. Valid values for this setting are "off", "on" and "tear". The | |
217 latter will attempt to use the "late tear" option if it's available and normal | |
218 vsync otherwise. Currently it's recommended to leave this at the default of | |
1662 | 219 "off" as it may not work well with the default "audio" sync method and the |
220 "video" sync method will automatically enable "vsync". See "Sync Source and | |
221 VSync" for more details. | |
468 | 222 |
1017
216fa63749b3
Added documentation for lock-on support and a fullscreen config option.
Michael Pavone <pavone@retrodev.com>
parents:
1014
diff
changeset
|
223 "fullscreen" controls whether BlastEm starts in fullscreen or windowed mode. |
216fa63749b3
Added documentation for lock-on support and a fullscreen config option.
Michael Pavone <pavone@retrodev.com>
parents:
1014
diff
changeset
|
224 This can be overridden on the command line with the -f flag. If fullscreen |
216fa63749b3
Added documentation for lock-on support and a fullscreen config option.
Michael Pavone <pavone@retrodev.com>
parents:
1014
diff
changeset
|
225 is set to "off", -f will turn it on. Conversely, if fullscreen is set to "on" |
216fa63749b3
Added documentation for lock-on support and a fullscreen config option.
Michael Pavone <pavone@retrodev.com>
parents:
1014
diff
changeset
|
226 in the config, -f will turn it off. |
216fa63749b3
Added documentation for lock-on support and a fullscreen config option.
Michael Pavone <pavone@retrodev.com>
parents:
1014
diff
changeset
|
227 |
1353
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
228 "gl" controls whether OpenGL is used for rendering. The default value is on. |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
229 If it is set to off instead, the fallback renderer which uses SDL2's render API |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
230 will be used instead. This option is mostly useful for users on hardware that |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
231 lacks OpenGL 2 support. While BlastEm will fall back automatically even if gl |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
232 is set to on there will be a warning. Disabling gl eliminates this warning. |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
233 |
1442
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
234 "scaling" controls the type of scaling used for textures in both the GL and |
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
235 SDL renderers. Valid values are "nearest" and "linear". Note that shaders also |
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
236 impact how pixels are scaled. |
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
237 |
1352
90c9922b5430
Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents:
1227
diff
changeset
|
238 The "ntsc" and "pal" sub-sections control overscan settings for the emulated |
90c9922b5430
Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents:
1227
diff
changeset
|
239 video output for NTSC and PAL consoles respectively. More details are available |
90c9922b5430
Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents:
1227
diff
changeset
|
240 in the Overscan section. |
90c9922b5430
Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents:
1227
diff
changeset
|
241 |
90c9922b5430
Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents:
1227
diff
changeset
|
242 Overscan |
90c9922b5430
Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents:
1227
diff
changeset
|
243 -------- |
90c9922b5430
Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents:
1227
diff
changeset
|
244 |
90c9922b5430
Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents:
1227
diff
changeset
|
245 Analog televisions generally don't display the entirety of a video frame. Some |
90c9922b5430
Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents:
1227
diff
changeset
|
246 portion is cropped at the edges of the display. This is called overscan. |
90c9922b5430
Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents:
1227
diff
changeset
|
247 Unfortunately, the amount of cropping performed varies considerably and is even |
90c9922b5430
Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents:
1227
diff
changeset
|
248 adjustable on many TV sets. To deal with this, BlastEm allows overscan to be |
90c9922b5430
Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents:
1227
diff
changeset
|
249 customized. |
90c9922b5430
Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents:
1227
diff
changeset
|
250 |
90c9922b5430
Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents:
1227
diff
changeset
|
251 Overscan values are specified in the "ntsc" and "pal" sub-sections of the |
90c9922b5430
Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents:
1227
diff
changeset
|
252 "video" section of the config file. The "overscan" sub-section contains four |
90c9922b5430
Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents:
1227
diff
changeset
|
253 settings for specifying the number of pixels cropped on each side of the |
90c9922b5430
Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents:
1227
diff
changeset
|
254 display: "top", "bottom", "left" and "right". |
90c9922b5430
Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents:
1227
diff
changeset
|
255 |
90c9922b5430
Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents:
1227
diff
changeset
|
256 The default settings hide the horizontal border completely for both NTSC and |
90c9922b5430
Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents:
1227
diff
changeset
|
257 PAL consoles. For the vertical borders, the NTSC overscan settings are chosen |
90c9922b5430
Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents:
1227
diff
changeset
|
258 to give square pixels with the default aspect ratio of 4:3. For PAL, the |
90c9922b5430
Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents:
1227
diff
changeset
|
259 default settings are set so that the PAL-exclusive V30 mode will produce a |
90c9922b5430
Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents:
1227
diff
changeset
|
260 visible border that is the same size as what is shown in V28 mode in NTSC. This |
90c9922b5430
Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents:
1227
diff
changeset
|
261 results in a slightly squished picture compared to NTSC which is probably |
90c9922b5430
Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents:
1227
diff
changeset
|
262 appropriate given that a PAL display has more lines than an NTSC one. |
90c9922b5430
Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents:
1227
diff
changeset
|
263 |
468 | 264 Audio |
265 ----- | |
266 | |
1014 | 267 The audio section contains settings that affect the audio output of BlastEm. |
1013 | 268 |
269 "rate" selects the preferred sample rate for audio output. Your operating | |
270 system may not accept this value in which case a different rate will be chosen. | |
271 This should generally be either the native sample rate of your sound card or an | |
272 integral divisor of it. Most modern sound cards have a native output rate that | |
273 is a multiple of 48000 Hz so the default setting should work well for most users. | |
274 | |
275 "buffer size" controls how large of a buffer uses for audio data. Smaller values | |
276 will reduce latency, but too small of a value can lead to dropouts. 512 works | |
277 well for me, but a higher or lower value may be more appropriate for your system. | |
278 | |
279 "lowpass_cutoff" controls the cutoff, or knee, frequency of the RC-style | |
280 low-pass filter. The default value of 3390 Hz is supposedly what is present in | |
281 at least some Genesis/Megadrive models. Other models reportedly use an even | |
282 lower value. | |
468 | 283 |
1812
8aeac7bd9fa7
Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release
Michael Pavone <pavone@retrodev.com>
parents:
1662
diff
changeset
|
284 "gain" specifies the gain in decibels to be applied to the overall output. |
8aeac7bd9fa7
Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release
Michael Pavone <pavone@retrodev.com>
parents:
1662
diff
changeset
|
285 |
8aeac7bd9fa7
Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release
Michael Pavone <pavone@retrodev.com>
parents:
1662
diff
changeset
|
286 "fm_gain" specifies the gain to be applied to the emulated FM output before |
8aeac7bd9fa7
Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release
Michael Pavone <pavone@retrodev.com>
parents:
1662
diff
changeset
|
287 mixing with the PSG. |
8aeac7bd9fa7
Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release
Michael Pavone <pavone@retrodev.com>
parents:
1662
diff
changeset
|
288 |
8aeac7bd9fa7
Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release
Michael Pavone <pavone@retrodev.com>
parents:
1662
diff
changeset
|
289 "psg_gain" specifies the gain to be applied to the emulated PSG output before |
8aeac7bd9fa7
Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release
Michael Pavone <pavone@retrodev.com>
parents:
1662
diff
changeset
|
290 mixing with the FM chip. |
8aeac7bd9fa7
Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release
Michael Pavone <pavone@retrodev.com>
parents:
1662
diff
changeset
|
291 |
8aeac7bd9fa7
Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release
Michael Pavone <pavone@retrodev.com>
parents:
1662
diff
changeset
|
292 "fm_dac" controls the characteristics of the DAC in the emulated FM chip. If |
8aeac7bd9fa7
Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release
Michael Pavone <pavone@retrodev.com>
parents:
1662
diff
changeset
|
293 this is set to "linear", then the DAC will have precise linear output similar |
8aeac7bd9fa7
Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release
Michael Pavone <pavone@retrodev.com>
parents:
1662
diff
changeset
|
294 to the integrated YM3438 in later Gen/MD consoles. If it is set to "zero_offset", |
8aeac7bd9fa7
Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release
Michael Pavone <pavone@retrodev.com>
parents:
1662
diff
changeset
|
295 there will be a larger gap between -1 and 0. This is commonly referred to as the |
8aeac7bd9fa7
Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release
Michael Pavone <pavone@retrodev.com>
parents:
1662
diff
changeset
|
296 "ladder effect". This will also cause "leakage" on channels that are muted or |
8aeac7bd9fa7
Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release
Michael Pavone <pavone@retrodev.com>
parents:
1662
diff
changeset
|
297 panned to one side in a similar manner to a discrete YM2612. |
8aeac7bd9fa7
Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release
Michael Pavone <pavone@retrodev.com>
parents:
1662
diff
changeset
|
298 |
8aeac7bd9fa7
Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release
Michael Pavone <pavone@retrodev.com>
parents:
1662
diff
changeset
|
299 |
1014 | 300 Clocks |
301 ------ | |
302 | |
303 The clocks section contains settings that affect how fast things run. | |
304 | |
305 "m68k_divider" describes the relationsip between the master clock (which is | |
306 53693175 Hz for NTSC mode and 53203395 Hz for PAL mode). The default value of 7 | |
307 matches the real hardware. Set this to a lower number to overclock the 68000 | |
308 and set it to a higher number to underclock it. | |
309 | |
310 "max_cycles" controls how often the system is forced to synchronize all | |
311 hardware. BlastEm generally uses a sync on demand approach to synchronizing | |
312 components in the system. This can provide perfect synchronization for most | |
313 components, but since the Z80 can steal cycles from the 68000 at unpredictable | |
314 times 68000/Z80 synchronization is imperfect. The default value of 3420 | |
315 corresponds to the number of master clock cycles per line. Larger numbers may | |
316 produce a modest performance improvement whereas smaller numbers will improve | |
317 68000/Z80 synchronization. | |
318 | |
319 "speeds" controls the speed of the overall emulated console at different | |
320 presets. Preset 0 is the default speed and should normally be set to 100. The | |
321 other presets enable the slow/turbo mode functionality. | |
322 | |
323 UI | |
324 -- | |
325 | |
1353
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
326 The UI section contains settings that affect the user interface. |
1014 | 327 |
328 "rom" determines the path of the Genesis/Megadrive ROM that implements the UI. | |
329 Relative paths will be loaded relative to the BlastEm executable. | |
330 | |
1353
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
331 "initial_path" specifies the starting path for the ROM browser. It can contain |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
332 the following special variables: $HOME, $EXEDIR. Additionally, variables |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
333 defined in the OS environment can be used. |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
334 |
1442
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
335 "remember_path" specifies whether BlastEm should remember the last path used in |
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
336 the file browser. When it is set to "on", the last path will be remembered and |
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
337 used instead of "initial_path" in subsequent runs. If it is set to "off", |
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
338 "initial_path" will always be used. |
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
339 |
1353
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
340 "screenshot_path" specifies the directory "internal" screenshots will be saved |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
341 in. It accepts the same special variables as "initial_path". |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
342 |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
343 "screenshot_template" specifies a template for creating screenshot filenames. |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
344 It is specified as a format string for the C library function strftime |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
345 |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
346 "save_path" specifies the directory that savestates, SRAM and EEPROM data will |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
347 be saved in for a given game. It can contain the following special variables: |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
348 $HOME, $EXEDIR, $USERDATA, $ROMNAME. Like "initial_path" it can also reference |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
349 variables from the environment. |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
350 |
1442
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
351 "extensions" specifies the file extensions that should be displayed in the file |
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
352 browser. |
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
353 |
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
354 "state_format" specifies the preferred format for saving save states. Valid |
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
355 values are "native" (the default) and "gst". "native" save states do a better |
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
356 job of preserving the state of the emulated system, but "gst" save states are |
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
357 compatible with other emulators like Kega and Gens. This setting has no effect |
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
358 for systems other than the Genesis/Mega Drive |
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
359 |
1353
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
360 Path Variables |
1014 | 361 -------------- |
362 | |
1353
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
363 This section explains the meaning of the special path variables referenced |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
364 in the previous section. |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
365 |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
366 $HOME The home directory of the current user. On most Unix variants, it |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
367 will be a subdirectory of /home. On Windows it will typically be a |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
368 subdirectory of C:\Users |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
369 $EXEDIR The directory the BlastEm executable is located in |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
370 $USERDATA This is an OS-specific path used for storing application specific |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
371 user data. On Unix variants, it will be $HOME/.local/share/blastem |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
372 On Windows it will be %LOCALDATA%/blastem |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
373 $ROMNAME The name of the currently loaded ROM file without the extension |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
374 |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
375 System |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
376 ------ |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
377 |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
378 "ram_init" determines how the RAM in the emulated system is initialized. The |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
379 default value of "zero" will cause all RAM to be zeroed out before the system |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
380 is started. Alternatively, "random" can be used to initialize RAM with values |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
381 from a pseudo-random number generator. This option is mostly useful for |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
382 developers that want to debug initialization issues in their code. |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
383 |
1014 | 384 "default_region" determines the console region that will be used when region |
385 detection fails and when there are multiple valid regions. The default of 'U' | |
1662 | 386 specifies a 60Hz "foreign" console. |
387 | |
388 "sync_source" controls whether BlastEm uses audio or video output to control | |
389 execution speed. "video" can provide a smoother experience when your display | |
390 has a similar refresh rate to the emulated system, but has some limitations | |
391 in the current version. The default value is "audio". | |
392 | |
393 "megawifi" enables or disables support for MegaWiFi cart emulation. MegaWiFi | |
394 is a cartridge that contains WiFi hardware for network functionality. Enabling | |
395 this means that ROMs potentially have access to your network (and the internet) | |
396 which obviously has security implications. For this reason, it is disabled by | |
397 default. If you wish to try out MegaWiFi emulation, set this to "on". Note that | |
398 the support for MegaWiFi hardware is preliminary in this release. | |
1014 | 399 |
468 | 400 Debugger |
401 -------- | |
402 | |
403 BlastEm has an integrated command-line debugger loosely based on GDB's | |
404 interface. The interface is very rough at the moment. Available commands in the | |
405 68K debugger are: | |
1066 | 406 b ADDRESS - Set a breakpoint at ADDRESS |
407 d BREAKPOINT - Delete a 68K breakpoint | |
408 co BREAKPOINT - Run a list of debugger commands each time | |
1014 | 409 BREAKPOINT is hit |
1066 | 410 a ADDRESS - Advance to address |
411 n - Advance to next instruction | |
412 o - Advance to next instruction ignoring branches to | |
413 lower addresses (good for breaking out of loops) | |
414 s - Advance to next instruction (follows bsr/jsr) | |
415 c - Continue | |
416 bt - Print a backtrace | |
417 p[/(x|X|d|c)] VALUE - Print a register or memory location | |
418 di[/(x|X|d|c)] VALUE - Print a register or memory location each time | |
419 a breakpoint is hit | |
420 vs - Print VDP sprite list | |
421 vr - Print VDP register info | |
422 zb ADDRESS - Set a Z80 breakpoint | |
423 zp[/(x|X|d|c)] VALUE - Display a Z80 value | |
424 q - Quit BlastEm | |
468 | 425 Available commands in the Z80 debugger are: |
1066 | 426 b ADDRESS - Set a breakpoint at ADDRESS |
427 de BREAKPOINT - Delete a Z80 breakpoint | |
428 a ADDRESS - Advance to address | |
429 n - Advance to next instruction | |
430 c - Continue | |
431 p[/(x|X|d|c)] VALUE - Print a register or memory location | |
432 di[/(x|X|d|c)] VALUE - Print a register or memory location each time | |
433 a breakpoint is hit | |
434 q - Quit BlastEm | |
468 | 435 |
436 The -d flag can be used to cause BlastEm to start in the debugger. | |
437 Alternatively, you can use the ui.enter_debugger action (mapped to the 'u' key | |
1014 | 438 by default) to enter the debugger while a game is running. To debug the menu |
439 ROM, use the -dm flag. | |
468 | 440 |
536 | 441 GDB Remote Debugging |
442 -------------------- | |
443 | |
444 In addition to the native debugger, BlastEm can also act as a GDB remote | |
445 debugging stub. To use this, you'll want to configure your Makefile to produce | |
446 both an ELF executable and a raw binary. Invoke an m68k-elf targeted gdb with | |
447 the ELF file. Once inside the gdb session, type: | |
448 | |
1066 | 449 target remote | BLASTEM_PATH/blastem ROM_FILE.bin -D |
536 | 450 |
451 where BLASTEM_PATH is the relative or absolute path to your BlastEm | |
452 installation and ROM_FILE.bin is the name of the raw binary for your program. | |
453 BlastEm will halt at the beginning of your program's entry point and return | |
454 control to GDB. This will allow you to set breakpoints before your code runs. | |
455 | |
808
2953708d02af
Update README, CHANGELOG and version string for 0.3.1
Michael Pavone <pavone@retrodev.com>
parents:
785
diff
changeset
|
456 On Windows, the procedure is slightly different. First run |
1066 | 457 blastem.exe ROM_FILE.bin -D |
808
2953708d02af
Update README, CHANGELOG and version string for 0.3.1
Michael Pavone <pavone@retrodev.com>
parents:
785
diff
changeset
|
458 This will cause BlastEm to wait for a socket connection on port 1234. It will |
2953708d02af
Update README, CHANGELOG and version string for 0.3.1
Michael Pavone <pavone@retrodev.com>
parents:
785
diff
changeset
|
459 appear to be frozen until gdb connects to it. Now open the ELF file in gdb |
2953708d02af
Update README, CHANGELOG and version string for 0.3.1
Michael Pavone <pavone@retrodev.com>
parents:
785
diff
changeset
|
460 and type: |
2953708d02af
Update README, CHANGELOG and version string for 0.3.1
Michael Pavone <pavone@retrodev.com>
parents:
785
diff
changeset
|
461 |
1066 | 462 target remote :1234 |
808
2953708d02af
Update README, CHANGELOG and version string for 0.3.1
Michael Pavone <pavone@retrodev.com>
parents:
785
diff
changeset
|
463 |
536 | 464 Trace points and watch points are not currently supported. |
465 | |
810
1f75614d7be8
Fixed an ommission in the CHANGELOG added basic description of extra utilities to README
Michael Pavone <pavone@retrodev.com>
parents:
808
diff
changeset
|
466 Included Tools |
1f75614d7be8
Fixed an ommission in the CHANGELOG added basic description of extra utilities to README
Michael Pavone <pavone@retrodev.com>
parents:
808
diff
changeset
|
467 -------------- |
1f75614d7be8
Fixed an ommission in the CHANGELOG added basic description of extra utilities to README
Michael Pavone <pavone@retrodev.com>
parents:
808
diff
changeset
|
468 |
1f75614d7be8
Fixed an ommission in the CHANGELOG added basic description of extra utilities to README
Michael Pavone <pavone@retrodev.com>
parents:
808
diff
changeset
|
469 BlastEm ships with a few small utilities that leverage portions of the emulator |
1f75614d7be8
Fixed an ommission in the CHANGELOG added basic description of extra utilities to README
Michael Pavone <pavone@retrodev.com>
parents:
808
diff
changeset
|
470 code. |
1066 | 471 |
472 dis - 68K disassembler | |
473 zdis - Z80 disassembler | |
474 vgmplay - Very basic VGM player | |
475 stateview - GST save state viewer | |
476 | |
1662 | 477 Sync Source and VSync |
1013 | 478 ----- |
479 | |
1662 | 480 This section includes information about using VSync with BlastEm. Currently, |
481 the best way to use VSync is to set the sync source to "video". This will force | |
482 VSync on and use video output for controlling the speed of emulation. In this | |
483 mode, audio will have it's rate automatically adjusted to keep pace with video. | |
484 The code for this is still a bit immature, so you may experience dropouts or | |
485 pitch changes in this mode. | |
1014 | 486 |
1662 | 487 If you experience problems, please switch back to the "audio" sync source, |
488 which is the default. You can also enable vsync when using the "audio" sync | |
489 source by changing the "vsync" setting. This will generally work okay as long | |
490 as the emulated refresh rate is below your monitor refresh rate (even if only | |
491 slightly), but you will occassionally get a doubled frame (or frequently if | |
492 the refresh rates are very different). | |
1014 | 493 |
1662 | 494 Turbo mode will currently not work when vsync is on, regardless of which sync |
495 source is used. Slow mode will work with "audio" sync, but not "video" sync. | |
1014 | 496 |
1066 | 497 -------------- |
498 | |
499 My work has been made much easier by the contributions of those in the Genesis | |
500 community past and present. I'd like to thank the people below for their help. | |
501 | |
502 Nemesis - His work reverse engineering and documenting the VDP and | |
503 YM-2612 has saved me an immeasurable amount of time. I've | |
504 found both his sprite overflow test ROM and VDP FIFO | |
505 Testing ROM to be quite helpful. | |
506 | |
507 Charles MacDonald - While it hasn't been updated in a while, I still find his | |
508 VDP document to be my favorite reference. His Genesis | |
509 hardware document has also come in handy. | |
510 | |
511 Eke-Eke - Eke-Eke wrote a great document on the use of I2C EEPROM in | |
512 Genesis games and also left some useful very helpful | |
513 comments about problematic games in Genesis Plus GX | |
1812
8aeac7bd9fa7
Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release
Michael Pavone <pavone@retrodev.com>
parents:
1662
diff
changeset
|
514 |
8aeac7bd9fa7
Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release
Michael Pavone <pavone@retrodev.com>
parents:
1662
diff
changeset
|
515 Sauraen - Sauraen has analyzed the YM2203 and YM2612 dies and written |
8aeac7bd9fa7
Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release
Michael Pavone <pavone@retrodev.com>
parents:
1662
diff
changeset
|
516 a VHDL operator implementation. These have been useful in |
8aeac7bd9fa7
Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release
Michael Pavone <pavone@retrodev.com>
parents:
1662
diff
changeset
|
517 improving the accuracy of my YM2612 core. |
8aeac7bd9fa7
Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release
Michael Pavone <pavone@retrodev.com>
parents:
1662
diff
changeset
|
518 |
8aeac7bd9fa7
Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release
Michael Pavone <pavone@retrodev.com>
parents:
1662
diff
changeset
|
519 Alexey Khokholov - Alexey (aka Nuke.YKT) has analyzed the YM3438 die and written |
8aeac7bd9fa7
Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release
Michael Pavone <pavone@retrodev.com>
parents:
1662
diff
changeset
|
520 a fairly direct C implementation from that analysis. This |
8aeac7bd9fa7
Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release
Michael Pavone <pavone@retrodev.com>
parents:
1662
diff
changeset
|
521 has been a useful reference for verifying and improving my |
8aeac7bd9fa7
Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release
Michael Pavone <pavone@retrodev.com>
parents:
1662
diff
changeset
|
522 YM2612 core. |
1066 | 523 |
524 Bart Trzynadlowski - His documents on the Genecyst save-state format and the | |
525 mapper used in Super Street Fighter 2 were definitely | |
526 appreciated. | |
527 | |
528 KanedaFR - Kaneda's SpritesMind forum is a great resource for the | |
529 Sega development community. | |
1354
34798ad9c570
Updated special thanks and version number listed in menu ROM
Michael Pavone <pavone@retrodev.com>
parents:
1353
diff
changeset
|
530 |
34798ad9c570
Updated special thanks and version number listed in menu ROM
Michael Pavone <pavone@retrodev.com>
parents:
1353
diff
changeset
|
531 Titan - Titan has created what are without a doubt the most |
34798ad9c570
Updated special thanks and version number listed in menu ROM
Michael Pavone <pavone@retrodev.com>
parents:
1353
diff
changeset
|
532 impressive demos on the Megadrive. Additionally, I am very |
34798ad9c570
Updated special thanks and version number listed in menu ROM
Michael Pavone <pavone@retrodev.com>
parents:
1353
diff
changeset
|
533 grateful for the documentation provided by Kabuto and the |
34798ad9c570
Updated special thanks and version number listed in menu ROM
Michael Pavone <pavone@retrodev.com>
parents:
1353
diff
changeset
|
534 assistance of Kabuto, Sik and Jorge in getting Overdrive 2 |
1661 | 535 to run properly in BlastEm. |
536 | |
537 flamewing - flamewing created a very handy exhaustive test ROM for 68K | |
538 BCD instructions and documented the proper behavior for | |
539 certain BCD edge cases | |
540 | |
541 r57shell - r57shell created a test ROM for 68K instruction sizes that | |
542 was invaluable in fixing the remaining bugs in my 68K instruction | |
543 decoder | |
1066 | 544 |
545 I'd also like to thank the following people who have performed compatibility | |
546 testing or submitted helpful bug reports | |
547 | |
1354
34798ad9c570
Updated special thanks and version number listed in menu ROM
Michael Pavone <pavone@retrodev.com>
parents:
1353
diff
changeset
|
548 micky, Sasha, lol-frank, Sik, Tim Lawrence, ComradeOj, Vladikcomper |
1066 | 549 |
468 | 550 License |
551 ------- | |
552 | |
553 BlastEm is free software distributed under the terms of the GNU General Public | |
554 License version 3 or higher. This gives you the right to redistribute and/or | |
555 modify the program as long as you follow the terms of the license. See the file | |
556 COPYING for full license details. | |
557 | |
1812
8aeac7bd9fa7
Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release
Michael Pavone <pavone@retrodev.com>
parents:
1662
diff
changeset
|
558 Binary releases of BlastEm are packaged with GLEW, SDL2 and zlib which have their |
8aeac7bd9fa7
Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release
Michael Pavone <pavone@retrodev.com>
parents:
1662
diff
changeset
|
559 own licenses. See GLEW-LICENSE and SDL-LICENSE for details. For zlib license |
8aeac7bd9fa7
Update version number, special thanks, CHANGELOG and README in preparation for possible 0.6.2 release
Michael Pavone <pavone@retrodev.com>
parents:
1662
diff
changeset
|
560 information, please see zlib.h in the source code release. |