File: higan_user_guide.html

package info (click to toggle)
higan 098-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 11,904 kB
  • ctags: 13,286
  • sloc: cpp: 108,285; ansic: 778; makefile: 32; sh: 18
file content (362 lines) | stat: -rw-r--r-- 17,058 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <!-- base href="http://byuu.org/" -->
    <link href="higan_user_guide_files/favicon.png" rel="icon" type="image/png">
    <link href="higan_user_guide_files/style-default.css" rel="stylesheet" type="text/css">
    <!--[if IE]><style type='text/css'>* { zoom: 1; }</style><![endif]-->
    <title>higan User Guide</title>
  </head>
  <body>
    <div id="container">
      <div id="body">
        <h2>higan User Guide<span>2014-01-21</span></h2>

<p>higan is rather different from most emulators. Please use this guide to
familiarize yourself with higan's features.</p>

<h3>Getting Started: Bits and Profiles</h3>

<p>Right off the bat, the 64-bit release is approximately 10-15% faster than
the 32-bit
release. If you have a 64-bit processor, please consider upgrading to a 64-bit
operating system.</p>

<p>Next, you have three options for profiles. These currently only affect the
speed of the Super Famicom emulation. The other systems are the same regardless
of profile used.</p>

<p>The accuracy profile is my personal favorite. It is extremely accurate, but
it is also extremely slow. On my Core i7 @ 4.4GHz, I get ~135fps on Zelda 3
(best case), and ~65fps on the most intensive parts of Mega Man X3 (worst case.)
If you have an incredibly powerful, top of the line computer, this is what you
should use.</p>

<p>The balanced profile tries to strike a middle ground between accuracy and
performance. It's still extremely accurate, far above any other Super Famicom
emulator. In this case, I get up to ~295fps with Zelda 3 on my system. This
version should work great on any Core or Athlon processor.</p>

<p>The performance profile is for slower systems. It sacrifices accuracy to run
on slower systems. It's still more accurate than any other Super Famicom
emulator, but just barely. In this case, I get up to ~495fps with Zelda 3. I've
been able to play Zelda 3 at 80fps on my 1.6GHz Intel Atom with this profile.
</p>

<p>If your computer is slower than a $199 netbook from 2007, and you cannot
upgrade it, then I sincerely apologize, but higan is not the emulator for you.
Even in its fastest profile, higan still puts accuracy as a top priority. I
would have to make too many sacrifices to target even slower hardware, and at
this point, there are already great emulators that target lower performance
hardware.</p>

<p>On Debian systems, the balanced profile is enabled by default. This can be
changed with the command:</p>

<pre>sudo update-alternatives --config higan
</pre>

<h3>Getting Started: Game Boy Advance</h3>

<p>Game Boy Advance emulation requires the BIOS ROM, which is copyrighted and
cannot be distributed with higan. Until you obtain this file, you will not be
able to play any Game Boy Advance games with higan.</p>

<p>Since higan focuses on accuracy, there is no high-level emulation of the BIOS
as you might find in other emulators. To install the GBA BIOS, first copy the
GBA system folder and its content to higans config directory:</p>

<pre>cp -r /usr/share/higan/Game\ Boy\ Advance.sys/ ~/.config/higan/</pre>

<p>Now obtain the GBA BIOS, which should be 16384 bytes in size. Rename it to
"bios.rom", and place it inside "~/.config/higan/Game Boy Advance.sys".</p>

<h3>Getting Started: Key Assignments</h3>

<p>There is no default key assignments for
emulated input. You must go to Settings-&gt;Configuration-&gt;Input, and assign keys
for each system you wish to emulate.</p>

<h3>Getting Started: Driver Selection</h3>

<p><img src="higan_user_guide_files/settings-drivers.png" alt=""></p>

<p>higan supports many video, audio and input drivers. It defaults to the most
conservative options.</p>

