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 de‐
57 fault all games are listed; however, you can limit this list by
58 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 en‐
151 abled (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 ef‐
169 fects in the vector games, you can create a vector.ini with the
170 "effect none" line in it, and it will override whatever effect
171 value you have in your mame.ini. The default is ON (-readcon‐
172 fig).
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 de‐
242 fault 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 de‐
255 fault is 'cfg' (that is, a directory "cfg" in the same directory
256 as the MAME executable). If this directory does not exist, it
257 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 in‐
323 puts. This feature does not work reliably for all games, but can
324 be used to watch a previously recorded game session from start
325 to finish. In order to make things consistent, you should only
326 record and playback with all configuration (.cfg), NVRAM (.nv),
327 and memory card files deleted. The default is NULL (no play‐
328 back).
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 (de‐
347 fault is F12). This option works only when recording mode is
348 enabled (-record option). The file is saved on inp folder. De‐
349 fault 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 de‐
385 fault, MAME will create snapshots at the game's current resolu‐
386 tion in raw pixels, and will create movies at the game's start‐
387 ing resolution in raw pixels. If you specify this option, then
388 MAME will create both snapshots and movies at the size speci‐
389 fied, and will bilinear filter the result. Note that this size
390 does not automatically rotate if the game is vertically ori‐
391 ented. 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 de‐
405 fault 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 op‐
455 tions, you can set up a consistent environment for benchmarking
456 MAME performance. In addition, upon exit, the -str option will
457 write a screenshot called final.png to the game's snapshot di‐
458 rectory.
459
460 -[no]throttle
461 Configures the default throttling setting. When throttling is
462 on, MAME attempts to keep the game running at the game's in‐
463 tended speed. When throttling is off, MAME runs the game as fast
464 as it can. Note that the fastest speed is more often than not
465 limited by your graphics card, especially for older games. The
466 default 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. De‐
483 fault 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 de‐
503 fault 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 de‐
587 fault 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 in‐
599 terpolated 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 ef‐
645 fect when the -window option is used. The default is ON (-maxi‐
646 mize).
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 ap‐
654 plies 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 ba‐
800 sis. 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 -[no]compressor
857 Enable audio compressor. It temporarily reduces the overall vol‐
858 ume when the audio output is overdriven. The default is ON
859 (-compressor).
860
861 -volume, -vol value
862 Sets the startup volume. It can later be changed with the user
863 interface (see Keys section). The volume is an attenuation in
864 dB: e.g., "-volume -12" will start with -12dB attenuation. The
865 default is 0.
866
867 -audio_latency value
868 This controls the amount of latency built into the audio stream‐
869 ing. The exact behavior depends on the selected audio output
870 module (see the -sound option). Smaller values provide less au‐
871 dio delay while requiring better system performance. Higher
872 values increase audio delay but may help avoid buffer under-runs
873 and audio interruptions. The default is 1.
874
875 Input options
876 -[no]coin_lockout, -[no]coinlock
877 Enables simulation of the "coin lockout" feature that is im‐
878 plmeneted on a number of game PCBs. It was up to the operator
879 whether or not the coin lockout outputs were actually connected
880 to the coin mechanisms. If this feature is enabled, then at‐
881 tempts to enter a coin while the lockout is active will fail and
882 will display a popup message in the user interface. If this fea‐
883 ture is disabled, the coin lockout signal will be ignored. The
884 default is ON (-coin_lockout).
885
886 -ctrlr controller
887 Enables support for special controllers. Configuration files are
888 loaded from the ctrlrpath. They are in the same format as the
889 .cfg files that are saved, but only control configuration data
890 is read from the file. The default is NULL (no controller file).
891
892 -[no]mouse
893 Controls whether or not MAME looks for a mouse controller to
894 use. Note that in many cases, lightguns are treated as mice by
895 the operating system, so you may need to enable this to enable
896 lightgun support. When this is enabled, you will not be able to
897 use your mouse while playing a game. If you want to get control
898 of your computer back, you will need to either pause the game or
899 quit. The default is OFF (-nomouse).
900
901 -[no]joystick, -[no]joy
902 Controls whether or not MAME looks for joystick/gamepad con‐
903 trollers. The default is ON (-joystick).
904
905 -[no]lightgun, -[no]gun
906 Controls whether or not MAME makes use of lightgun controllers.
907 Note that most lightguns map to the mouse, so using -lightgun
908 and -mouse together may produce strange results. The default is
909 OFF (-nolightgun).
910
911 -[no]multikeyboard, -[no]multikey
912 Determines whether MAME differentiates between multiple key‐
913 boards. Some systems may report more than one keyboard; by de‐
914 fault, the data from all of these keyboards is combined so that
915 it looks like a single keyboard. Turning this option on will en‐
916 able MAME to report keypresses on different keyboards indepen‐
917 dently. The default is OFF (-nomultikeyboard).
918
919 -[no]multimouse
920 Determines whether MAME differentiates between multiple mice.
921 Some systems may report more than one mouse device; by default,
922 the data from all of these mice is combined so that it looks
923 like a single mouse. Turning this option on will enable MAME to
924 report mouse movement and button presses on different mice inde‐
925 pendently. The default is OFF (-nomultimouse).
926
927 -[no]steadykey, -[no]steady
928 Some games require two or more buttons to be pressed at exactly
929 the same time to make special moves. Due to limitations in the
930 PC keyboard hardware, it can be difficult or even impossible to
931 accomplish that using the standard keyboard handling. This op‐
932 tion selects a different handling that makes it easier to regis‐
933 ter simultaneous button presses, but has the disadvantage of
934 making controls less responsive. The default is OFF (-nos‐
935 teadykey).
936
937 -[no]ui_active
938 Enable MAME user interface on top of emulated keyboard (if
939 present). User interface may be toggled during execution by
940 pressing the key defined with -ui_modekey. Default is OFF
941 (-noui_active).
942
943 -[no]offscreen_reload, -[no]reload
944 Controls whether or not MAME treats a second button input from a
945 lightgun as a reload signal. In this case, MAME will report the
946 gun's position as (0,MAX) with the trigger held, which is equiv‐
947 alent to an offscreen reload. This is only needed for games that
948 required you to shoot offscreen to reload, and then only if your
949 gun does not support off screen reloads. The default is OFF
950 (-nooffscreen_reload).
951
952 -joystick_map, -joymap map
953 Controls how joystick values map to digital joystick controls.
954 See /usr/share/doc/mame/config.txt for full details on map for‐
955 mat.
956
957 -joystick_deadzone, -joy_deadzone, -jdz value
958 If you play with an analog joystick, the center can drift a lit‐
959 tle. joystick_deadzone tells how far along an axis you must
960 move before the axis starts to change. This option expects a
961 float in the range of 0.0 to 1.0. Where 0 is the center of the
962 joystick and 1 is the outer limit. The default is 0.3.
963
964 -joystick_saturation, -joy_saturation, -jsat value
965 If you play with an analog joystick, the ends can drift a lit‐
966 tle, and may not match in the +/- directions. joystick_satura‐
967 tion tells how far along an axis movement change will be ac‐
968 cepted before it reaches the maximum range. This option expects
969 a float in the range of 0.0 to 1.0, where 0 is the center of the
970 joystick and 1 is the outer limit. The default is 0.85.
971
972 -[no]natural, -[no]nat
973 Allows user to specify whether or not to use a natural keyboard.
974 This allows you to start your game or system in a 'native' mode,
975 depending on your region, allowing compatibility for non-"QW‐
976 ERTY" style keyboards. The default is OFF (-nonatural).
977
978 -[no]joystick_contradictory, -[no]joy_contradictory
979 Enable contradictory direction digital joystick input at the
980 same time. Default is OFF (-nojoystick_contradictory).
981
982 -coin_impulse time
983 Set coin impulse time. A negative value for time disables the
984 impulse; set time to 0 to obey driver or give a positive value
985 to set impulse time.
986
987 -uimodekey, -umk value
988 Specifies the key used to toggle between full and partial UI
989 mode.
990
991 -uifontprovider auto|sdl|none
992 Provider for ui font.
993
994 -output console|network|none
995 Provider for output.
996
997 -keyboardprovider auto|sdl|none
998 Provider for keyboard input.
999
1000 -mouseprovider auto|sdl|none
1001 Provider for mouse input.
1002
1003 -lightgunprovider auto|none
1004 Provider for lightgun input.
1005
1006 -joystickprovider auto|sdl|none
1007 Provider for joystick input.
1008
1009 -[no]keymap
1010 Enable keymap for non-QWERTY keyboards. Used in conjunction with
1011 -keymap_file. Default is OFF (-nokeymap).
1012
1013 -keymap_file keymap_file
1014 Specifies the full path to the keymap file to be used. A few
1015 keymap files are available in /usr/share/games/mess/keymaps.
1016
1017 -joy_idx[0-8] joystick
1018 With these options you can assign a joystick to a specific index
1019 in MAME. Even if the kernel will list the joysticks in a differ‐
1020 ent order on the next boot, MAME will still see the joystick as
1021 e.g. "Joystick 2". Use mame -v to see which joysticks are recog‐
1022 nized. Default is 'auto'.
1023
1024 -[no]sixaxis
1025 Use special handling for PS3 Sixaxis controllers. Default is
1026 OFF (-nosixaxis).
1027
1028 -mouse_index[1-8]
1029 Map mouse to specific index in MAME.
1030
1031 -keyb_idx[0-8] keyboard
1032 With these options you can assign a keyboard to a specific index
1033 in MAME.
1034
1035 -videodriver, -vd auto|x11|directfb
1036 SDL video driver to use; 'auto' selects SDL default.
1037
1038 -renderdriver, -rd auto|software|opengl|directfb
1039 SDL render driver to use; 'auto' selects SDL default.
1040
1041 -audiodriver, -ad auto|alsa|arts
1042 SDL audio driver to use; 'auto' selects SDL default.
1043
1044 -gl_lib auto|alsa|arts
1045 Alternative libGL.so to use; 'auto' selects SDL default.
1046
1047 Input automatic enable options
1048 -paddle_device, -paddle [none|keyboard|mouse|lightgun|joystick]
1049
1050 -adstick_device, -adstick [none|keyboard|mouse|lightgun|joystick]
1051
1052 -pedal_device, -pedal [none|keyboard|mouse|lightgun|joystick]
1053
1054 -dial_device, -dial [none|keyboard|mouse|lightgun|joystick]
1055
1056 -trackball_device, -trackball [none|keyboard|mouse|lightgun|joystick]
1057
1058 -lightgun_device [none|keyboard|mouse|lightgun|joystick]
1059
1060 -positional_device [none|keyboard|mouse|lightgun|joystick]
1061
1062 -mouse_device [none|keyboard|mouse|lightgun|joystick]
1063 Each of these options controls automatically enabling the mouse,
1064 or joystick depending on the presence of a particular class of
1065 analog control for a particular game. For example, if you spec‐
1066 ify the option -paddle mouse, then any game that has a paddle
1067 control will automatically enable mouse controls just as if you
1068 had explicitly specified -mouse. Note that these controls over‐
1069 ride the values of -[no]mouse, -[no]joystick, etc.
1070
1071 Debugging options
1072 -[no]log
1073 Creates a file called error.log which contains all of the inter‐
1074 nal log messages generated by the MAME core and game drivers.
1075 The default is OFF (-nolog).
1076
1077 -[no]verbose, -[no]v
1078 Displays internal diagnostic information. This information is
1079 very useful for debugging problems with your configuration. IM‐
1080 PORTANT: when reporting bugs, please run with mame -verbose and
1081 include the resulting information. The default is OFF (-nover‐
1082 bose).
1083
1084 -[no]update_in_pause
1085 Enables updating the screen bitmap while the game is paused.
1086 This is useful for debuggin in some scenarios (and gets in the
1087 way in others). Default is OFF (-noupdate_in_pause).
1088
1089 -[no]debug, -[no]d
1090 Activates the integrated debugger. By default, the debugger is
1091 entered by pressing the tilde (~) key during emulation. It is
1092 also entered immediately at startup. The default is OFF (-node‐
1093 bug).
1094
1095 -debugscript filename
1096 Specifies a file that contains a list of debugger commands to
1097 execute immediately upon startup. The default is NULL (no com‐
1098 mands).
1099
1100 -debugger debugger_name
1101 Name of the debugger to use. Default is AUTO.
1102
1103 -debugger_font, -dfont font_name
1104 Specifies the font to use for debugging. Default is AUTO.
1105
1106 -debugger_font_size, -dfontsize size
1107 Specifies the font size to use for debugging.
1108
1109 -[no]oslog
1110 Outputs the error.log data to the system debugger. This can be
1111 used at the same time as -log to output the log data to both
1112 targets as well. Default is OFF (-nooslog).
1113
1114 Communication options
1115 -comm_localhost
1116 Local address to bind to.
1117
1118 -comm_localport
1119 Local port to bind to.
1120
1121 -comm_remotehost
1122 Remote address to connect to.
1123
1124 -comm_remoteport
1125 Remote port to connect to.
1126
1127 Misc options
1128 -[no]drc
1129 Enable DRC cpu core if available. Default is ON (-drc).
1130
1131 -[no]drc_use_c
1132 Force DRC use C backend. Default is OFF (-nodrc_use_c).
1133
1134 -[no]drc_log_uml
1135 Write DRC UML disassembly log. Default is OFF (-nodrc_log_uml).
1136
1137 -[no]drc_log_native
1138 Write DRC native disassembly log. Default is OFF
1139 (-no_drc_log_native).
1140
1141 -bios biosname
1142 Specifies the specific BIOS to use with the current game, for
1143 game systems that make use of a BIOS. The -listxml output will
1144 list all of the possible BIOS names for a game. The default is
1145 'default'.
1146
1147 -[no]cheat, -[no]c
1148 Activates the cheat menu with autofire options and other tricks
1149 from the cheat database, if present. The default is OFF
1150 (-nocheat).
1151
1152 -[no]skip_gameinfo
1153 Forces MAME to skip displaying the game info screen. The default
1154 is OFF (-noskip_gameinfo).
1155
1156 -uifont fontname
1157 Specifies the name of a BDF font file to use for the UI font. If
1158 this font cannot be found or cannot be loaded, the system will
1159 fall back to its built-in UI font. On some platforms fontname
1160 can be a system font name instead of a BDF font file. The de‐
1161 fault is 'default' (use the OSD-determined default font).
1162
1163 -ui simple|cabinet
1164 Type of UI.
1165
1166 -ramsize, -ram value
1167 Size of RAM (if supported by driver).
1168
1169 -[no]confirm_quit
1170 Display confirm quit screen on exit. Default is ON (-con‐
1171 firm_quit).
1172
1173 -[no]ui_mouse
1174 Display UI mouse cursor. Default is OFF (-noui_mouse).
1175
1176 -autoboot_command, -ab command
1177 Command string to execute after machine boot (in quotes ""). To
1178 issue a quote to the emulation, use """ in the string. Using \n
1179 will issue a create a new line, issuing what was typed prior as
1180 a command. Example: -autoboot_command "load """$""",8,1\n".
1181
1182 -autoboot_delay [value]
1183 Timer delay (in seconds) to trigger command execution on auto‐
1184 boot. Default is 2.
1185
1186 -autoboot_script, -script [filename.lua]
1187 File containing scripting to execute after machine boot.
1188
1189 -[no]console
1190 Enable emulator LUA console. Default is OFF (-noconsole).
1191
1192 -[no]plugins
1193 Enable LUA plugin support. Default is ON (-plugins).
1194
1195 -plugin value
1196 List of plugins to enable.
1197
1198 -noplugin value
1199 List of plugins to disable.
1200
1201 -language, -lang value
1202 Display language. Default is 'English'.
1203
1204 -watchdog value
1205 Specifies a number of seconds after which MAME should automati‐
1206 cally exit if it detects that the emulation has locked up.
1207
1209 chdman(1), jedutil(1), ldresample(1), ldverify(1), romcmp(1)
1210
1212 Please visit the MAME website for some important legal information:
1213
1214 http://mamedev.org/legal.html
1215
1216
1217
12180.176 2016-07-21 MAME(6)