1MAME(6)            MAME - Multi-purpose emulation framework            MAME(6)
2
3
4

NAME

6       MAME - Multi-purpose emulation framework
7

SYNOPSIS

9       mame [options] gamename
10

DESCRIPTION

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

OPTIONS

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

SEE ALSO

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)
Impressum