X-Mame History:

Last Modified by Hans de Goede (j.w.r.degoede@et.tudelft.nl)

Release 0.34b5.2
	- Fixed the __extension__ compile bug, I hope
	- Fixed the segfault when compile without joystick-support &
	  joy = 1 in xmamerc
	- Merged in gl-mame code, many thanks to Mike Oliphant for the
	  excellent and easy to merge patch. see doc/README.xgl
	- Merged in net-mame code, many thanks to Eric Totel, for the also
	  excellent and easy to merge patch. see doc/multiplayer-readme.txt
	- Added a volume xmamerc and commandline option.

Release 0.34b5.1
	- Everything from dos-0.34b4&b5, including the profiler, romident
	  asm 68000! and on screen display.
	- Removed /dev/audio (uLaw) support from linux, since it
	  was seriously broken en useless anyway. The audiodevice option
	  is from now on only usefull to use a second soundcard, see
	  doc/xmamerc.dist.
	- Rearranged most of the code in src/unix/fronthlp.c it's a lott nicer
	  now.
	- Rewrote src/unix/config.c it was nescesarry adding new options is so
	  much easier now. This also means that for consistency with the
	  commandline a lot of options in xmamerc have been renamed and/or
	  added, please copy xmamerc.dist over, and change it as needed.
	- Added -fragsize & -numfrags, see -help and doc/README.unix. This 
	  should help people who experience lagged sound. As a side-result of
	  this all soundbuffers are now dynamicly allocated and thus all OSS
	  problems should be gone, please report any remaining problems.
	- Added -stdout-file and -stderr-file to redirect stdout and stderr to
	  a file at a highlevel so svgalib doesn't bug us. Only usefull for
	  frontends, and only influences text printed by the osd part of
	  xmame, so -list and stuff are redirected, -verifyroms only partial,
	  and mame-core errors and messages are not redirected at all.
	- Cleaned up stdout/stderr use:
	  Stdout is used for requested info like -list options, and -help.
	  Stderr is used for status and error messages.
	- Partially rewrote palette-handling no brightness and gamma-
	  correction are supported, see -help, xmamerc and osd.
	- Robert Hamberger kindly donated a german translation of the readme.
	- New irix AL sound support by Tristram Scott, added Tristram as sgi/irix
	  maintainer.
	- linux-powerpc is now offically supported.
	- Added Mathis Rosenhau as sun/solaris maintainer.

Release 0.34b3.1
	- Everything from dos-0.34b3
	- Fixed the compilation problem on some platforms in config.c
	  (missing includes for sys/stat.h and unistd.h)
	- Speeded up palette cycling under xf86_dga with 8bpp
	- Rewrote X mouse handling now mouse works under xf86_dga
	- Added support for 15bpp truecolor visuals
	- Fixed irix_nosound and aix_nosound targets
	- Fixed a bug in osd_fseek which caused sample loading to fail,
	  now samples work as advertised.
	- Fixed a bug in svgalib & ggi palette handling which caused
	  some strange effects with translucent vectors.
	- Updated README.unix to contain who maintains which arch/os
	  combination and which are currently unmaintained,
	  maintainers wanted!
	- Added a section to README.unix on howto work around yet another
	  bug in the irix c-compiler. See the platform specific hints.
	- Added doc/TODO

Release 0.34b2.2
	- Fixed a bug: .cfg files where still saved in ${HOME}/xmame
	  instead of ${HOME}/.xmame.
	- On startup existence of ${HOME}/.xmame is verified and created
	  if nescesarry
	- On startup a check is done to see if compiled- and
	  runtime-endianess match (actually this has been there for
	  a few releases now but I forgot to mention it ;)
	- Some minor updates to README.unix
	- One note: /usr/games/lib/mame has been changed to
	  /usr/games/lib/xmame for concistency. So rename it, or use the old
	  setting in xmamerc.

