Mame32 Support Documentation v.2001-03-01

this is a copy of the document prepared for the distribution package, it lives at: www.classicgaming.com/mame32qa/support.htm

Pre-Mame32. 1

Getting Started w/ Mame32. 1

Mame32 Support Files. 1

Beautify your Mame32: the Mame32 Art Packs. 2

Mame32 Recommended Graphic & Sound Settings. 2

Mame32 Troubleshooting. 3

Support, Testing, Bug Reporting. 5

# Pre-Mame32

Mame32 runs on Win9x, WinME, WinNT, and Win2k. Ensure you have at least DirectX5 for Win95/98 usually the higher version the better. SP4 or greater for NT4. (both available for download at www.microsoft.com). Note for Windows 95 users [and NT4SP3]! Windows 95/NT may need the common controls update, available from the Microsoft web site, to prevent property sheet errors when going to options for the games or options/default options menu, it is called 401comupd.exe and was available here at the time of this writing: http://www.microsoft.com/msdownload/ieplatform/ie/comctrlx86.asp

# Getting Started w/ Mame32

1. Download the zip file of mame32 from these official sites:

1.1.1. www.classicgaming.com/mame32

1.1.2. www.classicgaming.com/mame32qa

2. Create a directory/folder on your hard drive i.e. c:\mame32

3. Open this directory and copy the just downloaded mame32 zip file into it.

4. Using an archive program like WinZip or Pkunzip, extract the contents of the mame32.zip (ensure you use the -d option in Pkunzip to get recursed subdirectories) In WinZip select Extract from the Actions menu, be sure the Use folder names checkbox is checked.

5. Place your game roms (readily available in convenient zip format) into the sub-directory called c:\mame32\roms, which you may have to create [note game roms are not distributed w/ Mame32]. It's preferable to leave the roms in their zip format, and just place the zip files into the \mame32\roms directory.

6. Some games require sampled sounds. Place your sample zip files in our example into the sub-directory called c:\mame32\samples that you may have to create [note that the sample zips will have the same name as the game roms] Donkey Kong's roms are called dkong.zip and Donkey Kong's samples are also dkong.zip but they go in different directories.

# Mame32 Support Files

File Name | Location / Description
Icons.zip | http://www.classicgaming.com/mame32qa/downloads.htm This contains icons for every game in Mame32 and the tree control on the far left. Place it in the \mame32\icons directory.
Snap.zip | http://www.classicgaming.com/mame32qa/downloads.htm This is the file that contains in game screenshots of every parent game in Mame32. Download the split packs and combine them into a single snap.zip, place that in \mame32\snap directory. [display by clicking/toggling on the screenshot area]
Bkground.zip | http://www.classicgaming.com/mame32qa/downloads.htm This contains numerous images that are used as the background windowpanes for the Mame32 GUI. Download this and place it in \mame32\bkground. [rename the one you want to use bkground.png and place that single file in \mame32\snap.
Flyers.zip | http://www.arcadeflyers.com/ This contains images of the original promotional material sent to arcade owners when the games came out, exhorting them to buy the games. Place this file in \mame32\flyers. [display by clicking/toggling on the screenshot area]
Cabinets.zip | http://arcadeart.emuunlim.com/ and http://www.classicgaming.com/mame32qa/downloads.htm These contains images of the actual arcade machines themselves, showing what they looked like in their native habitat. I am now making mine available in addition to the Guru’s, w/ help from X-Ray’s flyers database [I rework them in Photoshop and black out backgrounds, clean things up, and provide uniform dimensions]. Place these files in \mame32\cabinets, combine the contents and call them cabinets.zip. [display by clicking/toggling on the screenshot area]
Marquees.zip | http://closet2mame.vintagegaming.com/marquees.htm This contains the art for the arcade game marquee at the top of the machine. Place this file in \mame32\marquees. [display by clicking/toggling on the screenshot area]
History.dat | http://www.sys2064.com/ This file contains text history of each game, including tips, tricks, designer’s names, etc. Very interesting. Place this file in \mame32 alongside mame32.exe. [note: history.dat information will only display in screenshot mode, not during flyer/cab/marquee mode]
Mameinfo.dat | http://www.mameworld.net/mameinfo/ This file contains bug, WIP, driver author, and version information. Place it in \mame32 alongside mame32.exe. This information will display under history.dat entries, and as above, only during screenshot mode.
Hiscore.dat | http://www.mame.net/hiscore.html This file facilitates the creation of hi scores in a large number of Mame32 games where they didn’t in the arcades. Place this file in \mame32 alongside mame32.exe.
Rotate.zip | http://www.classicgaming.com/mame32qa/downloads.htm This program rotates your bkground images so you can have a new look for Mame32 everytime you run it. See the enclosed batch file for a quick reference. The batch file grabs an image from the \mame32\bkground directory and copies it to the \mame32\snap directory.

