Mame32 Overview & History

Mame32 is an emulator. Simply put, it allows a PC to mimic the internal hardware of a large number of stand-alone arcade machines from 1975 to 2002. Combined with the original ROMs from these arcade machines, Mame32 will display and play the games on a PC. The software thinks it’s still running on its original box. Mame32 is the GUI version of Mame™, the M.ultiple A.rcade M.achine E.mulator. It has an attractive, elegant, graphical interface which allows the user to forego having to type command line parameters, although it can still be passed these arguments, for example. ‘Mame32.exe dkong -r 1024x768x32 -refresh 85 -effect sharp’. For many, it’s easier to click the icon of the game.

1997.02.05 - In the beginning, Italian programmer and arcade preservationist, Nicola Salmoria, combined his individual game emulators into the DOS based multi-game emulator, Mame. It was released Feb. 05, 1997. Since the source was also released, numerous people contributed new drivers to add support for more and more games. The number of contributors grew into the hundreds and has continued to increase over the years.

1997.08 - Mame32 was the first port of Mame to the Microsoft Windows platform. It originally came out in August of 1997, adding the GUI and a considerable amount of new code to transition to Win32. The original Mame32 was authored by Chris Kirmse and later integrated Michael Soderstrom's Win32 command-line port of Mame. Michael then coordinated, maintained the source, and produced the releases. Mike Haaland and John Hardy IV joined the project in late 1997. Mike would wholly revamp the user interface to its current state and continue collaborating on core development. John provided testing, WIP updates, artwork, and served as the external point of contact for the team. Mame32 releases followed the Mame DOS releases by a few days to a few weeks over the next four years.

2001.05.24 - With the inexorable phasing out of DOS, the authors of the DOS based Mame ported it to the Microsoft Windows platform as a command line application. Evolutionally similar to MameDOS, it is run by typing in arguments from a command prompt, and has no GUI. [many people try to double click it, which opens up the command line window briefly, displays a message, then closes]. Its original name was Mame[w], it is now again known simply as Mame.

2001.07.24 - Mame32 was re-positioned, with the familiar GUI grafted onto the new Mame Windows engine. Mame32 is currently maintained by Kirmse, Haaland, and Hardy and is now released by John IV shortly after Mame on the Mame32QA site.

2005-05-04 01:49 PM -0700 / john iv


Mame32 Whatsnew32

Changes to Mame32

v.105.2

  • Added BIOS folder view on the left pane. This folder lists all the BIOSes supported by Mame32 and allows launching them as if turning on a machine without a cartridge etc. in it, like the Neo-Geo. [René Single]

v.104.7

  • Added properties for driver.c and vector on secondary click shortcut menu. This is the same as altering the properties on the vector folder and the \source\driver folder on the left pane. [René Single / John IV]

v.104.4

  • Added support for priority switch, now a slider. Note: there may be system related issues going to setting 1 (lagging keyboard, joystick controls), default is 0. [René Single]
  • Removed multi-screen folder view on left pane as that flag has been removed in the core. [René Single]
  • Added mngwrite option to launch a game and immediately begin recording a MNG movie file. [René Single]

v.101.1

  • Added support for savestate game folder view on left. Added switch for autosave. [René Single]

v.100

  • New Galaxian homage about.bmp. [John IV]

v.99.3

  • Re-implemented history.dat for Mame32 which had its support removed from core. [René Single]

v.98.3

  • UI dialogues realignment. [Radius]
  • Added ability to type in Mame shortname in the Ctrl-F text filter, i.e. 'ddonpach'. [John IV / Mash]

v.96.4

  • First pass at adding support for the analogue and digital controller section of the core. [René Single]

v.95.5

  • Added core's -screen switch to UI to allow playing games on secondary/tertiary monitors in multi-head setups. [René Single]

v.90.3

  • More UI dialogues realignment. [Radius]

v.89.3

  • Re-aligned UI elements in Options menus and added some XP-style icons. [Radius]

v.88.1

  • Added switch to toggle validity checking in the binary. [René Single]

v.87.1

  • Increased start up speed via driver info caching. [Sauro Puccini / Chris Kirmse]

v.86.1

  • Reworked Mame32 folder properties and their initial memory allocation. Results in halving Mame32’s memory footprint on most systems. [René Single]

v.86

  • Reworked Mame32 multisession behaviour. When launching a game, Mame32 will now dynamically resize itself in memory rather than spawning a separate core process, saving some memory (this new feature impacts the icons on windowed mode playing and the show caption option). [Chris Kirmse]
  • Re-added support for custom controller selection again in the controller tab. [Chris Kirmse]

v.84.5

  • Cleaned up the Options • Interface Options menu, adding sliders. [René Single]
  • Internal clean-ups to provide support for the new core changes. [Chris Kirmse / Nathan Woods]

v.84.2

  • Added feature request to place a border around the artwork in the art pane, user selectable size and color (0=no border). [René Single / John IV]
  • Added dump status folder view, an easy reference for un-dumped and badly dumped ROMs for folks who may be in a position to update them. [René Single]
  • Expanded game list font control to go beyond the original 16 color choices allowing access to a greater UI customization (see last color on drop down list ‘custom’). [René Single]
  • Added wave output option to match the core. File menu / Play and Record Wave output. [Chris Kirmse]

v.84

  • Various internal treeview fixes [year / manufacturer] and cleanups. [Nathan Woods / René Single / Mamesick / Chris Kirmse]
  • Factored out list view handling into its own module, picker.c. Auto_malloc() now used and appears to result in a speed up of the GUI game list scrolling, however at the moment it does cause slight pauses moving from one ‘view’ to another. [Nathan Woods]
  • Added ability to display games in windowed mode without their titlebar caption. Not fully functioning w/ GCC compile. [René Single / John IV]

v.82

  • Brought game ‘not working’ status messages in-line with core [status bar, general properties, etc.] and rearranged status area on properties tab. [Mamesick]
  • Added sample folder view. [Mamesick]
  • Renamed Hard Disk folder view to CHD due to newly supported CD CHDs. [John IV / Nathan Woods]

v.81

  • Moved placement of bkground.png to \bkground folder instead of \snap folder. [René Single]
  • Fixed erroneous behaviour for Imperfect folder view. [René Single]
  • Corrected audio latency slider movement and setting past notch 4. [René Single]
  • Added customizable quit key [default Alt-Q] for the mappable keyboard solution option. [René Single]
  • Added new History.dat option to allow display under any or all of the art views in Options • Interface Options. [René Single]

v.79

  • Added an ‘Imperfect’ folder view on the left pane, this categorizes the various problems flagged in games. [René Single]
  • Reworked handling of the BIOS option, now that there are multiple drivers that support different BIOSes [neogeo.c, stv.c] the global setting is not appropriate. Select the driver from the source folder view on the left pane and change its BIOS settings, this will alter it for all games in that driver. The functionality remains the same for altering individual games settings in all games view or anywhere else. [René Single]
  • Added the ability to control the Mame32 GUI via mappable keyboard solutions. This feature is intended to compliment the GUI control via joystick option first offered in version .70 below. It is designed to allow users of Mame cabinets with keyboard encoders the same functionality and is controlled in the mame32ui.ini file [mapping the enter key to button 1 to launch a game for example], using the same syntax as the \ctrlr files. [Jarek Burczynski / Chris Kirmse]
  • Added support for the new core switches for lightgun modifications; reload to allow mapping reload to keys, and dual gun setups. [Chris Kirmse]
  • Added accelerator key for folder level ‘mini-audits’, Alt-U [René Single / John IV].
  • Added accelerator key support for scrolling up and down through history.dat text window. CTRL-Page Up / CTRL-Page Down. [René Single]
  • Added toggle in Grouped view to allow clones missing a parent to display non-indented. [René Single]
  • Added support for the core’s new save state loading on game start. [René Single]
  • Added support for the core’s new keyboard LED choices, USB or PS/2. [René Single]

v.78

  • Added the ability to do ‘mini-audits’ on each of the folders on the left pane. Secondary click on the folders to see audit as a choice. [René Single]
  • Changed behaviour of Mame32 when displaying games that have the protection not emulated flag, previously it would flag these games as non-working and display the warning.ico. Now warning.ico and non-working status will only occur if the game has the non-working flag attached in the driver. [René Single / Mamesick / John IV / Chris Kirmse]
  • Increased CPU and sound area on games’ properties page to accommodate 5 lines now that tceptor and tmnt utilise it. [René Single / Chris Kirmse]
  • Altered behaviour of properties titlebar on driver.ini to show the driver name instead of ‘folder’ properties. [René Single / Chris Kirmse]
  • No longer UPX compressing the Mame32 .exe. This saves 20 Megs when Mame32 is loaded into memory, will allow for better dynamic loading, and won’t trip off virus detectors that have trouble w/ UPX compression. As a result, Mame32.exe is now 20 Megs in size on the hard drive. The distribution package is also being changed and compressed with 7-Zip as a self-extracting archive, this actually makes the distribution package about 1 Meg smaller than previous releases. [John IV]
  • Switched default settings in Mame32 to disable auto frameskipping and to use draw every frame per discussion on MameDEV list. [John IV]
  • Added 48000 as a sample rate option, works well with modern soundcards and chips. [John IV]

v.77

  • Fulfilling the longstanding feature req. added the ability to globally alter vector.ini and driver.ini to match the core. Secondary click on the vector folder • properties in the folder pane to set options for that group of games. To alter global settings for game families, drill down into the source folder in the folder pane, and secondary click on a driver's properties i.e. 1942.c. This will change options for all games based on that driver. The different levels of alteration are color coded, vector.ini changes are red, driver.ini changes are green, and individual game settings are blue. Thus there is the possibility to have four color/levels of alterations when a game's individual properties are viewed in All Games or any folder. The changes can be backed out of hierarchically with reset to default on each respective properties, the reset to default global option, or by deleting the .ini files in the \ini directory. Note: Currently the color alterations do not display properly with XP in themed mode, but the functionality works [bug 462]. Coded solutions to this issue via DIFF are welcomed. [René Single / Chris Kirmse / John IV]