Release 0.34b2.1
	- Everything from dos-0.34b2.
	- Everything unix from xmess-0.2b4.1:
	  *Fileio no supports gzipped files and a search path, see README.unix
	   Note: This means that you have to change mamedir to rompath
	   in your xmamerc.
	  *Updated README.unix to contain info on both xmess and xmame
	   not only on xmame.
	  *The title and other reference to xmame/xmess and version are now no
	   longer wrapped in ifdef's but instead are taken from defines set by
	   the makefile so to change the version no, or the name only the 
	   makefile has to be changed from now on.
	- Changed ${HOME}/xmame to ${HOME}/.xmame on popular request so
	  move that dir ;)
	- Makefile.objs no is no longer autogenerated due to some changes
	  in the dos makefile. These changes do mean that the number of objs
	  on the commandline at once have been greatly reduced. So those
	  who got a cmdline to long error shoould be happy now.
	- Updated contrib/porting.txt to include the manual creation of
	  makefile.objs. Added contrib/lowercase which is used for this.
	- Changed fix.c to fix-comments.c which is a more accurate name.
	- Removed autogeneration of makefile.objs from make-makefiles.pl
	  renamed it to fix-includes
	- Updated fix-mame to match the name changes of fix and
	  make-makefiles.pl .
	- General clean-up and restructering of README.unix with much thanks
	  to: Joseph E. Miele
	- The x86-asm m6808 core now also works on other i386 unices, thanks
	  to: Christian Groessler

Release 0.34b1.1
	- Everything from dos-0.34b1.
	- Intergrated xf86-dga support.
	- Hardware palette cycling (as promised way too long ago).
	  It's enabled automaticly, you'll receive a notice of this.
	  Under XFree86 it only seems to work on 8-bit displays with
	  a private colormap (-privatecmap).
	- Changed makefile so that you now choose:
	  a) arch
	  b) display method
	  So we no longer have linux-svgalib and linux-x and linux-ggi and
	  linux-xf86-dga. This esp makes sence since ggi and xf86-dga are
	  also supported on other arch's.
	- Added soft-klipping to the soundmixer. Actually done in 0.33.1
	  but I forgot to mention it there.

Release 0.33.3
	- Again fixed the m6808 asm core, this time a work around for
	  gnu-make not liking a long dep chain.

Release 0.33.2
	- Fixed a minor bug which made the compilation of the x86-asm 
	  m6808 cpucore fail.

Release 0.33.1
	- All the changes from dos-0.33(final).
	- Workaround for an of by one bug in newer oss (the linux sound driver)
	  versions. This caused the big delay for this release and hopefully
	  is now solved.
	- Workaround for an obscure irix compiler bug this means irix is
	  now fully supported, but don't use DCC !
	- Added contrib/xnetmame.tgz this contains files for (beta) network
	  play.
	- Added contrib/esound.diff, apply for sound output to the esound
	  deamon, this patch will be included in a newer version.
	- Added contrib/xf86-dga.diff, apply for xfree86 dga support, this
	  patch will be included in a newer version.
	- Updated contrib/mamex to work with newer versions of mame.
	- Added contrib/mamex.new, an enhanced version.

Release 0.33rc1.1
	- All the changes form dos-0.33rc1
	- Automated the porting process a bit, changed contrib/make-makefiles.pl
          not to generate a malloc-lines log. Since this is not nescesarry
	  anymore. Added contrib/fix-mame. See contrib/porting.txt for
          a quick description on how to use these porting tools, to get a new
          dos version ported to unix.
        - Part of these automation changes it that the objs generated by
	  make-makefiles are now used in makefile.unix by including
	  makefile.core.
        - Due to the above changes also all core-filenames have been made
	  lowercase, finally bringing unity.
	- Changed the compiler hints in README.unix not to use DCC,
	  since that was a bad advice which was causing the malloc trouble in
          the first place. We still have irix problems when using -n32
	  which are being looked into. For now use -o32 when compiling.
	- Added support for the m6808 asm cpu core, it has its own flag in the
	  makefile and defaults to off, this is only tested for linux-x86-elf
	  if anyone wants to get it to work on other x86 archs feel free
	  todo so. And please mail me your results. This requires a copy
	  of nasm, a free x86-asembler, in your path. 
	- Added 16 bit sound calls support.

Release 0.33b7.1
	- All the changes form dos-0.33b7, including a new frontend
	  option (-listclones).
	- Fixed the volume after menu setting bug, for real this time
	- Split update_dsp into true- and pseudo-color specific files,
	  with the hope to one day add a 16 bit mode truecolor variant
	- Cleaned up the error handling in the creation of the X display
	- When running xmame on a remote console mit-shm doesn't only fail
	  but it even tells you it failed amasing isn't it?

