MameUI Troubleshooting [& Tips]

MameUI [previously Mame32] has been in development since 1997.  It is mature, complex, and robust.  However, since the Mame project itself is a documentation effort, and development is continuous, there will be times when changes to the core program effect MameUI.  When problems do occur with a specific game in a specific version of MameUI, a previous version of MameUI may be used. 

MameUI is now an integrated GUI front end which passes user input from the GUI to the Mame engine/core.  Thus, any problems that occur in the Mame engine will be inherited by MameUI.  Prior to reporting problems against MameUI, verify that the issue is not a known, core defect in Mame.  The Mametesters.org site is designed to track and report bugs in the baseline Mame version.  To find if a problem plagues the game in question, do an alt-enter on the game and note its driver/source name at the bottom of the general properties tab; then search the Mametesters’ bug database.  The current list of known MameUI specific issues and defect tracking is available at MameUI.   

ROMs and CHDs Related Topics

·         Utilization of an external ROMs management utility like Clrmame is recommended for repair and identification of damaged or incomplete sets.

·         If receiving missing ROMs error messages when attempting to run a game, secondary click on the game in the list and choose properties, do an audit on that game [or use Alt-A].  The audit will determine which files are missing from the ROMset currently being played.  MameUI will not run a game which fails its internal audit.

·         Mame is an ongoing documentation project. Sometimes old ROM sets are found to have miss-dumped, missing, or damaged ROMs, which need to be replaced.  As new versions of Mame are released, the Mame developers add support for these new iterations of ROMs, supplanting or renaming the old supported versions.  Thus, often, older versions of ROMs which did work in older versions of MameUI, will not work with newer versions of MameUI because they are now read as incomplete or wrong.  MameUI will not play the game in question until the updated ROMs are utilized.

·         MameUI utilizes the idea of a parent / clone relationship for its games.  If trying to play a clone or a bootleg of a game, MameUI will need the ROMs for the clone game, and the parent set.  MameUI indicates the parent set of a clone at the bottom of the game’s properties tab, or more easily in grouped view, View \ Grouped.

·         MameUI utilizes the idea of having single zip files to house the BIOS files for a large number of similar games.  The NeoGeo games for example, share upwards of ten BIOS files in every game.  Mame will look to neogeo.zip as the BIOS zip, if this file is freestanding along with the other NeoGeo games, it will use it. Otherwise, MameUI expects all the BIOS files in every NeoGeo game’s zip file. DECO cassette, PGM, and Playchoice are some examples of other BIOS games.  An error message will occur if the BIOS files are not present and those games are run.  Occasionally, new ROMs will need to be added to the BIOS packages themselves, this occurred recently with the ‘ng-lo.rom’ and then 6 new regional BIOSes in the neogeo.zip. MameUI will not audit a game as correct without all the BIOS files with the correct CRC, while it may however be possible to play the game after an error message.

·         Games that support .CHD [compressed hunks of data] images [Max Force, Killer Instinct I & II, Area 51, Vicious Circle, War Gods, beatmania games, and items in the CHD folder view on the left pane] have to have their ROMs and .CHD files in a very specific directory structure. The single large .CHD file needs to go in the \ROMs\gamename\ directory, and have the *.CHD extension, e.g. \ROMs\area51\area51.chd.  These games also have ROMs, these go one level up in the \ROMs folder proper like any other game.  So in the end two files should exist for these games one *.zip in the \ROMs folder and the *.chd in a sub-directory named for the game. 

·         F5 / View • Refresh in the GUI. (Do this anytime ROMs are altered, renaming, etc.)

·         If games are not displaying in the game list, ensure the appropriate folder view on the far left is toggled, i.e. 'all games' and it doesn't have filtering on it to stop the display of the game being searched for.

·         Use the Options • Reset to default menu choice and check all of the items, restart MameUI.

·         Final option, manually delete the MameUI32/64.ini and the Mame.ini file in the \ini directory.

Crash Related Topics