v.76

  • Added programmatically populated lightgun and multi-monitor folders. [René Single]
  • Added reset play count and play time for individual games, and globally. [Secondary click on game, & Options • Interface Options. [René Single]
  • Allowed filter propagation downward from parent folders, toggle this feature in Options • Interface Options. [René Single]
  • Changed behavior of vertical scrollbar in history pane, will not show if there is less text than available room. [René Single]
  • Extended game not working status support to show more flags in status bar and game properties. [René Single]
  • Added tool tip text to status bar if longer than displayable name is selected. [René Single]
  • Increased history.dat buffer to prevent cut-off and overflow. [René Single]
  • Re-implemented ability to show game's icon on title bar in windowed mode. [René Single]

v.72

  • Added the ability to scale the right side art pane contents upwards as the window size increases, toggle on Options • Interface Options. [René Single / Chris Kirmse]
  • Expanded the reach of the CTRL-F text filter, it can now act on name, driver name e.g. 'cps2.c', and manufacturer. This is a quick method for immediately seeing a driver family instead of drilling down through the source folder on the left. [René Single / Chris Kirmse]

v.71

  • Added the ability to selectively disable built in folder views on the left pane, secondary click in the window area for the dialogue box. [Chris Kirmse]
  • Added control panel art tab. [Chris Kirmse]
  • Fixed audit control overflow issue. [René Single]
  • Designed art tab state toggles to be more readable in mame32ui.ini. [Chris Kirmse]
  • Added the ability to have Mame32 automatically cycle the selected art views at an interval, in seconds. Accessible in Options • Interface Options. [René Single / Chris Kirmse]
  • Added the ability to track the amount of time spent playing each game in minutes and seconds. Displays in details or grouped view. Add the column in View • Customize fields. [René Single / Chris Kirmse]
  • Added the ability to view game's icon on title bar in windowed mode. [René Single / Chris Kirmse]

v.70.1

  • Removed saturate slider from D3D tab. [Chris Kirmse]
  • Fixed cleanstretch and prescale settings not holding. [Chris Kirmse]
  • Implemented BIOS selection on per game basis [only Neo Geo games currently] and allowed temporary global settings for BIOS via number. [Chris Kirmse]

v.70

  • Added art tab with only history.dat. If this tab is enabled and history.dat is present history text will no longer appear beneath the screenshot. [Tor Arne Vestbø / Chris Kirmse]
  • Added option to hide the mouse cursor on launch in full screen on Options • Interface Options. [Tor Arne Vestbø]
  • Addressed some long standing bugs dealing with icon decimation and windows title bar size, and details/grouped view not holding the column size on return from large icon view post-session restart. [René Single]
  • Added option to expand Mame32 to full screen kiosk mode without any windows controls [F11]. [Tor Arne Vestbø / Chris Kirmse]
  • Created new Berzerk homage about.bmp. [John IV]
  • Reworked drop down for D3D prescale effect, now allowing various levels of sharpness to be used. [Chris Kirmse]
  • Updated win32ui.c to pull certain information more appropriately out of layout.c. [Nathan Woods/MESS32]
  • Removed obsoleted version mismatch toggle. [Chris Kirmse]
  • Added a built in orientation folder view for displaying vertical and horizontal games. [René Single]
  • Added support for the new cleanstretch options. [Chris Kirmse]
  • Added ability to map joystick
     actions in mame32ui.ini to control GUI navigation instead of being hard
     coded:
Format: joystick_number, stick_type, axis_or_button, direction

#define JOYCODE_STICK_BTN 0
#define JOYCODE_STICK_AXIS 1
#define JOYCODE_STICK_POV 2
#define JOYCODE_DIR_BTN 0
#define JOYCODE_DIR_NEG 1
#define JOYCODE_DIR_POS 2

So, pressing button 3 on joystick one would be: 1,0,3,0

ui_joy_up 1,1,2,1
ui_joy_down 1,1,2,2
ui_joy_left 1,1,1,1
ui_joy_right 1,1,1,2
ui_joy_start 1,0,1,0
ui_joy_pgup 2,1,2,1
ui_joy_pgdwn 2,1,2,2
ui_joy_home 0,0,0,0
ui_joy_end 0,0,0,0
ui_joy_ss_change 2,0,3,0
ui_joy_history_up 2,0,4,0
ui_joy_history_down 2,0,1,0
ui_joy_exec 0,0,0,0

For stick type POV there are no directions, only four axes (0-3) [Tor Arne Vestbø]

v.69

  • Added support for the new D3D filter and effects options in Options • Default Game Options • Direct3D, see help menu contents for further descriptions of the new features. [John IV / Chris Kirmse]
  • Added support for the new core toggle -bios to allow selection of the various supported Neo Geo BIOSes. [Chris Kirmse]

v.68

  • Added code to allow clicking anywhere in the screenshot window to toggle the art views. No longer necessary to click directly on the default image. [K&K]
  • Added code to allow disabling / toggling individual art views on the view menu and the context menu of the art window. [Chris Kirmse]
  • Added support for the new core D3D items, accessible on the Options • Default Game Options • Direct3D. [Chris Kirmse]
  • Added support for the new core audio latency settings. [Chris Kirmse]

v.67

  • Re-worked the rotation options to a drop down, and included the new switches for auto-clockwise / auto-anti-clockwise for pivot monitors. [Chris Kirmse]

v.66

  • Moved towards an *.ini based settings storage scheme to more closely match the Mame.exe core, individual game *.inis whose settings are altered are stored in the \ini directory. The Mame32 GUI settings are stored in Mame32ui.ini in the root w/ Mame32.exe, and Mame32.ini is stored in the \ini directory and should be interchangeable with a regular Mame.ini. Purge these two items to return to baseline, the registry is no longer used for Mame32. [Chris Kirmse]
  • Provided an additional 'migration' version of Mame32 which will copy the contents of the registry key and write it out to the new *.ini scheme when exiting. Useful for people who have a large number of individual game customizations. [John IV / Chris Kirmse]
  • Added toggle for high thread priority in Options • Interface Options to match the core's new -high_priority switch. This will devote more system resources and time to Mame32 at the expense of other already running programs. [Chris Kirmse]

v.65

  • Updated columnedit.c to allow for MESS32 usage in software view. [Nathan Woods/MESS32]
  • Reworked F5/refresh routines to utilise more audit code and logic. [Chris Kirmse]
  • Reworked -lightgun handling, enabling independently selectable mouse control for those games. [Chris Kirmse]
  • Custom icons are included in the distribution \icons directory to show what the control/tree icons are without having to go through the source. [John IV]

v.63.1

  • Fixed analogue dead-zone not being maintained, and pre-0.63 timing not being maintained. [Chris Kirmse]
  • Added folder view for hard drive based games. [Chris Kirmse]
  • Addressed missing/blank custom icon display indexing issue on F5/refresh. [Chris Kirmse]
  • Sped up Mame32 launch / folder reading routine. [Chris Kirmse]
  • Fixed screenshot area decimation when resizing images larger than the viewable area. [John IV / Chris Kirmse]
  • Added additional help topic IDs and tool tips. [Chris Kirmse]

v.63

  • Added code to ROM loading dialogue to visually indicate user intervention when the game being launched may not work due to 'no good dump' this will match the baseline Mame [press ok to continue]. Examples include the game Astyanax, 64th Street etc. [Chris Kirmse]
  • Return to baseline non-I686 compile as it prevented Mame32 working on a variety of machines. [John IV]
  • Made numerous code changes to allow Mame32 to be compiled with the new MinGW 2.0 package. [Chris Kirmse / Mike Haaland]
  • Distribution compiles are now done using above mentioned MinGW 2.0 package. [John IV]
  • Added code to allow for a tool tip to appear showing the full name of a game whose description is cut-off by column width in details/grouped view. Hover cursor over game to activate. [Andrew Kirmse / Chris Kirmse]
  • The default \folders\Favorites.ini has been cleaned out. Now that it is easy to drag and drop or secondary click to add games from the main list to the custom folders, it no longer needs to serve as an example using personal favorites. Be sure to backup existing \folders\Favorites.ini if using the built in installer version of the Mame32 distribution. [John IV]
  • Tweaked code for drag & drop of games into custom folders. In a custom folder to drag an item out for deletion, it must go out of the game list pane either left, right, up, or down beneath the last item in the pane or further out of the GUI. [Chris Kirmse]
  • Reworked internal file handling code to interface with Aaron's substantial core updates. [Chris Kirmse]
  • Submitted code suggestion to allow for more granular sorting and display of items in the Manufacturers view, so companies will no longer be grouped with others incorrectly. [René Single]
  • Created new main icon and about.bmp 'Ladybug Homage'. [John IV]
  • Fixed ascending/descending toggle via View • Arrange Icons for columns other than Game. Added some logic to the -listsourcefile column display. Prevented color depth and refresh rate settings from being displayed if games are played in windowed mode. [René Single / Chris Kirmse]
  • Made Misc. art option gray properly when its parent control was deselected. [Chris Kirmse]
  • Submitted code to clean up some issues with the list and small icons view and icons squishing in details view upon return from another view like large icons. [René Single / Chris Kirmse]
  • Upgraded Mame32 to utilize the new common controls from Windows XP, allowing the proper look of an XP application without the need for an external manifest file. [Chris Kirmse]
  • Added ability to rename custom folders from the tree view, secondary click on them and choose rename folder from the context menu, or click the name of the folder three times quickly. [Chris Kirmse]
  • Added the 'Source' folder view, this will display all the driver.c files and all the games within each family. [Mike Haaland]
  • Removed the \folders\BIOS.ini as it is now obviated by the built-in Source folder view. [John IV]
  • Added -sourcefileinfo information to the general tab for each games' properties, to easily and quickly see what driver family a game belongs to. [Chris Kirmse]
  • Added the long requested clone offset aka 'Grouped' view. This will display the parent games flush left, with all their clones alphabetized beneath them indented inward. Excellent for grouping the clones whose names may be considerably different than their parents, and allowing typing the name of the game to go to the parent set immediately. [John IV / Chris Kirmse]
  • Reworked the Startup Options to now be Interface Options, and added checkboxes to support Aaron's new disclaimer / info screen toggle. [Chris Kirmse]
  • Added new switches -rdtsc / -pause_brightness to match the core. [Chris Kirmse]

v.62

  • Internalized the code for rotate.exe, Mame32 can now choose its background images from Options • Background Image, and choose a random one on startup. Options • Startup Options • Select Random Background Image. [K&K]
  • Added tabs for the screenshot art area, toggle with Alt-b. [K&K]
  • Added code to increase speed of audit. [K&K]
  • Added secondary click menu pop-up for screenshot area. [Sword]
  • Allowed bkground.png to be displayed in history.dat area under screenshot, font color changed to match GUI font color. [K&K]
  • Created new icons for the various tabs in Default Options / Game Properties dialogue boxes. [John IV]
  • Updated the ColumnEdit and Properties code to make them both more extensible. [Nathan Woods/MESS32]
  • Included index fixes to speed load time in treeview.c, particularly with extra \folders *.inis. [Jeff Miller]
  • Fixed an issue where the startup focus in the details list would jump to the top of the list before returning to the prior selection. [Chris Kirmse]
  • Main distribution now compiled with I686=1 for Pentium Pro optimization. Doesn't impact high end AMD chips at all but provides speed increases to lower range PII, P3 machines. [John IV]
  • Created new *.ini files for the \folders directory. Replace the old ones with these (except any user-modified of course). [John IV]
  • Created a new Mame32 MSI installer package. This should be easier for beginners. [John IV]
  • Added the ability to drag and drop games into the custom *.ini folders. [Chris Kirmse]
  • Added the ability to secondary click on a game to add or remove it from an *.ini file in the \folders directory. [Patrick Jones / Chris Kirmse]

v.61

  • Fixed a nasty crasher where Mame32 would hang if loading a game that required user intervention in Mame[w] like 'The Astyanax', and there was no joystick connected to the system. [Sword]
  • Fixed a couple of fringe case crashers when Windows is shut down beneath Mame32, i.e. a cabinet setting. [Robert John Sheppard]
  • Removed -dirty / -nodirty options to match Aaron's core changes. [John IV]
  • Added dialogue box support for new artwork switches, added -ini support to Options • Directories. [Mike Haaland]
  • Added dialogue box support for LED disablement, artwork resolution. [Mike Haaland]
  • Added brightness slider, removed -bpp per Aaron's changes. [Mike Haaland]
  • Added sound chip and CPU information to the folder views. Added the long requested feature to create user defined folder views, see \folders files for examples. [Sword, BUT, Emuman / Mike Haaland]
  • Created Artwork, BIOS, and Custom folder views. [John IV]
  • Added support for displaying -listsourcefile [source] field to the View • Customize Fields. Handy for sorting to test global driver changes across all its games., or using to report game problems to MameTesters.com. [Mike Haaland]
  • Created new Version and Classification folder views. [John IV]
  • Added support for the new -lightgun switch. [John IV]
  • Removed 'add to favorites' from context menus and file menu since it is now possible/preferable to have favorites stored in the portable, user-defined, external text file [\folders]. Which also of course would survive a registry key purge. Times played is still accessible as a column in details view. [John IV]
  • Updated help file with new settings, added baseline Mame[w] documents to help file. [John IV]
  • Added \titles directory support to allow for title screenshots viewing. [John IV]
  • Created new Mame32 icon and About graphic. [John IV]

v.60

  • Created and added the new Mame32 HTML Help File. [John IV]
  • Updated context sensitive help support to Mame32, all controls should be mapped to pop-up help. [Mike Haaland]
  • Added 'Use less CPU if possible' check box in Options • Default Options • Miscellaneous. This toggles the new baseline Mame[w] sleep / -nosleep switch. If toggled on, it will return more time slices to the processor and be more amenable to multi-tasking with other applications. If toggled off, Mame32 will continue to take 100% of the CPU time as it has historically. It should be toggled 'off' for people experiencing severe slowdowns, particularly laptop users. [John IV / Mike Haaland]
  • Added option to set the directory for hard drive image diff files to match Mame[w] in Options • Directories. Fixed screenshot area decimation when image sized too large for area. Scales properly now and looks great. Fixed flip options. [Sword]
  • Added option to set the directory for icons in Options • Directories. [John IV]
  • Added support for new external controller mapping. This adds support for common arcade controllers and provides the ability to create user defined mappings for home built solutions. See Options • Default Options • Controllers. Also see the controller mapping document in the Mame Documents help section. [Ron Fries]

v.59

  • Added 'Allow game selection by joystick' check box to Startup Options. Allows navigation and game launch via controller:
    joystick 1 up = up arrow
    joystick 1 down = down arrow
    joystick 1 left = left arrow
    joystick 1 right = right arrow
    joystick 1 button 1 = play game
    joystick 1 button 2 = page up
    joystick 1 button 5 = page down
    joystick 1 button 3 = end
    joystick 1 button 6 = home. [Chris Kirmse]
  • Fixed a few files to allow a MinGW compile without errors. [Sword]
  • Added 'Broadcast selected game to all windows' check box in Startup Options, this allows third party applications to be programmatically told what game is being played in Mame32. It can be used to hook into applications like LED reader boards, or instant message clients, etc. [Chris Kirmse]

2006-04-19 01:51 PM -0700/ john iv


Mame32 System Requirements

System Requirements

Mame32 runs on Microsoft Windows 98SE, Windows ME, Windows 2000, Windows XP, Windows 2003 Server, and Windows Vista.

Because of the wide range of arcade hardware supported by Mame32, system requirements vary considerably. The more complex the original arcade hardware, the more CPU power is needed to emulate it. Mame strives for accuracy in its emulation; as such, over time, the performance point shifts as the underlying engine has been reworked and refined. Early games now require a bit more PC processing power to run than they did in earlier versions of Mame. This is typically not a great concern as modern PCs can run these early games easily at thousands of times their original speed. More recent games can often take upwards of 512M of memory, and AMD Athlon / Pentium 4 chips to emulate at 100% speed with effects. For those wishing to upgrade their systems; Mame32 benefits most from adding more CPU power, then memory and upgraded video card.

Currently there are games supported in Mame32 which are not playable at full frame rate on today's PC hardware. Many of these are mid to late 90's and beyond advanced 3D games which Mame32 renders in software for accuracy sake. It is estimated that approximately 10-20GHz machines would be necessary to run them. As of Mame32 version .104.2 there are about 167 games out of 6031 that fall into this unplayable due to high emulation demands category.

2006-02-17 10:36 PM -0800 / john iv


Mame32 Download Locations

Download Locations

The official site for Mame32 downloads:

The Mame32 QA/Test and Art Dept.

2003-10-17 08:17 PM -0700 / john iv


Mame32 Installation Procedures

Install Procedures

To Install Mame32 Manually

* Download the latest Mame32 distribution [not the source] self-extracting archive available at Mame32QA.

* Double-click the self-extracting archive .exe, and point the directory install location to the root of the c:\ drive, or just type in the box "c:\" [no quotes]. This will create a c:\mame32 directory with the program and all its support files within it, looking like the figure at the bottom of this page.

* Mame32 requires ROMs to play games; if you attempt to play a game the ROMs of which are not present it will fail and list the files missing. Download the freely available public domain ROMs [Robby Roto, Gridlee, and Alien Arena] from Mamedev.org. Place these files still zipped, into the \mame32\ROMs folder. Do not unzip them.

* Some early games require sampled sounds [Space Invaders, Donkey Kong, etc.] due to their sound hardware, these are available at Mame.net. If a game requires samples it will show on the game's property tab [alt-enter]. Place the sample files as zip files into the \mame32\samples folder. Do not unzip them.

* Double-click the Mame32 icon to launch the program. Mame32 will go through its initial diagnostics and search for available games in the c:\mame32\ROMs directory, and then display the GUI.

* These are the bare-boned instructions for getting started with Mame32. To enhance the look and feel of Mame32 with icons, screenshots, flyers, cabinets, and background art, proceed to : Art and Support Files. To being playing a game, proceed to the gameplay section.

2006-04-23 04:04 PM -0700 / john iv


Mame32 Art & Support Files

Art & Support Files

Mame32's flexible GUI framework allows for some beautiful customization; including font color, icons, screenshot art, and background images. The official site for these files is Mame32QA. The following files are used for this customization.

* Icons.zip : This file contains icons for every game in Mame32 and the folder view on the far left. Place it in the \mame32\icons folder, it can remain zipped to save slack HD space but the zip file must be named icons.zip.

* Snap.zip : These are a series of files that contain in-game screenshots of every parent game in Mame32. Download the packs and extract their contents into the \mame32\snap directory or combine their *.png contents into one large snap.zip file.

* Titles.zip : This file can provide support for screenshots showing the titles of the game in Mame32, place in \titles directory.

* Marquees.zip : This file can provide support for the marquee images that appear on the top of arcade machines, place in \marquees directory..

* Cpanel.zip : This file can provide support for the images of arcade control panels, place in \cpanel directory..

* Bkground.zip : This file contains numerous images that are used as the background for the Mame32 GUI [beneath the game list, behind the screenshot/folder areas]. Download this file and extract its contents into the \mame32\bkground directory. Choose a background image in the Options menu. To have it rotated randomly on Mame32 launch, toggle the checkbox in the Options • Interface Options menu.

* Flyers.zip : This file can provide support for the original flyers sent to arcade operators, exhorting them to buy the games, place in \flyers directory.

* Cabinets.zip : These are a series of files that contain images of the actual physical arcade machines themselves. Download the packs and extract their contents into the \mame32\cabinets directory or combine their *.png contents into one large cabinets.zip.

* History.dat : This file contains the original game’s designer’s names, and assorted trivia. Place this file in the \mame32 folder alongside Mame32.exe. It will display if the history art tab is toggled, or if the history tab is not selected, it will display beneath snapshots.

* Hiscore.dat : This file facilitates the creation of hi-scores in a large number of Mame32 games. This file is needed if the original arcade game did not maintain its hi-score table after being reset or turned off. Note that this file is an externally supported database, not every candidate game is supported in it. Place this file in \mame32 alongside Mame32.exe and verify that a \hi directory exists. This file must be used to get hi scores in most early games.

2006-01-13 09:50 AM -0800 / john iv


Mame32 Settings

Suggested Mame32 Default Settings

* Advanced / switch resolution to fit and switch color depth to fit should be off. This allows Mame32 to run at the Windows desktop resolution and prevents mode switching on monitors. It also prevents monitor 'out of range, or 'out of frequency' messages if Mame32 tries to use a video mode it doesn't support.

* Advanced / Aspect Ratio should be set to: 1024x768 = 4:3, 1280x1024=5:4, 1600x1200=4:3, 1920x1200=16:10.

* Advanced / Triple Buffering ensures there should be no 'tearing' of screen images if the frame rate doesn't exactly match the monitor screen refresh. Particularly evident in vertical scrolling games.

* Miscellaneous / RDTSC timing behaves differently on different systems. On many modern CPUs and laptops it's better to disable this otherwise there are sound desyncs and scratchy effects. However on earlier systems it's preferable to have it toggled on.

* Controller / Default input layout and digital joystick axes will be different for each system depending on controller hardware connected. In this example the Mame32QA and XBox 360 controllers are noted.

2006-01-13 11:25 AM -0800 / john iv


Mame32 Playing a Game & Internal Controls

Playing a Game & Internal Controls

* Once a game has been selected and double-clicked, Mame32 will produce two information screens and then it will run the game. Since Mame32 is emulating the original hardware, the software thinks it’s still in an arcade and is starting up for the first time in the morning. Initial diagnostic screens are run through, as well as possibly some accounting information presented to the arcade owner.

* The game should now be running its demo/attract mode. Insert a coin with the [5] key on the keyboard, the mappings for coin inserts are: player 1 [5], player 2 [6], player 3 [7], player 4 [8]. Now that a coin has been inserted, start the game with the [1] key on the keyboard. Game start mappings are player 1 [1], player 2 [2], player 3 [3], player 4 [4].

* Mame32’s default control scheme is to use the inverted T arrow keys on the keyboard for directional controls, and the left [CTRL] key as the primary action button.

* While in a game within Mame32, the internal configuration menu system can be activated by pressing the [TAB] key. This will bring up the control options. These options allow remapping Mame32 controls to whatever keys are desired. The Input (general) area controls the global settings, and the Input (this game) are the controls for the game selected. To change the mapping, select the control to change by arrowing down to it, hit the [ENTER] key and then the new desired control. Hit the [ESC] key to exit the [TAB] menu back to the game.

* Other keys of interest while playing a game are :

[TAB] key to bring up the internal menu system.

[~ TILDE] the onscreen display.

[Shift-p] advance paused screen one frame at a time
[p] for the pause button.

[F3] resets the game.

[F4] displays the game’s color palette.

[Shift-F7] save current game state [a-z, 1-0] (See save state folder view for supported games)

[F7] load game state [a-z, 1-0] (See save state folder view on left for supported games)

[F9] changes the frameskip on the fly.

[F10] toggles throttling.

[F11] toggles the FPS display.
[Shift-F12] toggles MNG recording, once starts, second finishes.

[F12] takes a *.png snapshot of the game and places it in the \mame32\snap directory.

[ESC] exits from the game back to the Mame32 GUI.

[Left-Alt + Enter] toggle from fullscreen mode to windowed mode.

2005-11-21 08:26 PM -0800 / john iv


Mame32 Toolbar / Status Bar / Windows

The Mame32 toolbar extends the width of the application at the top and can be toggled on by using the View • Toolbar menu item, or the Alt-T keyboard shortcut. The buttons on the toolbar from left to right are : toggle folder list, toggle screenshot, large icons view, small icons view, list view, details view, help about, and help file. Click the items to toggle them on or off.

The Mame32 status bar extends the width of the application at the bottom and can be toggled on by using the View • Status Bar menu item, or the Alt-S keyboard shortcut. The status bar indicates the full name of the game highlighted, and gives its internal status flag as to whether it’s working or if there are some issues with the emulation. The status bar also indicates the game count for the particular view used.

Mame32 can be divided into three windowed sections:

The first section on the far left is the folder view, toggled on by using the View • Folder List menu item, or the Alt-D keyboard shortcut. This contains a tree style list that expands for certain items like year, manufacturer, and custom. By selecting one of these items, Mame32 will display the games that meet that criterion. For example: selecting year / 1978, Mame32 will display all the supported games manufactured in 1978.

  • Mame32 will display user created folders based on *.ini files located in the \mame32\folders directory. See files in that location for examples. This location also houses the favorites.ini, where favorite games can be added to the text file and easily moved to other computers.

  • Mame32 supports dragging and dropping games from the middle section game list into a custom folder in the left pane. Mame32 supports the same procedure by secondary clicking on the game in the game list and choosing the 'add to custom folder' option.

  • Mame32 also supports secondary clicking on a custom folder and renaming it, editing the custom folder name can also be accomplished by clicking the name of the folder three times quickly.

  • Secondary clicking on any of the folders also allows selectively displaying or hiding them in the tree.

  • Secondary clicking the vector folders and the \source\gamedriver folder allows for customizing away from default the games in that folder. Secondary click on the vector folder • properties in the folder pane to set options for that group of games. To alter global settings for game families, drill down into the source folder in the folder pane, and secondary click on a driver's properties i.e. 1942.c. This will change options for all games based on that driver. The different levels of alteration are color coded, vector.ini changes are red, driver.ini changes are green, and individual game settings are blue. Thus there is the possibility to have four color/levels of alterations when a game's individual properties are viewed in All Games or any folder. The changes can be backed out of hierarchically with reset to default on each respective properties, or by deleting the .ini files in the \ini directory.

The second, middle section of Mame32 is the game list, always toggled on. This is where Mame32 lists all of the games chosen in the left folder view. Mame32 has the option to display the games as large icons, small icons, a list icons view, or details. Choosing details allows Mame32 to display, in columnar mode, the game name as well as additional informational fields, chosen in the View • Customize Fields menu item.

The third section, on the far right, is the screenshot/art area, toggled on by using the View • Screenshot menu item, or the Alt-P keyboard shortcut. This area of the GUI will display the optional artwork for each game selected, the artwork modes are toggled through by clicking on the picture area. The modes are: screenshot, flyer, cabinet, marquees, title shots, control panels, and history. Alt-B will toggle the screenshot tabs which give a visual selection method besides clicking the artwork area. Secondary clicking on the screenshot area will also bring up a shortcut dialogue with the file types available and allow toggling on or off individual tabs. The area under the screenshot mode will also display the history.dat information if that file is present [it will not display in the screenshot area if the history tab is enabled]. Each of the tabs can be navigated to by their accelerator keys, Alt-1, Alt-2, Alt-3, etc. Further information about these files is in Art and Support Files.

2003-10-23 12:15 PM -0700 / john iv


Mame32 File Menu

File Menu

* Play Game : Selecting this option from the file menu will launch the highlighted game.

* Play and Record Input : Selecting this option from the file menu will allow for the creation of an *.inp file which will allow Mame32 to record keystrokes in the game being played for playback later. Similar to a VCR.

* Playback Input : Selecting this option from the file menu will allow the loading and playing of a previously recorded *.inp file.

* Play and Record Wave Output : Selecting this option from the file menu will allow the recording of a sound file while playing a game. The *.wav file is placed in the \inp directory by default.

* Load Savestate : Selecting this option from the file menu will allow the loading and playing of a previously saved machine state, the state being loaded must match the highlighted game.

* Select Random Game : Selecting this option from the file menu will cause Mame32 to randomly highlight a game in the game list shortcut key is Ctrl-R.

* Properties : Selecting this option from the file menu will display the highlighted game’s individual settings, these settings over-ride those made to all games in the Options • Default Options menu item.

* Audit All Games : Selecting this option from the file menu will initiate an exhaustive check on the available games, verifying them to Mame32’s expected results.

* Exit : Selecting this option from the file menu will exit the program.

2004-07-12 10:25 AM -0700 / john iv


Mame32 Properties

Default Options & Game Properties

The default options and game properties tabs of Mame32 are used to set the vast majority of game play parameters. The Game Properties dialogue box, accessible from the File • Properties menu item, shares all the tabs of the Default Options dialogue box, accessible from the Options • Default Options menu item. The Game Properties dialogue contains two additional tabs which give information on the game selected, and its current audited state.

* General Tab : [only available in Game Properties dialogue] This tab provides information on the game selected, this information includes manufacturer name and date, driver status, original CPU, original sound hardware, original screen resolution and orientation, and number of colors.

* Audit Tab : [only available in the Game Properties dialogue] This tab performs a ‘mini-audit’ on the game selected, determining its status compared to what Mame32 expects. Status will be reported and missing files with CRC information will appear in the details view.

* Display Tab : This tab allows the setting of numerous video options.

Run in a window : Mame32 will launch the game selected in a window on the desktop, the window can be resized by pausing the emulation and dragging the borders. The resolution of the window can also be set in the Advanced tab.

Start out maximized : Toggling this option on ensures that when windowed mode is used, the maximum amount of space is used. Toggle this option off to play the smallest version of the windowed game.

Enforce aspect ratio : This option is used in conjunction with windowed mode, it forces the aspect ratio to be maintained when the game is paused and the window is dragged and resized. Turn this off to create long, thin game windows, or short fat, etc.

Throttle : This option prevents Mame32 from running games as fast as the host CPU can go. Unless this is toggled on, a modern x86 processor will run Donkey Kong at a thousand times its original speed.

Clean Stretch : These options will stretch the game upwards keeping its original aspect ratio and not convert to 4:3 or 3:4, optionally using the vertical or horizontal axis, resulting in different sizes w/ auto resolutions.

Zoom : Default is usually fine at 2 this slider is used in conjunction with the 'auto' resolution selection and is not used if a set resolution is used. It attempts to find the smallest video mode for a sized game and sizes the effects applied to the image accordingly.

Rotation : This drop down box allows Mame32 to rotate the video output by 90 degrees in either direction. This setting is useful if used in conjunction with a pivoting monitor [the auto options], or playing games with a monitor on its side. Doing so allows vertical orientated games to be played full screen. The additional 'auto clockwise' and 'auto anti-clockwise' settings are particularly useful for rotating LCD monitors, these settings will force vertical games to one 90 degree angle or the other depending on which way the LCD pivots.
Screen : This drop down box allows users to choose the display that Mame32 will output to, assuming the presence of multiple monitors in a dual/triple-head setup. Note: It does not allow multi-screen games like Punch Out to be played across multiple monitors.

Flip screen upside down : This option mirrors the image vertically.

Flip screen left right : This option mirrors the image horizontally.

Effects : This option allows Mame32 to use DirectDraw [not D3D] to attempt to simulate more closely the look of the original hardware’s monitors, which were much lower resolution devices than modern computer monitors. The scanlines check box can be toggled on only when hardware stretching is disabled. Horizontal scanlines can impose an additional speed penalty in games played, and RGB effects impose an even greater speed hit, upwards of 40%.

Gamma correction : This option controls the global gamma correction in a game and can result in much brighter video output if moved to the higher setting. A high gamma setting is particularly helpful when playing vector based games. Same setting available using the tilde menu [~] in-game.

Brightness correction : This option controls the global brightness in a game at the palette level in Mame32 and works with 99% of the games, [does not for those that go directly to RGB]. Same setting available using the tilde menu [~] in-game.

Pause Brightness : This option controls the screen brightness when a game is paused.

* Advanced Tab : This tab allows the setting of numerous video options.

Use DirectDraw : This option controls whether or not Mame32 utilizes the DirectDraw component of DirectX with the video card. Toggling this option off precludes the use of all other check boxes in the area.

Triple buffering : This option controls how Mame32 draws to the screen, if toggled on, it will draw to three buffers and cycle between them. This setting when toggled on can also help alleviate tearing that sometimes occurs in some scrolling games.

Match game refresh rate : This option tells Mame32 to attempt to force the output monitor to match the refresh rate of the selected game’s original video hardware. The majority of games in Mame32 are 60Hz, using this option and triple buffering will produce smooth scrolling in those games.

Sync to monitor refresh : This option tells Mame32 to ignore the original game’s refresh rate and sync it to the output monitor’s current rate. This can cause the game to run too fast if the output monitor is using 85Hz for example..

Wait for vertical sync : This option tells Mame32 to wait for the refresh period on the output monitor to finish before starting to draw video to the screen.

Stretch using hardware : This option allows Mame32 to utilize the stretching abilities of the video card. Most modern video cards allow this, some do not. If this option is grayed out, the video card does not support it, or it is necessary to switch to 16bpp or 32bpp. Mame32 will stretch the original game’s resolution to the nearest 4:3 ratio and output that to the screen. Most video cards perform this stretch and provide a filtering effect which can make the output appear muddy, or blurry. Use one of the graphic effects on the Display tab to counteract this blurriness, particularly the RGB sharp effect. This stretching option uses DirectDraw; for potentially faster display, modern video cards may utilise the Direct3D stretching on the Dircect3D tab.

Switch resolutions to fit : This option when used in conjunction with the resolution settings allows Mame32 to resize the game output to the dimensions specified. If not toggled on, Mame32 will draw the game to the current desktop size and settings.

Switch color depths to fit : This option when used in conjunction with the resolution settings allows Mame32 to switch to the game’s requested color depth. If not toggled on, Mame32 will draw the game to the current desktop color depth.

Full screen brightness : This option allows Mame32 to change its full screen brightness. Some cards alter the brightness/gamma when they go into full screen mode, this allows the counteracting it.

Aspect ratio : This option allows Mame32 to change its stretched to aspect ratio, default value is 4:3.

Resolution : These settings allow Mame32 to use resolutions defined by the systems DirectX video modes, color depths, and refresh rates.

Frame skipping : These settings allow Mame32 to skip frames of animation when playing games, if the host CPU is not fast enough to run the game.

* D3D Tab : This tab allows the setting of Direct3D hardware supported video options.

Use Direct3D : This option controls whether or not Mame32 utilizes the Direct3D functions of DirectX. It will override the DirectDraw setting on the Advanced tab, and assumes the use of hardware stretch. Results will vary on individual hardware configurations, but the D3D effects may be faster than their DirectDraw counterparts on modern video cards.

Texture Management : This option allows the video cards' hardware / driver combo to deal with the display more directly and potentially more intelligently than the Mame code. The default setting is on and is appropriate for most modern video cards. If seeing slowdown in games with the D3D effects and filters on, toggle this option to see if speed increases.

Pre-scale Image : This setting should be used in conjunction with filtering = bilinear or any setting except point filtering. It acts the same way its DirectDraw counterpart 'effect sharp' does, its sharpness level is between pure bilinear filtering and point [no] filtering and can sharpen, slightly, effects used above with non-Point filter selections. The drop down choices allow the selection of the level of sharpness, from the lower blurrier to higher sharpness. The closer to 8 the closer to point filtering.

Rotate Effects : Normally the effects are rotated based on game orientation, toggling this option off will allow horizontal scan lines in vertical games for example.

Filtering : This option allows selecting the filtering method used on the stretched D3D image. Selecting Point filtering will stretch the image and not filter/blur it at all. Bilinear filtering is the default and usually the fastest on most video cards. The other options will affect speed of emulation based on the video card / driver combo used and the maturity of the cards' feature set.

Effect : This drop down contains various 'mask effects' to be used with the Direct3D setting. They each attempt to simulate the display of the game running on an arcade monitor to varying degrees. These settings may be used in conjunction with the filtering options above. If filtering = Point, the screen will be brighter as no blurring will take place. Some suggested effect combos:
1. filtering = None + effect = Aperture grille
2. filtering = Bilinear + effect = Aperture grille + Pre-scale = full
3. filtering = Bilinear + effect = Dot medium mask
4. filtering = Bilinear + effect = RGB 4 pixel triad
Note that some of these effects will do integer stretches on the aspect ratio corrected image as far as possible for the set resolution, this means effects like 'auto', 'aperture grille', 'scan lines' will not stretch to the entire screen. The various RGB/Dot/Mask/None effects will however stretch to the full screen.

Effect Overrides : Scan lines allows manually setting the scan lines intensity and overrides the scan 25/50/75 presets in the effects pull down. Feedback simulates the ghosting effect in games showing a variable phosphor trail. Saturate increases the color 'bleed over' factor.

* Sound Tab : This tab allows for setting the sound options.

Enable sound and sound CPUs : This setting toggles sound on or off in games.

Use samples : This setting allows Mame32 to utilize samples for games which do not have their sound hardware emulated, or were using analogue circuitry.

Sample Rate : This setting tells Mame32 at what rate to output sound, the higher, the better. Lowering this setting can also result in faster performance on lower end machines.

Volume attenuation : This setting allows Mame32 to set the initial volume level, the default is 0dB.

Audio latency : This slider allows the adjustment of the amount of latency built into the audio streaming. Increasing the slider to the right on faster machines can help alleviate some desync and scratchiness in the sound on some configurations.

* Controllers Tab : This tab allows for setting the game controller options.

Enable joystick input : This setting tells Mame32 to utilize any currently connected joysticks. Mame32 will interrogate the game controllers control panel and use ID#1 and up.

Analog joystick deadzone : This setting controls how Mame32 translates analog input to games that require digital input.

Enable mouse input : This setting tells Mame32 to utilize the mouse in games that require analogue control methods. This is an old legacy switch and shouldn't be used. Use the controller mappings tab to map the analogue games to a mouse.

Enable lightgun input : This setting tells Mame32 to utilize a lightgun for target/shooting games that require analogue control, like Crossbow, Police Trainer, Rev X, etc.

Enable steadykey support : This option tells Mame32 to use a different keyboard handling that makes it easier to register simultaneous key presses for games that require it for special moves [Street Fighter II, etc.]. However it can produce more sluggish results in other games.

Default input layout : This drop down menu allows Mame32 to choose between multiple key mappings, including keyboard mapping for various third-party control panels. It will also display user defined controller mappings, if created in the \ctrlr directory.
Use LEDs as game indicators : This setting if toggled allows Mame32 to utilize the LEDs on the keyboard to match some of the in-game light flashing, seen during braking in Outrun for example, and coin/credit indicators, the drop down allows the choice of PS/2 or USB keyboard.
Digital Joystick Axes : This section allows the user to indicate which axes on the game controller in use are digital. Check the box for digital, leave blank for analogue. Viewing the controller in the Windows Control Panel / Game Controllers / Properties will also help identify the axes. These toggles help Mame32 determine how to more effectively map its analogue controls, bypassing the checked digital items. Note: the controller must support both digital and analogue controls at the same time for this to be effective. Some like the Saitek gamepad series have a toggle button on them to go between all direction controls as digital and all analogue which defeats the purpose of this option in Mame32.

* Controller Mapping Tab : This tab allows choosing which analogue device connected to the system for Mame32 to map a game's internal analogue controls to. These options should be used in lieu of the global 'mouse' setting which can conflict with attached joysticks/gamepads.

* Miscellaneous Tab : This tab allows for setting additional options.

Use additional game artwork : This setting if toggled on allows Mame32 to utilize the external artwork packages available at Mame.net for display in games like Armor Attack, Discs of Tron, Lunar Lander, Warrior, etc. The artwork packages are placed in the \artwork directory. Each element of the artwork package can be toggled: bezel, overlay, and background.

Crop Artwork : Selecting the crop artwork toggle will shrink the scene down to the games original dimensions, cropping any available art pieces.

Artwork resolution : This setting allows selecting normal and higher resolution versions of the artwork, the high setting scales the game graphics to match the higher art resolution, best seen in Night Driver and Space Invaders.

BIOS : This drop down allows the use of a variety of different supported NeoGeo or Sega BIOS files. The option will only be available when altering the driver family via the source folder view on the left pane, or individual games in the driver family.
Skip game info / validity checks : If these options are on, Mame32 will immediately launch a game without information screens. However screens regarding problems in the drivers will still be shown [missing sound, unemulated protection, problems with video etc.]. By skipping validity checks Mame32 will enter the game faster once it has loaded because it is not checking DIP switches and other debug specific items.
Priority slider : Increasing the Windows thread priority for Mame32 giving it more CPU and resources slices, can negatively impact other running processes. Using setting 1 sets it to real-time which interferes with keyboard and joystick controls as well as other running apps. Setting 1 is not recommended as a result. Some Dells and other laptop computers may find the need to set the slider to -15 to get keyboard control working properly.
Enable game cheats : This setting if toggled on allows Mame32 to use some cheats that are present in games like Defender and Battlezone to make control easier. It also allows for the use of an external cheat.dat file which can be used to cheat illegally in games in a variety of ways, including infinite lives, level jumping, etc.

Sleep when possible : This setting if toggled on allows Mame32 to be more multitasking friendly in that it does not use as much processor time. If this setting is toggled off Mame32 will utilize 100% of the CPU for playing games. Some machines slow down dramatically if this setting is toggled on, particularly laptops. This maps to the -sleep option in Mame.

Use RDTSC timing system : This setting if toggled on uses RDTSC over QueryPerformanceCounter for timing. Check this for desktop systems, and toggle it off for laptops or possibly older K6/7 level machines. This should be turned off also if using any power stepping technology like AMD's Cool n' Quiet.
Save game state on exit : This toggle will allow Mame32 to automatically save the current machine state when the game is exited with the ESC key. As a result when the game is re-launched it's like the machine was never turned off. This feature allows older games to maintain their hi-scores indefinitely where it wasn't originally supported. The files are stored in the mame32\sta directory.

Error log (for developers) : This setting if toggled on produces an error log of illegal memory accesses.

* Vector Tab : This tab allows for setting additional options for games that originally utilized a vector monitor instead of a raster monitor. [Asteroids, Battlezone, Armor Attack, etc.]

Draw antialiased vectors : This setting if toggled on tells Mame32 to draw vector lines with an additional pleasing antialiased look.

Draw translucent vectors : This setting if toggled on tells Mame32 to draw vector lines with a slight translucency and bright points at intersections.

Beam width : This slider allows Mame32 to set the beam width on the vector lines drawn, increasing it creates wider vectors.

Flicker : This slider tells Mame32 to artificially create a flicker effect on the vector lines.

Intensity : This slider tells Mame32 to increase the brightness/intensity of the vector lines. Higher values attempt to approximate on a raster monitor the distinct bright glow of the original vector hardware.

2006-03-19 09:53 AM -0800 / john iv


Mame32 View Menu

View Menu

* Toolbar : Selecting this option from the view menu will toggle the toolbar on or off.

* Status Bar : Selecting this option from the view menu will toggle the status bar on or off.

* Folder List : Selecting this option from the view menu will toggle the folder list view on or off.

* Screenshot : Selecting this option from the view menu will toggle the screenshot area on or off.

* Screenshot Tab : Selecting this option from the view menu will toggle the screenshot area tabs, allowing to choose between the multiple different art types. Note that history.dat information is only displayed in the snapshot view.

* Fullscreen : Selecting this option from the view menu will switch the GUI into full screen mode. This will expand to fill the current desktop resolution, it will hide the menu bar, and it will hide the windows taskbar. Toggle in and out of it with F11, other alt shortcut keys are still active.

* Show Pictures : Selecting this option from the view menu will allow toggling the display of the individual art tabs in the screenshot area.

* Large Icons : Selecting this option from the view menu will display large icons in the gamelist area.

* Small Icons : Selecting this option from the view menu will display small icons in a different grid pattern in the gamelist area.

* List : Selecting this option from the view menu will display small icons in the gamelist area.

* Details : Selecting this option from the view menu will display small icons along with full game name and any other fields chosen with the View • Customize Fields option.

* Grouped : Selecting this option from the view menu will display small icons along with full game name and any other fields chosen with the View • Customize Fields option, however the clone games will be displayed indented and alphabetized under their parents..

* Arrange Icons : Selecting this option from the view menu will order the gamelist area by the choice made; game, directory, manufacturer, times played, type, or year.

* Line Up Icons : Selecting this option from the view menu will re-align the icons in views where it does not automatically happen.

* Refresh : Selecting this option from the view menu will initiate an update of the gamelist while Mame32 searches for the existence of zip files that match game directory names. This is not as exhaustive as the audit function on the File menu.

* Custom Filters : Selecting this option from the view menu will allow for the selective hiding of certain types of games. Manually typing in a phrase in the filter text box will only display games that have that text in their names [note valid input for the description filter are, game name, driver name e.g. 'cps2.c', and manufacturer].

* Customize Fields : Selecting this option from the view menu will allow choosing which fields are displayed in columnar mode in the game list details view, selectable from the View • Details. The columns can also be ordered by moving them up and down the right hand side of the well. The game name field is always the first item and cannot be changed.

2003-10-17 07:58 PM -0700 / john iv


Mame32 Options Menu

Options Menu

* Game List Font : Selecting this option from the options menu will change the font used for the GUI display.

* Game List Clone Color : Selecting this option from the options menu will change the font color used for the GUI display of clones in the 'Grouped' game list view.

* Directories : Selecting this option from the options menu will allow for choosing a different directory for a number of Mame32 support files including: ROMs, samples, config, high scores, snapshots, input files, state, artwork, memory card, flyers, cabinets, marquees, and nvram. Normally these directories are created under the Mame32 executable’s directory.

* Default Options : Selecting this option from the options menu will allow for the global customization of all games in the game list. These settings are overridden by altering the individual game settings using the File • Properties menu item.

* Reset to Default : Selecting this option from the options menu will allow for resetting various parts of Mame32 to their defaults. Mame32 will prompt before resetting, giving the option to cancel.

* Interface Options : Selecting this option from the options menu will allow:
Toggling on or off the search for new games on start.
Toggling on or off the ability to use a game pad to navigate the GUI.
Toggling on or off the ability to use a keyboard encoder solution to navigate the GUI and launch games [helpful in Mame cabs].
Selecting a random image from the \bkground directory on startup.
Toggling on or off Mame32 broadcasting the selected game programmatically to other listening applications like message clients, or an LED message bar,
The cursor to be hidden.
Selecting inheritable filters, this allows parent folders to set the filters for their children sub-folders.
No offset for clones missing parent in view toggle will cause clones not be indented if the parent game is not present due to current folder view, missing ROMs, or filtering.
Allow history.dat file to be displayed under any, all, or none of the art views.
Show game caption toggles the titlebar and controls in windowed mode, if off, only a single frame will surround the playing game. If on, the full titlebar will appear complete with icon and name of the game being played.
Globally clear the play time and number of times played counters.
Stretch screenshot to larger size, this will enlarge the items in the art pane scaling them upwards depending on the size of the GUI.
Screenshot border size and color creates a user defined border around the art work in the art pane on the right, set to zero to remove borders completely.

* Background Image : Selecting this option from the options menu allows the choosing of a background image from the \bkground directory. This image will be displayed beneath the three window panes in the GUI.

* Language : Selecting this option from the options menu allows the choosing of an externally supported *.lng file. These files translate the internal Mame32 menu system [accessed from the tab key while playing a game] into a different language.

2006-01-13 12:11 PM -0800 / john iv


Mame32 Help Menu

Help Menu

* Help Topics : Selecting this option from the help menu will launch the Mame32 help file.

* Troubleshooting : Selecting this option from the help menu will display the troubleshooting topic in the help file.

* New Game Changes : Selecting this option from the help menu will display added, removed, changed games.

* Mame Whatsnew.txt : Selecting this option from the help menu will display the baseline Mame[w] whatsnew.txt file which contains information about source changes, games added, driver improvements, etc.

* About : Selecting this option from the help menu will display information about the version of Mame32 and its contributors.

2003-10-17 08:17 PM -0700 / john iv


Mame32 Support

Mame32 Troubleshooting [& Tips]

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 and CHDs 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 very specific directory structure. The single large .CHD file needs to go in the \ROMs\gamename\ directory, and have the *.CHD extension, e.g. \ROMs\area51\area51.chd. These games also have ROMs, these go one level up in the \ROMs folder proper like any other game. So in the end two files should exist for these games one *.zip in the \ROMs folder and the *.chd in a sub-directory named for the game.

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

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

· Use the Options • Reset to default menu choice and check all of the items, restart 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.

· If Mame32 launches games but then falls back to the UI, it may be because Win98 and/or the DirectX/video drivers don’t support the interrogation method used for the –screen option. Remove the ‘screen \\.\displayX’ line from \ini\mame32.ini, update DirectX and video card driver, or optimally update to a modern supported Microsoft OS like Win2k/XP.

· 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 in another section of the help file.

· 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 [4100+?] would be able to handle the games with the Seattle games being much higher [10Ghz?]. These games benefit from turning off auto-frame skipping (Namcos22.c games can have auto-frame skipping on). Benchmarks of some current systems are available at the Mame32QA Benchmark page. Because Mame as an emulator strives for perfect emulation, it does not take the shortcuts or hacks that other emulators do to make these games run faster. Mame32 contains a folder view (left pane, Custom/AMD64 3700+) that details games that are not currently playable on an AMD64 3700+, there are currently (v.103u3) 160 games out of 6000 that can’t be played on today’s PCs. As newer games are added to Mame32 that number will likely increase as raw single CPU power has stalled in the PC industry (Mame32 does not benefit from multi-CPU architectures).

· 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 at their intended 60 FPS rate.

· Periodically, speed-up hacks in the core code will be removed to provide more accurate emulation of the games. This can result in a drop in FPS for that particular family of games, but can be offset by upgrading the machine 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 or sound desyncs/scratchiness in games that previously didn't, toggle the Use RDTSC timing system item in Options • Default Options • Miscellaneous.

· 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. See Suggested Mame32 settings in the help file.

· 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 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.

· 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.

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

· 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].

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

