Xmame history:

Last Modified by Lawrence Gold (gold@xmission.com)

Release 0.106, 27 May 2006

  • Everything from MAME 0.106 (changes-mame.html) and
    MESS 0.106 (changes-mess.html).
  • Reverted a change that was intended to work around some Metacity
    focus misbehavior but was causing all window managers to have focus
    problems in fullscreen mode.
  • Fixed a link error for messtest. (Arnaud G. Gibert)
  • The clean68k target now removes libcpu.a, which fixes link errors for
    successive builds made without a full clean. (Arnaud G. Gibert)
  • Fixed an alignment bug in the OpenGL driver which caused Defender,
    and possibly other 16bpp games, to be skewed.
  • The mouse is no longer automatically grabbed in fullscreen mode.
    Bugzilla bug 877.
  • Replaced fuzzy game name comparison with the method used by MAME for
    Windows, which lists approximate matches when an exact match isn't
    found.
  • A BadMatch error should no longer occur for the OpenGL target in some
    cases, such as when 16bpp mode is used with recent releases of the
    binary NVIDIA driver.
  • Fixed the tiny build target. (Mike Frysinger)
  • Added CFLAGS for the Blackfin CPU. (Mike Frysinger)
  • BUILD_ZLIB and BUILD_EXPAT can now be disabled without having to edit
    the makefile. (Mike Frysinger)

Release 0.105, 16 April 2006

  • Everything from MAME 0.105 and MESS 0.105.
  • Fixed "-frames_to_run/-ftr" so that it works the same as on Windows.
  • Fixed a memory leak in the plugin manager shutdown found by Valgrind.
    Bugzilla bug 850.
  • The output of "-listroms (-lr)" now shows the correct driver name
    when it's run for all ROMs.
  • Fixed a potential buffer overflow in the standard joystick driver.
    Bugzill bug 821. (Pierre Riteau)
  • In fullscreen mode, the display no longer appears underneath other
    windows when the window manager is Metacity 2.14.x. However, there's
    still a problem with keystrokes not being received, but you can use
    "-grabkeyboard (-gkb)" or left-ctrl + end as a workaround.

Release 0.104, 16 February 2006

  • Everything from MAME 0.104 and MESS 0.104.
  • The "-Wdeclaration-after-statement" switch is no longer enabled by
    default in the makefile, since it's only available in GCC 3.4 and
    later.
  • Performing "make install" now installs tools such as romcmp and
    chdman.

Release 0.103, 16 January 2006

  • Everything from MAME 0.103 and MESS 0.103.
  • Modified osd_alloc_executable() to use mmap() by default. This
    prevents segfaults in the DRC core on systems that support the NX
    bit, such as AMD64 and Intel Prescott. Thanks to Julian Sikorski,
    Adam Moss, and Carl Fongheiser.
  • Fixed a segfault that occurred when LIRC was enabled but lirc_init
    returned an error value. (Joe Quanaim)
  • Added "-[no]lirc" to enable or disable LIRC support. (Joe Quanaim)
  • Fixed several buffer overruns that happened when overly-long data was
    passed for "-ctrlr", "-lang", "-rec", and "-pb". Fixed other
    potential buffer overruns. Bugzilla bug 821.
  • Files larger than 2GB can now be accessed on platforms with large
    file support.
  • The "-createhd" and "-merge" operations in chdman are now a lot
    faster on Linux.

Release 0.102, 25 November 2005

  • Everything from MAME 0.102 and MESS 0.102.
  • Fixed a bug that could afflict MESS console emulations by preventing
    the keyboard from working.
  • The default ALSA buffer size is now 50000ms instead of 250000ms,
    which reduces lag.
  • Advancing frame-by-frame using shift-P works again. Bugzilla bug
    787.
  • Added more GCC -march settings for x86 CPUs to the makefile.
  • When the setup menu is closed, the keyboard state is cleared. This
    prevents the key press that closes the menu from affecting the
    emulation. This replaces the fix from 0.97, which wasn't working
    anymore and caused the frame-by-frame advancing to break besides.

Release 0.101, 22 October 2005

  • Everything from MAME 0.101 and MESS 0.101.
  • The messtest application builds again.
  • When the LIRC configuration cannot be read, the joystick polling code
    no longer tries to use LIRC. This fixes a crash that occurs under
    memory pressure. (Paul "TBBle" Hampson)
  • Enabling full keyboard emulation in the classic MESS UI once again
    prevents keys such as P and Esc from being intercepted by the
    emulation core.
  • Added support for BGR visuals to the blit core for, e.g., Solaris.
    (Hans de Goede)

Release 0.100, 21 September 2005

  • Everything from MAME 0.100 and MESS 0.100.
  • Using "make install" no longer strips debug symbols from the
    executables.
  • Improved support for OpenBSD, including fixing audio on 8-bit sound
    cards. (Claudio Castiglia)
  • Improved the SDL joystick driver so that it will work better with
    components identified as hat switches or trackballs. (Dave Ahlswede)
  • Increased the maximum number of joystick axes from 8 to 16 to support
    the Gravis Xterminator joypad. (Dave Ahlswede)

Release 0.99, 16 August 2005

  • Everything from MAME 0.99 and MESS 0.99.
  • The SVGAlib target no longer fails silently under certain conditions.
    (Hans de Goede)
  • Removed some unnecessary calls to exit() and fixed a few memory leaks
    in the X11, Xv, and effects code. (Hans de Goede)
  • The SVGAlib driver now handles __svgalib_tty_fd == -1. This allows
    it to work with newer releases of SVGAlib. (Hans de Goede)
  • Removed "-xvext (-xv)" from the manpage. Bugzilla bug 535. (Erik
    Hovland)
  • Updated the joystick types in the manpage. Bugzilla bug 737.
  • Fixed some typos in the documentation. Bugzilla bug 738. (Erik
    Hovland)

Release 0.97, 13 June 2005

  • Everything from MAME 0.97 and MESS 0.97.
  • When the emulation is unpaused, the keyboard state is cleared. This
    prevents key presses from bleeding over from the user interface.
  • The SDL driver now uses the correct green mask for RGB 565. This
    fixes a problem with SDL on DirectFB being unable to find a valid
    video mode. (Uli H.)
  • The SDL driver now locks the video surface before retrieving the
    pointer to its memory. This fixes a crash with SDL on DirectFB.
    (Uli H.)
  • Fixed a few spots in the code for 4.3 BSD, e.g., OpenStep on NeXT.
  • Fixed bugs in the Xv driver and the 6-tap effect that affected
    big-endian architectures. (Hans de Goede)

