X-Mame History:

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

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!!!!
