About

History

QMC2 – M.A.M.E./M.E.S.S. Catalog / Launcher II is the successor of one of the first UNIX M.A.M.E. GUI front ends available on this planet called QMamecat (derived from MAMECAT, which was text-only). QMamecat was based upon Qt 2; its development was frozen in 2003.

By the beginning of March 2006, we started to build QMC2 from scratch as a Qt 4 project. Parts of the design and code were inspired by its predecessor, but it’s not just a remake. We tried to make the new design as flexible as possible to minimize dependencies from front end and CLI related MAME changes, which was a major deficiency of QMamecat. QMC2 now uses a template based emulator configuration scheme, which can easily be enhanced with additional command line options (defined in an XML template file).

Status

As a result of this flexible design and countless hours of work, QMC2 today is a multi-platform GUI front end for several M.A.M.E. and M.E.S.S. variants. It’s known to work on any modern Linux distribution, most UNIX derivates such as OpenSolaris or FreeBSD, on Mac OS X and Windows (XP, Vista and above).

On Linux/UNIX and Mac OS X we currently support SDLMAME and SDLMESS, on Windows you have the choice between the original variants of MAME and MESS as well as MAMEUIFX32 (which is supported by the MAME variant with a replacement template for MAMEUIFX32).

There are probably even more MAME / MESS variants which could be driven by QMC2, but these are the ones we officially support and for which we provide configuration templates.

Since QMC2 0.2.b9, the minimum required Qt version is 4.5. We strongly recommend to use Qt 4.5.2 or above!

Since QMC2 0.2.b13, there’s support for Qt 4.6 as well. However, there are still some minor issues left which are related to apparent bugs of Qt 4.6, and we don’t recommend to use it until they are resolved by the former Trolls. Also, some aspects of QMC2’s style sheets need to be updated to better work with Qt 4.6. The latest version we tried was Qt 4.6.2.

Features

As of version 0.2.b14 (not released yet!), QMC2’s major features include:

  • Extremely fast drawing of game/machine images, optionally smoothly scaled (PNG images, buffered in a resizable LRU-cache)
  • Support for game/machine icons (also PNG images), fast (pre-)caching mechanism
  • Icons and all game/machine images can either be stored as individual files in respective directories or they can be combined and compressed in ZIP archives
  • Easily extensible template-based emulator configuration scheme (defined through an external XML file)
  • Cool editor for configuration of global and game/machine-specific emulator options, including a search function
  • Support for all emulation-related extra information available through the emulator (displayed in a tree)
  • Fast search function with automatic wildcard pattern matching
  • Selectable sort criteria and order for game/machine list (description, name/ID, ROM state, year and manufacturer)
  • Straightforward process management to control emulator processes
  • Clear and full logging (separate front end and emulator logs)
  • Cached ROM state verification, indicated as colored spheres in front of each game/machine description
  • Verification of sample sets
  • Game/machine image checks (icons, previews & flyers)
  • Online display of current game/machine list and search result statistics
  • Two game/machine list views: full detail and parent/clone hierarchy
  • The GUI will always remain interactive even if heavy background processing is running
  • Time-consuming background tasks can be stopped on demand at (nearly) any time
  • Optional auto-save/restore of window layout and game/machine selection
  • Multi-platform support (Linux/UNIX, Mac OS X and Windows)
  • Fully multi-language capable – right now, translations exist for English (us), German (de), Polish (pl), French (fr) and Portuguese (pt)
  • Game/machine favorites management and play-history
  • Online HTML documentation and browser
  • Designed to be used for multiple emulators: SDLMAME/SDLMESS on UNIX and Mac OS X, MAME/MAMEUIFX32/MESS on Windows — plus support for additional foreign emulators on all platforms
  • Built-in support for GUI styles and Qt style sheets (.qss)
  • Automatic caching of analysed game/machine data to speed up processing
  • Import & export of emulator configuration files (i. e. mame.ini/mess.ini)
  • All short cuts and GUI control keys can be remapped
  • Removal of obsolete samples and image files (stored in directories or ZIP archives)
  • Automatic caching of XML output from the emulator
  • Built-in ROMAlyzer to deeply analyze a game’s/machine’s ROMs and CHDs
  • Optional use of OpenGL features (currently only for image painting)
  • Support for direct GUI control via analog and digital joysticks through SDL (Simple Directmedia Layer)
  • Detailed game/machine information from MAME’s history.dat game information database and MESS’ sysinfo.dat machine information database
  • Basically the same for mameinfo.dat as MAME’s emulator information database (there’s nothing like that for MESS)
  • Support for MAME’s output notifications via a named pipe (see emulator control panel)
  • Built in audio player based on the Phonon API
  • ROM status export to clipboard or file as ASCII, CSV or HTML
  • Integrated MESS device configuration
  • All (SDL)MAME and (SDL)MESS variants of QMC2 supported on the respective target platform can launch each other (doesn’t work on Windows yet)
  • Freely adjust the order and visibility of available game/machine details
  • MAWS web lookup for all MAME variants, including automatic caching of all successfully loaded MAWS ROM set pages
  • MAWS quick download: when visiting a game’s MAWS page, automatically download available image data usable by QMC2
  • X11 only: optional/on-demand embedding of emulator windows
  • Freely adjustable layout of the main widget’s major sub-widgets/sub-layouts
  • MAME targets only: demo mode to run random games for a specific period of time (in a mode suitable for demo purposes)