<p>Linux users will find the OpenGL and ALSA drivers active by default. The OpenGL
driver requires OpenGL 3.2, which is currently only supported by the official
binary drivers from nVidia and AMD and the Intel driver in Mesa >= 10.0.
Failing this, you might try the X-Video driver, but it's not as nice.
The SDL driver was a necessary evil to work on any Linux setup out of the box,
but its performance is absolutely terrible.</p>

<p>You can change driver settings via Settings-&gt;Configuration-&gt;Drivers. Once
you have changed drivers, you must restart higan for the changes to take effect.
</p>

<h3>Getting Started: Audiovisual Timing</h3>

<p><img src="higan_user_guide_files/settings-timing.png" alt=""></p>

<p>Most emulators offer simplistic synchronization of video and audio. Although
your PC monitor usually runs at ~60hz, video game systems usually run at
~60.09hz, or other similar values. This has to be compensated for. Emulators
typically duplicate or drop frames to handle this, which results in choppy
scrolling every ten seconds or so, usually.</p>

<p>higan is more difficult to set up, but provides much finer grained control.
It never duplicates or drops video frames or audio samples. Instead, it very
slightly adjusts the audio pitch (by less than 1% usually) to match your
specific monitor, video card, and sound card.</p>

<p>higan also lets you choose whether to synchronize to the video refresh rate,
the audio refresh rate, or both. Choosing video only will give you smooth video
but choppy audio. Choosing audio only will give you choppy video but smooth
audio. Choosing both will give you smooth video and audio, but this requires you
to use the audiovisual synchronization tool first, in order to work.</p>

<p>Check both "Synchronize Video" and "Synchronize Audio" under Settings, and
then go to Settings-&gt;Configuration-&gt;Timing. Click on the video "Analyze" button,
and wait. This will count how many frames your video card outputs per second
when synchronized to the vertical refresh, and show you an average at the bottom
on the window's status bar. The idea is that the longer you wait, the more
precise the value will become. I'd recommend waiting 300 samples, or five
minutes. You can often get by with less, but the longer you wait, the more
precise the value, which will help prevent video tearing and audio crackling.
Once you are ready, hit the "Stop" button, copy the value from the status bar
into the video text box, and hit "Assign". Now repeat this process for audio,
and you are all set. This only ever has to be done once.</p>

<h4>Troubleshooting</h4>

<p>Disable any desktop compositing. You may also have to
mess with nvidia-settings and/or xvattr settings. Some setups simply never allow
smooth video and audio at the same time. Linux is very hit or miss, with wildly
differing video drivers. I've had great luck on Debian Squeeze, and terrible
luck on Xubuntu 12.10.</p>

<h3>Getting Started: Input Configuration</h3>

<p><img src="higan_user_guide_files/settings-input.png" alt=""></p>

<p>higan supports keyboards, mice and gamepads for input. Often times, you will
want to switch between using a keyboard and gamepad to play games. You can
configure an emulated controller to use both, by assinging multiple physical
inputs to each emulated input.</p>

<p>The way this works is you double-click an item, and press the key or button
you wish to assign. Or for mice, click the button at the bottom of the window.
Each time you do this, it adds another mapping. If you want to erase all
mappings for one input, click erase. If you want to erase all mappings for all
inputs, click reset.</p>

<p>Use the first combo box to select the system whose inputs you wish to
configure. Then use the second combo box to select the controller port you wish
to configure input devices for. Finally, use the third combo box to configure a
specific controller.</p>

<p>On this screen, you can also tell higan to pause the emulator when the main
emulator window loses focus. Or you can allow input when the window does not
have focus. Typically, you don't want to allow input if you plan on using a
keyboard, but if you are using a gamepad this option could work for some cases
of multi-tasking. It's up to you.</p>

<h3>Getting Started: Hotkey Configuration</h3>

<p><img src="higan_user_guide_files/settings-hotkeys.png" alt=""></p>

