Mamewah Beta

Jump to navigation Jump to search

Differences in 1.62

The most recent beta version of Mamewah is 1.62b13a. To alleviate some confusion for those that have not yet upgraded to the latest Mamewah beta version, the following will describe the changes between the previous official version of 1.61.

There have been a few of what I would consider major changes.

Config/File Structure

As of v1.62b3, the entire layout/emulator/ctrlr setup has changed. It has been altered through some of the later versions of the beta, but Mamewah now uses a slightly different file structure then in 1.61.

All configuration, with the exception of mamewah.ini in the main\root folder, is now in a \config folder.

The default keys are now configured in \config\mamewah.cfg, instead of the previous \ctrlr\default.ini. The ctrlr folder will no longer exist.

The emulator config files are now stored in \config\<emuname>\. The \ini folder will no longer exist.

The default layout files are now stored directly in the \config\ folder, and emu/list specific theme folders can be put in \config\<emuname>\<theme>.

The new game specific ini files can be stored in \config\<emuname>\game\

Additional Features

  • group?.ini: allowing you to combine multiple emulators to one list.
  • game specific ini files: allowing you to configure each game individually.
  • fuzzy search: ?
  • themes: you can now change themes for your lists, without leaving mamewah
  • additional ctrlr actions: because of additional features, there are also some additional action/events that you may need/want to configure inputs for.
  • auto-emu-setup: attempts to automatically setup emulators, based on 'emulator_root_path' option (the root path of all your emulators, like c:\emulators\)
  • emulators.ini: allows you to have a list of emulators to display, and determines what order to display them in
  • feature improvements: there has been numerous improvements and minor additions that cannot be listed here

External Applications

Note: 1.62beta currently provides the following external application options

in mamewah.ini


in \config\<emu>\<emu.ini>


Changed/Missing Options

Many options in the configuration files have changed names or been replaced with newer, more powerful options. For instance, there is no longer a specific ipac section, but you do this using the startup/exit commandlines in Mamewah ini, and the pre/post emulator commandlines in emulator specific inis.

The changes made in this version should ultimately make things a bit easier to understand when setting it up, but it may be a little odd for those of you that have been using it for a while and decide to change over.

Another good note is that the log file has also been improved quite a bit, which may help in determining setup problems.


Here is the complete changelog, this is the whatsnew from the 1.62bX versions, organized by categories on what’s been fixed/updated:

