MikesArcade.com Coin-op Video Arcade Technical Information Archive
  Home  |  Repair Logs  |  Game Manuals  |  Monitor Manuals  |  Online Store  |  Links  |  Contact Us
Technical Info
  Repair Logs
  Pacman fixes
  Manuals & Schematics
  Monitor Manuals
  Nintendo Game List
  Nintendo Joysticks
  Nintendo Buttons
  Data I/O Promlink 6.10
Spies Wiretap Archives
  Coin-op Video Game List
  Game Conversions
  The Mixed Bag
  PCB Pinouts and DIPs
PDF Game Artwork
  Coin door inserts, etc.
  Instructions cards
  Operation Sheets
  Control Panel & Bezels
  Title Strip Creator
  Component markings...
  Crating a game
  Build your own cabinet
Board Upgrades
  Double Donkey Kong
  Items I'm looking for
  Contact Us
  Visual C Project files
  Valid HTML 4.01!


Visual C Project File

So, what's here?

This section is an archive of older releases of project files for both MAME and MAMEUI. If your a looking for the latests, check here.

Some instructions on this page may be out of date, but the projects found here worked with the released version of MAME or MAMEUI at the time of the original post.

Up until the release of MAME 0.121, MAMEUI was known as MAME32. However, when 64-bit and 32-bit release binaries started to become the norm, having MAME32 simply mean MAME with a User Interface was, to say the least, confusing. So, MAME32 was renamed to MAMEUI. You'll see references to both below.

What is MAME?

MAME is strictly a no profit project. Its main purpose is to be a reference to the inner workings of the emulated arcade machines. This is done for educational purposes and to preserve many historical games from the oblivion they would sink into when the hardware they run on will stop working. Of course to preserve the games you must also be able to actually play them; you can see that as a nice side effect.

It is not our intention to infringe any copyrights or patents pending on the original games. All of the source code is either our own or freely available. To work, the emulator requires ROMs of the original arcade machines, which must be provided by the user. No portion of the code of the original ROMs is included in the executable.

To find more information on MAME, please visit the Official MAME page.

What is MAMEUI?

MAMEUI (formerly MAME32) is the Windows version of the popular Multiple Arcade Machine Emulator, also know as MAME, with a built-in User Interface.

Visual C Win32/x64 Project files

The following project files are for Visual C 2005 standard and professional. They work fine with VC 2005 express, however to compile the x64 target, you'll need the full version of Visual C 2005.  They also convert and run fine with VC 2008 express.

VersionRelease Date VC Project files Platforms
0.0127 Aug 19, 2008VC 2005 Win32 (x86) Win64 (x64)
0.0126 Jul 06, 2008VC 2005 Win32 (x86) Win64 (x64)
0.0125 May 05, 2008VC 2005 Win32 (x86) Win64 (x64)
0.0124 Mar 25, 2008VC 2005 Win32 (x86) Win64 (x64)
0.0123 Feb 13, 2008VC 2005 Win32 (x86) Win64 (x64)
0.0122 Dec 18, 2007VC 2005 Win32 (x86) Win64 (x64)
0.0121 Nov 19, 2007VC 2005 Win32 (x86) Win64 (x64)
0.0120 Oct 15, 2007VC 2003.NETWin32 (x86)
0.0119 Sep 18, 2007VC 2003.NETWin32 (x86)
0.0118 Aug 6, 2007VC 2003.NETWin32 (x86)

What's in the distribution?

The project files contain the following directory structure:

  • project - Project files
  • patches - Required patches needed to compile
  • src/osd/vc - Global include file vcmame.h


  • Unzip the contents to the same directory as the MAME sources.
  • Read projects/README.txt for notes on this release.
  • Apply any patches from the top directory using:
    patch -p0 <patches/patchname.diff
  • Navigate to the project directory and click on mameN.sln,
    where N is the distribution version.
  • Set the startup project to MAME
  • Set the Configuration to the desired build.
    (Release, Debug, ReleaseUI, DebugUI)
  • Build the solution


This assumes you already have a working installation with the DirectX SDK and Win32 settings properly configured with your MSVC installation. For details on setting up Express editions with the latest platform SDK (PSDK), please visit Using Visual C++ 2005 Express Edition with the Microsoft Platform SDK.

Direct X SDK paths

Adding the Direct X SDK (DXSDK) Include and libraries, is done the same way you do the PSDK paths in the Microsoft article above. The paths to add for the DXSDK are as follows:

For Win32 (x86) targets

  • $(DXSDK_DIR)Include
  • $(DXSDK_DIR)Lib\x86

For x64 (Win64) targets

  • $(DXSDK_DIR)Include
  • $(DXSDK_DIR)Lib\x64

Notes on using VC2003 project files with VC2005 Express notes (Applies to VC2008 also)

Starting with v0.119u3, support for the Visual C 2005 Express edition has been added.
To use the earlier VC2003 project files with VC2005 Express edition, you'll need to make a some modifications after loading the solution. By default, VC2005 sets up the individual projects to generate and embed a application manifest. This option will need to be turned off to compile MAME or MAMEUI.

To turn off the manifest generation:

  • Select all .exe projects in the Solution Explorer
    That's all projects except 'expat, libosd, libutil and zlib'
  • From the main menu select 'Project -> Properties'
  • Expand 'Configuration Properties -> Linker'
  • Select 'Manifest File'
  • In the Configuration dropdown, select 'All Configurations'
  • Change the 'Generate Manifest' entry to No

Additionally for 'VS2008 Orcas' turn off Embed Manifest

  • Expand 'Manifest Tool'
  • Select 'Input and Output'
  • In the configuration dropdown, select 'All Configurations'
  • Change the 'Embed Manifest' entry to No

Ensure all the projects are set to build after conversion to VC2005 or higher

  • From the main menu, select Build -> Configuration Manager
  • In the Active solution configuration' dropdown, select each configuration
  • Ensure all the projects have their 'Build' box checked
  • Ensure that the 'Configuration' for each project matches the 'Active solution configuration' selected in the drop down.

Finally check the project dependencies

  • Right click on the Solution in the Solution Explorer
  • Select 'Properties'
  • Under 'Common Properties' select 'Project Dependencies'
  • In the 'Project' drop down, select each project one at a time, and check their dependencies are set the same as in the README.txt accompanying the project files

I personally, like to remove the 'upgrade properties' also. However, it is not necessary. To do this:

  • Select all projects in the Solution Explorer
  • Expand 'Configuration Properties -> General'
  • In the Configuration dropdown, select 'All Configurations'
  • Clear the 'Inherited Project Properties Sheets' field then OK or Apply

Related Sites...

Official MAME page - MAME source code and binaries
Official MAMEUI page - MAMEUI source code, binaries, Artwork and more
Microsoft Visual C/C++ - Microsoft Developers Network
Visual C++2005 - Express Edition


Home  |  Online Store  |  Repair Logs  |  Manuals and Schematics  |  Monitor Manuals  |  Component Markings  |  Links

All Content Copyright © 2000-2017 by MikesArcade.com