# Beautify your Mame32: the Mame32 Art Packs

Mame32's flexible GUI framework allows for some beautiful customization including font color, icons, and background images that tile around screenshots, take a look: www.classicgaming.com/mame32qa/gallery/gallery.htm. For Mame32's official art packs including icons of all working games, screenshots for all games - including game addition to Mame info, and afore mentioned background images please see: http://www.classicgaming.com/mame32qa/downloads.htm. Icons.zip goes into \mame32\icons, screenshots stay in a file called snap.zip [this file can contain .bmp and .png images] - this goes into \mame32\snap. And finally, the background images [bmp or png] files go into the \mame32\bkground directory, rename the one you want to bkground.png and place it into \mame32\snap. You may also wish to consider using the rotate.exe program available at the link above to randomly or sequentially rotate your bkground.png image for a new look to Mame32 each time you start the program.

# Mame32 Recommended Graphic & Sound Settings

Optimal sound settings; these are toggled in the \options\default options\sound & input dialogues.

Windows NT | Windows95/98
Sound System: Midas | Sound System: Midas
Sample Rate: 44100 | Sample Rate: 44100
Windows 2K Sound System: Midas Sample Rate: 44100

Optimal graphic settings are full screen with no doubling options. Most classic arcade games do not have analogous video modes/resolutions with today's video drivers. As such say you are trying to play Donkey Kong, its native original resolution was 224x256, the closest DirectX mode of most video cards today would be 512x384. Because of the disparity, Donkey Kong will play with black bands to all sides because it is less than the chosen resolution and cannot be 'stretched' at this point w/out a DirectX re-write/update to the code. If you prefer to play your games in a window on your desktop, note that GDI mode tends to be the faster especially as your desktop color depth increases. I’ve also found it smoother in most games to have frameskipping turned off, if your machine can handle it.

Current Recommended Settings for Mame32: See Sound settings above. FMSynth/off . Frame-skip/unchecked [draw all frames] . DirectInput for keyboard & joystick/on . DrawOnlyChanges/on . DirectDraw/off [this code is currently disabled and will appear gray] . Disable MMX/unchecked.

Remember: These are general recommendations; you may find that on your system with your hardware and drivers, other sound systems or video options work better. Don’t be afraid to experiment. Also, not all video cards support the triple buffering option, and it is best-used fullscreen, 16bpp, doubled. Mame32 will attempt to force your monitor/video signal to the refresh of the game in question.

# Mame32 Troubleshooting

As with any program there are bound to be some hiccups, here are some suggestions to common perceived difficulties. Also, please remember, Mame32 is based on the core MameDOS code - if a problem exists in the MameDOS code we inherit it. Always ensure before reporting problems with Mame32 that it *doesn't* happen in the DOS version. If it does, there's not much we can do about it. A note on the betas: In between full final releases, [.33b and .34b for example] MameDOS and Mame32 will release betas. These releases will typically add numerous new games but may tinker with the internal mechanics of Mame such that at times a driver is broken or things slow down. It is likely that these are known issues so please don't complain about them, if you must play a game that was broken return to the previous full release version or wait for the next beta.

1. 'My roms aren't being seen, the roms I had in version x don't work anymore.'

1.1. This is the question that gets asked the most, why do my old rom sets no longer work w/ newer versions of Mame32? Mame is a documentation project, sometimes old rom sets are found to be missing previously miss-dumped or damaged roms, those will be replaced as found. Small color proms are also still trickling in. As new versions of Mame come on board the developers add support for new iterations and often add these files for missing games [or they will delete redundant files], this necessitates using that new updated set. Examples you might see are donkey kong, pacman, etc. from .33b. Run an audit on the game in question [highlight game, use alt-a to audit], it will tell you what files you are missing. Those will likely have been added or altered recently. You will need to locate the changed files or download a new updated set. Note: do not email the Mame or Mame32 teams about roms.

1.2. If you're getting the corrupt ROM message, secondary click on the game in the list and choose properties, do an audit on that game [or use alt-a] and you will likely find that you are missing a file or two. See item 1.1. above, it's probably a missing prom.

1.3. F5/Refresh in the GUI. (do this anytime you alter your roms, renaming etc.)

1.4. Ensure you have the appropriate folder view toggled, i.e. 'all games' and it doesn't have filtering on it to stop the display of the game you're looking for.

1.5. Use the options | reset to default menu choice and check all of the items, restart Mame32.

1.6. Final option, manually delete the registry key for Mame32: HKEY_CURRENT_USER\Software\Freeware\MAME32

2. Crashes & Non-Functioning Topics

2.1. Delete the .hi and .cfg files for the game that's troubling you.

2.2. Check to see that you have a valid zip file and it's not corrupt or read-only.

2.3. If you're crashing during an audit or an F5 refresh, you probably have a corrupt .zip, 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 you do not use zips that the folder is not empty, or contains partial or damaged roms.

2.4. DDraw errors? Always ensure you have the latest DirectX video drivers for your cards, install the latest DirectX from Microsoft. Some Diamond cards fall into this category. Also consider upgrading to the latest DirectX core engine if you haven’t.

2.5. More DDraw errors? That’s the system telling you that your video card won’t handle the resolution / color depth being asked of it. Choose a set resolution, turn off doubling, turn off triple buffering, possibly force 8bpp or 16bpp instead of auto color.

2.6. If seeing crashes, try disabling running background apps [in Win98, use msconfig.exe], Norton Crashguard, popupkiller, viruscans, fast find, the office bar, Intellimouse, even IE subscription updates, etc, try moving Mame32 away from compressed [DriveSpace, DoubleSpace, stacker] drives. IntelliMouse and Office Toolbars are a known offenders in this category.

2.7. Odd flashing, non-syncing, or other video problems? Try specifying a set resolution like 640x480 instead of leaving it set to ‘auto size’. Your monitor may not be able to handle the resolution Mame is requesting.

2.8. Funky or inverted colors in game? Try selecting a specific resolution instead of autosize, your video card drivers may be trying to use a res. it doesn’t care for.

2.9. The game audits fine w/ Alt-A, but attempts to run it produce the ‘missing roms’ message box [which is more of a generic error message than missing roms in this case]. This typically means the driver is broken on the MameDOS side, check mametesters.com to verify it before reporting against Mame32.

2.10. Games may crash or quit if you are using the BLIT option in default options | Advanced. Not all cards support BLIT, and it’s usually not used anyhow.

2.11. If you’re seeing the Mame32 info screen go white, black, or red with strange colored text, that usually means you have an errant conflicting background application running that’s intercepting the calls, the Microsoft Office toolbars tend to do this. CD Player in the task tray can also do it.

2.12. Use the options | reset to default menu choice and check all of the items, restart Mame32.

2.13. Final option, manually delete the registry key for Mame32: HKEY_CURRENT_USER\Software\Freeware\MAME32

3. Performance Related Topics [sound scratchiness and stuttering]

3.1. Currently, March 1, 2001, there are multiple scratchy sound issues. 1. You may get waves of scratchiness if you use Triple Buffering + double display size + DirectSound. To get around this, try forcing 16bpp color depth instead of auto or 256 color, this works on my box with the Phillips Acoustic Edge, it doesn’t work when using an SBLive. 2. There is a common thread between these hardware elements causing scratchy sounds even if you are not using triple buffering. Asus + Win2k SP1 + SBLive + AMD. Most common is the SBLive having problems in Win2ksp1, there are copious reports of crackling with the SBLive in Win2k on various USENET groups, it’s likely a driver issue. As a note, I was having scratchiness on an AMD 1.1Ghz Tbird, w/ Asus A7V, Win2kSP1, and an SBLive. I replaced the SBLive with a Phillips Acoustic Edge soundcard, and the scratchiness went away. Your mileage may vary. 3. There are reported problems w/ old ISA soundcards, including some of the old Blasters, and other chipsets like onboard Ensoniqs on laptops, etc. 4. I reinstalled the SBLive to test and am now using Midas instead of DirectSound, and it doesn’t crackle like DirectSound does, thus I’m recommending for default settings that users go with Midas again.