·         Delete the \cfg\*.CFG, \diff\*.DIF, \ini\*.INI, or \nv\*.NV files for the game that's crashing.

·         Check to see that the zip file is valid and that it's not corrupt or read-only.

·         Verify the presence of the \ini directory under MameUI.exe’s location.

·         If versions of MameUI prior to .66 had been installed on the system, verify that the old registry key has been deleted with regedit.exe. HKEY_CURRENT_USER/Software/Freeware/Mame32

·         If crashing during an audit or an [F5] refresh, it could be a corrupt .zip file.  Extract it and re-zip. Pkunzip -t *.zip. Note the file that dies during the audit and concentrate on that one. Also verify that if zip files are not used, that the folder is not empty, or contains partial or damaged ROMs.  Utilization of an external ROMs management utility like Clrmame is recommended for repair and identification of damaged sets.

·         If seeing crashes or weird screen coloration, try disabling running background apps [in Win98, use msconfig.exe], Norton Crashguard, PnP programs like Kaaza, eDonkey, LimeWire, popup killers, viruscans, MS Office Fast Find, the Microsoft Office Bar, Intellimouse, even IE subscription updates, etc. Try moving MameUI away from compressed [DriveSpace, DoubleSpace, stacker] drives.  IntelliMouse and Office Toolbars have been known to cause conflicts.  Also disable items in the system tray, like the CD player, etc.  It may also be necessary to download and install the latest version of DirectX from Microsoft to prevent some errors.

·         If MameUI crashes with an access violation it may be the DEP (Data Execution Prevention) setting on that machine.  Add MameUI to the exception list in Control Panel / System / Advanced / DEP.

·         In some instances games may fail to start if the installed directory path contains a large number of characters and spaces, to alleviate this, install MameUI and its support directory structure into a shorter path name, i.e. c:\MameUI\.

·         MameUI may fail to launch its games in situations where an errant, non-DX compliant, or badly written gamepad USB adapter driver/software is used.  This includes some cheap Playstation, SNES, U64 converters.

·         Games may fail to start if a video cards DirectX driver is flakey, utilise an earlier one to test or re-install DirectX.

·         Some recent viruses which attach to .exes will cause page faults and access violations in MameUI when it's run.  Use an anti-virus check and verify MameUI is not infected.

·         Odd behaviour may be exhibited in NT based systems if attempting to run games while security/permissions settings do not allow it or the user is not an administrator or member of the administrator’s group.

·         Some anti-virus packages may slow down navigation within the MameUI directory.  These are false positives and the anti-virus vendors should update their virus dat signatures.  It may also be possible to exclude the MameUI.exe from real-time scanning as a workaround.

·         In the event of MameUI not launching a game and just sitting there, try placing the entire MameUI directory and its sub-directories including \ROMs into a more simple path, like c:\MameUI instead of "c:\Games for Fun\MameUI Goes Here\".  Simplify the path.

·         On rare occasions malformed or damaged *.dat files [history.dat, mameinfo.dat, cheat.dat] can cause MameUI to error on startup when it tries to read them.  Remove those files individually to check for the one causing the crash.

·         With the move to XML based Controller *.cfg files in the .8x era it is necessary to remove the old \Ctrlr\*.ini files and use their new *.cfg counterparts, otherwise MameUI may launch games then immediately return to the GUI.

·         Use the Options • Reset to default menu choice and check all of the items, restart MameUI.

·         Final option, manually delete the MameUI32/64.ini and the Mame.ini file in the \ini directory.

Performance Related Topics [incl. sound scratchiness and stuttering]

·         MameUI will start to crackle, scratch, or echo if the game running is too taxing for the processor in use. This can be visually confirmed by turning on FPS display with [F11], and frame skip to auto with [F8].  If the FPS dips anywhere or frame skipping rises anywhere during the game play, the game is maxing out the CPU and sound breakup could occur.  It is also possible to determine if the host CPU can run the game at 100% by unthrottling the emulation with the [F10] key, if the CPU can do it, it will run the game faster than 100%.  If upgrading machine components, provide MameUI with as much hardware as possible; a faster CPU makes the most difference, followed by video card, and RAM.

