VCMame Home - Bryan's Mame WIP - PCB Target Manager - Mishterm - J2ME Chuckie Egg - Jack Attac


VCMAME is a set of project files and information that allow the official MAME source code to be compiled with Microsoft Visual C++.  The intent of VCMAME is to allow those that prefer Visual C++ and it's associated tools to contribute to the MAME project.

VCMAME is presented as-is for non-commercial use only.  Any binary distributions constructed with VCMAME must adhere to the MAME Usage and Distribution License, as well as any other relevant copyright or license agreements presented by the source code authors.  VCMAME is generally unsupported, and no guarantees are made as to the timeliness, quality or accuracy of information posted to this site.  Proceed at your own risk.

Click here for technical article on VCMame at Code Project.



VCMame 0.105 for .NET 2003

VCMame 0.105 for Visual C 7.1 (.NET 2003)


VCMame 0.104 for .NET 2003

VCMame 0.104 for Visual C 7.1 (.NET 2003)


WIP Update



WIP Update



WIP Update

Here. (Again!)


WIP Update



VCMame 0.102u4 for .NET 2003

Not had any time for Mame recently, here's 0.102 anyway (u4 patch level).

VCMame 0.102u4 for Visual C 7.1 (.NET 2003)


VCMame 0.100u1 for .NET 2003

100 Mame releases!

VCMame 0.100u1 for Visual C 7.1 (.NET 2003)

Plus a belated update here.


VCMame 0.98 for .NET 2003

VCMame 0.98 for Visual C 7.1 (.NET 2003)


VCMame 0.96 for .NET 2003

Some minor tweaks - incremental linking on for tiny & dev release builds. Omit frame pointers on for release builds.

VCMame 0.96 for Visual C 7.1 (.NET 2003)


WIP Update



VCMame 0.95 for .NET 2003

VCMame 0.95 for Visual C 7.1 (.NET 2003)


WIP Update

Here. No time for VCMame 0.93 today though.


WIP Update

A truly random WIP update (most of the stuff I do I never bother to put there).

No VCMame 0.92 - 0.93 is expected very soon so I'll wait until then.


VCMame 0.91 for .NET 2003

Hmm, didn't think it had been so long since an update. Oh well, here one is anyway. Again, .NET only, no time to make a VC6 version (try the autoconvertor on The dynamic MIPS recompiler is turned on in this release as is the new debugger. Some of my vcmame (and pcb target manager) mail was lost so if you mailed me since December and I didn't reply that's probably why!

VCMame 0.91 for Visual C 7.1 (.NET 2003)


PCB Target Manager

Sorry no update for a while, I'll try to sync at the next full Mame release. Been doing some other stuff..


VCMame 0.87 for .NET 2003

Another .NET 2003 only release, I don't have time for the other versions. The auto-convertors should work if you want to use an older version though.

VCMame 0.87 for Visual C 7.1 (.NET 2003)


VCMame32 0.85 for VC6

Thanks to René Single for contributing a VC6 version for Mame32!

VCMame32 0.85 for Visual C 6.0 (DevStudio)


VCMame32 0.85 Released

Mame32 0.85 wasn't actually out when I did this so this actually uses the Mame32 0.84u5 release - I think that'll be very close to the real 0.85 though so I don't expect any problems. I also didn't bother with VC6 or .NET 2002 versions as I feel Windows apps are best built with the latest dev environment. If you auto-convert this project back to .NET 2002 I think you'll be ok, but VC6 will probably cause some problems. At the very least you'll need the latest Platform SDK installed...

VCMame32 0.85 for Visual C 7.1 (.NET 2003)


VCMame 0.85 Released

Don't have much time for Mame these days due to various reasons but I've put together a VCMame package for 0.85... Zlib & expat libraries are now included in the main Mame source tree, so you just have to install this zip over the top of the Mame source and that's it!

I also re-installed my computer recently and I didn't bother to put .NET 2002 or VC6 back on it, so I am only using .NET 2003 at the moment. I've ran the 2003 projects through an auto-convertor to get 2002 and VC6 versions but I've not tested them - let me know or post on the board if there are any problems.

VCMame 0.85 for Visual C 6.0/7.0/7.1 (DevStudio, .NET 2002 & .NET 2003)


VCMame 0.82 Released

I didn't actually notice when 0.81 came out - woops. Here's 0.82 anyway, even if it is a little late.

Instructions are included in the zipfile as usual.

VCMame 0.82 for Visual C 6.0/7.0/7.1 (DevStudio, .NET 2002 & .NET 2003)

ZLib 1.14


VCMame 0.80 Released

Fixed a few things from 0.79 - including the fact some CPU definitions were missed out in vcmame.h and so some games didn't run. As usual, let me know if any problems come up with this release!

Instructions are included in the zipfile as usual.

