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 Mame32. When problems do occur with a specific game in a specific version of Mame32, a previous version of Mame32 may be used.
Mame32 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 Mame32. Prior to reporting problems against Mame32, 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 and search their message board. The current list of known Mame32 specific issues and defect tracking is available at Mame32QA.
ROMs
Related Topics
· Utilization of an external ROMs management utility like Clrmame is recommended for repair and identification of damaged 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. Mame32 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 Mame32, will not work with newer versions of Mame32 because they are now read as incomplete or wrong. Mame32 will not play the game in question until the updated ROMs are utilized.
· Mame32 utilizes the idea of a parent / clone relationship for its games. If trying to play a clone or a bootleg of a game, Mame32 will need the ROMs for the clone game, and the parent set. Mame32 indicates the parent set of a clone at the bottom of the game’s properties tab, or more easily in grouped view, View \ Grouped.
· Mame32 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, Mame32 expects all the BIOS files in every NeoGeo game’s zip file. DECO cassette, CVS, 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. Mame32 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 specific directory structure. The single large .CHD file needs to go in the \ROMs directory unzipped, so it should have the *.CHD extension. These games also have ROMs, these also go in the \ROMs folder. So in the end two files should exist for these games in the \ROMs folder, the *.chd and the *.zip.
· Some of the *.CHD files are named differently from their parent rom sets; for example the beatmania style games, bm1stmix has a *.CHD named 753jaa11.CHD. An individual audit on the game in question will indicate the name of the missing *.CHD if it is not present.
· 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 Mame32.
· Final option, manually delete the Mame32ui.ini and the Mame32.ini file in the \ini directory.
Crash
Related Topics
· Delete the \hi\*.HI, \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 Mame32.exe’s location.
· If versions of Mame32 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
· The game’s entry in the external unsupported database, hiscore.dat, may be causing the crash, remove the entry by editing hiscore.dat with a text editor.
· 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 Mame32 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.
· 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 Mame32 and its support directory structure into a shorter path name, i.e. c:\mame32\.
· Mame32 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 Mame32 when it's run. Use an anti-virus check and verify Mame32 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 Mame32 directory or report spurious messages about Mame32.exe because of its UPX .exe compression method. These are false positives and the anti-virus vendors should update their virus dat signatures. It may also be possible to exclude the mame32.exe from real-time scanning as a workaround.
· In the event of Mame32 not launching a game and just sitting there, try placing the entire Mame32 directory and its sub-directories including \ROMs into a more simple path, like c:\Mame32 instead of c:\Games for Fun\Mame32 Goes Here. Simplify the path.
· On rare occasions malformed or damaged *.dat files [history.dat, mameinfo.dat, cheat.dat] can cause Mame32 to error on startup when it tries to read them. Remove those files individually to check for the one causing the crash.
· Use the Options • Reset to default menu choice and check all of the items, restart Mame32.
· 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 Mame32 may launch games then immediately return to the GUI.
· Final option, manually delete the Mame32ui.ini and the Mame32.ini file in the \ini directory.
Performance
Related Topics [incl. sound scratchiness and stuttering]
· Mame32 will start to crackle, scratch, or echo if the game running is too taxing for the processor [Taito F3, Midway Wolf Unit, CPS2 games require a lot of horsepower]. 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. The blitter effects [partial scanlines, RGB effects] will impose further strain on the CPU, upwards of 50%. If upgrading machine components, provide Mame32 with as much hardware as possible; a faster CPU makes the most difference, followed by video card [for new D3D effects], and RAM. Suggested Mame32 settings are available on the Mame32QA site.
·
With the advent of Mame32 .62 there are games
supported that are not playable at 100% speeds on any commercially available
PC. These will run at half speed or
lower, they include the Namco System22 3D games like Propcycle and Midway games
like Cruis’n USA, Cruis’n
World, War Gods, and the Seattle.c games like NFL
Blitz, SF Rush, etc. Eventually PC CPUs
will advance to the point they can be run, it is estimated a P4 4Ghz or comparable AMD [3700+?] would be able to handle the
games with the
· As a general rule, the higher the resolution of the original game, the more CPU power is required to emulate it. Performance can be increased on these games by ensuring that Mame32 is not using any of the RGB/Scanline effects in Options • Default Game Options • Display. Set the effects to 'none' and uncheck scanlines. This will allow Mame32 to run these games at the fastest speed. [additionally, the higher the resolution of the original game, the less likely it is that the RGB/Scanline effects will even be seen, so it's recommended to turn them off.]
· Some of the largest games supported by Mame32 [NeoGeo mainly] can run into the hundreds of megabyte range when they are uncompressed into memory, this combined with Mame32 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. 256M or 512M is recommended for all current games [.58].
· 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. Regardless, modern machines should have no problem running these earlier games.
· 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 Mame is used on.
· On certain system setups, DirectDraw may be a faster option than the D3D settings. Disable the D3D check box, but ensure the Stretch Using Hardware option is checked to use DirectDraw.
· If seeing a severe slowdown in games that previously didn't, toggle the Use less CPU time if possible menu item in Options • Default Options • Miscellaneous. This happens to laptop users particularly.
· If seeing a severe slowdown in games that previously didn't, toggle the Use RDTSC timing system item in Options • Default Options • Miscellaneous.
· If seeing slowdowns on launch, i.e. after double-clicking the game it takes 5-30 seconds to get into the game, turn on Interface Options • Skip Validity Checks.
· The Midway games from the mid 1990's like MK2, MK3, NBA Hangtime, etc. will sometimes have their sound ‘desync’ and become scratchy. To help alleviate this, move the auto latency slider to the right to 2/5 or 3/5 in the Options • Default Game Options • Sound tab.
· Certain games in Mame32 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.
· Mame32 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 Soundblasters 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 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 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 Mame32 launch, enable them by toggling their check boxes on in Options • Default Options • Controllers.
· Mame32 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.
· Verify the joystick is seen as ID #1 in the game controllers control panel rather than being assigned a higher number. If using multiple gamepads, ensure each one has its own ID#.
· 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.
Settings
Topics
· With the advent of version 0.66 Mame32 no longer stores its configuration information in the Windows registry, it stores it in \mame32ui.ini and \ini\mame32.ini. To remove vestiges of the old versions, run regedit.exe and delete the following key: HKEY_CURRENT_USER\Software\Freeware\MAME32.
· If having trouble saving keyboard mappings and configuration, verify that the *.cfg files are not read-only and that a \mame32\cfg directory is present.
· If GUI settings and/or audit results aren’t being maintained, verify the existence of a writeable mame32ui.ini and that the \ini directory is present and writeable [not read only] under the Mame32.exe location.
· If baseline Mame settings like directories and game options are not being maintained, verify the existence of a writeable mame32.ini [not read-only] in the \ini directory and that the \ini directory itself is writeable.
· If experiencing odd behavior with Mame32 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 Mame32 running in memory as the last one out will save the settings.
· If seeing Mame32 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 games are appearing sideways regardless of rotation settings, an onboard Intel graphic chipset may be in use. Disable the auto rotation capabilities of the Intel graphic chip.
· 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 \mame32\cfg directory.
· If in-game [TAB] settings need to be completely reset due to bad mappings, delete the default.cfg file in the \mame32\cfg directory.
· To remove the mappings on an individual game from the [TAB] menu, delete its *.cfg file in the \mame32\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.
· If having trouble mapping mouse keys with the [TAB] menu, verify that the lightgun setting is off.
· It is possible to run multiple versions of Mame32 on the same machine, in the event an older version plays a game better than a newer one. In order to make them co-exist the best method is to launch each in turn and verify that the Enable version mismatch warning option is unchecked in the Options • Interface Options menu. This must be toggled off in both versions.
· Mame32 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 Mame32 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.
· Mame32 now stores its settings in external *.ini files instead of the registry. If it is necessary to return Mame32 to baseline, simply delete the Mame32ui.ini file and the Mame32.ini file in the \ini directory. The next time Mame32 runs it will recreate those files with the default settings.
GUI
Related Topics & Miscellaneous Tips
· Mame32 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 Mame32 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.
· Mame32 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 Mame32 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 \mame32\bkground directory.
· The screenshot area was grayed out in Windows XP because of the inclusion of a preliminary file in Mame32 version .54 called Mame32 manifest. Remove that file to view the screenshot area artwork again.
· 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].
· If Stretch using hardware is grayed out in Options • Default Options • Advanced, verify the desktop is set to 16bpp or 32bpp and not 24bpp. If it is still grayed out, the video card does not support the hardware stretch capabilities Mame32 needs. Mame32’s Direct3D toggle may be used instead depending on the video hardware and driver.
· To alleviate screen tearing in some [vertical] scrolling games, it may be necessary to check ‘use triple buffering’ and ‘match game refresh rate’, while setting refresh to ‘auto’. This will set the output monitor’s refresh rate down to 60Hz or the closest the monitor can do to the game’s refresh rate. Some video hardware and driver combos can get this effect by only enabling triple buffering.
· Vector games like asteroids can look and work better if hardware stretch is disabled. Increase the vector intensity to 3, and use a set resolution like 1024x768x32 instead of auto.
· 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.
· The included custom \folders\*.ini files are set to read-only to prevent accidental dragging and dropping of files into them, and will produce and error message if that is attempted. If desired, change the read-only attribute at the OS level.
· Certain items in the GUI may be missing if Mame32 is run on a Win2K/XP box and the user is not an admin or member of the admin group.
· If when attempting to play a game the monitor displays a message that the signal is out of frequency or the monitor goes into sleep mode or there are weird ‘multiple’ images, Mame32 is trying to use an auto video mode that the monitor doesn't support. Use a set resolution like 1024x768x32 in the Options • Default Options • Display menu, or uncheck the Switch resolution to fit, and uncheck Switch color depths to fit.
· Mame32 will show a gray or partially white in-game screens if games are attempted to be run with D3D settings that the video card does not handle or support. Matrox cards and ATI cards will show this with pre-scale options. The workaround for ATI cards is to enable pre-scale but also set the feedback slider to a low number like ‘1’. Additionally, see settings page at Mame32QA.
· The unavailable folder and the available filter are disabled in Mame32 due to a direct request from Nicola.
· If running AMD’s Cool & Quiet technology or power stepping notebooks, it is recommended that Options • Default Game Options • Misc Use RDTSC timing system be toggled off.
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 Mame32QA. 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 Mame32 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 mame.net
in the c:\mame32\ROMs directory. g. Launch Mame32, audit the two games
individually with [Alt-A]. h.
Launch the Robby or Gridlee. i. Quit the game, then
quit Mame32. j. Add more ROMs and try again.
3/12/2005 8:10:24 AM / john iv