·         MameUI will start to 'skip' sound on games that run slightly over the host monitor refresh rate in full-screen mode with triplebuffer.  For example, Pac-Man and other early Namco games run at 60.60Hz and if they are run on a fixed 60Hz LCD monitor using triplebuffer they will skip since the emulation is outpacing the monitor. In this instance it is necessary to toggle on the 'Refresh Speed' switch in the Options • Default Options • Advanced tab.  This issue can also be overcome by running the game in windowed mode.

·         As Mame has continued development, infrastructure and accuracy has improved.  As such, the optimization point of the games has shifted so that older games may be slower unthrottled overall than when run on earlier versions.  For example, in version .36 Donkey Kong may have run unthrottled at 1900 FPS, but in .77 it runs 1500 FPS.  Thus older machines [P3 and prior] will continue to have trouble playing the same games as earlier versions of Mame.  Modern machines should have no problem running these early 80's games at their intended ~60 FPS rate.

·         Periodically, speed-up hacks in the core code will be removed to provide more accurate emulation of the games.  This can result in a drop in FPS for that particular family of games, but can be offset by upgrading the machine MameUI is used on.

·         On certain system setups (older), DirectDraw may be a faster option than the D3D settings.  Choose Ddraw as the video mode in Default Options • Display.

·         With the advent of MameUI .120 some historically host CPU punishing games become playable on high end overclocked [3.6Ghz+] Intel Core2Duo and Quad Cores.  These processors combined with 64bit operating systems and native 64bit MameUI provide almost 100% playability in namcos21.c / namcos22.c / seattle.c and midvunit.c games.  MameUI64 + Vista64 + C2D chips is the best current combination for MameUI gaming on the Windows platform.

·         Some of the largest games supported by MameUI [NeoGeo mainly] can run into the hundreds of megabyte range when they are uncompressed into memory, this combined with MameUI in memory, plus OS overhead can lead to very slow performance as Windows swaps the information out to disk if there is not enough physical memory.  512M to 1G of memory is recommended for all current games [.118].

·         AMD’s Cool ‘n Quiet technology on certain setups has been known to cause slowdowns and lags while working in the MameUI GUI as well as causing some in-game sound and graphic stuttering.  Disable the feature in the BIOS to verify.

·         If seeing a severe slowdown in games that previously didn't, toggle the 'Sleep when possible' menu item in Options • Default Options • Miscellaneous.  This happens to laptop users particularly.

·         Certain games in MameUI perform better on machines that cannot handle them 100% if auto-frame skipping is turned off

·         Certain games if run with D3D settings will perform better if Triplebuffering is set to off.  D3D will double buffer if triple is turned off.

·         There may be certain sound anomalies in games if the *.cfg files have become damaged, delete all the files in \cfg to remedy.

·         If games are running too fast, verify in the Options • Default Game Options menu that the throttle option is turned on, that sync to monitor refresh is turned off and Wait for Vertical Sync is turned off in the Options • Default Game Options • Advanced menu. 

·         MameUI video performance can be greatly enhanced if running in 32bpp mode by ensuring AGP Fast Writes are toggled on in the motherboard BIOS.  The videocard drivers also need to support this setting, the switch for this may be in the advanced tab of the Windows display control panel applet.

·         There are some soundcards like early PCI SoundBlaster 128 that will cause scratchiness if their hardware acceleration is turned up too high.  Move the slider down various steps to troubleshoot in Control Panel • Sound • Advanced Audio.

·         There are some older video card/video driver combinations that can do hardware stretching, but are slower than running with hardware stretch off. If games are too sluggish with the hw stretch on, toggle it off if possible.  Some old PCI graphic cards have been seen to have this problem.

