1MAME(6) MAME - Multi-purpose emulation framework MAME(6)
2
3
4
6 MAME - Multi-purpose emulation framework
7
9 mame [options] gamename
10
12 Started in 1997 by Nicola Salmoria, MAME was originally intended as a
13 series of emulators for individual games, which were later combined
14 into a single multi-game emulator. In the following years, MAME grew
15 over and over up to the actual size, with more than 100 contributors to
16 the project.
17
19 Core commands
20 -help, -?
21 Displays current MAME version and copyright notice.
22
23 -validate, -valid
24 Performs internal validation on every driver in the system. Run
25 this before submitting changes to ensure that you haven't vio‐
26 lated any of the core system rules.
27
28 Configuration commands
29 -createconfig, -cc
30 Creates the default mame.ini file in the current directory. All
31 the configuration options (not commands) described below can be
32 permanently changed by editing this configuration file.
33
34 -showconfig, -sc
35 Displays the current configuration settings.
36
37 -showusage, -su
38 Displays a summary of all the command line options. For options
39 that are not mentioned here, the short summary given by
40 -showusage is usually sufficient.
41
42 Frontend commands
43 All the list commands below write info to the screen. If you wish to
44 write the info to a textfile instead, use redirection. For example,
45 mame -listxml > ~/mamelist.xml writes the full list of supported game
46 to file mamelist.xml in your home directory.
47
48 -listxml, -lx [gamename|wildcard]
49 List comprehensive details for all of the supported games. The
50 output is quite long, so it is usually better to redirect this
51 into a file. The output is in XML format. By default all games
52 are listed; however, you can limit this list by specifying a
53 driver name or wildcard after the -listxml command.
54
55 -listfull, -ll [gamename|wildcard]
56 Displays a list of game driver names and descriptions. By
57 default all games are listed; however, you can limit this list
58 by specifying a driver name or wildcard after the -listfull com‐
59 mand.
60
61 -listsource, -ls [gamename|wildcard]
62 Displays a list of drivers and the names of the source files
63 their game drivers live in. Useful for finding which driver a
64 game runs on in order to fix bugs. By default all games are
65 listed; however, you can limit this list by specifying a driver
66 name or wildcard after the -listsource command.
67
68 -listclones, -lc [gamename|wildcard]
69 Displays a list of clones. By default all clones are listed;
70 however, you can limit this list by specifying a driver name or
71 wildcard after the -listclones command.
72
73 -listbrothers, -lb [gamename|wildcard]
74 Displays a list of "brothers" or other drivers from same source‐
75 file. By default all games are listed; however, you can limit
76 this list by specifying a driver name or wildcard after the
77 -listbrothers command.
78
79 -listcrc
80 Displays a full list of CRCs of all ROM images referenced by all
81 drivers within MAME code.
82
83 -listroms, -lr gamename
84 Displays a list of ROM images referenced by the specified game.
85
86 -listsamples gamename
87 Displays a list of samples referenced by the specified game.
88
89 -verifyroms [gamename|wildcard]
90 Checks for invalid or missing ROM images. By default all drivers
91 that have valid ZIP files or directories in the rom path are
92 verified; however, you can limit this list by specifying a
93 driver name or wildcard after the -verifyroms command.
94
95 -verifysamples [gamename|wildcard]
96 Checks for invalid or missing samples. By default all drivers
97 that have valid ZIP files or directories in the samplepath are
98 verified; however, you can limit this list by specifying a
99 driver name or wildcard after the -verifyroms command.
100
101 -romident
102 Attempts to identify ROM files, if they are known to MAME, in
103 the specified .zip file or directory. This command can be used
104 to try and identify ROM sets taken from unknown boards. On exit,
105 the errorlevel is returned as one of the following:
106 0 all files were identified
107 7 all files were identified except for some "non-ROM" files
108 8 some files were identified
109 9 no files were identified
110
111 -listdevices, -ld
112 Output the list of devices referenced by a given game or set of
113 games.
114
115 -listslots, -lslot
116 Output the list of available slots and slot devices for the sys‐
117 tem.
118
119 -listmedia, -lm
120 Output the list of available media for the system.
121
122 -listsoftware, -lsoft
123 Output the list of known software for the system.
124
125 -verifysoftware, -vsoft [gamename|wildcard]
126 Checks for invalid or missing ROM images in your software lists.
127 By default all drivers that have valid ZIP files or directories
128 in the rompath are verified; however, you can limit this list by
129 specifying a specific driver name or wildcard.
130
131 -getsoftlist, -glist
132 Retrieve software list by name.
133
134 -verifysoftlist, -vlist [softwarelistname]
135 Checks a specified software list for missing ROM images if files
136 exist for issued softwarelistname. By default, all drivers that
137 have valid ZIP files or directories in the rompath are verified;
138 however, you can limit this list by specifying a specific soft‐
139 warelistname (without .XML).
140
141 -listmidi, -mlist
142 Create a list of list available MIDI I/O devices for use with
143 emulation.
144
145 -listnetwork, -nlist
146 List available network adapters.
147
148 Configuration options
149 -[no]readconfig, -[no]rc
150 Enables or disables the reading of the config files. When
151 enabled (which is the default), MAME reads the following config
152 files in order:
153 1. mame.ini
154 the main configuration file
155 2. name.ini
156 where name is your executable name, i.e. mame unless you changed
157 it (e.g. if you renamed mame to mame0137, the parsed file will
158 be mame0137.ini)
159 3. debug.ini, if the debugger is enabled
160 4. vector.ini, for vector games only
161 5. [driver].ini
162 based on the source filename of the game driver
163 6. [parent].ini
164 for clones only, may be called recursively
165 7. [gamename].ini
166 note this sometimes resolves to the same of the source driver
167 The settings in the later ini's override those in the earlier
168 ini's. So, for example, if you wanted to disable overlay
169 effects in the vector games, you can create a vector.ini with
170 the "effect none" line in it, and it will override whatever
171 effect value you have in your mame.ini. The default is ON
172 (-readconfig).
173
174 -[no]writeconfig, -[no]wc
175 Write configuration to [driver].ini on exit. Default is OFF
176 (-nowriteconfig).
177
178 Search path options
179 Be careful to use the path, directory and file options in mame.ini
180 ONLY. Otherwise, the outcome may be unpredictable and not consistent
181 across releases.
182
183 -rompath, -rp, -biospath, -bp pathname
184 Specifies a list of paths within which to find ROM or hard disk
185 images. Multiple paths can be specified by separating them with
186 semicolons. The default is 'roms' (that is, a directory "roms"
187 in the same directory as the MAME executable).
188
189 -hashpath pathname
190 Specifies a list of paths within which to search for software
191 hash files. Multiple paths can be specified by separating them
192 with semicolons. The default is 'hash' (that is, a directory
193 'hash' in the same directory as the MAME executable).
194
195 -samplepath, -sp pathname
196 Specifies a list of paths within which to find sample files.
197 Multiple paths can be specified by separating them with semi‐
198 colons. The default is 'samples' (that is, a directory "samples"
199 in the same directory as the MAME executable).
200
201 -artpath, -artwork_directory pathname
202 Specifies a list of paths within which to find artwork files.
203 Multiple paths can be specified by separating them with semi‐
204 colons. The default is 'artwork' (that is, a directory "artwork"
205 in the same directory as the MAME executable).
206
207 -ctrlrpath, -ctrlr_directory pathname
208 Specifies a list of paths within which to find controller-spe‐
209 cific configuration files. Multiple paths can be specified by
210 separating them with semicolons. The default is 'ctrlr' (that
211 is, a directory "ctrlr" in the same directory as the MAME exe‐
212 cutable).
213
214 -inipath pathname
215 Specifies a list of paths within which to find .INI files. Mul‐
216 tiple paths can be specified by separating them with semicolons.
217 The default is '/etc/mame/'.
218
219 -fontpath pathname
220 Specifies a list of paths within which to find .BDF font files.
221 Multiple paths can be specified by separating them with semi‐
222 colons. The default is '.' (that is, search in the same direc‐
223 tory as the MAME executable).
224
225 -cheatpath pathname
226 Specifies a list of paths within which to find cheat files. Mul‐
227 tiple paths can be specified by separating them with semicolons.
228 The default is 'cheat' (that is, a directory 'cheat' in the same
229 directory as the MAME executable).
230
231 -crosshairpath pathname
232 Specifies a list of paths within which to find crosshair files.
233 Multiple paths can be specified by separating them with semi‐
234 colons. The default is 'crosshair' (that is, a directory
235 "crosshair" in the same directory as the MAME executable). If
236 the Crosshair is set to default in the menu, MAME will look for
237 gamenamespecified crosshairpath, where # is the player number.
238 Failing that, MAME will use built-in default crosshairs.
239
240 -pluginspath pathname
241 Specifies a single path within which to find plugins. The
242 default is 'plugins' (that is, a directory 'plugins' in the same
243 directory as the MAME executable).
244
245 -languagepath pathname
246 Specifies a single path within which to find language files. The
247 default is 'language' (that is, a directory 'language' in the
248 same directory as the MAME executable).
249
250 Output Directory Options
251 -cfg_directory pathname
252 Specifies a single directory where configuration files are
253 stored. Configuration files store user configurable settings
254 that are read at startup and written when MAME exits. The
255 default is 'cfg' (that is, a directory "cfg" in the same direc‐
256 tory as the MAME executable). If this directory does not exist,
257 it will be automatically created.
258
259 -nvram_directory pathname
260 Specifies a single directory where NVRAM files are stored. NVRAM
261 files store the contents of EEPROM and non-volatile RAM (NVRAM)
262 for games which used this type of hardware. This data is read at
263 startup and written when MAME exits. The default is 'nvram'
264 (that is, a directory "nvram" in the same directory as the MAME
265 executable). If this directory does not exist, it will be auto‐
266 matically created.
267
268 -input_directory pathname
269 Specifies a single directory where input recording files are
270 stored. Input recordings are created via the -record option and
271 played back via the -playback option. The default is 'inp' (that
272 is, a directory "inp" in the same directory as the MAME exe‐
273 cutable). If this directory does not exist, it will be automati‐
274 cally created.
275
276 -state_directory pathname
277 Specifies a single directory where save state files are stored.
278 Save state files are read and written either upon user request,
279 or when using the -autosave option. The default is 'sta' (that
280 is, a directory "sta" in the same directory as the MAME exe‐
281 cutable). If this directory does not exist, it will be automati‐
282 cally created.
283
284 -snapshot_directory pathname
285 Specifies a single directory where screen snapshots are stored,
286 when requested by the user. The default is 'snap' (that is, a
287 directory "snap" in the same directory as the MAME executable).
288 If this directory does not exist, it will be automatically cre‐
289 ated.
290
291 -diff_directory pathname
292 Specifies a single directory where hard drive differencing files
293 are stored. Hard drive differencing files store any data that is
294 written back to a hard disk image, in order to preserve the
295 original image. The differencing files are created at startup
296 when a game with a hard disk image. The default is 'diff' (that
297 is, a directory "diff" in the same directory as the MAME exe‐
298 cutable). If this directory does not exist, it will be automati‐
299 cally created.
300
301 -comment_directory pathname
302 Specifies a single directory where debugger comment files are
303 stored. Debugger comment files are written by the debugger when
304 comments are added to the disassembly for a game. The default is
305 'comments' (that is, a directory "comments" in the same direc‐
306 tory as the MAME executable). If this directory does not exist,
307 it will be automatically created.
308
309 State/playback options
310 -state slot
311 Immediately after starting the specified game, will cause the
312 save state in the specified slot to be loaded.
313
314 -[no]autosave
315 When enabled, automatically creates a save state file when exit‐
316 ing MAME and automatically attempts to reload it when later
317 starting MAME with the same game. This only works for games that
318 have explicitly enabled save state support in their driver. The
319 default is OFF (-noautosave).
320
321 -playback, -pb filename
322 Specifies a file from which to play back a series of game
323 inputs. This feature does not work reliably for all games, but
324 can be used to watch a previously recorded game session from
325 start to finish. In order to make things consistent, you should
326 only record and playback with all configuration (.cfg), NVRAM
327 (.nv), and memory card files deleted. The default is NULL (no
328 playback).
329
330 -[no]exit_after_playback
331 If play back is enabled (see -playback option) the program exits
332 when end of file is reached. Otherwise the machine will continue
333 to run. Default is OFF (-noexit_after_playback).
334
335 -record, -rec filename
336 Specifies a file to record all input from a game session. This
337 can be used to record a game session for later playback. This
338 feature does not work reliably for all games, but can be used to
339 watch a previously recorded game session from start to finish.
340 In order to make things consistent, you should only record and
341 playback with all configuration (.cfg), NVRAM (.nv), and memory
342 card files deleted. The default is NULL (no recording).
343
344 -[no]record_timecode
345 Specify whether to create a timecode file. It contains a line
346 with elapsed times on each press of timecode shortcut key
347 (default is F12). This option works only when recording mode is
348 enabled (-record option). The file is saved on inp folder.
349 Default is OFF (-norecord_timecode).
350
351 -mngwrite filename
352 Writes each video frame to the given filename in MNG format,
353 producing an animation of the game session. Note that -mngwrite
354 only writes video frames; it does not save any audio data. Use
355 -wavwrite for that, and reassemble the audio/video using offline
356 tools. The default is NULL (no recording).
357
358 -aviwrite filename
359 Stream video and sound data to the given filename in AVI format,
360 producing an animation of the game session complete with sound.
361 The default is NULL (no recording).
362
363 -wavwrite filename
364 Writes the final mixer output to the given filename in WAV for‐
365 mat, producing an audio recording of the game session. The
366 default is NULL (no recording).
367
368 -snapname string
369 Describes how MAME should name files for snapshots. string pro‐
370 vides a template that is used to generate a filename. Three sim‐
371 ple substitutions are provided: the / character represents the
372 path separator on any target platform (even Windows); the lit‐
373 eral %g represents the driver name of the current game; and the
374 literal %i represents an incrementing index. If %i is omitted,
375 then each snapshot taken will overwrite the previous one; other‐
376 wise, MAME will find the next empty value for %i and use that
377 for a filename. The default is %g/%i, which creates a separate
378 folder for each game, and names the snapshots under it starting
379 with 0000 and increasing from there. Example: if you use mame
380 robby -snapname foo/%g%i snapshots will be saved as
381 snaps/foo/robby0000.png, snaps/foo/robby0001.png and so on.
382
383 -snapsize widthxheight
384 Hard-codes the size for snapshots and movie recording. By
385 default, MAME will create snapshots at the game's current reso‐
386 lution in raw pixels, and will create movies at the game's
387 starting resolution in raw pixels. If you specify this option,
388 then MAME will create both snapshots and movies at the size
389 specified, and will bilinear filter the result. Note that this
390 size does not automatically rotate if the game is vertically
391 oriented. The default is 'auto'.
392
393 -snapview internal|auto|viewname
394 Specifies the view to use when rendering snapshots and movies.
395 By default, both use a special 'internal' view, which renders a
396 separate snapshot per screen or renders movies only of the first
397 screen. By specifying this option, you can override this default
398 behavior and select a single view that will apply to all snap‐
399 shots and movies. Note that viewname does not need to be a per‐
400 fect match; rather, it will select the first view whose name
401 matches all the characters specified by viewname. For example,
402 -snapview native will match the "Native (15:14)" view even
403 though it is not a perfect match. viewname can also be 'auto',
404 which selects the first view with all screens present. The
405 default value is 'internal'.
406
407 -[no]snapbilinear
408 Specify whether snapshot/movie should have bilinear filtering
409 applied. Default is ON (-snapbilinear).
410
411 -statename string
412 Describes how MAME should store save state files, relative to
413 the state_directory path. string provides a template that is
414 used to generate a relative path. Two simple substitutions are
415 provided: the / character represents the path separator on any
416 target platform (even Windows); the literal %g represents the
417 driver name of the current game. The default is '%g', which cre‐
418 ates a separate folder for each game. Example: if you use mame
419 robby -statename foo/%g save states will be stored inside
420 sta/foo/robby/.
421
422 -[no]burnin
423 Tracks brightness of the screen during play and at the end of
424 emulation generates a PNG that can be used to simulate burn-in
425 effects on other games. The resulting PNG is created such that
426 the least-used areas of the screen are fully white (since
427 burned-in areas are darker, all other areas of the screen must
428 be lightened a touch). The intention is that this PNG can be
429 loaded via an artwork file with a low alpha (e.g, 0.1-0.2 seems
430 to work well) and blended over the entire screen. The PNG files
431 are saved in the snap directory under the game‐
432 name\burnin-<screen.name>.png. The default is OFF (-noburnin).
433
434 Performance options
435 -[no]autoframeskip, -[no]afs
436 Automatically determines the frameskip level while you're play‐
437 ing the game, adjusting it constantly in a frantic attempt to
438 keep the game running at full speed. Turning this on overrides
439 the value you have set for -frameskip below. The default is OFF
440 (-noautoframeskip).
441
442 -frameskip, -fs value
443 Specifies the frameskip value (autoframeskip must be disabled).
444 This is the number of frames out of every 12 to drop when run‐
445 ning. For example, if you say -frameskip 2, then MAME will dis‐
446 play 10 out of every 12 frames. By skipping those frames, you
447 may be able to get full speed in a game that requires more
448 horsepower than your computer has. The default value is 0, which
449 skips no frames.
450
451 -seconds_to_run, -str value
452 This option can be used for benchmarking and automated testing.
453 It tells MAME to stop execution after a fixed number of seconds.
454 By combining this with a fixed set of other command line
455 options, you can set up a consistent environment for benchmark‐
456 ing MAME performance. In addition, upon exit, the -str option
457 will write a screenshot called final.png to the game's snapshot
458 directory.
459
460 -[no]throttle
461 Configures the default thottling setting. When throttling is on,
462 MAME attempts to keep the game running at the game's intended
463 speed. When throttling is off, MAME runs the game as fast as it
464 can. Note that the fastest speed is more often than not limited
465 by your graphics card, especially for older games. The default
466 is ON (-throttle).
467
468 -[no]sleep
469 Allows MAME to give time back to the system when running with
470 -throttle. This allows other programs to have some CPU time,
471 assuming that the game isn't taxing 100% of your CPU resources.
472 This option can potentially cause hiccups in performance if
473 other demanding programs are running. The default is ON
474 (-sleep).
475
476 -speed value
477 Controls the speed of gameplay, relative to realtime; smaller
478 numbers are slower. Default is 1.00.
479
480 -[no]refreshspeed, -[no]rs
481 Automatically adjusts the -speed parameter to keep the effective
482 refresh rate below that of the lowest screen refresh rate.
483 Default is OFF (-norefreshspeed).
484
485 -numprocessors, -np value
486 Set number of processors; this overrides the number the system
487 reports.
488
489 -bench value
490 Benchmark for the given number of emulated seconds; implies
491 -video none -sound none -nothrottle.
492
493 -[no]sdlvideofps
494 Show SDL video performance. Default is OFF (-nosdlvideofps).
495
496 Rotation options
497 -[no]rotate
498 Rotate the game to match its normal state (horizontal/vertical).
499 This ensures that both vertically and horizontally oriented
500 games show up correctly without the need to rotate your monitor.
501 If you want to keep the game displaying 'raw' on the screen the
502 way it would have in the arcade, turn this option OFF. The
503 default is ON (-rotate).
504
505 -[no]ror | -[no]rol
506 Rotate the game screen to the right (clockwise) or left
507 (counter- clockwise) relative to either its normal state (if
508 -rotate is specified) or its native state (if -norotate is spec‐
509 ified). Default for both is OFF (-noror -norol).
510
511 -[no]autoror | -[no]autorol
512 These options are designed for use with pivoting screens that
513 only pivot in a single direction. If your screen only pivots
514 clockwise, use -autorol to ensure that the game will fill the
515 screen either horizontally or vertically in one of the direc‐
516 tions you can handle. If your screen only pivots counter-clock‐
517 wise, use -autoror. Default for both is OFF (-noautoror -noau‐
518 torol).
519
520 -[no]flipx -[no]flipy
521 Flip (mirror) the game screen either horizontally (-flipx) or
522 vertically (-flipy). The flips are applied after the -rotate and
523 -ror/-rol options are applied. Default for both is OFF
524 (-noflipx -noflipy).
525
526 Artwork options
527 -[no]artwork_crop, -[no]artcrop
528 Enable cropping of artwork to the game screen area only. This
529 option can also be controlled via the Video Options menu in the
530 user interface. The default is OFF (-noartwork_crop).
531
532 -[no]use_backdrops, -[no]backdrop
533 Enables/disables the display of backdrops. The default is ON
534 (-use_backdrops).
535
536 -[no]use_overlays, -[no]overlay
537 Enables/disables the display of overlays. The default is ON
538 (-use_overlays).
539
540 -[no]use_bezels, -[no]bezel
541 Enables/disables the display of bezels. The default is ON
542 (-use_bezels).
543
544 -[no]use_cpanels, -[no]cpanel
545 Enables/disables the display of cpanels. The default is ON
546 (-use_bezels).
547
548 -[no]use_marquees, -[no]marquee
549 Enables/disables the display of marquees. The default is ON
550 (-use_bezels).
551
552 Screen options
553 -brightness value
554 Controls the default brightness, or black level, of the game
555 screens. This option does not affect the artwork or other parts
556 of the display. Using the MAME UI, you can individually set the
557 brightness for each game screen; this option controls the ini‐
558 tial value for all visible game screens. The standard value is
559 1.0. Selecting lower values (down to 0.1) will produce a dark‐
560 ened display, while selecting higher values (up to 2.0) will
561 give a brighter display. The default is 1.0.
562
563 -contrast value
564 Controls the contrast, or white level, of the game screens. This
565 option does not affect the artwork or other parts of the dis‐
566 play. Using the MAME UI, you can individually set the contrast
567 for each game screen; this option controls the initial value for
568 all visible game screens. The standard value is 1.0. Selecting
569 lower values (down to 0.1) will produce a dimmer display, while
570 selecting higher values (up to 2.0) will give a more saturated
571 display. The default is 1.0.
572
573 -gamma value
574 Controls the gamma, which produces a potentially nonlinear black
575 to white ramp, for the game screens. This option does not affect
576 the artwork or other parts of the display. Using the MAME UI,
577 you can individually set the gamma for each game screen; this
578 option controls the initial value for all visible game screens.
579 The standard value is 1.0, which gives a linear ramp from black
580 to white. Selecting lower values (down to 0.1) will increase the
581 nonlinearity toward black, while selecting higher values (up to
582 3.0) will push the nonlinearity toward white. The default is
583 1.0.
584
585 -pause_brightness value
586 This controls the brightness level when MAME is paused. The
587 default value is 0.65.
588
589 -effect [none|filename[.png]]
590 Name of a PNG file to use for visual effects, or 'none'. Default
591 is 'none'.
592
593 Vector rendering options
594 -beam_width_min value
595
596 -beam_width_max value
597 Sets the minimum and maximum width of the vectors. This is a
598 scaling factor against the standard vector width, which is
599 interpolated between minimum and maximum according to the beam's
600 intensity. A value of 1.0 will keep the default vector line
601 width. Smaller values will reduce the width, and larger values
602 will increase the width. The default is 1.0.
603
604 -beam_intensity_weight value
605 Applies an exponential weight to the minimum and maximum beam
606 width. For positive values the interpolated scaling factor will
607 affect lines with higher intensity more than lines with lower
608 intensity. The default is 0.0.
609
610 -flicker value
611 Simulates a vector "flicker" effect, similar to a vector monitor
612 that needs adjustment. This option requires a float argument in
613 the range of 0.00-100.00 (0=none, 100=maximum). The default is
614 0.
615
616 Video options
617 -video [soft|opengl|bgfx|none]
618 Specifies which video subsystem to use for drawing:
619 soft uses software rendering, which is slower but more compati‐
620 ble.
621 opengl uses OpenGL and your graphics accelerator to speed up
622 many aspects of drawing MAME including compositing artwork,
623 overlays, and bezels, as well as stretching the image to fit
624 your screen.
625 bgfx uses the bgfx renderer which supports portable shaders and
626 multiple graphics APIs including OpenGL, OpenGL ES and DirectX.
627 none does no drawing and is intended for CPU benchmarking.
628 Default is 'soft' on Linux or 'opengl' on macOS.
629
630 -numscreens [1-4]
631 Number of screens to create; usually, you want just one. Default
632 is '1'.
633
634 -[no]window, -[no]w
635 Run MAME in either full screen or a window. This is a fully-fea‐
636 tured window mode where the window resizes as necessary to track
637 what the game does. And you can resize it yourself with your
638 OS's standard window controls. The default is OFF (-nowindow).
639
640 -[no]maximize, -[no]max
641 Controls initial window size in windowed mode. If it is set on,
642 the window will initially be set to the maximum supported size
643 when you start MAME. If it is turned off, the window will start
644 out at the smallest supported size. This option only has an
645 effect when the -window option is used. The default is ON (-max‐
646 imize).
647
648 -[no]keepaspect, -[no]ka
649 Forces the correct aspect ratio. This means when you're resizing
650 the window in windowed mode the actual game image will resize in
651 discrete steps to maintain the proper shape of the game graph‐
652 ics. If you turn this off you can resize the window to anything
653 you like and get funny squishing and stretching. The same
654 applies for full-screen. Default is ON (-keepaspect).
655
656 -[no]unevenstretch, -[no]ues
657 Allow non-integer stretch factors. Video purists should stay
658 far, far away from this option, while everyone else will be
659 happy to know that it lets you fill the screen properly in
660 full-screen mode. Default is ON (-unevenstretch).
661
662 -[no]unevenstretchx, -[no]uesx
663 Act as -[no]unevenstretch on horizontal basis only.
664
665 -[no]intoverscan, -[no]ios
666 Allow overscan on integer scaled targets.
667
668 -intscalex, -sx
669 Set horizontal integer scale factor.
670
671 -intscaley, -sy
672 Set vertical integer scale factor.
673
674 -[no]centerh
675 Center horizontally within the view area. Default is ON (-cen‐
676 terh).
677
678 -[no]centerv
679 Center vertically within the view area. Default is ON (-cen‐
680 terv).
681
682 -[no]waitvsync, -[no]vs
683 Enable waiting for the start of VBLANK before flipping screens;
684 reduces tearing effects. Default is OFF (-nowaitvsync).
685
686 -[no]syncrefresh, -[no]srf
687 Enable using the start of VBLANK for throttling instead of the
688 game time. Default is OFF (-nosyncrefresh).
689
690 Software video rendering subsystem options
691 NOTE: All the options in this group are available only with softare
692 video rendering subsystem, i.e -video soft.
693
694 -prescale [value]
695 Scale screen rendering by this amount in software. Default is 1.
696
697 -scalemode, -sm [none|async|yv12|yuy2|yv12x2|yuy2x2]
698 Hardware scaling mode.
699 none use software rendering.
700 async async overlay.
701 yv12 yv12 overlay.
702 yuy2 yuy2 overlay.
703 yv12x2 yv12 overlay using x2 prescaling.
704 yuy2x2 yuy2 overlay using x2 prescaling.
705 Default is NONE.
706
707 OpenGL video rendering subsystem options
708 NOTE: All the options in this group are available only with OpenGL
709 video rendering subsystem, i.e -video opengl.
710
711 -[no]filter, -[no]glfilter, -[no]flt
712 Enable bilinear filtering on screen output. Default is ON (-fil‐
713 ter).
714
715 -prescale [value]
716 Scale screen rendering by this amount in software. Default is 1.
717
718 -[no]gl_forcepow2texture
719 Force power of two textures. Default is OFF (-nogl_forcepow2tex‐
720 ture).
721
722 -[no]gl_notexturerect
723 Don't use OpenGL GL_ARB_texture_rectangle. Turn off if corrup‐
724 tion occurs in OpenGL mode, at cost of some performance loss.
725 Default is ON (-gl_notexturerect).
726
727 -[no]gl_vbo
728 Enable OpenGL VBO, if available, for a performance increase.
729 Turn off if corruption occurs. Default is ON (-gl_vbo).
730
731 -[no]gl_pbo
732 Enable OpenGL PBO, if available, for a performance increase.
733 Turn off if corruption occurs. Default is ON (-gl_pbo).
734
735 -[no]gl_glsl
736 Enable OpenGL GLSL, if available, for a performance increase.
737 Default is OFF (-nogl_glsl).
738
739 -gl_glsl_filter value
740 Enable OpenGL GLSL filtering instead of FF filtering 0=plain,
741 1=bilinear. Default is 1: bilinear.
742
743 -glsl_shader_mame[0-9]
744 Preferred custom OpenGL GLSL shader set mame bitmap (from 0 to
745 9).
746
747 -glsl_shader_screen[0-9]
748 Preferred custom OpenGL GLSL shader screen bitmap (from 0 to 9).
749
750 -screen
751 Explicit name for all screens; 'auto' here will try to make a
752 best guess.
753
754 -aspect, -screen_aspect
755 Aspect ratio for all screens; 'auto' here will try to make a
756 best guess.
757
758 -resolution, -r
759 Preferred resolution for all screens; format is widthx‐
760 height[@refreshrate] or 'auto'.
761
762 -view Preferred view for all screens
763
764 -screen[0-3]
765 Explicit name of the first|second|third|fourth screen; 'auto'
766 here will try to make a best guess.
767
768 -aspect[0-3]
769 Aspect ratio of the first|second|third|fourth screen; 'auto'
770 here will try to make a best guess.
771
772 -resolution[0-3], -r[0-3]
773 Preferred resolution for the first|second|third|fourth screen;
774 format is widthxheight[@refreshrate] or 'auto'.
775
776 -view[0-3]
777 Preferred view for the first|second|third|fourth screen.
778
779 BGFX post-processing options
780 NOTE: All the options in this group are available only when BGFX video
781 post-processing is enabled, i.e -video bgfx. For full info on BGFX
782 please visit official MAME documentation page:
783 http://docs.mamedev.org/advanced/bgfx.html
784
785 -bgfx_path pathname
786 This is where your BGFX shader files are stored. The default is
787 'bgfx' (that is, a directory "bgfx" in the same directory as the
788 MAME executable).
789
790 -bgfx_backend auto|opengl
791 Selects a rendering backend for BGFX to use. The default is
792 'auto', which will let MAME choose the best selection for you.
793
794 -bgfx_debug
795 Enables BGFX debugging features. Most users will not need to use
796 this.
797
798 -bgfx_screen_chains default|unfiltered|hlsl[,...]
799 This dictates how to handle BGFX rendering on a per-display
800 basis. For each display specify one of the possible choices:
801 default default bilinear filterered output
802 unfiltered nearest neighbor unfiltered output
803 hlsl HLSL display simulation through shaders
804 Separate directives for each window with a comma (,) and for
805 each physical screen with a colon (:). For example, for an emu‐
806 lated game with 3 displays emulated on 3 windows on your moni‐
807 tor, -bgfx_screen_chains default,unfiltered,default specifies to
808 apply default filter on what is been rendered on the first and
809 third window and leave the content of the second window unfil‐
810 tered.
811
812 -bgfx_shadow_mask filename
813 This specifies the shadow mask effect PNG file. Default is
814 'slot-mask.png'.
815
816 -bgfx_avi_name filename
817 This specifies a filename for BGFX output logging.
818
819 Full screen options
820 -[no]switchres
821 Affects full screen mode only. Chooses if MAME can try to change
822 the screen resolution (color depth is normally left alone) when
823 in full-screen mode. If it's off, you always get your desktop
824 resolution in full-screen mode (which can be useful for LCDs).
825 Default is OFF (-noswitchres).
826
827 -[no]useallheads
828 Split full screen image across monitors. Default is OFF (-nouse‐
829 allheads).
830
831 Sound options
832 -sound [sdl|portaudio|coreaudio|dsound|xaudio2|none]
833 Specifies which sound subsystem to use for audio output:
834 sdl uses the Simple DirectMedia Layer audio output system (not
835 available on Windows by default).
836 portaudio uses the PortAudio library which supports low-latency
837 output and multiple audio APIs.
838 coreaudio uses the Core Audio API which supports low-latency
839 output and AudioUnit effects (only available on macOS).
840 dsound uses the DirectSound API (only available on Windows).
841 xaudio2 uses the XAudio2 API which supports low-latency output
842 (only available on Windows).
843 none produces no audio output.
844 Default is 'dsound' on Windows, 'coreaudio' on macOS or 'sdl' on
845 other platforms.
846
847 -samplerate, -srf value
848 Sets the audio sample rate. Smaller values (e.g. 11025) cause
849 lower audio quality but faster emulation speed. Higher values
850 (e.g. 48000) cause higher audio quality but slower emulation
851 speed. The default is 48000.
852
853 -[no]samples
854 Use samples if available. The default is ON (-samples).
855
856 -volume, -vol value
857 Sets the startup volume. It can later be changed with the user
858 interface (see Keys section). The volume is an attenuation in
859 dB: e.g., "-volume -12" will start with -12dB attenuation. The
860 default is 0.
861
862 -audio_latency value
863 This controls the amount of latency built into the audio stream‐
864 ing. The exact behavior depends on the selected audio output
865 module (see the -sound option). Smaller values provide less
866 audio delay while requiring better system performance. Higher
867 values increase audio delay but may help avoid buffer under-runs
868 and audio interruptions. The default is 1.
869
870 Input options
871 -[no]coin_lockout, -[no]coinlock
872 Enables simulation of the "coin lockout" feature that is
873 implmeneted on a number of game PCBs. It was up to the operator
874 whether or not the coin lockout outputs were actually connected
875 to the coin mechanisms. If this feature is enabled, then
876 attempts to enter a coin while the lockout is active will fail
877 and will display a popup message in the user interface. If this
878 feature is disabled, the coin lockout signal will be ignored.
879 The default is ON (-coin_lockout).
880
881 -ctrlr controller
882 Enables support for special controllers. Configuration files are
883 loaded from the ctrlrpath. They are in the same format as the
884 .cfg files that are saved, but only control configuration data
885 is read from the file. The default is NULL (no controller file).
886
887 -[no]mouse
888 Controls whether or not MAME looks for a mouse controller to
889 use. Note that in many cases, lightguns are treated as mice by
890 the operating system, so you may need to enable this to enable
891 lightgun support. When this is enabled, you will not be able to
892 use your mouse while playing a game. If you want to get control
893 of your computer back, you will need to either pause the game or
894 quit. The default is OFF (-nomouse).
895
896 -[no]joystick, -[no]joy
897 Controls whether or not MAME looks for joystick/gamepad con‐
898 trollers. The default is ON (-joystick).
899
900 -[no]lightgun, -[no]gun
901 Controls whether or not MAME makes use of lightgun controllers.
902 Note that most lightguns map to the mouse, so using -lightgun
903 and -mouse together may produce strange results. The default is
904 OFF (-nolightgun).
905
906 -[no]multikeyboard, -[no]multikey
907 Determines whether MAME differentiates between multiple key‐
908 boards. Some systems may report more than one keyboard; by
909 default, the data from all of these keyboards is combined so
910 that it looks like a single keyboard. Turning this option on
911 will enable MAME to report keypresses on different keyboards
912 independently. The default is OFF (-nomultikeyboard).
913
914 -[no]multimouse
915 Determines whether MAME differentiates between multiple mice.
916 Some systems may report more than one mouse device; by default,
917 the data from all of these mice is combined so that it looks
918 like a single mouse. Turning this option on will enable MAME to
919 report mouse movement and button presses on different mice inde‐
920 pendently. The default is OFF (-nomultimouse).
921
922 -[no]steadykey, -[no]steady
923 Some games require two or more buttons to be pressed at exactly
924 the same time to make special moves. Due to limitations in the
925 PC keyboard hardware, it can be difficult or even impossible to
926 accomplish that using the standard keyboard handling. This
927 option selects a different handling that makes it easier to reg‐
928 ister simultaneous button presses, but has the disadvantage of
929 making controls less responsive. The default is OFF (-nos‐
930 teadykey).
931
932 -[no]ui_active
933 Enable MAME user interface on top of emulated keyboard (if
934 present). User interface may be toggled during execution by
935 pressing the key defined with -ui_modekey. Default is OFF
936 (-noui_active).
937
938 -[no]offscreen_reload, -[no]reload
939 Controls whether or not MAME treats a second button input from a
940 lightgun as a reload signal. In this case, MAME will report the
941 gun's position as (0,MAX) with the trigger held, which is equiv‐
942 alent to an offscreen reload. This is only needed for games that
943 required you to shoot offscreen to reload, and then only if your
944 gun does not support off screen reloads. The default is OFF
945 (-nooffscreen_reload).
946
947 -joystick_map, -joymap map
948 Controls how joystick values map to digital joystick controls.
949 See /usr/share/doc/mame/config.txt for full details on map for‐
950 mat.
951
952 -joystick_deadzone, -joy_deadzone, -jdz value
953 If you play with an analog joystick, the center can drift a lit‐
954 tle. joystick_deadzone tells how far along an axis you must
955 move before the axis starts to change. This option expects a
956 float in the range of 0.0 to 1.0. Where 0 is the center of the
957 joystick and 1 is the outer limit. The default is 0.3.
958
959 -joystick_saturation, -joy_saturation, -jsat value
960 If you play with an analog joystick, the ends can drift a lit‐
961 tle, and may not match in the +/- directions. joystick_satura‐
962 tion tells how far along an axis movement change will be
963 accepted before it reaches the maximum range. This option
964 expects a float in the range of 0.0 to 1.0, where 0 is the cen‐
965 ter of the joystick and 1 is the outer limit. The default is
966 0.85.
967
968 -[no]natural, -[no]nat
969 Allows user to specify whether or not to use a natural keyboard.
970 This allows you to start your game or system in a 'native' mode,
971 depending on your region, allowing compatibility for
972 non-"QWERTY" style keyboards. The default is OFF (-nonatural).
973
974 -[no]joystick_contradictory, -[no]joy_contradictory
975 Enable contradictory direction digital joystick input at the
976 same time. Default is OFF (-nojoystick_contradictory).
977
978 -coin_impulse time
979 Set coin impulse time. A negative value for time disables the
980 impulse; set time to 0 to obey driver or give a positive value
981 to set impulse time.
982
983 -uimodekey, -umk value
984 Specifies the key used to toggle between full and partial UI
985 mode.
986
987 -uifontprovider auto|sdl|none
988 Provider for ui font.
989
990 -output console|network|none
991 Provider for output.
992
993 -keyboardprovider auto|sdl|none
994 Provider for keyboard input.
995
996 -mouseprovider auto|sdl|none
997 Provider for mouse input.
998
999 -lightgunprovider auto|none
1000 Provider for lightgun input.
1001
1002 -joystickprovider auto|sdl|none
1003 Provider for joystick input.
1004
1005 -[no]keymap
1006 Enable keymap for non-QWERTY keyboards. Used in conjunction with
1007 -keymap_file. Default is OFF (-nokeymap).
1008
1009 -keymap_file keymap_file
1010 Specifies the full path to the keymap file to be used. A few
1011 keymap files are available in /usr/share/games/mess/keymaps.
1012
1013 -joy_idx[0-8] joystick
1014 With these options you can assign a joystick to a specific index
1015 in MAME. Even if the kernel will list the joysticks in a differ‐
1016 ent order on the next boot, MAME will still see the joystick as
1017 e.g. "Joystick 2". Use mame -v to see which joysticks are recog‐
1018 nized. Default is 'auto'.
1019
1020 -[no]sixaxis
1021 Use special handling for PS3 Sixaxis controllers. Default is
1022 OFF (-nosixaxis).
1023
1024 -mouse_index[1-8]
1025 Map mouse to specific index in MAME.
1026
1027 -keyb_idx[0-8] keyboard
1028 With these options you can assign a keyboard to a specific index
1029 in MAME.
1030
1031 -videodriver, -vd auto|x11|directfb
1032 SDL video driver to use; 'auto' selects SDL default.
1033
1034 -renderdriver, -rd auto|software|opengl|directfb
1035 SDL render driver to use; 'auto' selects SDL default.
1036
1037 -audiodriver, -ad auto|alsa|arts
1038 SDL audio driver to use; 'auto' selects SDL default.
1039
1040 -gl_lib auto|alsa|arts
1041 Alternative libGL.so to use; 'auto' selects SDL default.
1042
1043 Input automatic enable options
1044 -paddle_device, -paddle [none|keyboard|mouse|lightgun|joystick]
1045
1046 -adstick_device, -adstick [none|keyboard|mouse|lightgun|joystick]
1047
1048 -pedal_device, -pedal [none|keyboard|mouse|lightgun|joystick]
1049
1050 -dial_device, -dial [none|keyboard|mouse|lightgun|joystick]
1051
1052 -trackball_device, -trackball [none|keyboard|mouse|lightgun|joystick]
1053
1054 -lightgun_device [none|keyboard|mouse|lightgun|joystick]
1055
1056 -positional_device [none|keyboard|mouse|lightgun|joystick]
1057
1058 -mouse_device [none|keyboard|mouse|lightgun|joystick]
1059 Each of these options controls automatically enabling the mouse,
1060 or joystick depending on the presence of a particular class of
1061 analog control for a particular game. For example, if you spec‐
1062 ify the option -paddle mouse, then any game that has a paddle
1063 control will automatically enable mouse controls just as if you
1064 had explicitly specified -mouse. Note that these controls over‐
1065 ride the values of -[no]mouse, -[no]joystick, etc.
1066
1067 Debugging options
1068 -[no]log
1069 Creates a file called error.log which contains all of the inter‐
1070 nal log messages generated by the MAME core and game drivers.
1071 The default is OFF (-nolog).
1072
1073 -[no]verbose, -[no]v
1074 Displays internal diagnostic information. This information is
1075 very useful for debugging problems with your configuration.
1076 IMPORTANT: when reporting bugs, please run with mame -verbose
1077 and include the resulting information. The default is OFF
1078 (-noverbose).
1079
1080 -[no]update_in_pause
1081 Enables updating the screen bitmap while the game is paused.
1082 This is useful for debuggin in some scenarios (and gets in the
1083 way in others). Default is OFF (-noupdate_in_pause).
1084
1085 -[no]debug, -[no]d
1086 Activates the integrated debugger. By default, the debugger is
1087 entered by pressing the tilde (~) key during emulation. It is
1088 also entered immediately at startup. The default is OFF (-node‐
1089 bug).
1090
1091 -debugscript filename
1092 Specifies a file that contains a list of debugger commands to
1093 execute immediately upon startup. The default is NULL (no com‐
1094 mands).
1095
1096 -debugger debugger_name
1097 Name of the debugger to use. Default is AUTO.
1098
1099 -debugger_font, -dfont font_name
1100 Specifies the font to use for debugging. Default is AUTO.
1101
1102 -debugger_font_size, -dfontsize size
1103 Specifies the font size to use for debugging.
1104
1105 -[no]oslog
1106 Outputs the error.log data to the system debugger. This can be
1107 used at the same time as -log to output the log data to both
1108 targets as well. Default is OFF (-nooslog).
1109
1110 Communication options
1111 -comm_localhost
1112 Local address to bind to.
1113
1114 -comm_localport
1115 Local port to bind to.
1116
1117 -comm_remotehost
1118 Remote address to connect to.
1119
1120 -comm_remoteport
1121 Remote port to connect to.
1122
1123 Misc options
1124 -[no]drc
1125 Enable DRC cpu core if available. Default is ON (-drc).
1126
1127 -[no]drc_use_c
1128 Force DRC use C backend. Default is OFF (-nodrc_use_c).
1129
1130 -[no]drc_log_uml
1131 Write DRC UML disassembly log. Default is OFF (-nodrc_log_uml).
1132
1133 -[no]drc_log_native
1134 Write DRC native disassembly log. Default is OFF
1135 (-no_drc_log_native).
1136
1137 -bios biosname
1138 Specifies the specific BIOS to use with the current game, for
1139 game systems that make use of a BIOS. The -listxml output will
1140 list all of the possible BIOS names for a game. The default is
1141 'default'.
1142
1143 -[no]cheat, -[no]c
1144 Activates the cheat menu with autofire options and other tricks
1145 from the cheat database, if present. The default is OFF
1146 (-nocheat).
1147
1148 -[no]skip_gameinfo
1149 Forces MAME to skip displaying the game info screen. The default
1150 is OFF (-noskip_gameinfo).
1151
1152 -uifont fontname
1153 Specifies the name of a BDF font file to use for the UI font. If
1154 this font cannot be found or cannot be loaded, the system will
1155 fall back to its built-in UI font. On some platforms fontname
1156 can be a system font name instead of a BDF font file. The
1157 default is 'default' (use the OSD-determined default font).
1158
1159 -ui simple|cabinet
1160 Type of UI.
1161
1162 -ramsize, -ram value
1163 Size of RAM (if supported by driver).
1164
1165 -[no]confirm_quit
1166 Display confirm quit screen on exit. Default is ON (-con‐
1167 firm_quit).
1168
1169 -[no]ui_mouse
1170 Display UI mouse cursor. Default is OFF (-noui_mouse).
1171
1172 -autoboot_command, -ab command
1173 Command string to execute after machine boot (in quotes ""). To
1174 issue a quote to the emulation, use """ in the string. Using \n
1175 will issue a create a new line, issuing what was typed prior as
1176 a command. Example: -autoboot_command "load """$""",8,1\n".
1177
1178 -autoboot_delay [value]
1179 Timer delay (in seconds) to trigger command execution on auto‐
1180 boot. Default is 2.
1181
1182 -autoboot_script, -script [filename.lua]
1183 File containing scripting to execute after machine boot.
1184
1185 -[no]console
1186 Enable emulator LUA console. Default is OFF (-noconsole).
1187
1188 -[no]plugins
1189 Enable LUA plugin support. Default is ON (-plugins).
1190
1191 -plugin value
1192 List of plugins to enable.
1193
1194 -noplugin value
1195 List of plugins to disable.
1196
1197 -language, -lang value
1198 Display language. Default is 'English'.
1199
1200 -watchdog value
1201 Specifies a number of seconds after which MAME should automati‐
1202 cally exit if it detects that the emulation has locked up.
1203
1205 chdman(1), jedutil(1), ldresample(1), ldverify(1), romcmp(1)
1206
1208 Please visit the MAME website for some important legal information:
1209
1210 http://mamedev.org/legal.html
1211
1212
1213
12140.176 2016-07-21 MAME(6)