annotate README @ 1227:262c0ce8f586

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