This section deals with configuring and running MESS for Win32. It includes where to start, an in depth look at the command line and a section looking at the MESS.ini file.
The beauty of MESS for Win32 is the fact although it looks like a DOS file it is actually a windows based program. Therefore you don't have to mess around configuring drivers as it uses DirectX and your windows drivers.
All you need to do to run it is to open a command prompt. Either go to the start button, press run and type command or you can run the command prompt from the start/programs/accessories menu.
Once you are in a DOS box type in this command
cd C:\MESS
You should see the prompt
C:\MESS>
If it is the first time you have run MESS type MESS -cc. This will create a file called MESS.ini which holds all the default MESS
settings.
MESS for Win32 uses a straightforward command format to execute. Here is what it looks like...
MESS <system> <options...>
The <system> option is the name of the system (for a complete list, check here). The <options...> include both device options as well as options found in Mame. Each system has its own list of device types; some of these are common to multiple systems, whereas some others are specific to certain systems. Cartridges on the NES and Atari 2600 are both specified with the -cart option. The Apple II floppy disk is specified with -s6d1 (Slot 6 Disk 1). One can obtain a complete list of what devices are used for any given system by typing: MESS -listdevices
These are all the command line options that MESS uses...
*** Frontend Related *** | |||
-help / -h ./ -? | Show the help message | ||
-listfull / -ll | Lists all games as short name, full name | ||
-listdetails | Lists all games with detailed info | ||
-listxml / -lx | Lists all available info on a driver in XML format | ||
-listclones / -lc | Lists only clones | ||
-listcrc | Lists rom checksums | ||
-listdevices | Lists the devices used by a system in MESS | ||
-listroms | Displays ROMs required by the specified system | ||
-listsamples | Displays samples required by the specified game | ||
-verifyroms | Checks specified game(s) for missing and invalid ROMs. | ||
-verifysets / -vset | Checks specified game(s) and reports its status. | ||
-verifysamples | Checks that all samplesets have the correct samples in them. | ||
-romident | Checks an unknown romset against MESS romsets to see what it belongs to | ||
-isknown | Same as above but with less info | ||
*** Windows path and folder options *** | |||
-rompath / -rp | Specify path for ROM files | ||
-hashpath / -hash | Specify path for software hash check files | ||
-inipath | Specify path for game ini files | ||
-samplepath / -sp | Specify path for system samples | ||
-cfg_directory | Specify the folder to save configurations | ||
-nvram_directory | Specify the folder to save nvram contents | ||
-memcard_directory | Specify the folder to save memory card contents | ||
-input_directory | Specify the folder to save input device logs | ||
-hiscore_directory | Specify the folder to save hiscores | ||
-state_directory | Specify the folder to save states | ||
-artwork_directory | Specify the folder for Artwork (Overlays etc.) | ||
-snapshot_directory | Specify the folder for screenshots (.png format) | ||
-ctrlr_directory | Lets you specify a folder for MESS to look in for you controller ini files. | ||
-cheat_file | Specify the cheat filename | ||
*** Windows video options *** | |||
-[no]autoframeskip / -[no]afs | If you game is running slow then use skip frames to speed up emulation | ||
-frameskip / -fs | Lets you specify how many frames are skipped when playing a game. (autoframeskip needs to be off) | ||
-[no]waitvsync | Waits for the screen to draw before drawing the next frame (reduces tearing of graphics) | ||
-[no]triplebuffer / -[no]tb | Triple buffering (only if fullscreen) draws three screens at a time and flips them which creates smoother animation. | ||
-[no]window / -[no]w | This option lets you run MESS in a window on your desktop or fullscreen. | ||
-[no]ddraw / -[no]dd | Use DirectDraw for rendering (Leave on!) | ||
-[no]direct3d / -[no]d3d | Use Direct3D for rendering (On some cards faster than direct draw) | ||
-[no]hwstretch / -[no]hws | Stretches games to fill the screen using the hardware on your graphics card (if you have it) | ||
-cleanstretch / -cs |
Stretches the screem to integer ratios and ignores the game aspect ratio. Uses these options... -cleanstretch auto : Lets MESS decide. |
||
-resolution / -r | Sets the resolution in fullscreen mode (e.g. 640x480) | ||
-zoom / -z | Forces a specific zoom level | ||
-refresh | Set a specific monitor refresh rate in hz | ||
-[no]scanlines / -[no]sl | Emulates the lower resolution screenmode on monitors and TV's. | ||
-[no]switchres | Switches the screen resolutions to best fit the game | ||
-[no]switchbpp | Switch the color depth of a screen to match the game being played. | ||
-[no]maximize / -[no]max | Starts a MESS window maximized | ||
-[no]keepaspect / -[no]ka | Keep a game in the right aspect no matter what resolution is used. | ||
-[no]matchrefresh | Attempt to match the game's refresh rate | ||
-[no]syncrefresh | Synchronize only to the monitor refresh | ||
-[no]throttle | Throttle MESS's speed to match the game's framerate | ||
-full_screen_brightness / -fsb | Sets the brightness in full screen mode | ||
-frames_to_run / -ftr | Sets the number of frames to run within the game | ||
-effect |
none - no effect (this is the default) |
||
-screen_aspect X:Y | Where X and Y are the aspect you want. Helps configure the screen to fill your monitor. eg.g. most monitors are 4:3 though if you have a wide screen then you may have 16:9. | ||
-[no]sleep | Lets MESS use less CPU time if it can | ||
-[no]rdtsc | Changes the timing in a game | ||
-[no]high_priority | Increase processor thread priority so improves performance if you have alot of programs running. | ||
*** Windows Direct3D 2D video options *** | |||
-[no]d3dtexmanage | Lets DirectX manage all game screen to texture operations rather than MESS. | ||
-d3dfilter / -flt |
Sets the filter (blurriness) when using D3D for rendering the game screen thus reducing jagged edges. 0 is none |
||
-[no]d3dprescale | Works like sharp in the effects so doesn't blur the screen. | ||
-d3dfeedback | Something about feedback intensity (Whatever that is) | ||
-d3dsaturate | Over saturates the colour intensity in games. | ||
-d3dscan | Sets the scanline intensity if you select this effect. | ||
-[no]d3deffectrotate | Rotates the d3deffect command to work with vertically aligned monitors. | ||
-d3deffect |
Adds screen effects when the game screen is drawn. You can also use the names from the -effect option too. rgbminmask |
||
-d3dcustom | Dont touch unless you know what you're doing | ||
-d3dexpert | Same as above. | ||
*** Windows sound options *** | |||
-audio_latency | Sets MESSs audio latency which help to reduce sound clicks and pops | ||
*** Input device options *** | |||
-[no]mouse | Enable mouse input | ||
-[no]joystick / -[no]joy | Enable joystick input | ||
-[no]lightgun / -[no]gun | Enable lightgun input | ||
-[no]steadkey / -[no]steady | If you are having problems with pressing more than one key at a time then enable this option. | ||
-[no]keyboard_leds / -[no]leds | uses the keyboard LED's (e.g. numlock light) to simulate the LED's on an arcade board | ||
-a2d_deadzone / -a2d <float> | How much you have to move an analog joystick before it registers on digitally controlled games. | ||
-ctrlr name
Loads the controller ini file specified by name (e.g. -ctrlr wingman) |
|||
*** MESS specific options *** | |||
-[no]newui / -[no]nu | Uses the new MESS windows user interface for options instead of Mames screen based one | ||
-ramsize / -ram | Lets you set the amount of RAM a system can use (if the system supports it) | ||
-threads / -thr | Used for parallel data | ||
-[no]natural / -[no]nat | Determines whether a natural keyboard is being used | ||
-min_width / -mw <int> | Sets a minimum width for the MESS screen | ||
-min_height / -mh <int> | Sets a minimum height for the MESS screen | ||
-[no]writeconfig / -[no]wc | Determines whether MESS writes a configuration file for a system when you close it | ||
-createdir | Creates all the system folders in the MESS software folder | ||
*** MESS CORE video options *** | |||
-[no]norotate | Do not apply rotation | ||
-[no]ror | Rotate screen clockwise | ||
-[no]rol | Rotate screen anti-clockwise | ||
-[no]autoror | Automatically rotates the screen clockwise for vertical games. | ||
-[no]autorol | Automatically rotates the screen anti-clockwise for vertical games. | ||
-[no]flipx | Flip screen upside-down | ||
-[no]flipy | Flip screen left-right | ||
-gamma | Gamma correction is used if you find your game is too dark. | ||
-brightness | Brightness is also used if you find your game is too dark. | ||
-pause_brightness | Changes the brightness of the game when paused. | ||
*** MESS CORE vector game options *** | |||
-[no]antialias / -[no]aa | Draw antialiased vectors which smoothes out the edges. | ||
-[no]translucency / -[no]tl | Draw translucent vectors which simulates the feel of vector games | ||
-beam | Set beam width in vector games | ||
-flicker | Set flickering in vector games which again adds to the realism of vector games. | ||
-intensity | Sets the brightness of the vectors. | ||
*** MESS CORE sound options *** | |||
-samplerate / -sr | Set samplerate (e.g. 22050) in khz | ||
-[no]samples | Uses samples to complete the sound systems for games which require them. | ||
-[no]sound | Enable/Disable sound and sound CPUs | ||
-volume / -vol | Volume (range [-32,0]) | ||
*** MESS CORE misc options *** | |||
-[no]artwork / -[no]art | Use additional game artwork | ||
-[no]use_backdrops / -[no]backdrop | For art files that are the backdrop for games. | ||
-[no]use_overlays / -[no]overlay | For art files that are overlayed on top of games. | ||
-[no]use_bezels / -[no]bezel | For art files that are go around games. | ||
-[no]artwork_crop / -[no]artcrop | Crop artwork to game screen size only. | ||
-artwork_resolution / -artres |
Sets the resolution for the artwork in a game (0 for auto) | ||
-[no]cheat / -[no]c | Enable/disable cheat subsystem | ||
-[no]debug / -[no]d | Enable/disable debugger (only if available) | ||
-playback / -pb | Playback an input file | ||
-record / -rec | Record an input file | ||
-[no]log | Generate an error.log for debugging | ||
-[no]oslog | Outputs an error log to MESSs debugger | ||
-[no]skip_gameinfo | Skips the game info screen | ||
-bios | Select the system BIOS to use. | ||
*** Configuration options *** | |||
-createconfig / -cc | Create the default configuration file | ||
-showconfig / -sc | Display running parameters in rc style | ||
-showusage / -su | Show key help | ||
-[no]readconfig / -[no]rc | Enable/disable loading of configfiles | ||
-[no]verbose / -[no]v | Display additional diagnostic information |
Here is an example of running MESS at the command line...
mess a2600 -cart c:\games\defender.a26 -now
This will run defender on an Atari 2600 using the full screen. As you can see it's not too hard once you've got over the amount of options available to you. If your brain is frazzled and you want an easier MESS use the GUI version as it's much easier to configure.
Rather than using the command line to set up the options you want to use in MESS you can adjust a file called MESS.ini . This is where MESS stores it's default configuration information.
To edit the file in windows find the MESS.ini file in the C:\MESS folder (it will have an icon next to it that looks like a text pad with a yellow stamp on it) and then double click it. This will automatically bring up the MESS.ini file in notepad. There are several parts to it and as you can see they relate to the command line options above.
The format of the file is simple to follow, most things with a yes / no answer are denoted by 0 for no and 1 for yes. there are also a few numerical options (e.g. gamma) and a few that require a text answer (e.g. rom path)
If you configure this file correctly you wont need to add options onto the command line.
Don't worry if you muck the whole file up because if you can delete it and, if you run MESS -cc again it will make another.
# # CORE SEARCH PATH OPTIONS # rompath roms hashpath hash softwarepath software samplepath samples artpath artwork ctrlrpath ctrlr inipath .;ini fontpath . # # CORE OUTPUT DIRECTORY OPTIONS # cfg_directory cfg nvram_directory nvram memcard_directory memcard input_directory inp state_directory sta snapshot_directory snap diff_directory diff comment_directory comments # # CORE FILENAME OPTIONS # cheat_file cheat.dat # # CONFIGURATION OPTIONS # readconfig 1 skip_gameinfo 0 # # MISC OPTIONS # bios default cheat 0 # # STATE/PLAYBACK OPTIONS # # state <NULL> (not set) autosave 0 # playback <NULL> (not set) # record <NULL> (not set) # mngwrite <NULL> (not set) # wavwrite <NULL> (not set) # # DEBUGGING OPTIONS # log 0 oslog 0 verbose 0 # # PERFORMANCE OPTIONS # autoframeskip 0 frameskip 0 frames_to_run 0 throttle 1 sleep 1 rdtsc 0 priority 0 multithreading 0 # # VIDEO OPTIONS # video d3d numscreens 1 window 0 maximize 1 keepaspect 1 prescale 1 effect none pause_brightness 0.65 waitvsync 0 syncrefresh 0 # # VIDEO ROTATION OPTIONS # rotate 1 ror 0 rol 0 autoror 0 autorol 0 flipx 0 flipy 0 # # DIRECTDRAW-SPECIFIC OPTIONS # hwstretch 1 # # DIRECT3D-SPECIFIC OPTIONS # d3dversion 9 filter 1 # # PER-WINDOW VIDEO OPTIONS # screen auto aspect auto resolution auto view auto screen0 auto aspect0 auto resolution0 auto view0 auto screen1 auto aspect1 auto resolution1 auto view1 auto screen2 auto aspect2 auto resolution2 auto view2 auto screen3 auto aspect3 auto resolution3 auto view3 auto # # FULL SCREEN OPTIONS # triplebuffer 0 switchres 0 full_screen_brightness 1.0 full_screen_contrast 1.0 full_screen_gamma 1.0 # # GAME SCREEN OPTIONS # brightness 1.0 contrast 1.0 gamma 1.0 # # VECTOR RENDERING OPTIONS # antialias 1 beam 1.0 flicker 0 # # ARTWORK OPTIONS # artwork_crop 0 use_backdrops 1 use_overlays 1 use_bezels 1 # # SOUND OPTIONS # sound 1 samplerate 48000 samples 1 volume 0 audio_latency 1 # # INPUT DEVICE OPTIONS # # ctrlr <NULL> (not set) mouse 0 joystick 0 lightgun 0 dual_lightgun 0 offscreen_reload 0 steadykey 0 a2d_deadzone 0.3 digital none # # AUTOMATIC DEVICE SELECTION OPTIONS # paddle_device keyboard adstick_device keyboard pedal_device keyboard dial_device keyboard trackball_device keyboard lightgun_device keyboard mouse_device mouse # # MESS SPECIFIC OPTIONS # newui 1 # ramsize <NULL> (not set) threads 0 natural 0 min_width 200 min_height 200 writeconfig 0 skip_warnings 0 |