Changes
MAME
,Pang screenshot caption modification. MAME emulation is not “glitchy” anymore.
[[File:Mess sysinfo.png|thumb|upright=1.29|The MESS MAME system info box for the CPC6128]][[File:Mess gx4000 pang.png|thumb|upright=1.2|MESS MAME also has (still somewhat glitchy) support for the GX4000 and CPC+ series. Note the strange blue bar at the bottom in Here is shown ''[[Pang (cartridge)|Pang]]''for the GX4000.]]'''MESSMAME''' (Multi Multiple Arcade Machine Emulator Super System) is an a multi-platform emulator for vintage arcade games, home computers, gaming consoles, chess computers, and calculators, etc. It is a descendant of MAME 0.162 (released on May 27, 2015) merged the previously separate MAME arcade emulation project and just like MAMEMESS (Multi Emulator Super System) projects into one, so that a single executable now combines the emulation capabilities of pre-0.162 MAME/MESS. The most important goal of MESS MAME is highly accurate emulation, not speed. MESS and MAME are is mainly a preservation projects project that aim aims to reproduce the behaviour of the real hardware perfectly, so performance CPU usage may be slightly worse higher than many dedicated CPC emulators.
==Emulated systems==
Currently, [http://www.progettoemma.net/mess/sysset.php over a thousand systems are supported] by MESSMAME, including the CPC and CPC Plus ranges and the GX4000. This is probably the main reason for using MESSMAME: A single download is enough to emulate more or less every home computer and gaming console that ever existed in the late 1970s and 1980s—provided one can find a ROM set that works (see below).
==Installation==
{|class="wikitable"
|'''Name'''
You can use zipped disk images too. If there is more than one DSK image in the zip file, treat the zip file like a directory, e.g.
==Keyboard layouts==
* '''emulated''' (the default; keys are assigned based on key position on the emulated hardware)
* '''natural''' (command line option "-natural"; based on the character generated by a key, e.g. pressing "z" will always generate a "z" on the emulated system)
To use a German keyboard in emulated keyboard mode, start MESS MAME e.g. with (key map path on Linux): mess mame cpc6128 -keymap -keymap_file /usr/share/sdlmesssdlmame/keymaps/km-dekm_de_LINUX.txtmap
You can also put these settings in your mame.ini like this: keymap 1 keymap_file /usr/share/sdlmame/keymaps/km_de_LINUX.map In emulated mode, keys can also be remapped in the emulator menu. First press ''Scroll Lock'' to enable the MESS MAME control keys, then ''Tab'' to open the menu, and finally select ''Input (this system)''. ''Return, Esc'' clears an assigned key.
Note that the ''Delete'' and ''Backspace'' keys are swapped on the emulated keyboard because of the CPC keyboard layout. So you may want to reassign those. Escape on the CPC is mapped to the key left of "1" on the PC keyboard. Alt-Enter switches between windowed and full screen mode.
==CPC artwork==
[[File:MAME with CPC artwork.png|thumb|MAME window with monitor type set to green and optional CPC artwork]]
You can add optional bezel artwork to MAME to simulate a CPC monitor:
*[[Media:Cpc6128 mame artwork.zip|MAME artwork]] (CPC6128/GT65 bezel)
Rename this file to cpc6128.zip and put it in MAME's artwork folder (~/.mame/artwork/ on Linux).
==ROMs and extension hardware==
[[Media:CPC_ROMs_for_MESSCPC_ROMs_for_MAME.zip|CPC ROMs for MESSMAME]]. Just unzip the file and move the ZIPs inside into the MESS MAME ROM folder.
ROMs often only work with a specific version of MESSMAME. This does not seem to affect CPC ROMs, but other systems sometimes give an error message when ROM filenames or checksums do not match what MESS MAME expected.
You can get a list of slot options with
These are (as of MESS MAME 0.159168):
*for "-centronics"
|[[Digiblaster]] (DIY)
|}
*for "-exp"
{|class="wikitable"
|smartwatch
|[[Dobbertin Smart Watch]]
|-
|brunword4
|[[BrunWord]] Elite MK4
|-
|hd20
|[[Dobbertin Harddisc]]
|-
|doubler
|[[Draysoft Doubler]]
|-
|transtape
|HM [[Transtape]]
|}
The ROM Box expansion can be used to load external ROMs such as [[MAXAM]]:
Up to 8 external ROMs (-rom1 to -rom8) are supported this way.
==GUI front-ends=[[Dobbertin Harddisc]]===
==CRT simulation==
[[File:Cpc shader mess.png|thumb|upright=1.5|GLSL shader example]][[File:Cpc hlsl shader mess MAME BGFX Linux detail.png|thumb|HLSL "1980s" BGFX output with default shader (detail)settings]]Like MAME, MESS can use shaders to simulate typical CRT graphics artifacts such as scanlines, colors bleeding into each other, jitter, and display curvature. This involves editing mess ===BGFX=== The easiest way to do this (works on Windows, OS X, and Linux) since MAME 0.172 is to enable [https://github.com/bkaradzic/bgfx BGFX] video output: Put this in your mame.ini : video bgfx bgfx_screen_chains hlsl (or umeYou may also have to set bgfx_path to the bgfx directory if MAME cannot find the shaders.ini ) Check with F11 if you use UMEstill get 100% performance. If not, adjust frame skip with F8/F9. Also, if you press the tilde (~) and then cursor up/down, you can adjust the shader settings (they are also under Slider Controls in the MAME menu).These are not saved at the moment though.[http://docs.mamedev.org/advanced/bgfx.html] If you edit bgfx/chains/hlsl.json in a text editor, you can change the default values. E.g., to reduce the Moiré pattern, search for "Shadow Mask Amount" and change it to: "default": 0.20 ===HLSL and GLSL===[[File:Cpc hlsl shader mess detail.png|thumb|HLSL "1980s" shader (Windows); MAME config used is on image description page]]
*Windows (using HLSL shaders)
**A scripted setup with separate "1980s" and "1990s" CRT configs: [http://shmups.system11.org/viewtopic.php?f=6&t=45026&start=240] (huge post is halfway down the page)
==Remaining issues with CPC emulation==
*MESS MAME may fail to read DSK images with certain kinds of copy protection. Speedlock seems to work fine though.*MESS MAME cannot write to disc images in DSK format; only MFI (MESS floppy image) and MFM (HxCFloppyEmulator floppy image) are supported for writing.*Some demo tricks may be broken in MESSMAME, e.g. overscan pictures are horizontally misaligned (i.e., shifted to the right).
*CPC+/GX4000 emulation still has some obvious graphics glitches.
*The emulated CPC464 has the AMSDOS ROM loaded which is a problem with early 464-only programs that rely on the 464's larger free memory.
==JSMESS, a Compiling to JavaScript port==
==Links==
*{{EnWiki}}
*[http://www.messmamedev.org/ Official site]
*[http://www.mess.org/mess:howto MESS user's manual]
*[[Media:CPC_ROMs_for_MESSCPC_ROMs_for_MAME.zip|CPC ROMs for MESSMAME]]*[https://linux-user.gr/t/one-retro-cumputers-emulator-to-rule-them-all/1302 one-retro-cumputers-emulator-to-rule-them-all-(in-greek-language)]
[[Category:Emulator]]