Mercurial > repos > blastem
annotate README @ 1708:5bfed2eedc9d
Fixed flag calculation for sub instructions in CPU DSL
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Mon, 28 Jan 2019 22:37:46 -0800 |
parents | 35c308355bfb |
children | 8aeac7bd9fa7 |
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 |
1014 | 284 Clocks |
285 ------ | |
286 | |
287 The clocks section contains settings that affect how fast things run. | |
288 | |
289 "m68k_divider" describes the relationsip between the master clock (which is | |
290 53693175 Hz for NTSC mode and 53203395 Hz for PAL mode). The default value of 7 | |
291 matches the real hardware. Set this to a lower number to overclock the 68000 | |
292 and set it to a higher number to underclock it. | |
293 | |
294 "max_cycles" controls how often the system is forced to synchronize all | |
295 hardware. BlastEm generally uses a sync on demand approach to synchronizing | |
296 components in the system. This can provide perfect synchronization for most | |
297 components, but since the Z80 can steal cycles from the 68000 at unpredictable | |
298 times 68000/Z80 synchronization is imperfect. The default value of 3420 | |
299 corresponds to the number of master clock cycles per line. Larger numbers may | |
300 produce a modest performance improvement whereas smaller numbers will improve | |
301 68000/Z80 synchronization. | |
302 | |
303 "speeds" controls the speed of the overall emulated console at different | |
304 presets. Preset 0 is the default speed and should normally be set to 100. The | |
305 other presets enable the slow/turbo mode functionality. | |
306 | |
307 UI | |
308 -- | |
309 | |
1353
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
310 The UI section contains settings that affect the user interface. |
1014 | 311 |
312 "rom" determines the path of the Genesis/Megadrive ROM that implements the UI. | |
313 Relative paths will be loaded relative to the BlastEm executable. | |
314 | |
1353
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
315 "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
|
316 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
|
317 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
|
318 |
1442
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
319 "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
|
320 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
|
321 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
|
322 "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
|
323 |
1353
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
324 "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
|
325 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
|
326 |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
327 "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
|
328 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
|
329 |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
330 "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
|
331 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
|
332 $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
|
333 variables from the environment. |
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 "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
|
336 browser. |
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
337 |
59e1dbb795a7
Update README in anticipation of 0.5.1 release
Michael Pavone <pavone@retrodev.com>
parents:
1354
diff
changeset
|
338 "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
|
339 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
|
340 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
|
341 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
|
342 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
|
343 |
1353
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
344 Path Variables |
1014 | 345 -------------- |
346 | |
1353
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
347 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
|
348 in the previous section. |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
349 |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
350 $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
|
351 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
|
352 subdirectory of C:\Users |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
353 $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
|
354 $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
|
355 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
|
356 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
|
357 $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
|
358 |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
359 System |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
360 ------ |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
361 |
52d9e3c36b4f
Update README to account for new config file options
Michael Pavone <pavone@retrodev.com>
parents:
1352
diff
changeset
|
362 "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
|
363 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
|
364 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
|
365 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
|
366 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
|
367 |
1014 | 368 "default_region" determines the console region that will be used when region |
369 detection fails and when there are multiple valid regions. The default of 'U' | |
1662 | 370 specifies a 60Hz "foreign" console. |
371 | |
372 "sync_source" controls whether BlastEm uses audio or video output to control | |
373 execution speed. "video" can provide a smoother experience when your display | |
374 has a similar refresh rate to the emulated system, but has some limitations | |
375 in the current version. The default value is "audio". | |
376 | |
377 "megawifi" enables or disables support for MegaWiFi cart emulation. MegaWiFi | |
378 is a cartridge that contains WiFi hardware for network functionality. Enabling | |
379 this means that ROMs potentially have access to your network (and the internet) | |
380 which obviously has security implications. For this reason, it is disabled by | |
381 default. If you wish to try out MegaWiFi emulation, set this to "on". Note that | |
382 the support for MegaWiFi hardware is preliminary in this release. | |
1014 | 383 |
468 | 384 Debugger |
385 -------- | |
386 | |
387 BlastEm has an integrated command-line debugger loosely based on GDB's | |
388 interface. The interface is very rough at the moment. Available commands in the | |
389 68K debugger are: | |
1066 | 390 b ADDRESS - Set a breakpoint at ADDRESS |
391 d BREAKPOINT - Delete a 68K breakpoint | |
392 co BREAKPOINT - Run a list of debugger commands each time | |
1014 | 393 BREAKPOINT is hit |
1066 | 394 a ADDRESS - Advance to address |
395 n - Advance to next instruction | |
396 o - Advance to next instruction ignoring branches to | |
397 lower addresses (good for breaking out of loops) | |
398 s - Advance to next instruction (follows bsr/jsr) | |
399 c - Continue | |
400 bt - Print a backtrace | |
401 p[/(x|X|d|c)] VALUE - Print a register or memory location | |
402 di[/(x|X|d|c)] VALUE - Print a register or memory location each time | |
403 a breakpoint is hit | |
404 vs - Print VDP sprite list | |
405 vr - Print VDP register info | |
406 zb ADDRESS - Set a Z80 breakpoint | |
407 zp[/(x|X|d|c)] VALUE - Display a Z80 value | |
408 q - Quit BlastEm | |
468 | 409 Available commands in the Z80 debugger are: |
1066 | 410 b ADDRESS - Set a breakpoint at ADDRESS |
411 de BREAKPOINT - Delete a Z80 breakpoint | |
412 a ADDRESS - Advance to address | |
413 n - Advance to next instruction | |
414 c - Continue | |
415 p[/(x|X|d|c)] VALUE - Print a register or memory location | |
416 di[/(x|X|d|c)] VALUE - Print a register or memory location each time | |
417 a breakpoint is hit | |
418 q - Quit BlastEm | |
468 | 419 |
420 The -d flag can be used to cause BlastEm to start in the debugger. | |
421 Alternatively, you can use the ui.enter_debugger action (mapped to the 'u' key | |
1014 | 422 by default) to enter the debugger while a game is running. To debug the menu |
423 ROM, use the -dm flag. | |
468 | 424 |
536 | 425 GDB Remote Debugging |
426 -------------------- | |
427 | |
428 In addition to the native debugger, BlastEm can also act as a GDB remote | |
429 debugging stub. To use this, you'll want to configure your Makefile to produce | |
430 both an ELF executable and a raw binary. Invoke an m68k-elf targeted gdb with | |
431 the ELF file. Once inside the gdb session, type: | |
432 | |
1066 | 433 target remote | BLASTEM_PATH/blastem ROM_FILE.bin -D |
536 | 434 |
435 where BLASTEM_PATH is the relative or absolute path to your BlastEm | |
436 installation and ROM_FILE.bin is the name of the raw binary for your program. | |
437 BlastEm will halt at the beginning of your program's entry point and return | |
438 control to GDB. This will allow you to set breakpoints before your code runs. | |
439 | |
808
2953708d02af
Update README, CHANGELOG and version string for 0.3.1
Michael Pavone <pavone@retrodev.com>
parents:
785
diff
changeset
|
440 On Windows, the procedure is slightly different. First run |
1066 | 441 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
|
442 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
|
443 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
|
444 and type: |
2953708d02af
Update README, CHANGELOG and version string for 0.3.1
Michael Pavone <pavone@retrodev.com>
parents:
785
diff
changeset
|
445 |
1066 | 446 target remote :1234 |
808
2953708d02af
Update README, CHANGELOG and version string for 0.3.1
Michael Pavone <pavone@retrodev.com>
parents:
785
diff
changeset
|
447 |
536 | 448 Trace points and watch points are not currently supported. |
449 | |
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
|
450 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
|
451 -------------- |
1f75614d7be8
Fixed an ommission in the CHANGELOG added basic description of extra utilities to README
Michael Pavone <pavone@retrodev.com>
parents:
808
diff
changeset
|
452 |
1f75614d7be8
Fixed an ommission in the CHANGELOG added basic description of extra utilities to README
Michael Pavone <pavone@retrodev.com>
parents:
808
diff
changeset
|
453 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
|
454 code. |
1066 | 455 |
456 dis - 68K disassembler | |
457 zdis - Z80 disassembler | |
458 vgmplay - Very basic VGM player | |
459 stateview - GST save state viewer | |
460 | |
1662 | 461 Sync Source and VSync |
1013 | 462 ----- |
463 | |
1662 | 464 This section includes information about using VSync with BlastEm. Currently, |
465 the best way to use VSync is to set the sync source to "video". This will force | |
466 VSync on and use video output for controlling the speed of emulation. In this | |
467 mode, audio will have it's rate automatically adjusted to keep pace with video. | |
468 The code for this is still a bit immature, so you may experience dropouts or | |
469 pitch changes in this mode. | |
1014 | 470 |
1662 | 471 If you experience problems, please switch back to the "audio" sync source, |
472 which is the default. You can also enable vsync when using the "audio" sync | |
473 source by changing the "vsync" setting. This will generally work okay as long | |
474 as the emulated refresh rate is below your monitor refresh rate (even if only | |
475 slightly), but you will occassionally get a doubled frame (or frequently if | |
476 the refresh rates are very different). | |
1014 | 477 |
1662 | 478 Turbo mode will currently not work when vsync is on, regardless of which sync |
479 source is used. Slow mode will work with "audio" sync, but not "video" sync. | |
1014 | 480 |
1066 | 481 -------------- |
482 | |
483 My work has been made much easier by the contributions of those in the Genesis | |
484 community past and present. I'd like to thank the people below for their help. | |
485 | |
486 Nemesis - His work reverse engineering and documenting the VDP and | |
487 YM-2612 has saved me an immeasurable amount of time. I've | |
488 found both his sprite overflow test ROM and VDP FIFO | |
489 Testing ROM to be quite helpful. | |
490 | |
491 Charles MacDonald - While it hasn't been updated in a while, I still find his | |
492 VDP document to be my favorite reference. His Genesis | |
493 hardware document has also come in handy. | |
494 | |
495 Eke-Eke - Eke-Eke wrote a great document on the use of I2C EEPROM in | |
496 Genesis games and also left some useful very helpful | |
497 comments about problematic games in Genesis Plus GX | |
498 | |
499 Bart Trzynadlowski - His documents on the Genecyst save-state format and the | |
500 mapper used in Super Street Fighter 2 were definitely | |
501 appreciated. | |
502 | |
503 KanedaFR - Kaneda's SpritesMind forum is a great resource for the | |
504 Sega development community. | |
1354
34798ad9c570
Updated special thanks and version number listed in menu ROM
Michael Pavone <pavone@retrodev.com>
parents:
1353
diff
changeset
|
505 |
34798ad9c570
Updated special thanks and version number listed in menu ROM
Michael Pavone <pavone@retrodev.com>
parents:
1353
diff
changeset
|
506 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
|
507 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
|
508 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
|
509 assistance of Kabuto, Sik and Jorge in getting Overdrive 2 |
1661 | 510 to run properly in BlastEm. |
511 | |
512 flamewing - flamewing created a very handy exhaustive test ROM for 68K | |
513 BCD instructions and documented the proper behavior for | |
514 certain BCD edge cases | |
515 | |
516 r57shell - r57shell created a test ROM for 68K instruction sizes that | |
517 was invaluable in fixing the remaining bugs in my 68K instruction | |
518 decoder | |
1066 | 519 |
520 I'd also like to thank the following people who have performed compatibility | |
521 testing or submitted helpful bug reports | |
522 | |
1354
34798ad9c570
Updated special thanks and version number listed in menu ROM
Michael Pavone <pavone@retrodev.com>
parents:
1353
diff
changeset
|
523 micky, Sasha, lol-frank, Sik, Tim Lawrence, ComradeOj, Vladikcomper |
1066 | 524 |
468 | 525 License |
526 ------- | |
527 | |
528 BlastEm is free software distributed under the terms of the GNU General Public | |
529 License version 3 or higher. This gives you the right to redistribute and/or | |
530 modify the program as long as you follow the terms of the license. See the file | |
531 COPYING for full license details. | |
532 | |
785
0e5f14d9a579
Prep for 0.3.0 release
Michael Pavone <pavone@retrodev.com>
parents:
536
diff
changeset
|
533 Binary releases of BlastEm are packaged with GLEW and SDL2 which have thier own |
0e5f14d9a579
Prep for 0.3.0 release
Michael Pavone <pavone@retrodev.com>
parents:
536
diff
changeset
|
534 licenses. See GLEW-LICENSE and SDL-LICENSE for details. |