Release 0.33b6.1
	- All the changes form dos-0.33b6, including some new frontend
	  options (-listgames, -noclones).
	- Cleaned up keyboard-handling a bit.
	- Changed osd_analog_read to match the new syntax.
	- Added -root_window_id [id] cmdline option to create the window
	  within an existing window, to be used with frontend's
	- Added a credits.unix file, if you think you deserve an entry please
	  remind me, I don't remember all contributers.

Release 0.33b5.1
	- Just a port of dos-0.33b5, using the unix tree from
	  0.33b4.1. Nothing new on the unix-end but the main MAME team has
          added a few new goodies to this release.

Release 0.33b4.1
	- Basicly a port 0f 0.31.1 to 0.33b4
	- added 320x240 and 320x400 to svgalib-version
	- some changes to support the new 0.33 layer code

Release 0.31.1
	- A lott has happenend since the last release, before this release
	  there have been a lott of beta's. And I (Hans) have taken over as
	  main coordinator. This release fixes all known bugs to previous 
	  release's. And we've done our best to make this the best release
	  ever. In the switching and the quick beta-period to catch up,
	  changes have got lost however. The Changes file will be updated from
	  here on again.

Release 0.30.1
	- Just a patched Mame-0.30 version

Release 0.29.3
	- Added GGI ( General Graphics Interface support )
	- Added zlib support
	- Preliminary autoconf support
	- Some minor fixes

Release 0.29.2
	- Now osd_clearbitmap() uses named pen instead of default 0
          this solves several color bugs in atari vector games
	- Added xmame.man manual page. Thanks to Donald Burr
          Moved src/unix/xmamerc.dist to doc
	- Added "bindist" and "srcdist" options to makefile, for easy 
	  making of a source/binary distribution
	- Fixed missaligned integer pointer bug in src/sndhrdw/pokey.c
	- Some incongruent items in Copyright license has been changed
	- Created and moved documentation to doc directory
	- Intensive work of cleanning non-ansi and warnning items
	- Added UnZip-on-the-fly support for ROM's and Samples.
	  Thanks to Tomi Ollila for the unzipper code
	- Support for dirty lines speedup strategy in X
	  via -DUSE_DIRTY and -DDIRTY_RFSH makefile.unix options
	- Added support for Linux/X11/PowerPC. Thanks to Andreas Varga
	- Now "-list" and "-listfull" options writes to stdout, to 
	  allow interface with loaders
	- fixed bug in sndhrdw/starforc.c that makes sound too slow
	- fixed bug in src/unix/xdep.c that made incorrect graphics and
	  cores in swaped-xy games when X & Y scale differs

Release 0.29.1
	- Original Mame-029 sources ported to UNIX by Hans de Goede
	- Added "-[no]xsync" and "use_xsync" commandline/config option
	  To select between XFlush() or XSync() screen refresh method
	- Added "spooldir makefile/config/commandline configurable option
          to store high scores
	- Now .xmamerc and per-game user configurations parameters are moved
	  and stored into ${HOME}/xmame/ directory
	- New file update_dsp.c to code video update routines
	- Added -devdsp and -devaudio options to allow selection of audio
          device in those systems that has no /dev/audio
	- Added -showconfig cmdline option to display current running parameters
	  in a xmamerc-like style 
	- Now -DUSE_TIMER works on svgalib. Thanks Hans

Release 0.28.2
	- Added Solaris/ix86 support
	- Added Linux/Alpha support
	- Fixed several bugs in 8910intf.c to makes core in init sound
	- Changed Keyboard code to reset key table when entering/leaving
	  XMame window
	- Lots of porting errors solved
	- Solved (again) missalingned int problems in src/common.c:drawgfx()
	  Blames to Intel for trying to correct programmer errors instead a
	  clean core

