This is a brief update to a previous article I posted about porting M.A.M.E. to the Microsoft XBOX. I have managed to remove just about all of the bugs in the rendering code.
It’s even a little faster than it was before.
I’ve fixed all the blown out colour & gamma problems and the sizing issues of the screen.
Apart from about a dozen games that have incorect colours everything runs just perfectly. MetalSlug X looks superb now that it has the correct colour palette. The bugs in Microsoft’s latest 7.0 C++ compiler I managed to work around by just tuning the optimisation parameters for those particular source files.
Sound works. A little glitchy on one or two drivers. Nothing that’s too annoying.
I’ve implemented code to handle the analogue sticks so that games like Crazy Climber and Karate Champ can be played as they were meant to be with dual joysticks. I’ve also implemented code to handle the four joypads, so that you can play four player Gauntlet and three player Rampage.
I’ve implemented a simple menu system that scans the hard drive at start up for available M.A.M.E. ROMs and displays them in a list that lets you rapidly scroll through to select the game you want. Also figured out a reset emulator bug that was annoying me that would prevent you returning to the menu system. Turns out the bug was in beta 14 of the M.A.M.E. source code that has since been fixed in the beta 16 release and it just required an update to my M.A.M.E. sources. A few other latent bugs got fixed automagically by taking care of that. The emulator runs on both the silver Alpha hardware and the “final” debug stations just fine, in case you were wondering.
Now if only Microsoft would let me legally distribute this software I’d be a happy person. Unfortunately, only registered Microsoft XBOX developers can legitimately obtain this software (okay, apart from the fact that only registered XBOX developers actually have an XBOX that can run the software at the time of this writing).
Here’s another like about porting M.A.M.E. to the Microsoft XBOX just in case you missed the one at the top.