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

SEE ALSO

1205       chdman(1), jedutil(1), ldresample(1), ldverify(1), romcmp(1)
1206
1208       Please visit the MAME website for some important legal information:
1209
1210       http://mamedev.org/legal.html
1211
1212
1213
12140.176                             2016-07-21                           MAME(6)
Impressum