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