· 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. This behaviour can be changed by the setting Interface Options • No offset for clones missing parent in view.

· 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 the settings section of the help file.

· 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. This can also be toggled if hearing sound desyncs.

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.

5/12/2006 6:16:40 PM / john iv


Mame32 Credits

Mame32 Credits & Resources

Credits

The current Mame32DEV team:

* Chris Kirmse

* Mike Haaland

* John Hardy IV

Special thanks to Michael Soderstrom for project co-ordination and source maintenance from 1997-2001.

Additional appreciated code contributions by : Jeff Miller, Dan Miller, Andrew Kirmse, Mohammad Rezaei, René Single, John Zissopoulos, Nathan Woods, Robert Schlabbach, Sword, Emuman, BUT, 'Mamesick', Sauro Puccini, Tor Arne Vestbø, R. J. Sheppard, Visk, K&K, Patrick Jones, and ‘Ren Höek’.

Resources

* The Mame32 QA/Test & Art Dept. : Home to the Mame32 binary/source, icons, cabinets, screenshots, background images, testing, work in progress updates, bug reporting/tracking, message board, and benchmarking.

* The Mame32 Message Board : Forum for discussion of Mame32 related issues.

* Mame32 Defect Tracking and Bug Reports : Page on Mame32QA which displays information about current Mame32 feature requests and issues. Check before reporting potential bugs.