Release 0.96, 10 May 2005

  • Everything from MAME 0.96 and MESS 0.96.
  • Fixed the RGB to YUV conversion used by the Xv driver so that it
    conforms to the CCIR digital component video specifications. Fixes
    Bugzilla bug 691. (Alex W. Jackson)
  • The rows of the OpenGL bitmap used for 16bpp games are no longer
    misaligned in some cases; nagano98 now displays without doubled
    lines.
  • The behavior of "-listgamelist" should once again match the Windows
    side with regard to case-insensitive sorting and the treatment of
    leading "The" and "Le".
  • When a specific joystick device is designated with "-joydevname
    (-jdev)", it is now always treated as the player 1 joystick.
  • The built-in profiler works again. (Colin Howell)
  • The X11 build now properly sets the standard window properties.
    (Christian Birchinger's friend)

Release 0.95, 29 March 2005

  • Everything from MAME 0.95 and MESS 0.95 .
  • Fixed a couple of spelling errors in the xmame manpage. (A. Costa)
  • Forcing Xv to use YV12 ("-force-yuv 2") no longer causes rotated
    games to segfault. Fixes Bugzilla bug 679.
  • Fixed a bug in the OpenGL display target that could cause the bitmap
    to be skewed for some games, such as sfrush.
  • Hotkey effect switching works again for MESS consoles. (Christopher
    Stone)
  • Fixed the aspect ratio of the MESS SuperVision driver so that it's
    quadratic. (PeT)
  • Added a setting to the makefile to disable effects: DISABLE_EFFECTS.
    This makes the blit files compile much more quickly, especially for
    older releases of GCC, such as 2.95.3. This may eventually become
    more finely grained, so that you can disable only certain effects or
    certain scale factors.

Release 0.94, 15 March 2005

  • Everything from MAME 0.94 and MESS 0.94.
  • The pause key works again in the input setup. For keyboards that
    generate 119 instead of 101, there's now a PAUSE_KEY_119 option in
    the makefile.
  • Trying to load more devices of one kind than a MESS driver supports
    no longer results in a crash.
  • The messtest tool is no longer built by default.
  • Hotkeys for effect and mode switching are now enabled in xmess only
    when the MESS UI is active.
  • Fixed the output of '-listdevices' for xmess. (Christopher Stone)
  • Installing the OpenGL cabinets now really works without requiring a
    symlink to src/unix/cab in the top-level directory.

Release 0.92, 23 February 2005

  • Everything from MAME 0.92 and MESS 0.92.
  • Fixed the lq2x and hq2x 3x3 effects with Xv. (Hans de Goede)
  • Added double buffering to lq2x and hq2x when blitting directly to the
    framebuffer. (Hans de Goede)
  • Added a hack for megatech games which by default hides the BIOS
    screen. You can toggle between the game and BIOS screens with
    left-ctrl + left-shift + insert. (Hans de Goede)
  • Fixed an error in the comment about CRLF in the makefile. (Andr�
    Majorel)
  • The label for the enter key in the input setup is now "ENTER" instead
    of "ENTE ". (Dave Humphreys)
  • Fixed several problems with the front-end "-list" commands: The MESS
    commands could segfault, some commands' headers were misaligned, and
    "-listpalettesize" was causing the ROM list to print.
  • Worked around or fixed a double-free on exit in xmess.
  • Fixed a segfault on startup that occurred when four or more joysticks
    devices were found.
  • The SDL joystick driver now works with multiple joysticks attached.
  • Updated the MMX effects code. (Richard Goedeken)
  • BUILD_EXPAT is now off by default in the makefile.
  • The OpenGL cabinets are once again installed in $XMAMEROOT/cab
    instead of $XMAMEROOT/src/unix/cab.
  • The MESS "Tape Control" menu item now only appears for machines which
    have a cassette device. Selecting this item when there is no tape
    image specified now displays a message instead of causing a crash.
    (Dave Humphreys)
  • The SDL sound driver should produce much better output. Also fixed a
    potential deadlock.

Release 0.90, 18 January 2005

  • Everything from MAME 0.90 and MESS 0.90.
  • The "-sleepidle (-si)" option is now enabled by default. This keeps
    the emulation from hogging the CPU when it's idle.
  • Did a major rework of the effects code, which now borrows code from
    the AdvanceMAME project (Hans de Goede):
    • The code is much cleaner.
    • Effects are much faster on DGA.
    • The scaling is no longer fixed to a certain factor for each
      effect: It supports normal (1x1 - 8x8), scale2x (2x2 - 3x6), scan2
      (1x2 - 4x2), rgbscan (1x3 - 6x3), scan3 (1x3 - 6x3), hq2x (2x2),
      lq2x (2x2), 6tap2x (2x2).
    • All the scanline effects come in both horizontal and vertical
      varieties, and vertical scanlines are automatically chosen for
      rotated games.
  • Made the 32bpp to yuy2 blitting code much faster and cleaner. (Hans
    de Goede)
  • Made a small change to the OpenGL code that more than triples the
    speed of 16bpp games. (Enik)
  • The install portion of the makefile no longer depends on the "cab"
    and "doc" symlinks in the top-level directory.
  • Enhanced LIRC support to compile and link against system-installed
    liblirc_client files. Added the "-lircrc" option. (Mads Villadsen)
  • Optimized some of the yuy2 blit functions. (Hans de Goede)
  • Added CPU capability detection for Linux on x86. Currently this only
    tests for MMX. (Hans de Goede)
  • Changed the effects code to use the C versions of effects when a CPU
    isn't MMX-capable. This means that binary distributions can be built
    with EFFECT_MMX_ASM defined and still run on older CPUs. This
    presently only works for Linux on x86. (Hans de Goede)
  • Fixed "-geometry (-geo)" to properly adhere to given window
    coordinates. Added support for window coordinates to OpenGL. (Hans
    de Goede)
  • By default, fullscreen mode now only spans screen 0. To select
    another screen, use "-xinerama-screen <nr>", or use -1 if you want
    the old behavior where all screens are spanned. (Joe Q. and Hans de
    Goede)
  • Removed Mesa on Glide on Voodoo 2 in fullscreen mode hack. If you
    need this, just use "-geometry 640x480 -grabkeyboard -grabmouse"
    instead. (Hans de Goede)
  • Reverted to treating lightgun buttons as mouse buttons, so lightguns
    will work independent of joystick devices or drivers. It is now
    also assumed that there are always 5 mice connected, so multiple
    lightguns should work fine.
  • The old-style debugger works again. (Hans de Goede)
  • Merged several of Nicola Salmoria's memory leak fixes from Windows
    MAME.
  • Fixed multiple port recording for the playback/record option. (Chad
    Hurwitz)
  • The SVGAlib target now works for xmess: There was a clash with the PC
    emulation function vga_init(). (Dave Humphreys)

Release 0.89, 5 December 2004

  • Everything from MAME 0.89 and MESS 0.89.
  • Re-added a missing "Rapid Fire" entry from the setup menu that caused
    the other entries to be off by one. Fixes Bugzilla bug 621.
  • Another batch from Hans de Goede:
    • The GGI driver no longer crashes when $DISPLAY isn't set.
    • SDL calls mode_set_aspect when using modes.
    • The SDL and X11 drivers now ask the window manager to be notified
      of the user closing the window and exit cleanly.
    • The SDL driver now supports "-alwaysusemouse (-aum)",
      "-grabinput (-gi)", and "-[no]cursor (-[no]cu)", as well as
      toggling input grabbing with left-ctrl + delete.
    • The SDL driver now forces a fullscreen update every first update
      after a (re)open. This prevents the left side of artwork
      disappearing when the scale and effect options are quickly cycled
      through.
    • Cleaned up the X11 code to be more readable.
    • Sped up the rgbscan effect (effect 4), especially for DGA.
    • Fixed a problem with OpenGL that prevented it from working with the
      binary ATI driver.
    • Reworked GLDEBUG and added NOGLCHECKS. The old code didn't do any
      error checking when GLDEBUG was not defined.
    • Modified the GL_CHECK_ERROR macro to be much faster, since it is
      now used in normal builds.
    • OpenGL no longer opens libglut.so. Rather, it gets the symbols
      directly from libGL, as was already done with libGLU.
    • OpenGL development packages no longer need to be installed to use
      OpenGL. libGL.so.1 and libGLU.so.1 are now loaded instead of
      libGL.so and libGLU.so.
  • Added LIRC support for remote controls, e.g., with MythTV. (Andrew
    Chuah)
  • Fixed a typo that caused absolute analog axes to interfere with
    digital negative axes in the input setup.
  • Fixed NetBSD warnings reported by Krister Walfridsson. (Only the
    lazy fix for now.)

Release 0.88, 9 November 2004

  • Everything from MAME 0.88 and MESS 0.88.
  • Highlights of this release (PLEASE READ) (video changes by Hans de
    Goede):
    • Completely reorganized the video code. The OpenStep and Photon2
      targets are broken as a result until someone fixes them, but the
      changes are well worth it.
    • Renamed "-x11-mode (-x11)" to "-video-mode (-vidmod)". The help
      text for this option is now auto-generated based on which options
      are available. This option is also used by non-X11 displays.
    • The xgl and xfx drivers are now built into the X11 target,
      alongside Xv and DGA. OpenGL can be selected at runtime with
      "-video-mode (-vidmod) 2", and Glide can be selected with
      "-video-mode (-vidmod) 3".
    • Fullscreen mode is now enabled from the command line with
      "-fullscreen".
    • Reworked the hotkeys for switching between X11 video modes and
      fullscreen and windowed modes: left-alt +
      insert: normal or DGA rendering
      home: Xv rendering
      page up: OpenGL rendering
      delete: Glide rendering
      page down: toggle between windowed and fullscreen
    • Changed the hotkeys for grabbing keyboard and mouse from left-alt +
      page up/page down to left-control + page up/page down.
    • Added hotkey switching for effects: Use left-ctrl + page-up or
      page-down. Mouse and keyboard grabbing are now toggled with
      left-ctrl + del and left-ctrl + end, respectively.
    • Added hotkeys for changing options for Open GL: left-ctrl +
      left-alt + :
      insert: toggle bilinear filtering
      home: toggle cabview
      end: toggle antialiasing
      page up: increase vector beam size
      page down: decrease vector beam size
      Left-ctrl + left-alt + insert also works for toggling bilinear
      filtering in Glide.
    • Added an ALSA mixer plugin, which can be enabled with
      "-sound-mixer-plugin (-smp) alsa". The new "-alsa-mixer (-amixer)"
      option accepts the name of a "simple mixer control", which you can
      find by executing "amixer". (Shyouzou Sugitani)
    • Changed JOY_I386 in the makefile to JOY_STANDARD.
    • Removed support for the X11 joystick driver, which was broken
      anyway.
    • The "-joytype (-jt)" list now only displays drivers that are
      compiled in. Note that some of the values have changed!
  • Another slew of changes from Hans de Goede:
    • Added "-alwaysusemouse(-aum)" to the X11 driver. If this is not
      set, mouse events won't be reported to the core when fullscreen
      mode is disabled and the mouse is not grabbed.
    • The code for handling a grabbed mouse now uses the window size
      instead of the image size, which fixes problems when the Xv window
      is shrunk to less than half its original size.
    • The in-game cursor no longer jumps when the mouse is grabbed.
    • BIG cleanup of the display code: Internal changes should
      theoretically allow the display drivers to be placed in shared
      object (.so) files and loaded dynamically.
    • The game_bitmap_update bounds are now honored, resulting in a nice
      speedup for artwork games.
    • The rounding of bounds is now only done for blitting to the
      offscreen image, and not for displaying on the screen. This gets
      rid of the black borders in some games, such as mspacman with
      artwork enabled.
    • The DGA code can now display any color depth on any depth just like
      normal windowed mode.
    • The DGA 2.0 code now tries to obtain a mode with the best and
      fastest color depth; for example, a depth 15 mode for vector games,
      so that the entire bitmap can be copied straight into the
      framebuffer with no conversion.
    • Fixed a small memory leak in the DGA 1.0 code.
    • Made a small tweak to the Xv window size handling to avoid a small
      black border in Xv windowed mode.
    • Now "-geometry (-geo)" sets not only the x- and y-coordinates, but
      also the window size when the window is resizable (xgl and Xv).
      The requested size gets clipped to the largest constrained size
      with the correct aspect ratio.
    • Removed the "-fxres" option. Glide now honors the window size
      passed with "-geometry (-geo)".
    • Really fixed artwork with vector games in the Glide targets.
    • Added a "-hwvec <int>" option:
      0: Never use Glide/OpenGL vectors.
      1: Auto (don't use when there is an artwork overlay).
      2: Always use Glide/OpenGL vectors.
    • Fixed rotation with artwork-enabled vector games in Glide targets.
    • Force a full screen update so that artwork bezels get shown when
      DGA mode is enabled via hotkey.
    • Prefer 16bpp deep modes over 15bpp deep modes when we must
      downsample from 32bpp; try to avoid 24bpp packed modes.
    • Added a "-forcemode (-fm) WxHxD" option; this is intended mostly
      for testing purposes.
    • The DGA 2.0 driver no longer uses fillsolidrectangle, which isn't
      supported on some cards, notably Radeons in 32bpp mode. This is
      not in a speed-critical path, so memset is always used.
    • The DGA 2.0 driver can now pageflip on vsync. This fixes tearing
      in side-scrolling games and flashing in all games. Added an option
      "-vsync-pagelimit (-vspl) <int>" with which the user can specify
      the maximum number of frames to queue in offscreen video memory for
      displaying on vsync; the default is 2, and 0 disables this feature.
      Note: When a game's FPS is higher than the refresh rate of the
      chosen video mode, the game will run slower or skip frames.
    • Rewrote the OpenGL vector code, which now works with artwork
      (without overlays), supports clipping, fixes a number of bugs with
      cabinet mode, and generates shorter OpenGL command lists.
    • Made the resizing of the OpenGL window not bound to the aspect when
      in cabinet mode.
    • Don't resize the window for display methods that can do hardware
      scaling when the visual area of the game changes. This fixes
      flashing with, for example, raystorm when Xv or OpenGL is used.
    • Removed the definition of GLX_LIBNAME from the makefile; now it is
      always libglut.so.
    • Removed TDFX_DGA_WORKAROUND from the makefile; this is now always
      enabled, since it shouldn't hurt cards which don't have the bug.
    • Added a "-fxresolution (-fxres)" option for Glide: Now "-geometry
      (-geo)" can be used for hardware-scaled windows (Xv, OpenGL)
      without causing Glide to complain about an invalid resolution.
    • Whenever possible, the display is no longer destroyed and recreated
      when settings change; only the window is resized or the video mode
      changed.
    • Made XIL a separate X11 mode, which can be enabled with
      "-video-mode (-vidmod) 4" or left-alt + end.
    • Fixed a rounding error which caused vector games to get a slightly
      different resolution than requested.
    • Shuffled options somewhat so that the output of "-help" and
      "-showconfig (-sc)" is more logically ordered.
    • Disabled the use of scanlines with yarbsize.
    • Fixed a bug with double-buffered blitting which caused each line to
      be blitted twice. This is a huge speedup for DGA.
    • Config files are now parsed after checking for "-help", "-version",
      and "-manhelp".
    • An error about being unable to open the display is no longer
      reported when "-help" or front-end options are used without X.
    • For 2x and 3x width scales, pixels are now written in memory order,
      which speeds up scaling directly to the framebuffer a lot, since
      this makes use of write combining.
    • Double buffering is no longer used for directly writing to hardware
      surfaces.
    • When the source and destination pixels are the same and the width
      scale is 1, the rotation code now writes directly to the
      destination instead of to an intermediate buffer.
    • Cleaned up the mode handling in the DGA 2.0 driver.
    • Scanlines are now an effect (number 9) instead of being controlled
      by a separate option ("-scanlines").
    • A brief message is now displayed when effects and other options are
      changed via hotkeys.
    • Fixed a vector clipping bug in the Glide target.
    • Core dumps are disabled when DGA is available, since dumping core
      with DGA leads to X server freezes.
    • Fixed artwork not showing in OpenGL and Glide modes under certain
      circumstances.
    • Scanlines are now at the bottom of each line, an no longer halfway
      in certain cases.
    • Only close and reopen the sound device if necessary.
    • Align not only min_x but also max_x of the destination coordinates.
      This fixes screen corruption with DGA on certain buggy hardware.
    • Fixed a problem with DGA where garbage would show on the right side
      of the screen for certain artwork.
    • Handling failures in the video setup is now more graceful; this
      should make sure that the abort case doesn't get reached unless a
      system is running out of memory or the like.
    • Fixed 16bpp to YUY2 blitting on 64-bit architectures.
    • Fixed a bug in DGA2 which caused the border of artwork to be
      blitted each frame.
    • Slightly reworked alignment handling in video drivers which can
      have different modes/resolutions (DGA, SVGAlib, SDL).
    • Completely rewrote the SDL driver. It's now much faster than
      before -- just as fast as the native X11 driver -- and has 100%
      support for fullscreen, effects, scaling, etc.
    • A number of games should no longer segfault on AMD x86-64 systems.
  • The xml2info utility can now link against the system's libexpat, and
    no longer requires BUILD_EXPAT to be set. Fixes Bugzilla bug 592.
  • Updated the CFLAGS for IRIX MIPSpro in the makefile. (Brandon
    Corey)
  • Fixed the IRIX AL sound driver's 8-bit output and updated rate setup
    to deal with unsupported audio hardware rates. (Brandon Corey)
  • Possibly fixed a crash that occurred when a second lightgun's button
    was pressed and XINPUT_DEVICES wasn't defined in the makefile.

Release 0.87, 3 October 2004

  • Everything from MAME 0.87 and MESS 0.87. Christopher Stone's
    makefile support for MAGE has been added, but MAGE is not yet
    included.
  • Setting the display method to SDL again implies JOY_SDL. It now also
    implies SOUND_SDL.
  • Reworked the video mode functions (Hans de Goede):
    • Unified and moved the aspect ratio calculations from xgl, fx, and
      x11_window to mode.c since all display targets that support
      arbitrary scaling through hardware make use of this.
    • Modified the code to use the aspect ratio supplied by the game
      driver instead of doing all kinds of magic. This corrects, for
      example, the aspect ratio of 1942.
    • Added a new option, "-perfectaspect (-pa)", which automatically
      sets yarbsize to honor the aspect ratio provided by the game
      driver. This is disabled by default because it can cause scaling
      artifacts.
    • When video modes are matched, the aspect ratio is now taken into
      account.
  • Made changes to the OpenGL target (Hans de Goede):
    • Fixed a double-free bug that caused a segfault on exit.
    • Disabled the hotkey for switching between fullscreen and windowed
      mode, since this is broken.
    • Fixed the resizing code to always detect resizes: The old code
      sometimes missed a resize event, which caused the display and the
      window size to mismatch.
    • Modified to use the unified aspect ratio code: Keep the correct
      aspect ratio when "-glres" or "-fullscreen" is used; honor
      "-keepaspect" and "-displayaspectratio"; calculate the correct
      aspect ratio for games with non-square pixels.
    • When Mesa is used on a Voodoo 1 or 2, '-glres "640x480"' is
      automatically added to the command line.
    • The mouse can be grabbed when it is requested by the user or when
      fullscreen mode is used.
    • The keyboard can now be grabbed.
    • The mouse and keyboard are always grabbed when OpenGL on Glide is
      used.
  • Made changes to the X11 targets (Hans de Goede):
    • Restored widthscale == 2 YUY2 code for perfect YUY2 blitting.
    • Fixed a bug introduced by the aspect ratio patches which caused the
      Xv fallback code to not detect an error case and crash later on
      instead of falling back to MITSHM.
    • The Xv window is now resized with the correct aspect ratio after a
      user resize; this prevents black borders from appearing.
    • Renamed "-perfect-yv12" to "-perfect-yuv".
    • Enabled perfect blitting by default for YUY2, since it fixes the
      ugly color bleeding in, for example, pacman.
    • Removed unused SGI pause map/unmap code.
    • Don't resize the window when testing Xv during image creation.
    • Unified keyboard and mouse grabbing and cursor setup.
    • Fixed colors being way off in Xv for 15bpp direct games, e.g.,
      vector games with artwork disabled.
    • Current mouse values are now initialized in xinput_open, which
      should fix the problem of the visor going to the lower right corner
      in starwars when the video mode is switched from windowed X11 to
      DGA fullscreen while the mouse is grabbed.
    • Undid a change from 0.86 that caused the display to be closed twice
      when there was a creation failure.
    • Fixed the display of a 32bpp source on a 24bpp packed pixel window.
    • Fixed a bug in the DGA2 target which caused it to throw an XError
      when it failed to find a suitable mode, causing xmame to abort.
    • XInput now maps controls to mice 2 - 5 and leaves mouse 1 free for
      the default mouse. (Hans de Goede)
    • Moved the XInput code from joystick-drivers/XInputDevices.[ch] to
      video-drivers/xinput.c. (Hans de Goede)
    • Unified window creation and window hints code.
    • Did a major cleanup of the xfx target, which now uses the unified
      window code.
    • The xfx target now also always grabs the mouse and keyboard, since
      losing focus when the Voodoo is controlling the monitor is not
      good.
    • Fixed a bug which caused the window to disappear with Xv windowed
      mode under KDE.
  • Fixed a crash in the svgalib and svgafx targets that occurred when
    the mouse couldn't be opened. (Hans de Goede)
  • Arbitrary Y scaling is now disabled when the debugger is used. (Hans
    de Goede)
  • Added a missing "Rapid Fire" string to the configuration menu. This
    fixes problems with the configuration of player controls. (Sylvain
    Trosset)
  • The two aRts sound plugins can now co-exist; their names for the
    "-dsp_plugin (-dp)" option are "arts_smotek" and "arts_teira". Fixes
    Bugzilla bug 591.
  • Added a flag (LIGHTGUN_DEFINE_INPUT_ABSINFO) to the makefile to
    determine whether struct input_absinfo needs to be defined, since we
    can't seem to decide this based on the version of the Linux headers.
  • Cleaned up the sound code (Hans de Goede):
    • Cleaned up the ALSA driver.
    • The ALSA driver now reports the actual sample rate to the caller
      rather than the requested one.
    • Removed the "-alsa-pcm" command line option; the ALSA driver now
      supports "-auviodevice (-ad)". (Hans de Goede)
    • Removed "-fakesound (-fsnd)". Now sound is always faked since
      certain games won't run without it.
    • Changed the default sample rate to 44100, moving us into the
      Third Millennium.
    • Removed the "-[no]sound" option; if you really want to disable
      sound, specify a bogus device with "-audiodevice".
  • Cleaned up some of the rc-parsing code. (Hans de Goede)
  • Removed the "-[no]mouse" option. (Hans de Goede)
  • Fixed problems with building when Glide2 is enabled in the makefile.
    (Mark Nipper)
  • When fullscreen mode is enabled, the event queue is first emptied.
    (Hans de Goede)
  • Added support for setting the keyboard LEDs. For this to work, you
    need to edit /usr/X11R6/lib/X11/xkb/compat/basic and change the
    value of indicator.allowExplicit from False to True and then restart
    your X server. Note that apps can only force the LEDs on, not off,
    so make sure all the LEDs are off before you run xmame. (Hans de
    Goede)
  • Remember if the grabbed mouse or keyboard state was changed with
    hotkeys so that it can be restored when switching to fullscreen mode
    and back. (Hans de Goede)
  • Removed a lot of cruft from the palette code, which now also
    creates the yuyv lookup table when necessary. (Hans de Goede)
  • Catch fatal signals (abort, segfault, etc.) in the xfx and svgafx
    targets and restore the Voodoo passthrough display before crashing.
    (Hans de Goede)
  • The GGI target builds again.
  • Cleaned up and otherwise modified the blit and effect code (Hans de
    Goede):
    • Removed a lot of 8bpp cruft.
    • Cleaned up and pared down the effects code.
    • Fixed a bug in blit_effect.h where each third line of 3x effects
      never got drawn when double buffering was not being used.
    • When double buffering is used and the destination screen is wider
      than the scaled game (DGA), only render and copy the visible part,
      not the black areas.
    • Fixed a bug in effect 5 which showed up in palettized games.
    • Fixed effects with SVGAlib.
    • The effects code should compile more easily on machines with low
      memory.
    • The effects now support 15bpp for X11 and SVGAlib.
    • Added YUY2 support to the 6-tap effect.
    • Trying to use an effect that isn't supported on a particular
      display now reports a message and disabled the effect.
    • The effects now check for failed mallocs.
    • Switched off double buffering for effects, since this was just a
      source of slowdown.
  • The X11 target builds again when X11_XV isn't set in the makefile.
    Fixes Bugzilla bug 598. (alito)
  • The OpenGL target's "-glaa" option is now disabled by default since
    it's terribly slow when it's not supported in hardware. (Hans de
    Goede)
  • Split aspect and mode settings so that all targets can use the
    aspect settings. (Hans de Goede)
  • Ported the following change from Windows MAME: 'Added the ability for
    analog axes to return "invalid" as a value from the OSD layer,
    allowing them to dynamically disable themselves. Using this feature,
    the Windows version now autodetects analog versus digital axes and
    dynamically disables the analog values if it thinks you are using a
    digital axis. Note that this even works if you have a "switchable"
    gamepad. [Aaron Giles]'
  • Fixed the mapping of analog sticks' min..max ranges to the core's
    range. This fixes games that use analog controls, such as Out Run,
    as well as the jittery movement of the mouse cursor in games such as
    Missile Command.
  • Audio should work much better on Mac OS X. (anonymous)
  • The MMX assembly language version of the 6-tap filter now works for
    16 and 32bpp source and destination bitmaps; previously, only the
    32bpp screen depth was accelerated. (Richard Goedeken)
  • Corrected some of the out-of-date information in the documentation.
    Fixes Bugzilla bug 604.
  • Light guns should work again. Also added support for the triggers on
    an ACT LABS USB PC Monitor model that didn't work previously.

Release 0.86, 25 August 2004

  • Everything from MAME 0.86 and MESS 0.86.
  • The SVGAlib target links again.
  • Fixed redefinition warnings in src/sha1.[ch]. (Krister Walfridsson)
  • Fixed buffer overruns in the effects and rotation code that caused a
    segfault on exit for some games with artwork enabled.
  • Fixed memory leaks in the effects and rotation code that occurred
    when the display settings changed.
  • XInput was probably limited to two controllers in 0.85, but should
    again support up to four.
  • Overhauled the 3Dfx targets (Hans de Goede):
    • Fixed a crash when 16bbpp palettized modes are used.
    • Added support for rotated/flipped games.
    • Corrected the paused emulation test.
    • Added support for compiling and linking against Glide3.
    • Fixed and cleaned up vector support.
    • Added support for vector clipping, which fixes mhavoc.
    • Fixed 32bpp game support.
    • Boosted the speed of 15bpp direct RGB games by avoiding a table
      lookup.
    • Modified 15bpp direct RGB support to use memcpy for a small
      speedup.
    • Fixed support for non-square pixel games; for example, blstroid.
  • Overhauled the OpenGL target. Fixes Bugzilla bug 109. (Hans de
    Goede):
    • Fixed vector support, with the exception of clipping; for an
      example of the problem, see mhavoc.
    • Removed 8bpp support, paletted texture support, dirty code, and
      some useless options.
    • Fixed a lot of buffer overruns.
  • The SVGAlib targets now detect the signals used for console
    switching. (Hans de Goede)
  • When "-norotate (-nr)" is specified, the UI is no longer rotated
    relative to the game. (Hans de Goede)
  • Did major cleanup of the blit core (Hans de Goede):
    • Rotation should be a bit faster.
    • Defining DEST is no longer optional; targets that don't define it
      will need to be fixed.
    • Removed a bunch of obsolete #defines and special cases.
    • Removed fixed Y scaling, since the arbitrary Y scaling is not
      noticeably slower.
    • Removed LOW_MEM from the makefile; blit.h is now so small, it
      should no longer be needed.
  • The C version of the 6-tap filter rotates pointers now instead of
    using memcpy, which should give a small speed boost. It also no
    longer reallocates a rotation buffer. (Hans de Goede)
  • Fixed a bunch of unused variable warnings. (Hans de Goede)
  • XInput now works with the xgl target.
  • The SDL joystick driver works again. It should also be a bit faster.
  • Adjusted a few tests to make sure that every combination of compiling
    in XIL, MITSHM, and Xv will work and that the fallback order is Xv ->
    MITSHM -> normal X11. (Hans de Goede)
  • The Xv driver no longer uses "-geometry", since this requires users
    to know the aspect ratio of a game. It instead uses "-widthscale"
    and "-heightscale". (Hans de Goede)
  • Added "-perfect-yv12", which uses perfect Xv YV12 scaling instead of
    the widthscale == 2 && heightscale == 2 hack. (Hans de Goede)
  • Added support for displaying 32bpp bitmaps on a 16bpp X11 or 3Dfx
    display by down-sampling. (Hans de Goede)
  • Added rotation for Xv YV12 displays. (Hans de Goede)
  • Sometimes Xv Image creation succeeds, but the first XvShmPutImage to
    a mapped window fails with a BadAlloc error; also, sometimes it can
    create an Image smaller than the requested size. In such cases, the
    code now falls back to another Image type instead of crashing later.
    (Hans de Goede)
  • Fixed problems in the X11 display target (Hans de Goede):
    • Free cursors on close.
    • Call close when display creation fails to clean up after us.
    • Comment out sleep calls, which shouldn't be necessary since XSync
      should only exit after everything has been processed.
    • Removed x11_window_put_image in favor of x11_window_refresh_screen
      since dirty rectangles are no longer supported.
    • Worked around an X11 bug that caused keys to get stuck when
      fullscreen DGA mode was exited.
  • The display should no longer open twice for artwork games: The setup
    code wasn't rounding the display bounds as it should have.
  • Effects now use CORRECTED_DEST_WIDTH and *may* work with PACKEDPIXEL
    modes. (Hans de Goede)
  • Adjusted the display bounds rounding so that the resulting rectangle
    is at least as large as the original. This prevents the cutoff on
    the right side of the intro screen for, e.g., pacman with artwork.
  • Fixed problems with aspect ratio calculation (Hans de Goede):
    • Fixed problems with SVGAlib, DGA, and possibly other display
      targets when arbitrary Y scaling was used.
    • Games whose bitmap isn't 4:3, such as pacman and moo, no longer
      show black borders with Xv.
    • Added correct aspect ratio calculation to Xv when games have double
      width or double height pixels; for example, blstroid.
    • The Xv aspect ratio honors "-displayaspectratio".
    • Removed the "-widescreen" option in favor of "-displayaspectratio
      1.77".
    • Pixel width and height doubling is now correct when
      "-[auto]ro{r|l}" is used.
  • The "-bpp" option now only supports 15 or 32. (Hans de Goede)
  • Fixed some ANSI/ISO warnings about the "%m" printf format identifier
    and empty joystick and sound source files.
  • Joystick buttons are no longer always registered as "button 9" in the
    configuration menu. Fixes Bugzilla bug 587. (Thomas Klausner)
  • Modified support for vector games in the OpenGL and 3Dfx targets
    (Hans de Goede):
    • Only update the textures in vector games when the UI is running.
      This results in a tremendous speedup.
    • Draw very short lines as points; this makes the bullets in
      Asteroids show up.
    • Disabled bezels and overlays; enabled "-artwork_crop (-artcrop)".
  • Created a means for display drivers to communicate their properties
    to the rest of the program; for example, whether they have their own
    vector implementation and whether they do hardware rotation. (Hans
    de Goede)

Release 0.85, 12 August 2004

  • Everything from MAME 0.85 and MESS 0.85.
  • Fixed a problem in makefile.unix that prevented the xgl target from
    building.
  • Those who have the commercial NVIDIA driver installed can now build
    the xgl target without having to install the Mesa headers. (Jonas
    Laurio and me).
  • Adjusted the LinuxPPC compile and link flags to prevent relocation
    errors resulting from the application being too large for 24-bit
    offsets in branch instructions. (Christian Groessler)
  • Improved the NetBSD USB joystick driver: Added support for up to 8
    axes and 1 hat and made manual calibration optional via the command
    line option "-joyusb-calibrate". (Dieter Baron)
  • Building xmess.xgl no longer results in link errors from messtest.
  • Added a 2x sinc-based 6-tap filter effect with scanlines, enabled
    via "-effect 8" or "-ef 8". (Richard Goedeken)
  • Added EFFECT_MMX_ASM to the makefile, which enables MMX versions of
    the "light scanlines" and "6-tap filter" effects. (Richard Goedeken)
  • You can now successfully build with LIGHTGUN_ABS_EVENT enabled on
    systems with Linux 2.6 headers.
  • Fixed a problem that prevented xml2info from building. (Shyouzou
    Sugitani)
  • Reworked the input code so that it more closely resembles its Windows
    counterpart. This adds support for "-steadykey", "-a2d_deadzone" and
    "-digital".
  • Increased the maximum number of joysticks from 6 to 8 and the maximum
    number of buttons per joystick from 16 to 32.
  • Mouse buttons may not have been working in recent releases for games
    such as Missile Command; they should work now.
  • Network support is broken for the time being because of the core
    input changes, so please disable XMAME_NET in your makefile. If
    you're interested in fixing this, have a look at src/unix/network.c
    and the XMAME_NET sections of an older src/inptport.c.
  • Fixed a 1000-fold inaccuracy in the BeOS implementation of usleep().
    (Jack Burton)

Release 0.84.1, 17 July 2004

  • Everything from MAME 0.84 and MESS 0.84.
  • Removed "-listinfo", since it's no longer supported by the core.
  • The support for network play and rapidfire is no longer in vanilla
    MAME, so they have to be patched into the core for releases.
  • Builds on LinuxPPC should no longer give warnings about "PPC" being
    redefined.
  • Removed romalizer from src/unix/contrib/tools since it has been
    abandoned.
  • Reworked the makefiles so that dirtied files in src/unix are once
    again compiled and force the application to relink. It also seems to
    behave well with parallel (-j) invocations of 'make'.
  • Enabled messtest in src/unix/unix.mak since it should now build
    without errors with 'make -j'.

Release 0.83.1, 12 June 2004

  • Everything from MAME 0.83 and MESS 0.83.
  • The Xv driver now turns on XV_AUTOPAINT_COLORKEY, in case it was
    turned off by, for example, by the xine movie player. This prevents
    the display from being blank in this case. (Shyouzou Sugitani)
  • Moved a misplaced vprintf() call that was causing a bunch of log
    messages to display and slowing down the emulation for some games.

Release 0.82.1, 15 May 2004

  • Everything from MAME 0.82 and MESS 0.82.
  • The romcmp tool now builds on Solaris.
  • Improved the message that is displayed when a suitable X11 visual
    cannot be found. Fixes Bugzilla bug 219. (Christopher Stone)
  • Fixed the most egregious formatting errors in the xmame.6 manpage.
    (Andr� Majorel)
  • Converted the documentation from LinuxDoc to a more modern DocBook
    format.
  • Added x86 SIMD options to the makefile. (Patrick Roberts)

Release 0.81.1, 11 April 2004

  • Everything from MAME 0.81 and MESS 0.81.
  • Fixed a problem with the lightgun offscreen reloading that caused a
    random shot every fourth or fifth shot. (Joe Inkenbrandt)
  • The prep-new-mame and prep-new-mess scripts now support dos2unix
    instead of just d2u.
  • Restructured the makefiles a bit so that object directories are
    created before compilation begins. This should take care of the
    problems with parallel compilation. Thanks to Arnaud G. Gibert for
    much help and critique.
  • Fixed a crash that occurred when Xv was enabled and DISPLAY was
    pointing to a remote screen. (Krister Walfridsson)

Release 0.80.1, 13 March 2004

  • Everything from MAME 0.80 and MESS 0.80.
  • Improved support for GNU make's -j option, which can especially
    benefit SMP and SMT machines. (Arnaud G. Gibert)

Release 0.79.1, 19 February 2004

  • Everything from MAME 0.79 and MESS 0.79.
  • Added a missing osd_die() definition. Without this, OpenVMS was
    reporting a compile error.
  • More changes to support OpenVMS. (Robert Alan Byer)
  • Updated the ALSA DSP module to use the ALSA 1.0 API. (Shyouzou
    Sugitani)
  • Paths now allow a literal "$" if it's preceded by "\". (Andr�
    Majorel)
  • The JOY_SDL option should now actually work with non-SDL targets.
    (Gorka Olaizola)
  • Fixed a segfault that occurred when "-debug" was used with a rotated
    game.
  • The debugger window should no longer be blank for 32bpp games.
  • Fixed a bug in fix-comments.c that was causing it to mangle
    src/drivers/vendetta.c.
  • When XINPUT is defined in the makefile but no XInput devices are
    configured, the mouse is treated as a trackball. (Gerd Sussner)
  • Added SYSCONFDIR to the makefile to specify a path for systemwide
    configuration files. (Nicos Panayides)
  • Hacked support for CHD files into the mame-cd script in the contrib
    tools directory. Also fixed a few small bugs.
  • The Xv YUV code should now work on big-endian platforms. (Maciej J.
    Woloszyk)
  • Removed "neomame" and "cpsmame" as targets from the makefile since the
    core no longer supports them.
  • The trigger for the ACT LABS TV light gun now works; reloading now
    requires only one offscreen shot instead of two. (Joe Inkenbrandt)

Release 0.78.1, 13 January 2004

  • Everything from MAME 0.78 and MESS 0.78.
  • You can now "make tools" without first having to "make osdepend".
    Fixed a couple of minor problems with src/unix/Makefile and
    src/unix/unix.mak. (Adam Di Carlo)
  • Rearranged a bit of code to allow the MESS tools to build.
  • Added JOY_SDL to the makefile so that the SDL joystick plugin can be
    enabled for non-SDL targets. The SDL target still enables the plugin
    without requiring JOY_SDL to be set.
  • The ALSA module now builds against ALSA 1.0. Fixes Bugzilla bug 501.
  • Changed the abbreviation of "-pause_brightness" to "-pbrt" to prevent
    a conflict with "-playback".
  • Added double buffering, enabled via "-doublebuf", to the SDL target.
    (Thomas Jarosch)
  • Deprecated the SDL target's "-modenumber" in favor of "-vidmode_w" and "-vidmode_h". (Thomas Jarosch)
  • Updated the included zlib library to 1.2.1, which should be faster
    than 1.1.4.
  • Fixed an infrequent spurious error reported by zlib 1.2.1. (Mark
    Adler)
  • OpenVMS support should be close now. (Robert Alan Byer)
  • Changed the man path to $(PREFIX)/man/man6, which is more
    FHS-compliant according to Andr� Majorel.

Release 0.77.1, 18 November 2003

  • Everything from MAME 0.77 and MESS 0.77.
  • Ported two more effects from AdvanceMAME: hq2x and lq2x. (Pieter
    Hulshoff)
  • Adjusted and cleaned up some YUV code. (Alastair Robinson)
  • The SDL video mode search now stops if it finds the exact resolution
    requested. (Thomas Jarosch)
  • Improved the Superboard II emulation in xmess. For details, see
    http://claudio.ch/SuperboardII/ (Claudio Nieder)
  • Added support for the Solaris joystick driver available from
    http://www.bolthole.com/solaris/drivers/ (Philip Brown)

Release 0.76.1, 25 October 2003

  • Everything from MAME 0.76 and MESS CVS.
  • The I/O section of the xmess manpage should be more up-to-date.
  • Linux input devices that support absolute X/Y events -- light guns,
    tablets, and touchpads -- can now be treated as light guns. See
    LIGHTGUN_ABS_EVENT in the makefile. (Ben Collins)
  • Added Opteron/Athlon64 as a CPU option in the makefile. (Caleb Shay)
  • Added a LOW_MEM option to the makefile that prevents a memory
    explosion when compiling such files as x11_window.c with GCC 2.x.
    (NetBSD pkgsrc tree)
  • A leading '.' on a path now causes xmess to treat it as absolute.
    This allows "xmess.x11 nes -cart ./zelda.zip" to work.
  • Set options.mess_printf_output so that xmess spits out more
    informative error messages, e.g., when it's unable to load an image.
  • The "-list-dsp-plugins (-ldp)" and "-list-mixer-plugins (-lmp)"
    commands now cause the program to exit with a return value of 0.

Release 0.74.1, 15 September 2003

  • Everything from MAME 0.74 and MESS CVS.
  • Reapplied David Mitchell's fix for the XInput inertial effect when
    a mouse or spinner is used. (Jake Stookey)
  • Added support for controllor setup via "-ctrlr". Note that "-hotrod"
    and "-hotrodse" have been replaced by "-ctrlr HotRod" and "-ctlrlr
    HotRodSE".
  • Added support for the Sun Forte 7 C compiler. (Greg Menke)
  • Added support for Mesa and Sun OpenGL on Solaris. (Greg Menke)

Release 0.72.1, 15 August 2003

  • Everything from MAME 0.72 and MESS 0.72.
  • The various effects enabled by "-effect" now work with rotation
    enabled. (Shyouzou Sugitani)
  • The Xv target supports more effects. (Shyouzou Sugitani)
  • The rc parsing code displays more compact and readable error messages.
    (Andr� Majorel)
  • Xv windowed mode is now enabled with "-x11-mode 2" or "-x11 2", and
    Xv fullscreen mode is enabled with "-x11-mode 3" or "-x11 3". The
    "-[no]xv" and "-fullscreen" switches are no longer available for X11
    builds.
  • Networking should work again. I'd forgotten to change instances of
    MAME_NET in src/unix to XMAME_NET in the 0.70.1 release.
  • Added hotkey switching for Xv windowed mode via ALT + DEL and Xv
    fullscreen mode via ALT + END.
  • The xfx target should build again.
  • Added "-widescreen" for Xv. This shrinks the width of the output for
    display on a widescreen TV. (Per Wigren)

Release 0.71.1, 19 July 2003

  • Everything from MAME 0.71 and MESS 0.71.
  • The include path for xmess now puts 'mess' before 'src' and
    'src/includes'. Fixes Bugzilla bug 435.
  • The man page xmame.6 is much more up-to-date. (Andrew Burton)
  • Fixed errors reported for xmame.6 on a Debian Woody system. (Alex
    Kirk)

Release 0.70.1, 18 June 2003

  • Almost everything from MAME 0.70 and MESS 0.70.
  • Changed an instance of MAME_DEBUG to DEBUG in unix.mak. (Christopher
    Stone)
  • Removed an obsolete (?) #include from osdutils.h that was interfering
    with MESS debug and IRIX builds. Fixes Bugzilla bug #385. (Frank
    Everdij, Christopher Stone)
  • Fixed some unused variable warnings when building non-debug versions
    of glgen.c and esound.c.
  • Fixed the default values for "-sysinfo_file" and "-messinfo_file",
    which were missing a '/'.
  • Fixed the handling of leading zeros in the fractional part of a float
    in src/unix/snprintf.c. (Chris Kirmse)
  • Building 'tools' for xmess works again.
  • Reduced the core changes needed to support networking, rapidfire, and
    IRIX-specific support. Note that MAME_NET in the makefile has been
    changed to XMAME_NET.
  • The numeric keypad '*' key is now mapped correctly for SDL builds.
  • The GLmame version string is now printed to stderr instead of stdout,
    as suggested by Matthias Saou.

Release 0.69.1, 26 May 2003

  • Almost everything from MAME 0.69. The included MESS is version 0.68.
  • Re-added Ben Collins' core change that adds support for extra mice.
  • Rearranged the doc directory so that MAME- and MESS-specific files are
    in their own subdirectories.
  • Reverted to using the original fronthlp.c (from 0.67.2) modified to
    work with the 0.69 core.
  • Building with the debugger enabled now works. Note that in the
    makefile, MAME_DEBUG is now just DEBUG. (Christopher Stone)
  • Fixed a logic bug in the XInput devices button-handling. (Ben
    Collins)
  • Added UGCI coin/play support based on the libugci library for Linux's
    HIDDevice layer. See http://www.phunnypharm.org/ugci/ (Ben Collins)
  • Building the neomame target works again. (Steve Behling)
  • Made a tiny fix in fileio.c that allows specifying direct paths to
    roms to work again; e.g., ./xmame.x11 ./moo.zip

Release 0.68.1, 22 May 2003

  • Almost everything from MAME 0.68 and MESS 0.68.
  • Fixed the analog joystick support so that the Y-axis is recognized as
    analog. (Sebastien Devaux)
  • The command line is now parsed even if the display cannot be opened.
    (Christopher Stone, David Mitchell)
  • Added support to the core for 4-button mice and 10-button joysticks.
    (Ben Collins)
  • Removed superfluous checks for use_mouse in the OpenStep and SVGA
    targets. (Ben Collins)
  • Fixed several problems and did a lot of cleanup in the XInput code,
    especially for the output (e.g., showing detection status). (Ben
    Collins)
  • Made a less intrusive change to fm.c which removes LFO support in
    YM2610-only builds. (Jarek Burczynski)
  • Fixed a few problems with "-listinfo" output. (Andrea Mazzoleni)

