Sega Genesis / Sega CD / SNES / Master System / Game Gear模擬器,發布新版,更新如下:
Highlights: Audio enhancements and improvements for Genesis/Sega CD/32X, a few input/hotkey-related fixes, and a few random other features (e.g. Game Boy custom palette option)
Save states are not compatible with earlier versions
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)
- Some hardware models had hardware low-pass filters with fairly low cutoff frequencies, and some game audio seems to be designed around this (e.g. anything that regularly plays the PSG's noise channel at ultrasonic frequencies, like Gunstar Heroes)
- The difference is also quite noticeable in Sega CD games that use the PCM sound chip, where a strong low-pass filter can clean up some (not all) of the audio aliasing
- (Genesis / Sega CD / 32X) Added a video setting to enable/disable individual graphics layers
- (Sega CD) Added an audio enhancement setting to apply 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)
- To be clear, AVX/FMA instructions are used when supported but are not a hard requirement
- (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 PWM control register writes ($A15130); 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)
- The v0.8.2 input changes broke this more, but this also did not work correctly in earlier versions - the configuration UI would set the axis direction to opposite what it was supposed to be (e.g. negative instead of positive)
- 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 the list of possible values was incorrect
沒有留言:
張貼留言