MAMEoX (MAME on XBOX) / News: Recent posts

Website forums fixed

Sourceforge upgraded their MySQL servers to 4.1.x, and we neglected to move our database over to it. However, the nice folks at have provided a database dump, and the forums ( are back up and running.

Posted by falz 2005-11-15

MAMEoX v0.84.3b released

My apologies for the delay in having the source uploaded and available. I was on a buisness trip for the last couple of weeks can could not make the release. Better late than never, right?

Enjoy, and major thanks to Xport for all of his hard work on this!

Posted by Pasta Prince 2004-08-25

MAMEoX v0.84.1b released

MAMEoX - MAME/Arcade Emulator for XBox v0.84.b1

What's new :

- Virtual memory - practically everything that runs in MAME/Windows should run
on MAMEoX now

- MAME 0.84 sources merged

- Lightguns should work pretty well now

Important Notes - Read EVERYTHING here before complaining
=========================================================... read more

Posted by Pasta Prince 2004-07-24

MAMEoX v0.79.1b released

MAMEoX is a port of the popular MAME (Multi Arcade Machine Emulator) system to the XBOX. The main goals of the project are to provide a well documented port with a consistent coding style. The 0.79.1b release incorporated the 0.79 MAME core and fixed a small bug for warning message when clock is not set.

Posted by Pasta Prince 2004-02-11

MAMEoX 0.76.1b released

MAMEoX 0.76.1b Release notes:

+ Incorporated 0.76 MAME core
+ Incorporated 0.75 MAME core
(.76 came out too quickly to release)

Posted by falz 2003-10-20

MAMEoX 0.74.1b released

Release notes:

+ Incorporated .74 MAME core
+ Some fixes for vector games
+ Analog input for pedals is fixed
+ Now uses a graphical progress bar
+ Fixed some problems with vector games
+ Now warns you if the XBOX clock isn't
set (this screws up neogeo games)
+ Fixed screensaver bug (disabling the
screensaver caused a infinite
'input-eating' loop
+ Fixed problem with 2 bpp paletted PNG
files (monochrome screenshots)
+ Many game-specific fixes (thanks to
Xboxed and users of the rom status
reporting system) ... read more

Posted by Pasta Prince 2003-09-16

0.72.1b released

See the announcement section of the forum for more info:

Posted by Erik Abair 2003-08-13

0.71.2b released

Yesterday I threw in write buffering for write operations, which fixes the problem w/ exiting games taking forever for some people (still not sure why it didn't take long for some of us, but did for others, but it should be good for all now). That's enough to warrant a minor release (nothing super major has changed unless you happen to have 128 megs of RAM).

As a side note, this is the first release done by Noodle & Falz, I actually didn't touch it at all, which saves me pretty much an entire weekday's worth of time for development. I'd like to say "thank's again" to them for their hardwork and quick learning ability :)... read more

Posted by Erik Abair 2003-07-17

MAMEoX 0.71.1b release info

New release time, (it'll go up within the next couple of hours) notable changes follow:

- Integrated MAME core 0.71

- Switched to a more aggressive handling of silent XBE
dependencies. This change frees up almost another megabyte of
RAM, which will hopefully get a couple more games working. This
will undoubtedly break games that used to work until they are
reported and thrown into the new families, but it gives up about
a meg of RAM.
To anyone who just read through that paragraph, please pardon the
Just had to make sure that everybody gets at least that part, if
you guys don't report the bugs, I don't find them and can't fix
them for you :)... read more

Posted by Erik Abair 2003-07-07

MAMEoX v0.70.3b released

Changes worth mentioning:

- Better lightgun support. The calibration screen which works perfectly, but the MAME core code does not seem to work reliably for lightguns. I've currently hacked it such that the lightgun acts like a standard analog controller, so it's sometimes usable, but still needs work (I'd say it's 85-90% there now).

- Fixed it so that you can use a normal gamepad for lightgun games, if you don't have a lightgun attached (and pointing at the screen). ... read more

Posted by Erik Abair 2003-06-30

0.70.3b release info, other news

0.70.3b should go out tomorrow night (I had hoped to put it out today, but there are still a few things I want to clean up first).

Changes worth mentioning:

- Better lightgun support (this is what I'm still working on). Right now I have a calibration screen which works perfectly, but for some reason games seem to get incorrect values.

- Fixed it so that you can use a normal gamepad for lightgun games, if you don't have a lightgun attached (and pointing at the screen).... read more

Posted by Erik Abair 2003-06-29

0.70.2b release info, increase in available memory

I figure I'll break this one into a timeline, seeing as there was only a single day of development between 0.70.1b and 0.70.2b:

- I received some more reports of more games that were verified working in older versions of MAMEoX that didn't work in 0.70.1b.
- Started looking (again) into ways to free up more memory.
- During my search, I tried merging all the various driver code/data/bss/const sections into one section per driver. I tested it, and realized that apparently it had actually hurt the amount of memory available.
- This prompted me to look into why concatenating sections would use up so much more memory. During testing, I found that unloading the driver sections did _nothing_.
- Started wondering why that was, realized that you could theoretically have more than one section on a single page in RAM. Therefore there would have to be refcounting to ensure that you didn't free up a page just because one of the sections within it were free'd.
- Realized that MAMEoX immediately loads all the driver sections, even though they should be preloaded when the XBE is booted up. This sets the refcount on _every_ driver to 2, so they don't get unloaded.
- Took out the call to load the sections, watched memory go from 32 megs free to 50 megs free.
- Jumped up and down
- Enabled code to sectionize CPU's
- Tested Golden Axe 2 (xdelusion's post reminded me that I used to play and enjoy Golden Axe at a bowling alley when I was a kid. The fact that it didn't work, but had worked in the past prompted me to do all this testing). GA2 failed.
- Debugged trying to figure out WTF was wrong. Found out that I was unloading the CPU section just before I loaded it, but after some initialization was done by MAME. Therefore, anything malloc'd by the CPU code was free'd back to the heap and invalidated, causing everything to go to hell.
- Fixed it by incrementing the refcount of the used CPU's before unloading the unused CPUs
- Tested in debug mode, works fine.
- Started a build in retail mode, got some food.
- Tested GA2, and some other titles in Retail mode (removing the code to load the driver sections was what broke the 0.66b release). Seemed to work fine, so I made a release.
- Release mode crashed just like 0.66b did, so I looked at all of the optimization options trying to figure out what could be wrong. Tried turning off String Pooling, as I figured it could cause additional dependencies between XBE sections. Tested, and this seems to be the case.... read more

Posted by Erik Abair 2003-06-20

0.70.1b released

0.70.1b is out.

Major changes:

Proper analog support
Option for screen rotation
Option for different D3D filtering
Virtual Keyboard support for Options screen
Fixed a couple of places where games would exit due to lack of memory w/out reporting that to the user.

Posted by Erik Abair 2003-06-19

File releases removed, licensing issues

It has come to my attention that MAMEoX has been violating the MAME licensing agreement in at least one or two ways:

1) "The version number must also match the
number of the official MAME version from which you derived your version."
To correct this, the next release of MAMEoX (and the current CVS image) will be versioned either 0.69.1b, or 0.70.1b, depending on how motivated I am to integrate the new core.... read more

Posted by Erik Abair 2003-06-13

0.66b release probably flawed

The 0.66b release seems to be screwed up, any release images built from a totally clean download produce a binary which is unable to load any ROMs. This has been verified by all of the developers, and I apologize for the screwup.
0.67b will go out as soon as we get everything working again (it's turning out to be somewhat difficult). In the meantime there is a workaround for anybody really eager to screw w/ 0.66b. You can disable optimization for the MAME library, which seems to make everything work (though slowly and with some extra cost size-wise).

Posted by Erik Abair 2003-06-07

MAMEoX Version 0.66b

0.66b is out. The main changes are many stability fixes, a fix to the cheat feature (it was broken in 0.65b), and some other small changes.

Posted by Erik Abair 2003-06-05

Transportation Security Administration

So Lightgun support (and MAMEoX in general) has hit a small snag: The Transportation Security Administration ( has apparently stolen all of my XBOX controllers, my lightgun, all of my CDs and games, and my friend's iPOD. I opened up my luggage to find a "Notification of Baggage Inspection" lying where most of my stuff should've been. It doesn't mention anything about them taking stuff out, just that they carefully rifled through everything.
As it turns out, I have the breakaway part of one of the controllers (the short part cable that goes to the XBOX), so I guess that's not a total fucking loss.
Needless to say, the only thing I can do is fill out a damage claim and watch as I get no money and no equipment back. I'm just lucky that I decided to take the XBOX itself as carry on, otherwise I would've been really screwed.... read more

Posted by Erik Abair 2003-05-30

VC6 support discontinued, just noticed core 0.69

Good news and bad news:

First the good news:
I've just noticed that the MAME core team has released version 0.69, looks like all it adds are a bunch of new drivers, so it should be a half-hour integration.

Now the bad news:
Apparently some of the features of version 0.65 (on CVS now) are not supported by the older VC6 SDK. The team has decided that it would not be worth it to release stripped down versions for VC6, so the older SDK will no longer be supported at all. The VC6 project files will not be included in future releases.... read more

Posted by Erik Abair 2003-05-25

MAMEoX version 0.64b (Visual Studio.NET only) released

Version 0.64b is now more or less ready. Major features include an integrated INI file editor, a bunch of bug fixes, and the inclusion of MAME core 0.68.
Unfortunately we've run into some problems with the Visual C++ 6 portion of the project, so compiling with that setup is not currently possible.

Posted by Erik Abair 2003-05-20

MAME core 0.68 released

Just noticed that a new MAME core version (0.68) has been released, and I'm now updating MAMEoX.

Expect a new release (0.64b) including the latest MAME core by Monday or Tuesday at the latest.

Posted by Erik Abair 2003-05-16

Version 0.63b Released

Split the ROM listing off into a separate XBE file. This leaves us with some room to make major interface improvements (beautifications) without affecting the MAME core. More importantly, this insulates us from any memory leaks in the MAME core (when some ROMs ran out of memory during bootup, they wouldn't release everything back to the system, which kept other ROMs from running).

Other changes are fairly minor:
cheats are (theoretically) enabled, by request :)
Sound popping may be slightly improved, there are still buffer underruns, but I kludged it by clearing ahead 1 frame's worth of samples to 0 so its at least not old data.

Posted by Erik Abair 2003-05-13

v0.62b Release

Included support for VC6 & the older SDK
Bug fixes for vector graphics games
Sound subsystem improvements

Posted by Erik Abair 2003-05-08

MAMEoX Open for Developers

MAMEoX is now open for C/C++ developers, send me an email if you're interested.

Posted by Erik Abair 2003-04-28

Fixed another UserInput bug, etc...

Stupid mistake, some functions of gamepad 3 were mapped to gamepad 4 and vice versa.
Grab xbox_JoystickMouse.c to fix.

There won't be a new full release for this, as I don't feel it's a critical bug.

Other news:

I plan to open development to interested parties by Tuesday, I'm just writing up some guideline docs and stuff. Anybody interested in doing development should email me.

Question of the day:
What's the best way to do a changelog keeping track of all of the files that have changed and why they were modified?... read more

Posted by Erik Abair 2003-04-27

User input bug fixed

There was a pretty annoying bug in v0.6b that has now been fixed. The best way to fix it would be to check out "InputManager.h" from CVS, though a new source release is currently in the works.

Posted by Erik Abair 2003-04-26