Release 0.67.2, 12 April 2003

  • Fixed a bug in unix.mak that caused libusb to be linked in when the
    USB joystick driver was not enabled.
  • The makefile should now handle the CC variable correctly if it's some
    variation of 'gcc', such as 'gcc-2.95.3'.
  • The MIPS x86 dynamic recompiling core now builds with GCC 2.95.x.
  • Fixed several other warnings and errors that occurred when building
    with GCC 2.95.x.
  • INSTALL_MAN_DIR in the makefile now uses INSTALL_GROUP for the gid
    instead of 0.
  • Fixed several C++-style comments and a couple of warnings in the
    OpenGL code.
  • Fixed a build error in the xmess.xgl target.
  • Merged the latest MESS CVS changes.

Release 0.67.1, 9 April 2003

  • Almost everything from MAME 0.67 and MESS CVS.
  • Added support for konamigx to info.c. (David Haywood)
  • Building the neomame target now works. (Steve Behling)
  • Using XFree86 3.3.6 fbdev in 32bpp now works. (Steve Behling)
  • USB patches to take recent FreeBSD changes into account. (Matthew
    N. Dodd)

Release 0.66.2, 19 March 2003

  • Fixed several C89 errors and warnings, mostly caused by C++-style
    comments.
  • Merged the latest MESS CVS code.