* Mame.net : Home of Mame[w].

* Mame.net Message Board : Forums for discussion of baseline Mame[w].

* MameTesters.com : Reporting and tracking baseline Mame[w] bugs.

Mame32 © 2005 C. Kirmse, M. Haaland, M. Soderstrom, & the Mame32 team

this help file authored by john iv

2005-05-04 09:59 AM -0700


Game Additions, Deletions, & Changes

-| game removed

+| game added

c| game changed from

C| game changed to

0.106

+|abscam "Abscam"
+|amidarb "Amidar (Bootleg)"
+|batlbubl "Battle Bubble (v2.00)"
+|bonzeado "Bonze Adventure (World, Older)"
+|cawingr1 "Carrier Air Wing (World 901009)"
+|ddragnw1 "Double Dragon (World Set 2)"
+|djboyj "DJ Boy (Japan)"
+|ecofghtu "Eco Fighters (US 931203)"
+|fmaniac3 "Fishing Maniac 3"
+|fntsia2a "Fantasia II (Less Explicit)"
+|gepoker "Poker (Version 50.02 ICB)"
+|gepoker1 "Poker (Version 50.08 IAM)"
+|gepoker2 "Poker (Version 50.02 ICB set 2)"
+|gepoker3 "Poker (Version 50.02 ICB set 3)"
+|hidctch2 "Hidden Catch 2 (pcb ver 3.03)"
+|intrscti "Intersecti"
+|kbash2 "Knuckle Bash 2 (bootleg)"
+|killbldt "Killing Blade, The (Chinese Board)"
+|mangchi "Mang-Chi"
+|mastboy "Master Boy (Spanish, PCB Rev A)"
+|mastboyi "Master Boy (Italian, PCB Rev A)"
+|mooncrs3 "Moon Cresta (bootleg set 3)"
+|ms5pcb "Metal Slug 5 (JAMMA PCB)"
+|mslug3b6 "Metal Slug 6 (Metal Slug 3 bootleg)"
+|mspacmbe "Ms. Pac-Man (bootleg, (encrypted))"
+|nhidctch "New Hidden Catch (World) / New Tul Lin Gu Lim Chat Ki '98 (Korea) (pcb ver 3.02)"
+|nslashes "Night Slashers (Over Sea Rev 1.2)"
+|overrev "Over Rev"
+|pangpang "Pang Pang"
+|plsmswda "Plasma Sword (ASIA 980316)"
+|puckpepl "Puck People"
+|puzzlekg "Puzzle King (Dance & Puzzle)"
+|realbrkk "Billiard Academy Real Break (Korea)"
+|sextriv "Sex Triv"
+|skisuprg "Sega Ski Super G"
+|sliver "Sliver"
+|svcpcba "SVC Chaos - SNK vs CAPCOM (JAMMA PCB, set 2)"
+|tetrsark "Tetris (D.R. Korea)"
+|theglad "Gladiator, The"
+|thepitb "Pit, The (Bootleg)"
+|totlvice "Total Vice (ver JAA)"
+|upscope "Up Scope"
+|xexexa "Xexex (ver AAA)"
C|akkanvdr "Akkanbeder (Ver 2.5J 1995/06/14)"
c|akkanvdr "Akkanvader (Japan)"
C|aof3k "Art of Fighting 3 - The Path of the Warrior (Korean release)"
c|aof3k "Art of Fighting 3 - The Path of the Warrior / Art of Fighting - Ryuuko no Ken Gaiden (Korean release)"
c|arabiamj "Arabian Magic (Japan)"
C|arabiamj "Arabian Magic (Ver 1.0J 1992/07/06)"
c|arabiamu "Arabian Magic (US)"
C|arabiamu "Arabian Magic (Ver 1.0A 1992/07/06)"
C|arabianm "Arabian Magic (Ver 1.0O 1992/07/06)"
c|arabianm "Arabian Magic (World)"
c|arkretrn "Arkanoid Returns (Japan)"
C|arkretrn "Arkanoid Returns (Ver 2.02J 1997/02/10)"
c|bonzeadv "Bonze Adventure (World)"
C|bonzeadv "Bonze Adventure (World, Newer)"
c|bubblem "Bubble Memories - The Story Of Bubble Bobble 3 (World)"
C|bubblem "Bubble Memories: The Story Of Bubble Bobble III (Ver 2.4O 1996/02/15)"
c|bubblemj "Bubble Memories - The Story Of Bubble Bobble 3 (Japan)"
C|bubblemj "Bubble Memories: The Story Of Bubble Bobble III (Ver 2.3J 1996/02/07)"
c|bublbob2 "Bubble Bobble 2 (World)"
C|bublbob2 "Bubble Bobble II (Ver 2.5O 1994/10/05)"
c|bubsympe "Bubble Symphony (Europe)"
C|bubsympe "Bubble Symphony (Ver 2.5O 1994/10/05)"
c|bubsymph "Bubble Symphony (Japan)"
C|bubsymph "Bubble Symphony (Ver 2.5J 1994/10/05)"
c|bubsympu "Bubble Symphony (US)"
C|bubsympu "Bubble Symphony (Ver 2.5A 1994/10/05)"
c|cleopatr "Cleopatra Fortune (Japan)"
C|cleopatr "Cleopatra Fortune (Ver 2.1J 1996/09/05)"
c|commandw "Command War - Super Special Battle & War Game (Prototype)"
C|commandw "Command War - Super Special Battle & War Game (Ver 0.0J) (Prototype)"
C|cupfinal "Taito Cup Finals (Ver 1.0O 1993/02/28)"
c|cupfinal "Taito Cup Finals (World)"
c|dankuga "Dan-Ku-Ga (Prototype)"
C|dankuga "Dan-Ku-Ga (Ver 0.0J 1994/12/13) (Prototype)"
C|dariusg "Darius Gaiden - Silver Hawk (Ver 2.5O 1994/09/19)"
c|dariusg "Darius Gaiden - Silver Hawk (World)"
c|dariusgj "Darius Gaiden - Silver Hawk (Japan)"
C|dariusgj "Darius Gaiden - Silver Hawk (Ver 2.5J 1994/09/19)"
c|dariusgu "Darius Gaiden - Silver Hawk (US)"
C|dariusgu "Darius Gaiden - Silver Hawk (Ver 2.5A 1994/09/19)"
c|dariusgx "Darius Gaiden - Silver Hawk (Extra Version) [Official Hack]"
C|dariusgx "Darius Gaiden - Silver Hawk Extra Version (Ver 2.7J 1995/03/06) (Official Hack)"
C|ddragonw "Double Dragon (World Set 1)"
c|ddragonw "Double Dragon (World)"
C|dumpmtmt "Dump Matsumoto (Japan, 8751 317-unknown)"
c|dumpmtmt "Dump Matsumoto (Japan, 8751 317-unknown))"
c|dungenmu "Dungeon Magic (US)"
C|dungenmu "Dungeon Magic (Ver 2.1A 1994/02/18)"
C|dungeonm "Dungeon Magic (Ver 2.1O 1994/02/18)"
c|dungeonm "Dungeon Magic (World)"
c|elvact2u "Elevator Action 2 (US)"
C|elvact2u "Elevator Action II (Ver 2.2A 1995/02/20)"
C|elvactr "Elevator Action Returns (Ver 2.2O 1995/02/20)"
c|elvactr "Elevator Action Returns (World)"
c|elvactrj "Elevator Action Returns (Japan)"
C|elvactrj "Elevator Action Returns (Ver 2.2J 1995/02/20)"
C|espial "Espial (Europe)"
c|espial "Espial (US?)"
c|espiale "Espial (Europe)"
C|espialu "Espial (US?)"
C|fantsia2 "Fantasia II (Explicit)"
c|fantsia2 "Fantasia II"
c|fghthist "Fighter's History (US)"
C|fghthist "Fighter's History (World ver 43-07)"
c|fghthsta "Fighter's History (US Alternate Hardware)"
C|fghthsta "Fighter's History (US ver 42-05, alternate hardware )"
C|fghthstu "Fighter's History (US ver 42-03)"
c|fghthstw "Fighter's History (World)"
c|gblchmp "Global Champion (US)"
C|gblchmp "Global Champion (Ver 2.1A 1994/07/29)"
c|gekirido "Gekirindan (Japan)"
C|gekirido "Gekirindan (Ver 2.3J 1995/09/21)"
C|gs4002 "Selection (Version 40.02TMB) set 1"
c|gs4002 "Selection (Version 40.02TMB)"
C|gs4002a "Selection (Version 40.02TMB) set 2"
C|gseeker "Grid Seeker: Project Storm Hammer (Ver 1.3O)"
c|gseeker "Grid Seeker: Project Stormhammer (World)"
C|gseekerj "Grid Seeker: Project Storm Hammer (Ver 1.3J)"
c|gseekerj "Grid Seeker: Project Stormhammer (Japan)"
C|gseekeru "Grid Seeker: Project Storm Hammer (Ver 1.3A)"
c|gseekeru "Grid Seeker: Project Stormhammer (US)"
C|gunlock "Gunlock (Ver 2.3O 1994/01/20)"
c|gunlock "Gunlock (World)"
c|hthero93 "Hat Trick Hero '93 (Japan)"
C|hthero93 "Hat Trick Hero '93 (Ver 1.0J 1993/02/28)"
c|hthero94 "Hat Trick Hero '94 (US)"
C|hthero94 "Hat Trick Hero '94 (Ver 2.2A 1994/05/26)"
c|hthero95 "Hat Trick Hero '95 (Japan)"
C|hthero95 "Hat Trick Hero '95 (Ver 2.5J 1994/11/03)"
c|hthro95u "Hat Trick Hero '95 (US)"
C|hthro95u "Hat Trick Hero '95 (Ver 2.5A 1994/11/03)"
C|intcup94 "International Cup '94 (Ver 2.2O 1994/05/26)"
c|intcup94 "International Cup '94 (World)"
c|kaiserkj "Kaiser Knuckle (Japan)"
C|kaiserkj "Kaiser Knuckle (Ver 2.1J 1994/07/29)"
C|kaiserkn "Kaiser Knuckle (Ver 2.1O 1994/07/29)"
c|kaiserkn "Kaiser Knuckle (World)"
c|kirameki "Kirameki Star Road (Japan)"
C|kirameki "Kirameki Star Road (Ver 2.10J 1997/08/29)"
c|ktiger2 "Kyukyoku Tiger 2 (Japan)"
C|ktiger2 "Kyukyoku Tiger II (Ver 2.1J 1995/11/30)"
c|landmakr "Land Maker (Japan)"
C|landmakr "Land Maker (Ver 2.01J 1998/06/01)"
C|landmkrp "Land Maker (Ver 2.02O 1998/06/02) (Prototype)"
c|landmkrp "Land Maker (World Prototype)"
c|lightbr "Light Bringer (Japan)"
C|lightbr "Light Bringer (Ver 2.1J 1994/02/18)"
C|missmw96 "Miss Mister World '96 (Nude)"
c|missmw96 "Miss Mister World '96 Nude"
C|missw96 "Miss World '96 (Nude)"
c|missw96 "Miss World '96 Nude"
c|olds "Oriental Legend Super (Korea 101)"
C|olds "Oriental Legend Super / Special (Korea 101)"
c|olds100 "Oriental Legend Super (100)"
C|olds100 "Oriental Legend Super / Special (100)"
c|olds100a "Oriental Legend Super (100 alt)"
C|olds100a "Oriental Legend Super / Special (100 alt)"
c|pbobbl2j "Puzzle Bobble 2 (Japan)"
C|pbobbl2j "Puzzle Bobble 2 (Ver 2.2J 1995/07/20)"
c|pbobbl2u "Bust-A-Move Again (US)"
C|pbobbl2u "Bust-A-Move Again (Ver 2.3A 1995/07/31)"
c|pbobbl2x "Puzzle Bobble 2X (Japan)"
C|pbobbl2x "Puzzle Bobble 2X (Ver 2.2J 1995/11/11)"
c|pbobbl3j "Puzzle Bobble 3 (Japan)"
C|pbobbl3j "Puzzle Bobble 3 (Ver 2.1J 1996/09/27)"
c|pbobbl3u "Puzzle Bobble 3 (US)"
C|pbobbl3u "Puzzle Bobble 3 (Ver 2.1A 1996/09/27)"
c|pbobbl4j "Puzzle Bobble 4 (Japan)"
C|pbobbl4j "Puzzle Bobble 4 (Ver 2.04J 1997/12/19)"
c|pbobbl4u "Puzzle Bobble 4 (US)"
C|pbobbl4u "Puzzle Bobble 4 (Ver 2.04A 1997/12/19)"
C|pbobble2 "Puzzle Bobble 2 (Ver 2.2O 1995/07/20)"
c|pbobble2 "Puzzle Bobble 2 (World)"
C|pbobble3 "Puzzle Bobble 3 (Ver 2.1O 1996/09/27)"
c|pbobble3 "Puzzle Bobble 3 (World)"
C|pbobble4 "Puzzle Bobble 4 (Ver 2.04O 1997/12/19)"
c|pbobble4 "Puzzle Bobble 4 (World)"
C|pmroulet "Croupier (Playmark Roulette)"
c|pmroulet "Roulette (Playmark)"
C|popnpop "Pop'n Pop (Ver 2.07O 1998/02/09)"
c|popnpop "Pop 'N Pop (World)"
C|popnpopj "Pop'n Pop (Ver 2.07J 1998/02/09)"
c|popnpopj "Pop 'N Pop (Japan)"
C|popnpopu "Pop'n Pop (Ver 2.07A 1998/02/09)"
c|popnpopu "Pop 'N Pop (US)"
c|prmtmfgo "Prime Time Fighter (US old version)"
C|prmtmfgo "Prime Time Fighter (Ver 2.1A 1993/05/21) (Old Version)"
c|prmtmfgt "Prime Time Fighter (US new version)"
C|prmtmfgt "Prime Time Fighter (Ver 2.1A 1993/05/21) (New Version)"
C|puchicar "Puchi Carat (Ver 2.02O 1997/10/29)"
c|puchicar "Puchi Carat (World)"
c|puchicrj "Puchi Carat (Japan)"
C|puchicrj "Puchi Carat (Ver 2.02J 1997/10/29)"
C|pwrgoal "Taito Power Goal (Ver 2.5O 1994/11/03)"
c|pwrgoal "Taito Power Goal (World)"
c|qtheater "Quiz Theater - 3tsu no Monogatari (Japan)"
C|qtheater "Quiz Theater - 3tsu no Monogatari (Ver 2.3J 1994/11/10)"
C|quartetj "Quartet (Japan, 8751 317-unknown)"
c|quartetj "Quartet (Japan, 8751 317-unknown))"
c|quizhuhu "Moriguchi Hiroko no Quiz de Hyuu!Hyuu! (Japan)"
C|quizhuhu "Moriguchi Hiroko no Quiz de Hyuu!Hyuu! (Ver 2.2J 1995/05/25)"
C|rayforce "Ray Force (Ver 2.3A 1994/01/20)"
c|rayforce "Rayforce (US)"
C|rayforcj "Ray Force (Ver 2.3J 1994/01/20)"
c|rayforcj "Rayforce (Japan)"
C|rbff2k "Real Bout Fatal Fury 2 - The Newcomers (Korean release)"
c|rbff2k "Real Bout Fatal Fury 2 - The Newcomers / Real Bout Garou Densetsu 2 - the newcomers (Korean release)"
c|recalh "Recalhorn (Prototype)"
C|recalh "Recalhorn (Ver 1.42J 1994/5/11) (Prototype)"
c|ridefgtj "Riding Fight (Japan)"
C|ridefgtj "Riding Fight (Ver 1.0J)"
c|ridefgtu "Riding Fight (US)"
C|ridefgtu "Riding Fight (Ver 1.0A)"
C|ridingf "Riding Fight (Ver 1.0O)"
c|ridingf "Riding Fight (World)"
C|ringrage "Ring Rage (Ver 2.3O 1992/08/09)"
c|ringrage "Ring Rage (World)"
c|ringragj "Ring Rage (Japan)"
C|ringragj "Ring Rage (Ver 2.3J 1992/08/09)"
c|ringragu "Ring Rage (US)"
C|ringragu "Ring Rage (Ver 2.3A 1992/08/09)"
C|scfinals "Super Cup Finals (Ver 2.1O 1993/11/19)"
c|scfinals "Super Cup Finals (World)"
c|shpeng "Sea Hunter Pengiun"
C|shpeng "Sea Hunter Penguin"
c|spcinv95 "Space Invaders '95 - Attack Of The Lunar Loonies (World)"
C|spcinv95 "Space Invaders '95: The Attack Of Lunar Loonies (Ver 2.5O 1995/06/14)"
c|spcinvdj "Space Invaders DX (Japan F3 version)"
C|spcinvdj "Space Invaders DX (Ver 2.6J 1994/09/14) (F3 Version)"
c|spcnv95u "Space Invaders '95 - Attack Of The Lunar Loonies (US)"
C|spcnv95u "Space Invaders '95: The Attack Of Lunar Loonies (Ver 2.5A 1995/06/14)"
c|tcobra2 "Twin Cobra 2 (World)"
C|tcobra2 "Twin Cobra II (Ver 2.1O 1995/11/30)"
c|tcobra2u "Twin Cobra 2 (US)"
C|tcobra2u "Twin Cobra II (Ver 2.1A 1995/11/30)"
C|trstar "Top Ranking Stars (Ver 2.1O 1993/05/21) (New Version)"
c|trstar "Top Ranking Stars (World new version)"
c|trstarj "Top Ranking Stars (Japan new version)"
C|trstarj "Top Ranking Stars (Ver 2.1J 1993/05/21) (New Version)"
C|trstaro "Top Ranking Stars (Ver 2.1O 1993/05/21) (Old Version)"
c|trstaro "Top Ranking Stars (World old version)"
c|trstaroj "Top Ranking Stars (Japan old version)"
C|trstaroj "Top Ranking Stars (Ver 2.1J 1993/05/21) (Old Version)"
c|twinqix "Twin Qix (US Prototype)"
C|twinqix "Twin Qix (Ver 1.0A 1995/01/17) (Prototype)"