VCMame 0.80 for Visual C 6.0/7.0/7.1 (DevStudio, .NET 2002 & .NET 2003)

ZLib 1.14


Chuckie Egg

Announcing... Chuckie Egg on mobile phones :) For full details click on the link. If you don't know what Chuckie Egg is already, you probably won't be too interested though!

J2ME Chuckie Egg


VCMame Board

I've set up a web message boar for VCMame (one of the free ones) - no idea if anyone will use it though!

VCMame Board


VCMame 0.79 Released

First VCMame of 2004... Lots of internal changes to Mame are in 0.79 but it actually builds under VC without any patches to the main source tree - mainly due to smf getting patches into the tree before release!

Instructions are included in the zipfile as usual.

VCMame 0.79 for Visual C 6.0/7.0/7.1 (DevStudio, .NET 2002 & .NET 2003)

ZLib 1.14


VCMame 0.78 Released

Fixed some glitches since the last release thanks to Curt Coder! The hdcomp project is now fully removed in favour of chdman. I've also added a new build configuration (Dev Release Tiny) which gives you release mode code but with the debugger enabled and all but selected drivers removed. This is especially good if you are developing on an older PC as the object code size is massively reduced so there is a much quicker build turnaround. To use it - add in the drivers you want in src/vc/vctiny.h then manually enable the C files you want to compile (uncheck 'Exclude From Build' in settings).

Instructions are included in the zipfile as usual.

VCMame 0.78 for Visual C 6.0/7.0/7.1 (DevStudio, .NET 2002 & .NET 2003)

ZLib 1.14


VCMame 0.77u3 Released

This is an update for Mame 0.77 update 3 (not basic 0.77) - I was going to skip a VCMame release for the 0.77 release due to lack of time, but I had to submit some code so I had to sync up anyway, and with that done I may as well release it. I've only tested this under VC6, but VC7 should automatically convert all the dsp's so it should work with that. Hopefully it'll be service as usual for Mame 0.78.

