Path to this page:
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: