Help File Changes For MAME32

Help File Changes

These changes were made to the help file on 23 August 2001:

  • In the About MAME32 page, changed current version to 0.55

  • In the What's New In MAME32 page, added new features for version 0.55

  • On the Running MAME32 from the MAME32 icon page, changed link for the Installation Page and added new graphic for version 0.55

  • In the Troubleshooting MAME32 Problems page, added additional troubleshooting tips for version 0.55


About MAME32

MAME32 Overview

In January 1997, Nicola Salmoria started what is now known as M.A.M.E. (Multi-Arcade Machine Emulator) project. MAME was born originally as collection of several emulators done by Nicola, and later, using a driver oriented architecture, grown up until the actual version that counts support for 3123 games.

Originally, Nicola developed single emulators for individual games, such as Lady Bug, Mr. Do!, Pengo, and a multiple game emulator of the various early Pac Man games. One month later, Nicola decided to combine the emulators into a multiple game emulator format, which is now known world wide as MAME. Today, there are well over 100 people contributing to the MAME project.

MAME is available for a wide variety of operating systems. While it's primary developing environment is MS-DOS, MAME is also available for such systems as: Windows 32bit, Macintosh, UNIX, Amiga, and Acorn/RISC.

This is release 0.55 of MAME32, the Multiple Arcade Machine Emulator for Win32. MAME is Copyright (C) 1997-2001 by Nicola Salmoria and the MAME team.


System Requirements

Following are the system requirements for running MAME32:

  • Windows 95, Windows 98, Windows Me, Windows NT 4, or Windows 2000
  • DirectX version 3.0 or higher.
  • Pentium class CPU

    • If you need DirectX, go to Microsoft and download the latest DirectX runtime (at the minimum Version 5, but newer versions are better) for Windows 95/98. To use the DirectInput features, you should have a minimum of Version 5 installed.

    If you use Windows NT, install Service Pack 4 or better. This includes DirectX Version 3 and the common controls update. To obtain this service pack, go to Microsoft and select the ‘Service Packs’ link.

    Note for Windows 95 and Windows NT pre-Service Pack 4 users! These systems may need the common controls update, available from the Microsoft web site. You can get this update from the Microsoft web site at Microsoft which updates the common controls to the most recent version. If you don't get this control it will result in property sheet errors on default/game options amongst other things.


What's New in MAME32

Version 0.55:

  • Merged the MAME32 User Interface with the MAMEW core.

  • Added support for HTML-based Help. MAME32 will no longer support the old Winhelp format.

    • For past history of MAME32 changes, click Here


Where to get MAME32

To get the latest version of MAME32, please check these two sites:

Michael Soderstrom's MAME32 page Here.
John L. Hardy IV’s page Here.

To obtain the official MAME (MS-DOS) release, go to The Official MAME home page Here.


Installation and Setup in Windows 95/98/Me/NT/2000

Follow these steps to set up MAME32 in Windows 95/98/Me/NT/2000:

1. Download the MAME32.ZIP zipfile. Click here to find locations for downloading the MAME32 emulator.

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

3. Open this directory and copy the MAME32.ZIP zipfile 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 WinZip or Pkunzip to get recursed subdirectories). In WinZip select Extract from the Actions menu and 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 \mame32\roms which you may need to create (NOTE: game ROMs are *not* distributed with MAME32)

6. Place your sound sample zip files into the sub-directory called \mame32\samples which you may need to create (NOTE: sample zips will have the same name as the game ROMs)

7. Place your icons .zip file into the \mame32\icons directory.

8. Place your large images screenshot file combined from the multiple ‘snap.zip’ files into the \mame32\snap directory.

9. Place contents of the background pack in \mame32\snap. Rename the one you want to use as the background to bkground.png.

10. You have the option to add flyers.zip and cabinets.zip into the \mame32\flyers and \mame32\cabinets directories respectively. Flyers.zip is a file composed of .bmp, or .png flyer art. Cabinets.zip is a file composed of .bmp, or .png images of the actual arcade machines. These files are maintained by third party sites (see the Directories topic for links).

11. You can also grab the history.dat file Here. This will give you game information and history on particular games. Place the history.dat file in the \mame32 directory along w/ the mame32.exe. The history will only show for games that have a history entry [Donkey Kong for instance] and it will only show while in screenshot mode.

12. Double click MAME32.EXE, select your game and press play!

Storing ROM and Sample files:

You should store the ROM and Sample files in the zipped file within the \mame32 directory structure. If you wish to unzip the ROM or Sample files, make sure you unzip the files to the correct directory underneath the \mame32 directory structure. Following is the search order that MAME32 will look for ROM and Sample files:

1. \mame32\’gamename’ directory

2. \mame32\’gamename.zip’ zip file

3. \mame32\roms\’gamename’ directory and \mame32\samples\’gamename’ directory

4. \mame32\roms\’gamename.zip’ zip file and \mame32\samples\’gamename.zip’ zip file

Click here for suggested Sound Settings and Graphics Settings.


Running MAME32 from the command line

To run MAME32 from the command line, click on Start then Programs then MS-DOS Prompt in Windows 95/98/Me, or click on Start then Programs then Command Prompt in Windows NT/2000.

Change directory to the MAME32 directory you created during the installation/setup. To run MAME32, use the following command:

MAME32 [name of the game to run] [options]

Where [name of the game to run] is the name of the ROM zip file (i.e. dkongjr). Options for MAME32 follow:

-frameskip/-fs - Specifies the frameskip value. This is the number of frames out of every 12 to drop when running. For example, if you say -frameskip 2, then MAME will display 10 out of every 12 frames. By skipping those frames, you may be able to get full speed in a game that requires more horsepower than your computer has. The default value is -frameskip 0, which skips no frames.

-[no]autoframeskip/-[no]afs - Automatically determines the frameskip level while you're playing the game, adjusting it constantly in a frantic attempt to keep the game running at full speed. Turning this on overrides the value you have set for -frameskip above. The default is ON (-autoframeskip).

-[no]waitvsync - Waits for the refresh period on your computer's monitor to finish before starting to draw video to your screen. If this option is off, MAMEW will just draw to the screen at any old time, even in the middle of a refresh cycle. This can cause "tearing" artifacts, where the top portion of the screen is out of sync with the bottom portion. Tearing is not noticeable on all games, and some people hate it more than others. However, if you turn this option on, you will waste more of your CPU cycles waiting for the proper time to draw, so you will see a performance hit. The default is OFF (-nowaitvsync). This option requires -ddraw.

-[no]triplebuffer/-[no]tb - Enables or disables "triple buffering". Normally, MAMEW just draws directly to the screen, without any fancy buffering. But with this option enabled, MAMEW creates three buffers to draw to, and cycles between them in order. It attempts to keep things flowing such that one buffer is currently displayed, the second buffer is waiting to be displayed, and the third buffer is being drawn to. Unfortunately, due to some DirectDraw issues, this doesn't always work out as well as it should. This is still being investigated. The default is OFF (-notriplebuffer). This option required -ddraw and -nowindow.

-[no]window/-[no]w - Specifies whether you want to run in a window or full screen. When running in a window, you are stuck at your current desktop resolution and number of colors; on the plus side, you can dynamically size the window and play with other applications easily. By default, when sizing the window, you are stuck at the fixed aspect ratio of the game, unless you hold down the CONTROL key, or use the -nokeepaspect option. In the full screen mode, MAMEW can switch the resolution and number of colors for potentially more optimal performance. You can switch between window and full screen mode while playing by using Alt+ENTER (just like a DOS box). The default is OFF (-nowindow).

