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
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
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 the
source 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).