Release 0.66.1, 17 March 2003

  • Amost everything from MAME 0.66 and MESS CVS.
  • Enabling X11_DGA in the makefile causes "make install" to set the
    suid bit on the executable. (Christopher Stone)
  • The Barath frameskipper is now enabled by default. (suggested by
    Christopher Stone)
  • Fixed the use of 'sdl-config' in src/unix/unix.mak on platforms such
    as FreeBSD. (Stijn Hoop)
  • Rotation has been moved to the blit core and should be a lot faster.
    (Shyouzou Sugitani)
  • Updated the GLmame driver to 0.94, which supports hardware bitmap
    rotation and should fix the OpenGL problems that have affected recent
    releases. (Sven Goethel)
  • Analog controls work again, and the analog code is now synced up with
    the Windows code. (Sebastien Devaux)
  • The "-joydev" switch now allows a full device name, such as
    /dev/input/js0, to be specified.
  • Added makecd_mame2.pl to contrib tools; this script aids with burning
    CDs with ROMs, flyers, and cabinets. (Luc Saillard)
  • Renamed "-gamma-correction" to "-gamma" to be consistent with the
    Win32 version. It should also work now.
  • An Xv-enabled build should no longer report 0 bits per pixel and stop
    on a display that doesn't support the Xv extension. (Alexander
    Miller)
  • The "-brightness" switch now works as in Windows. Removed obsolete
    brightness and gamma code from sysdep_palette.
  • Idle sleeping is now disabled while the onscreen configuration menu
    is displayed. This works around a problem with key and button
    presses not registering when setting input preferences.
  • The "-record" and "-playback" switches now work as in the Win32
    version. Also, the "inp" directory is now created on startup if
    it is missing.
  • MAME's disassemblers are no longer built by default. This avoids
    having to make some ugly little patches to the core. (Christopher
    Stone)
  • Removed the obsolete 8bpp update functions from most of the targets.
    This should speed compilation and produce a smaller binary.
  • Building on IRIX should again work "out of the box".

Release 0.65.1, 11 February 2003

  • Almost everything from MAME 0.65 and MESS CVS.
  • Removed support for the ALSA 0.5 plugin. (Shyouzou Sugitani)
  • The default path for data files in the example rc files, docs, and
    several scripts is now more FHS-compliant. (Reported by anarxia.)
  • Disabled XScreenSaver support because it can cause the game window to
    not open when running in KDE. (Christopher Stone)
  • Reworked makefile.unix with the intent of making it a bit cleaner and
    easier to tweak.
  • hdcomp now builds via "make -f makefile.unix tools".
  • Removed most Windows- and MS-DOS-specific files.

Release 0.62.2, 12 January 2003

  • Fixed a link error that affected xmame but not xmess.

Release 0.62.1, 12 January 2003

  • Almost everything from MAME 0.62 and MESS 0.62.1.
  • The game window should no longer open twice on startup in most cases.
    One known exception is Pac-Man with artwork enabled.
  • Replaced fileio.c with a slightly modified version from the Win32
    codebase. Be aware that several command line switches have changed
    as a result!
  • Applied the Xv cleanup patch required for the VIDIX patch. (Alastair
    Robinson)
  • The number of games is no longer hard-coded to 3000 in datafile.c.
    This should fix problems with history.dat and "-listinfo". (Rene
    Single)
  • Rotation is now handled by the OSD code. The method used is hardly
    optimal, but it should work for all display targets. Moving the
    rotation to the blit core is planned for a future release.
  • The Xv target now uses the game driver's aspect ratio unless the
    "-nokeepaspect" or "-noka" switch is specified. Inspired by Paul
    Sajecki's patch.
  • Simplified/unified the FPS on-screen display. This is now only
    overridden when the Barath frameskipper is in debug mode.
  • The DGA, GGI, and SVGALIB targets now use the game aspect ratio
    provided by the core rather than a hard-coded 4:3.
  • Using "-x11-mode" or "-x11" to activate DGA fullscreen mode now
    disables Xv. Likewise, switching to DGA fullscreen mode via <ALT>-
    <HOME> is now disabled while Xv is active.
  • All path and directory options in fileio.c now support expansion of
    environment variables such as $HOME.
  • Fixed a warning about snprintf when building for Mac OS X.
  • Fixed the XInput handling so that spinners no longer show an inertial
    effect. (David Mitchell)
  • Updated the documentation to include a section about the Xv extension.
    (Frank Cox)
  • Fixed problems in memory.c that could lead to crashes and default.cfg
    corruption. (smf)
  • Fixed a bunch of ANSI/ISO warnings reported by Stefano Priore.
  • Aspect and mode switches are now available for the Xv driver even if
    DGA isn't enabled.
  • Fixed a couple of files so that they include <alsa/asoundlib.h>
    instead of the deprecated <sys/asoundlib.h>. (Nico)
  • Changed a net_active() call in src/mame.c to the osd_net_active(). I
    must have messed up my all-in-one core patch at some point.
  • The 'rc' and 'hi' directories are now created on startup if they're
    missing. (Gerd Sussner)
  • Merged NetMAME 0.6rc1, which should allow games to be playable over
    medium-latency connections, DSL, and cable. It also adds configurable
    ports and NVRAM sync. (Steve Freeland)