Copyright © 1997-2006, Nicola Salmoria and the MAME team
All rights reserved.

Redistribution and use of this code or any derivative works are permitted provided that the following conditions are met:

  • Redistributions may not be sold, nor may they be used in a commercial product or activity.
  • Redistributions that are modified from the original source must include the complete source code, including the source code for all components used by a binary built from the modified sources. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
  • Redistributions must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


MAME, the Multiple Arcade Machine Emulator
Copyright © 1997-2006 by Nicola Salmoria and the MAME team

I. Purpose

MAME is strictly a non-profit project. Its main purpose is to be a reference to the inner workings of the emulated arcade machines. This is done both for educational purposes and for preservation purposes, in order to prevent many historical games from disappearing forever once the hardware they run on stops working. Of course, in order to preserve the games and demonstrate that the emulated behavior matches the original, you must also be able to actually play the games. This is considered a nice side effect, and is not MAME's primary focus.

It is not our intention to infringe on any copyrights or patents on the original games. All of MAME's source code is either our own or freely available. To operate, the emulator requires images of the original ROMs, CDs, or hard disks from the arcade machines, which must be provided by the user. No portions of the original game code are included in the executable.

II. Cost

MAME is free. Its source code is free. Selling either is not allowed.

III. Image Files

ROM, CD, and hard disk images are all copyrighted material. They cannot be distributed without the explicit permission of the copyright owner. They are not "abandonware", nor have any of the games supported by MAME passed out of copyright.