·         If a large number of icons are being used in the GUI, it is typically quicker to unzip them into the \icons folder instead of leaving them zipped as icons.zip.

Joysticks / Mice / Gamepad / Lightgun Related Topics

·         Gamepads and mouse are disabled by default on first MameUI launch, enable them by toggling their check boxes on in Options • Default Options • Controllers.

·         MameUI relies on DirectX’s DirectInput for joystick support, ensure the game pad is seen as present and active in the game controller control panel: start menu • settings • control panel • game controllers.

·         If seeing keys ‘stick’ while playing, verify that the operating systems’ accessibility options and their shortcut keys are turned off, things like ‘sticky keys’, and verify that Popup killers or other resident programs are not mapped to the sticking key.  Also keys can stick on some KVM switch boxes if their hotkey switches are set to [Ctrl] etc.

·         Daisy chained gameport Microsoft Sidewinders [original] in Win2k or XP do not work very well.  Use USB gamepads instead. Single Sidewinders may also cause odd behavior like ghost button presses.

·         Lightguns and mice are treated like mappable joysticks in current versions of MameUI.  If multiple mice are in use it is necessary to enter the in-game [TAB] menu and map their axes in the ‘Input General’ section.

Settings Topics

·         With the advent of version 0.66 MameUI no longer stores its configuration information in the Windows registry, it stores it in \MameUI32/64.ini and \ini\Mame.ini.  To remove vestiges of the old versions, run regedit.exe and delete the following key: HKEY_CURRENT_USER\Software\Freeware\MameUI.

·         If having trouble saving keyboard mappings and configuration, verify that the *.cfg files are not read-only and that a \MameUI\cfg directory is present.

·         If GUI settings and/or audit results aren’t being maintained, verify the existence of a writeable MameUI32/64.ini and that the \ini directory is present and writeable [not read only] under the MameUI.exe location.

·         If baseline Mame settings like directories and game options are not being maintained, verify the existence of a writeable Mame.ini [not read-only] in the \ini directory and that the \ini directory itself is writeable.

·         If experiencing odd behavior with MameUI saving files or not appearing to clear its settings, verify that there are not multiple shortcuts pointing to different versions, that an .exe is not being used by itself instead of a shortcut to the .exe, or a shortcut pointing to an old version of the .exe.  Also verify that there are not multiple versions of MameUI running in memory as the last one out will save the settings.

·         If seeing MameUI folders being created on the desktop, verify that the .exe itself is not sitting on the desktop and being launched which is not correct. Verify that a short-cut to the original is being properly utilised.  This means setting the properties on the shortcut to ‘start in’ the appropriate directory that the original .exe resides in.

·         If the in-game [TAB] menu is no longer working or can’t be accessed, it has been mapped to another key; delete the default.cfg file in the \MameUI\cfg directory.

·         If in-game [TAB] settings need to be completely reset due to bad mappings, delete the default.cfg file in the \MameUI\cfg directory.

·         To remove the mappings on an individual game from the [TAB] menu, delete its *.cfg file in the \MameUI\cfg directory, i.e. dkong.cfg, asteroid.cfg.

·         If having trouble mapping keys with the [TAB] menu, verify the game is not paused while mapping.

·         MameUI inherits a limit from baseline Mame on the amount of characters that can be used for the ROM paths.  If directory settings are not being maintained, pare down the number and names of the directories being added or simply use a single \ROMs directory which MameUI expects.

·         If having trouble getting games to display in the proper orientation [they will not rotate] verify that rotation is set to default, and that there are no video-card specific hot-keys set in Windows’ advanced display settings tab that could impact rotation, ATI and NVIDIA both now include the ability to rotate the Windows screen to portrait orientation.

·         If games are appearing sideways regardless of rotation settings, an onboard Intel graphic chipset or similar may be in use.  Disable the auto rotation capabilities of the Intel graphic chip.

