From 74fe6e9d5ca562915fcb70614d36d1b5101e695b Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Mon, 13 Jun 2022 16:53:23 +1000 Subject: -Got rid of some legacy MESS support glue. * Got rid of the special-casing for the "mess" subtarget name. * Got rid of the MESS-specific Windows resources, emuator info source and man page. * Added subtarget name to the internal name and original name in Windows resources. -ui: Put the system-specific items on the input settings menu together, and fixed the crosshair visibility settings. --- docs/man/mess.6 | 1332 ------------------------------- docs/source/usingmame/mamemenus.rst | 8 +- scripts/build/verinfo.py | 256 +++--- scripts/resources/windows/mame/mame.rc | 3 - scripts/resources/windows/mess/mess.ico | Bin 372526 -> 0 bytes scripts/resources/windows/mess/mess.man | 16 - scripts/resources/windows/mess/mess.rc | 14 - scripts/src/main.lua | 138 ++-- src/frontend/mame/ui/inputopts.cpp | 9 +- src/frontend/mame/ui/miscmenu.cpp | 2 +- src/mame/mame.cpp | 4 +- src/mame/mess.cpp | 23 - 12 files changed, 213 insertions(+), 1592 deletions(-) delete mode 100644 docs/man/mess.6 delete mode 100644 scripts/resources/windows/mess/mess.ico delete mode 100644 scripts/resources/windows/mess/mess.man delete mode 100644 scripts/resources/windows/mess/mess.rc delete mode 100644 src/mame/mess.cpp diff --git a/docs/man/mess.6 b/docs/man/mess.6 deleted file mode 100644 index 07293db867f..00000000000 --- a/docs/man/mess.6 +++ /dev/null @@ -1,1332 +0,0 @@ -.\" -*- nroff -*- -.\" -.\" mess.6 -.\" -.\" Man page created from usage and source information: -.\" * commands: see src/emu/clifront.c clifront.h -.\" * options: core entries, see src/emu/emuopts.c emuopts.h -.\" SDL-specific entries, see src/osd/sdl/sdlmain.c osdsdl.h -.\" Cesare Falco , March 2011 -.\" -.\" Some text borrowed from the xmame 0.106 man page, -.\" done by Rene Herrmann , September 2000 -.\" and updated by Andrew Burton , July 2003 -.\" -.\" Other info's taken from MESS Wiki as well: -.\" http://mess.redump.net -.\" -.\" -.TH MESS 6 2015-05-20 0.162 "MESS \- Multi Emulator Super System" -.\" -.\" -.\" NAME chapter -.SH NAME -MESS \- Multi Emulator Super System -.\" -.\" -.\" SYNOPSIS chapter -.SH SYNOPSIS -.B mess -.I system -.RI [ "media software" ] -.RI [ options ] -.\" -.\" -.\" DESCRIPTION chapter -.SH DESCRIPTION -MESS documents the hardware for a wide variety of (mostly vintage) computers, -video game consoles, and calculators through software emulation. As a nice -side effect, MESS allows software and games for these hardware platforms -to run on modern PCs. -.\" -.\" -.\" SOFTWARE chapter -.SH SOFTWARE -A \fIsoftware\fR entry may be specified to attach an image file to the -emulated system. In such a case, the appropriate \fImedia\fR switch -is also required: -.TP -.B \-cart, \-cart1 -Cartrigde, used mainly by game consoles -.TP -.B \-cass -Cassette (tape), widely used by old home computers -.TP -.B \-flop, -flop1 -Floppy disk -.TP -.B \-cdrom -CD-Rom -.\" -.\" -.\" OPTIONS chapter -.SH OPTIONS -.\" -.\" ******************************************************* -.SS Core commands -.\" ******************************************************* -.TP -.B \-help, \-? -Displays current MESS version and copyright notice. -.TP -.B \-validate, \-valid -Performs internal validation on every driver in MESS. Run this -before submitting changes to ensure that you haven't violated any of -the core system rules. -.\" -.\" ******************************************************* -.SS Configuration commands -.\" ******************************************************* -.TP -.B \-createconfig, \-cc -Creates the default \fBmess.ini\fR file in the current directory. All the -configuration options (not commands) described below can be permanently -changed by editing this configuration file. -.TP -.B \-showconfig, \-sc -Displays the current configuration settings. -.TP -.B \-showusage, \-su -Displays a summary of all the command line options. For options that -are not mentioned here, the short summary given by \fB\-showusage\fR -is usually sufficient. -.\" -.\" ******************************************************* -.SS Frontend commands -.\" ******************************************************* -All the list commands below write info to the screen. -If you wish to write the info to a textfile instead, use redirection. -For example, -.B mess \-listxml > ~/messlist.xml -writes the full list of supported systems to \fBmesslist.xml\fR in your -home directory. -.TP -.B \-listxml, \-lx \fR[\fIsystem\fR|\fIwildcard\fR] -List comprehensive details for all of the supported systems. The output -is quite long, so it is usually better to redirect this into a file. -The output is in XML format. By default all systems are listed; however, -you can limit this list by specifying a driver name or wildcard after -the \-listxml command. -.TP -.B \-listfull, \-ll \fR[\fIsystem\fR|\fIwildcard\fR] -Displays a list of system driver names and descriptions. By default all -systems are listed; however, you can limit this list by specifying a -driver name or wildcard after the \-listfull command. -.TP -.B \-listsource, \-ls \fR[\fIsystem\fR|\fIwildcard\fR] -Displays a list of drivers and the names of the source files their system -drivers live in. Useful for finding which driver a system runs on in -order to fix bugs. By default all systems are listed; however, you can -limit this list by specifying a driver name or wildcard after the -\-listsource command. -.TP -.B \-listclones, \-lc \fR[\fIsystem\fR|\fIwildcard\fR] -Displays a list of clones. By default all clones are listed; however, -you can limit this list by specifying a driver name or wildcard after -the \-listclones command. -.TP -.B \-listbrothers, \-lb \fR[\fIsystem\fR|\fIwildcard\fR] -Displays a list of "brothers" or other drivers from same sourcefile. -By default all systems are listed; however, you can limit this list by -specifying a driver name or wildcard after the \-listbrothers command. -.TP -.B \-listcrc -Displays a full list of CRCs of all ROM images referenced by all -drivers within MESS code. -.TP -.B \-listroms, \-lr \fIsystem -Displays a list of ROM images referenced by the specified system. -.TP -.B \-listsamples \fIsystem -Displays a list of samples referenced by the specified system. -.TP -.B \-verifyroms \fR[\fIsystem\fR|\fIwildcard\fR] -Checks for invalid or missing ROM images. By default all drivers that -have valid ZIP files or directories in the rom path are verified; -however, you can limit this list by specifying a driver name or -wildcard after the \-verifyroms command. -.TP -.B \-verifysamples \fR[\fIsystem\fR|\fIwildcard\fR] -Checks for invalid or missing samples. By default all drivers that -have valid ZIP files or directories in the samplepath are verified; -however, you can limit this list by specifying a driver name or -wildcard after the \-verifyroms command. -.TP -.B \-romident -Attempts to identify ROM files, if they are known to MESS, in the -specified .zip file or directory. This command can be used to try and -identify ROM sets taken from unknown boards. On exit, the errorlevel -is returned as one of the following: -.br -\fB0\fR all files were identified -.br -\fB7\fR all files were identified except for some "non\-ROM" files -.br -\fB8\fR some files were identified -.br -\fB9\fR no files were identified -.TP -.B \-listdevices, \-ld -Output the list of devices referenced by a given system or set of systems. -.TP -.B \-listslots, \-lslot -Output the list of available slots and slot devices for the system. -.TP -.B \-listmedia, \-lm -Output the list of available media for the system. -.TP -.B \-listsoftware, \-lsoft -Output the list of known software for the system. -.TP -.B \-verifysoftware, \-vsoft \fR[\fIgamename\fR|\fIwildcard\fR] -Checks for invalid or missing ROM images in your software lists. -By default all drivers that have valid ZIP files or directories -in the rompath are verified; however, you can limit this list by -specifying a specific driver name or wildcard. -.TP -.B \-getsoftlist, \-glist -Retrieve software list by name. -.TP -.B \-verifysoftlist, \-vlist \fR[\fIsoftwarelistname\fR] -Checks a specified software list for missing ROM images if files exist -for issued softwarelistname. By default, all drivers that have valid -ZIP files or directories in the rompath are verified; however, you can -limit this list by specifying a specific softwarelistname (without .XML). -.TP -.B \-listmidi, \-mlist -List available MIDI I/O devices. -.TP -.B \-listnetwork, \-nlist -List available network adapters. -.\" -.\" ******************************************************* -.SS Configuration options -.\" ******************************************************* -.TP -.B \-[no]readconfig, \-[no]rc -Enables or disables the reading of the config files. When enabled -(which is the default), MESS reads the following config files in order: -.br -1. \fBmess.ini\fR -.br -the main configuration file -.br -2. \fI[driver]\fB.ini\fR -.br -based on the source file name of the system driver -.br -3. \fBdebug.ini\fR, if the debugger is enabled -.br -4. \fBvector.ini\fR, for vector games only -.br -5. \fI[driver]\fB.ini\fR -.br -based on the source filename of the game driver -.br -6. \fI[parent]\fB.ini\fR -.br -for clones only, may be called recursively -.br -4. \fI[system]\fB.ini\fR -.br -note this sometimes resolves to the same of the source driver -.P -The settings in the later ini's override those in the earlier ini's. -The default is ON (\-readconfig). -.TP -.B \-[no]writeconfig, \-[no]wc -Write configuration to \fI[driver]\fR.ini on exit. -Default is OFF (\-nowriteconfig). -.\" -.\" ******************************************************* -.SS Search path options -.\" ******************************************************* -Be careful to use the path, directory and file options in -mess.ini ONLY. Otherwise, the outcome may be unpredictable and not -consistent across releases. -.TP -.B \-rompath, \-rp, \-biospath, \-bp \fIpathname -Specifies a list of paths within which to find ROM or hard disk images. -Multiple paths can be specified by separating them with semicolons. -The default is 'roms' (that is, a directory 'roms' in the same directory -as the MESS executable). -.TP -.B \-hashpath \fIpathname -Specifies a list of paths within which to search for software hash files. -Multiple paths can be specified by separating them with semicolons. -The default is 'hash' (that is, a directory 'hash' in the same directory -as the MESS executable). -.TP -.B \-samplepath, \-sp \fIpathname -Specifies a list of paths within which to find sample files. Multiple -paths can be specified by separating them with semicolons. The default -is 'samples' (that is, a directory 'samples' in the same directory as -the MESS executable). -.TP -.B \-artpath, \-artwork_directory \fIpathname -Specifies a list of paths within which to find artwork files. Multiple -paths can be specified by separating them with semicolons. The default -is 'artwork' (that is, a directory 'artwork' in the same directory as -the MESS executable). -.TP -.B \-ctrlrpath, \-ctrlr_directory \fIpathname -Specifies a list of paths within which to find controller\-specific -configuration files. Multiple paths can be specified by separating -them with semicolons. The default is 'ctrlr' (that is, a -directory 'ctrlr' in the same directory as the MESS executable). -.TP -.B \-inipath \fIpathname -Specifies a list of paths within which to find .ini files. Multiple -paths can be specified by separating them with semicolons. The default -is '/etc/mess'. -.TP -.B \-fontpath \fIpathname -Specifies a list of paths within which to find .bdf font files. Multiple -paths can be specified by separating them with semicolons. The default -is '.' (that is, search in the same directory as the MESS executable). -.TP -.B \-cheatpath \fIpathname -Specifies a list of paths within which to find cheat files. Multiple -paths can be specified by separating them with semicolons. The default -is 'cheat' (that is, a directory 'cheat' in the same directory as -the MESS executable). -.TP -.B \-crosshairpath \fIpathname -Specifies a list of paths within which to find crosshair files. Multiple -paths can be specified by separating them with semicolons. The default -is 'crosshair' (that is, a directory 'crosshair' in the same directory as -the MESS executable). If the Crosshair is set to default in the menu, -MESS will look for system/cross#.png and then cross#.png in the -specified path, where # is the player number. Failing that, -MESS will use built\-in default crosshairs. -.TP -.B \-pluginspath \fIpathname -Specifies a single path within which to find plugins. The default -is 'plugins' (that is, a directory 'plugins' in the same directory as -the MESS executable). -.TP -.B \-languagepath \fIpathname -Specifies a single path within which to find language files. The default -is 'language' (that is, a directory 'language' in the same directory as -the MESS executable). -.\" -.\" ******************************************************* -.SS Output Directory Options -.\" ******************************************************* -.TP -.B \-cfg_directory \fIpathname -Specifies a single directory where configuration files are stored. -Configuration files store user configurable settings that are read at -startup and written when MESS exits. The default is 'cfg' (that is, -a directory 'cfg' in the same directory as the MESS executable). If this -directory does not exist, it will be automatically created. -.TP -.B \-nvram_directory \fIpathname -Specifies a single directory where NVRAM files are stored. NVRAM files -store the contents of EEPROM and non\-volatile RAM (NVRAM) for systems -which used this type of hardware. This data is read at startup and -written when MESS exits. The default is 'nvram' (that is, a -directory 'nvram' in the same directory as the MESS executable). If this -directory does not exist, it will be automatically created. -.TP -.B \-input_directory \fIpathname -Specifies a single directory where input recording files are stored. -Input recordings are created via the \-record option and played back via -the \-playback option. The default is 'inp' (that is, a directory 'inp' -in the same directory as the MESS executable). If this directory -does not exist, it will be automatically created. -.TP -.B \-state_directory \fIpathname -Specifies a single directory where save state files are stored. Save -state files are read and written either upon user request, or when using -the \-autosave option. The default is 'sta' (that is, a directory 'sta' -in the same directory as the MESS executable). If this directory does -not exist, it will be automatically created. -.TP -.B \-snapshot_directory \fIpathname -Specifies a single directory where screen snapshots are stored, when -requested by the user. The default is 'snap' (that is, a directory 'snap' -in the same directory as the MESS executable). If this directory -does not exist, it will be automatically created. -.TP -.B \-diff_directory \fIpathname -Specifies a single directory where hard drive differencing files are -stored. Hard drive differencing files store any data that is written -back to a hard disk image, in order to preserve the original image. The -differencing files are created at startup when a system with a hard disk -image. The default is 'diff' (that is, a directory 'diff' in the same -directory as the MESS executable). If this directory does not exist, -it will be automatically created. -.TP -.B \-comment_directory \fIpathname -Specifies a single directory where debugger comment files are stored. -Debugger comment files are written by the debugger when comments are -added to the disassembly for a system. The default is 'comments' (that is, -a directory 'comments' in the same directory as the MESS executable). -If this directory does not exist, it will be automatically created. -.\" -.\" ******************************************************* -.SS State/playback options -.\" ******************************************************* -.TP -.B \-state \fIslot -Immediately after starting the specified system, will cause the save -state in the specified \fIslot\fP to be loaded. -.TP -.B \-[no]autosave -When enabled, automatically creates a save state file when exiting MESS -and automatically attempts to reload it when later starting MESS with -the same system. This only works for systems that have explicitly enabled -save state support in their driver. The default is OFF (\-noautosave). -.TP -.B \-playback, \-pb \fIfilename -Specifies a file from which to play back a series of system inputs. This -feature does not work reliably for all systems, but can be used to watch -a previously recorded system session from start to finish. In order to -make things consistent, you should only record and playback with all -configuration (.cfg), NVRAM (.nv), and memory card files deleted. The -default is NULL (no playback). -.TP -.B \-[no]exit_after_playback -If play back is enabled (see \-playback option) the program exits when -end of file is reached. Otherwise the machine will continue to run. -Default is OFF (\-noexit_after_playback). -.TP -.B \-record, \-rec \fIfilename -Specifies a file to record all input from a system session. This can be -used to record a system session for later playback. This feature does not -work reliably for all systems, but can be used to watch a previously -recorded system session from start to finish. In order to make things -consistent, you should only record and playback with all configuration -(.cfg), NVRAM (.nv), and memory card files deleted. The default is NULL -(no recording). -.TP -.B \-[no]record_timecode -Specify whether to create a timecode file. It contains a line with elapsed -times on each press of timecode shortcut key (default is F12). -This option works only when recording mode is enabled (\-record option). -The file is saved on inp folder. -Default is OFF (\-norecord_timecode). -.TP -.B \-mngwrite \fIfilename -Writes each video frame to the given file in MNG format, producing -an animation of the system session. -Note that \-mngwrite only writes video frames; it does not save any audio -data. Use \-wavwrite for that, and reassemble the audio/video using -offline tools. The default is NULL (no recording). -.TP -.B \-aviwrite \fIfilename -Stream video and sound data to the given file -in AVI format, producing an animation of the system session complete -with sound. The default is NULL (no recording). -.TP -.B \-wavwrite \fIfilename -Writes the final mixer output to the given file -in WAV format, producing an audio recording of the system session. -The default is NULL (no recording). -.TP -.B \-snapname \fIstring -Describes how MESS should name files for snapshots. \fIstring\fP -provides a template that is used to generate a filename. Three -simple substitutions are provided: the / character represents the -path separator on any target platform (even Windows); the literal \fB%g\fP -represents the driver name of the current system; and the literal \fB%i\fP -represents an incrementing index. If \fB%i\fP is omitted, then each -snapshot taken will overwrite the previous one; otherwise, MESS will -find the next empty value for \fB%i\fP and use that for a filename. The -default is \fB%g/%i\fP, which creates a separate folder for each system, -and names the snapshots under it starting with 0000 and increasing -from there. In addition to the above, for drivers using different -media, like carts or floppy disks, you can also use the -\fB%d\fP\fI_[media]\fP indicator. Replace \fI[media]\fP with the media -switch you want to use. A few examples: if you use -.B mess nes \-cart robby \-snapname %g/%d_cart -snapshots will be saved as \fBsnaps/nes/robby.png\fP; if you use -.B mess c64 \-flop1 robby \-snapname %g/%d_flop1/%i -snapshots will be saved as \fBsnaps/c64/robby/0000.png\fP. -.TP -.B \-snapsize \fIwidth\fRx\fIheight -Hard\-codes the size for snapshots and movie recording. By default, -MESS will create snapshots at the system's current resolution in raw -pixels, and will create movies at the system's starting resolution in -raw pixels. If you specify this option, then MESS will create both -snapshots and movies at the size specified, and will bilinear filter -the result. Note that this size does not automatically rotate if the -system is vertically oriented. The default is 'auto'. -.TP -.B \-snapview internal\fR|\fBauto\fR|\fIviewname -Specifies the view to use when rendering snapshots and movies. By -default, both use a special 'internal' view, which renders a separate -snapshot per screen or renders movies only of the first screen. By -specifying this option, you can override this default behavior and -select a single view that will apply to all snapshots and movies. -Note that \fIviewname\fP does not need to be a perfect match; rather, it -will select the first view whose name matches all the characters -specified by \fIviewname\fP. For example, \-snapview native will match the -"Native (15:14)" view even though it is not a perfect match. -\fIviewname\fP can also be 'auto', which selects the first view with all -screens present. The default value is 'internal'. -.TP -.B \-[no]snapbilinear -Specify whether snapshot/movie should have bilinear filtering applied. -Default is ON (\-snapbilinear). -.TP -.B \-statename \fIstring -Describes how MESS should store save state files, relative to the -state_directory path. \fIstring\fP provides a template that -is used to generate a relative path. Two simple substitutions are -provided: the / character represents the path separator on any target -platform (even Windows); the literal \fB%g\fP represents the driver name of -the current game. The default is '%g', which creates a separate folder -for each game. In addition to the above, for drivers using different -media, like carts or floppy disks, you can also use the -\fB%d_\fP\fI[media]\fP indicator. Replace \fI[media]\fP with the media -switch you want to use. A few examples: if you use -.B mess nes \-cart robby \-statename %g/%d_cart -save states will be stored inside \fBsta/nes/robby/\fP; if you use -.B mess c64 \-flop1 robby \-statename %g/%d_flop1 -save states will be stored inside \fBsta/c64/robby/\fP. -.TP -.B \-[no]burnin -Tracks brightness of the screen during play and at the end of -emulation generates a PNG that can be used to simulate burn\-in -effects on other systems. The resulting PNG is created such that the -least\-used areas of the screen are fully white (since burned\-in areas -are darker, all other areas of the screen must be lightened a touch). -The intention is that this PNG can be loaded via an artwork file with -a low alpha (e.g, 0.1\-0.2 seems to work well) and blended over the -entire screen. The PNG files are saved in the snap directory under -the system/burnin\-.png. The default is OFF (\-noburnin). -.\" -.\" ******************************************************* -.SS Performance options -.\" ******************************************************* -.TP -.B \-[no]autoframeskip, \-[no]afs -Automatically determines the frameskip level while you're playing the -system, adjusting it constantly in a frantic attempt to keep the system -running at full speed. Turning this on overrides the value you have set -for \-frameskip below. The default is OFF (\-noautoframeskip). -.TP -.B \-frameskip, \-fs \fIvalue -Specifies the frameskip value (autoframeskip must be disabled). This is the -number of frames out of every 12 to drop when running. For example, if you -say \-frameskip 2, then MESS will display 10 out of every 12 frames. By -skipping those frames, you may be able to get full speed in a system that -requires more horsepower than your computer has. The default value is 0, -which skips no frames. -.TP -.B \-seconds_to_run, \-str \fIvalue -This option can be used for benchmarking and automated testing. It tells -MESS to stop execution after a fixed number of seconds. By combining -this with a fixed set of other command line options, you can set up a -consistent environment for benchmarking MESS performance. In addition, -upon exit, the \-str option will write a screenshot called final.png -to the system's snapshot directory. -.TP -.B \-[no]throttle -Configures the default thottling setting. When throttling is on, MESS -attempts to keep the system running at the system's intended speed. When -throttling is off, MESS runs the system as fast as it can. Note that the -fastest speed is more often than not limited by your graphics card, -especially for older systems. The default is ON (\-throttle). -.TP -.B \-[no]sleep -Allows MESS to give time back to the system when running with \-throttle. -This allows other programs to have some CPU time, assuming that the -system isn't taxing 100% of your CPU resources. This option can potentially -cause hiccups in performance if other demanding programs are running. -The default is ON (\-sleep). -.TP -.B \-speed \fIvalue -Controls the speed of gameplay, relative to realtime; smaller numbers are -slower. Default is 1.00. -.TP -.B \-[no]refreshspeed, \-[no]rs -Automatically adjusts the \fB\-speed\fR parameter to keep the effective refresh -rate below that of the lowest screen refresh rate. -Default is OFF (\-norefreshspeed). -.\" -.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -.\" OS specific -.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -.TP -.B \-numprocessors, \-np \fIvalue -Set number of processors; this overrides the number the system reports. -.TP -.B \-bench \fIvalue -Benchmark for the given number of emulated seconds; -implies \-video none \-sound none \-nothrottle. -.\" -.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -.\" SDL specific -.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -.TP -.B \-[no]sdlvideofps -Show SDL video performance. Default is OFF (\-nosdlvideofps). -.\" -.\" ******************************************************* -.SS Rotation options -.\" ******************************************************* -.TP -.B \-[no]rotate -Rotate the system to match its normal state (horizontal/vertical). This -ensures that both vertically and horizontally oriented systems show up -correctly without the need to rotate your monitor. If you want to keep -the system displaying 'raw' on the screen the way the actual machine would -have, turn this option off. The default is ON (\-rotate). -.TP -.B \-[no]ror \-[no]rol -Rotate the system screen to the right (clockwise) or left -(counter\-clockwise) relative to either its normal state (if \-rotate -is specified) or its native state (if \-norotate is specified). -Default for both is OFF (\-noror \-norol). -.TP -.B \-[no]autoror \-[no]autorol -These options are designed for use with pivoting screens that only -pivot in a single direction. If your screen only pivots clockwise, -use \-autorol to ensure that the system will fill the screen either -horizontally or vertically in one of the directions you can handle. -If your screen only pivots counter\-clockwise, use \-autoror. -Default for both is OFF (\-noautoror \-noautorol). -.TP -.B \-[no]flipx \-[no]flipy -Flip (mirror) the system screen either horizontally (\-flipx) or -vertically (\-flipy). The flips are applied after the \-rotate and -\-ror/\-rol options are applied. -Default for both is OFF (\-noflipx \-noflipy). -.\" -.\" ******************************************************* -.SS Artwork options -.\" ******************************************************* -.TP -.B \-[no]artwork_crop, \-[no]artcrop -Enable cropping of artwork to the system screen area only. This -option can also be controlled via the Video Options menu in the user -interface. The default is OFF (\-noartwork_crop). -.TP -.B \-[no]use_backdrops, \-[no]backdrop -Enables/disables the display of backdrops. The default is ON -(\-use_backdrops). -.TP -.B \-[no]use_overlays, \-[no]overlay -Enables/disables the display of overlays. The default is ON -(\-use_overlays). -.TP -.B \-[no]use_bezels, \-[no]bezel -Enables/disables the display of bezels. The default is ON -(\-use_bezels). -.TP -.B \-[no]use_cpanels, \-[no]cpanel -Enables/disables the display of cpanels. The default is ON -(\-use_bezels). -.TP -.B \-[no]use_marquees, \-[no]marquee -Enables/disables the display of marquees. The default is ON -(\-use_bezels). -.\" -.\" ******************************************************* -.SS Screen options -.\" ******************************************************* -.TP -.B \-brightness \fIvalue -Controls the default brightness, or black level, of the system screens. -This option does not affect the artwork or other parts of the display. -Using the MESS UI, you can individually set the brightness for each system -screen; this option controls the initial value for all visible system -screens. The standard value is 1.0. Selecting lower values (down to 0.1) -will produce a darkened display, while selecting higher values (up to -2.0) will give a brighter display. The default is 1.0. -.TP -.B \-contrast \fIvalue -Controls the contrast, or white level, of the system screens. This option -does not affect the artwork or other parts of the display. Using the -MESS UI, you can individually set the contrast for each system screen; -this option controls the initial value for all visible system screens. The -standard value is 1.0. Selecting lower values (down to 0.1) will produce -a dimmer display, while selecting higher values (up to 2.0) will -give a more saturated display. The default is 1.0. -.TP -.B \-gamma \fIvalue -Controls the gamma, which produces a potentially nonlinear black to -white ramp, for the system screens. This option does not affect the -artwork or other parts of the display. Using the MESS UI, you can -individually set the gamma for each system screen; this option controls -the initial value for all visible system screens. The standard value is -1.0, which gives a linear ramp from black to white. Selecting lower -values (down to 0.1) will increase the nonlinearity toward black, -while selecting higher values (up to 3.0) will push the nonlinearity -toward white. The default is 1.0. -.TP -.B \-pause_brightness \fIvalue -This controls the brightness level when MESS is paused. The default -value is 0.65. -.TP -.B \-effect\fR [\fInone\fR|\fIfilename[.png]\fR] -Name of a PNG file to use for visual effects, or 'none'. Default is 'none'. -.\" -.\" ******************************************************* -.SS Vector rendering options -.\" ******************************************************* -.TP -.B \-beam_width_min \fIvalue -.TP -.B \-beam_width_max \fIvalue -Sets the minimum and maximum width of the vectors. This is a scaling factor -against the standard vector width, which is interpolated between minimum and -maximum according to the beam's intensity. A value of 1.0 will keep the -default vector line width. Smaller values will reduce the width, and larger -values will increase the width. The default is 1.0. -.TP -.B \-beam_intensity_weight \fIvalue -Applies an exponential weight to the minimum and maximum beam width. For -positive values the interpolated scaling factor will affect lines with higher -intensity more than lines with lower intensity. The default is 0.0. -.TP -.B \-flicker \fIvalue -Simulates a vector "flicker" effect, similar to a vector monitor that -needs adjustment. This option requires a float argument in the range of -0.00\-100.00 (0=none, 100=maximum). The default is 0. -.\" -.\" ******************************************************* -.SS Video options -.\" ******************************************************* -.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -.\" SDL specific -.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -.TP -.B \-video\fR [\fIsoft\fR|\fIopengl\fR|\fIbgfx\fR|\fInone\fR] -Specifies which video subsystem to use for drawing: -.br -\fBsoft\fR uses software rendering, which is slower but more compatible. -.br -\fBopengl\fR uses OpenGL and your graphics accelerator to speed up many -aspects of drawing MAME including compositing artwork, overlays, and -bezels, as well as stretching the image to fit your screen. -.br -\fBbgfx\fR uses the bgfx renderer which supports portable shaders and -multiple graphics APIs including OpenGL, OpenGL ES and DirectX. -.br -\fBnone\fR does no drawing and is intended for CPU benchmarking. -.br -Default is 'soft' on Linux or 'opengl' on macOS. -.TP -.B \-numscreens \fR[\fI1-4\fR] -Number of screens to create; usually, you want just one. Default is '1'. -.TP -.B \-[no]window, \-[no]w -Run MESS in either full screen or a window. This is a fully\-featured window -mode where the window resizes as necessary to track what the system does. -And you can resize it yourself with your OS's standard window controls. -The default is OFF (\-nowindow). -.TP -.B \-[no]maximize, \-[no]max -Controls initial window size in windowed mode. If it is set on, the -window will initially be set to the maximum supported size when you -start MESS. If it is turned off, the window will start out at the -smallest supported size. This option only has an effect when the -\-window option is used. The default is ON (\-maximize). -.TP -.B \-[no]keepaspect, \-[no]ka -Forces the correct aspect ratio. This means when you're resizing the window -in windowed mode the actual system image will resize in discrete steps to -maintain the proper shape of the system graphics. If you turn this off you can -resize the window to anything you like and get funny squishing and stretching. -The same applies for full\-screen. Default is ON (\-keepaspect). -.TP -.B \-[no]unevenstretch, \-[no]ues -Allow non\-integer stretch factors. Video purists should stay far, far away -from this option, while everyone else will be happy to know that it lets you -fill the screen properly in full\-screen mode. Default is ON (\-unevenstretch). -.TP -.B \-[no]unevenstretchx, \-[no]uesx -Act as \-[no]unevenstretch on horizontal basis only. -.TP -.B \-[no]intoverscan, \-[no]ios -Allow overscan on integer scaled targets. -.TP -.B \-intscalex, \-sx -Set horizontal integer scale factor. -.TP -.B \-intscaley, \-sy -Set vertical integer scale factor. -.TP -.B \-[no]centerh -Center horizontally within the view area. Default is ON (\-centerh). -.TP -.B \-[no]centerv -Center vertically within the view area. Default is ON (\-centerv). -.TP -.B \-[no]waitvsync, \-[no]vs -Enable waiting for the start of VBLANK before flipping screens; -reduces tearing effects. Default is OFF (\-nowaitvsync). -.TP -.B \-[no]syncrefresh, \-[no]srf -Enable using the start of VBLANK for throttling instead of the game time. -Default is OFF (\-nosyncrefresh). -.\" -.\" ******************************************************* -.SS Software video rendering subsystem options -.\" ******************************************************* -.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -.\" SDL specific -.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -.B NOTE: -All the options in this group are available only with softare video -rendering subsystem, i.e \fB\-video soft\fR. -.TP -.B \-prescale\fR [\fIvalue\fR] -Scale screen rendering by this amount in software. Default is 1. -.TP -.B \-scalemode, \-sm \fR[\fInone\fR|\fIasync\fR|\fIyv12\fR|\fIyuy2\fR|\fIyv12x2\fR|\fIyuy2x2\fR] -Hardware scaling mode. -.br -\fBnone\fR use software rendering. -.br -\fBasync\fR async overlay. -.br -\fByv12\fR yv12 overlay. -.br -\fByuy2\fR yuy2 overlay. -.br -\fByv12x2\fR yv12 overlay using x2 prescaling. -.br -\fByuy2x2\fR yuy2 overlay using x2 prescaling. -.br -Default is NONE. -.\" -.\" ******************************************************* -.SS OpenGL video rendering subsystem options -.\" ******************************************************* -.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -.\" SDL specific -.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -.B NOTE: -All the options in this group are available only with OpenGL video -rendering subsystem, i.e \fB\-video opengl\fR. -.TP -.B \-[no]filter, \-[no]glfilter, \-[no]flt -Enable bilinear filtering on screen output. Default is ON (\-filter). -.TP -.B \-prescale\fR [\fIvalue\fR] -Scale screen rendering by this amount in software. Default is 1. -.TP -.B \-[no]gl_forcepow2texture -Force power of two textures. Default is OFF (\-nogl_forcepow2texture). -.TP -.B \-[no]gl_notexturerect -Don't use OpenGL GL_ARB_texture_rectangle. Turn off if -corruption occurs in OpenGL mode, at cost of some performance -loss. Default is ON (\-gl_notexturerect). -.TP -.B \-[no]gl_vbo -Enable OpenGL VBO, if available, for a performance increase. -Turn off if corruption occurs. Default is ON (\-gl_vbo). -.TP -.B \-[no]gl_pbo -Enable OpenGL PBO, if available, for a performance increase. -Turn off if corruption occurs. Default is ON (\-gl_pbo). -.TP -.B \-[no]gl_glsl -Enable OpenGL GLSL, if available, for a performance increase. -Default is OFF (\-nogl_glsl). -.TP -.B \-gl_glsl_filter \fIvalue -Enable OpenGL GLSL filtering instead of FF filtering 0=plain, 1=bilinear. -Default is 1: bilinear. -.TP -.BR \-glsl_shader_mame[0\-9] -Preferred custom OpenGL GLSL shader set mame bitmap (from 0 to 9). -.TP -.BR \-glsl_shader_screen[0\-9] -Preferred custom OpenGL GLSL shader screen bitmap (from 0 to 9). -.TP -.B \-gl_glsl_vid_attr -Enable OpenGL GLSL handling of brightness and contrast. Better RGB system -performance for free. Default is ON. -.TP -.B \-screen -Explicit name for all screens; 'auto' here will try to make a best guess. -.TP -.B \-aspect, \-screen_aspect -Aspect ratio for all screens; 'auto' here will try to make a best guess. -.TP -.B \-resolution, \-r -Preferred resolution for all screens; -format is \fIwidth\fRx\fIheight\fR[@\fIrefreshrate\fR] or 'auto'. -.TP -.B \-view -Preferred view for all screens -.TP -.B \-screen[0\-3] -Explicit name of the first|second|third|fourth screen; 'auto' here will try -to make a best guess. -.TP -.B \-aspect[0\-3] -Aspect ratio of the first|second|third|fourth screen; 'auto' here will try -to make a best guess. -.TP -.B \-resolution[0\-3], \-r[0\-3] -Preferred resolution for the first|second|third|fourth screen; -format is \fIwidth\fRx\fIheight\fR[@\fIrefreshrate\fR] or 'auto'. -.TP -.B \-view[0\-3] -Preferred view for the first|second|third|fourth screen. -.\" -.\" ******************************************************* -.SS BGFX post\-processing options -.\" ******************************************************* -.B NOTE: -All the options in this group are available only when BGFX video -post\-processing is enabled, i.e \fB\-video bgfx\fR. For full info on BGFX -please visit official MAME documentation page: -.br -http://docs.mamedev.org/advanced/bgfx.html -.TP -.B \-bgfx_path \fIpathname -This is where your BGFX shader files are stored. -The default is 'bgfx' (that is, a directory "bgfx" in the same directory -as the MESS executable). -.TP -.B \-bgfx_backend \fIauto\fR|\fIopengl\fR -Selects a rendering backend for BGFX to use. The default is 'auto', -which will let MESS choose the best selection for you. -.TP -.B \-bgfx_debug -Enables BGFX debugging features. Most users will not need to use this. -.TP -.B \-bgfx_screen_chains \fIdefault\fR|\fIunfiltered\fR|\fIhlsl\fR[,...] -This dictates how to handle BGFX rendering on a per\-display basis. -For each display specify one of the possible choices: -.br -\fBdefault\fR default bilinear filterered output -.br -\fBunfiltered\fR nearest neighbor unfiltered output -.br -\fBhlsl\fR HLSL display simulation through shaders -.br -Separate directives for each window with a comma (,) and for each physical -screen with a colon (:). For example, for an emulated game with 3 displays -emulated on 3 windows on your monitor, -.B \-bgfx_screen_chains default,unfiltered,default -specifies to apply default filter on what is been rendered on the first -and third window and leave the content of the second window unfiltered. -.TP -.B \-bgfx_shadow_mask \fIfilename -This specifies the shadow mask effect PNG file. Default is 'slot-mask.png'. -.TP -.B \-bgfx_avi_name \fIfilename -This specifies a filename for BGFX output logging. -.\" -.\" ******************************************************* -.SS Full screen options -.\" ******************************************************* -.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -.\" SDL specific -.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -.TP -.B \-[no]switchres -Affects full screen mode only. Chooses if MESS can try to change the screen -resolution (color depth is normally left alone) when in full\-screen mode. If -it's off, you always get your desktop resolution in full\-screen mode (which can -be useful for LCDs). Default is OFF (\-noswitchres). -.TP -.B \-[no]useallheads -Split full screen image across monitors. Default is OFF (\-nouseallhead). -.\" -.\" ******************************************************* -.SS Sound options -.\" ******************************************************* -.TP -.B \-sound\fR [\fIsdl\fR|\fIportaudio\fR|\fIcoreaudio\fR|\fIdsound\fR|\fIxaudio2\fR|\fInone\fR] -Specifies which sound subsystem to use for audio output: -.br -\fBsdl\fR uses the Simple DirectMedia Layer audio output system -(not available on Windows by default). -.br -\fBportaudio\fR uses the PortAudio library which supports low-latency -output and multiple audio APIs. -.br -\fBcoreaudio\fR uses the Core Audio API which supports low-latency -output and AudioUnit effects (only available on macOS). -.br -\fBdsound\fR uses the DirectSound API (only available on Windows). -.br -\fBxaudio2\fR uses the XAudio2 API which supports low-latency output -(only available on Windows). -.br -\fBnone\fR produces no audio output. -.br -Default is 'dsound' on Windows, 'coreaudio' on macOS or 'sdl' on other -platforms. -.TP -.B \-samplerate, \-sr \fIvalue -Sets the audio sample rate. Smaller values (e.g. 11025) cause lower -audio quality but faster emulation speed. Higher values (e.g. 48000) -cause higher audio quality but slower emulation speed. The default is -48000. -.TP -.B \-[no]samples -Use samples if available. The default is ON (\-samples). -.TP -.B \-[no]compressor -Enable audio compressor. It temporarily reduces the overall volume when -the audio output is overdriven. The default is ON (\-compressor). -.TP -.B \-volume, \-vol \fIvalue -Sets the startup volume. It can later be changed with the user interface -(see Keys section). The volume is an attenuation in dB: -for example, '\-volume \-12' will start with \-12dB attenuation. -The default is 0. -.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -.\" SDL specific -.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -.TP -.B \-audio_latency \fIvalue -This controls the amount of latency built into the audio streaming. -The exact behavior depends on the selected audio output module (see -the \-sound option). Smaller values provide less audio delay while -requiring better system performance. Higher values increase audio -delay but may help avoid buffer under-runs and audio interruptions. -The default is 1. -.\" -.\" ******************************************************* -.SS Input options -.\" ******************************************************* -.TP -.B \-[no]coin_lockout, \-[no]coinlock -Enables simulation of the "coin lockout" feature that is implemented -on a number of arcade game PCBs. It was up to the operator whether or not -the coin lockout outputs were actually connected to the coin -mechanisms. If this feature is enabled, then attempts to enter a coin -while the lockout is active will fail and will display a popup message -in the user interface. If this feature is disabled, the coin lockout -signal will be ignored. The default is ON (\-coin_lockout). -.TP -.B \-ctrlr \fIcontroller -Enables support for special controllers. Configuration files are -loaded from the ctrlrpath. They are in the same format as the .cfg -files that are saved, but only control configuration data is read -from the file. The default is NULL (no controller file). -.TP -.B \-[no]mouse -Controls whether or not MESS looks for a mouse controller to use. Note -that in many cases, lightguns are treated as mice by the operating -system, so you may need to enable this to enable lightgun support. When -this is enabled, you will not be able to use your mouse while running -MESS. If you want to get control of your computer back, you will need -to either pause MESS or quit. The default is OFF (\-nomouse). -.TP -.B \-[no]joystick, \-[no]joy -Controls whether or not MESS looks for joystick/gamepad controllers. -The default is ON (\-joystick). -.TP -.B \-[no]lightgun, \-[no]gun -Controls whether or not MESS makes use of lightgun controllers. -Note that most lightguns map to the mouse, so using \-lightgun and -\-mouse together may produce strange results. The default is OFF -(\-nolightgun). -.TP -.B \-[no]multikeyboard, \-[no]multikey -Determines whether MESS differentiates between multiple keyboards. -Some systems may report more than one keyboard; by default, the data -from all of these keyboards is combined so that it looks like a single -keyboard. Turning this option on will enable MESS to report keypresses -on different keyboards independently. The default is OFF -(\-nomultikeyboard). -.TP -.B \-[no]multimouse -Determines whether MESS differentiates between multiple mice. Some -systems may report more than one mouse device; by default, the data -from all of these mice is combined so that it looks like a single -mouse. Turning this option on will enable MESS to report mouse -movement and button presses on different mice independently. The -default is OFF (\-nomultimouse). -.TP -.B \-[no]steadykey, \-[no]steady -Some systems require two or more buttons to be pressed at exactly the -same time to make special moves. Due to limitations in the PC keyboard -hardware, it can be difficult or even impossible to accomplish that -using the standard keyboard handling. This option selects a different -handling that makes it easier to register simultaneous button presses, -but has the disadvantage of making controls less responsive. The -default is OFF (\-nosteadykey). -.TP -.B \-[no]ui_active -Enable MESS user interface on top of emulated keyboard (if present). -User interface may be toggled during execution by pressing the key -defined with \-ui_modekey. -Default is OFF (\-noui_active). -.TP -.B \-[no]offscreen_reload, \-[no]reload -Controls whether or not MESS treats a second button input from a -lightgun as a reload signal. In this case, MESS will report the gun's -position as (0,MAX) with the trigger held, which is equivalent to an -offscreen reload. This is only needed for systems that required you to -shoot offscreen to reload, and then only if your gun does not support -off screen reloads. The default is OFF (\-nooffscreen_reload). -.TP -.B \-joystick_map, \-joymap \fImap -Controls how joystick values map to digital joystick controls. -See /usr/share/doc/mame\-common/config.txt for full details on -joymap format. -.TP -.B \-joystick_deadzone, \-joy_deadzone, \-jdz \fIvalue -If you play with an analog joystick, the center can drift a little. -joystick_deadzone tells how far along an axis you must move before the -axis starts to change. This option expects a float in the range of -0.0 to 1.0. Where 0 is the center of the joystick and 1 is the outer -limit. The default is 0.3. -.TP -.B \-joystick_saturation, \-joy_saturation, \-jsat \fIvalue -If you play with an analog joystick, the ends can drift a little, -and may not match in the +/\- directions. joystick_saturation tells how -far along an axis movement change will be accepted before it reaches -the maximum range. This option expects a float in the range of 0.0 to -1.0, where 0 is the center of the joystick and 1 is the outer limit. -The default is 0.85. -.TP -.B \-[no]natural, \-[no]nat -Allows user to specify whether or not to use a natural keyboard. -This allows you to start your game or system in a 'native' mode, depending -on your region, allowing compatibility for non\-"QWERTY" style keyboards. -The default is OFF (\-nonatural). -.TP -.B \-[no]joystick_contradictory, \-[no]joy_contradictory -Enable contradictory direction digital joystick input at the same time. -Default is OFF (\-nojoystick_contradictory). -.TP -.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -.\" SDL specific -.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -.TP -.B \-uimodekey, \-umk \fIvalue -Specifies the key used to toggle between full and partial UI mode. -.TP -.B \-uifontprovider \fIauto\fR|\fIsdl\fR|\fInone -Provider for ui font. -.TP -.B \-output \fIconsole\fR|\fInetwork\fR|\fInone -Provider for output. -.TP -.B \-keyboardprovider \fIauto\fR|\fIsdl\fR|\fInone -Provider for keyboard input. -.TP -.B \-mouseprovider \fIauto\fR|\fIsdl\fR|\fInone -Provider for mouse input. -.TP -.B \-lightgunprovider \fIauto\fR|\fInone -Provider for lightgun input. -.TP -.B \-joystickprovider \fIauto\fR|\fIsdl\fR|\fInone -Provider for joystick input. -.TP -.B \-[no]keymap -Enable keymap for non\-QWERTY keyboards. Used in conjunction with -\fB\-keymap_file\fR. Default is OFF (\-nokeymap). -.TP -.B \-keymap_file \fIkeymap_file -Specifies the full path to the keymap file to be used. A few -keymap files are available in /usr/share/games/mess/keymaps. -.TP -.B \-joy_idx[0\-8] \fIjoystick -With these options you can assign a joystick to a -specific index in MESS. Even if the kernel will list the joysticks -in a different order on the next boot, MESS will still see the joystick -as e.g. "Joystick 2". Use mame \-v to see which joysticks are recognized. -Default is 'auto'. -.TP -.B \-[no]sixaxis -Use special handling for PS3 Sixaxis controllers. -Default is OFF (\-nosixaxis). -.TP -.B \-lightgun_index[1\-8] -Map lightgun to specific index in MESS. -.TP -.B \-videodriver, \-vd x11\fR|\fBdirectfb\fR|\fBauto -SDL video driver to use; auto selects SDL default. -.TP -.B \-audiodriver, \-ad alsa\fR|\fBarts\fR|\fBauto -SDL audio driver to use; auto selects SDL default. -.TP -.B \-gl_lib alsa\fR|\fBarts\fR|\fBauto -Alternative libGL.so to use; auto selects SDL default. -.\" -.\" ******************************************************* -.SS Input automatic enable options -.\" ******************************************************* -.TP -.B \-paddle_device, \-paddle \fR[\fInone\fR|\fIkeyboard\fR|\fImouse\fR|\fIlightgun\fR|\fIjoystick\fR] -.TP -.B \-adstick_device, \-adstick \fR[\fInone\fR|\fIkeyboard\fR|\fImouse\fR|\fIlightgun\fR|\fIjoystick\fR] -.TP -.B \-pedal_device, \-pedal \fR[\fInone\fR|\fIkeyboard\fR|\fImouse\fR|\fIlightgun\fR|\fIjoystick\fR] -.TP -.B \-dial_device, \-dial \fR[\fInone\fR|\fIkeyboard\fR|\fImouse\fR|\fIlightgun\fR|\fIjoystick\fR] -.TP -.B \-trackball_device, \-trackball \fR[\fInone\fR|\fIkeyboard\fR|\fImouse\fR|\fIlightgun\fR|\fIjoystick\fR] -.TP -.B \-lightgun_device \fR[\fInone\fR|\fIkeyboard\fR|\fImouse\fR|\fIlightgun\fR|\fIjoystick\fR] -.TP -.B \-positional_device \fR[\fInone\fR|\fIkeyboard\fR|\fImouse\fR|\fIlightgun\fR|\fIjoystick\fR] -.TP -.B \-mouse_device \fR[\fInone\fR|\fIkeyboard\fR|\fImouse\fR|\fIlightgun\fR|\fIjoystick\fR] -Each of these options controls automatically enabling the mouse, or -joystick depending on the presence of a particular class of analog -control for a particular system. For example, if you specify the option -\-paddle mouse, then any system that has a paddle control will automatically -enable mouse controls just as if you had explicitly specified \-mouse. -Note that these controls override the values of \-[no]mouse, \-[no]joystick, etc. -.\" -.\" ******************************************************* -.SS Debugging options -.\" ******************************************************* -.TP -.B \-[no]log -Creates a file called error.log which contains all of the internal -log messages generated by the MESS core and system drivers. The default -is OFF (\-nolog). -.TP -.B \-[no]verbose, \-[no]v -Displays internal diagnostic information. This information is very -useful for debugging problems with your configuration. -Please use the \-verbose option and include the resulting information -when reporting bugs. The default is OFF (\-noverbose). -.TP -.B \-[no]update_in_pause -Enables updating the screen bitmap while the system is paused. This is -useful for debuggin in some scenarios (and gets in the way in others). -Default is OFF (\-noupdate_in_pause). -.TP -.B \-[no]debug, \-[no]d -Activates the integrated debugger. By default, the debugger is entered -by pressing the tilde (~) key during emulation. It is also entered -immediately at startup. The default is OFF (\-nodebug). -.TP -.B \-debugscript \fIfilename -Specifies a file that contains a list of debugger commands to execute -immediately upon startup. The default is NULL (no commands). -.\" -.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -.\" SDL specific -.\" +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -.TP -.B \-debugger \fIdebugger_name -Name of the debugger to use. Default is AUTO. -.TP -.B \-debugger_font, \-dfont \fIfont_name -Specifies the font to use for debugging. Default is AUTO. -.TP -.B \-debugger_font_size, \-dfontsize \fIsize -Specifies the font size to use for debugging. -.TP -.B \-[no]oslog -Outputs the error.log data to the system debugger. This can be used at -the same time as \-log to output the log data to both targets as well. -Default is OFF (\-nooslog). -.\" -.\" ******************************************************* -.SS Misc options -.\" ******************************************************* -.TP -.B \-[no]drc -Enable DRC cpu core if available. Default is ON (\-drc). -.TP -.B \-[no]drc_use_c -Force DRC use C backend. Default is OFF (\-nodrc_use_c). -.TP -.B \-[no]drc_log_uml -Write DRC UML disassembly log. Default is OFF (\-nodrc_log_uml). -.TP -.B \-[no]drc_log_native -Write DRC native disassembly log. Default is OFF (\-no_drc_log_native). -.TP -.B \-bios \fIbiosname -Specifies the specific BIOS to use with the current system, for -systems that make use of a BIOS. The \-listxml output will list all of -the possible BIOS names for a system. The default is 'default'. -.TP -.B \-[no]cheat, \-[no]c -Activates the cheat menu with autofire options and other tricks from -the cheat database, if present. -The default is OFF (\-nocheat). -.TP -.B \-[no]skip_gameinfo -Forces MESS to skip displaying the system info screen. The default is OFF -(\-noskip_gameinfo). -.TP -.B \-uifont \fIfontname -Specifies the name of a BDF font file to use for the UI font. If this -font cannot be found or cannot be loaded, the system will fall back -to its built\-in UI font. On some platforms \fIfontname\fP can be a system -font name instead of a BDF font file. The default is 'default' (use -the OSD\-determined default font). -.TP -.B \-ui \fIsimple\fR|\fIcabinet -Type of UI. -.TP -.B \-ramsize, \-ram \fIvalue -Size of RAM (if supported by driver). -.TP -.B \-[no]confirm_quit -Display confirm quit screen on exit. Default is ON (\-confirm_quit). -.TP -.B \-[no]ui_mouse -Display UI mouse cursor. Default is OFF (\-noui_mouse). -.TP -.B \-autoboot_command, \-ab \fIcommand -Command string to execute after machine boot (in quotes ""). To issue -a quote to the emulation, use \fB"""\fP in the string. -Using \fB\\n\fP will issue a create a new line, issuing what was -typed prior as a command. Example: -\fB\-autoboot_command "load """$""",8,1\\n"\fP. -.TP -.B \-autoboot_delay \fR[\fIvalue\fP] -Timer delay (in seconds) to trigger command execution on autoboot. -Default is 2. -.TP -.B \-autoboot_script, \-script \fR[\fIfilename.lua\fP] -File containing scripting to execute after machine boot. -.TP -.B \-[no]http -Enable local http server. Default is OFF (\-nohttp). -.TP -.B \-http_port \fIport -Internal webserver listener port. -.TP -.B \-http_path \fIpath -Path to web files. Default is /usr/share/games/mess/web. -.TP -.B \-[no]console -Enable emulator LUA console. Default is OFF (\-noconsole). -.TP -.B \-[no]plugins -Enable LUA plugin support. Default is ON (\-plugins). -.TP -.B \-plugin \fIvalue -List of plugins to enable. -.TP -.B \-noplugin \fIvalue -List of plugins to disable. -.TP -.B \-language, \-lang \fIvalue -Display language. Default is 'English'. -.TP -.B \-newui, \-nu -Use the new MESS UI. -.TP -.B \-watchdog \fIvalue -Specifies a number of seconds after which MESS should automatically exit -if it detects that the emulation has locked up. -.\" -.\" -.\" SEE ALSO chapter -.SH SEE ALSO -castool(1), chdman(1), floptool(1), imgtool(1) -.\" -.\" -.\" LEGAL NOTICE chapter -.SH LEGAL NOTICE -Please visit the MAME website for some important legal information: -.PP -http://mamedev.org/legal.html diff --git a/docs/source/usingmame/mamemenus.rst b/docs/source/usingmame/mamemenus.rst index 0673528214d..297f3870a6d 100644 --- a/docs/source/usingmame/mamemenus.rst +++ b/docs/source/usingmame/mamemenus.rst @@ -165,10 +165,6 @@ from the :ref:`main menu `. The items shown on this menu depend on available emulated inputs for the running system. Available emulated inputs may depend on slot options, machine configuration settings and DIP switch settings. -Input Assignments (general) - Lets you select assign user interface controls, or assign default controls - for all emulated systems. See the section on :ref:`configuring inputs - ` for more details. Input Assignments (this system) Lets you select assign controls to emulated inputs for the running system. See the section on :ref:`configuring inputs ` for more details. @@ -190,6 +186,10 @@ Toggle Inputs Shows the :ref:`Toggle Inputs menu `, where you can view and adjust the state of multi-position or toggle inputs. This item is not shown if the running system has no enabled toggle inputs. +Input Assignments (general) + Lets you select assign user interface controls, or assign default controls + for all emulated systems. See the section on :ref:`configuring inputs + ` for more details. Input Devices Shows the :ref:`Input Devices menu `, which lists the input devices recognised by MAME. diff --git a/scripts/build/verinfo.py b/scripts/build/verinfo.py index 59e383624cc..7e61012b796 100644 --- a/scripts/build/verinfo.py +++ b/scripts/build/verinfo.py @@ -1,171 +1,137 @@ #!/usr/bin/python3 ## ## license:BSD-3-Clause -## copyright-holders:Aaron Giles, Andrew Gardner +## copyright-holders:Vas Crabb +import argparse import io import re +import string import sys def parse_args(): - def usage(): - sys.stderr.write('Usage: verinfo.py [-b mame|mess|ume] [-r|-p] [-o ] \n') - sys.exit(1) - - flags = True - target = 'mame' - format = 'rc' - input = None - output = None - i = 1 - while i < len(sys.argv): - if flags and (sys.argv[i] == '-r'): - format = 'rc' - elif flags and (sys.argv[i] == '-p'): - format = 'plist' - elif flags and (sys.argv[i] == '-b'): - i += 1 - if i >= len(sys.argv): - usage() - else: - target = sys.argv[i] - elif flags and (sys.argv[i] == '-o'): - i += 1 - if (i >= len(sys.argv)) or (output is not None): - usage() - else: - output = sys.argv[i] - elif flags and (sys.argv[i] == '--'): - flags = False - elif flags and sys.argv[i].startswith('-'): - usage() - elif input is not None: - usage() - else: - input = sys.argv[i] - i += 1 - if input is None: - usage() - return target, format, input, output + parser = argparse.ArgumentParser() + parser.add_argument('--target', '-t', metavar='', default='mame', help='target name') + parser.add_argument('--subtarget', '-s', metavar='', default='mame', help='subtarget name') + parser.add_argument('--executable', '-e', metavar='', default='mame', help='base executable name') + parser.add_argument('--format', '-f', choices=('rc', 'plist'), metavar='', default='rc', help='output format') + parser.add_argument('--resources', '-r', metavar='', help='resource file to include') + parser.add_argument('-o', metavar='', help='output file name') + parser.add_argument('input', metavar='', help='version info source file') + return parser.parse_args() -def extract_version(input): +def extract_version(verinfo): pattern = re.compile('\s+BARE_BUILD_VERSION\s+"(([^."]+)\.([^."]+))"') - for line in input.readlines(): + for line in verinfo: match = pattern.search(line) if match: return match.group(1), match.group(2), match.group(3) return None, None, None -build, outfmt, srcfile, dstfile = parse_args() - -try: - fp = io.open(srcfile, 'r') -except IOError: - sys.stderr.write("Unable to open source file '%s'\n" % srcfile) - sys.exit(1) - -version_string, version_major, version_minor = extract_version(fp) -version_build = "0" -version_subbuild = "0" -if not version_string: - sys.stderr.write("Unable to extract version from source file '%s'\n" % srcfile) - sys.exit(1) -fp.close() +if __name__ == '__main__': + options = parse_args() -if dstfile is not None: try: - fp = open(dstfile, 'w') - except IOError: - sys.stderr.write("Unable to open output file '%s'\n" % dstfile) + with io.open(options.input, 'r') as verinfo: + verfull, vermajor, verminor = extract_version(verinfo) + verbuild = '0' + except IOError as e: + sys.stderr.write("Error reading source file '%s': %s\n" % (options.input, e)) sys.exit(1) -else: - fp = sys.stdout -if build == "mess": - # MESS - author = "MESS Team" - comments = "Multi Emulation Super System" - company_name = "MESS Team" - file_description = "MESS" - internal_name = "MESS" - original_filename = "MESS" - product_name = "MESS" - bundle_identifier = "org.mamedev.mess" -else: - # MAME - author = "Nicola Salmoria and the MAME Team" - comments = "Multi-purpose emulation framework" - company_name = "MAME Team" - file_description = "MAME" - internal_name = "MAME" if build == "mame" else build - original_filename = "MAME" if build == "mame" else build - product_name = "MAME" if build == "mame" else build - bundle_identifier = "org.mamedev." + build + if verfull is None: + sys.stderr.write("Unable to extract version from source file '%s'\n" % (options.input, )) + sys.exit(1) + + if options.format == 'plist': + template = string.Template( + '\n' \ + '\n' \ + '\n' \ + '\n' \ + '\tCFBundleDisplayName\n' \ + '\t${product}\n' \ + '\tCFBundleIdentifier\n' \ + '\t${rdns}\n' \ + '\tCFBundleInfoDictionaryVersion\n' \ + '\t6.0\n' \ + '\tCFBundleName\n' \ + '\t${product}\n' \ + '\tCFBundleShortVersionString\n' \ + '\t${major}.${minor}.${build}\n' \ + '\tNSPrincipalClass\n' \ + '\tNSApplication\n' \ + '\n' \ + '\n') + else: + template = string.Template( + '#include \n' \ + '#pragma code_page(65001)\n' \ + 'VS_VERSION_INFO VERSIONINFO\n' \ + '\tFILEVERSION ${major},${minor},${build},${subbuild}\n' \ + '\tPRODUCTVERSION ${major},${minor},${build},${subbuild}\n' \ + '\tFILEFLAGSMASK 0x3fL\n' \ + '\tFILEFLAGS ${winfileflags}\n' \ + '\tFILEOS VOS_NT_WINDOWS32\n' \ + '\tFILETYPE VFT_APP\n' \ + '\tFILESUBTYPE VFT2_UNKNOWN\n' \ + 'BEGIN\n' \ + '\tBLOCK "StringFileInfo"\n' \ + '\tBEGIN\n' \ + '#ifdef UNICODE\n' \ + '\t\tBLOCK "040904b0"\n' \ + '#else\n' \ + '\t\tBLOCK "040904E4"\n' \ + '#endif\n' \ + '\t\tBEGIN\n' \ + '\t\t\tVALUE "Author", "${author}\\0"\n' \ + '\t\t\tVALUE "Comments", "${comments}\\0"\n' \ + '\t\t\tVALUE "CompanyName", "${company}\\0"\n' \ + '\t\t\tVALUE "FileDescription", "${filedesc}\\0"\n' \ + '\t\t\tVALUE "FileVersion", "${major}, ${minor}, ${build}, ${subbuild}\\0"\n' \ + '\t\t\tVALUE "InternalName", "${internal}\\0"\n' \ + '\t\t\tVALUE "LegalCopyright", "${copyright}\\0"\n' \ + '\t\t\tVALUE "OriginalFilename", "${original}\\0"\n' \ + '\t\t\tVALUE "ProductName", "${product}\\0"\n' \ + '\t\t\tVALUE "ProductVersion", "${version}\\0"\n' \ + '\t\tEND\n' \ + '\tEND\n' \ + '\tBLOCK "VarFileInfo"\n' \ + '\tBEGIN\n' \ + '#ifdef UNICODE\n' \ + '\t\tVALUE "Translation", 0x409, 1200\n' \ + '#else\n' \ + '\t\tVALUE "Translation", 0x409, 1252\n' \ + '#endif\n' \ + '\tEND\n' \ + 'END\n' \ + '#include "${resources}"\n') -legal_copyright = "Copyright Nicola Salmoria and the MAME team" + internal = options.target + '_' + options.subtarget if options.target != options.subtarget else options.target + text = template.substitute( + version=verfull, + major=vermajor, minor=verminor, build='0', subbuild='0', + author='MAMEdev and contributors', + comments='Multi-purpose emulation framework', + company='MAMEdev', + filedesc='MAME', + internal=internal, + original=options.executable, + product=('MAME' if options.target == 'mame' else options.target), + rdns=('org.mamedev.' + internal), + copyright='\u00a9 1997-2022 MAMEdev and contributors', + winfileflags=('0x0L' if verbuild == '0' else 'VS_FF_PRERELEASE'), + resources=(options.resources or 'mame.rc')) -if outfmt == 'rc': - fp.write('VS_VERSION_INFO VERSIONINFO\n') - fp.write('\tFILEVERSION %s,%s,%s,%s\n' % (version_major, version_minor, version_build, version_subbuild)) - fp.write('\tPRODUCTVERSION %s,%s,%s,%s\n' % (version_major, version_minor, version_build, version_subbuild)) - fp.write('\tFILEFLAGSMASK 0x3fL\n') - if version_build == 0: - fp.write('\tFILEFLAGS 0x0L\n') + if options.o is not None: + try: + with io.open(options.o, 'w', encoding='utf-8') as out: + out.write(text) + except IOError as e: + sys.stderr.write("Error writing output file '%s': %s\n" % (options.o, e)) + sys.exit(1) else: - fp.write('\tFILEFLAGS VS_FF_PRERELEASE\n') - fp.write('\tFILEOS VOS_NT_WINDOWS32\n') - fp.write('\tFILETYPE VFT_APP\n') - fp.write('\tFILESUBTYPE VFT2_UNKNOWN\n') - fp.write('BEGIN\n') - fp.write('\tBLOCK "StringFileInfo"\n') - fp.write('\tBEGIN\n') - fp.write('#ifdef UNICODE\n') - fp.write('\t\tBLOCK "040904b0"\n') - fp.write('#else\n') - fp.write('\t\tBLOCK "040904E4"\n') - fp.write('#endif\n') - fp.write('\t\tBEGIN\n') - fp.write('\t\t\tVALUE "Author", "%s\\0"\n' % author) - fp.write('\t\t\tVALUE "Comments", "%s\\0"\n' % comments) - fp.write('\t\t\tVALUE "CompanyName", "%s\\0"\n' % company_name) - fp.write('\t\t\tVALUE "FileDescription", "%s\\0"\n' % file_description) - fp.write('\t\t\tVALUE "FileVersion", "%s, %s, %s, %s\\0"\n' % (version_major, version_minor, version_build, version_subbuild)) - fp.write('\t\t\tVALUE "InternalName", "%s\\0"\n' % internal_name) - fp.write('\t\t\tVALUE "LegalCopyright", "%s\\0"\n' % legal_copyright) - fp.write('\t\t\tVALUE "OriginalFilename", "%s\\0"\n' % original_filename) - fp.write('\t\t\tVALUE "ProductName", "%s\\0"\n' % product_name) - fp.write('\t\t\tVALUE "ProductVersion", "%s\\0"\n' % version_string) - fp.write('\t\tEND\n') - fp.write('\tEND\n') - fp.write('\tBLOCK "VarFileInfo"\n') - fp.write('\tBEGIN\n') - fp.write('#ifdef UNICODE\n') - fp.write('\t\tVALUE "Translation", 0x409, 1200\n') - fp.write('#else\n') - fp.write('\t\tVALUE "Translation", 0x409, 1252\n') - fp.write('#endif\n') - fp.write('\tEND\n') - fp.write('END\n') -elif outfmt == 'plist': - fp.write('\n') - fp.write('\n') - fp.write('\n') - fp.write('\n') - fp.write('\tCFBundleDisplayName\n') - fp.write('\t%s\n' % product_name) - fp.write('\tCFBundleIdentifier\n') - fp.write('\t%s\n' % bundle_identifier) - fp.write('\tCFBundleInfoDictionaryVersion\n') - fp.write('\t6.0\n') - fp.write('\tCFBundleName\n') - fp.write('\t%s\n' % product_name) - fp.write('\tCFBundleShortVersionString\n') - fp.write('\t%s.%s.%s\n' % (version_major, version_minor, version_build)) - fp.write('\tNSPrincipalClass\n') - fp.write('\tNSApplication\n') - fp.write('\n') - fp.write('\n') -fp.flush() + sys.stdout.write(text) diff --git a/scripts/resources/windows/mame/mame.rc b/scripts/resources/windows/mame/mame.rc index 8156b424c64..14caef933b9 100644 --- a/scripts/resources/windows/mame/mame.rc +++ b/scripts/resources/windows/mame/mame.rc @@ -6,9 +6,6 @@ // //============================================================ -#include -#include "mamevers.rc" - 1 24 MOVEABLE PURE "mame.man" 2 ICON DISCARDABLE "mame.ico" diff --git a/scripts/resources/windows/mess/mess.ico b/scripts/resources/windows/mess/mess.ico deleted file mode 100644 index bab67dd6195..00000000000 Binary files a/scripts/resources/windows/mess/mess.ico and /dev/null differ diff --git a/scripts/resources/windows/mess/mess.man b/scripts/resources/windows/mess/mess.man deleted file mode 100644 index 7feef51ce9f..00000000000 --- a/scripts/resources/windows/mess/mess.man +++ /dev/null @@ -1,16 +0,0 @@ - - - - MESS - - - - - - - - true - true - - - diff --git a/scripts/resources/windows/mess/mess.rc b/scripts/resources/windows/mess/mess.rc deleted file mode 100644 index 1329bcd6fb8..00000000000 --- a/scripts/resources/windows/mess/mess.rc +++ /dev/null @@ -1,14 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Aaron Giles -//============================================================ -// -// mess.rc - Minimal resource file for Win32 MAME -// -//============================================================ - -#include -#include "messvers.rc" - -1 24 MOVEABLE PURE "mess.man" - -2 ICON DISCARDABLE "mess.ico" diff --git a/scripts/src/main.lua b/scripts/src/main.lua index c76fa1da227..da2ba71b61f 100644 --- a/scripts/src/main.lua +++ b/scripts/src/main.lua @@ -10,20 +10,18 @@ --------------------------------------------------------------------------- function mainProject(_target, _subtarget) +local projname if (_OPTIONS["SOURCES"] == nil) then if (_target == _subtarget) then - project (_target) + projname = _target else - if (_subtarget=="mess") then - project (_subtarget) - else - project (_target .. _subtarget) - end + projname = _target .. _subtarget end else - project (_subtarget) + projname = _subtarget end - uuid (os.uuid(_target .."_" .. _subtarget)) + project (projname) + uuid (os.uuid(_target .. "_" .. _subtarget)) kind "ConsoleApp" configuration { "android*" } @@ -196,7 +194,8 @@ end override_resources = false; - maintargetosdoptions(_target,_subtarget) + maintargetosdoptions(_target, _subtarget) + local exename = projname -- FIXME: should include the OSD prefix if any includedirs { MAME_DIR .. "src/osd", @@ -207,11 +206,15 @@ end MAME_DIR .. "src/lib/util", MAME_DIR .. "3rdparty", GEN_DIR .. _target .. "/layout", - GEN_DIR .. "resource", ext_includedir("zlib"), ext_includedir("flac"), } + resincludedirs { + MAME_DIR .. "scripts/resources/windows/" .. _target, + GEN_DIR .. "resource", + } + if (STANDALONE==true) then standalone(); @@ -219,71 +222,96 @@ end if (STANDALONE~=true) then if _OPTIONS["targetos"]=="macosx" and (not override_resources) then + local plistname = _target .. "_" .. _subtarget .. "-Info.plist" linkoptions { - "-sectcreate __TEXT __info_plist " .. _MAKE.esc(GEN_DIR) .. "resource/" .. _subtarget .. "-Info.plist" + "-sectcreate __TEXT __info_plist " .. _MAKE.esc(GEN_DIR) .. "resource/" .. plistname } custombuildtask { - { GEN_DIR .. "version.cpp" , GEN_DIR .. "resource/" .. _subtarget .. "-Info.plist", { MAME_DIR .. "scripts/build/verinfo.py" }, {"@echo Emitting " .. _subtarget .. "-Info.plist" .. "...", PYTHON .. " $(1) -p -b " .. _subtarget .. " $(<) > $(@)" }}, + { + GEN_DIR .. "version.cpp", + GEN_DIR .. "resource/" .. plistname, + { MAME_DIR .. "scripts/build/verinfo.py" }, + { + "@echo Emitting " .. plistname .. "...", + PYTHON .. " $(1) -f plist -t " .. _target .. " -s " .. _subtarget .. " -e " .. exename .. " -o $(@) $(<)" + } + }, } dependency { - { "$(TARGET)" , GEN_DIR .. "resource/" .. _subtarget .. "-Info.plist", true }, + { "$(TARGET)" , GEN_DIR .. "resource/" .. plistname, true }, } end - local rctarget = _subtarget + local rcversfile = GEN_DIR .. "resource/" .. _target .. "_" .. _subtarget .. "_vers.rc" if _OPTIONS["targetos"]=="windows" and (not override_resources) then - rcfile = MAME_DIR .. "scripts/resources/windows/" .. _subtarget .. "/" .. rctarget ..".rc" - if os.isfile(rcfile) then - files { - rcfile, - } - dependency { - { "$(OBJDIR)/".._subtarget ..".res" , GEN_DIR .. "resource/" .. rctarget .. "vers.rc", true }, - } - else - rctarget = "mame" - files { - MAME_DIR .. "scripts/resources/windows/mame/mame.rc", - } - dependency { - { "$(OBJDIR)/mame.res" , GEN_DIR .. "resource/" .. rctarget .. "vers.rc", true }, - } - end + files { + rcversfile + } + end + + local rcincfile = MAME_DIR .. "scripts/resources/windows/" .. _target .. "/" .. _subtarget ..".rc" + if not os.isfile(rcincfile) then + rcincfile = MAME_DIR .. "scripts/resources/windows/mame/mame.rc" + resincludedirs { + MAME_DIR .. "scripts/resources/windows/mame", + } end - local mainfile = MAME_DIR .. "src/".._target .."/" .. _subtarget ..".cpp" + local mainfile = MAME_DIR .. "src/" .. _target .. "/" .. _subtarget .. ".cpp" if not os.isfile(mainfile) then - mainfile = MAME_DIR .. "src/".._target .."/" .. _target ..".cpp" + mainfile = MAME_DIR .. "src/" .. _target .. "/" .. _target .. ".cpp" end files { mainfile, GEN_DIR .. "version.cpp", - GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", + GEN_DIR .. _target .. "/" .. _subtarget .. "/drivlist.cpp", } if (_OPTIONS["SOURCES"] == nil) then - if os.isfile(MAME_DIR .. "src/".._target .."/" .. _subtarget ..".flt") then + if os.isfile(MAME_DIR .. "src/" .. _target .."/" .. _subtarget ..".flt") then dependency { - { - GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", MAME_DIR .. "src/".._target .."/" .. _target ..".lst", true }, + { GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", MAME_DIR .. "src/".._target .."/" .. _target ..".lst", true }, } custombuildtask { - { MAME_DIR .. "src/".._target .."/" .. _subtarget ..".flt" , GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", { MAME_DIR .. "scripts/build/makedep.py", MAME_DIR .. "src/".._target .."/" .. _target ..".lst" }, {"@echo Building driver list...", PYTHON .. " $(1) driverlist $(2) -f $(<) > $(@)" }}, + { + MAME_DIR .. "src/" .. _target .. "/" .. _subtarget .. ".flt", + GEN_DIR .. _target .. "/" .. _subtarget .. "/drivlist.cpp", + { MAME_DIR .. "scripts/build/makedep.py", MAME_DIR .. "src/" .. _target .."/" .. _target .. ".lst" }, + { + "@echo Building driver list...", + PYTHON .. " $(1) driverlist $(2) -f $(<) > $(@)" + } + }, } else - if os.isfile(MAME_DIR .. "src/".._target .."/" .. _subtarget ..".lst") then + if os.isfile(MAME_DIR .. "src/" .._target .. "/" .. _subtarget ..".lst") then custombuildtask { - { MAME_DIR .. "src/".._target .."/" .. _subtarget ..".lst" , GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", { MAME_DIR .. "scripts/build/makedep.py" }, {"@echo Building driver list...", PYTHON .. " $(1) driverlist $(<) > $(@)" }}, + { + MAME_DIR .. "src/" .. _target .. "/" .. _subtarget .. ".lst", + GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", + { MAME_DIR .. "scripts/build/makedep.py" }, + { + "@echo Building driver list...", + PYTHON .. " $(1) driverlist $(<) > $(@)" + } + }, } else dependency { - { - GEN_DIR .. _target .. "/" .. _target .."/drivlist.cpp", MAME_DIR .. "src/".._target .."/" .. _target ..".lst", true }, + { GEN_DIR .. _target .. "/" .. _target .."/drivlist.cpp", MAME_DIR .. "src/".._target .."/" .. _target ..".lst", true }, } custombuildtask { - { MAME_DIR .. "src/".._target .."/" .. _target ..".lst" , GEN_DIR .. _target .. "/" .. _target .."/drivlist.cpp", { MAME_DIR .. "scripts/build/makedep.py" }, {"@echo Building driver list...", PYTHON .. " $(1) driverlist $(<) > $(@)" }}, + { + MAME_DIR .. "src/" .. _target .. "/" .. _target .. ".lst", + GEN_DIR .. _target .. "/" .. _target .. "/drivlist.cpp", + { MAME_DIR .. "scripts/build/makedep.py" }, + { + "@echo Building driver list...", + PYTHON .. " $(1) driverlist $(<) > $(@)" + } + }, } end end @@ -292,7 +320,7 @@ if (STANDALONE~=true) then if (_OPTIONS["SOURCES"] ~= nil) then dependency { { - GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", MAME_DIR .. "src/".._target .."/" .. _target ..".lst", true }, + GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", MAME_DIR .. "src/".._target .."/" .. _target ..".lst", true }, } custombuildtask { { GEN_DIR .. _target .."/" .. _subtarget ..".flt" , GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", { MAME_DIR .. "scripts/build/makedep.py", MAME_DIR .. "src/".._target .."/" .. _target ..".lst" }, {"@echo Building driver list...", PYTHON .. " $(1) driverlist $(2) -f $(<) > $(@)" }}, @@ -300,15 +328,29 @@ if (STANDALONE~=true) then end configuration { "mingw*" } + dependency { + { "$(OBJDIR)/" .. _target .. "_" .. _subtarget .. "_vers.res", rcincfile, true }, + } custombuildtask { - { GEN_DIR .. "version.cpp" , GEN_DIR .. "resource/" .. rctarget .. "vers.rc", { MAME_DIR .. "scripts/build/verinfo.py" }, {"@echo Emitting " .. rctarget .. "vers.rc" .. "...", PYTHON .. " $(1) -r -b " .. rctarget .. " $(<) > $(@)" }}, + { + GEN_DIR .. "version.cpp" , + rcversfile, + { MAME_DIR .. "scripts/build/verinfo.py" }, + { + "@echo Emitting " .. _target .. "_" .. _subtarget .. "_vers.rc" .. "...", + PYTHON .. " $(1) -f rc -t " .. _target .. " -s " .. _subtarget .. " -e " .. exename .. " -r " .. rcincfile .. " -o $(@) $(<)" + } + }, } configuration { "vs20*" } + dependency { + { "$(OBJDIR)/" .. _target .. "_" .. _subtarget .. "_vers.res", rcincfile, true }, + } prebuildcommands { - "mkdir \"" .. path.translate(GEN_DIR .. "resource/","\\") .. "\" 2>NUL", - "@echo Emitting ".. rctarget .. "vers.rc...", - PYTHON .. " \"" .. path.translate(MAME_DIR .. "scripts/build/verinfo.py","\\") .. "\" -r -b " .. rctarget .. " \"" .. path.translate(GEN_DIR .. "version.cpp","\\") .. "\" > \"" .. path.translate(GEN_DIR .. "resource/" .. rctarget .. "vers.rc", "\\") .. "\"" , + "mkdir \"" .. path.translate(GEN_DIR .. _target .. "/" .. _subtarget .. "/", "\\") .. "\" 2>NUL", + "@echo Emitting " .. _target .. "_" .. _subtarget .. "_vers.rc" .. "...", + PYTHON .. " \"" .. path.translate(MAME_DIR .. "scripts/build/verinfo.py", "\\") .. "\" -f rc -t " .. _target .. " -s " .. _subtarget .. " -e " .. exename .. " -o \"" .. path.translate(rcversfile) .. "\" -r \"" .. path.translate(rcincfile, "\\") .. "\" \"" .. path.translate(GEN_DIR .. "version.cpp", "\\") .. "\"", } end diff --git a/src/frontend/mame/ui/inputopts.cpp b/src/frontend/mame/ui/inputopts.cpp index 6884574c6a5..ff433e72e7e 100644 --- a/src/frontend/mame/ui/inputopts.cpp +++ b/src/frontend/mame/ui/inputopts.cpp @@ -92,7 +92,7 @@ void menu_input_options::populate(float &customtop, float &custombottom) bool inputmap, analog, toggle; scan_inputs(machine(), inputmap, analog, toggle); - item_append(_("menu-inputopts", "Input Assignments (general)"), 0, (void *)INPUTMAP_GENERAL); + // system-specific stuff if (inputmap) item_append(_("menu-inputopts", "Input Assignments (this system)"), 0, (void *)INPUTMAP_MACHINE); if (analog) @@ -101,11 +101,12 @@ void menu_input_options::populate(float &customtop, float &custombottom) item_append(_("menu-inputopts", "Keyboard Selection"), 0, (void *)KEYBOARD); if (toggle) item_append(_("menu-inputopts", "Toggle Inputs"), 0, (void *)TOGGLES); + if (inputmap || analog || machine().natkeyboard().keyboard_count() || toggle) + item_append(menu_item_type::SEPARATOR); - item_append(menu_item_type::SEPARATOR); - + // general stuff + item_append(_("menu-inputopts", "Input Assignments (general)"), 0, (void *)INPUTMAP_GENERAL); item_append(_("menu-inputopts", "Input Devices"), 0, (void *)INPUTDEV); - item_append(menu_item_type::SEPARATOR); } diff --git a/src/frontend/mame/ui/miscmenu.cpp b/src/frontend/mame/ui/miscmenu.cpp index 58792ef56c8..55a2aab986f 100644 --- a/src/frontend/mame/ui/miscmenu.cpp +++ b/src/frontend/mame/ui/miscmenu.cpp @@ -453,8 +453,8 @@ void menu_crosshair::populate(float &customtop, float &custombottom) // Make sure to keep these matched to the CROSSHAIR_VISIBILITY_xxx types static char const *const vis_text[] = { - N_p("menu-crosshair", "Always"), N_p("menu-crosshair", "Never"), + N_p("menu-crosshair", "Always"), N_p("menu-crosshair", "When moved") }; bool use_auto = false; diff --git a/src/mame/mame.cpp b/src/mame/mame.cpp index 217651fd510..c3fba77d580 100644 --- a/src/mame/mame.cpp +++ b/src/mame/mame.cpp @@ -13,8 +13,8 @@ #define APPNAME "MAME" #define APPNAME_LOWER "mame" #define CONFIGNAME "mame" -#define COPYRIGHT "Copyright Nicola Salmoria\nand the MAME team\nhttps://mamedev.org" -#define COPYRIGHT_INFO "Copyright Nicola Salmoria and the MAME team" +#define COPYRIGHT "Copyright MAMEdev and contributors\nhttps://mamedev.org" +#define COPYRIGHT_INFO "Copyright MAMEdev and contributors" const char * emulator_info::get_appname() { return APPNAME;} const char * emulator_info::get_appname_lower() { return APPNAME_LOWER;} diff --git a/src/mame/mess.cpp b/src/mame/mess.cpp deleted file mode 100644 index ab1c26b59c5..00000000000 --- a/src/mame/mess.cpp +++ /dev/null @@ -1,23 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Aaron Giles -/*************************************************************************** - - mess.cpp - - Specific (per target) constants - -****************************************************************************/ - -#include "emu.h" - -#define APPNAME "MESS" -#define APPNAME_LOWER "mess" -#define CONFIGNAME "mess" -#define COPYRIGHT "Copyright Nicola Salmoria\nand the MAME team\nhttps://mamedev.org" -#define COPYRIGHT_INFO "Copyright Nicola Salmoria and the MAME team" - -const char * emulator_info::get_appname() { return APPNAME;} -const char * emulator_info::get_appname_lower() { return APPNAME_LOWER;} -const char * emulator_info::get_configname() { return CONFIGNAME;} -const char * emulator_info::get_copyright() { return COPYRIGHT;} -const char * emulator_info::get_copyright_info() { return COPYRIGHT_INFO;} -- cgit v1.2.3