@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@ MAMEoX FAQ v 0.17 @@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@ @@@ @@@ MAMEoX v 0.72.1b, based on the MAME v 0.72 core @@@ @@@ Ported by eabair, opcode @@@ @@@ Portions based on MameX b5 @@@ @@@ original port by opcode, updated by superfro @@@ @@@ @@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 0.0 Change log: --------------- 07/07/2003 - 0.10 Initial creation. 07/08/2003 - 0.11 Added info about bugs in the MAME core. Added info about the MAMEoX ini file. 07/10/2003 - 0.12 Added info about using Samba shares with MAMEoX. (Thanks GoDKiLLaX!) 07/22/2003 - 0.13 Updated version, added question about what do do if MAMEoX will not load up. Also added a note about neogeo bios. 07/23/2003 - 0.14 Changed screenshot information. 07/24/2003 - 0.15 Added note regarding the calendar in the M$ dash and neogeo games starting properly. 08/12/2003 - 0.16 Added information about autobooting save states. Updated version. Updated vmm information. Added lightgun information. 08/13/2003 - 0.17 Added information on default key mappings (can be used with USB keyboard) 1.0 Purpose: ------------ The purpose of this FAQ is to answer some very common questions about MAMEoX. This FAQ is in no way intended to address questions about using MAME in general, as there is an excellent FAQ located at http://www.mame.net that address many of the common questions users have when using MAME. This FAQ specifically focuses on the X-Box flavor of MAME that is MAMEoX! 1.1 About MAMEoX: ----------------- MAMEoX is an effort to port MAME to the X-Box. MAMEoX is open source. MAME is distributed with MAMEoX under the MAME license. Current source code for MAMEoX can be found at it's home on SourceForge - http://mameox.sourceforge.net Then select SF Project from the menu. Please note that only source code can be found on this website. MAMEoX is built with an official Microsoft XDK, so no compiled binaries of this source code are made available. 1.2 Frequently Asked Questions About MAMEoX: -------------------------------------------- Q. The source code won't run on my X-Box! How do I get the source code to run on my X-Box? A. You need to compile the source code into binaries that will run on your X-Box. To do so you will need Visual Studio.NET and the X-Box XDK. Currently it is suggested that you use Visual Studio.NET 2003 and the 5558 XDK. Follow the directions provided with the source code (in Docs\readme.txt of the MAMEoX root) to compile MAMEoX. ------------------------------------------------------------------------- Q. Where do I get the XDK and Visual Studio.NET? A. I don't know. ------------------------------------------------------------------------- Q. OK, so if I can't compile the source code, where do I get the compiled binaries, smart guy? A. I don't know. ------------------------------------------------------------------------- Q. Can you at least tell me where I can get roms for MAMEoX? A. Nope. Dump the arcade board of the cabinet you own. ------------------------------------------------------------------------- Q. OK, I have MAMEoX binaries, yipee! How do I get them to my X-Box so I can use them? A. I don't know. There are instructions for setting up MAMEoX and it's directory structure in Docs/readme.txt, but getting the files to your X-Box HD in the first place is your own business. Moreover, there are numerous ways to accomplish this, not one specific way - and some people use CDRW / DVDR media instead of the hard drive. ------------------------------------------------------------------------- Q. This is a FAQ, right? A. Yup. :) ------------------------------------------------------------------------- Q. My MAMEoX hangs / won't run correctly! What is the deal here? A. If you can't seem to get MAMEoX to run correctly, or at all, there are a number of different things you might try: + Update your dashboard or try a new one out. Make sure it's one that is somewhat current and is not outdated. Some people have reported problems with older dashboards. + Update your bios, and make sure IGR is disabled while you are at it. + Check your binaries (make sure you're not attempting to run source code, if you have no xbe files in your distribution, you probably have the source code). + Upgrade to a newer version of MAMEoX if you have not upgraded in a while. Each new version of MAMEoX has numerous fixes to specific problems encountered in prior versions of MAMEoX. + Reinstall MAMEoX completely. Delete all MAMEoX binaries, subdirectories, and files. Don't forget to delete everything in E:/TDATA/4d414d45/ as well, this includes subdirectories in this directory. All of these files should be gone before attempting a complete re-install of MAMEoX. + If you're having difficulty geting something to work correctly that you think should be working, you might check the help file included with MAMEoX. It can be accessed by pressing 'X' in the rom list in the launcher. -------------------------------------------------------------------------- Q. Ok! I've got MAMEoX on my X-Box and it's running like a champ! I have never been happier! Where do I put my roms? A. In the roms subdirectory of the MAMEoX root directory. If it's not there already, create it. Make sure your roms are zipped. -------------------------------------------------------------------------- Q. None of my neogeo roms will load! Why? MAMEoX tells me there are files missing! All my neogeo roms can't be bad, can they? A. Do you have a neogeo bios in your roms directory? Is it zipped? Is it current and up to date (use a rom checking utility like clrmamepro or romcenter)? As of this writing the neogeo bios had changed in v.70 of MAME. Since MAMEoX is a port of MAME, it will require the same up-to-date bios. It's also important to note that neogeo games require the calendar to be set in your original X-Box dash. If you're having problems getting your neogeo roms to run you might boot to your X-Box dash to be sure that your clock is set. Sometimes when power is disconnected to your X-Box this requires resetting. -------------------------------------------------------------------------- Q. I've put my rom files in the roms directory, but they still don't show up in the list. What's wrong? Q. I've just added some new rom files to the roms directory, but they don't show up in the list. I can only see the files that I put into the directory the first time I ran MAMEoX. What's going wrong? A. Try pressing START and selecting "Scan for ROMs" in the pop-up menu. Anytime you add (or remove) rom files, you have to run this file to let MAMEoX know that something has changed. If that still doesn't work, make absolutely sure your rom files are zipped and named correctly. MAMEoX does not support unzipped roms. ------------------------------------------------------------------------- Q. Does MAMEoX support samples? A. Yes, put them in the samples subdirectory of the MAMEoX root directory. If it's not there already, create it. Your samples should also be zipped. ------------------------------------------------------------------------- Q. Does MAMEoX support cheats? A. Yes, put them in the general subdirectory of the MAMEoX root directory. It should be there already. Place your cheats.dat file in this directory. Make sure cheats.dat is _not_ zipped. Also, you may enable/disable the cheat function on the "General" page of the options menu (press START and select "Options Menu" to get there. NOTE: Using cheats requires more memory than not using cheats. If you are having difficulty running a specific rom with cheats enabled, it's possible this is the reason why. ------------------------------------------------------------------------- Q. Does MAMEoX support screenshots? A. Yes. Take a screenshot in game by pressing B+A+Back. To view the the screenshot, use the detail view (press the white button until it is displayed). You can also view screenshots when the screensaver kicks in. Alternatively, you can download screenshots from various sources (we can't provide you with links). Alternatively you can map a button combination to take screenshots in the in game menu (input settings). ------------------------------------------------------------------------- Q. I modified/added my INI file in the MAMEoX/INI directory, but none of the changes seem to work? What am I doing wrong? A. Use the in game editor, the INI file is only read out of UDATA, and when you use the editor it modifies the correct ini file. The in-game editor also keeps you from entering incorrect values. ------------------------------------------------------------------------- Q. How do I use save states / autoboot save states? A. First, save your game. Save game support is still very new in the mame core, and you may find that it varies from driver to driver in how well it works. To save your game, assuming you have not mapped the function to other buttons, use back + rt analog click + rt trigger. When this is done you have your choice of four save slots. These can be selected by choosing A, B, X, or Y. When you have a save state saved, you should see it in subdirectory NVRAM. For example, the save state for Ms Pacman is called mspacman-0.sta, which tells you that your game has been saved to bank 0. By changing this to mspacman-autoboot.sta, upon selecting the game again it will start automatically at the save game. You can use this to get around long rom initialization sequences you would rather skip. Alternatively, you could also throw the .sta file into the autobootsave directory. If the folder is not there already, create it. NOTE: If you use the autobootsave directory, your save state should still be named with the romname-autoboot.sta convention! This directory is just for keeping which games autoboot straight - it's like an extra NVRAM directory for you without all of the other entries. ------------------------------------------------------------------------- Q. What is wrong with lightgun support? I can't get it to work right. A. It's still not working as well as we would like. We hope to fix in a later release. Please be patient. ------------------------------------------------------------------------- Q. How do I use a keyboard with MAMEoX? A. MAMEoX as of version .72.1b supports USB keyboards. Here are the default keymappings (thanks to xaiNiax for this info!) : ***** FUNCTION KEYS ***** TAB - Toggle the configuration menu. Tilde - Toggle the on screen display. Use the up and down arrow keys to select the parameter (global volume, mixing level, gamma correction etc.), left and right arrow keys to modify it. P - Pause. Shift+P - While paused, advances to the next frame F3 - Reset game. F4 - Shows the game graphics. Use cursor keys to change set/color, F4 or Esc to return to the emulation. Shift+F7 then number 1-0 to save a game. (NOTE: Not all games support this function!) F7 then number used to load a saved game. F9 - Change frame skip on the fly. F10 - Toggle speed throttling. F11 - Toggle speed display. Shift+F11 - Toggle profiler display. F12 - Save ScreenShot. ESC - Exit. ------------------------------------------------------------------------- Q. Does MAMEoX support any filters? A. As of version .72.1b, there is AdvanceMame2X support. You can activate it in the Options menu in the rom list by pressing start, and navigating through the pages using the L and R triggers. Beware, using this does cause some overhead, and can cause MAMEoX to drop frames. It also has a memory cost associated with using it. ------------------------------------------------------------------------- Q. How do I set up samba support within MameoX? A. Here it is in 3 steps (Courtesy of GoDKiLLaX). 1. Setup a Samba share on your PC. I won't go into how to do that since it's been covered elsewhere (try the documentation for XBMP), but I will give you a tip. If you play Mame ROMs on your PC then share the folder where Mame is installed.. i.e.; "C:\mame32" When you do this, you can share any other folder within that folder easily. These folders can be shared as 'read only'. 2. Get to the options menu in MameoX and setup the Network options. Make sure you enable network support in this panel. Input all your IP information for the machine that has the directory your are sharing. 3. Next go to the Directory Path Options Page 2 (The one where you can set the directories for MameoX i.e.; ROMs, Samples, High score ect...) and set the ROMs directory to your Samba share. This is the share you created in the first step. The format is the same as in XBMP. i.e.; "smb://username:password@WorkGroup/ComputerName/MameShare/ROMs" You might also want to share the samples folder since some games might need them, and so you won't have to store them on your Xbox. i.e.; "smb://username:password@WorkGroup/ComputerName/MameShare/Samples" You can share any of the read only folders, but don't share any folder that MameoX must write to since MameoX won't write to a shared directory. NOTE: Using Samba means that you have to enable network support within MAMEoX. This results in more memory being consumed in later versions of MAMEoX (v70.2b and thereafter). ------------------------------------------------------------------------- Q. Why won't a particular rom run? A. There are many reasons your rom might not run. You might have a bad rom. You might have a rom that changed in a later version of MAME that requires different files in the rom fileset. You might not have the required bios file the rom needs to run (neogeo bios being one of the more popular 'forgotten rom files'). If you're sure that you have a valid zip file, and that it contains all of the necessary files, MAMEoX may just be running out of memory when loading the ROM. One of the more common reasons MAMEoX cannot run your rom is because there is a limited amount of memory available to do so. If you get an out of memory error (malloc error), then the X-Box has run out of memory trying to load your rom. ------------------------------------------------------------------------- Q. My rom loads, but MAMEoX still reports that it's out of memory and then kicks me back out to my rom list! My zipped rom isn't that big! MAMEoX says the rom files loaded! Why won't my rom run? A. If only things were as simple as just loading your rom! Your rom is zipped, so MAMEoX has to decompress it. It then has to decode graphics and start video and audio emulation within the same memory space. A good analogy would be to imagine making bread. All of the dry ingredients for bread can fit into a pretty tiny bag (your zipped rom). However to make bread, you need to add water and other ingredients to the dry mix. When you have dough, you have to let it rise a bit (at this stage we have uncompressed your zipped rom). At this point, everything that is going to go into the bread is there, but you certainly wouldn't want to eat it yet, would you? Additionally, the bread in it's current state isn't nearly as large as it's going to get. You put the dough in a bread pan and stick it in the oven (your X-Box) to bake. You quickly realize as the bread bakes that it is not going to fit in the pan, and it starts to rise above the edges (at this point the rom files are allocating the amount of RAM they will need to run). Unfortunately, our oven (the X-Box) happens to be very small. Sometimes the pan can barely fit into it! If the bread rises out of the pan and does not have room in the oven, it will most probably light on fire, destroying your oven, burning down your house, and probably horribly disfiguring you in the process. At this point the last thing you want to do is bake more bread (you're kicked back out to the rom list menu). There you go. I hope we haven't terrified you. A good test to see if a rom might work is to load it up in the latest version of Mame32 and see how much memory it consumes in the task manager. If it's over 64 MB, it is unlikely that your rom will run in MAMEoX anytime in the near future (as it would require virtual memory support, which is very low on the developer's priority list). MAMEoX loads drivers in "sections" to save memory, and unloads the ones it does not need. If it were not for this fact, roms that consume over 32 MB in Mame32 would probably not work. As of the time of this writing, MAMEoX can provide around 54 MB, but this number changes as the MAMEoX wizards figure out how to squeeze more RAM out of the X-Box. -------------------------------------------------------------------------- Q. My X-Box isn't really going to light on fire and burn down my house, is it? A. If it does you can not hold us personally responsible ;) -------------------------------------------------------------------------- Q. I like eating bread dough! A. That isn't a question. -------------------------------------------------------------------------- Q. Everyone says creating a swap file for MAMEoX to use would solve the problem of running larger roms in MAMEoX! Windows uses a swap file! It must be really easy to implement! Why don't you guys use virtual memory in MAMEoX? It's probably easy to do! What's the holdup? KawaX already uses virtual memory! By the way, I am not a coder and I have never looked at code in my entire life. A. MAME currently loads roms into RAM, so it can emulate games properly. Rom information that is dumped into your rom file was originally present in memory to allow the arcade machine quick access to its contents. Since the files were in memory, access to this information was extremely quick from an I/O perspective (I/O is input/output for the non-technical). I/O to a hard drive, which is what would be used in MAMEoX, because of lack of RAM to use, would be a _lot_ slower than memory I/O wait. To make it work well, the MAME core would need to be investigated so we would know the proper things in each rom to send to virtual memory. Virtual Memory support has been added to MAMEox. However, it has not implemented with the rom loading code yet. If you could not tell by the tone of the question, the MAMEoX team is not fond of receiving 'demands' from it's users for this, especially when the tone of the question would have anyone believe adding this sort of 'feature' is simple. MAMEoX is open source. If you think that implementing virtual memory is easy, you're more than welcome to check the source out of CVS and do the work for us. :) Isn't the open source model wonderful? -------------------------------------------------------------------------- Q. I want to help the MAMEoX team! What can I do? A. The MAMEoX team can always use the following: - Testers. If you can compile the CVS tree and make working binaries for your X-Box, we _need_ your help. Any testing the developers have to do is time away from doing the coding they need to do to make MAMEoX great! Being a tester involves testing and submitting bug reports. We need people to submit proper bug reports, because the coders work so hard coding that they seldom even have time to play games in their rom collection. Chances are that if a rom is broken, the coders don't know. Even if you can't compile CVS, we can still use your help. Testing with the latest release level is appreciated, just follow the proper procedures for reporting a bug (see below). - Suggestions to make MAMEoX better. Do you have an idea for an enhancement or feature that you think would make MAMEoX great? We want to know about it. Check out the 'RFE' section of the main MAMEoX Sourceforge site and let us know about it. -------------------------------------------------------------------------- Q. How do I post a bug report? A. We're glad you asked :) Bugs can be posted on the Sourceforge website under the subheading, 'bugs'. If you take the time to post a "good" report, it both saves the dev team a _lot_ of time (you'd be surprised how quickly the time spent reading through bug reports adds up when you need to open and read 50), and makes your bug a better candidate for developer attention. Bad reports make it much harder for us to find and fix the problems, and often take up time that we would otherwise spend fixing problems or adding features. Here are some tips: 1. Make sure you've looked at the pending and closed bug reports before posting your bug. Duplicate bug reports are annoying and time consuming to process, even if we ignore it. You can see these "hidden" reports by switching the "status" option on the bug page to "any". 2. Please post the following if you're posting a bug related to a specific game: - Game name (for example, Mortal Kombat) - Rom name (for example, mk.zip) - Rom bios (for example, neogeo.zip) - Size (please list size in zipped / unzipped) - Post the problem in the subject with the game title (for example, Mortal Kombat - out of memory) - Post a brief description of the problem in your comments - Assign bug to eabair - if game specific, please set this in the form 3. All other bugs should follow in principle the above format as it would apply to the bug you are reporting. In general please post a short description if possible in the subject line so we have an idea of what the bug is before we read further. This allows us to prioritize bugs without eating up alot of time, which allows the overall development to move along much faster. 4. Please, only post one bug per report. Do not report multiple nonworking games in one bug report. Please do not report multiple bugs in one bug report. Split them up as each bug is assigned a priority. Failing to do this will often result in us missing bugs, as only the first item mentioned in the report will be worked on. 5. It always helps us if you're having a problem using MAMEoX if you respond to the forum topic on Sourceforge entitled, 'Poll for info about user's X-Box' so we know what your setup is (very useful as sometimes we can not duplicate problems). If you don't do this, you'll probably just get a reply from the team asking you to provide this info before we can even start looking into it. 6. Lastly, please keep in mind that MAMEoX is a port of MAME. any problems that are in the MAME core will likely be present in MAMEoX. There is not much we can do about this. Please check the rom in Mame32 or your favorite 'flavor' of MAME prior to reporting a bug with a rom in MAMEoX. It is unlikely that we will fix a bug that is present in the MAME core. Also, please consider using the new compatiblity listing that can be found here: http://mameox.sourceforge.net/compat.php This system is used to generate a romstatus.xml file that you can place in your GENERAL directory. This file is generated twice daily. This can be parsed through by MAMEoX to determine what the running status of the rom is. If it's GREEN, the rom has framerate issues. If it's RED, the rom either runs out of memory or causes MAMEoX to crash. Try it. The nice thing about using this system is that it allows you to help out other users of MAMEoX! -------------------------------------------------------------------------- Q. I posted a bug/feature request/help item, and it disappeared! What's going on? A. Check closed/pending items, as it's already fixed or marked as a duplicate entry. You can check 'closed' and 'pending' statuses of the bugs and feature requests (RFE) pages of the Sourceforge MAMEoX site. -------------------------------------------------------------------------- 1.3 Credits ----------- Credit Info ----------- Want your name in the credits? Then submit a frequently asked question along with a good answer! All submitted questions are subject to editing but you will receive credit for your submission in this section. Help us help the MAMEoX challenged! Please submit your FAQ entries on the official MAMEoX forums found on the Sourceforge page: http://sourceforge.net/projects/mameox Please put 'FAQ addition' along with the name you'd like to be credited under in the subject line of the post and we might add your submission. We currently need people to work on the following sections: ----------------------------------------------------------- Installing MAMEoX on your hard drive Installing MAMEoX on CDRW / DVDR If you can translate this FAQ for us into something that is readable in another language (i.e. you're not just using Bablefish or an equivalent) we will accept your help! Contributing users ------------------ noodle1009 ---------- Initial creation of the FAQ, initial entries in version 0.1. eabair ------ For the wonderful bread making analogy ;) GoDKiLLaX --------- For instructions for setting up samba support with MAMEoX. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@ Thanks for reading, and enjoy MAMEoX! @@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@