Mednafen 0.8.D Release Candidate 1 - 模擬器

By Bethany
at 2009-12-31T17:53
at 2009-12-31T17:53
Table of Contents
http://forum.fobby.net/index.php?t=msg&th=531&start=0&
If anyone running FreeBSD, NetBSD, OpenBSD, and/or Solaris could test this
and make sure it compiles ok, and more to the point, that the sound is ok,
and report your findings in this topic, it would be appreciated.
If anyone running ALSA/OSS with Linux could do the sound testing as well, it
would be appreciated too.
If you can, specify the sound card and driver(ALSA/OSS-free/OSSv4/etc) you're
using. (Linux ALSA users can cat /proc/asound/modules).
Changes since 0.8.C:
Lynx: Fixed a bug in the cart loader code that would cause a crash
if the ROM bank size was larger than the actual data available in the
file(as is the case with some homebrew programs). Thanks to "Wookie"
for the patch.
Build files were regenerated using autoconf 2.64 and aclocal
1.11(previously, they were generated with autoconf 2.61 and aclocal
1.10.1).
Fixed a crashing problem when entering an invalid menu choice("0") in
the cheat interface. Thanks to tsenart for reporting the bug.
GB: The GameBoy module now respects the "filesys.disablesavegz"
setting in respect to saved battery-backed RAM.
Added support for "lurkers" on the network play server. Previous
versions of Mednafen don't lack support for this per se, but there
would be cosmetic issues with status messages printed to the internal
console.
SexyAL: Fixed a bug affecting the return value from RawCanWrite() in
the ALSA driver. The returned value was typically too
small by a factor of 4. The effects of this bug included
potential long periods of garbled sound
during netplay.
Fixed the return value from RawCanWrite() in the JACK
driver. It was being clamped to a value
that was too small by a factor of 4; however, the clamp
value was already excessively large in a way
that this bug would should have only been triggered if the
"soundbufsize" setting was excessively large.
The effects of this bug would be similar to the ALSA
RawCanWrite() bug.
The ALSA and OSS drivers will now try to set audio output to
2 channels if the source data only has 1 channel, and 16-bit
signed if thesource data is 8-bit(automatic conversion is done
). This is done to allow for lower period/fragment sizes, as,
in ALSA's internals at least, the minimum period sizes are
expressed in bytes, not sound frames.
The ALSA and OSS drivers will now try to set lower
period/fragment sizes than previous versions of Mednafen did.
With default settings, for ALSA, the new period/fragment size
is 50% of what it was before, and for OSS, 25%. Also, there's
a new setting to override the SexyAL's driver's preferred
period/fragment sizes, named "sound.period_time"(default value
of 0: no override). The period/fragment size is expressed in
microseconds. If the new, lower fragment sizes cause problems
, the setting can be changed to "2666" to approximate the
fragment size selection in previous versions of Mednafen when
using ALSA output, and "5333" when using OSS output.
Added a workaround to the OSS driver for a bug in ALSA(and
hence, ALSA's in-kernel OSS emulation) that could cause the
emulator to run far too fast for a short period of time if a
buffer underflow occurred.
The ALSA's driver's RawCanWrite() method now(finally) uses
snd_pcm_avail_update() instead of snd_pcm_delay().
This should improve performance and frameskipping behavior
when the ALSA output is not routed directly to a physical
device, such as the case with PulseAudio(though PulseAudio is
still not recommended :b).
--
If anyone running FreeBSD, NetBSD, OpenBSD, and/or Solaris could test this
and make sure it compiles ok, and more to the point, that the sound is ok,
and report your findings in this topic, it would be appreciated.
If anyone running ALSA/OSS with Linux could do the sound testing as well, it
would be appreciated too.
If you can, specify the sound card and driver(ALSA/OSS-free/OSSv4/etc) you're
using. (Linux ALSA users can cat /proc/asound/modules).
Changes since 0.8.C:
Lynx: Fixed a bug in the cart loader code that would cause a crash
if the ROM bank size was larger than the actual data available in the
file(as is the case with some homebrew programs). Thanks to "Wookie"
for the patch.
Build files were regenerated using autoconf 2.64 and aclocal
1.11(previously, they were generated with autoconf 2.61 and aclocal
1.10.1).
Fixed a crashing problem when entering an invalid menu choice("0") in
the cheat interface. Thanks to tsenart for reporting the bug.
GB: The GameBoy module now respects the "filesys.disablesavegz"
setting in respect to saved battery-backed RAM.
Added support for "lurkers" on the network play server. Previous
versions of Mednafen don't lack support for this per se, but there
would be cosmetic issues with status messages printed to the internal
console.
SexyAL: Fixed a bug affecting the return value from RawCanWrite() in
the ALSA driver. The returned value was typically too
small by a factor of 4. The effects of this bug included
potential long periods of garbled sound
during netplay.
Fixed the return value from RawCanWrite() in the JACK
driver. It was being clamped to a value
that was too small by a factor of 4; however, the clamp
value was already excessively large in a way
that this bug would should have only been triggered if the
"soundbufsize" setting was excessively large.
The effects of this bug would be similar to the ALSA
RawCanWrite() bug.
The ALSA and OSS drivers will now try to set audio output to
2 channels if the source data only has 1 channel, and 16-bit
signed if thesource data is 8-bit(automatic conversion is done
). This is done to allow for lower period/fragment sizes, as,
in ALSA's internals at least, the minimum period sizes are
expressed in bytes, not sound frames.
The ALSA and OSS drivers will now try to set lower
period/fragment sizes than previous versions of Mednafen did.
With default settings, for ALSA, the new period/fragment size
is 50% of what it was before, and for OSS, 25%. Also, there's
a new setting to override the SexyAL's driver's preferred
period/fragment sizes, named "sound.period_time"(default value
of 0: no override). The period/fragment size is expressed in
microseconds. If the new, lower fragment sizes cause problems
, the setting can be changed to "2666" to approximate the
fragment size selection in previous versions of Mednafen when
using ALSA output, and "5333" when using OSS output.
Added a workaround to the OSS driver for a bug in ALSA(and
hence, ALSA's in-kernel OSS emulation) that could cause the
emulator to run far too fast for a short period of time if a
buffer underflow occurred.
The ALSA's driver's RawCanWrite() method now(finally) uses
snd_pcm_avail_update() instead of snd_pcm_delay().
This should improve performance and frameskipping behavior
when the ALSA output is not routed directly to a physical
device, such as the case with PulseAudio(though PulseAudio is
still not recommended :b).
--
Tags:
模擬器
All Comments
Related Posts
(Remakes_VMs) D2X-XL v1.14.195

By Vanessa
at 2009-12-31T13:58
at 2009-12-31T13:58
JPCSP rev1299 compiled

By Kelly
at 2009-12-31T11:35
at 2009-12-31T11:35
MAME Plus v0.135u4r4517

By Sandy
at 2009-12-31T11:29
at 2009-12-31T11:29
Ootake v2.25

By Emily
at 2009-12-31T11:26
at 2009-12-31T11:26
PCSX2 plugins pack 30-12-2009

By Edward Lewis
at 2009-12-31T11:23
at 2009-12-31T11:23