Mamewah Beta
Contents
Differences in 1.62
The most recent beta version of Mamewah is 1.62b10. 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 startup_app_commandlines exit_app_commandlines exit_and_run_app_commandlines in \config\<emu>\<emu.ini> pre_emulator_app_commandlines post_emulator_app_commandlines general_app_commandlines
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.
Changelog
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)
Bugs Fixed:
General
- Programs may not have launched correctly under Windows 98 due to pointing to incorrect command.com 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)
Images
- Images would be displayed with incorrect aspect ratio if screen ratio not 4:3 (fixed),
Video
- 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)
Movies
- 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?)
Screensaver
- 'slideshow' screen-saver would not show all images (fixed),
Music/Sound
- 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)
Lists
- '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),
Emulators/Apps
- 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).
LCD
- emuname LCD text would not be updated when switching emulators (fixed)
Input
- 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:
General
- (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
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
Images
- Replaced artwork_x_image_path settings with single artwork_image_paths setting
Video
- 60Hz Refresh rate is defaulted to if unavailable refresh rate is set
Movies
- Changed delay_before_movie_preview to allow decimal values (minimum 0.001 = 1/1000 second),
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).
Music/Sound
- 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
Lists
- 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!
Emulators/Apps
- 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:
- mame
- fusion
- zsnesw
- 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
Search
- 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)
Theme
- '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
Input
- 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,
- Renamed SELECT_EMULATOR, NEXT_EMULATOR & PREVIOUS_EMULATOR shortcut events to SELECT_PLATFORM, NEXT_PLATFORM & PREVIOUS_PLATFORM respectively,
- 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
LCD
- Removed lcd_fe_text in favour of using emuname.lcd in lcd_display_file_path (some character codes could not previously be used)