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 re‐
20 quired:
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 de‐
71 fault 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 en‐
165 abled (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 de‐
252 fault 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 de‐
265 fault is 'cfg' (that is, a directory 'cfg' in the same directory
266 as the MESS executable). If this directory does not exist, it
267 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 di‐
316 rectory as the MESS executable). If this directory does not ex‐
317 ist, 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 in‐
333 puts. 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 (de‐
357 fault is F12). This option works only when recording mode is
358 enabled (-record option). The file is saved on inp folder. De‐
359 fault 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 [me‐
392 dia] with the media switch you want to use. A few examples: if
393 you use mess nes -cart robby -snapname %g/%d_cart snapshots will
394 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 de‐
400 fault, MESS will create snapshots at the system's current reso‐
401 lution 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 de‐
420 fault 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 op‐
475 tions, you can set up a consistent environment for benchmarking
476 MESS performance. In addition, upon exit, the -str option will
477 write a screenshot called final.png to the system's snapshot di‐
478 rectory.
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 in‐
483 tended 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 re‐
492 sources. 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. De‐
503 fault 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 -ro‐
528 tate is specified) or its native state (if -norotate is speci‐
529 fied). 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 af‐
596 fect 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 de‐
607 fault 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 in‐
619 terpolated 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 ef‐
665 fect when the -window option is used. The default is ON (-maxi‐
666 mize).
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 ba‐
824 sis. 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 -[no]compressor
881 Enable audio compressor. It temporarily reduces the overall vol‐
882 ume when the audio output is overdriven. The default is ON
883 (-compressor).
884
885 -volume, -vol value
886 Sets the startup volume. It can later be changed with the user
887 interface (see Keys section). The volume is an attenuation in
888 dB: for example, '-volume -12' will start with -12dB attenua‐
889 tion. The default is 0.
890
891 -audio_latency value
892 This controls the amount of latency built into the audio stream‐
893 ing. The exact behavior depends on the selected audio output
894 module (see the -sound option). Smaller values provide less au‐
895 dio delay while requiring better system performance. Higher
896 values increase audio delay but may help avoid buffer under-runs
897 and audio interruptions. The default is 1.
898
899 Input options
900 -[no]coin_lockout, -[no]coinlock
901 Enables simulation of the "coin lockout" feature that is imple‐
902 mented on a number of arcade game PCBs. It was up to the opera‐
903 tor whether or not the coin lockout outputs were actually con‐
904 nected to the coin mechanisms. If this feature is enabled, then
905 attempts to enter a coin while the lockout is active will fail
906 and will display a popup message in the user interface. If this
907 feature is disabled, the coin lockout signal will be ignored.
908 The default is ON (-coin_lockout).
909
910 -ctrlr controller
911 Enables support for special controllers. Configuration files are
912 loaded from the ctrlrpath. They are in the same format as the
913 .cfg files that are saved, but only control configuration data
914 is read from the file. The default is NULL (no controller file).
915
916 -[no]mouse
917 Controls whether or not MESS looks for a mouse controller to
918 use. Note that in many cases, lightguns are treated as mice by
919 the operating system, so you may need to enable this to enable
920 lightgun support. When this is enabled, you will not be able to
921 use your mouse while running MESS. If you want to get control of
922 your computer back, you will need to either pause MESS or quit.
923 The default is OFF (-nomouse).
924
925 -[no]joystick, -[no]joy
926 Controls whether or not MESS looks for joystick/gamepad con‐
927 trollers. The default is ON (-joystick).
928
929 -[no]lightgun, -[no]gun
930 Controls whether or not MESS makes use of lightgun controllers.
931 Note that most lightguns map to the mouse, so using -lightgun
932 and -mouse together may produce strange results. The default is
933 OFF (-nolightgun).
934
935 -[no]multikeyboard, -[no]multikey
936 Determines whether MESS differentiates between multiple key‐
937 boards. Some systems may report more than one keyboard; by de‐
938 fault, the data from all of these keyboards is combined so that
939 it looks like a single keyboard. Turning this option on will en‐
940 able MESS to report keypresses on different keyboards indepen‐
941 dently. The default is OFF (-nomultikeyboard).
942
943 -[no]multimouse
944 Determines whether MESS differentiates between multiple mice.
945 Some systems may report more than one mouse device; by default,
946 the data from all of these mice is combined so that it looks
947 like a single mouse. Turning this option on will enable MESS to
948 report mouse movement and button presses on different mice inde‐
949 pendently. The default is OFF (-nomultimouse).
950
951 -[no]steadykey, -[no]steady
952 Some systems require two or more buttons to be pressed at ex‐
953 actly the same time to make special moves. Due to limitations in
954 the PC keyboard hardware, it can be difficult or even impossible
955 to accomplish that using the standard keyboard handling. This
956 option selects a different handling that makes it easier to reg‐
957 ister simultaneous button presses, but has the disadvantage of
958 making controls less responsive. The default is OFF (-nos‐
959 teadykey).
960
961 -[no]ui_active
962 Enable MESS user interface on top of emulated keyboard (if
963 present). User interface may be toggled during execution by
964 pressing the key defined with -ui_modekey. Default is OFF
965 (-noui_active).
966
967 -[no]offscreen_reload, -[no]reload
968 Controls whether or not MESS treats a second button input from a
969 lightgun as a reload signal. In this case, MESS will report the
970 gun's position as (0,MAX) with the trigger held, which is equiv‐
971 alent to an offscreen reload. This is only needed for systems
972 that required you to shoot offscreen to reload, and then only if
973 your gun does not support off screen reloads. The default is OFF
974 (-nooffscreen_reload).
975
976 -joystick_map, -joymap map
977 Controls how joystick values map to digital joystick controls.
978 See /usr/share/doc/mame-common/config.txt for full details on
979 joymap format.
980
981 -joystick_deadzone, -joy_deadzone, -jdz value
982 If you play with an analog joystick, the center can drift a lit‐
983 tle. joystick_deadzone tells how far along an axis you must
984 move before the axis starts to change. This option expects a
985 float in the range of 0.0 to 1.0. Where 0 is the center of the
986 joystick and 1 is the outer limit. The default is 0.3.
987
988 -joystick_saturation, -joy_saturation, -jsat value
989 If you play with an analog joystick, the ends can drift a lit‐
990 tle, and may not match in the +/- directions. joystick_satura‐
991 tion tells how far along an axis movement change will be ac‐
992 cepted before it reaches the maximum range. This option expects
993 a float in the range of 0.0 to 1.0, where 0 is the center of the
994 joystick and 1 is the outer limit. The default is 0.85.
995
996 -[no]natural, -[no]nat
997 Allows user to specify whether or not to use a natural keyboard.
998 This allows you to start your game or system in a 'native' mode,
999 depending on your region, allowing compatibility for non-"QW‐
1000 ERTY" style keyboards. The default is OFF (-nonatural).
1001
1002 -[no]joystick_contradictory, -[no]joy_contradictory
1003 Enable contradictory direction digital joystick input at the
1004 same time. Default is OFF (-nojoystick_contradictory).
1005
1006
1007 -uimodekey, -umk value
1008 Specifies the key used to toggle between full and partial UI
1009 mode.
1010
1011 -uifontprovider auto|sdl|none
1012 Provider for ui font.
1013
1014 -output console|network|none
1015 Provider for output.
1016
1017 -keyboardprovider auto|sdl|none
1018 Provider for keyboard input.
1019
1020 -mouseprovider auto|sdl|none
1021 Provider for mouse input.
1022
1023 -lightgunprovider auto|none
1024 Provider for lightgun input.
1025
1026 -joystickprovider auto|sdl|none
1027 Provider for joystick input.
1028
1029 -[no]keymap
1030 Enable keymap for non-QWERTY keyboards. Used in conjunction with
1031 -keymap_file. Default is OFF (-nokeymap).
1032
1033 -keymap_file keymap_file
1034 Specifies the full path to the keymap file to be used. A few
1035 keymap files are available in /usr/share/games/mess/keymaps.
1036
1037 -joy_idx[0-8] joystick
1038 With these options you can assign a joystick to a specific index
1039 in MESS. Even if the kernel will list the joysticks in a differ‐
1040 ent order on the next boot, MESS will still see the joystick as
1041 e.g. "Joystick 2". Use mame -v to see which joysticks are recog‐
1042 nized. Default is 'auto'.
1043
1044 -[no]sixaxis
1045 Use special handling for PS3 Sixaxis controllers. Default is
1046 OFF (-nosixaxis).
1047
1048 -lightgun_index[1-8]
1049 Map lightgun to specific index in MESS.
1050
1051 -videodriver, -vd x11|directfb|auto
1052 SDL video driver to use; auto selects SDL default.
1053
1054 -audiodriver, -ad alsa|arts|auto
1055 SDL audio driver to use; auto selects SDL default.
1056
1057 -gl_lib alsa|arts|auto
1058 Alternative libGL.so to use; auto selects SDL default.
1059
1060 Input automatic enable options
1061 -paddle_device, -paddle [none|keyboard|mouse|lightgun|joystick]
1062
1063 -adstick_device, -adstick [none|keyboard|mouse|lightgun|joystick]
1064
1065 -pedal_device, -pedal [none|keyboard|mouse|lightgun|joystick]
1066
1067 -dial_device, -dial [none|keyboard|mouse|lightgun|joystick]
1068
1069 -trackball_device, -trackball [none|keyboard|mouse|lightgun|joystick]
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 mouse,
1077 or joystick depending on the presence of a particular class of
1078 analog control for a particular system. For example, if you
1079 specify the option -paddle mouse, then any system that has a
1080 paddle control will automatically enable mouse controls just as
1081 if you had explicitly specified -mouse. Note that these con‐
1082 trols override the values of -[no]mouse, -[no]joystick, etc.
1083
1084 Debugging options
1085 -[no]log
1086 Creates a file called error.log which contains all of the inter‐
1087 nal log messages generated by the MESS core and system drivers.
1088 The default is OFF (-nolog).
1089
1090 -[no]verbose, -[no]v
1091 Displays internal diagnostic information. This information is
1092 very useful for debugging problems with your configuration.
1093 Please use the -verbose option and include the resulting infor‐
1094 mation when reporting bugs. The default is OFF (-noverbose).
1095
1096 -[no]update_in_pause
1097 Enables updating the screen bitmap while the system is paused.
1098 This is useful for debuggin in some scenarios (and gets in the
1099 way in others). Default is OFF (-noupdate_in_pause).
1100
1101 -[no]debug, -[no]d
1102 Activates the integrated debugger. By default, the debugger is
1103 entered by pressing the tilde (~) key during emulation. It is
1104 also entered immediately at startup. The default is OFF (-node‐
1105 bug).
1106
1107 -debugscript filename
1108 Specifies a file that contains a list of debugger commands to
1109 execute immediately upon startup. The default is NULL (no com‐
1110 mands).
1111
1112 -debugger debugger_name
1113 Name of the debugger to use. Default is AUTO.
1114
1115 -debugger_font, -dfont font_name
1116 Specifies the font to use for debugging. Default is AUTO.
1117
1118 -debugger_font_size, -dfontsize size
1119 Specifies the font size to use for debugging.
1120
1121 -[no]oslog
1122 Outputs the error.log data to the system debugger. This can be
1123 used at the same time as -log to output the log data to both
1124 targets as well. Default is OFF (-nooslog).
1125
1126 Misc options
1127 -[no]drc
1128 Enable DRC cpu core if available. Default is ON (-drc).
1129
1130 -[no]drc_use_c
1131 Force DRC use C backend. Default is OFF (-nodrc_use_c).
1132
1133 -[no]drc_log_uml
1134 Write DRC UML disassembly log. Default is OFF (-nodrc_log_uml).
1135
1136 -[no]drc_log_native
1137 Write DRC native disassembly log. Default is OFF
1138 (-no_drc_log_native).
1139
1140 -bios biosname
1141 Specifies the specific BIOS to use with the current system, for
1142 systems that make use of a BIOS. The -listxml output will list
1143 all of the possible BIOS names for a system. The default is 'de‐
1144 fault'.
1145
1146 -[no]cheat, -[no]c
1147 Activates the cheat menu with autofire options and other tricks
1148 from the cheat database, if present. The default is OFF
1149 (-nocheat).
1150
1151 -[no]skip_gameinfo
1152 Forces MESS to skip displaying the system info screen. The de‐
1153 fault is OFF (-noskip_gameinfo).
1154
1155 -uifont fontname
1156 Specifies the name of a BDF font file to use for the UI font. If
1157 this font cannot be found or cannot be loaded, the system will
1158 fall back to its built-in UI font. On some platforms fontname
1159 can be a system font name instead of a BDF font file. The de‐
1160 fault is 'default' (use the OSD-determined default font).
1161
1162 -ui simple|cabinet
1163 Type of UI.
1164
1165 -ramsize, -ram value
1166 Size of RAM (if supported by driver).
1167
1168 -[no]confirm_quit
1169 Display confirm quit screen on exit. Default is ON (-con‐
1170 firm_quit).
1171
1172 -[no]ui_mouse
1173 Display UI mouse cursor. Default is OFF (-noui_mouse).
1174
1175 -autoboot_command, -ab command
1176 Command string to execute after machine boot (in quotes ""). To
1177 issue a quote to the emulation, use """ in the string. Using \n
1178 will issue a create a new line, issuing what was typed prior as
1179 a command. Example: -autoboot_command "load """$""",8,1\n".
1180
1181 -autoboot_delay [value]
1182 Timer delay (in seconds) to trigger command execution on auto‐
1183 boot. Default is 2.
1184
1185 -autoboot_script, -script [filename.lua]
1186 File containing scripting to execute after machine boot.
1187
1188 -[no]http
1189 Enable local http server. Default is OFF (-nohttp).
1190
1191 -http_port port
1192 Internal webserver listener port.
1193
1194 -http_path path
1195 Path to web files. Default is /usr/share/games/mess/web.
1196
1197 -[no]console
1198 Enable emulator LUA console. Default is OFF (-noconsole).
1199
1200 -[no]plugins
1201 Enable LUA plugin support. Default is ON (-plugins).
1202
1203 -plugin value
1204 List of plugins to enable.
1205
1206 -noplugin value
1207 List of plugins to disable.
1208
1209 -language, -lang value
1210 Display language. Default is 'English'.
1211
1212 -newui, -nu
1213 Use the new MESS UI.
1214
1215 -watchdog value
1216 Specifies a number of seconds after which MESS should automati‐
1217 cally exit if it detects that the emulation has locked up.
1218
1220 castool(1), chdman(1), floptool(1), imgtool(1)
1221
1223 Please visit the MAME website for some important legal information:
1224
1225 http://mamedev.org/legal.html
1226
1227
1228
12290.162 2015-05-20 MESS(6)