Release 0.28.1
	- A Mix between official 0.28 Mame and XMame 0.27.2
	- Changed "static char *single" for "static char *_single" in 
	  src/sndhrdw/starforc.c due to a solaris varname conflict
	- Added -ror, -rol -flipx, -flipy, -cheat commandline options
	- Changed osd_obtain_pen() to use double-indexed color array for
	  cell allocation. This makes pseudocolor mode as slow than truecolor
	  but no esay way to bypass problem ( private colorcell is a color
	  waster strategy )
	- New fix.c code to make port easy. Thanks Hans
	- Added ultrix support

Release 0.27.2
	- Created new directory contrib. Waitting for your works...
	- Added support for ix86/BSDi. Thanks Tom <tom@toetag.com> for Patches
	- AUDIO_TIMER_FREQ #define moved to makefile sound options
	- Finally I got xmame running for 8bpp, 16bpp, 24bpp and 32bpp Xservers
	  No easy way to get 1 ( monocrhome ) and 4 ( 16 colors ). Sorry
	- Solved Audio bug in non-i386 machines ( audio buffer mixer works in
	  unsigned char fashion, and every others audio devices likes signed 
          ones )
	- Support for trackball emulation and mouse
	- Universal Joystick support:
	    - Patch for FM-TOWN game key pad joystick emulation (Linux)
	    - i386 joystick driver rewwriten. ( finally does diagonal correctly )
	    - Joystick support via X11 Input Extensions for "any" XServer that
	      supports them
	- Changed common.c to solve unaligment problem that causes SISEGV cores
	- makefile.unix changes. Lots of new switches ( perhaps it's time to
	  create a configuration script.. )
	- Solved bug that make change settings not to work ( TAB key )

Release 0.27.1
	- Hans de Goede did the work during my little holidays. Every one
	  thank's him
	- Linux SVGALIB support
	- Now osd_play_streamed_sample() works (yes, finally !!! )
	- src/sndhrdw/starforc.c static char *single changed to _single due
	  to solaris previous definition
	- Added samplefreq and videomode command line options ( only have 
	  sense in linux .... )
	- Changed (again) every PI items to POSIX M_PI .Mirko, please...
	
Release 0.26.3
	- Changes in makefile.unix and readme.unix. 
	- src/drivers/digdug.c bug fixed ( but still remain a bug: if
          no key pressed soundtrack stops.... )
	- New commandline options
	- Support sound on netbsd_i386 and freebsd
	- xdep.c scaling bug fixed
	- Added missing function in system-dependent code
	- osd_play_streamed_sample() in src/unix/sound.c improved 
	  ( needs further work... )

Release 0.26.2
	- Now timer based audio works again
	- Fixed several non-linux related audio bugs
	- Changed src/mame.c to optimize arg search and make unix help
	  available
	- readme.unix updated . READ CAREFULLY before trying to compile
	- X-Events scanning routine changed and optimized 
	- Several minor bugs and ANSI warnnigs fixed

Release 0.26.1
	- Original sources from Mame0.26.1 patched for Hans De Goede
	- Entire code "ANSI'ed" 
	- Added global xmamerc file parsing
	- Makefile structure changed. READ AND EDIT CAREFULLY BEFORE COMPILE
	- New Sound Code!! no more timer in those systems that allows query
	  free space in sound driver 
	- Improved mixer. Settable FANCY_SOUND to perform a linear interpolation
	  Play it!! you'll see the difference
	- Optimized video code for 2x and 3x scales

Release 0.23.3 

	- Added Joystick support under NetBSD
	- Fixed bug to bypass upper/lowercase names ROM filenames
	- Lot of portability bugs fixed
	- An optional sound.c.new code included. Perhaps you'll want to
	  test and improve...

Release 0.23.2

	(Thanks to entropy@zippy.bernstein.com for patches)
	- Fixed stupid bug in src/common.c:readbit();
	- Added support for i386/NetBSD ( No sound. sorry )
	- Now MAME-023 new games doesn't core