3.2. You may have better luck with Triple Buffer + double display size if you force 16bpp as the video mode in the display tab instead of ‘auto’ or 256 colors. This works pretty well on my box and eliminates the prior scratchiness.

3.3. If you’re a Soundblaster Live user, you can try to alleviate some of the scratchiness by going into your machine’s BIOS and reserving IRQ5. The SBLive’s want two IRQs one for the legacy support, and some OS’s try to piggy back them to 1 IRQ.

3.4. Mame32 will also start to crackle and scratch if the game you are running is too taxing for your processor. You can notice this 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, you know it’s maxxing out your CPU and sound breakup could occur. This happens more frequently if you use the doubled video modes which will of course be more pixels for the cpu to push around.

3.5. You can sometimes cure sound scratchiness in Mame32 by hitting the ‘p’ pause key, waiting a couple seconds, then un-pausing.

3.6. Mame32 will start stuttering and frame skipping heavily if you are really low on resources or your memory for that setting has becoming very fragmented. Quit Mame32 and restart, or, optimally restart Windows. If a game is stuttering, you also may not have enough physical memory to prevent paging to a swap file, KOF98 at 97+ megs for example.

3.7. Things jerky and slow? Try toggling off the DirectInput for joystick and keyboard.

3.8. Turn off animated cursors in Windows, sometimes they adversely affect Mame32.

3.9. In Win2k it’s preferable to run Mame32 with the least background processes conflicting with it, in addition to shutting those down, you can also change Mame32.exe’s process priority. In taskmanager you can secondary click on Mame32.exe and set it’s priority. We currently default to ‘normal’ but you can ratchet that up to ‘above normal’ ‘high’ or ‘realtime’ this will in increments prevent anything from taking cycles away from Mame32. If you want to do this automatically, you can launch Mame32.exe from the command line [or create a batch file/shortcut] that says ‘start /realtime mame32.exe’ substituting /realtime with /abovenormal, or /high. I tried /realtime and with a HotRod there are some ghosting issues and button press sticking so I think the Intellitype software isn’t getting enough cycles. <g> Experiment to find your sweet point, I’m using /abovenormal at the moment. I don’t recall if this was possible on WinNT.

3.10. In Win2k you may get scratchiness in game when Win2k in the background tries to save information to the large, hidden in root, hibernation file, to stop this, disable hibernate in the power settings control panel.

3.11. Games tend to bog down if you choose windowed mode, doubled. Do not double if you want to play in a window.

3.12. If you’re experiencing scratchy sound after a certain amount of play time, verify that you don’t have any indexing services going on like fastfind, or indexing in Win2k on an NTFS drive that wait for ‘idle time’ before starting their work.

3.13. Some machines’ sound starts to stutter if you use the combination of triple buffering and doubled display size. Do not use triple buffering in this case.

3.14. Informal testing has shown a 10% FPS increase if you do not use the joystick options [USB joysticks should not cause as high a degradation].

3.15. If games are stuttering, try disabling your joystick [uncheck ‘use joystick’] to see if it could be a driver issue.

3.16. Some sound cards produce better Mame32 output if you decrease their hardware acceleration slider in their respective control panel dialogues.

3.17. Keyboard keys or HotRod joystick sticking/ghosting in Windows2000? Get SP1 and turn on DirectInput for Keyboard in Mame32.

3.18. Scratchiness with triplebuffer and DirectSound w/ SBLive? Get at least Liveware v.3 from Creative Labs.

3.19. Seeing visual tearing onscreen with games that do a lot of scrolling? Try enabling triple buffer on the options | default options | display tab. Triple buffering works best when you force 16bpp mode, and double the image size [with no scanlines]. This may cause scratchiness in sound on some soundcards.

3.20. If seeing stuttering, verify that you don’t have a second instance of Mame32 running, use NT taskman or ctl-alt-del in Win9x. If Mame32 crashes sometimes it can leave an instance in memory.

