Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
New Features (Genesis / Sega CD / 32X) Added an audio setting to select 1 of 4 different audio low-pass filters, with cutoff frequencies ranging from about 15000 Hz (comparable to the existing filter) to about 5000 Hz (produces a very soft sound) (Genesis / Sega CD / 32X) Added a video setting to enable/disable individual graphics layers (Sega CD) Added an audio enhancement setting to apply linear interpolation or cubic Hermite interpolation to PCM sound chip channels; this significantly reduces audio noise and audio aliasing in games that play music or voice acting through the PCM chip (e.g. Lunar: Eternal Blue all the time, Sonic CD in past stages, basically every FMV game for cutscene audio) (GB) Added an option to use a custom 4-color palette, with a color picker UI for configuring the custom palette colors Added a new hotkey that completely exits the application (#140) The previous "quit" hotkey (which only closed the currently running game) has been renamed to "power off" Improvements (32X) PWM chip audio output resampling now uses cubic interpolation rather than a filter that assumed a source frequency of 22 KHz; this should improve audio quality in games that use PWM sample rates other than 22 KHz (e.g. After Burner Complete and Space Harrier) Input mappings that use modifier keys (Shift / Ctrl / Alt) no longer distinguish between Left and Right versions of the modifier, e.g. Left Shift and Right Shift are now both treated as simply "Shift" for input mapping purposes (#139) Redesigned most of the audio low-pass filters to explicitly target a cutoff frequency of about 15000 Hz with a stopband edge frequency of about 20000 Hz, which should further reduce resampling-related audio aliasing For performance reasons, NES and GB/GBC instead target a cutoff frequency of roughly 10000 Hz with a less steep attenuation slope past the cutoff frequency Implemented a performance optimization in how audio low-pass filters are applied when running on CPUs that support x86_64 AVX and FMA instructions (which is almost every x86_64 CPU made in the last 10 years; AVX2 is not needed) (SMS / Game Gear / Genesis) Improved video memory viewer UI so that it's now possible to view CRAM and VRAM simultaneously, as well as current VDP settings (captured once per frame at the beginning of VBlank) Display scale factor / DPI is now taken into account when determining initial emulator window size in windowed mode GUI: The GUI window is now repainted immediately when a directory scan finishes, rather than requiring mouse movement or a keyboard input to trigger the repaint Fixes (32X) Fixed the 68000 incorrectly being allowed to change the PWM timer interrupt interval via $A15130 writes; this fixes Primal Rage having horribly broken sound effects Fixed an input configuration bug that made it effectively impossible to correctly configure any gamepad where SDL reads digital buttons as analog axes, such as the 8BitDo M30 with its C and R buttons (#135) Fixed some minor bugs in the common audio resampling code related to how low-pass filters are applied CLI: For options that only accept a fixed set of possible values, the list of possible values in the help text is now auto-generated at compile time; this fixes at least one case where an option's help text listed a possible value that does not exist, and another case where an option's help text omitted a valid possible value
- Loading branch information