<p>higan allows configuration of various hotkeys. Unlike emulated inputs,
hotkeys work a bit differently. Instead of allowing multiple keys to trigger the
same action, hotkeys take a list of keys that all have to pressed to trigger the
action. For instace, you can require Alt+Enter to trigger fullscreen if you
like. The mapping works the same way as with the input settings window
otherwise.</p>

<h3>The Main Window</h3>

<p>Now that higan is configured, we can move on to emulating.</p>

<p><img src="higan_user_guide_files/main-window.png" alt=""></p>

<p>Here, you have your menubar, your video output window, and your status bar.
</p>

<p>All windows in higan can be resized and repositioned however you like. higan
will remember the geometry of each window, and restore it to how you left it the
last time you ran the emulator.</p>

<h3>Menubar Options</h3>

<p>Settings-&gt;Video lets you control the video scaling. Center will keep the
image centered in the screen. This will put black borders around the edges, but
will keep the video output an even multiple of the original resolution. Scale
will allow you to increase the size to non-even multiples, but will keep black
bars on one side to maintain the correct aspect ratio. Stretch will fill the
entire video window no matter what. These settings apply to both windowed mode
and fullscreen mode. Aspect Correction will stretch the video to mimic the ratio
that you would see when playing games on real hardware. It is highly recommended
you leave this option on. Mask Overscan will black out the edges of the screen,
much as older CRT televisions would. You can control the exact amount of
overscan masking in the Settings-&gt;Configuration-&gt;Video settings panel. This is
mostly useful for Famicom games, where there is frequently garbled graphics on
the screen edges due to hardware limitations of the time.</p>

<p>Settings-&gt;Shader lets you control the video filtering applied to the final
output image. None will give you crisp pixels, but doesn't look so great with
aspect correction enabled. Blur will smooth out the pixels. If you have video
shaders installed, you will see more options that you can choose from.</p>

<p>Settings-&gt;Synchronize Video and Settings-&gt;Synchronize Audio tell the emulator
to wait for vertical refresh and/or the audio buffer. You should use one or the
other. If you follow the audiovisual timing setup above, you can try using both
at the same time.</p>

<p>Settings-&gt;Mute Audio does exactly what it says.</p>

<p>When you load a game, you are given access to a Tools menu as well.</p>

<p>Here you can choose to create save states, or to restore them. You are given
five temporary slots. To be honest, the hotkeys are a lot more convenient for
this, but it's there in the menu as well.</p>

<p>Tools-&gt;Resize Window will shrink the window to eliminate any black space on
the sides. Note that since each emulated system has different resolutions, you
will often then end up with black borders on another system. There's no way
around this, sorry. Also note that this option does not work with the Scale
video mode, for obvious reasons.</p>

<p>Tools-&gt;State Manager and Tools-&gt;Cheat Editor will be described later.</p>

<h3>Loading Games</h3>

<p>Finally, the good part.</p>

<p>higan treats your collection of games as a library. The first time you use
higan, your library will be empty. Going to Library-&gt;Super Famicom will prove
fruitless, with no games for you to select.</p>

<p>In order to add games to your library, you have to import them from your
collection first.</p>

<h3>Importing Games</h3>

<p>To import games into your library, choose Library-&gt;Load ROM File... to import a single
game or Library-&gt;Import ROM Files... to import multiple ROMs.
Here, you can navigate and select any game for any system. It can be game
file, or a ZIP file with the game inside of it.</p>

<p>Once selected, it will be imported into your library.</p>

<h3>Using the Library</h3>

<p>Many people like to have every game ever released. Yet they only play a small
fraction of the actual library. It's best to treat higan's library as a way to
play the games you actually care about. Not as a game collecting tool where you
have to have a 100% complete collection.</p>

<p>Once a game has been imported, you can load it by choosing
Library-&gt;{Name of System}, eg Library-&gt;Super Famicom.</p>

<p><img src="higan_user_guide_files/load-library.png" alt=""></p>

<p>One nice feature of the library is that you get separate paths
that are remembered for each emulated system.</p>

<p>Please note that you cannot load game files or ZIP archives directly from
the library. You must import them to get games into your library.</p>

<h3>Playing Games</h3>

<p>At long last, we have the emulator configured, and our games imported into
our library. And now it's time to game!</p>

<p><img src="higan_user_guide_files/main-window-gaming.png" alt=""></p>

<p>The status bar lets you know the frames per second, the title bar shows you
the name of the game you are playing.</p>

<p>And now you have a new menu option for the system you are playing. In this
case, we have Super Famicom. From this menu, you can power cycle the system,
or hotplug other gamepads, or even unload the system.</p>

<p>There's not much point in unloading a cartridge. You can simply load another
cartridge directly and higan will automatically unload the current cartridge for
you. But if you want to save CPU resources, and leave higan open, you can.</p>

<h3>Tools: State Manager</h3>

<p><img src="higan_user_guide_files/state-manager.png" alt=""></p>

<p>In addition to save states, higan also has a state manager. The idea is that
sometimes you want transitive states that you overwrite constantly, and
sometimes you want to keep states around for a long time, and keep them nice and
organized. The state manager lets you accomplish the latter.</p>

<p>In this example, we are building an archive of states before each boss fight
in Actraiser. Once complete, we can easily skip to every boss fight at any time.
The possibilities are endless, use this tool however you like, or not at all.
</p>

<h3>Tools: Cheat Editor</h3>

<p><img src="higan_user_guide_files/cheat-editor.png" alt=""></p>

<p>Here, you can enter cheat codes. Game Genie, Pro Action Replay, etc.</p>

<p>As you can see from the selection, you can build cheats from one or more
codes, separated by the + symbol. This lets you quickly turn on and off
multi-part cheat codes.</p>

<h3>Tools: Cheat Database</h3>

<p>At the bottom left, there's a Find Codes button. After selecting it, higan
will use its internal database of cheat codes to see if it can find any for the
game you are currently playing. There's thousands of games in the database, but
not every game has known cheats for it. If it does find any, you will be
presented with a list, and you can import any cheats you want. Far more
convenient than searching the web for cheats that may be for the wrong revision,
or the wrong country, of the game.</p>

<p><img src="higan_user_guide_files/cheat-database.png" alt=""></p>

<p>Select the code(s) you want, hit Add Codes, and you're done!</p>

<p>The cheat database is graciously developed by the wonderful mightymo from the
forums at http://board.byuu.org; so if you have codes you'd like to see in the
database, feel free to reach out to him there.</p>

<h3>Extra Settings</h3>

<p>Settings-&gt;Configuration-&gt;Video will allow you to control how much video the Mask Overscan
option crops off.</p>

<p>Settings-&gt;Configuration-&gt;Audio will let you adjust the audio volume. This is
nice as Nintendo systems typically have very low volume output compared to other
things. A setting of 200% can prove useful with little to no clamping of sample
range. You can also increase the frequency for more resampling precision, lower
the latency for faster audio response to input, and control the resampling
algorithm used. The Sinc audio resampler is incredibly demanding, consuming more
than half of the CPU power when emulating the NES and Game Boy, however it is
necessary to prevent some buzzing that you'll get in games such as Mega Man II
for the Famicom otherwise. If you really need more performance, you can go with
another sampler instead.</p>

<h3>Advanced Extra Settings</h3>

<p>For the power user, you can edit the settings.bml file in ~/.config/higan
to control even more settings.
</p>

<p>Set Video::StartFullScreen to true if you want to use higan with an HTPC, and
want to load games from a launcher. You will need to remember the hotkey to exit
fullscreen if you use this setting, so make note of it first.</p>

      </div>
      <div id="footer">
        <small>Copyright © 2004–2013 byuu, 2013-2014 Tobias Hansen</small>
      </div>
    </div>
  

</body></html>