3.21. If seeing intermittent slowdowns, try disabling running background apps [in Win98, use msconfig.exe], Norton Crashguard, popupkiller, viruscans, fast find, the office bar, Intellimouse, even IE subscription updates, etc, try moving Mame32 away from compressed [DriveSpace, DoubleSpace, stacker] drives. IntelliMouse and Office Toolbars are a known offenders in this category.

3.22. Sometimes fps w/ f11 will ‘jump’ initially, this is a side effect of frameskipping, turn that feature off for better control.

4. Joysticks and Gamepad Topics

4.1. Remember you need to toggle it on the first time you run Mame32, options | default options | sound & input.

4.2. Mame32 relies on DirectInput for joystick support, ensure your game pad is seen as present and active in the game controller control panel: start menu | settings | control panel | game controllers.

4.3. Some Win9x joysticks are not digital, try disabling DirectInput for joysticks for those.

4.4. Some USB joysticks produce wrong directions when their d-pads are pushed in Mame32. Disable DirectInput for joysticks to fix this.

4.5. Verify your joystick is seen as ID #1 in the game controllers control panel rather than being assigned a higher number.

4.6. If you are seeing game wide slowdowns w/ joystick enabled, try toggling the DirectInput option for keyboards and joysticks off or on.

5. Misc. Issues

5.1. Getting property sheet errors on setting defaults or game properties? Get the Microsoft common controls update here: http://www.microsoft.com/msdownload/ieplatform/ie/comctrlx86.asp, or update to IE4 or greater.

5.2. To play the Exidy gun games you may need to disable Dinput for joystick and keyboard.

5.3. Upside down games? Many of the Cave/Atlus, Taito F3, and assorted vertical shooter games need to have their VRAM initialized when first run, do this by holding down the F2 button to go into service mode and set appropriate defaults. [not Mame32 specific].

5.4. The way the current cheat module is written in the DOS version causes problems when compiled in Mame32 [speedy or too slow movement through the cheat menu, etc.]. Workaround is to disable auto-frameskip.

5.5. If you are seeing icon palette corruption in the GUI when returning from a fullscreen game, try bumping up your desktop color depth to 24bpp or 32bpp.

5.6. Background artwork not showing up in-game? [asteroids deluxe, armor attack, lunar lander, etc.] be sure the *.png files are freestanding and not in zips with their names. Or, all the *.png files are in a large zip called ‘artwork.zip’.

5.7. There may be some issues using the pure white color in the GUI as a font color choice or as a highlight, try silver or a slightly off white.

5.8. Seeing corruption in the screenshot/flyers/cabinets images? Resize the viewable area; Mame32 decimates the image if the area to display the image in is too small, resulting in colored patterns. [you can increase the viewable screenshot area by turning off status bar, and toolbar, and widening/heightening the screenshot pane].

5.9. If you’re having trouble saving your keyboard mappings and configuration, verify that the *.cfg files are not read-only.

5.10. Tab menu no longer working? You’ve mapped it accidentally to something else apparently; delete the default.cfg file in the \mame32 directory.

5.11. Some games like Star Wars require you to turn off joystick input if you have it on.

5.12. If a game quits immediately, you might try removing its entry [or remarking it out] from the hiscore.dat file. Examples are Phoenix and Pac-Mania.

5.13. My hi-scores aren’t being saved anymore. For non-NVRAM games get the hiscore.dat file from www.mame.net. Remember not all games are converted to this method yet, see the hiscore.dat file itself for the list of supported games.

# Support, Testing, Bug Reporting

For breaking information on troubleshooting techniques or issues related to the latest release as well as updated art, icons, and screenshots go to the Mame32 QA/Test & Art Dept. www.classicgaming.com/mame32qa .

To report bugs or discuss Mame32 go to the official message board: http://pluto.beseen.com/boardroom/q/18365 .

The current list of Mame32 issues can be found here: http://www.classicgaming.com/mame32qa/bugs.htm

These bug entries do not include DCRs [Developer Change Requests / Feature Requests].

Remember; always ensure that the problem doesn't happen in the DOS version before reporting a bug. Check MameDOS bugs here: http://www.mameworld.net/mametesters/report.html .

john iv
mame32qa@hotmail.com [note: put 'mame32' in the subject line or you will be spam filtered. ;-)]

This document was previously quickstart.htm, but it evolved beyond getting the app up and running hence the name change.