Mercurial > repos > blastem
annotate README @ 1324:2fc444b69351
Minor optimization to avoid invalidating translated code when the bank has not actually changed. Makes a nasty edge case in the 68K debugger slightly less severe when dealing with code that uses banking
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Fri, 21 Apr 2017 01:19:40 -0700 |
parents | 262c0ce8f586 |
children | 90c9922b5430 |
rev | line source |
---|---|
1227
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
1 BlastEm 0.5.0 |
468 | 2 ------------- |
3 | |
4 Installation | |
5 ------------ | |
6 | |
808
2953708d02af
Update README, CHANGELOG and version string for 0.3.1
Michael Pavone <pavone@retrodev.com>
parents:
785
diff
changeset
|
7 Extract this archive to a directory of your choosing. If you wish to change the |
1066 | 8 configuration settings, copy default.cfg to $HOME/.config/blastem/blastem.cfg |
9 and modify the copy. If you are on Windows, the config file should be placed in | |
10 %localappdata%\blastem. You may also whish to add the blastem directory to your | |
11 PATH environment variable. | |
12 | |
13 NOTE: Prior to version 0.4.1, BlastEm was still using Unixy locations for config | |
14 and save files. If you're upgrading from a previous version on Windows, you will | |
15 need to move them manually. For config files, the relevant paths are in the | |
16 previous paragraph. For save files, move all the directories found in | |
17 %userprofile%\.local\share\blastem to %localappdata%\blastem | |
468 | 18 |
808
2953708d02af
Update README, CHANGELOG and version string for 0.3.1
Michael Pavone <pavone@retrodev.com>
parents:
785
diff
changeset
|
19 Usage |
2953708d02af
Update README, CHANGELOG and version string for 0.3.1
Michael Pavone <pavone@retrodev.com>
parents:
785
diff
changeset
|
20 ----- |
2953708d02af
Update README, CHANGELOG and version string for 0.3.1
Michael Pavone <pavone@retrodev.com>
parents:
785
diff
changeset
|
21 |
1013 | 22 This version of BlastEm has an experimental GUI that is implemented as a Genesis |
23 ROM running inside the emulator. This UI can be operated with either a mouse or | |
24 the first emulated gamepad. By default, both the keyboard and the first game | |
25 controller are mapped to said gamepad. For more information on bindings see the | |
26 Bindings section. | |
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 |
216fa63749b3
Added documentation for lock-on support and a fullscreen config option.
Michael Pavone <pavone@retrodev.com>
parents:
1014
diff
changeset
|
41 on technology. This is only available from the command line at the moment. To |
216fa63749b3
Added documentation for lock-on support and a fullscreen config option.
Michael Pavone <pavone@retrodev.com>
parents:
1014
diff
changeset
|
42 use it specify the Sonic & Knuckles ROM as the primary ROM and specify the ROM |
216fa63749b3
Added documentation for lock-on support and a fullscreen config option.
Michael Pavone <pavone@retrodev.com>
parents:
1014
diff
changeset
|
43 to be locked on using the -o option. As an example: |
216fa63749b3
Added documentation for lock-on support and a fullscreen config option.
Michael Pavone <pavone@retrodev.com>
parents:
1014
diff
changeset
|
44 |
1066 | 45 ./blastem ~/romz/sonic_and_knuckles.bin -o ~/romz/sonic3.bin |
46 | |
1017
216fa63749b3
Added documentation for lock-on support and a fullscreen config option.
Michael Pavone <pavone@retrodev.com>
parents:
1014
diff
changeset
|
47 Please note that Sonic 2 lock-on does not work at this time. Additionally the |
216fa63749b3
Added documentation for lock-on support and a fullscreen config option.
Michael Pavone <pavone@retrodev.com>
parents:
1014
diff
changeset
|
48 save RAM added by Sonic 3 won't work either. |
808
2953708d02af
Update README, CHANGELOG and version string for 0.3.1
Michael Pavone <pavone@retrodev.com>
parents:
785
diff
changeset
|
49 |
468 | 50 Configuration |
51 ------------- | |
52 | |
1066 | 53 Configuration is read from the file at $HOME/.config/blastem/blastem.cfg on |
54 Unix-like systems and %localappdata%\blastem\blastem.cfg if it exists. | |
55 Othwerise it is read from default.cfg from the same directory as the BlastEm | |
56 executable. Sections are denoted by a section name followed by an open curly | |
57 bracket, the section's contents and a closing curly bracket. Individual | |
468 | 58 configuration values are set by entering the value's name followed by a space |
59 or tab and followed by the desired value. | |
60 | |
61 Bindings | |
62 -------- | |
63 | |
64 The keys subsection of bindings maps keyboard keys to gamepad buttons or UI | |
65 actions. The key name goes on the left and the action is on the right. | |
1066 | 66 Most keys are named for the character they produce when pressed. For keys that |
67 don't correspond to a normal character, check the list below: | |
68 | |
69 Name | Description | |
70 ----------------- | |
71 up Up arrow | |
72 down Down arrow | |
73 left Left arrow | |
74 right Right arrow | |
75 space | |
76 tab | |
77 backspace Backspace on PC keyboards, Delete on Mac keyboards | |
78 esc | |
79 delete | |
80 lshift Left shift | |
81 rshift Right shift | |
82 lctrl Left control | |
83 rctrl Right control | |
84 lalt Left alt on PC keyboards, Option on Mac keyboards | |
85 ralt Right alt on PC keyboards, Option on Mac keyboards | |
86 home | |
87 end | |
88 pageup | |
89 pagedown | |
90 f1 | |
91 f2 | |
92 f3 | |
93 f4 | |
94 f5 | |
95 f6 | |
96 f7 | |
97 f8 | |
98 f9 | |
99 f10 | |
100 f11 | |
101 f12 | |
102 select | |
103 play | |
104 search | |
105 back | |
468 | 106 |
1227
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
107 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
|
108 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
|
109 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
|
110 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
|
111 recognized by BlastEm: |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
112 a, cross |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
113 b, circle |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
114 x, square |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
115 y, trinagle |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
116 start, options |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
117 back, select, share |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
118 guide |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
119 leftbutton, l1 |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
120 rightbutton, r1 |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
121 leftstick, l3 |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
122 rightstick, r3 |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
123 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
|
124 leftx |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
125 lefty |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
126 rightx |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
127 righty |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
128 lefttrigger, l2 |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
129 righttrigger, r2 |
262c0ce8f586
WIP update to README for 0.5.0
Michael Pavone <pavone@retrodev.com>
parents:
1069
diff
changeset
|
130 |
1013 | 131 |
132 The mice subsection is used to map mice to emulated Mega/Sega mice. The default | |
133 configuration maps both the first and second host mice to the first emulated | |
134 mouse. This should not need modification for most users. | |
135 | |
136 One special mapping deserves a mention. By default, the 'r' key is mapped to | |
137 ui.release_mouse. When operating in windowed mode the mouse has a capture | |
138 behavior. Mouse events are ignored until you click in the window. The mouse | |
139 will then be "captured" and the cursor will be both made invisible and locked | |
140 to the window. The ui.release_mouse binding releases the mouse so it can be | |
141 used normally. | |
142 | |
143 IO | |
144 -- | |
145 | |
146 This section controls which peripherals are attached to the emulated console. | |
147 IO assignments can be overridden by the ROM database when appropriate. For | |
148 instance, games with mouse support can automatically use the mouse and games | |
149 that only support 3-button pads can automatically force an appropriate pad. | |
150 Unforunately, the ROM database is not yet exhaustive so manual configuration | |
151 may be needed here in some cases. | |
468 | 152 |
153 Video | |
154 ----- | |
155 | |
1013 | 156 The video section contains settings that affect the visual output of BlastEm. |
157 | |
158 "width" is used to control the window size when not in fullscreen mode. The | |
159 height of the window is calculated from this value. Both width and height can | |
160 be overridden from the command line. | |
161 | |
162 "vertex_shader" and "fragment_shader" define the GLSL shader program that | |
163 produces the final image for each frame. Shaders can be used to add various | |
164 visual effects or enhancements. Currently BlastEm only ships with the default | |
165 shader. If you write your own shaders, place them in | |
166 $HOME/.config/blastem/shaders and then specify the basename of the new shader | |
167 files in the "vertex_shader" and "fragment_shader" config options. Note that | |
168 shaders are not available in the SDL fallback renderer. | |
169 | |
170 "scanlines" controls whether there is any emulation of the gaps between display | |
171 lines that are present when driving a CRT television with a 240p signal. This | |
172 emulation is very basic at the moment so this option is off by default. | |
173 | |
174 "vsync" controls whether the drawing of frames is synchronized to the monitor | |
175 refresh rate. Valid values for this setting are "off", "on" and "tear". The | |
176 latter will attempt to use the "late tear" option if it's available and normal | |
177 vsync otherwise. Currently it's recommended to leave this at the default of | |
178 "off" as BlastEm synchronizes to audio and does not yet have the necessary code | |
179 to fully handle conflicts between the audio rate and monitor refresh rate. | |
180 Additionally, the "turbo" feature does not function properly with vsync | |
181 enabled. These issues will be addressed in a future release. If you wish to use | |
182 vsync, please see the VSync section at the bottom of the README. | |
468 | 183 |
1017
216fa63749b3
Added documentation for lock-on support and a fullscreen config option.
Michael Pavone <pavone@retrodev.com>
parents:
1014
diff
changeset
|
184 "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
|
185 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
|
186 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
|
187 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
|
188 |
468 | 189 Audio |
190 ----- | |
191 | |
1014 | 192 The audio section contains settings that affect the audio output of BlastEm. |
1013 | 193 |
194 "rate" selects the preferred sample rate for audio output. Your operating | |
195 system may not accept this value in which case a different rate will be chosen. | |
196 This should generally be either the native sample rate of your sound card or an | |
197 integral divisor of it. Most modern sound cards have a native output rate that | |
198 is a multiple of 48000 Hz so the default setting should work well for most users. | |
199 | |
200 "buffer size" controls how large of a buffer uses for audio data. Smaller values | |
201 will reduce latency, but too small of a value can lead to dropouts. 512 works | |
202 well for me, but a higher or lower value may be more appropriate for your system. | |
203 | |
204 "lowpass_cutoff" controls the cutoff, or knee, frequency of the RC-style | |
205 low-pass filter. The default value of 3390 Hz is supposedly what is present in | |
206 at least some Genesis/Megadrive models. Other models reportedly use an even | |
207 lower value. | |
468 | 208 |
1014 | 209 Clocks |
210 ------ | |
211 | |
212 The clocks section contains settings that affect how fast things run. | |
213 | |
214 "m68k_divider" describes the relationsip between the master clock (which is | |
215 53693175 Hz for NTSC mode and 53203395 Hz for PAL mode). The default value of 7 | |
216 matches the real hardware. Set this to a lower number to overclock the 68000 | |
217 and set it to a higher number to underclock it. | |
218 | |
219 "max_cycles" controls how often the system is forced to synchronize all | |
220 hardware. BlastEm generally uses a sync on demand approach to synchronizing | |
221 components in the system. This can provide perfect synchronization for most | |
222 components, but since the Z80 can steal cycles from the 68000 at unpredictable | |
223 times 68000/Z80 synchronization is imperfect. The default value of 3420 | |
224 corresponds to the number of master clock cycles per line. Larger numbers may | |
225 produce a modest performance improvement whereas smaller numbers will improve | |
226 68000/Z80 synchronization. | |
227 | |
228 "speeds" controls the speed of the overall emulated console at different | |
229 presets. Preset 0 is the default speed and should normally be set to 100. The | |
230 other presets enable the slow/turbo mode functionality. | |
231 | |
232 UI | |
233 -- | |
234 | |
235 The UI section contains settings that affect the graphical user interface. | |
236 | |
237 "rom" determines the path of the Genesis/Megadrive ROM that implements the UI. | |
238 Relative paths will be loaded relative to the BlastEm executable. | |
239 | |
240 Other Settings | |
241 -------------- | |
242 | |
243 "default_region" determines the console region that will be used when region | |
244 detection fails and when there are multiple valid regions. The default of 'U' | |
245 specifies a 60Hz "foreign" console. | |
246 | |
468 | 247 Debugger |
248 -------- | |
249 | |
250 BlastEm has an integrated command-line debugger loosely based on GDB's | |
251 interface. The interface is very rough at the moment. Available commands in the | |
252 68K debugger are: | |
1066 | 253 b ADDRESS - Set a breakpoint at ADDRESS |
254 d BREAKPOINT - Delete a 68K breakpoint | |
255 co BREAKPOINT - Run a list of debugger commands each time | |
1014 | 256 BREAKPOINT is hit |
1066 | 257 a ADDRESS - Advance to address |
258 n - Advance to next instruction | |
259 o - Advance to next instruction ignoring branches to | |
260 lower addresses (good for breaking out of loops) | |
261 s - Advance to next instruction (follows bsr/jsr) | |
262 c - Continue | |
263 bt - Print a backtrace | |
264 p[/(x|X|d|c)] VALUE - Print a register or memory location | |
265 di[/(x|X|d|c)] VALUE - Print a register or memory location each time | |
266 a breakpoint is hit | |
267 vs - Print VDP sprite list | |
268 vr - Print VDP register info | |
269 zb ADDRESS - Set a Z80 breakpoint | |
270 zp[/(x|X|d|c)] VALUE - Display a Z80 value | |
271 q - Quit BlastEm | |
468 | 272 Available commands in the Z80 debugger are: |
1066 | 273 b ADDRESS - Set a breakpoint at ADDRESS |
274 de BREAKPOINT - Delete a Z80 breakpoint | |
275 a ADDRESS - Advance to address | |
276 n - Advance to next instruction | |
277 c - Continue | |
278 p[/(x|X|d|c)] VALUE - Print a register or memory location | |
279 di[/(x|X|d|c)] VALUE - Print a register or memory location each time | |
280 a breakpoint is hit | |
281 q - Quit BlastEm | |
468 | 282 |
283 The -d flag can be used to cause BlastEm to start in the debugger. | |
284 Alternatively, you can use the ui.enter_debugger action (mapped to the 'u' key | |
1014 | 285 by default) to enter the debugger while a game is running. To debug the menu |
286 ROM, use the -dm flag. | |
468 | 287 |
536 | 288 GDB Remote Debugging |
289 -------------------- | |
290 | |
291 In addition to the native debugger, BlastEm can also act as a GDB remote | |
292 debugging stub. To use this, you'll want to configure your Makefile to produce | |
293 both an ELF executable and a raw binary. Invoke an m68k-elf targeted gdb with | |
294 the ELF file. Once inside the gdb session, type: | |
295 | |
1066 | 296 target remote | BLASTEM_PATH/blastem ROM_FILE.bin -D |
536 | 297 |
298 where BLASTEM_PATH is the relative or absolute path to your BlastEm | |
299 installation and ROM_FILE.bin is the name of the raw binary for your program. | |
300 BlastEm will halt at the beginning of your program's entry point and return | |
301 control to GDB. This will allow you to set breakpoints before your code runs. | |
302 | |
808
2953708d02af
Update README, CHANGELOG and version string for 0.3.1
Michael Pavone <pavone@retrodev.com>
parents:
785
diff
changeset
|
303 On Windows, the procedure is slightly different. First run |
1066 | 304 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
|
305 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
|
306 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
|
307 and type: |
2953708d02af
Update README, CHANGELOG and version string for 0.3.1
Michael Pavone <pavone@retrodev.com>
parents:
785
diff
changeset
|
308 |
1066 | 309 target remote :1234 |
808
2953708d02af
Update README, CHANGELOG and version string for 0.3.1
Michael Pavone <pavone@retrodev.com>
parents:
785
diff
changeset
|
310 |
536 | 311 Trace points and watch points are not currently supported. |
312 | |
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
|
313 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
|
314 -------------- |
1f75614d7be8
Fixed an ommission in the CHANGELOG added basic description of extra utilities to README
Michael Pavone <pavone@retrodev.com>
parents:
808
diff
changeset
|
315 |
1f75614d7be8
Fixed an ommission in the CHANGELOG added basic description of extra utilities to README
Michael Pavone <pavone@retrodev.com>
parents:
808
diff
changeset
|
316 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
|
317 code. |
1066 | 318 |
319 dis - 68K disassembler | |
320 zdis - Z80 disassembler | |
321 vgmplay - Very basic VGM player | |
322 stateview - GST save state viewer | |
323 | |
1013 | 324 VSync |
325 ----- | |
326 | |
1014 | 327 This section includes information about using VSync with BlastEm. As mentioned |
328 above, the code is currently designed to only sync to audio and has some issues | |
329 with VSync as a result. That said, if your computer is fast enough and you | |
330 don't care about turbo mode, it can generally made to work. | |
331 | |
332 The native refresh rate of an NTSC Genesis is approximately 59.92 Hz which is | |
333 probably not the native refresh rate of your monitor. Fortunately, it is | |
334 most likely lower than your refresh rate. As long as this is true, VSync will | |
335 generally work as long as your computer is fast enough to cope with the time | |
336 lost waiting for VSync and the audio buffer is large enough to not run out of | |
337 samples during that delay. Latency will suffer a bit and you'll get a doubled | |
338 frame, but things will be fine. | |
339 | |
340 If you enable VSync and you're getting audio dropouts, first try doubling the | |
341 audio buffer setting. If you still experience dropouts, it's possible your | |
342 computer is not fast enough or that your monitor's actual refresh rate is in | |
343 fact lower than that of the emualted console. Not much can be done about the | |
344 former (apart from disabling VSync), but the latter can be dealt with by | |
345 lowering the default speed slightly in the "clocks" section. | |
346 | |
347 A future release will support VSync in a less hacky fashion. | |
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
|
348 |
1066 | 349 Special Thanks |
350 -------------- | |
351 | |
352 My work has been made much easier by the contributions of those in the Genesis | |
353 community past and present. I'd like to thank the people below for their help. | |
354 | |
355 Nemesis - His work reverse engineering and documenting the VDP and | |
356 YM-2612 has saved me an immeasurable amount of time. I've | |
357 found both his sprite overflow test ROM and VDP FIFO | |
358 Testing ROM to be quite helpful. | |
359 | |
360 Charles MacDonald - While it hasn't been updated in a while, I still find his | |
361 VDP document to be my favorite reference. His Genesis | |
362 hardware document has also come in handy. | |
363 | |
364 Eke-Eke - Eke-Eke wrote a great document on the use of I2C EEPROM in | |
365 Genesis games and also left some useful very helpful | |
366 comments about problematic games in Genesis Plus GX | |
367 | |
368 Bart Trzynadlowski - His documents on the Genecyst save-state format and the | |
369 mapper used in Super Street Fighter 2 were definitely | |
370 appreciated. | |
371 | |
372 KanedaFR - Kaneda's SpritesMind forum is a great resource for the | |
373 Sega development community. | |
374 | |
375 I'd also like to thank the following people who have performed compatibility | |
376 testing or submitted helpful bug reports | |
377 | |
1069
dc05e3a7d8da
Updated special thanks
Michael Pavone <pavone@retrodev.com>
parents:
1066
diff
changeset
|
378 micky, Sik, Tim Lawrence, ComradeOj, Vladikcomper |
1066 | 379 |
468 | 380 License |
381 ------- | |
382 | |
383 BlastEm is free software distributed under the terms of the GNU General Public | |
384 License version 3 or higher. This gives you the right to redistribute and/or | |
385 modify the program as long as you follow the terms of the license. See the file | |
386 COPYING for full license details. | |
387 | |
785
0e5f14d9a579
Prep for 0.3.0 release
Michael Pavone <pavone@retrodev.com>
parents:
536
diff
changeset
|
388 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
|
389 licenses. See GLEW-LICENSE and SDL-LICENSE for details. |