Share

MAMEoX (MAME on XBOX)

File Release Notes and Changelog

Release Name: MAMEoX v0.66b

Notes:
MAMEoX v0.66b included a critical bug which would cause the MAMEoX.xbe utility executable to crash when loading any ROM file.
  For this reason the archive has been removed, the release is listed for historical purposes only.



Changes: Version 0.66b - \MAME\src\usrintrf.c - Added a call to LoadDriverDataSections() in the block of code where the drivers[] array is parsed to find a working clone of a ROM that is tagged as invalid. This fixes crashes for these games (such as Alexx Kid set 1) - \MAMEoX\Includes\MAMEoX.h - clonename, manufacturer, year added into MAMEDriverData_t - \MAMEoX\Sources\xbox_Main.cpp - clonename, manufacturer, year added into DriverList (Save) - \MAMEoXLauncher\Sources\main.cpp - clonename, manufacturer, year added into DriverList Load) - \MAMEoX\Includes\Gamepad.h - \MAMEoX\Sources\Gamepad.cpp - Added CGamepad class w/ helper functions for button state checking - \MAMEoX\Includes\StdString.h: - Defined SS_NO_IMPLICIT_CAST to force us to use c_str(). Apparently the CStdString class cannot be passed as an elipsis argument, which is why it sometimes crashes in PRINTMSG macros. (See the notes for SS_SAFE_FORMAT in this file) - \MAMEoX\Includes\MAMEoX.h - Updated version number - Save superscroll index when launching the utility XBE - Renamed WaitForNoKey and WaitForKey to WaitForNoButton and WaitForAnyButton resp. - Added LAUNCH_RUN_AS_IF_REBOOTED command to properly handle case where MAMEoX.xbe is started instead of default.xbe - \MAMEoX\Sources\xbox_Main.cpp - Removed unloading of game sections after a game was run, this speeds up the return to the game selection by quite a bit. (opcode) - Hopefully disabled memory card initialization, as it causes crashes - Changed build process to use custom imagebld.switch files, setting the driver sections to \NOPRELOAD as originally intended. This allows us to remove the Unload and Load general section calls and just load the individual sections that we need, speeding up load times. - Adaptations for CGamepad addition - Added LAUNCH_RUN_AS_IF_REBOOTED command to properly handle case where MAMEoX.xbe is started instead of default.xbe - \MAMEoX\Sources\MAMEoXUtil.cpp - Added network and directory ini entries to SaveOptions - Added "DisableNetworking" option to ensure that networking is not started at all if not wanted. For some reason my current network setup takes about 40 seconds to boot in debug mode, this is a hack until I figure out why. - Renamed WaitForNoKey and WaitForKey to WaitForNoButton and WaitForAnyButton resp. - Adaptations for CGamepad addition - \MAMEoX\Sources\xbox_FileIO.cpp: - Fixed a problem where the file was new'd but not memset to 0, causing the fileposition and other members to be undefined. - \MAME\src\vidhrdw\namcos1.c - Reverted back to MAME 0.60 version of this file some update after 0.60 made it crash the xbox, but works fine on the pc version of MAME. This makes namco system 1 games work now, whereas before they would load the roms then crash when video was started. (opcode) - \Sectionize.pl - Updated to dump two imagebld.switch files, one for debug, one for release. Hopefully this can be used to eliminate the need to unload a ton of sections before executing each ROM - Updated to also sectionize CPU files - Fixed a stupid mistake that may have caused some driver files not to be loaded when they should've been. - \imageblddbg.switch - \imagebld.switch - \DBGMAMEoX_XBE.bat - \MAMEoX_XBE.bat - Added files necessary to generate MAMEoX.xbe without preloaded XBE sections. - These files were immediately removed, as I didn't like the way it ended up working, did some profiling, and realized that it wasn't making a noticeable difference (even in debug mode) - \MAMEoXLauncher\Sources\main.cpp - Hopefully disabled memory card initialization, as it causes crashes - Improved error messages for missing files - Adaptations for CGamepad addition - Added LAUNCH_RUN_AS_IF_REBOOTED command to properly handle case where MAMEoX.xbe is started instead of default.xbe - \MAMEoXLauncher\Includes\ROMList.h - \MAMEoXLauncher\Sources\ROMList.cpp - Save superscroll index when launching the utility XBE - Adaptations for CGamepad addition - \MAMEoXLauncher\Sources\Help.cpp - Adaptations for CGamepad addition - Turned off cursor highlighting - Changed text color to blue from green - \MAMEoXLauncher\Sources\OptionsPage.cpp - Adaptations for CGamepad addition - Added read-only pages for network and directory options - \ZLIB\ZLIB.vcproj - \MAMEoXLauncher\MAMEoXLauncher.vcproj - \MAMEoX\MAMEoX.vcproj - \MAME\MAME.vcproj - \libsmb++\libsmb.vcproj - Changed all debug versions to use single-threaded debug lib to stay inline w/ release mode - Fixed problem where MAMEoX project attempted to use the release mode libsmb in debug mode, making it impossible to automatically build from clean in debug mode (unless it was done following a release build) - Changed MAMEoX XBE to use runtime checking on uninitialized vars and stack validity in debug mode, led to discovery of an apparent stack overflow and slight increase of stack size --- Specific Game fixes -------------------------------------------- Ataxx Asylum Alex Kidd (Set 1) - The ROM is tagged as non-working, but no longer crashes U.S. Classic Hyper Sports Hyper Olympics '84