-[no]ddraw/-[no]dd - This is really just for testing. It disables the use of DirectDraw, which removes a lot of the features of the video system (-triplebuffer, -waitvsync, -resolution, -refresh, -switchres, -switchbpp, -resolution, -hwstretch all won't work). It will generally run really slowly. If anyone has a legitimate use for this option, I'd be curious to know. The default is ON (-ddraw).

-[no]hwstretch/-[no]hws - Enables the use of your video card's built-in scaling, which is present on most modern (within the last couple years) video cards. On most video cards this will do a nice bilinear filtered stretch. It also allows MAMEW to display the video at the game's proper aspect ratio (4:3 or 3:4). If you're used to nice, crisp blocky displays with scanlines you may not like this mode, but for now it is the only way to make the games display in the correct aspect ratio. This option REQUIRES running in 16, 24, or 32 bit color mode. The default is ON (-hwstretch) unless your video hardware doesn't support it. This option requires -ddraw.

-resolution wxh[xd]/-r wxh[xd] - Specifies an exact resolution to run in. In full screen mode, MAMEW will try to use the specific resolution you request. The width (w) and height (h) are required; the color depth (d) is optional. If omitted or set to 0, MAMEW will determine the mode auomatically. For example, -resolution 640x480 will force 640x480 resolution, but MAMEW is free to choose the color depth. Similarly, -resolution 0x0x32 will force 32-bit color depth, but allows MAMEW to choose the resolution. The string "auto" is also supported, and is equivalent to 0x0x0. In window mode, this resolution is used as a maximum size for the window. The default is auto (-resolution auto). This option requires -ddraw for full screen resolution switching.

-refresh - Specifies a particular refresh rate to set your monitor to. If the refresh rate is not found, or if this parameter is 0, the default DirectDraw refresh rate is used. The default is -refresh 0. This option requires -ddraw and -nowindow.

-[no]scanlines/-[no]sl - Enables the classic MAME "scanlines" effect. The default is OFF (-noscanlines). This option requires -nohwstretch. It also has some bugs in full screen mode in MAMEW 0.37b15.

-[no]switchres - Enables resolution switching. This option is required for the -resolution option to switch resolutions in full screen mode. On many modern video cards with hardware stretching support, there is little performance penalty at higher resolutions, so it is nice to be able to get rid of the monitor resync time when you run in full screen mode. This is also useful on LCD displays with a fixed resolution. The default is ON (-switchres). This option requires -ddraw.

-[no]switchbpp - Enables color depth switching. This option is required for the -resolution option to switch color depths in full screen mode. This option is useful if you normally run at 16, 24, or 32 bit color depth on your desktop, and want to keep that color depth when you run MAME. The default is ON (-switchbpp). This option requires -ddraw.

-[no]maximize/-[no]max - Controls initial window size in windowed mode. If it is set on, the window will initially stretch to the maximum supported size when you start MAMEW. If it is turned off, the window will start out at the smallest supported size. The default is ON (-maximize). This option requires -window.

-[no]keepaspect/-[no]ka - Enables aspect ratio enforcement. When this option is on, the game's proper aspect ratio (generally 4:3 or 3:4) is enforced, so you get the game looking like it should. When running in a window with this option on, you can only resize the window to the proper aspect ratio, unless you are holding down the CONTROL key. By turning the option off, the aspect ratio is allowed to float. In full screen mode, this means that all games will stretch to the full screen size (even vertical games). In window mode, it means that you can freely resize the window without any constraints. The default is ON (-keepaspect).

-[no]matchrefresh - Enables refresh rate matching. When enabled, MAMEW will try to find the closest refresh rate match that is greater than the game's refresh rate. For example, if the game runs at 57fps, and you have 60, 70, 75Hz refresh rates, MAMEW will choose 60Hz. If the game runs at 61fps, then it will choose 70Hz. This is intended mainly for those who have tweaked their video card's settings to provide carefully matched refresh rate options. The default is OFF (-nomatchrefresh). This option requires -ddraw and -nowindow.

-[no]syncrefresh - Enables speed throttling only to the refresh of your monitor. This means that the game's actual refresh rate is ignored; however, the sound code still attempts to keep up with the game's original refresh rate, so you may encounter sound problems. Again, this is intended mainly for those who have tweaked their video card's settings to provide carefully matched refresh rate options. The default is OFF (-nosyncrefresh). This option requires -ddraw.

-[no]dirty - This option is mainly for testing. It enables the use of MAME's internal dirty pixel marking scheme, which speeds up vector games tremendously. The default is ON (-dirty).

-[no]throttle - Configures the default thottling setting. When throttling is on, MAMEW attempts to keep the game running at the game's intended speed. When throttling is off, MAMEW runs the game as fast as it can. The default is ON (-throttle).

-full_screen_brightness/-fsb - Some video cards adjust the brightness/gamma when they switch into full screen mode. To counteract this, you can specify the -full_screen_brightness value, which is a number between 0.1 and 2. 0.1 means 1/10th as bright as the default, and 2 means twice as bright. Note that the hardware support for this option is not present on all video cards. If you set a non-zero value, you may get a warning if MAMEW was unable to set the brightness on your card. The default is 0, which means that MAMEW will not attempt to adjust the brightness on your video card at all. This option requires -ddraw and -nowindow.

-frames_to_run/-ftr - This option can be used for benchmarking. It tells MAMEW to stop execution after a fixed number of frames. By combining this with a fixed set of other command line options, you can set up a consistent environment for benchmarking MAMEW performance.

-bpp - Controls the internal MAME bitmap depth. Note that this is different from the color depth specified in the -resolution parameter. These two values do not have to match. Internally, MAME uses 8, 16, or 32 bit bitmaps. If you specify 0, it instructs MAME to use the preferred format. Generally, you shouldn't need to muck with this setting at all; it is mainly for development. The default is -bpp 0.

-[no]norotate/-[no]ror/-[no]rol/-[no]flipx/-[no]flipy - These are the standard MAME rotation options. They are all OFF by default.

-debug_resolution wxh/-dr wxh - Specifies the resolution of the debugger bitmap in the debug build. This controls how big the debugger window will be, and therefore, how many rows/columns it will display. The default value is 0x0, which sets the automatic 640x480 default debugger size. Note that the debugger is only available when running in a window.

-gamman - The controls the global gamma correction in the game. This is the same gamma that is applied when you bring up the on-screen-display within MAME. The default is 1.0.

-[no]hotrod/-[no]hotrodse - Autoconfigures MAMEW for using the Hotrod/Hotrod SE. Default is OFF for both (-nohotrod -nohotrodse).

-[no]mouse - Controls whether or not MAMEW looks for a mouse controller to use. When this is enabled, you will not be able to use your mouse in Windows while playing a game. If you want to get control of your computer back, you will need to pause the game, or quit. The default is OFF (-nomouse).

-[no]joystick/-[no]joy - Controls whether or not MAMEW looks for joystick/gamepad controllers. When this is enabled, MAMEW will ask DirectInput about which controllers are connected. The default is OFF (-nojoystick).

-createconfig/-cc - Creates the default MAME.INI file with the current settings.

-showconfig/-sc - Displays the current configuration settings. If you route this to a file, you can use it as an INI file. For example, this command: mamew -showconfig > mame.ini is equivalent to -createconfig.

-showusage/-su - Displays a summary of all the command line options.

-[no]readconfig/-[no]rc - Enables or disables the reading of the config files. When enabled, MAMEW reads the following config files in order:

  • MAME.INI
  • VECTOR.INI (for vector games only)
  • PARENT.INI (for clones only)
  • GAMENAME.INI

    • The settings in the later files override those in the earlier files. So, for example, if you wanted to disable hardware stretch in the vector games, you can create a VECTOR.INI with the "hwstretch 0" line in it, and it will override whatever hwstretch value you have in your MAME.INI.

    -[no]verbose/-[no]v - Displays some diagnostic information at startup. IMPORTANT: when reporting bugs, please run with mamew -verbose and include the resulting information. It can be very helpful in tracking down problems.

    -effect - Displays blitter effects based on the new architecture. Adds support for 25%, 50%, or 75% scanlines. These only work in 16bpp and better video modes. Currently supported modes are:

  • none - no blitting effects
  • scan25 - 25% scanlines
  • scan50 - 50% scanlines
  • scan75 - 75% scanlines


Running MAME32 from the MAME32 icon

To run MAME32 from the MAME32 icon, you need to set up an icon on your desktop. Once the icon is added to your desktop, just double-click on the icon to enter the MAME32 User Interface. Follow these steps to add the icon to your desktop:

Windows 95/98/Me/NT/2000:

1. Minimize all running programs and click on your desktop

2. Right-click on the desktop and select New then Shortcut

3. At the ‘Create Shortcut’ box, click on the Browse button

4. Change directory to the MAME32 directory you created during the installation/setup.

5. Select the MAME32 icon and click Open

6. Click the Next button

7. At the ‘Select a Title for the program’ box, select a name (i.e. MAME32) and click Finish

When you run MAME32 with a new version, the following dialog box will be displayed. This alerts you that you are upgrading MAME32 to a new version and will reset the default configuration. Just click ‘Yes’ if you wish to update your configuration to the new version of MAME32, or click ‘No’ if you do not wish to upgrade your configuration to the new version of MAME32.


Keyboard commands For Running MAME32

The following keys work while playing a game in MAME32, but most of them can be changed on the Configuration Menu.

ESC - Exit emulator

Enter - Press Enter to get past the game information screen and credits screen

Tab - Toggles the configuration menu. Press Tab or Esc to get back to the emulator. Click here for more details about using the configuration menu.

Tilde (~) - Toggles the On Screen Display

P - Pause

The Coin/Start buttons are laid out this way:

1, 2, 3, 4 - Start player 1, 2, 3, or 4

5, 6, 7, 8 - Insert coin 1, 2, 3, or 4

9, 0, -, = - Service coin 1, 2, 3, or 4

F3 - Reset

F4 - Show the game graphics. Use cursor keys to change set/color, F4 or Esc to return to the emulator.

F8 - Decrement frame skip on the fly. In general, it changes from current frames per second to frames per second divided by 2.

F9 - Increment frame skip on the fly. In general, it changes from current frames per second to frames per second times 2.

F10 - Toggle speed throttling

F11 - Toggle speed display in Frames Per Second (FPS)

F12 - Save a screen snapshot. The default target directory is '\mame32\snap'. By default, the screen snapshot is saved in Portable Network Graphics (.png) format.

left shift + F11 - Enables the profiler

The following keys work while in the MAME32 User Interface:

F1 - Displays the Help contents

F5 - Refresh the Game List

Alt-D - Toggles the Folder List on/off

Alt-N - Toggles the Screen Shot on/off

Alt-P - Play currently selected game

Alt-S - Toggles the Status bar on/off

Alt-T - Toggles the Toolbar on/off

Alt-Enter - Displays Properties for the selected game


MAME32 Menu overview

The MAME32 menus allow you to select game settings, display game options, display sound/controller options, provide auditing, and set preferences for the MAME32 User Interface. After running the MAME32 emulator from the command line or icon, the MAME32 menu options are displayed below the title bar.

NOTE: In Windows 2000, to use the Alt Keys (i.e. underlined options on the menus and dialog boxes) see the ‘Control Panel -> Display Properties -> Effects -> Hide Alt Keys’ option.

Displayed below is a sample MAME32 menu.


MAME32 File Menu overview

The MAME32 File Menu allows you to play a game selected in the Game List, record and playback game activity, display Properties about a selected game, audit your ROM files, and exit MAME32. Displayed below is a sample File Menu.


MAME32 View Menu overview

The MAME32 View Menu allows you to set display options for the MAME32 User Interface and Game List, customize what is displayed in the Game List, and select which games will be displayed in the Game List. Displayed below is a sample View Menu.


MAME32 Options Menu overview

The MAME32 Options Menu allows you to set font display options for the Game List, set the directories for the files and components used by MAME32, define the default Display, Sound, Controller, Advanced, Miscellaneous, and Vector parameters for MAME32, and choose the display of screen shots. Displayed below is a sample Options Menu.


MAME32 Help Menu overview

The MAME32 Help Menu allows you to view default help from the MAME and MAME32 distribution files. Included in this help are What’s New, a Quickstart Guide, and information about running MAME32. You can also enter the Help Menu by pressing F1. Displayed below is a sample Help menu.


MAME32 Toolbar Overview

The MAME32 Toolbar displays buttons to select the display of the Folder List, Screen Shot, Icon display options, and context-sensitive help. Displayed below is a sample Toolbar.


MAME32 Status bar Overview

The Status bar is displayed at the bottom of the MAME32 User Interface and displays details about the game you are playing. When MAME32 loads initially, it will check through all available ROMs to determine which ROMs are available. A status progress bar will be displayed in the Status bar that displays the number of ROMs it is checking, as well as the percent of ROMs that it has checked. After the initial check is complete, the Status bar will display the following items about the game you have selected:

  • Game name - Displays game name

  • Status - Working, Not working, Colors are wrong, Imperfect Colors

  • Game count - Number of games selected in MAME32’s Game List

  • MMX - Displays if MMX is turned on for this session of MAME32


MAME32 Screen Shot

This menu option allows you to toggle the display of a screen shot for the game you are playing in the Game List. You can also select this option by typing Alt-N. You can create a screen shot by pressing the F12 key while in a game. The screen shot gets saved in the \mame32\snap subdirectory.

If you select a game in the Game List that has historical information contained in the History.DAT file, historical information about the game is displayed below the screen shot. If no history exists in the History.DAT file, then nothing will be displayed below the screen shot. If there is no history for a clone game, it will use the parent games’ history. The history window will use the same font as the Game List and Folder List windows.

You can toggle between screen shots, flyer artwork, cabinet pictures, and marquee pictures by single clicking on the screen shot. Flyers are stored in ‘flyers.zip’ in the \mame32\flyers directory, Cabinet pictures are stored in ‘cabinets.zip’ in the \mame32\cabinets directory, and Marquees are stored in ‘marquees.zip’ in the \mame32\marquees directory. Screen shots remain the same in the \mame32\snap directory.

PNG’s and Bitmaps:

PNG’s can be used instead of bitmaps as background images and as screen shots. Simply put the PNGs in the \mame32\snap directory or in \mame32\png.zip. NOTE: Screen shots can be saved in Portable Network Graphics (.PNG) or bitmap (.BMP) format.

MAME looks for images (PNG’s and bitmaps) in the following order:

1.\mame32\snap\’image name.png’ file

2.\mame32\snap\’image name.bmp’ file

3.\mame32\snap\snap.zip\’image name.png’ zip file

4.\mame32\snap\snap.zip\’image name.bmp’ zip file

Where 'image name' is the game directory name or 'bkground'/'bkgnd16' for background images.

HINT: To display more Details about the games in the Game List, de-select this option.

Editing the History.DAT file:

The format of entries in the History.DAT file are:

[gamename] - Directory name of the game (in square brackets). For example, Pac Man would be pacman.

Text Line 1

Text Line 2

Text Line n

NOTE: Comments can be placed in the History.DAT file by placing a ‘#’ in column 1.


MAME32 Game List Overview

The MAME32 Game List displays a list of games that you have selected from either the View or Options Menu. Displayed below is a sample Game List.


MAME32 Folder List Overview

The MAME32 Folder List presents a ‘tree view’ of the games you can play within MAME32. To select a specific folder, just click on the folder in the Folder List and the available games for that folder will be displayed in the Game List.

If you right-click on any folder in the Folder List, you can enter the Custom Filters option to filter what is displayed in the Game List. Displayed below is a sample Folder List. Click on a folder to get more information about that folder.


Properties - General Tab

When you click on the General Tab, the following information is displayed about the game:

  • Manufactured - Year and Manufacturer of the game

  • Status - ROM set is Working or Not Working

  • CPU - Type of CPU used on the original game board

  • Sound - Type of sound chip/emulation used on the original game board

  • Screen - Number of pixels (Horizontal by Vertical) and Refresh Rate used on the original game board

  • Colors - Number of colors used on the original game board. Also included are whether the colors are Static or Dynamic.

  • Clone of - Displays the game that this is a clone of. If this game is an Original game, then this is not displayed.


Properties - Audit Tab

When you click on the Audit Tab, the audit feature is invoked to determine if a ROM set or Sample set is valid. If any features of the ROM or Sample set are invalid, they are displayed in the ‘Details’ section. You can also enter the Audit Tab for a specific game by selecting the game in the Game List and clicking Alt-A.

If the ROM is valid, the ‘ROM Check’ option will display ‘Passed’. If the Sample set is valid, the ‘Sample check’ option will display ‘Passed’. If the ROM has some invalid files, then it will display ‘Best Available’. If either option is invalid, the option will display ‘Failed’ and details about the missing or bad ROMs are displayed in the ‘Details’ section. This usually means that the ROM set you have is invalid, old, or incomplete. You should ensure that you have the most recent ROM set for a given game.

NOTE: If the Details section displays the message ‘NO GOOD DUMP KNOWN’ or ‘ROM NEEDS REDUMP’, then MAME32 does not have a good ROM set to work from. The game may still be playable, but you must wait for good ROMs to be redumped.


Properties - Display Tab

The Display Tab has the following options, which are explained below:

Run in a window
Start out maximized
Draw only changes
Enforce aspect ratio
Throttle
Rotation Options:
None, Clockwise, Anti-clockwise
Do not apply rotation
Flip screen upside-down
Flip screen left-right
Effects Options:
Use scanlines
25% scanlines
50% scanlines
75% scanlines
75% vertical scanlines
RGB triad of 16 pixels
RGB triad of 6 pixels
RGB triad of 4 pixels
RGB triad of 4 vertical pixels
RGB triad of 3 pixels
RGB tiny
Gamma Correction .50 to 2.00
Bits per pixel Options:
8 bit
15 bit
16 bit
32 bit

There are two buttons available for the Display Tab. Click the ‘Reset’ button to reset the values on the Display Tab. Click the ‘Restore Default Settings’ button to restore the default values for this menu.


Properties - Advanced Tab

The Advanced Tab has the following options for all games, which are explained below:

Use DirectDraw Options:
Triple buffering
Match game refresh rate
Sync to monitor refresh
Wait for vertical sync
Stretch using hardware (Select Aspect Ratio)
Switch resolutions to fit
Switch color depths to fit
Full screen brighness - .10 to 2.00
Resolution Options:
Size
Depth
Refresh
Frame skipping options:
Automatic or Skip frames

There are two buttons available for the Advanced Tab. Click the ‘Reset’ button to reset the values on the Advanced Tab. Click the ‘Restore Default Settings’ button to restore the default values for this menu.


Properties - Sound Tab

The Sound Tab has the following sound options, which are explained below:

Enable sound and sound CPU's:
Use samples
Resample if samplerate does not match
Samplerate (11025, 22050, 44100)
Volume attenuation - .32dB to 0dB

There are two buttons available for the Sound Tab. Click the ‘Reset’ button to reset the values on the Sound Tab. Click the ‘Restore Default Settings’ button to restore the default values for this menu.


Properties - Controllers Tab

The Controllers Tab has the following Input device and controller options, which are explained below:

Enable joystick input
Enable mouse input
Enable steadykey support
Default input layout options:
Standard
HotRod
HotRod SE

There are two buttons available for the Controllers Tab. Click the ‘Reset’ button to reset the values on the Controllers Tab. Click the ‘Restore Default Settings’ button to restore the default values for this menu.


Properties - Miscellaneous Tab

The Miscellaneous Tab has the following options, which are explained below:

Use additional game artwork
Enable game cheats
Error log (for developers)

There are two buttons available for the Miscellaneous Tab. Click the ‘Reset’ button to reset the values on the Miscellaneous Tab. Click the ‘Restore Default Settings’ button to restore the default values for this menu.


Properties - Vector Tab

The Vector Tab is only displayed on Vector games, and has the following options, which are explained below:

Draw antialiased vectors
Draw translucent vectors
Beam width 1.00-16.00
Flicker 0-100

There are two buttons available for the Vector Tab. Click the ‘Reset’ button to reset the values on the Vector Tab. Click the ‘Restore Default Settings’ button to restore the default values for this menu.


Troubleshooting MAME32 Problems

Prior to reporting bugs, please ensure that it is not a core driver problem. Ensure that it doesn't also happen in the MS-DOS version.

Support, Testing, Bug Reporting:

For updated technical notes, game driver issues and troubleshooting information, please see John's QA/Test & Art Department site Here. For more information check the other docs in the help area, which include the latest MAME for MS-DOS documents.

The current list of MAME32 issues can be found Here.

Please keep in mind that the following are general recommendations. You may find that on your system with your hardware and drivers, other sound systems or video options work better. So don’t be afraid to experiment.

To see the official Support/Troubleshooting documentation, click Here.


Credits/Acknowledgements For MAME32

Acknowledgements:

Thanks to John Hardy IV for excellent testing. Also, thanks to Mike Haaland, Jeff Miller, Andrew Kirmse, Mohammad Rezaei, and Robert Schlabbach for contributing code to MAME32.

Contacts:

Michael Soderstrom:
ichael@geocities.com

Michael's MAME32 page: Here

Christopher Kirmse:

ckirmse@pobox.com

Christopher's MAME32 page: Here

John L. Hardy IV (Testing):

mame32qa@hotmail.com
[put 'mame32' in the subject line or you will be spam filtered]

John L. Hardy IV’s page: Here

Mike Haaland (User Interface):

mhaaland@hypertech.com

John Zissopoulos (AVI Code):

zissop@theseas.softlab.ece.ntua.gr

Dan Miller (Help File):

dan-mill@swbell.net

Official MAME home page: Here

MIDAS home page: Here


MAME32 Configuration Menu

The MAME32 configuration menus allows you to set up the run-time options, display, and sound/input options for a game while running a game in emulation mode. Changes made to the game’s configuration are stored in the .cfg file for that game (i.e. dkong.cfg is stored in the \mame32\cfg directory). Following are the configuration menu options that can be accessed within the MAME32 emulation mode:

Input (general) - This option can reconfigure the default function keys used for all games when running MAME32. It also configures default keyboard settings to emulate joystick/trackball buttons and directions, coin slots, and player start buttons. This option also configures default joystick settings and analog controls which are only setup on vector games by assigning dial decrements and increments as well as dial sensitivity and button assignments. This option also allows you to load and/or enable a cheat, start a new cheat search, continue a cheat search, or perform a memory watch.

Input (this game) - Configures current game’s keyboard settings to emulate joystick/trackball buttons and directions, coin slots, and player start buttons. This option also configures current game’s joystick settings and analog controls which are only setup on vector games by assigning dial decrements and increments as well as dial sensitivity and button assignments. This option also allows you to load and/or enable a cheat, start a new cheat search, continue a cheat search, or perform a memory watch.

Dip Switches - configures options such as coins per play, lives, cabinet style, difficulty level, and Demo sounds

Bookkeeping Info - displays the number of tickets dispensed and information about which coin slots have received coins

Game Information - displays the same information as the Properties option in the MAME32 User Interface

Game History - displays historical information about the game. You can get more information about game history from the MAME32 Screen Shot topic.

Reset Game - Select this option to reset a game. This is the same as pressing the F3 key.

Return to Game - Select this option to return to the game from the configuration menu

Follow these steps to set/reset the value of a menu option:

1.Select the configuration menu option and press Enter

2.Use the up/down cursor keys to scroll through the option list

3.To configure a keyboard/joystick/analog value, press Enter on that value and the value will go blank. Just press the appropriate key, move the joystick/analog device, or press the button that you want ‘mapped’ to that option. If you do not wish to change the value, just press the ESC key to exit.

4.To configure an option list’s value, just move the left/right cursor keys to set a new value by scrolling through the value list

5.Once the values are set for the specific configuration menu option, either press ESC or scroll to the ‘Return To Game’ menu option and press Enter


View Menu - Custom Filters

This menu option allows you to filter the games that will be displayed in the Game List based upon the type or availability of the game. You can combine filters to filter out different types of games you do not want to see. The Custom Filters option is available for all folders displayed in the Folder List by right-clicking on the folder and selecting the Custom Filters option. . You can select the Filters box by pressing the CTRL-F key.

Displayed below is a sample Custom Filters screen. Click on any of the items to get more information about that item:


Options Menu - Directories - Show

This option allows you to select the directory for the component type you are using within MAME32. Following is a list of valid components that you can configure in MAME32. Click on the option you wish to configure, then click in the Directories box to select the directory to place the selected component.

  • ROMs - default directory is \mame32\roms

  • Samples - default directory is \mame32\samples

  • Config - default directory is \mame32\cfg

  • High Scores - default directory is \mame32\hi

  • Snapshots - default directory is \mame32\snap

  • Input files (*inp) - default directory is \mame32\inp

  • State - no default directory - you can save game states in any directory

  • Artwork - default directory is \mame32\artwork

  • Memory Card - no default directory – you can create this if you use it

  • Flyers - default directory is \mame32\flyers. To get the latest version of MAME flyers, go to http://arcadeflyers.retrogames.com.

  • Cabinets - default directory is \mame32\cabinets. To get the latest version of cabinet artwork, go to http://arcadeart.emuunlim.com.

  • Marquees - default directory is \mame32\marquees. To get the latest version of cabinet marquees, go to http://closet2mame.vintagegaming.com/marquees.htm.

  • NVRAM - default directory is \mame32\nvram. Programs that save non-volatile RAM will save out a ‘gamename .nv’ file (i.e. dkong.nv). You can also create a file called nv.zip that contains all .nv files zipped up. This saves a lot of space if you have many .nv files in this directory. NOTE: You must have at least ONE file in the NV.ZIP file or MAME32 will present an error message to you asking you to correct this problem.


MAME32 Suggested Graphics Settings

Click Here for the suggested graphics settings.

These are the suggested graphics settings for MAME32, which can be set in the Display, Controller, Advanced, or Miscellaneous tabs of the Default Options menu:


File Menu - Properties

The Properties menu option allows you to view properties and history about the game you have selected in the Game List, perform an Audit of the game you have selected, modify Display, Sound, Controller, Advanced, Miscellaneous, and Vector game settings. You can also enter the Properties menu by typing Alt-Enter. Displayed below is a sample set of Properties tabs.


Options Menu - Default Options

This menu option allows you to set the default Display, Sound, Controller, Advanced, Miscellaneous, and Vector options for all games in MAME32. These options can be toggled on or off within the tab you select.


MAME32 Suggested Sound Settings

Click Here for the suggested graphics settings.

These are the suggested sound settings for MAME32, which can be set in the Sound tab of the Default Options menu:


What's New in MAME32

Version 0.37 Beta 16:

  • Merged the MAME32 User Interface with the MAMEW core.

  • Added support for HTML-based Help. MAME32 will no longer support the old Winhelp format.

    • Version 0.37 Beta 14:

    • Fixed sound attenuation problem where volume setting was not staying static between sessions

    • Integrated sticky keys and steady mode core changes from the MAME for MS-DOS version

    • Added changes to easily compile MAME32 with newer versions of Visual C and DirectDraw

    • Added minor clarifications to C code and compile.txt file

    Version 0.37 Beta 13:

    • Users can now have their joysticks be ID's other than 1 and have it work. Also, the problem with USB joysticks doing wrong directions with DirectInput enabled has been corrected.

    • Completed the new 32 bit color changes in windowed mode

    • Added the Resample Filter option

    • Made one change to the Midas lib that eliminates a linking/DLL issue

    • Made some changes for compiling MAME32 with gcc (MinGW, Minimalist Gnu for Windows)

    • Added basis for StretchMAME32 code but it is not completely integrated yet

    • Made various changes to default settings in the Properties Tabs

    Version 0.37 Beta 11:

    • mameinfo.dat and history.dat functionality fixed. Just place the mameinfo.dat and history.dat into the \mame32 directory.

    • Fixed problem where the MAME32 game information tab shows samples as sound but an audit indicates that MAME32 thinks the samples aren't needed. The game continues to play with samples in the \mame32\samples directory.

    • Added support for the extra 2 buttons on the Intellimouse Explorer

    • Fixed Joystick issues: 1 - By not having any controllers installed, or 2 - By unchecking the "Use joystick" option. This helps particularly in Windows 9x.

    • Included a patch that enables the MAME debugger to work under DirectDraw

    • Cleaned up a few items to be in sync with MESS32

    • Made the discrete sound system (in C) use the regular logging facilities, or the discrete sound features would not work

    • Changed the "how to compile the MAME32 Help File" HTML version located at http://www.hypertech.com/mame/helpfile.html

    Version 0.37 Beta 10:

    • Fixed some issues with displaying CPU and Sound info in the property page

    • Added Win32 gnu options/makefile to do command-line builds. Included a makefile for the Borland compiler (makefile.bor) in the MAME32 source.

    • Changed the VERSION define to MAME_VERSION and used it in the .rc file

    Version 0.37 Beta 9:

    • Changed the game lookup code to ensure that games without any ROMs do not show up as missing ROMs

    • Added -oslog command line option. When enabled, all logerror() output will be passed to OutputDebugString() in addition to the log file.

    • Added -win32debug switch that allows you to see the average FPS results of a game upon completion in the open command console

    Version 0.37 Beta 8:

    • No changes

    Version 0.37 Beta 7:

    • You can perform a text search of the Game List to list games with any string of words in it. You can access this via the View -> Custom Filters option or by pressing CTRL-F.

    • Added more support for multi-language files via the Options -> Language option

    • Added the “-broadcast” command line switch to the User Interface that allows the Game List to display faster

    • Added fourth toggle option to the Screen Shot area to switch between Screen Shot/Flyers/Cabinets/Marquees

    • MAME32 core code requires the PlayChoice BIOS file for the PlayChoice games to work correctly

    Version 0.37 Beta 5:

    • Changed default directory for Snapshots to \mame32\snap. The directory used to be called \images. You can also create a .zip file called snap.zip and place it in this directory to store snapshots taken with the F12 key.

    Version 0.37 Beta 4:

    • Added .zip file support to the Icons directory (\mame32\icons). Just create a file called icons.zip, include at least one file in the .zip, and MAME32 will use this as the repository for the User Interface icons.

    • Added Random Game selection option via the File Menu and the Ctrl-R key in the User Interface. This only selects a game but does not run it.

    • Added multi-language file support (using the .lng file like MAME for MS-DOS) via the Options -> Language option

    • Changed the Error Log routine

    • Added declarations to support MESS (Multi Emulator Super System)

    • Added ROM Compare utility in the source code (to turn off, comment out the TOOLS=romcmp line in the makefile

    • Made OSD changes to Full Screen and Windowed mode to support DirectInput Keyboards

    • Modified internal Write Bitmap routines to use the MAME core's screenshot functions

    0.36 Final:

    General

    • Added official support for Windows 2000

    • Added hyperlinks for all URL’s and E-Mail addresses within the help file. You can now launch your WWW browser or E-Mail package when you click on these links within the help file. Special thanks to Chad Arnold (arnoldcj@excite.com) for this tip.

    • Added additional Audit support for ‘ROM NEEDS REDUMP’ response. This means the developers are aware it's a bad dump, and the dumpers need to redump it. Fixed audit problem with No Good Dump Known messages

    • Corrected the problem with some non-working games such as Make Trax

    • Added HAS_HD6309 to the list of supported CPU’s

    User Interface/Command-Line

    • Added the ability to launch MAME32 minimized or maximized from the shortcut icon setup

    • Changed all game names with ‘The gamename’ to ‘gamename, The’ to allow proper sorting of game names

    • Corrected problems with clicking on the Cancel button during game load and added the ROM name to the game load dialog box

    • Added a better Manufacturer matching routine in the Folder List

    • Fixed error where adding new Favorites folders caused a MAME32 crash

    • Added UI keyboard/joystick mapping while in the MAME32 Configuration Menu (Tab menu within the game)

    • Fixed problem in Tab Menu where Left/right and Up/Down of the joystick were working inconsistently

    • Added back support for the Pause key and right and left Shift/Alt/Ctrl keys on Windows NT

    • Default key mappings are now retained in the default.cfg file when opening/closing MAME32

    • Modified the Auto-Pause code to be less CPU-intensive. Auto-Pause happens when the game is interrupted or focus is lost from the MAME32 window. Please note that the normal Pause (‘P’ key) will still be CPU-intensive.

    • Added option to manually type a directory entry on the Options -> Directories menu

    • Removed the Enable Profiler option

    • Added code to the User Interface that sends out a system-wide window message each time the current game changes. It allows another program to act each time the game selected in the User Interface changes, such as changing Marquees, screen savers, or program counters.

    • Changed command line options for when -quit is specified. The number of plays for the game being launched will be incremented, however MAME32 will not save the registry information or command line options for the session run from the command line.

    • User Interface is not displayed with -quit command line option

    • Corrected command-line options of -? And -XxY so they now work properly

    • Improved the -joygui and -dijoygui command-line options which were not working in the past few betas

    Display

    • Fullscreen triplebuffering/vsync is now implemented. This is available with all screen modes and is added as an option on the Options -> Default Options menu.

    • You can set Auto-Color depth in 16bpp Fullscreen mode. Normal 16-bit palette code should now work but not w/MMX on. We did not change the 16-bit palette MMX code since the 16-bit palette code handles pixel doubling already.

    • You can now select colour depth for most games to be 8 or 16 bpp. But some games do not work right in 16 bpp mode.

    • The Gamma and Brightness should now work in 16bpp Palette mode. This will not work for 16-bit Static Palette mode.

    • Fixed a bug in the Fullscreen 8-bit code responsible for the pause/blackness problem

    • Replaced hard-coded key codes for panning in Fullscreen mode.

    • Changed Bitmap and Frameskip routines to be in sync with MAME for MS-DOS code

    Sound

    • Added 16 bit sample support

    • Added new DirectX decode for DirectSound errors

    • Added new DirectSound code

    • Removed the 8/16 bit sound depth selection from the Sound tab

    • Sound options have been modified to only use the MIDAS sound system or DirectSound. As a consequence you will need the midas11.dll for this to work correctly. SEAL support has been removed entirely.

    • Removed SEAL.TXT from the binary distribution since SEAL is no longer supported

    • Removed unused variables from DirectSound code

    • Added new multiple OPL chip support via the mameopl.sys driver and using the instopl.bat command. This driver should be backwards compatible with MAME32 versions that used only one OPL chip. Newer versions of MAME32 (after 0.36 Beta 3) will not work with older versions of mameopl.sys. You will not get any FM sound via OPL hardware.

    Controllers

    • Added support for the -hotrod and -hotrodse switches and added a check box to the Controllers tab

    • Changed the joystick code so that the mouse buttons can be assigned independently of the joystick buttons

    • Removed disabling of the mouse for non-trackball games

    • Removed joystick mapping options from the Controllers Tab

    • Cleaned up DirectInput support for joystick and keyboard and made several DirectInput Joystick fixes:
      • Names are based on the joystick type rather than the joystick number

      • Fixed a bug with buttons reading/writing random memory and causing havoc

      • Added support for any number of Point Of View (POV) hats

      • If a user does not have a joystick, then the ‘Use Joystick’ option is disabled. The DirectInput Joystick will also not be enabled.

      • NOTE: DirectInput joystick code will not work on NT4

    Input/Output

    • Added support for the HISCORE.DAT by using the HI.ZIP file located in the \mame32\hi directory. Also added back the High Scores option in the Options -> Directories menu option.

    • Added support for the NVRAM filetype into the MAME32 file system. The \mame32\nvram directory gets created when a game that uses NVRAM is started. It won't get created if you run a game that doesn't use NVRAM.

    • When using NVRAM, the *.nv files can be saved in a ‘\mame32\nvram\nv.zip’ file similar to the ‘\mame32\cfg\cfg.zip’ file.

    • Fixed problem where NVRAM save files were not going to the nv.zip file. It is required that some file be present in the nv.zip file before you can start using the zip file.

    • Cleared up loading of the mameinfo.dat file. The file does load, but only in instances where there is a history entry.

    • Added support for reading zipped .inp files

    • Fixed problem with screenshots adding extra ‘blank space’ around the borders. Also fixed numbering scheme for snapshots to match the MAME for MS-DOS code.

    • Identified AVI bug with palette changes as a known issue. AVI only keeps 1 palette.

    Version 0.35:

    • Added progress bar to display how much of the game has loaded while the game is loading

    • Removed the ‘Use Custom Icons’ checkbox from the Startup Options menu. The icon load check is done when a refresh (F5) is activated. This makes the initial MAME32 load much faster.

    • Added filters than can be selected from the Folder List or View Menu. These will filter which games are displayed in the Game List.

    • Added Reset Options to the Options Menu. These will allow you to reset MAME32 to default settings upon the next restart of MAME32.

    • Audit dialog for a specific game can be activated by selecting the game and pressing Alt-A

    • Added Custom -> Played folder to replace the Custom -> Favorites. Added new functionality for the Custom -> Favorites folder. The user can now add/remove games from this folder by right clicking on the game, and selecting Add to Favorites or Remove from Favorites from the pop-up menu.

    • Added right-mouse click support for the Folder List to select the filters menu

    • Added right-mouse click support for the Game List to select the filters menu

    • Added support for AutoFrameskip and changed function key for AutoFrameskip from F8 to F9

    • Added Game Name, Game Status, number of games in the current folder, and MMX detection to the Status bar

    • Added a status bar progress control so the user can see progress when the game list is being refreshed or initialized

    • Fixed 'refresh' detection of merged Neo-Geo clones and fixed game selection during 'refresh'

    • Removed the Large Screen Shots menu option. Removed Alt-R keyboard support for this option.

    • Added check box controls to turn on/off artwork or sample loading

    • Added slider control for setting volume attenuation

    • Added History Tab to display game history from the History.DAT file

    • Added option to save MAME32 game session as an AVI file. Select ‘Capture As AVI file’ from the File menu and then start or stop capturing using then F12 key. From John Zissopoulos.

    • Added multiple monitor display support for Windows 98/Windows 2000

    • Added column sort order persistence when starting a new session of MAME32

    • Added Startup Options to the Options menu to customize the startup of MAME32

    • Added new joystick controller options in the Controllers Tab

    • Added a new directory for Flyers

    • Added a new directory for Cabinets

    • Added a 3 state toggle between Screen Shot, Flyer, and Cabinet pictures

    • Screen Shot/Flyer/Cabinet view will persist between sessions of MAME32

    • Fixed ‘flicker’ when switching between Screen Shot/Flyer/Cabinet view

    • Removed display of Game History when in Flyer mode

    • User can toggle between Screen Shots and Flyer/Poster Art by single clicking on the Screen Shot

    • MAME32 now supports loading Screen Shots and Flyer/Poster Art in Portable Network Graphics (.PNG) format

    • Removed JPEG support. Only Bitmaps (.bmp) and Portable Network Graphics (.png) formats are supported.

    • Added PNG save support (up to 24-bit save)

    • Cleaned up Fullscreen modes which use MMX

    • Added ZLIB.DLL support for unzipping files, checking game CRCs, and loading/saving PNGs

    • Changed default sound settings for enhanced .WAV samples for use with 0.35 Beta 11 forward

    • Changed default size of the text field within each Properties Tab to accommodate longer game/directory names

    • Moved Game History information from the Properties Tabs to be displayed directly under the Screen Shot. Game History will not be displayed if history information does not exist in the History.DAT file.

    • Fixed problem that displayed the last screen shot even when there was no valid game selected

    • Changed recommended sound settings for Windows 95/98 users

    • Fixed background images not displaying correctly after refreshing the game list

    • If a folder is empty, the status bar now shows 'No Selection' instead of the old game name

    • Removed support for ym2203opl chip

    • The command line is once again fully functional

    • Fixed auto pause and the new style pause by setting brightness and restoring it when the game is unpaused

    Version 0.34:

    • Removed Game options tabs from the main window (they are now incorporated in the Properties tabs)

    • Added a Toolbar with tooltips. This can be toggled on/off.

    • Added a Status bar with menu help and game selection details. This can be toggled on/off.

    • Added a Folder list (Tree control) to allow different 'Views' of the games in the list. This can be toggled on/off.

    • Added Splitter controls (this allows resizing the Folder list, Game list and Screen Shot portions of the main display)

    • Added new shortcut keys for menu navigation

    • Added customizable Icon names in Folder List. These can placed in the \mame32\icons directory.

    • Added JPEG support so .JPGs can be used instead of .BMPs as background images and as screen shots. Additionally, .JPGs and .BMPs can both be stored in the \mame32\images directory.

    • Added stereo sound support option for the games that use it

    • Added new SEAL 1.06 Driver Support

    • Removed the Neo-Geo BIOS from the 'Clone of’ column in the User Interface

    • The custom pause code has been removed. Pause now works like the MS-DOS version.

    • Added support for 34010 CPU emulation games

    • Added Brightness control to the User Interface (Display Tab)

    • Changed some of the textboxes to sliders on the Display Tab

    • Added bkground.bmp image to the screen shot area

    • Added experimental profiler. To enable it, check the 'Enable profile' checkbox; then hit Left Shift + F11 to show the results on screen.

    • Added artwork and state file support

    • Modified the usage of the OPL chip driver code to use mameopl.sys as an installed driver on Windows NT. The mameopl.sys driver can now be installed and uninstalled by running instopl.bat with 'install' or 'remove' as command line parameters.

    • Added Dan Miller's Windows Help file

    • Added Robert Schlabbach's Windows NT driver for OPL chip access (ym3812 sound). Requires a Sound Blaster compatible sound card. This driver gets loaded dynamically for games that use it, so you must run MAME32 with Administrative privileges.

    • Enabled keyboard LED indicators to emulate the 1 player/2 players start lamps. This currently works only in Windows NT.

    • Added Audit Tab to Games Property Sheet

    • Added Pause/Continue feature to Audit Dialog

    • Added Game Directory under title in Properties popup

    • Widened the Audit dialog box so that errors don't go over a line

    • Added preliminary support for average frame rate computation, like the MS-DOS version. It printf()'s the number at the end, so you need to run -debug to see it.

    • Gamelist background image will be refreshed on F5

    • Increased compatibility with older common control DLL (comctl32.dll)

    Version 0.33:

    • Added property sheet to display game specific information

    • Added 'Update Game List' to the Options Menu to allow the user to refresh the ROM/Samples/Icon information. This information is no longer updated every time MAME32 starts.

    • Added skip columns option for fullscreen mode

    • Added support for detecting merged ROMs

    • Game list column header is now customizable. The header items can also be rearranged by drag and drop.

    • Added 'Show No Clone Games' to the Options Menu

    • Added icons the to game list User Interface to show ROM availability. By putting 4 icons in either the image directory or the current working directory users can modify the icons to suit their own tastes.

    • Added support for game specific icons in the game list User Interface

    • A tiled background image may be used for the game list User Interface when viewed as Details. To use a background image, create a bmp called ‘bkground.bmp’, and place it in the image directory. For 256 color display modes, you can also specify a 16 color bitmap as ‘bkgnd16.bmp’.

    • Added capability to display screen shots in the User Interface. The images must be in the Windows bmp format, located in the image directory. The images can also be in a zip file named bmp.zip, located in the same directory as MAME32.EXE.

    • Options in the User Interface are now split into two tabs, Display and Sound/Input

    • New CPU detection code which should work on Pentium II’s

    • Support for recording/playback of .inp files

    • Support for the new dirty layer system in fullscreen mode and in DirectDraw windowed mode

    • Directories and paths are now configurable. This applies to the rom and sample paths, config, high score, image, and input directories.

    • Added additional columns in the User Interface for game manufacturer and year

    • Added MAME/MAME32 help files to the Help Menu

    • Added all 4 explorer style view the Game display

    • Added support for custom font color

    • Context menus when right clicking on the List view and Column Headers

    • Column Sort indicators

    • Number of Games played are now saved after each game is played, instead of when you exit the program

    • Ability to use system large fonts without distortion

    Version 0.31:

    • Fixed crash when attempting to detect MMX support on Cyrix CPUs. If a Cyrix CPU is detected, the code will disable support for MMX even if the processor supports MMX instructions

    • Added visible area support in fullscreen and DirectDraw windowed mode. All display options now support this functionality.

    • 16 bit support for the DirectSound option. Fixed samples being cut off.

    • Added support for up to four joysticks

    • Updated Wingman Warrior support. The previous version of MAME32 only worked with Logitech's oldest 1.0 driver; this new version only works with their latest 2.3 driver. To use the Wingman Warrior spinner you need their version 2.3 driver, from http://www.logitech.com. And you must select the ‘Use DirectInput for joystick’ option.

    • Added an audit feature. This checks all your existing ROM sets for missing and incorrect ROMs, and for missing samples.

    • Added YM3812 FM synthesis for Sound Blaster compatibles under Windows 95.

    • Added an Unavailable Games option to the View Menu

    • Unzip support is now done by the core MAME code. The unzip.dll file is no longer needed.

    • 16-bit color support in fullscreen and GDI windowed mode. 16-bit color in DirectDraw windowed mode requires the display to be set to 16 bit.

    • Added yet another sound option, DirectSound. This uses the DirectX DirectSound API. It currently does not support 16 bit samples.

    • Option to use a Blit operation for fullscreen mode. This applies to the double option with no scanlines. This may or may not result in a speed increase.

    • Support for processors with MMX instructions

    • Added DirectX detection code to determine if DirectX is installed. MAME32 will not continue if DirectX is not properly installed.

    • User Interface displays the number of times each game has been played.

    • 2 joystick support added for the DirectInput joystick option.

    • Support visible area in GDI windowed mode

    • Vector games now use dirty pixels in fullscreen and DirectDraw window mode

    Version 0.30:

    • Dirty rectangle support in DirectDraw window & fullscreen modes. This can speed up the display of games that support dirty rectangles. This option is enabled by checking the ‘Draw only changed areas’ checkbox.

    • Zip file support for roms, samples, hi and cfg files via Info-ZIP group's UnZip zipfile-extraction program. Also support for using ZipFolders/ZipMagic.

    • Complete \rom and \sample directory support

    • Settings and options are now saved in the registry in HKEY_CURRENT_USER/Software/Freeware/Mame32

    • Resizable User Interface window

    • Settable font for User Interface game list

    • Sorting ascending/descending every other click on User Interface game list title

    • Audio sample rate and sample bit depth setting. Sample rate options are 44100Hz, 22050Hz and 11025Hz. Sample bit rate settings are 8 or 16 bit.

    • Joystick and intellimouse wheel support for scrolling in User Interface list. Use the -joygui command line option for joystick scrolling.

    • Support for integrated debugger. Compile with -DMAME_DEBUG.

    • Removed ‘Blt from BackBuffer’ option by detecting if the primary surface can be locked.

    • Added doubling and horizontal scan lines to 8 bit rendering in DirectDraw window mode

    • Single analog joystick support

    • Dual digital joysticks are now supported. Also, Point of View input devices can be used as joysticks 3 and 4.

    • The default directory for screen snapshots (F12) is now \mame32\bmp instead of the current directory. The directory will be created if it does not exist.

    • New accelerator in User Interface for Alt-P to start a game

    • Added an option that allows using extra analog inputs on a joystick (the spinner on a wingman warrior in particular) for the 'regular' analog inputs usually read from the mouse/trackball.

    Version 0.29:

    • The previous official and unofficial versions of MAME32 have been merged. As of this version, there is only one, official version of MAME32, which is the creation of Michael Soderstrom and Christopher Kirmse. Naturally, the MAME code is the creation of the entire MAME team.

    • Pause has been changed to no longer waste CPU cycles

    • Eleven of the options are now settable on a per-game basis. Use View | Default Options to configure your most common options. For games that you want to use different options, select the game in the list view, click on the options tab, and select your options for that game. All of these options are automatically saved into a file called mame32.cfg.

    • The list view of all games can be viewed in detailed mode (like the previous version) or in list mode, which just lists the names of the games. This is configured in the View Menu.

    • You can list either all games that MAME32 supports or just the games that have the correct ROM files in place. This is configured in the View Menu.

    • Player 1 and Player 2 LEDs are now supported in some games (e.g. Pac Man), and are drawn on the bottom right of the status window when in window mode.

    • DirectInput support has been added for both the keyboard and joysticks (joysticks only with DirectX 5).

    • Vertical scan lines are now supported in fullscreen mode

    Version 0.28:

    • Uncommented Tempest hack to avoid lockup at 150,000 points

    • MIDAS audio implementation is complete

    • SEAL audio is now un-synchronized when throttle is off, just like MS-DOS version. Workaround in sndhrdw/psg.c: free was called on reset buffer pointer.

    • Bugfix in usrintrf.c: traksettings[total] crashed when traksettings == NULL

    • Bugfix: osd_key_name now returns ‘None’ instead of 0

    • Workaround in sndhrdw/8910intf.c: free was called on reset buffer pointer

    Version 0.27:

    • Added F12 snapshot option

    • Added -gamma option

    • Added mouse support. Maybe obsolete?

    • Added -window option. Alias for -noddraw

    • Bugfix: Window mode trak/mouse should stay within the window client area

    • Bugfix: trak-ball now works with non-centering trak-ball games like ccastles

    • Restructured SEAL audio code to be more like newer MS-DOS code

    • Added -vg option to GDI display

    • Bugfix: kbd init now leaves the toggle state bit alone

    • Bugfix: in osd_trak_read, NO_TRAK is returned if no trak

    • Changed SEAL audio code to not poll when using the Windows wave device. This should prevent SEAL locking up when playing streamed sound.

    • Vector game option -vg now forces -nodouble

    • Took out a few WIN32 specific lines of code in the main source tree

    • Took out my homegrown DirectSound audio option

    • Added -midas option for MIDAS Digital Audio System. Looped sampled sounds don't work yet.

    Version 0.261:

    • Fixed bug where DirectSound option with SEAL would cause SetCooperativeLevel to fail on Windows 95

    • Added joystick deadzone parameter option -joydz n

    • Added -listmodes option to enumerate the possible DirectDraw video modes. This will let you know what resolutions are valid for the -XxY parameter.

    • Fixed bug in mame.c where Machine->gfx[0] == 0 caused MAME to crash