Release 0.61.1, 13 November 2002

  • Almost everything from MAME 0.61 and MESS 0.61.2.
  • The mouse cursor is now hidden in OpenGL fullscreen mode. (Craig
    Servin)
  • Applied a patch for FreeBSD to unix/video-drivers/svgainput.c.
    (Stijn Hoop)
  • Applied the NetMAME 0.5 patch, which adds a new option,
    "-parallelsync", which should allow games to work without lag at
    network latencies of up to 16 milliseconds. (Steve Freeland)
  • Added support for Linux on the Playstation 2. (Joan Sarah Touzet)
  • Fixed a problem in the ALSA 0.9 driver with setting the sample rate
    on SB128 soundcards. (Stephen Anthony)
  • Fixed a bug in unix/devices.h that prevented compilation on non-X11
    platforms.
  • Fixed the register constraints in cpu/i8085/i8085cpu.h so that
    cpu/i8085/i8085.c can build for x86 using gcc-3.1 with -O3. This
    change was missed in the MAME 0.61 release.
  • Fixed multiple definition warnings in the psikyosh driver.
  • Increased the size of the buffer used to display history. (Steve
    Fewell)
  • Modified unix/fronthlp.c so that it flushes its output more often to
    aid frontends. (Shadow Walker)
  • Changed unix/video-drivers/xfx.c to be more frontend-friendly.
    (Benoit Dumont)
  • Added support for the SDL joystick driver. (Yang Hyun)
  • You can now specify a config subdirectory name using -cfgname/-cn.
    This is useful for creating an alternate configuration. (Benoit
    Dumont)
  • Added a "waveout" DSP plugin which redirects sound to a file using
    Microsoft's PCM WAVE format. The file name can be specified with the
    "-audiodevice" switch and defaults to "xmameout.wav". (Donald King)
  • Added support for showing average frames per second when quitting.
    Also added support for the "-frames_to_run (-ftr)" switch.
  • Added Xv hardware scaling support! To enable, uncomment the line
    reading "X11_XV = 1" in the makefile and use the "-xvext (-xv)"
    switches (and possibly the -yuv switch). (Alastair Robinson)
  • An X11 build can now grab the keyboard to bypass window managers.
    Use "-grabkeyboard (-gkb)" to activate and/or the ALT + PGUP keypress
    to toggle it on/off. (Gerd Sussner)
  • The code for finding the best X11 visual now checks in descending
    order of bit depth. This is to work around a bug/feature in the
    latest NVidia drivers. (Gerd Sussner)
  • Fixed a problem in the DGA2 driver that could lead to scrambled
    colors with an i830MG video card in 24bpp mode. (Eric Brunet,
    Shyouzou Sugitani)
  • The SDL target's "-listmodes" switch now operates before attempting
    to load a game. (Shadow Walker)
  • If xmame is iconified in IRIX, it will automatically pause ("boss
    hanging around mode"). (Andrea Suatoni)
  • Added a switch to force yv12 mode in the Xv driver; made improvements
    to the yv12 code. (Eric Brunet)
  • Xmame should now build "out of the box" for FreeBSD. Note that for
    the SDL target, you may have to set the SDL_CONFIG flag in the
    makefile. (Stijn Hoop)

Release 0.561.1 (xmess), 16 May 2002

  • Everything from MESS 0.561.
  • Fixed the register constraints in cpu/i8085/i8085cpu.h so that
    cpu/i8085/i8085.c can build for x86 using gcc-3.1 with -O3.

Release 0.60.1 (xmame only), 5 May 2002

  • Everything from MAME 0.60, except for the new special controllers
    support.
  • Updated the SNK driver to fix sound for games that couldn't use Y8950
    together with YM326/YM3812. (Nicola Salmoria)
  • Fixed the leg of the tiger in namcos86. (SUZ of the MAME E2J board)
  • Updated the Moo Mesa driver to the latest version. (R. Belmont)
  • Fixed a stereo output bug in sound/2612intf.c; fixed a sample loop
    timing bug in sound/k007232.c. (Hiromitsu Shioya)
  • The "-diffdir" setting might actually work now.
  • Fixed the Mortal Kombat 3 level select screen. (Aaron Giles)
  • Updated the description of the new "-ctrlr" option in changes.mame
    and windows.txt. (Ron Fries, et al)
  • Updated the V60 core to handle unaligned memory accesses, which
    should fix some SSV games. (Nicola Salmoria)
  • Updated 8080bw to fix the dip switches for Ozma Wars and its clones,
    and to add the offscreen bonus display to 4-Player Bowling.
    (Nephrite, Zsolt Vasvari)
  • Updated drivers/psikyosh.c and vidhrdw/psikyosh.c to allow Lode
    Runner and Hot Gimmick to run through their attract modes. (David
    Haywood)
  • Fixed a crashing bug in vidhrdw/shaolins.c. (David Haywood)
  • Modified sound/ay8910.c to fix sound in some M62 games. (Nicola
    Salmoria)
  • Updated drivers/wecleman.c to make the car in wecleman controllable.
    (David Haywood)

Release 0.59.2 (xmame only), 17 April 2002

  • Updated the included zlib library to 1.1.4, which fixes a "double
    free" security vulnerability.
  • Applied a fix for the fromance video driver. (Takahiro Nogi)
  • Updated romalizer to the latest release, 0.7pre3. (Christopher
    Stone)
  • Fixed a potential crash and a linear interpolation bug in the ES550x
    sound driver. (Aaron Giles)
  • Fixed a crash in the renegade driver caused by a sound effect reading
    past the end of the ADPCM memory region. (Phil Stroffolino)
  • Fixed the following MAME testers bugs: blmbycar059red, uopoko059red,
    gcpinbal059red, jitsupro059red, metroc059red, phelios059red,
    paclandc059red, ncv1058red, av2mj059red, fromancec058red. (Aaron
    Giles)

Release 0.59.1 (xmame only), 25 March 2002

  • Everything from MAME 0.59.
  • Set some more sensible defaults for the various path settings in
    fileio.c (e.g., XMAMEROOT/samples for samplepath).
  • Fixed a segfault in psikyosh games. (David Haywood)
  • The NetBSD USB joystick code now compiles on newer NetBSD
    installations. (Krister Walfridsson)
  • DGA 2.0 support now works on NetBSD PowerPC machines. It was broken
    due to an issue with using memset() on mapped video buffers.
    (Charles M. Hannum)
  • The GLmame driver now compiles and runs on the OpenGL 1.1 shipped
    with IRIX, but still doesn't work as it should. (Andrea Suatoni)

Release 0.58.3 (xmame only), 17 March 2002

  • Cleaned up src/unix/effect.c a bit. It should now be able to compile
    better with non-GCC compilers. (Inspiration by Marcus Herbert.)
  • Fixed a memory core bug in drivers/btoads.c. (Aaron Giles)
  • Fixed an endian bug in sndhrdw/williams.c that could affect
    big-endian architectures. (Aaron Giles)
  • Worked around several warnings about 'PPC' being redefined when
    building under LinuxPPC.
  • Added support for using multiple mice as trackballs under X11. (Gerd
    Sussner)
  • Updated NetMAME to 0.4.1, which fixes several problems that prevented
    3+ player sessions from working. (Steve Freeland)
  • Changed the XIL support to use 16bpp instead of 8bpp. (Carson Gaspar)
  • Applied a fix for a crash in Vulgus. (Stefan Jokisch)
  • Added the latest romulan.pl to src/unix/contrib/tools. This release
    adds support for finding roms that are in the wrong zipfiles and also
    has new options to disable strict merged sets. (Nathan Hand)
  • Added a workaround for the XFree86 tdfx DGA2 driver which can prevent
    the original mode from being restored when leaving fullscreen mode.
    To enable, uncomment TDFX_DGA_WORKAROUND = 1 in the makefile.
    (Gilles Hamel)
  • 'make xlistdev' should work again. (Bugzilla #189)

Release 0.58.2 (xmame only), 10 February 2002

  • Applied a tilemap fix needed for Numan Athletics. (Phil Stroffolino)
  • Fixed a bug that caused the network code to break in FreeBSD. (Stijn
    Hoop)
  • The xfx and svgafx targets failed to build in 0.58.1 because of a
    core patch that was inadvertently overwritten. They now build again.
    (Steve Freeland)
  • Applied sound fix for Final Fight and Truxton 2 and possibly other
    games which use FM timers; applied QSound fix for CPS1; applied sound
    fix for Yie Ar Kung-Fu. (Aaron Giles)
  • Outrun no longer segfaults on startup. (Steve Freeland)
  • Fixed several multiply-defined variables that caused link warnings.
  • The OSS audio driver no longer automatically falls back on timer-
    based audio if the requested fragment size/numfrags cannot be
    obtained from the sound device.
  • Fixed a few gcc 3.0.x warnings.
  • The xgl target compiles again, but may have problems with vector
    games.

Release 0.58.1 (xmame only), 5 February 2002

  • Everything from MAME 0.58.
  • Fixed several C++-style comments.
  • The problem with compiling src/cpu/v60/v60.c in LinuxPPC should really
    be fixed now.
  • Updated to GLmame 0.93, which fixes a bug affecting Voodoo cards.
    (Sven Goethel)
  • Pausing while in fullscreen DGA mode no longer causes the sound to be
    lost. (Steve Slaven)
  • The short version of "-loadconfig" is now "-lcf", since "-lc" was
    conflicting with -listcpu.
  • Corrected a minor error with the help info for "-stdout-file" and
    "-stderr-file".
  • Added an SDL sound plugin that is enabled by default for the BeOS
    target. (Jack Burton, Caz Jones)
  • Updated/cleaned up some bits of the DGA2 code. (Fernand Albarracin,
    Shyouzou Sugitani)
  • The xfx target is working again. (Steve Freeland)
  • Updated netmame to version 0.4, which should tolerate latency better.
    (Steve Freeland)

Release 0.57.1 (xmame only), 5 January 2002

  • Everything from MAME 0.57.
  • src/cpu/z80.c now builds with gcc 3.0.x using -O3. (Andrea Mazzoleni)
  • Fixed a minor typo in src/cpuintrf.c. (Quench)
  • Fixed a bug in src/vidhrdw/nmk16.c that caused bad/leftover sprites
    in gunnail. (David Haywood)
  • Added experimental network support. To enable it, uncomment
    MAME_NET=1 in the makefile. See src/unix/doc/multiplayer-readme.txt.
    (Steve Freeland)

Release 0.56.2, 1 January 2002

  • Added the MESS 0.56 core.
  • Added contrib/kxmame. This script launches xmame.x11 in builds of KDE
    which have problems with the window not opening. (Sylvain Trosset and
    Hoonis)
  • Updated dga2.txt to mention Radeon DGA2 fixes that are in the XFree86
    cvs tree. (Shyouzou Sugitani)
  • Updated GLmame to v0.92--see src/unix/doc/changes.opengl. (Sven
    Goethel)
  • Added extra debugging output to the DGA 2.0 driver. (Shyouzou
    Sugitani)
  • Fixed a compile error that could occur in blit.h due to a C++-style
    comment. (Artane)
  • Added the ability for xmame to interpret file names as game names,
    e.g., 'xmame.x11 /path/to/mspacman.zip' should now work. (Peter
    Trauner)
  • Renamed several xmame-specific keyboard functions to prevent a clash
    with svgalib and to avoid future clashes. (Bugzilla #123)
  • Added rapid-fire support for joysticks: Use "-rapidfire (-rapidf)".
    (Shyouzou Sugitani)
  • Added an SDL azerty keymap to doc/xmamerc.dist. (Luc Saillard)
  • The xfx target can now compile, though it still won't run. (Viet)
  • Upgraded to romalizer 0.7pre2; fixed a problem that caused "-listfull
    mokomo" to break romalizer. (Christopher Stone)
  • The svgafx target compiles again.
  • Added some notes to makefile.unix regarding known problems with gcc
    optimization flags on IA32 platforms.
  • Added src/unix/doc/AIX-install-notes. (Greg Peter)

Release 0.56.1 (xmame only), 21 November 2001

  • Everything from MAME 0.56.
  • The svgafx driver is working again--it was broken by the removal of
    8bpp support from the core. (Henri and Jason)
  • Numeric keypad support is now much better. (Andr� Majorel)
  • Added arbitrary height scaling, available via the "-arbheight" option
    and started sanitizing the blit core. This currently only works with
    the X11 (windows, DGA1, DGA2) and svgalib drivers. (Adam Moss)
  • Added support in makefile.unix for the Intel C++ compiler, and also a
    sample wrapper script in contrib/tools. (Adam Moss)
  • Added "-usbpspad (-pspad)" switch for support of the direction
    buttons on the Playstation gamepad. (Bill Adams)
  • Added support for SDL under BeOS. Sound is not currently supported,
    however. (Jack Burton)
  • Fixed a bug that prevented romalizer from working. (Shyouzou
    Sugitani)
  • The xgl target should work much better. (Sven Goethel)
  • The "-hotrod (-hr)" and "-hotrodse (-hrse)" commands should actually
    work now.
  • Fixed a bunch of warnings that occurred when linking with GNU
    binutils using -warn-common.
  • Added DGA2 documentation: src/unix/doc/dga2.txt. (Shyouzou Sugitani)

Release 0.55.2 (xmame only), 4 October 2001

  • Added special-cased fast 2x1 and 3x1 scaling to the blit core. (Adam
    Moss)
  • Added several AdvanceMAME effects, available via "-effect (-ef)".
    Note that these effects are not available for some video drivers, nor
    do they work on actual 24-bit (packed) displays yet. (Ben Saylor)
  • Added mame-listmissing to contrib/tools. (David Griffith)
  • Fixed compilation errors reported in snprintf.c on some platforms,
    e.g. HP-UX 10.20 with GCC 3.0. (Stefan Becker)

Release 0.55.1 (xmame only), 17 September 2001

  • Everything from MAME 0.55.
  • Removed the romcheck script until its author considers it far enough
    along for public consumption.
  • Added mamecds to contrib/tools. (Carlos Calzada Grau)
  • Updated the ALSA 0.9 support: Added "-alsa-buffer"; replaced the use
    of SND_PCM_FORMAT_S16_{LE,BE} with SND_PCM_FORMAT_S16; changed
    "-alsapcm (-pcm)" to "-alsa-pcm (-apcm)"; changed the default value
    of "-alsa-pcm". (Shyouzou Sugitani)

Release 0.54.2 (xmame only), 4 September 2001

  • Applied a fix for the Bubble Bobble driver. (Haze)
  • Added a couple words to the makefile to indicate that the 68020 asm
    core is broken.
  • Added a.out support (e.g. for OpenBSD) to the dlsym calls in several
    GLmame files. (Claudio Castiglia)
  • Applied a fix for Konami games. (Aaron Giles)
  • Using "-debug" no longer results in a segfault.
  • Applied a patch for the ES550x that fixes the runaway voices in Puzzle
    Bobble 3 and might fix other games with problems. (Aaron Giles)
  • Added "-samplepath (-sp)" and "-artworkpath (-ap)" command line
    options.
  • Added mame-cd to contrib/tools. (Mario J.Barch�in Molina)
  • Added romcheck to contrib/tools. (David Griffith)

Release 0.54.1 (xmame only), 26 August 2001

  • Everything from MAME 0.54.
  • Fixed a compile error in the xgl target caused by a change in the
    core. (Sven Goethel)
  • Applied a patch that fixes CPS2 games. (Aaron Giles)

Release 0.37b15.2, 26 August 2001

  • Everything from MESS 0.37b15. Yay!
  • Changed the short version of "-list-display-plugins" from "-ldp" to
    "-ldisp". "-ldp" was already being used for "-list-dsp-plugins".
    (Shyouzou Sugitani)
  • Fixed prep-new-mess to account for some of the new text file
    names/locations.

Release 0.53.1, 18 August 2001

  • Everything from MAME 0.53 except for what was missing before.
  • GLmame now supports LinuxPPC. (Sven Goethel)
  • Fixed a problem that could cause an xmame.xgl build to fail when
    esound is enabled.
  • Fixed a bug in src/unix/unix.mak that caused builds using the asm 68k
    core to fail.
  • QNX Neutrino/Photon updates: Added extended keyboard support; support
    for a wider range of sound cards; swapfile support. (Travis Coady and
    Julian Kinraid)
  • Fixed a bug in contrib/porting/prep-new-mess that caused fix-comments
    to erroneously run on src/unix when processing .h files; made other
    cleanups in this script and prep-new-mame. (Christopher Stone).

Release 0.37b16.1, 7 July 2001

  • Everything from MAME 0.37b16 except for steadykey support and the new
    RGB blitters. These may be appearing in a later release. :-)
  • Added Matt Lowry's latest README, which has been missing from xmame
    for several releases.
  • Fixed the contrib/porting/prep-new-mame script so it doesn't omit the
    README file.
  • QNX Photon2 updates: A fix for dirio.c which allows xmess to compile
    under the QNX 6.1 internal beta; audio has better verbosity; fixed a
    bug which caused games utilizing a mouse to core dump. (Travis Coady)
  • Fixed some ANSI/ISO warnings in the GLmame code.
  • Changed contrib/porting/prep-new-mame to reflect the new .txt files
    bundled with MAME.
  • Updated contrib/porting/porting.txt to refer to src/windows rather
    than src/msdos for diffing between versions, since the Win32 target
    is now the primary one.
  • Updated the docs to mention that KDE 2.2b1 has been reported to fix
    the xmame.x11 problem whereby the window never displays without using
    a workaround.

Release 0.37b15.1 (xmame only), 26 May 2001

  • Everything from MAME 0.37b15 except for 'steadykey' support.
  • Added an aRts sound server driver. (Manuel Teira)
  • Added another aRts sound server driver. It needs reasonable aRts
    server settings, something like artsd -F 6 -S 4096 should be ok to
    get near accurate response time. (Petr Smotek)
  • ALSA updates: Added preliminary support for ALSA 0.9 API; split the
    0.5 and 0.9 API stuff into separate files. (Shyouzou Sugitani)
  • HotRod support is now enabled by either -hotrod or -hotrodse, just
    like the DOS/Win32 version.
  • Added dummy flicker and vector orientation functions to fxvec.c so
    that xmame.xfx can link again.

Release 0.37b14.2 (xmame only), 13 May 2001

  • Updated the romulan.pl script in contrib/tools. (Nathan Hand)
  • The sound device is now released when the emulation is paused.
    (Shyouzou Sugitani)
  • Updated the comment in makefile.unix about nasm to indicate that v0.98
    or higher must be used to build the asm 68k cores.
  • Added "-hotrod" for HotRod and HotRod SE support. Set it to 1 for
    HotRod, 2 for HotRod SE.
  • The DGA target now reports whether it's using DGA1 or DGA2.
    (Christian Groessler)
  • Updated GLmame to version 0.62. (Sven Goethel)
  • Fixed src/tiny.mak so the tiny build would work.
  • Added the KDE workaround to the documentation.

Release 0.37b14.1 (xmame only)

  • Everything from MAME 0.37b14 except for 'steadykey' support.
  • Major updates to the files in contrib/porting. Added prep-new-mame
    and prep-new-mess scripts for porting from the MS-DOS sources.
  • Added new CFLAGS to makefile.unix for more optimal builds under IRIX.
    (John Gilbert)
  • Fixed the files in src/unix for which Per Wigren reported problems
    when using the Tru64 compiler.
  • Incorporated fixes to the core sources for the Tru64 compilation
    problems. (Nicola Salmoria)
  • Audio now works on the released version of Mac OS X. (Pete French)
  • Fixed a bug in logerror() that could cause a crash. (Pete French)
  • Added the German HTML docs. (Robert Hamberger)
  • Added a note to the docs and makefile about adding -DGLU_VERSION_1_2
    to the GLCFLAGS when using Mesa's GLU. (Sven Goethel)
  • Updates to the ALSA dsp driver: cosmetic changes, suppression of bogus
    warnings about underruns. (Shyouzou Sugitani)
  • Added new sound driver plugins for IRIX. (Brandon Corey)
  • Updated the changelog for the ALSA dsp driver. (Shyouzou Sugitani)

Release 0.37b13.2

  • MESS 0.37b13 is now included.
  • Added an updated romulan.pl to contrib/tools. (Nathan Hand)
  • Added an updated romalizer to contrib/tools. (Christopher Stone)
  • Adopted the directory layout used in MESS CVS. Namely, all of the
    xmame-specific directories have been moved into src/unix. Releases
    will now have symlinks to these directories in the root.
  • Updated the docs to reflect the new mailing list address, courtesy of
    Pete French.
  • Fixed an unmatched parenthesis error in src/drawgfx.c that was
    affecting non-Intel platforms.
  • Fixed a bug in mess/cpu/apexc/apexcdsm.c that was causing xmess
    linking to fail.
  • Updates to the QNX target: Added sound support via an ALSA hack, added
    fullscreen Photon2 support, and made other miscellaneous Photon2
    updates and fixes. (Travis Coady)
  • Updated GLMame to v0.85. (Sven Goethel)
  • Vector games now work with the SDL target.

Release 0.37b13.1 (xmame only)

  • Everything from MAME 0.37b13.
  • Numerous updates to the OpenGL target. (Sven Goethel)
  • Added Photon2 display support for the QNX target. (Travis Coady)
  • You can now run "make clean68k" before building with a different 68k
    core. (Mike Coates)
  • Applied a patch from StretchMAME that prevents a bunch of games from
    segfaulting on startup. (Shyouzou Sugitani)
  • A fix for the sprites in CVS games. (Nicola Salmoria)

Release 0.37b12.1

  • Everything from MAME and MESS 0.37b12.
  • The SDL install no longer sets SUID root on the binary. (Torbj�rn
    Andersson)
  • Updated mame_perl to 1.3. (Stefan Becker)
  • Added support for the RGB 555 mode for targets which support 16bpp
    displays.
  • Added support for the RGB 888 mode to the x11_window, DGA, and SDL
    targets. (Shyouzou Sugitani, Lawrence Gold)
  • Added -sdlmapkey/-sdlmk to the SDL target to allow the remapping of
    keys. This should help users with non-U.S. keyboards.
  • Revised the example key remappings in doc/xmamerc.dist and
    src/unix/xmamerc-keybinding-notes.txt to match the current keycodes.
    Also added SDL examples.
  • Added the beginnings of QNX 6/QNX 4 support. The X11 display driver
    should at least work. (Travis Coady)
  • The semicolon/colon and period keys should now work for the SDL target
    in xmess (tested with the a800 driver).
  • Updated/added a couple of key mappings (\", :, and <) to match the
    MS-DOS version.
  • Improved OpenGL support, including better performance, dynamic
    checking of OpenGL extensions, and dynamic fetching of the max texture
    size. (Sven Goethel)

Release 0.37b11.2

  • MESS 0.37b11 is now included.
  • Full DGA 2.0 support, with automatic depth-switching. A build on an
    XFree86 4.0.x system will automatically use the DGA 2.0 calls; if the
    binary with 2.0 support is run on an XFree86 3.3.x system, it will
    fall back on DGA 1.0 calls. (Shyouzou Sugitani, Stea Greene, Matt
    Lowry)
  • Support for either NetBSD or OSS sound under OpenBSD. The default is
    the NetBSD sound interface, which reportedly works better. (Claudio
    Castiglia)
  • Cleaner install mechanism in the makefiles; included install-sh script
    from X11R5 for platforms which lack the install command; the default
    install prefix is now "/usr/local". (Claudio Castiglia)
  • SDL mouse support has been added. (riq)
  • SDL target should now have all previously missing update routines.
    (riq)
  • Added "-joydevname (-jdev)" option to select the device prefix for
    the i386 joystick. Defaults to "/dev/js" for Linux and "/dev/joy"
    for *BSD. (Thanks to Laurent Simon for the suggestion.)

Release 0.37b11.1 (xmame only)

  • Everything from MAME 0.37b11.
  • Merged in changes from the src/unix tree that were in the MESS CVS;
    one of which is that if MAME_DEBUG is enabled, the binary will be
    called xmamed.<target> or xmessd.<target>. (Christopher Stone)
  • Commented out the call to osd_dirty_merge() in SDL.c. The SDL target
    has its own dirty handling. (Hans de Goede)
  • The menu colors no longer fade when you pause a game. (Sean Young)
  • xmess compiles again without having to uncomment VLM5030 in
    src/mess.mak. (Christopher Stone, Lawrence Gold)
  • make -f <makefile> tools should work again for xmess.
  • Possible fix for a problem with the DGA target on ATI Rage Mobility
    which caused a switch to fullscreen mode to not change the resolution.
    (Lawrence Gold)
  • "-listgamelist" no longer prints the column headers (they are shown
    by "-listgamelistheader"). (Lawrence Gold)

Release 0.37b10.1

  • Everything from mame 0.37b10 and mess 0.37b10
  • ALSA sound driver uses stream mode; this fixes the problem of
    continuous static during games. (Shyouzou Sugitani)
  • Running with DGA 2.0 no longer causes a blank screen with Matrox
    G200/G400. (Shyouzou Sugitani)
  • The asm 68k code compiles again. (Agawa Koji)
  • Building on older gcc, non-gcc, and FreeBSD 3.3 systems works much
    better. (Pete French, Olivier Galiber)
  • New unified OpenStep 4.2 Intel/Mac OS X PowerPC code. (Pete French)
  • The SDL driver now has video_update for 16bpp_to_16bpp; SDL_HWPALETTE
    was added to the flags of SDL_SetVideoMode (Ricardo Quesada)
  • New version of the mame_perl ROM manager. (Stefan Becker)
  • Fixes for getcwd/getwd for BSD43 systems. (Pete French)
  • Running with "-listsamples" no longer causes a core dump. (me)
  • Sprite corruption fix for the NES driver. (Christopher Stone, Sean
    Young, Brad Oliver)
  • The SDL driver now supports 32bpp XFree86 modes. (Dan Scholnik)
  • The SDL driver now has fullscreen support. (Patrice Mandin)
  • The back-quote/tilde key now toggles the on-screen display when using
    the SDL driver. (me)
  • Gave credit to Tadeusz Szczyrba for writing the original SDL driver.
  • Added a needed call to fflush() in the error logging. (Christopher
    Stone).
  • The frontend code ("-list" options) should more or less resemble its
    MS-DOS counterpart. Thanks to Christopher Stone for pointing out the
    problem areas.
  • Added an "openbsd" ARCH define. (Claudio Castiglia)
  • Fixed some core files to allow building under Solaris 8 using its
    native cc. (Vincent ^_^)
  • Changed the optimization flags in the Makefile for the IRIX platform
    so that the comment about turning on all optimization holds true.
    (Chris McCraw)
  • The svgafx target should run again; a call to osd_dirty_merge() had to
    be commented out. (henri)
  • Updated the docs to mention problems using Red Hat 7's latest gcc;
    added suggestion for using ALSA with OSS emulation if OSS problems are
    experienced.
  • Added a top-level README; removed old-changes.mess, which was
    identical to messold.txt; extended copyright notice to 2001 and
    listed Lawrence Gold as maintainer in config.c. (Matt Lowry)
Last Modified by Hans de Goede (hans@highrise.nl)

Release 0.37b7.1

  • Everything from mame 0.37b7, no mess yet
  • Added support for USB joysticks under FreeBSD thanks to:
    Christian Weisgerber <naddy@unix-ag.uni-kl.de>
  • Fixed xmame hanging with the message:
    WARNING: the game might not run correctly.
    Press any key to continue
  • Made the debugger always use the aspect ratio of the actual monitor,
    instead of the aspect ratio of the emulated game.

Release 0.37b6.1

  • Everything from mame 0.37b6 & mess 0.37b5 & 0.37b6
  • Alsa sound driver, thanks to: Luc Saillard <luc@alcove.fr>
    also please send any questions in his direction since I don't
    have alsa and thus can't test this.
  • Applied a small fix to src/cpu/adsp2100/adsp2100.c, which
    should fix mk3 and friends, thanks to: Frank Cox
  • Fixed a core bug causing ataxx and brutforc to crash.
  • Some crc and cheatfile changes for xmess by Christopher Stone
    • The crcdir now defaults to XMAMEROOT/crc
    • Added a new cheatdir (option -cheatdir) defaulting to
      XMAMEROOT/cheat
    • Default cheatfile for MESS is now cheat.cdb
      (this filename actually gets changed in the core now to
      gamename.cdb, if the user wants to use her own filename,
      she can just use anything except cheat.cdb or cheat.dat
      and it will not be renamed in the core)
    • xmess now looks for cheat files in cheatdir/filename
  • NETbsd USB joystick driver, thanks to: Krister Walfridsson
  • IA64 support, YEAH, thanks to: Christian Groessler <cpg@aladdin.de>
  • Made XF86-DGA honer -disablemode
  • SGML(linuxdoc) based documentation many many thanks to
    Rene Herrmann <Rene.Herrmann@gmx.de>
    The .lyx file is the master file I use, so please submit either
    patches against the .lyx file, or just plain text additions.
    Patches against the .sgml file are of no use to me.
  • Added a doc target to the makefile which generates the docs
    from the sgml source and generates gamelist.xxx, xxxxxxrc.dist and
    xxxxxx.6 .
  • Openstep fixes, openstep should work out of the box now, thanks to:
    Pete French <pete@toybox.twisted.org.uk>
  • Fixed crashes in svgafx for games which resize the screen, like
    mkla4.
  • Fixed crashes in 8 bit X-windows with games which resize the screen,
    like mkla4.
  • Fixed crash on exit in svgaXX displaymethods, when using the mouse
    and running games which resize the display, like mkla4.
  • Support for the new "graphical" mame debugger. This uses just one
    window resizing it to the debugger or normal size, using seperate
    windows for each is something xmame's current architecture is
    not designed for. This might still happen in the future but not
    before a rewrite of the video subsystem.
  • Added -debug-size / -ds XXXxYYY, with this you can specify the
    width and height of the debug window, please keep in mind that
    the minimum size is 640x480.
  • You can now change the scale of a window on the fly with
    leftshift +:
    Insert Increase widthscale
    Delete Decrease widthscale
    Home Increase heightscale
    End Decrease heightscale
    Page Up Increase scale
    Page Down Decrease scale
  • Added a partly autogenerated manpage, thanks to
    Rene Herrmann <Rene.Herrmann@gmx.de>

Release 0.37b5.1

  • Everything from mame 0.37b5, no mess yet!
  • The asm m68000 core is currently broken, so don't use it! ,
    on the brighter side of things, neogeo games seems to
    be working with the C-core now.
  • Fixed the segfault when exiting the xgl version.

Release 0.37b4.1

  • Everything from mame & mess 0.37b3 & 0.37b4
  • Note neogeo games don't seem to work this release with the C 68000
    cpu core, use the asm one instead.
    (Non x86 users seem to be outa luck, for this release only I hope.)
  • Changed the makefile to use the new dos makefiles:
  • No more makefile editing for each release
  • No you can build tinymame / neomame / neofree mame too.
    (just set TARGET to neomame / tiny)
  • Also much cleaned up
  • Added support for debugging on b/w xterm's thanks to:
    cpg@aladdin.de
  • Updated romalizer to 0.61, thanks to:
    TKMAME <tkmame@retrogames.com>
  • Updated opengl support now also works with uthaglx, and vectors
    have been fixed for nvidea. Thanks to:
    Tony Hoyle <tmh@magenta-logic.com>
  • Added support for mess snapshots (-snapshot) thanks to:
    "Wojciech Walaszkowski" <walaszkowskiw@prokom.pl>
  • Added -hiscorefile switch to specify the location of highscore.dat
    Thanks to: TKMAME <tkmame@retrogames.com>
  • Added a blurb to readme.unix about needing hiscore.dat to get
    highscores to work.
  • Made svgafx and xfx honor -[no]keepaspect for those who want to fill
    the entire screen.
  • Updated the mame_perl rom tool to 1.1 . Thanks to:
    Stefan Becker <Stefan.Becker@nokia.com>
  • Added tools target to the makefile, to build the platform indepent
    tools.
  • Added gamelist target to the makefile to generate gamelist.<target>
  • Added SYSDEP_DSP_O_NONBLOCK switch to the sysdep_dsp_create flags,
    currently only implemented for esound and OSS. And not guaranteed to
    actually work.
  • Made sound_stream.c check the return value of sysdep_dsp_write,
    incase it doesn't succeed / doesn't write all data. This should
    fix xmame with alsa's OSS emulation.
  • Added Dingus Family <ddingus@usewest.net> as irix maintainer to
    readme.unix
  • Added Jacob A. Hart <c9710216@studentmail.newcastle.edu.au> as
    freebsd maintainer to readme.unix
  • If you don't specify a specific cheatfile xmess will now
    now uses XMAMEROOT/system.cdb instead of cheat.dat, this
    doesn't affect mame thanks to Chris <tkmame@retrogames.com>
  • Readded openstep soundsupport thanks to:
    Pete French <pete@toybox.twisted.org.uk>
  • Cleaned up src/unix/sysdep/misc.* so that the system headers
    are only included in the .c file.
  • Cleaned up src/unix/osd_cpu.h to mach the above changes.
  • Added a special case to both osd_cpu.h and misc.c for openstep
    since CLOCKS_PER_SEC is not defined and should be 64 on openstep.
  • Added a blurb to doc/readme.unix about adding modelines to XF86Config
    Thanks to: Matt Lowry <mclowry@cs.adelaide.edu.au>
  • Changed rc.c so that it no auto prepends no for clearing booleans,
    allowing for short boolean options.
  • Added short options for most options thanks to:
    Christopher Stone <tkmame@retrogames.com>
  • Made -help honor the COLUMNS environment variable, thanks to:
    Christopher Stone <tkmame@retrogames.com>
  • Changed the config file parsing order a bit, now also parses global
    per game config files, see -help output, thanks to:
    Christopher Stone <tkmame@retrogames.com>
  • Added prelimenary sgml-ised version of xmame-docs, see doc/html.
    Many thanks to: Rene Herrmann
  • Xmame should no longer crash when compiled with DGA and run as root
    on a remote display. (Work around for an XFree86 bug)
  • Xmames frontend code now checks for games which don't use any roms,
    yet still have a ROM_REGION defined. Like the "genesis" driver under
    xmess.

Release 0.37b2.2

  • 0.37b2.1 featured a rewrite of the keyboard handling to add unicode
    support, unfortunatly I only adopted the x11 based drivers, and
    forgot the others, so only the x11 based ones compiled. This release
    has much cleaned up and rewritten keyboard support for:
  • svgalib
  • ggi
  • xgl
  • xfx
  • svgafx
  • Made the unicode support for X11 actually work (shift and altgr are
    now honered)
  • Corrected a small type in makefile.obj-xmess, thanks to:
    Peter Trauner
  • Fixed the creation of tape images in xmess, thanks to:
    Oscar Mart�n Gonz�lez
  • Updated the romalizer script in contrib to v0.6, thanks to:
    tkmame@larry.ztnet.com

Release 0.37b2.1

  • Everything from mame & mess 0.37b2.
  • Fixed brightness handling on pause, the brightness no longer
    gets d