Team

The following people have contributed in some way to the development of QMC2 and are active members of the current development team.

QMC2 Team Members (in no particular order)

René Reucher
rene dot reucher at batcom-it dot net
http://www.batcom-it.net

  • Project maintainer
  • Ideas, design and programming
  • Beta tests and ports (openSUSE, Fedora, Ubuntu, Mandriva, OpenSolaris, … and Windows)
  • German translation, documentation
  • Preview creation
  • Promotion, website and everything else

Jonas Reucher
tux at batcom-it dot net
http://www.gamingspot.de

  • Beta tests (openSUSE, Windows)
  • QMC2 power-user ;)

Robert Hamberger
rh474 at bingo-ev dot de
http://www.prian.net

  • Backup project maintainer
  • Ideas
  • Beta tests (openSUSE, Windows)
  • Preview creation
  • Promotion
Carsten Engel
carsten dot engel at maxi-dsl dot de

  • Ideas and programming
  • Beta tests (Windows)
  • Original idea and implementation of the ROMAlyzer as a perl-script
  • Preview creation
Christopher Stone
chris dot stone at gmail dot com
http://tkmame.retrogames.com

  • Ideas and programming
  • Beta tests (Fedora)
  • Creation of binary packages for the Fedora project
Armin Schmidhuber
armin_schmidhuber at web dot de
http://www.a-zkaufhaus.de
http://www.zxmamecd.eu

  • Beta tests (ZXMameCD)
  • Bug reports
  • Contributions (KHotKeys definitions, image sets)
  • Creation of binary packages for Slackware Linux
Julian Sikorski
belegdol at gmail dot com

  • Beta tests (Fedora)
  • Bug reports
  • Polish translation
  • Creation of binary packages for the Fedora project
Vincent Bousquet
webmaster at arcadehits dot net
http://www.arcadehits.net

  • French translation
  • Web space sponsor
  • Unofficial Gentoo Linux ebuilds
William Blake
billb at ydl dot net
http://www.ps3bodega.com

  • Ideas
  • Beta tests (Yellow Dog Linux)
  • Bug reports
  • Creation of binary packages for Yellow Dog Linux on Playstation 3

Samwise
http://www.bagshot-row.org/chuckie-egg
http://www.retrosoftware.co.uk

  • Valuable feedback
  • Ideas (mainly MESS related)
  • Beta tests (Debian)
  • Bug reports

Vasantha Crabb
vastheman at users dot sourceforge dot net
http://www.vastheman.com

  • Maintainer of the Mac OS X port
  • Creation of universal binary packages for Mac OS X
Marcelo Bossoni
mmbossoni at users dot sourceforge dot net

  • Portuguese translation
  • Bug reports and feature requests
  • Creation of binary packages for Ubuntu / Debian GNU Linux

Contact and contributions

Project homepage:
http://qmc2.arcadehits.net/wordpress

Development site:
http://sourceforge.net/projects/qmc2

QMC2 development mailing list:
qmc2-devel at lists dot sourceforge dot net
(subscription required: https://lists.sourceforge.net/lists/listinfo/qmc2-devel)

Bug tracking system:
http://apps.sourceforge.net/mantisbt/qmc2/my_view_page.php

Donations

You can also support this project by contributing a donation. Any amount of money will be greatly appreciated and credited accordingly! But no matter if you do or not, due to the personal interest of its authors, the project will live on anyway :) .

Support this project

Hardware donations are also welcome. We could need any sort of state-of-the-art equipment, ranging from PCs to arcade cabinets. If you don’t want to donate money but this sort of goods instead, here’s your opportunity to support us. Please contact us, and consider to send us your local beer as we also need some software :) !