MAMEWAH (as of v1.62b10 (26/01/06)

(*) NOTE: due to differences in listxml outputs from different versions of MAME, some info may not be available (MAME v0.107-0.108 currently tested OK)

Bugs Fixed:


  • Programs may not have launched correctly under Windows 98 due to pointing to incorrect location (fixed).
  • Some error handlers were incorrectly labelled (fixed)
  • Main screen position may have not been in top/left (most apparent in safe_mode) (fixed)
  • Options/message screen position may have not been centred (most apparent in safe_mode) (fixed).
  • Some settings in ini files would not allow (valid) blank entry (fixed)
  • commandline's may not include filenames with any extension (not just .exe)
  • selected platform menu 'highlight' would sometimes be incorrect (fixed),
  • 'Current Setting' for Select Theme menu did not show (fixed),
  • Themes may not have been listed in alphanumerical order (fixed),
  • Problems could occur if Mamewah run with no \config\emuname folders present (fixed),
  • Vertical screen games were incorrectly classified as horizontal (fixed),
  • Runtime Error 9 may have occurred on some systems (fixed, ensured ini files are not attributed with 'archive' flag),


  • Images would be displayed with incorrect aspect ratio if screen ratio not 4:3 (fixed),
  • Image aspect ratio's were wrong with vertical layouts (fixed),


  • Resolution would change after playing a game with safe_mode 1 (fixed)
  • Video mode might not be correctly selected, especially after using run_random_game_and_quit screen-saver (fixed)


  • Runtime Error 91 may occasionally occur in MoviePlay (fixed?)
  • Preview movie would play even if no artwork objects exist (fixed)
  • Preview movie from an unselected emulator could kick in when an empty list was selected (fixed?)
  • Runtime Error 91 may occasionally occur in Movie_Stop (fixed?),


  • 'slideshow' screen-saver would not show all images (fixed),
  • Menu may malfunction if open while screensaver activated (fixed),
  • Romnames displayed with 'slideshow' screensaver instead of game description (fixed),
  • slideshow screensaver did not work correctly - did same as gamelist_slideshow (fixed),


  • Music would incorrectly continue playing for emulators without a music_path assigned (fixed).
  • Emulator-specific music would 'unpause' after switching emulators (fixed),
  • Music would not resume after movie when using music_movie_mix pause_music (fixed)
  • Game launch sound may be played twice simultaneously (fixed)
  • Problems may occur with sound/music after launching external applications (fixed)
  • Exit sound would be cropped if using post emulator applications (fixed at last!).
  • Problems occurred with music when using next/revious track controls (fixed).


  • 'list_generation_method auto' would pick incorrect method for MAME v0.100+ (fixed)
  • Problems might occur with NEXT_ & PREVIOUS_ shortcuts if no themes/groups/emulators exist (fixed)
  • emuname's which had a space in them would be ignored when using group.ini file (fixed).
  • gamename.ini file contents would be reset when game is run (fixed)
  • Games List Options may not have been visible if \emuname folder and emuname.ini were not named with the same case (fixed)
  • Games List Options may not appear in menu! (fixed)
  • Transition between layouts was poor (when switchin emulators/lists) (fixed)
  • Selecting emulator or games list currently selected would cause menu to stop working correctly (fixed),
  • 'display_clone_info 1' in list-specific ini's would be ignored when adding games to a list (as opposed to generating a filtered list) (fixed),
  • rom_folder and rom_folder_subfolders list_generation_method's would not work (fixed).


  • Games with 2-character rom_extension's would not launch properly (fixed).
  • Current directory could be set wrong when using {autodosbox} (fixed)
  • MAMEWAH would crash if options menu was brought up while no emulators were setup (fixed)
  • Emulator might not have been terminated properly when using run_random_game_and_quit screen_saver (fixed)
  • Some emulator_commandline's for PC apps might not work correctly (fixed)
  • Error would occur when launching an app with game-specific place-holders if no games existed in list (fixed).
  • 'emuname' folder attributes (eg archive) may prevent emulator being available (fixed),


  • emuname LCD text would not be updated when switching emulators (fixed)


  • Problems may occur with the ctrlr system, if the same input is used for more than one shortcut (eg SELECT_EMULATOR & OP_MENU_BACK) (fixed).

Improvements / Changes:


  • (Hopefully) improved general code speed when scrolling
  • Options menu no longer displays 'Exit & Run Application(s)' when no 'exit_and_run_app_commandlines' setting is specified
  • Changed whole emulator setup/layout/ctrlr structure (see config.txt)
  • Removed 'layout' and 'ctrlr' settings (see above)
  • Removed 'correct_orientations' setting
  • Improved safe_mode so that it prevents resolution change
  • Improved/streamlined several sections of code (namely for selecting emulator/games list, launching emulators/applications & updating lcd display)
  • Renamed 'Exit and Run Application' to 'Exit & Run Application(s)'
  • Removed WinIPAC specific settings as this can be achieved using new settings (see startup/exit/pre/post app_commandlines)
  • Added startup_app_commandlines setting for automatic launching of app(s) on startup,
  • Added exit_app_commandlines setting for automatic launching of app(s) on exit
  • Added check for previous running instance of Mamewah to prevent problems when running two or more instances.
  • Added 'Show ALL BIOS' and 'Show NO BIOS' options in 'BIOS Filter' menu,
  • Added 'Show ALL Input Types' and 'Show NO Input Types' options in 'Input Type Filter' menu,
  • Removed 'processed' input types for improved compatibility with all MAME versions, and for usefulness with [input] place-holder,
  • Improved BIOS Filter to show descriptions rather than romnames.
  • Added 'description_display' option, to customise what is displayed for the selected game description (also added new placeholder, '[crlf]' added for carriage return),
  • Added ability to scroll the info displayed for the game description - use '{scroll}' in the new option above,
  • Improved the game description (& options menu item) cropping, to maximise no. characters fully displayed in games/options lists,
  • [placeholders] and {flags} are no longer case-sensitive,
  • Added history.dat support (see history_dat_file, history_dat_artwork_no & delay_before_history_dat options, & TOGGLE_HISTORY_DAT_DISPLAY input event).

Log File

  • Added version number to log file
  • Added log entries for DirectInput initialization
  • Added log entries for DirectInput initialization
  • Improved logfile to help diagnose problems
  • Added 'maxlogsize' setting to limit size of mamewah.log


  • Replaced artwork_x_image_path settings with single artwork_image_paths setting


  • 60Hz Refresh rate is defaulted to if unavailable refresh rate is set


  • Changed delay_before_movie_preview to allow decimal values (minimum 0.001 = 1/1000 second),
  • delay_before_movie_preview may now be set to 0 in case you want to use shortcut only to display movie previews (see below),

Screen Saver

  • Renamed 'slideshow' screen-saver to 'gamelist_slideshow' and changed old 'slideshow' to use all available images,
  • Added 'gamelist_movie' screen-saver which only uses movies for corresponding games in the current games list
  • Added 'select_random_game 2' setting, which returns to the game selected pre-screensaver, when the saver has finished
  • Added select_random_game option for screesavers
  • Replaced 'run_selected_game', 'run_random_game' & 'run_random_game_and_quit' screen saver_type's with 'run_game'
  • quit_delay must now be set to 0 to prevent game from auto-quitting with 'saver_type run_game'
  • Replaced wrapper_commandline option with saver_commandline,
  • Removed 'run_random_game_using_wrapper' & 'launch_scr' saver_type's - these can be achieved using 'saver_type saver_commandline' (note: use /s after .scr filename for Windows savers).


  • Track positions now used when switching emulators with emulator-specific music (to prevent the track starting again from the beginning),
  • Improved muting to mute all channels as opposed to lowering output level to zero (which can allow sound 'leaks'),
  • 'Rewind' and 'Fast Forward' menu options are now only available if music is enabled
  • Renamed 'Music Options' to 'Audio Options' and incorporated volume controls
  • Removed delay between switching emulators and emulator-specific music starting
  • Added volume level display in Options Menu when 'volume' options are highlighted,


  • Improved 'list_generaion_method auto' to pick up rom_folder_subfolders (if more subfolders than files exists in rom_folder),
  • Added 'list_generation_method rom_folder_subfolders' (again) to enable rom_extension(s) to be used
  • Improved 'rom_extension auto' to detect multiple extensions, and include subfolders for 'list_generaion_method rom_folder_subfolders'
  • Improved 'emulator_commandline auto' when 'list_generation_method rom_folder_subfolders' is used
  • Added ability to use list-specific 'no artwork' image
  • Options menu no longer displays 'Games List Options' when no list specific ini's exist for the selected emulator
  • Options menu no longer displays 'Games List Options' when no emulators exist
  • Improved 'Select Platform' submenu to default to current emulator
  • Improved 'Select Games List' submenu to default to current list
  • Removed rom_folder_subfolders list_generation_method (use rom_folder with no rom_extension instead)
  • Added 'auto' rom_path, dat_file, nms_file, catver_ini_file and list_generation_method setting
  • Updated list generation routine to handle MAME's new 'emulation' and 'graphic' status
  • Improved message display while generating a list to make it more obvious something is happening!
  • Renamed 'rom_folder_vs_listxml' list_generation_method to 'rom_folder_vs_xml2info',
  • Renamed 'verifysets_vs_listxml' list_generation_method to 'verifysets_vs_xml2info',
  • Added check for xml2info.exe for _xml2info list_generation_method's (note added to log when missing),
  • Added automatic creation of missing list-specific ini files between 0 and the highest found existing ini (this prevents problems apparent with missing ini files)
  • Altered check for xml2info.exe to allow xml2info.bat too, for Kricks xml2info xsl batch file,
  • Added 'list_generation_method rom_folder_vs_listxml' for MAME v0.107+ (*),
  • Added 'list_generation_method verifysets_vs_listxml' - probably redundant as -verifysets no longer exists but may be of use with older MAME versions (*),
  • New listxml parsing allows multiple display types and controls for improved filtering,
  • Updated listxml reading process to obtain screen/control info from MAME versions prior to v0.107 (there are probably still issues with some MAME versions
  • Improved error handling in dat/xml etc. reading routines (see mamewah.log if anything unexpected occurs),
  • Hopefully slightly improved speed of DAT/XML reading routines,


  • Improved emulator structure to include emulator (not theme) specific stuff (& a few other things - see config.txt)
  • Added ability to use multiple rom extensions
  • Renamed [emupath] & [emuname] place-holders to [emuexepath] & [emuexename] respectively
  • Added [emuname] place-holder, which refers to the name given by the \config\emuname subfolder and ini files
  • Added [emurootpath] place-holder to refer to setting in emulator_root_path
  • Added auto_setup_emulators setting to enable/disable automatic folder/file creation based on emulator_root_path.
  • Added [emupath] & [emuname] placeholders, which can be used in any filename or path setting in emuname.ini
  • Added \game subfolder for game-specific ini files (this is auto created when \config\emuname folder exists)
  • emuname-0.ini is now auto created as well as emuname.ini, when \config\emuname folder exists
  • Added automatic naming for emulator_title and list_title
  • Added 'emulator_root_path' option for auto-creation of \config\emuname subfolders and ini files
  • Added 'emulator_commandline auto' setting - must be used in conjunction with emulator_root_path (see above)
  • Added 'rom_extension auto' setting (picks most common extension in rom folder)
  • Altered 'auto' settings so that auto-determined setting is indicated in the ini file
  • Added 'group' system in order to group emulators using 'Group Name.ini' files
  • Added ability to use \mamewah\emulators.ini, to hold a list of emulators you wish to display (in order), eg:
  • Romnames are now always sent in lowercase for maximum emulator compatibility
  • Improved game-specific config files
  • Merged emulator_executable and commandline_format to form emulator_commandline
  • Removed (emulator & list specific) alt_commandline_format_1/2,
  • Removed game_specific_config_path
  • Added pre_emulator_app_commandlines setting for applications to be launched prior to an emulator
  • Added post_emulator_app_commandlines setting for applications to be launched after an emulator
  • Improved PC app launching to support game-specific config and all commandline flags
  • Removed app_x_executable, app_x_commandline_format & auto_launch_apps setting as this can be achieved using new settings (see below)
  • Added general_app_commandline_formats setting for input-activated applications
  • Merged wrapper_executable and wrapper_commandline_format to form wrapper_commandline
  • Added {wait} and {nowait} flags...{nowait} can be used to make MAMEWAH execution continue while an application/emulator is running
  • Added {autoquit} {noautoquit} flags, for startup_app's & pre_emulator_app's (must be used in conjunction with {nowait})
  • Added {quitafter?} flag, to quit a launched app after ? seconds (must be used in conjunction with {wait})
  • Added {normal}, {min} & {max} flags to set the windowstate of launched apps/emulators


  • Improved speed of 'fuzzy search'
  • Added 'enable_fuzzy_search' option for images/movies (default is off for performance reasons)
  • Added 'fuzzy search' for movie preview files based on romname (intended mainly for console emulators)
  • Added 'fuzzy search' for image files based on romname (intended mainly for console emulators)


  • 'Select Theme' menu option now only appears if at least one theme (+ default layout) exists
  • Altered layout object priority so text objects can be placed over artwork images (although this is not recommended for performance reasons)
  • Changed layout system slightly so background images need to be within the same folder as .lay file
  • Removed auto selection of first available theme
  • Added 'Select Theme' submenu
  • MAMEWAH now attempts to find an available theme if the current global theme isn't available
  • Altered layout & sound file structure again (sorry...see config.txt)
  • Improved layout transition slightly (especially in safe_mode)
  • Removed 'built-in' layout - log now reports if no valid layout is available


  • Improved input system to allow shortcuts to be held for certain events (currently VOLUME_DOWN/UP AND REWIND_TRACK/FF_TRACK) - this also includes within options menu
  • Improved input system to allow analog settings to take effect for events such as VOLUME_DOWN/UP AND REWIND_TRACK/FF_TRACK,
  • Added 'theme' option and NEXT_THEME & PREVIOUS_THEME shortcuts
  • Added shortcut support for launching up to 5 'general' applications (LAUNCH_APP_1-5)
  • Added 'Play/Pause' music option (& PLAY_OR_PAUSE ctrlr input event)
  • Added 'Select Group' menu, 'SELECT_GROUP', 'NEXT_GROUP' & 'PREVIOUS GROUP' shortcut events and 'GROUPCHANGE' sound event
  • \ctrlr folder is now auto-created if it does not exist
  • * Ctrlr file input codes are no longer case-sensitive,


  • Removed lcd_fe_text in favour of using emuname.lcd in lcd_display_file_path (some character codes could not previously be used)

Back to Mamewah frontpage