Changes from 1.101:
- Everything from MAME 0.102 (http://x.mame.net/changes-mame.html) and
MESS 0.102 (http://x.mame.net/changes-mess.html).
- 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.
- 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.
Changelog:
- Everything from MAME 0.100 (http://x.mame.net/changes-mame.html) and
MESS 0.100 (http://x.mame.net/changes-mess.html).
- 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)
Changes since 0.97:
- Everything from MAME 0.99 (http://x.mame.net/changes-mame.html) and
MESS 0.99 (http://x.mame.net/changes-mess.html).
- 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 "-xv/-xvext" 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.96, 10 May 2005:
- Everything from MAME 0.96 (http://x.mame.net/changes-mame.html) and
MESS 0.96 (http://x.mame.net/changes-mess.html).
- 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)
Changes since 0.90 includes:
- Everything from MAME 0.95 (http://x.mame.net/changes-mame.html) and
MESS 0.95 (http://x.mame.net/changes-mess.html).
- Forcing Xv to use YV12 ("-force-yuv 2") no longer causes rotated
games to segfault. Fixes Bugzilla bug 679.
- Fixed the aspect ratio of the MESS SuperVision driver so that it's
quadratic. (PeT)
- 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.
- The SDL sound driver should produce much better output. Also fixed a
potential deadlock.
Changes since 0.86:
- Everything from MAME 0.87 (http://x.mame.net/changes-mame.html) and
MESS 0.87 (http://x.mame.net/changes-mess.html).
- 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 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.
* 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.
* 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)
* Fixed a bug which caused the window to disappear with Xv windowed
mode under KDE.
- Added a missing "Rapid Fire" string to the configuration menu. This
fixes problems with the configuration of player controls. (Sylvain
Trosset)
- 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".
- Removed the "-[no]mouse" option. (Hans de Goede)
- Split aspect and mode settings so that all targets can use the
aspect settings. (Hans de Goede)
- 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.
In addition, make the package install xml2info using a patch from
Miguel Mendez in PR pkg/27101.
Changes since 0.85 include:
- Everything from MAME 0.86 (http://x.mame.net/changes-mame.html) and
MESS 0.86 (http://x.mame.net/changes-mess.html).
- 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.
- 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.
* Added support for vector clipping, which fixes mhavoc.
* 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)
- 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)
- Joystick buttons are no longer always registered as "button 9" in the
configuration menu. Fixes Bugzilla bug 587. (Thomas Klausner)
Changes since 0.84.1nb1:
- Everything from MAME 0.85 (http://x.mame.net/changes-mame.html) and
MESS 0.85 (http://x.mame.net/changes-mess.html).
- Added a 2x sinc-based 6-tap filter effect with scanlines, enabled
via "-effect 8" or "-ef 8". (Richard Goedeken)
- 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.
Changes since 0.81.1 include:
- Everything from MAME 0.82 (http://x.mame.net/changes-mame.html) and
MESS 0.82 (http://x.mame.net/changes-mess.html).
- 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.
(Andre Majorel)
Changes since 0.78.1 includes:
- Everything from MAME 0.79 (http://x.mame.net/changes-mame.html) and
MESS 0.79 (http://x.mame.net/changes-mess.html).
- Updated the ALSA DSP module to use the ALSA 1.0 API. (Shyouzou
Sugitani)
- Paths now allow a literal "$" if it's preceded by "\". (Andre
Majorel)
- 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)
- The Xv YUV code should now work on big-endian platforms. (Maciej J.
Woloszyk)
- The trigger for the ACT LABS TV light gun now works; reloading now
requires only one offscreen shot instead of two. (Joe)
Changes since 0.74.1 includes:
- Everything from MAME 0.77.
- Ported two more effects from AdvanceMAME: hq2x and lq2x. (Pieter
Hulshoff)
- Adjusted and cleaned up some YUV code. (Alastair Robinson)
Changes since 0.71.1 include:
- 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.
(Andre 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.
- Added hotkey switching for Xv windowed mode via ALT + DEL and Xv
fullscreen mode via ALT + END.
- Added -widescreen for Xv. This shrinks the width of the output for
display on a widescreen TV. (Per Wigren)
Changes since 0.68.1 includes:
- Almost everything from MAME 0.69.
- Re-added Ben Collins' core change that adds support for extra mice.
- Reverted to using the original fronthlp.c (from 0.67.2) modified to
work with the 0.69 core.
- Fixed a logic bug in the XInput devices button-handling. (Ben
Collins)
- Made a tiny fix in fileio.c that allows specifying direct paths to
roms to work again; e.g., ./xmame.x11 ./moo.zip
Changes since 0.66.2 include:
- Almost everything from MAME 0.67.
- 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)
Changes since 0.61.1 include:
- Amost everything from MAME 0.66 and MESS CVS.
- The Barath frameskipper is now enabled by default. (suggested by
Christopher Stone)
- Rotation has been moved to the blit core and should be a lot faster.
(Shyouzou Sugitani)
- 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.
no tar file yet.
+ - 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.
+ - Fixed a crash in the MESS Atari 800 driver.
+ - Aspect and mode switches are now available for the Xv driver even if
+ DGA isn't enabled.
Changes since 0.61.1 include:
- Almost everything from MAME 0.62.
- 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!
- 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.
Changes since xmame-0.58.3 include:
- 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)
Changes since 0.56.2 include:
* 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)
Changes since xmame-0.56.1 include:
* 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, enabled with -rapidfire or
-rapidf. (Shyouzou Sugitani)
* Reduce the number of patches needed by passing flags down to the make(1)
process instead of patching the Makefiles and sources in unnecessary ways.
* Remove unnecessary endian.sh script as the computation is down directly
in the package Makefile.
* Preliminary support for platforms other than NetBSD.
* Generalize the package Makefile enough to make it usable if/when xmess
compiles again on UNIX platforms
* Use the general INSTALL scripts to manage the spool directory during
installation/deinstallation.
Approved by kristerw@netbsd.org.
As usual, this is a sych. with MAME 0.56 (i.e. a slew of new games and
emulation improvments.)
Unix specific changes include:
- Numeric keypad support is now much better. (Andre 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 -usbpspad/-pspad switch for support of the direction buttons on
the Playstation gamepad. (Bill Adams)
- The -hotrod/-hr and -hotrodse/-hrse 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)
- 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)
Changes since 0.54.1 include:
- Applied a fix for the Bubble Bobble driver. (Haze)
- 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.
Changes since 0.53.1:
- 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)
This contains everything from MAME 0.37b14 except for 'steadykey' support.
The Unix-specific changes that affect NetBSD are:
- The sound device is now released when the emulation is paused.
(Shyouzou Sugitani)
- Added -hotrod for HotRod and HotRod SE support. Set it to 1 for
HotRod, 2 for HotRod SE.
- Fixed a bug in logerror() that could cause a crash. (Pete French)
Changes since 0.37b12.1
- 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)