MAME is not intended to be used as a tool for mass copyright infringement. Therefore, it is strongly against the authors' wishes to sell, advertise, or link to resources that provide illegal copies of ROM, CD, or hard disk images.

IV. Derivative Works

Derivative works are allowed under the MAME license. However, you are discouraged from providing specific functionality that goes against the philosophy of the MAME team. Specifically:

  • Do not add games which are more recent than 3 years old, or which are still being sold new by the company that produced them. MAME is not intended to be a platform that competes with arcade games that are still being actively sold.
  • Do not provide a means of generating a list of games that specifically identifies those games for which the user does not have image files. This only encourages users to seek out sources for illegal ROM, CD, and hard disk images in order to "complete" their collection.
  • Do not remove the startup screen that contains information about why certain non-working games don't work. This only serves to generate a bunch of useless email traffic to the developers asking why the games don't work.

Because the name MAME is trademarked, you must abide by the rules of the trademark usage if you wish to use "MAME" as part of the name your derivative work. In general, this means you must request permission, which requires that you follow the guidelines above.

The version number of any derivative work should reflect the version number of the MAME release it was derived from.

V. Official Contact Information

For questions regarding the MAME license, trademark, or other usage, go to http://www.mamedev.com/.


0.106
-----

Source Changes
--------------
Fixed vconv.exe so it doesn't use options that have been deprecated
in MSVC 2005. [Aaron Giles]

Fixed crash in the model3 games introduced by cleaning up empty ROM
regions. [Ville Linde]

0.105u5
-------

MAMETesters Bugs Fixed
----------------------
memory0105u4red [Aaron Giles]

Source Changes
--------------
Cleaned up the freekick.c driver [Sonikos]:
 - added 2nd button in gigas/gias2m/oigas
 - matched the Z80 chip mhz to the "confirmed" mhz of gigas

Extended the gfxlayout structure to support "extended" arrays of
x and y offsets. These are used for layouts that are larger than
32x32. This enables the standard structure to be smaller for the
vast majority of games that don't require huge graphics decodes.
The end result is that the MAME .exe is ~3MB smaller.
[Atari Ace, Aaron Giles]

Added some Amiga enhancements needed for MESS Amiga and CDTV
drivers. [Dirk Best]

Removed non-existant 3rd & 4th player controls from deadconx.
[Don Maeby]

Improvements to the MACS driver: [Tomasz Slanina]
 - fixed a couple of gfx bugs in st0016 video emulation
 - added hacks to allow MACS games to boot
 - removed REGION_DISPOSE flag from srmp5 and speaglsht (no more
    crashes)

Fixed/improved DIP switches in the powerbal.c, konamigx.c, and
gsword.c drivers. [Twisty]

More improvements to the BFM driver and the 6840 timer emulation.
[El Condor]

Improvements to the x86 drc engine and the Windows blitters:
 - Blitter CPUID features now accessed by drc_x86_get_features() call
 - Added win_blit_init(), to initialize the blitter
 - Changes to DRC to support usage for things other than CPU cores
 - Fixed drc_dasm() so it works once again
 - Added macros for a number of MMX/SSE instructions
 - Added a number of MMX/SSE instructions to the i386 disassembler

Actually applied the Marine Date fixes which were mentioned in a
previous u release. [Aaron Giles]

Added experimental support for building using Visual C++ 2003/2005.
To do this, you still need the mingw environment (ironically) because
we rely on the mingw make system to call out to the MSVC compilers.
Set the variable MSVC_BUILD=1 on the command line or by modifying
windows.mak, and it will build using the Microsoft compilers. This
works through the use of a stub program vconv.exe which translates
gcc options into MSVC options. As a bootstrapping measure, vconv.exe
is compiled at the start of a clean build by mingw. Most of the
standard build options just work (SYMBOLS, MAP, DEBUG, etc). If you
have a beefy computer, you can also set MAXOPT=1 and use link-time
code generation for maximum optimization effect. :) [Aaron Giles]

Added preliminary support for 64-bit targets. A new makefile define
PTR64 should be set if you are compiling for a 64-bit target. This
propogates a PTR64 define into the C files as well. Made the makefile
smart enough to auto-disable the drc cores for 64-bit, and removed
most of the roadblocks to a 64-bit build, apart from the assembly
blitters, which are currently undergoing a rewrite. [Aaron Giles]

New games added or promoted from NOT_WORKING status
---------------------------------------------------
Hidden Catch 2 [Pierpaolo Prazzoli, Guru]
Fishing Maniac 3 [Pierpaolo Prazzoli, Guru]
Yu-Ka [Tomasz Slanina]
Yu-Jan [Tomasz Slanina]

New clones added
----------------
Greyhound Selection (Version 40.02TMB) set 2 [Brian Troha]
Greyhound Poker (3 new sets) [Brian Troha]

New games marked as GAME_NOT_WORKING
------------------------------------
Master Boy [David Haywood]
Intersecti [David Haywood]

0.105u4
-------

MAMETesters Bugs Fixed
----------------------
invaders0105u2gre [Giuseppe Gorgoglione]
taitosj0105u3yel [Aaron Giles]
wardner0105u3red [Aaron Giles]

Source Changes
--------------
Nintendo 64 system improvements: [Ville Linde, Ryan Holtz]
 - Fixed a major bug in the RSP core
 - Rewrote the PIF handling
 - Slightly improved triangle rendering

Added a NULL check on memory_set_bankptr(), memory_configure_bank()
and memory_configure_bank_decrypted(). [Nathan Woods]

Added support in the debugger memory window to change the number
of bytes displayed per row. [Andrew Gardner]

Started simulation of orlegend super / special protection.
[XingXing, ElSemi]

Fixed colors and music tempo in Perfect Billiard. [Sonikos]

Cleaned up 6840 implementation and revised scorpion2 driver's
handling of unmapped regions. Also updated the MPU4 memory
map. [El Condor]

Major Toaplan 2 driver cleanup: [Quench]
 - Added Knuckle Bash 2 (kbash2)
 - Consolidated the Read/Write memory maps
 - Fixed coin counters on a few games
 - Raised the volumes on a few games
 - Cleaned the inputs by:
    Adding input inheritance and DIPSW locations
    Added conditional dependance to DIPSWs where required
    Fixing a few incorrect inputs here and there

Fixed/improved DIP switches in the m92, afega, tumbleb, and yunsun16
drivers. [Twisty]

Cleaned up the liberate.c driver. [Sonikos]

Improved ARM7 thumb mode disassembler. [MooglyGuy]

Some improvements to Air Raid/Cross Shooter, but not playable
due to missing gfx roms. [Tomasz Slanina]

Fixed UI positioning when artwork is enabled. [Giuseppe Gorgoglione]

Big pile of updates/improvements to the ARM7 core thumb mode and
the PGM drivers. [David Haywood, ElSemi]

Improved OKI frequency in sslam and powerbls. [f205v]

More DIP switch improvements to m62.c, m72.c, ddragon.c. [Twisty]

Fixed bug in the debugger that would prevent you from typing a
command line longer than what was visible. [Aaron Giles]

Added a new tool jedutil, which will convert .JED files to binary
form and back again. [Aaron Giles]

Added new ROM region REGION_PLDS, which is designed to hold binary
dumps of PLD fusemaps (produced from .JED files by jedutil). Added
logic to -romident to automatically parse .JED files to identify them
against these binary dumps. Added PLD dumps to the Vindicators,
Batman, Pit Fighter, ThunderJaws, and Relief Pitcher drivers. More to
come shortly. [Aaron Giles]

Converted PLDs for catnmous and lazarian to the new binary format.
[Aaron Giles]

New games added or promoted from NOT_WORKING status
---------------------------------------------------
Tetris (D.R. Korea) [David Haywood]
Knuckle Bash 2 (bootleg) [Quench]

New clones added
----------------
Metal Slug 6 (Metal Slug 3 bootleg) [Mame32Plus]
Metal Slug 5 (JAMMA PCB) [Mame32Plus]
SVC Chaos - SNK vs CAPCOM (JAMMA PCB, set 2) [Mame32Plus]
Night Slashers (Over Sea Rev 1.2) [Stefan Lindberg]
Double Dragon (World Set 2) [Stefan Lindberg]

0.105u3
-------

MAMETesters Bugs Fixed
----------------------
mystston097u3yel [David Haywood]
decocass0105u2yel [Aaron Giles]
taitosj0105u2yel [Aaron Giles]
vicdual0105u2gre [Aaron Giles]
chqflag0105u2red [Aaron Giles]

Source Changes
--------------
Fixed and cleaned up the DIP switches in the dec0 driver.
[Roberto Fresca]

More improvements to the PGM video code. Also added hooks for halting
the sound CPU which allows ddp2 to boot. [David Haywood]

Fixed incorrect lightgun names. [Derrick Renaud]

Fixed Bonze Adventure levels 2 & 9. [Bryan McPhail]

Refactored the 8530 CIA code from the Amiga into a separate module
and made it support both the 6526 and 8530 variants. [Nathan Woods]

Fixed/improved DIP switches in the megasys1, dietgo, and yunsun16
drivers. [Twisty]

Fixed some DIP switches and added controls for 2nd player in cocktail
mode in Lost Castle in Darkmist. [Sonikos]

Fixed a number of issues in the Windows rendering code:
[Giuseppe Gorgoglione]
 * fixed blit_vectors so it used the dirty pixel array in D3D mode
 * fixed blit_vectors rotation issue for dirty pixels as well
 * changed -full_screen_brightness to -full_screen_gamma
    (which is a more correct description)
 * changed -d3dfilter to be a boolean, since the other filtering modes
    are either obsolete or not applicable to MAME
 * removed limitations on windowing position so you no longer need to
    be aligned on an 8-pixel boundary
 * cleaned up a number of unused global variables
 * improved multi-monitor support to work in GDI mode as well as in
    non-full-screen modes
 * added missing documentation for the -screen parameter

Fixed some remaining errors and inconsistencies in the content and
usage of MAME header files by comparing declarations against actual
definitions. Removed many orphaned/duplicate declarations. Added
#includes where appropriate, and moved a few declarations to another
file when they were in the wrong location. [Atari Ace]

Removed a number of unused ROM regions. Most (but not all) of the
empty ROM region warnings are now taken care of. Also uncommented/
added missing undumped ROMs/XORs in the Namco and CPS2 games.
[Aaron Giles]

More Amiga cleanups: [Aaron Giles]
 * fixed dual playfield mode
 * rewrote blitter code (fixes glitches in ar_bowl and others)
 * changed Arcadia boot loading to use ROMtags instead of autoconfig
 * swapped Kickstart 1.2 in for Arcadia BIOS (fixes ar_sdwr)

New games added or promoted from NOT_WORKING status
---------------------------------------------------
Puzzle Star [XingXing]
Marine Date [MAME32Plus]
Speed Up [Aaron Giles]
Up Scope [Mariusz Wojcieszek, Tomasz Slanina, Aaron Giles]
Greyhound Poker (Version 50.02) [Pierpaolo Prazzoli]

New clones added
----------------
The Pit (Bootleg) [Brian Troha]
Amidar (Bootleg) [Brian Troha]
Moon Cresta (bootleg set 3) [Brian Troha]
Xexex (ver AAA) [Corrado Tomaselli]

New games marked as GAME_NOT_WORKING
------------------------------------
The Gladiator [David Haywood]

0.105u2
-------

MAMETesters Bugs Fixed
----------------------
raizing0105u1red [Ville Linde]
psbasedgames0105u1red [Nathan Woods]

Source Changes
--------------
Fixed Monster World DIP switches. [Sonikos]

Fixed floating point rounding error in the PowerPC FPU. [Ville Linde]

Some more work on the Killing Blade protection. [El Semi]

Reorganized and cleaned up the PGM sprite drawing code a bit. Added
zooming support. [David Haywood]

Did some cleanup on the 6821 PIA functions, converting to new MAME
struct conventions and enforcing that configuration/initialization
happens only at init time. [Nathan Woods]

Fixed some unknown DIP switches in Galivan and Dangar Ufo Robo.
[Twisty]

Some improvements to Playmark's Roulette, though it still doesn't
quite work properly. [David Haywood]

Fixed Showdown start button. [Don Maeby]

Fixed sound frequency in Shocking. [Brian Troha, Guru]

Fixes to Top Roller: [Tomasz Slanina]
 - correct colors
 - fixed gfx bugs
 - better audio (added rom with samples)
There's still minor problem with fg text layer colors.

Made "This game doesn't work" text more explicit. [Olivier Galibert]

Added PAIR and PAIR64 as valid save state types. [Nathan Woods]

More Amiga/Arcadia system updates: [Aaron Giles]
 - Rewrote autoconfig system to be more generically useful
 - Cleaned up/rewrote the CIA emulation to be more complete
 - Added dual playfield and sprite priority support
 - Added collision detection support
 - Tweaked COPPER timing to fix scores on Fast Break
 - Shuffled the BIOSes so that the newer version is the default

New games added or promoted from NOT_WORKING status
---------------------------------------------------
Mang-Chi [David Haywood, Brian Troha]
New Hidden Catch [Pierpaolo Prazzoli]

New clones added
----------------
Abscam [David Widel]
Ms. Pac-Man (bootleg, encrypted) [David Widel]
Billiard Academy Real Break (Korea) [Corrado Tomaselli]
Carrier Air Wing (World 901009) [Stefan Lindberg]
Plasma Sword (ASIA 980316) [Chris Hardy]

New games marked as GAME_NOT_WORKING
------------------------------------
Total Vice [Curt Coder]
Sega Ski Super G [R. Belmont]
Over Rev [R. Belmont]
Sliver [David Haywood]
Puck People [David Haywood]

0.105u1
-------

MAMETesters Bugs Fixed
----------------------
metmqstr0105yel [Aaron Giles]