·         MameUI now supports the core’s –mt switch.  This allows multi-threading of the final video blit during games. Dual core chips [X2, C2D, etc.] can take advantage of this feature to offload the work to the second thread and make MameUI more efficient.  Speed gains are seen on the unthrottled GPU bound games like dkong, invaders, etc.

·         MameUI now stores its settings in external *.ini files instead of the registry.  If it is necessary to return MameUI to baseline, simply delete the MameUI32/64.ini file and the Mame.ini file in the \ini directory.  The next time MameUI runs it will recreate those files with the default settings.

GUI Related Topics & Miscellaneous Tips

·         MameUI will read freestanding icons in the \icons directory first, then icons in the icons.zip file. 

·         If seeing icon palette corruption in the GUI when returning from a full screen game, try increasing the desktop color depth to 24bpp or 32bpp.

·         Sometimes icons in large icon view may appear to be missing their white color or have portions transparent, this is the result of having white chosen as the windows desktop window setting in Control Panel / Display.  Change the window setting to slightly off-white or another color to return the icons to their appropriate look.

·         To toggle the MameUI UI fullscreen [no Windows titlebar and potentially no toolbar or status bar] and back use the [F11] key.

·         The GUI text may disappear from the folder view if the GUI font color chosen is very close to the Windows system background color scheme or if it is a large enough font [or bold] to anti-alias.

·         MameUI no longer supports *.bmp format and may show a blank or empty background if a *.bmp is erroneously renamed and used for bkground.png, or if the bkground directory is marked as read only and MameUI cannot create the bkground.png file when run.

·         To return to a blank gray background in the GUI, delete the bkground.png file in the \MameUI\bkground directory.

·         Quickly navigate through games in the details view by simply typing the first few letters in the name of the game, the highlight will jump to that game and become more granular as the name is typed out.

·         Select a random game with [Ctrl-R].

·         Audit an individual game with [Alt-A].

·         Various arcade game controller companies produce custom made configuration files for their setups; these *.cfg files need to go in the \MameUI\ctrlr folder to be recognized in the MameUI controllers tab.  These files are the responsibility of the controller companies themselves and are not included or endorsed by MameUI, they can typically be found at the companies’ web sites.

·         In grouped view, clones are indented regardless of whether their parents are visible; in a non-All Games folder this means that there is not a direct relationship of a clone to the game item above it if that games’ parent is not shown.  This behaviour can be changed by the setting Interface Options • No offset for clones missing parent in view.

·         Certain items in the GUI may be missing if MameUI is run on a Win2K/XP box and the user is not an admin or member of the admin group.

·         The unavailable folder and the available filter are disabled in MameUI due to a direct request from Nicola.

Keyboard Shortcuts

·         Type letters of game name to jump directly to its first instance.  Alt-1 through Alt-7: Toggle art views.  Alt-A: Audit selected game.  Alt-B: Toggle art tabs.  Alt-D: Toggle folder pane.  Alt-P: Toggle screenshot area.  Alt-S: Toggle status bar. Alt-T: Toggle toolbar. Alt-U: Audit selected folder. Alt-Enter: Show games’ properties.  Ctrl-F: Text filter.  Ctrl-R: Choose random game from GUI. Ctrl-Page Up: Scroll up in history.dat text window.  Ctrl-Page Down: Scroll down in history.dat text window. F11: Fullscreen mode toggle.

Refresh Restart Instructions

·         a. Re-download the binary dist package from MameUI.  b. Disable running anti-virus packages before extracting the files. c. Double-click the self-extracting archive.  d. When prompted, enter “c:\” [no quotes] as the destination folder.  e. Launch MameUI by double-clicking its .exe, allow the audit/refresh to finish, it should go quick as there are no ROMs.  f. Put a couple of zipped ROMs from mamedev.org in the c:\MameUI\ROMs directory.  g. Launch MameUI, audit the two games individually with [Alt-A].  h. Launch Robby or Gridlee.  i. Quit the game, then quit MameUI.  j. Add more ROMs and try again.

8/17/2007 1:17:01 AM / john iv