I've also upgraded the version of ZLib used by VCMame - to v1.14. I'd been aware 1.13 was out of date for a while but someone emailed me to point it out as well (I can't find that email just now, but thank you!).

VCMame 0.77u3 for Visual C 6.0/7.0/7.1 (DevStudio, .NET 2002 & .NET 2003)

ZLib 1.14


WIP Update

Here. Haven't had time to do VCMame 0.77 yet.. But no-one's asked for it either..


VCMame 0.76 Released

Sorry, skipped 0.75 (it was very quickly replaced with 0.76 though) and 0.76 is a bit late and poorly tested as I've been busy with other things. Back to normal soon though!

VCMame 0.76 for Visual C 6.0/7.0/7.1 (DevStudio, .NET 2002 & .NET 2003)

ZLib 1.13


VCMame32 0.74 Released

VCMame32 0.74.. No VC6 version yet, but I still intend to do it when I get some more time. The zip below contains project files for .NET 2002, but they will convert automatically to the new format if you load them into .NET 2003. Instructions are within the file as usual.

VCMame32 0.74 for Visual C 7.0/7.1 (.NET 2002 & .NET 2003)

ZLib 1.13

I'm looking at doing a set of project files for 'VCMess' as well, though I'm currently very busy with real life work.

(Plus.. Almost 10,000 views for the CodeProject article! :)


VCMame 0.74 Released

Wow, I didn't expect a new Mame so soon... I may as well hold off for a new Mame32 and skip VCMame 0.73.. Instructions included in the zip as always.

VCMame 0.74 for Visual C 6.0/7.0 (DevStudio & .NET 2002)

VCMame 0.74 for Visual C 7.1 (.NET 2003)

ZLib 1.13


WIP Page Added

Not had time to do VCMame32 sets yet, but I added a WIP page about emulations I'm working on.


VCMame 0.73 Released

Sorry for the delay, these have been ready for a couple of days but I wasn't able to upload them. VCMame32 to be done over the weekend hopefully! As usual, instructions are included inside the zip file.

VCMame 0.73 for Visual C 6.0/7.0 (DevStudio & .NET 2002)

VCMame 0.73 for Visual C 7.1 (.NET 2003)

ZLib 1.13

There is a technical article about VCMame now online at Code Project! As well as detailing VCMame it talks about some of the code in the main Mame source package also. Any feedback welcome on it!


VCMame 0.72 Re-Released

It appears the directory structure inside the zip files released a few days ago was wrong - all the project files were inside 'src' in the zip when they are meant to be at root. Woops!

I've updated all the 0.72 zips linked below.


VCMame 0.72 Released

Hello there! Sorry for the lack of updates recently, non Mame work caught up with me and all my free time disappeared... To make up for it though, here are updates for Mame 0.72:

VCMame 0.72 for Visual C 6.0/7.0 (DevStudio & .NET 2002)

VCMame 0.72 for Visual C 7.1 (.NET 2003)

VCMame32 0.72 for Visual C 7.0 (.NET 2002)

VCMame32 0.72 for Visual C 7.1 (.NET 2003)

ZLib 1.13

.NET 2003 is now supported - as the format of the project files has changed since .NET 2002 they are distributed in a seperate zip file. I'm still thinking about bringing back VC6 support for Mame32 - just haven't had time to investigate it yet.

All versions of VCMame now have a new configuration 'Dev Release' - in addition to standard Debug & Release, Dev Release features full speed optimisations but also includes the Mame debugger in the build. Ideal for when you only want to work on developing drivers, not the Mame core, and require full driver speed. I've also changed some of the project setup - vcmame.h is now included for every file in the project via the 'force include' (/FI) option. This means osd_cpu.h in the Mame core does not need to be patched anymore.

I played around with code inlining a little for an experiment. Changing __inline in vcmame.h to __forceinline has a dramatic effect on compile time - some files with heavy inlining can take up to 10 minutes to compile! (On 1 Ghz Athlon). In return a 5-10% increase in performance was achieved. I've left this turned off by default in the release, but if you play about with it let me know the results!

19.08.2003 (Update!)

I meant to mention this above, and also fix it in the current release, but totally forgot about it until now.. Charlie Robson spotted a problem with the custom build step failing when using a path with spaces in the filename:

When building mame from a directory with spaces in it's path (...\my projects\...), the custom build steps for .asm files will fail with an error such as 'multiple input files specified'. The resolution is to place quotes around the path macros like so:

nasmw -f coff -o "$(IntDir)\$(InputName).obj" "$(InputPath)"

I'll fix this in the next release!

Robert John Shepherd also contributed a project file for VCMame32 0.71 (I skipped that one). Apply it over the VCMame32 0.70 package and it should work fine. Sorry it took so long to appear here...


VCMame 0.71 Released

VCMame 0.71 for Visual C 6.0/7.0 (DevStudio & .NET)

ZLib 1.13


VCMame32 0.70 Released

Here are project files for Mame32 for .NET. I never got around to doing a set for 0.69, and this is a little late too... I haven't done a VC6 version as the version of the platform SDK installed with VC6 is too out of date to compile Mame32 without a lot of patches. If anyone really wants VC6 support for Mame32 though, I could look into making it work with a recent platform SDK. I wouldn't expect this to be hard from a code point of view, just a maintenance one.
Let me know of any problems with this release, it hasn't had much testing!

VCMame32 0.70 for Visual C 7.0 (.NET)

ZLib 1.13


VCMame 0.70 Released

As before, VC6 and VC7 projects are included in the zip, and you'll need Zlib also. Full instructions are included in the zip. Let me know of any problems!
The previous release had some problems with dependencies - the debug builds of romcmp & hdcomp linked with release builds of zlib - so if you build debug before release, there wouldn't be a version of zlib compiled and the link would fail. This should now be fixed, many thanks to the people that emailed about this problem!

VCMame 0.70 for Visual C 6.0/7.0 (DevStudio & .NET)

ZLib 1.13


VCMame 0.69 Released

I've decided to package both VC6 and VC7 projects inside the same zip file, so just use whatever set you want. Instructions are included in the zip, you will need zlib as well. Let me know of any problems!

VCMame 0.69 for Visual C 6.0/7.0 (DevStudio & .NET)

ZLib 1.13


New VCMame Projects Released

Instructions are included in each zip file, you might need zlib as well. Let me know of any problems!

VCMame32 0.68 for Visual C 6.0 (DevStudio)

VCMame32 0.68 for Visual C 7.0 (.NET)

ZLib 1.13


New VCMame Projects Released

Instructions are included in each zip file, you might need zlib as well. Let me know of any problems!

VCMame 0.68 for Visual C 6.0 (DevStudio)

VCMame 0.68 for Visual C 7.0 (.NET)

ZLib 1.13

Please let me know if you want to join the VCMame mailing list - at the moment I'm not quite sure how people can add themselves... (email mish AT


Mame 0.68 released!



Well, hello! The previous maintainer of this site has stepped down due to lack of time, and has graciously allowed me (Bryan McPhail) to take over the domain and continue the project. I hope to keep up his good work in providing project files and patches to make it easy for people to build Mame using Microsoft Visual C. I also hope to put some other related Mame and arcade things on this domain.

Until I get set up properly, here are the previous project files for:

VCMame 0.66

VCMame32 0.66

ZLib 1.13

I will post project files for 0.67 soon (VC6 and VC7), but as I'm very busy there are absolutely no guarantees as to when this will be!

You can email me at mish AT, and there is a mailing list set up at vcmame AT I hope to hear from some of you, as at present I really have no idea how popular (or not) this site is...