Source Changes
--------------
Cleaned up the usage of includes/*.h files across the project, by
ensuring that:
 1. All includes/foo.h files are annotated with comments describing
     the source of the declarations.
 2. Each source file so annotated also explicitly does an
     #include "includes/foo.h" to ensure consistent definitions.
Along the way a number of inconsistent, irrelevant, and incomplete
declarations were removed/cleaned up. [Atari Ace]

Moved calls to ui_set_visible_area() into set_visible_area() to work
around timing problems when they are called at separate times during
a single frame. [Nathan Woods]

Updated CPS driver to more accurately draw tilemaps, based on
evidence from a board with mixed ROMs. [David Haywood]

Fixed crash bug in old debugger introduced in the last release.
[Olivier Galibert]

Added demo sounds DIP switch to Pig Newton. [Derrick Renaud]

Fixed DIP switches in gunmast, batlbubl. [Brian Troha]

Added simulated sound for tumbleb2 and pangpang. [David Haywood]

Added accessors for the CA2, CB2 and IRQ signals on the 6821 PIA.
[Nathan Woods]

Accurate C-Chip emulation in Bonze Adventure to fix protection
problems (no more missing or made up data, all data extracted from
working pcb). [Bryan McPhail]

Some cleanups to the Taito F3 naming. [Marco, Bryan McPhail]

Fixed the Z80 PIO code to prevent an interrupt to occur between the
PIO_OP_MODE byte and mask which follows. According to the datasheet,
this is not permitted in hardware. [Robert]

Added many FPU opcodes to the M68040 core. [Ville Linde]

Fixed rom loading in all Taito JC games. [Ville Linde]

Added TMS320C51 cpu core. [Ville Linde]

Split out some of the Nintendo 64 core pieces into MESS-shareable
modules. [R. Belmont]

Removed hard linkage of game driver clones. This reduces hard
inter-driver dependencies and allows for easier usage of tiny.mak.
[Atari Ace, Aaron Giles]

Updates to the PGM driver: [El Semi]
 - Corrected mask on sprite width parameter in sprite list
 - Corrected decryption function for The Killing Blade
 - Fixed GFX Rom loading in The Killing Blade
 - Added set The Killing Blade (Taiwan?)
 - Added some WIP protection simulation for The Killing Blade
    (Taiwan?), game boots but at least one stage is broken

Added $(OBJ)/%.s target to the makefile for easy disassembly
analysis of generated code (you can also use the $(OBJ)/%.pp to
examine preprocessor output). [Nathan Woods]

Moved region and address space names out of the Windows-specific
code and into more common locations. [Olivier Galibert]

Fixed a bug with code comments that led to incorrect display for
long comments. [Andrew Gardner]

Added several missing H8 opcodes to the core and color DAC to
lastfght.c. [Tomasz Slanina]

Changed -romident option so that it returns errorlevels based on how
many ROMs were identified (0=all files identified, 1=all files except
some non-ROM files identified, 2=some files identified, 3=no files
identified). [Aaron Giles]

Added stricter type checking for save state registrations (only works
in gcc). [Aaron Giles]

Changed automatic ROM assignment logic in the memory system so that
it doesn't auto-assign out-of-bounds ROM regions. [Aaron Giles]

Changed memory save state registration so it doesn't register for
saving memory areas that overlap memory regions. This means that
drivers which rely on extra memory regions for RAM will need to fix
that before supporting save. [Aaron Giles]

Modified a number of drivers that were using empty RAM regions for
RAM or which had extraneous memory regions. Most significant changes
were to the arcadia, nss, and stv drivers. [Aaron Giles]

Added a warning during validity checks to point out empty memory
regions. These should either be eliminated, or marked with an
explicit fill value (ROMREGION_ERASE00 or ROMREGION_ERASEFF) to clear
the warnings. [Aaron Giles]

Rewrote a large chunk of the Amiga emulation to support sound and
additional video modes/effects including extra half-bright mode,
manual sprites, and mid-scanline changes. This is still a work
in progress. [Aaron Giles]

New games added or promoted from NOT_WORKING status
---------------------------------------------------
Pang Pang [David Haywood]
Crazy Fight [Luca Elia]
Puzzle King (Dance & Puzzle) [Pierpaolo Prazzoli]
Fighter's History [Bryan McPhail]
Sex Triv [Pierpaolo Prazzoli]

New clones added
----------------
Battle Bubble [f205v, Corrado Tomaselli]
Bonze Adventure (World, Older) [Bryan McPhail]
Fantasia II (set 2, less explicit) [HIGHWAYMAN]
The Killing Blade (Taiwan?) [El Semi]


Command Line Settings Mame32 utilises under the GUI

Using the program

-----------------

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

For example:

mame robby -nosound

...will run Robby Roto without sound

Configuration options

---------------------

-createconfig / -cc

Creates the default MAME.INI file. All the following configuration

options can be permanently changed by editing this configuration file.

-showconfig / -sc

Displays the current configuration settings. If you route this to a

file, you can use it as an INI file. For example, the command:

mame -showconfig >mame.ini

is equivalent to -createconfig.

-showusage / -su

Displays a summary of all the command line options. For options that

are not mentioned here, the short summary given by "mame -showusage" is

usually sufficient.

-[no]readconfig / -[no]rc

Enables or disables the reading of the config files. When enabled

(which is the default), MAME reads the following config files in order:

- MAME.INI

- $MY_MAME.INI (i.e. if MAME was renamed MAME060.EXE, MAME

parses MAME060.INI here)

- MAMED.INI (if this is a debug build, i.e. MAMED.EXE)

- VECTOR.INI (for vector games only)

- DRIVER.INI (based on the source filename of the driver)

- PARENT.INI (for clones only, may be called recursively)

- GAMENAME.INI

The settings in the later ini's override those in the earlier ini's.

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 mame -verbose and include the resulting

information. It can be very helpful in tracking down problems. The

default is off (-noverbose)

Windows path and directory options

----------------------------------

IMPORTANT: Please use the path, directory and file options ONLY in MAME.INI.

Otherwise, the outcome may be unpredictable and not consistent across releases.

-rompath / -rp

You can give a path (list of directories seperated by semicolons) of

directories to be searched for roms. The default is ROMS (that is, a

directory "roms" in the current directory).

-samplepath / -sp

You can give a path (list of directories seperated by semicolons) of

directories to be searched for samples. The default is SAMPLES (that

is, a directory "samples" in the current directory).

-inipath

You can give a path (list of directories seperated by semicolons) of

directories to be searched for INI-files. The default is .;ini (that

is, search in the current directory first, and then in the directory

"ini" in the current directory).

-cfg_directory

After running a game, MAME stores some user changeable settings into

cfg_directory/gamename.cfg. Additionally, on the first start of MAME a

cfg_directory/default.cfg is created. The default is CFG.

-nvram_directory

The original hardware of some games use non-volative ram chips to save

their configuration. The contents of these are saved into this

directory. The default is NVRAM.

-memcard_directory

The original hardware of some games supports so-called memory cards.

The contents of these are stored here. The default is MEMCARD.

-input_directory

Input recordings created by "-record" will be saved here and loaded by

"-playback". The default is INP.

-hiscore_directory

If there exists a file HISCORE.DAT in the MAME directory, highscores

may also be saved for games that do not have the original hardware to

support this. The quality of this feature depends on the accuracy of

the externally available file HISCORE.DAT. The default is HI.

-state_directory

MAME supports state saving for some games. These states will be saved

here. The default is STATE.

-artwork_directory

Some games used extra artwork not created by electical circuits. MAME

supports such artwork in PNG image format, located in this directory.

The default is ARTWORK.

-snapshot_directory

Screenshots will go here. The default is SNAP.

-diff_directory

Directory for hard drive image difference files. The default is DIFF.

-ctrlr_directory

This directory holds controller-specific input port mapping .ini files.

The default is CTRLR.

-cheat_file

The default is CHEAT.DAT. Modifying the default may not work at the

moment.

Windows video options

---------------------

-[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).

-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]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,

MAME 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. You should only need to turn this on in windowed mode.

In full screen mode, it is only needed if -triplebuffer does not

remove the tearing. In which case you should use -notb -waitvsync.

The default is OFF (-nowaitvsync). This option requires -ddraw.

-[no]triplebuffer / -[no]tb

Enables or disables "triple buffering". Normally, MAME just draws

directly to the screen, without any fancy buffering. But with this

option enabled, MAME 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. -triplebuffer will override

-waitvsync, if the buffer is sucessfully created. The default is OFF.

(-notriplebuffer). This option requires -ddraw and -nowindow.

-[no]window

Run MAME in either a window or full screen. 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, we'd be curious to know.

The default is ON (-ddraw).

-[no]direct3d / -[no]d3d

Use Direct3D to display the image. This does not render 3D games using

3D hardware, it just uses 3D hardware to display the image, and apply

effects to it. -triplebuffer, -waitvsync, -resolution, -refresh,

-switchres, -switchbpp, -resolution all work with this option. This

option overrides -ddraw and implies -hwstretch. The default is OFF

(-nodirect3d).

-[no]hwstretch / -[no]hws

MAME uses the hardware stretching abilities of modern graphic cards to

scale the game image to the requested resolution. Depending on the

quality of your graphic card and its drivers, this may be a fractional,

antialiased scaling (nice) or an integer, blocky scaling (not so nice).

In any case, you can disable this stretching altogether and let MAME do

the scaling in software, which is probably slower, though. The default

is ON (-hwstretch). Note: Vector games may actually look better with

"-nohws".

-cleanstretch [option] / -cs [option]

Stretch the image to integer ratios only. This may leave a black border

around the image in fullscreen mode. The options are:

none disable. This will cause artifacts when using

scanlines.

auto let the blitter decide. The d3d module will select

the best option.

full always stretch to integer ratios both horizontally

and vertically.

horizontal always stretch to integer ratios horizontally.

vertical always stretch to integer ratios vertically.

The default is AUTO (-cleanstretch auto). This option requires -ddraw

or -direct3d.

-resolution wxh[xd] / -r wxh[xd]

Specifies an exact resolution to run in. In full screen mode, MAME 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, MAME will determine the mode auomatically. For example,

-resolution 640x480 will force 640x480 resolution, but MAME is free to

choose the color depth. Similarly, -resolution 0x0x32 will force 32-bit

color depth, but allows MAME 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.

-[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 MAME. 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, MAME 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, MAME 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]throttle

Configures the default thottling setting. When throttling is on, MAME

attempts to keep the game running at the game's intended speed. When

throttling is off, MAME 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 MAME

was unable to set the brightness on your card. The default is 0, which

means that MAME 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 MAME 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 MAME performance.

-effect

Apply various blitting effects to emulate the look of Arcade monitors.

Using these modes comes at the cost of reduced emulation speed, which

is inherent to these modes. The current implementation is already as

fast as possible, using self-modifying assembly code. For some of

these, MMX is required. Possible values:

none no effect (this is the default)

sharp no effect, but gives a sharper image

scan25 25% scanlines

scan50 50% scanlines

scan75 75% scanlines

scan75v 75% scanlines (vertical)

rgb3 a certain "monitor mask"

rgb4 another one

rgb4v another one (vertical)

rgb6 another one

rgb16 another one

rgbtiny another one. Choose the one you like best.

-screen_aspect

Give a screen aspect ration in the form X:Y where X is the horizontal

and Y the vertical part. Examples are 4:3 for most resolution settings

on computer monitors, 5:4 for the 1280x1024 resolution or 3:4 for

turnable LCD's in the turned position. The default is 4:3.

-mngwrite <filename>

Writes each video frame to a MNG file, producing an animation of the

game.

Windows video options (Direct3D)

--------------------------------

-zoom [z] / -z [z]

Try to get a resolution that enlarges the emulated game z times. The

default is -zoom 2. MAME determines the resolution automatically. This

option only works with -direct3d.

-[no]d3dtexmanage

Let Direct3D handle conversion of the image to a texture (required to

display it with Direct3D). This is more compatible, but can be

(significantly) slower on some hardware. The default is ON

(-d3dtexmanage). Using -nod3dtexmanage can eliminate a loss of

performance that may occur with some graphics cards when using

-direct3d. This option requires -direct3d.

-d3dfilter [f] / -flt [f]

Select the type of filtering to apply to the image when stretching. 0

is point filtering, 1 is bi-linear filtering, 2 is bi-cubic filtering

(flat kernel), 3 is bi-cubic filtering gaussian kernel), 4 is

anisotropic filtering. Note that very few graphics cards support

bi-cubic filtering, and that older graphics cards may not support

anisotropic filtering. The default is bi-linear filtering (-d3dfilter

1). This option requires -direct3d.

-d3dfeedback [i]

Select the feedback effect intensity in percentages. 0 is disable,

higher values feed back the previous frame to the current one at the

specified intensity. The default is DISABLE (-d3dfeedback 0). This

option requires -direct3d.

-d3dscan [i]

Select the scanline effect intensity in percentages. 0 is black lines

between scanlines, 100 is disable scanline effect. The default is

DISABLE (-d3dscan 100). This option requires -direct3d.

-[no]d3deffectrotate

Apply rotatation so that any effects are rotated along with the game

image. The default is ON. This option requires -direct3d.

-d3dprescale [option]

Pre-scale up the image with point filtering before fitting the image to

the screen. This gives an only slightly fuzzy image even at high

display resolutions. The options are:

none disable.

auto adaptively apply a moderate pre-scale effect,

depending on other efects used.

full adaptively apply an agressive pre-scale effect.

n (where 2 <= n <= 4) pre-scale the image n times.

The default is AUTO (-d3dprescale auto). This option requires

-direct3d.

-d3deffect [preset]

Select an effect preset. Valid presets are:

none no effect (this is the default)

sharp no effect, but gives a sharper image

scan25 25% scanlines

scan50 50% scanlines

scan75 75% scanlines

scan75v 75% scanlines (vertical)

rgbmicro a certain "monitor mask"

rgbtiny another one

rgb3 another one

rgb4 another one

rgb4v another one (vertical)

rgb6 another one

rgb16 another one

rgbminmask another one

dotmedmask another one

rgbmedmask another one

dotmedbright another one (extra bright)

rgbmaxbright another one (extra bright)

aperturegrille another one. Choose the one you like best.

auto adaptively selects a special preset based on

zoom level.

The default is none (-d3deffect none). This option requires -direct3d.

-d3dcustom [custom preset]

Supply a custom preset. The format is <-d3dcustom

1,0,0x0100,0xC0,0,0,0,0x22,-1,8x8_mame_rgbtiny.rgb>. The meaning

of the mumbers is:

1 RGB effects mode: 0 is off, 1 is multiply mode, 2

is add and multiply mode.

2,3,4,5 pattern preprocessing; use mask, white level, black

level, desaturation, respectively.

6 image attenuation

7 feedback (0 is don't use)

8 prescale. bit 4: prescale horizontally, bit 0:

prescale vertically.

9 maximum scanline intensity.

10 pattern filename, including path.

The filename must start with XxY, where X and Y are the dimensions of

the pattern in pixels. Each pixel is represented by 4 bytes, red,

green, blue, and mask, respectively. mask is an on/off value, where 0

is off. This option requires -direct3d.

-d3dexpert [settings]

Undocumented settings intended mostly for developers. This option

requires -direct3d.

Windows misc options

--------------------

-[no]sleep

Since MAME is running in a multitasking environment, it should be nice

to its fellow processes. Therefore, if MAME does not need all

processing power to emulate a game, it gives back already granted

processor time to the operating system. This may not work in every

case, so it can be disabled and MAME turned once again into a CPU hog.

The default is ON (-sleep).

-[no]rdtsc

Prefer RDTSC over QueryPerformanceCounter for timing. The default is

OFF (-nordtsc). -rdtsc sometimes causes problems on laptops, and

-nordtsc may cause problems on desktop computers. If MAME does not

operate smoothly (and you are sure you have enough CPU power for

the emulation), try toggling this.

-priority <priority>

Sets the thread priority for the main MAME thread. Default is -15, which

is IDLE priority, guaranteeing proper cooperation with other apps. The

valid range is -15 to 1, with 1 being the highest priority.

Windows sound options

---------------------

-audio_latency

This controls the amount of latency built into the audio streaming. By

default MAME tries to keep the DirectSound audio buffer between 1/5 and

2/5 full. On some systems, this is pushing it too close to the edge,

and you get poor sound sometimes. The latency parameter controls the

lower threshold. The default is 1 (meaning lower=1/5 and upper=2/5).

Set it to 2 (-audio_latency 2) to keep the sound buffer between 2/5 and

3/5 full. If you crank it up to 4, you can definitely notice the lag.

-wavwrite <filename>

Writes the final mixer output to the given <filename> in .WAV format.

Input device options

--------------------

-[no]mouse

Controls whether or not MAME 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).

WinXP: -mouse is also used to enable lightguns. This allows for multiple

independently tracking lightguns.

-[no]joystick / -[no]joy

Controls whether or not MAME looks for joystick/gamepad controllers.

When this is enabled, MAME will ask DirectInput about which controllers

are connected. The default is OFF (-nojoystick).

-[no]lightgun/ -[no]gun

Controls whether or not MAME treats mouse inputs as lightgun inputs.

Note that most lightguns map to the mouse, so using -lightgun and

-mouse together may produce strange results. The default is OFF

(-nolightgun).

WinXP: -lightgun is ignored. Use -mouse instead.

-[no]dual_lightgun / -[no]dual

Controls whether or not MAME attempts to track two lightguns connected

at the same time. This option requires -lightgun. The default is OFF

(-nodual_lightgun).

WinXP: -dual_lightgun is ignored. Using -mouse will enable 2 or more

lightguns.

-[no]offscreen_reload / -[no]reload

Controls whether or not MAME treats a second button input from a

lightgun as a reload signal. In this case, MAME will report the gun's

position as (0,0) with the trigger held, which is equivalent to an

offscreen reload. This is not needed for all lightgun games. Only

games that required you to shoot off screen need this. And then only

if your gun does not support off screen reloads.

The default is OFF (-nooffscreen_reload).

WinXP: -offscreen_reload is valid to use.

-[no]steadykey / -[no]steady

Some games require two or more buttons to be pressed at exactly the

same time to make special moves. Due to limitations in the PC keyboard

hardware, it can be difficult or even impossible to accomplish that

using the standard keyboard handling. This option selects a different

handling that makes it easier to register simultaneous button presses,

but has the disadvantage of making controls less responsive. The

default is OFF (-nosteadykey)

-[no]keyboard_leds / -[no]leds

Since MAME uses an input device (keyboard) for output, this sort of

belongs here. Using this option enables/disables simulation of the game

LEDs by the keyboard LEDs. This works fine, but can lead to problems

after exiting MAME (i.e. CAPS LOCK remains ON), so you can disable it

here. The default is ON (-keyboard_leds).

-led_mode <ps/2|usb>

For Windows NT and later systems, determines how LEDs on the keyboard

are controlled. In PS/2 mode, MAME uses the low-level keyboard driver

directly to control the LEDs. In USB mode, MAME attempts to post fake

keypresses on the Caps Lock, Scroll Lock, and Num Lock keys in order to

induce the LEDs to change. If you have a PS/2 keyboard, PS/2 mode is the

more reliable approach. Default is PS/2.

-a2d_deadzone / -a2d

If you play with an analog joystick, but the game requires digital

input, MAME needs to convert the signals. Here you can give the ratio

of movement along an axis that accounts for a digital signal. This

option expects a float in the range of 0.0 to 1.0. The default is 0.3.

Note: the current handling is not precise, as it does also implicitely

set the size of the arc which is interpreted as diagonal movement. This

is a known problem but it requires some major rework of the input

handling code to fix it.

-ctrlr <controller>

Enables support for special controllers. Configuration files are

provided for:

hotrod HotRod

hotrodse HotRod SE

slikstik SlikStik

xarcade X-Arcade

-paddle_device <keyboard|mouse|joystick|lightgun> / -paddle

-adstick_device <keyboard|mouse|joystick|lightgun> / -adstick

-pedal_device <keyboard|mouse|joystick|lightgun> / -pedal

-dial_device <keyboard|mouse|joystick|lightgun> / -dial

-trackball_device <keyboard|mouse|joystick|lightgun> / -trackball

-lightgun_device <keyboard|mouse|joystick|lightgun>

Each of these options controls autoenabling the mouse, joystick, or

lightgun depending on the presence of a particular class of analog

control for a particular game. For example, if you specify the option

-paddle mouse, then any game that has a paddle control will automatically

enable mouse controls just as if you had explicitly specified -mouse.

Note that these controls override the values of -[no]mouse, -[no]joystick,

etc.

-digital <all|none|j<N>[a<M>[a<K>...]][,j<X>[a<Y>...]][,...]>

Controls which joystick axes are considered digital. If MAME knows that

a given joystick axis is digital, it can make much better decisions about

how to treat that axis. If you are using a digital gamepad with MAME,

you will want to use this option. There are a number of ways to do this:

-digital all means that all axes of all connected joysticks will be

treated as digital.

-digital none means that all axes of all connected joysticks will be

treated as analog (this is the default behavior).

-digital j2 will treat all axes of joystick #2 as digital; axes on all

other joysticks will be treated as analog.

-digital j1a0a1 will treat axis 0 and 1 on joystick #1 as digital; all

other axes will be treated as analog.

-digital j1a0a1,j2a5 will treat axis 0 and 1 on joystick #1 as digital,

as well as axis 5 on joystick #2; all other axes will be treated

as analog.

Make use of the information provided by -verbose to determine which

joysticks and axes you should be configuring this way.

MAME core video options

-----------------------

-[no]norotate

-[no]ror

-[no]rol

-[no]autoror

-[no]autorol

-[no]flipx

-[no]flipy

These are the standard MAME rotation options. They are all OFF by

default.

-gamma

This controls the global gamma correction in the game. It is the same

gamma that is applied when you bring up the on-screen-display within

MAME. The default is 1.0.

-brightness / -bright

This controls the global brightness correction in the game. It is the

same brightness that is applied when you bring up the on-screen-display

within MAME. The default is 1.0.

-pause_brightness

This controls the brightness level when MAME is paused. The default

value is 0.65.

MAME core vector options

------------------------

-[no]antialias / -[no]aa

Antialiasing for vector games. The default is ON (-antialias).

-[no]translucency / -[no]tl

Enables or disables vector translucency. Colors of crossing vector

beams will be merged. The default is ON (-translucency).

-beam

Sets the width in pixels of the vectors. This option expects a float in

the range of 1.00 through 16.00 as argument. The default is 1 (1 pixel

wide).

-flicker

Makes the vectors flicker. This option requires a float argument in the

range of 0.00 - 100.00 (0=none, 100=maximum). The default is 0.

-intensity

Sets the intensity correction for the beam. Higher values give a

brighter beam. This option expects a float in the range of 0.5 through

3.0 as argument. The default is 1.5.

MAME core sound options

-----------------------

-samplerate / -sr

Sets the audio sample rate. Smaller values (e.g. 11025) cause lower

audio quality but faster emulation speed. Higher values (e.g. 44100)

cause higher audio quality but slower emulation speed. The default is

44100.

-[no]samples

Use samples if available. The default is ON (-samples).

-[no]sound

Enable or disable sound altogether. The default is ON (-sound).

-volume / -vol

Sets the startup volume. It can later be changed with the On Screen

Display (see Keys section). The volume is an attenuation in dB: e.g.,

"-volume -12" will start with -12dB attenuation. The default is 0.

MAME core misc options

----------------------

-[no]artwork / -[no]art

Enable or disable usage of additional artwork (backdrops, overlays,

etc.). The default is ON (-artwork).

-[no]use_backdrops / -[no]backdrop

Enables/disables the display of backdrops. The default is ON

(-use_backdrops).

-[no]use_overlays / -[no]overlay

Enables/disables the display of overlays. The default is ON

(-use_overlays).

-[no]use_bezels / -[no]bezel

Enables/disables the display of bezels. The default is ON

(-use_bezels).

-[no]artwork_crop / -[no]artcrop

This will crop the artwork to the game screen area only. The default is

OFF (-noartwork_crop).

-artwork_resolution / -artres

Scale the game by this factor to accommodate for higher resolution

artwork. The default is 0 (auto).

-[no]cheat / -[no]c

Cheats, like the speedup in Pac Man or the level-skip in many other

games, are disabled by default. Use this switch to turn them on. The

default is OFF (-nocheat).

-[no]debug

Activates the integrated debugger. During emulation, press the tilde

key (~) to activate the debugger. This is available only if the program

is compiled with MAME_DEBUG defined. The default is OFF (-nodebug).

-playback / -pb

Expects a filename as parameter. Play back all game inputs from from

file INP/filename.inp. The gamename is contained in this file,

therefore a gamename needs not be given on the commandline.

-record / -rec

Expects a filename as parameter. All game inputs are written to the

file INP/filename.inp.

-[no]log

Creates a log of illegal memory accesses in ERROR.LOG. The default is

OFF (-nolog).

-[no]oslog

Outputs error.log data to the Windows debugger instead of to a file.

Default is OFF (-nooslog).

-[no]skip_disclaimer

Forces MAME to skip displaying the disclaimer screen. The default is

OFF (-noskip_disclaimer).

-[no]skip_gameinfo

Forces MAME to skip displaying the game info screen. The default is OFF

(-noskip_gameinfo).

-bios

Expects a BIOS name as the parameter. -listxml will list the possible

BIOS names for a game/system.

-state <slot>

Starts MAME and loads a saved state immediately from the specified slot.

Other MAME frontend options

----------------------------

Note: By default, all the '-list' commands below write info to the screen. If

you wish to write the info to a textfile instead, add this to the end of your

command:

> filename

...where 'filename' is the textfile's path and name (e.g., c:\mame\list.txt).

-help / -?

Displays current MAME version and copyright notice

-listxml / -lx

List comprehensive details for all of the supported games. The output

is quite long, so better redirect this into a file. The output is in

XML format.

-listfull / -ll

Displays a list of game directory names + descriptions.

-listsource / -ls

Displays the source file (in the drivers directory) containing the

driver for the specified game. Useful for finding which driver a game

runs on in order to fix bugs.

-listclones / -lc

Lists clones of the specified game. When no game is specified, this

generates a list of all MAME-supported clones.

-listcrc

List CRC32 checksums of rom files

-listroms

Displays ROMs required by the specified game.

-listsamples

Displays samples required by the specified game.

-verifyroms

Checks specified game(s) for missing and invalid ROMs. Adding "*"

checks all available games.

-verifysamples

Check selected game for missing samples. Adding "*" checks all

available samples.

-romident

Attempts to identify ROM files, if they are known to MAME, in the

specified .zip file. Can be used to try and identify ROM sets taken

from unknown boards.

-isknown

Very terse romident.

Keys

----

Tab Toggles the configuration menu

Tilde Toggles the On Screen Display. Use the up and down arrow keys to

select the parameter (global volume, mixing level, gamma

correction etc.), left and right to arrow keys to modify it.

P Pauses the game

Shift+P While paused, advances to next frame

F1 Toggle crosshairs for games that use them

F2 Service Mode

F3 Resets the game

F4 Shows the game palette, decoded GFX, and any tilemaps

Cursor left/right changes between palette, GFX and tilemaps

Cursor up/down cycle through valid palettes

Page up/down scroll through the palette and GFX

Page up/down, D, G scroll the tilemap display

Ctrl & Shift are modifiers to change movement speed.

F4 or Esc returns to the emulation.

Note: Not all games have decoded graphics and/or tilemaps.

F6 Toggle cheat mode (if started with "-cheat")

F7 Load a 'Save State'. You will be requested to press a key to

determine which Save State you wish to load. Note that the 'Save

State' feature is for developing drivers and not intended for

users. It is incomplete and works only on a number of drivers. Use

at own risk.

Shift+F7 Create a 'Save State'. Requires an additional keypress to identify

the state.

F8 Decrease frame skip on the fly

F9 Increase frame skip on the fly

F10 Toggles speed throttling

F11 Toggles speed display

Shift+F11 Toggles profiler display (debug builds only)

F12 Saves a screen snapshot. The default target directory is SNAP.

ESC Exits emulator


.topic 0x809d0488
Analog joystick deadzone
.topic 0x809f0425
Anti-alias vectors
.topic 0x809e03fa
Crop artwork to game dimensions
.topic 0x809e0487
Artwork resolution [higher = slower]
.topic 0x809e043b
Use background artwork
.topic 0x809c04f5
Set aspect ratio, 4:3, 5:4
.topic 0x809c04f4
Set aspect ratio, 4:3, 5:4
.topic 0x809c0480
Skip frames as needed to maintain full speed
.topic 0x809e03f9
Use backdrop artwork if available
.topic 0x809f0426
Set the beam width in pixels for vector games
.topic 0x809e03fd
Use bezel artwork if available
.topic 0
Adjust the DDraw brightness of full-screen game
.topic 0x809a0400
Adjust brightness of game screen
.topic 0x80ad0486
Allow other programs to see game played
.topic 0x809e03f6
Enable built in game cheats
.topic 0x809c0411
Use Direct Draw for graphic routines
.topic 0x809d0465
Set game key control mapping method
.topic 0x809a047e
Use effects to simulate original monitor resolution
.topic 0x80a9049a
Hide Clones and show Original games
.topic 0x80a904d5
Display games based on text input
.topic 0x80a90499
Hide Non-Working and show Working games
.topic 0x80a904a3
Hide Original games and show Clones
.topic 0x80a90496
Hide Raster games and show Vector games
.topic 0x80a90498
Hide Available game
.topic 0x80a90495
Hide Vector games and show Raster game
.topic 0x80a904a4
Hide Working games and show Non-Working games
.topic 0x809f0427
Adjust the amount of flicker in vector games
.topic 0x809a0408
Flip the display sideways
.topic 0x809a0409
Flip the display upside down
.topic 0x809c03f4
Allows skipping frames
.topic 0x809a03ff
Adjust gamma correction in games
.topic 0x806504cb
Display contents of history.dat if present
.topic 0x809c04dc
Enable hardware stretch if supported by videocard [use 16bpp, or 32bpp]
.topic 0x809f0428
Adjust the intensity/brightness of vectors
.topic 0x809d03eb
Use direct joystick as input device
.topic 0x80ad0485
Allows navigating the UI with the joystick
.topic 0x809a0473
Enforce set aspect ratio when sizing windowed game
.topic 0x80b204d1
Notes language used for in-game menus
.topic 0x80b204d4
Select and choose language for in-game menus
.topic 0x809d03fc
Use keyboard LEDs as game indicators
.topic 0x809e03f7
Turn on error logging
.topic 0x809c04e1
Adjust monitor refresh to match original game's refresh
.topic 0x809a0472
Start game at maximum size in windowed mode
.topic 0x809e03fb
Use overlay artwork if available
.topic 0x809c0486
Reset all properties to the original values
.topic 0x809c04ec
Set monitor refresh rate
.topic 0x809c04e8
Set video color depth
.topic 0x80aa04a2
Reset default game options to installation defaults
.topic 0x80aa049f
Remove custom filters from all game folders
.topic 0x80aa049d
Reset all games to use default options
.topic 0x80aa049e
Reset the User Interface to its default state for fonts, colors, window position, and splitter position
.topic 0x809a03f2
Rotate the game screen
.topic 0x809b0403
Sample rate: 11025, 22050, 44100, or 48000
.topic 0x809b0461
Use sound samples
.topic 0x809a03f5
Horizontal Scan Lines [cannot use with hardware stretch]
.topic 0x809c03ef
Available screen resolutions in full screen mode
.topic 0x809e03f8
Use less CPU time slices when possible
.topic 0x80ad045b
Search for new games
.topic 0x809d0480
Enable multiple key presses at the expense of more sluggish control
.topic 0x809c04de
Allow changing from Windows desktop color depth
.topic 0x809c04dd
Allow changing from Windows desktop resolution
.topic 0x809c04e2
Sync game to monitor's refresh rate
.topic 0x809a0478
Throttle games to original FPS speed
.topic 0x809f0476
Enable vector game translucency
.topic 0x809c04ce
Enable triplebuffering to potentially alleviate tearing in scrolling games
.topic 0x809c041b
Restore all properties to default option values
.topic 0x809d0477
Allow mouse use for analog control based games
.topic 0x809b046d
Enable sound in games
.topic 0x809b045d
Adjust initial sound volume
.topic 0x809c04da
Wait for monitors vertical sync before drawing frame alleviate tearing in windowed mode.
.topic 0x809a0445
Play game in a window
.topic 0x806a048d
Allow use of lightgun for analog shooting games
.topic 0x809a049c
Brightness of the screen when paused
.topic 0x809e049b
Toggle on for Desktop systems, off for Laptops.
.topic 0x80ad0491
Use a different background image on each run.
.topic 0x809e0499
Skips the game information screen when the emulation starts.
.topic 0x809e049e
Thread priority slider, default is 0.  Running at real-time 1 is not recommended for control lag and sound desync.
.topic 0x80b8049f
Utilise hardware assisted Direct3D [may or may not be faster than DirectDraw counterparts].
.topic 0x80b804a0
Apply various filtering methods to stretched game image.
.topic 0x80b804a1
To be toggled only on certain video configurations where the D3D effects aren't working well or very slowly.
.topic 0x809b04a2
Adjusting this can often eliminate desync of the sound and associated scratchiness.
.topic 0x80b804a3
Apply various masks to stretched image to simulate an arcade monitor grill.
.topic 0x80b804a5
Apply sharpening prior to stretch, results in less blury effects.
.topic 0x80b804a9
Adjust the scanline intensity.
.topic 0x80b804b0
Adjust feedback/phosphor trail simulation.
.topic 0x809e04b4
Select from various supported NeoGeo BIOSes.
.topic 0x809a04b2
Use in conjunction with auto resolution.
.topic 0x809a04a7
Do a non-aspect ratio corrected fullscreen stretch.
.topic 0x80b804a6
De-select to allow horizontal scanlines & effects in vertical games.
.topic 0x809d04c3
Allows remapping of reload functionality in shooting games.
.topic 0x809d04c4
Allows use of a dual lightgun setup.
.topic 0x809e0498
Allows autoloading of a savestate in supported games.