Subject: CVS commit: pkgsrc/emulators/mednafen
From: Thomas Klausner
Date: 2009-10-31 02:56:36
Message id: 20091031015636.8F113175DD@cvs.netbsd.org

Log Message:
Update to 0.8.C/0.8.12:

0.8.C:

	SMS:  Fixed the input and reset emulation when the territory was
	set to "domestic"(Japan) and FM emulation was enabled; the emulated \ 
system was erroneously
	being treated as a Game Gear in a few places when those conditions were met.

	GB:  Fixed initialization of "HRAM" on virtual power toggle/reset.

	GB:  Fixed a bug(still many left) in the external RAM handling code, fixing an
	emulator crash with "Wizards & Warriors - Chapter X".

0.8.C-rc1:

	NGP: Fixed an unaligned memory access bug in the memory r/w handlers, causing \ 
crashes on platforms
	that do not support unaligned memory accesses.

	NES: Fixed an intialization bug in mapper 193.

	Added define "ALWAYS_INLINE" to force the compiler to always inline \ 
speed-critical functions, and added it to
	many emulation functions in that category.  gcc can be a pain in the butt.

	GBA:  Fixed a bug that would cause data corruption and the loaded game to crash \ 
whenever a state was
	saved(but the state itself, and loading it, was fine) on a big-endian platform.

	Fixed several instances of mismatches between format strings and passed \ 
argument types, which could cause
	nonsensical information to be printed on big-endian platforms, and perhaps some \ 
little-endian platforms as well.

	Fixed the minimum field-width specifier on the statements that print the loaded \ 
game's CRC32 in several
	places.

	Added the "format(...)" function attribute to the MDFN_DispMessage(), \ 
MDFN_PrintError(), and MDFN_printf()
	function prototypes to catch format string errors.

	Fixed the order of the sound drivers in the documentation(it was erroneously \ 
implying that OSS had a higher
	priority than ALSA for the default sound driver), and added various notes to \ 
explain the sound drivers.

	If an invalid "sounddriver" is selected, Mednafen will now print an \ 
error message and not initialize sound
	instead of silently selecting the default sound driver.

	SexyAL: Altered the argument order of SexiALI_Convert() to make more sense.

		Fixed the broken conversion code used when the frame count passed to Write() \ 
is greater than 2048.

		Fixed a bug/design flaw in the SexyAL SDL sound driver that can cause a crash \ 
during program
		deinitialization.

		Added support for "float" output format to the ALSA driver.

		The ALSA driver will now try all formats that SexyAL's conversion code \ 
supports if the desired
		format is not supported by the output device, rather that simply erroring out \ 
as before.

		Added support for converting to 24-bit and 32-bit PCM output formats from the \ 
source format(which
		is still fixed to signed 16-bit).

		The driver function RawCanWrite() is now passed a pointer to a uint32_t, which \ 
it sets to the number
		of bytes that can be written without blocking, rather than returning the value \ 
directly, so that
		the return value can be used as a success/failure indicator.

		The driver function RawWrite(), and the "user" function Write(), \ 
will now return 1 on success, 0 on
		(fatal) error, rather than returning the amount of data written.

		The OSS driver was testing the return value of open() incorrectly.  Fixed.

		SexyAL is now compiled as C++(but doesn't use many C++ features yet), which \ 
necessitated
		adding several explicit casts in various code, and fixing some inconsistent \ 
function prototypes and
		declarations.

                JACK: Fixed a stereo playback crashing problem(a loop count was \ 
being calculated incorrectly).

                JACK: Switched to using jack_client_open() instead of the \ 
deprecated jack_client_new().

                JACK: The "sounddevice" setting is now used, to \ 
specify the JACK server to connect to.

                JACK: Fixed a possible race condition in RawCanWrite().

		JACK, SDL: Changed the inter-thread ringbuffer setup to be less likely to \ 
underrun, while not hurting
		latency.

		JACK, SDL: Additional playback position precision is now obtained by using
		jack_get_time()/SDL_GetTicks().  This will improve Mednafen's performance with \ 
larger fragment sizes
		with these drivers, but smaller fragment sizes are still preferred for \ 
latency-to-underrun-occurrence-ratio
		reasons.

		Renamed the "byteorder" field of SexyAL_format to \ 
"revbyteorder", and changed it to a boolean type,
		to avoid confusion over what it actually represents.

	Removed erroneous dependency on CD-ROM emulation when WonderSwan emulation is \ 
enabled in the configure script.

        Added sanity checks to the first track number and total track count \ 
returned from libcdio, to prevent
        a crash in Mednafen if the libcdio driver fails and returns nonsensical \ 
values.

	Removed unused file sms/state.h

	Fixed a very-old bug that caused joystick unique ID collisions if more than 2 \ 
of the same "type" of physical
	joystick were available.

        Fixed a string constant-to-(char *) problem in sms/romdb.h.

	Mednafen is now compiled with -fsigned-char, to prevent any potential problems \ 
on systems with an "unsigned" char
	type as default.

	The included Tremor is now compiled with "-fvisibility=hidden" to \ 
work around a dynamic symbol collision
	problem with libsndfile(BUT, -fvisibility is only available in gcc 4.0 and newer).
	This solution may not be correct...

	Updated Tremor to the latest SVN version.

	PC-FX:  Added a semi-hack to fix a missing background layer problem in parts of \ 
"Angelique Special".  The
	underlying problem(no emulation of the programmable BG0 subscreen) will be \ 
corrected in 0.9.0.

	PC-FX:  Removed the unused V810 cache structures(Mednafen 0.9.0 will feature \ 
cache emulation, however).

	PC-FX:  Added a few CPU variables to save states whose absence could have \ 
caused netplay/movie desynch.

	PCE:  Fixed virtual power-toggle initialization of VCE and gamepad input variables.

        PCE, PC-FX:  Fixed the emulation of SCSI command 0xDE, mode 0x1.  The \ 
value returned was too small by
        2 seconds.

        PCE, PC-FX:  Fixed the sector count for the last track(which influences \ 
the leadout track start position/total
        sector count) in multi-track CUE/BIN CDROM images.

        PC-FX:  Fixed the handler address called when a TRAP instruction is executed.

	PC-FX:  Fixed the exception code set when an FPU divide-by-zero \ 
occurs(previously, it was being set to the
	integer divide-by-zero exception code).

	Fixed several problems in file.cpp, including buggy and overly-complicated \ 
MDFN_read*le() functions,
	and a problem with the const-ness of the return value of strrchr() with gcc 4.4.

Files:
RevisionActionfile
1.11modifypkgsrc/emulators/mednafen/Makefile
1.8modifypkgsrc/emulators/mednafen/distinfo