Release 0.23.1

	- Patched from Official MAME 0.23
	- Now you can make snapshots ( needed Xpm Library )
	- MAME-023 FM music synthesis doesn't work (yet)
	- New makefile.unix to allow enable/disable sound in IRIX and SGI
	- Lot of improvements and bugfixes
	- NOTE: some newer games dumps core in fgx routines. still
	  working on it. sorry :-(

Release 0.22.1
	
	- Patched from Official MAME 0.22
	- Included unix code from 0.21.7

Release 0.21.7

	- Added AIX sound support. Thanks to Chris Sharp
	- Added "-privatecmap" command line option and "private_colormap"
	  .xmamerc parameter to enable use of private color maps
	- Now sounds works again ( more work on sound server included )
	- Lots of bugs and **IX porting problems solved
	- New readme.unix with FAQ and installation guide

Release 0.21.6

	- Patched from Official MAME 0.21.5
	
Release 0.21.1

	- Mixed 0.20.3 with official MAME 0.21 sources
	- Makefile.unix changed
	- UNSTABLE. needs further work

Release 0.20.3

	- Support for HP-UX and AIX
	- Adecuate use of DISPLAY and MAMEDIR environment variables
	- Support for -help command line option
	- Support for ${HOME}/.xmamerc configuration file
	- Support for keyboard remapping

Release 0.20.2

	- Directory src/unix rewritten. no longer a big unix.c
	- A src/unix/Makefile is provided to create osdepend.a library 
	- ( Now I can start doing real work in a clean environment )
	- File makefile.unix adapted to new src/unix structure
	- changed macro PI ( non-posix ) for M_PI in some files under
	  directory src/sndhrdw
 
Release 0.20.1

	- Check for available 8bit depth Visual. if no, warns and quit
	- Check for available and runable MIT-SHM. 
	- Added command line -display "displayname"
	- Added command line -nomitshm to disable use of MIT shared memory
	- Rewritten most of video code
	- Several bugs fixed

Release 0.20
	
	- Finally Mame and X-Mame converges!!!
	- osd_update_display() rewritten. Should work at least two times
	  faster
	- osd_poll_joystick() patched to allow simultaneous x&y movements
	  when really desired ( Linux )

Release 0.19.1
May-2-1997
	- Corrected 0.19 sources to compile & run unde UNIX
	- Some POSIX'ing work
	- Corrected 0.19 bug that makes phoenix and pleiads unrunables if
	  not sound samples availables

Release 0.19 
April-29-1997

	- Official 0.19 sources. Due to a bug in building distribution doesn't
	work neither compile under UNIXes

Release 0.18 patch level 2
April-25-1997

	- Modify Makefile.UNIX, to support simultaneous multi-architecture
	  compiling
	- Set up hierachies obj.arch
	- Correct source files to support non-gcc ansi compilers
	- Added -DINLINE=static to specific irix native compiler CFLAGS in 
	  Makefile.UNIX
	- Added support for Sparc SUNW,dbri audio chipset

Release 0.18 patch level 1
April-24-1997

	- Added support for Audio on SGI Irix machines ( tested on a SGI Indy )
	- Corrected posix undefined PI macro in math.h

Release 0.18

	- Original sources from repository

SOUND TESTED ON:
	linux (i586/133) sounds acceptable
	Irix  (SGI Indy ) near nice
	Solaris ( Sparc5 SUNW,CS4231 ) poor, but usable
		( Sparc1+ SUNW,am79c30 ) horrible, better dont use
		( Sparc10 SUNW,dbri ) need more work ( too delayed and tickly )
	AIX	( Reported by Chris Sharp <sharp@hursley.ibm.com> )
		
KNOWN BUGS ( ONLY UNIX SPECIFIC INCLUDED ):
	- AUDIO_TIMER_FREQ is machine dependent
	- Cannot correctly control audio channels in Sparc ( doc wrong :-( )
	- Low quality in audio
	- Some games send long sound samples ( like soundtracks ) that overruns 
	  buffers and make core : -( 
	- Some games dump core when exiting. Don't know why...

TODO:
	- Make it runnable in servers that has no support for 8-bit depht
	  Visuals ( Actually warns and exit )
	- Support for kernel in-built n-channel mixer in Irix
	- Joystick support under Irix ( using the analog input port )
	- Rewrite mixer and buffering sound module
	- Full support of Sparc sound ( lots of bugs in actual one )

Please send patches, bugfixes, suggestions, blames, and money :-) to me,
j.w.r.degoede@et.tudelft.nl

See X-Mame http://drake.dit.upm.es/~mame

	Enjoy!!!!
