annotate README @ 1352:90c9922b5430

Add description of overscan settings to README
author Michael Pavone <pavone@retrodev.com>
date Tue, 09 May 2017 22:57:12 -0700
parents 262c0ce8f586
children 52d9e3c36b4f
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
1352
90c9922b5430 Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents: 1227
diff changeset
189 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
190 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
191 in the Overscan section.
90c9922b5430 Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents: 1227
diff changeset
192
90c9922b5430 Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents: 1227
diff changeset
193 Overscan
90c9922b5430 Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents: 1227
diff changeset
194 --------
90c9922b5430 Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents: 1227
diff changeset
195
90c9922b5430 Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents: 1227
diff changeset
196 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
197 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
198 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
199 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
200 customized.
90c9922b5430 Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents: 1227
diff changeset
201
90c9922b5430 Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents: 1227
diff changeset
202 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
203 "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
204 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
205 display: "top", "bottom", "left" and "right".
90c9922b5430 Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents: 1227
diff changeset
206
90c9922b5430 Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents: 1227
diff changeset
207 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
208 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
209 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
210 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
211 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
212 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
213 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
214
468
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
215 Audio
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
216 -----
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
217
1014
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
218 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
219
f2f983e262e2 WIP README updates
Michael Pavone <pavone@retrodev.com>
parents: 810
diff changeset
220 "rate" selects the preferred sample rate for audio output. Your operating
f2f983e262e2 WIP README updates
Michael Pavone <pavone@retrodev.com>
parents: 810
diff changeset
221 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
222 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
223 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
224 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
225
f2f983e262e2 WIP README updates
Michael Pavone <pavone@retrodev.com>
parents: 810
diff changeset
226 "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
227 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
228 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
229
f2f983e262e2 WIP README updates
Michael Pavone <pavone@retrodev.com>
parents: 810
diff changeset
230 "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
231 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
232 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
233 lower value.
468
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
234
1014
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
235 Clocks
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
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
238 The clocks section contains settings that affect how fast things run.
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 "m68k_divider" describes the relationsip between the master clock (which is
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
241 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
242 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
243 and set it to a higher number to underclock it.
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
244
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
245 "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
246 hardware. BlastEm generally uses a sync on demand approach to synchronizing
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
247 components in the system. This can provide perfect synchronization for most
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
248 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
249 times 68000/Z80 synchronization is imperfect. The default value of 3420
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
250 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
251 produce a modest performance improvement whereas smaller numbers will improve
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
252 68000/Z80 synchronization.
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
253
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
254 "speeds" controls the speed of the overall emulated console at different
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
255 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
256 other presets enable the slow/turbo mode functionality.
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
257
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
258 UI
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
259 --
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
260
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
261 The UI section contains settings that affect the graphical user interface.
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
262
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
263 "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
264 Relative paths will be loaded relative to the BlastEm executable.
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
265
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
266 Other Settings
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
267 --------------
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
268
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
269 "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
270 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
271 specifies a 60Hz "foreign" console.
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
272
468
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
273 Debugger
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
274 --------
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
275
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
276 BlastEm has an integrated command-line debugger loosely based on GDB's
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
277 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
278 68K debugger are:
1066
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
279 b ADDRESS - Set a breakpoint at ADDRESS
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
280 d BREAKPOINT - Delete a 68K breakpoint
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
281 co BREAKPOINT - Run a list of debugger commands each time
1014
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
282 BREAKPOINT is hit
1066
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
283 a ADDRESS - Advance to address
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
284 n - Advance to next instruction
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
285 o - Advance to next instruction ignoring branches to
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
286 lower addresses (good for breaking out of loops)
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
287 s - Advance to next instruction (follows bsr/jsr)
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
288 c - Continue
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
289 bt - Print a backtrace
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
290 p[/(x|X|d|c)] VALUE - Print a register or memory location
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
291 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
292 a breakpoint is hit
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
293 vs - Print VDP sprite list
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
294 vr - Print VDP register info
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
295 zb ADDRESS - Set a Z80 breakpoint
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
296 zp[/(x|X|d|c)] VALUE - Display a Z80 value
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
297 q - Quit BlastEm
468
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
298 Available commands in the Z80 debugger are:
1066
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
299 b ADDRESS - Set a breakpoint at ADDRESS
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
300 de BREAKPOINT - Delete a Z80 breakpoint
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
301 a ADDRESS - Advance to address
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
302 n - Advance to next instruction
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
303 c - Continue
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
304 p[/(x|X|d|c)] VALUE - Print a register or memory location
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
305 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
306 a breakpoint is hit
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
307 q - Quit BlastEm
468
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
308
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
309 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
310 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
311 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
312 ROM, use the -dm flag.
468
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
313
536
69cfdc81a87c Update README
Mike Pavone <pavone@retrodev.com>
parents: 468
diff changeset
314 GDB Remote Debugging
69cfdc81a87c Update README
Mike Pavone <pavone@retrodev.com>
parents: 468
diff changeset
315 --------------------
69cfdc81a87c Update README
Mike Pavone <pavone@retrodev.com>
parents: 468
diff changeset
316
69cfdc81a87c Update README
Mike Pavone <pavone@retrodev.com>
parents: 468
diff changeset
317 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
318 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
319 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
320 the ELF file. Once inside the gdb session, type:
69cfdc81a87c Update README
Mike Pavone <pavone@retrodev.com>
parents: 468
diff changeset
321
1066
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
322 target remote | BLASTEM_PATH/blastem ROM_FILE.bin -D
536
69cfdc81a87c Update README
Mike Pavone <pavone@retrodev.com>
parents: 468
diff changeset
323
69cfdc81a87c Update README
Mike Pavone <pavone@retrodev.com>
parents: 468
diff changeset
324 where BLASTEM_PATH is the relative or absolute path to your BlastEm
69cfdc81a87c Update README
Mike Pavone <pavone@retrodev.com>
parents: 468
diff changeset
325 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
326 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
327 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
328
808
2953708d02af Update README, CHANGELOG and version string for 0.3.1
Michael Pavone <pavone@retrodev.com>
parents: 785
diff changeset
329 On Windows, the procedure is slightly different. First run
1066
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
330 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
331 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
332 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
333 and type:
2953708d02af Update README, CHANGELOG and version string for 0.3.1
Michael Pavone <pavone@retrodev.com>
parents: 785
diff changeset
334
1066
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
335 target remote :1234
808
2953708d02af Update README, CHANGELOG and version string for 0.3.1
Michael Pavone <pavone@retrodev.com>
parents: 785
diff changeset
336
536
69cfdc81a87c Update README
Mike Pavone <pavone@retrodev.com>
parents: 468
diff changeset
337 Trace points and watch points are not currently supported.
69cfdc81a87c Update README
Mike Pavone <pavone@retrodev.com>
parents: 468
diff changeset
338
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
339 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
340 --------------
1f75614d7be8 Fixed an ommission in the CHANGELOG added basic description of extra utilities to README
Michael Pavone <pavone@retrodev.com>
parents: 808
diff changeset
341
1f75614d7be8 Fixed an ommission in the CHANGELOG added basic description of extra utilities to README
Michael Pavone <pavone@retrodev.com>
parents: 808
diff changeset
342 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
343 code.
1066
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
344
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
345 dis - 68K disassembler
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
346 zdis - Z80 disassembler
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
347 vgmplay - Very basic VGM player
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
348 stateview - GST save state viewer
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
349
1013
f2f983e262e2 WIP README updates
Michael Pavone <pavone@retrodev.com>
parents: 810
diff changeset
350 VSync
f2f983e262e2 WIP README updates
Michael Pavone <pavone@retrodev.com>
parents: 810
diff changeset
351 -----
f2f983e262e2 WIP README updates
Michael Pavone <pavone@retrodev.com>
parents: 810
diff changeset
352
1014
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
353 This section includes information about using VSync with BlastEm. As mentioned
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
354 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
355 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
356 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
357
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
358 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
359 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
360 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
361 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
362 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
363 samples during that delay. Latency will suffer a bit and you'll get a doubled
1352
90c9922b5430 Add description of overscan settings to README
Michael Pavone <pavone@retrodev.com>
parents: 1227
diff changeset
364 frame every once and a while, but generally things will be fine.
1014
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
365
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
366 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
367 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
368 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
369 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
370 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
371 lowering the default speed slightly in the "clocks" section.
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
372
ef923c4b8977 More README updates
Michael Pavone <pavone@retrodev.com>
parents: 1013
diff changeset
373 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
374
1066
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
375 Special Thanks
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
376 --------------
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
377
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
378 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
379 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
380
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
381 Nemesis - His work reverse engineering and documenting the VDP and
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
382 YM-2612 has saved me an immeasurable amount of time. I've
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
383 found both his sprite overflow test ROM and VDP FIFO
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
384 Testing ROM to be quite helpful.
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
385
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
386 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
387 VDP document to be my favorite reference. His Genesis
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
388 hardware document has also come in handy.
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
389
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
390 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
391 Genesis games and also left some useful very helpful
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
392 comments about problematic games in Genesis Plus GX
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
393
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
394 Bart Trzynadlowski - His documents on the Genecyst save-state format and the
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
395 mapper used in Super Street Fighter 2 were definitely
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
396 appreciated.
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
397
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
398 KanedaFR - Kaneda's SpritesMind forum is a great resource for the
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
399 Sega development community.
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
400
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
401 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
402 testing or submitted helpful bug reports
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
403
1069
dc05e3a7d8da Updated special thanks
Michael Pavone <pavone@retrodev.com>
parents: 1066
diff changeset
404 micky, Sik, Tim Lawrence, ComradeOj, Vladikcomper
1066
58e3d50f6a4e Updated README
Michael Pavone <pavone@retrodev.com>
parents: 1017
diff changeset
405
468
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
406 License
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
407 -------
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
408
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
409 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
410 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
411 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
412 COPYING for full license details.
949c7d875693 Added README file
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
413
785
0e5f14d9a579 Prep for 0.3.0 release
Michael Pavone <pavone@retrodev.com>
parents: 536
diff changeset
414 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
415 licenses. See GLEW-LICENSE and SDL-LICENSE for details.