Changelog
UI: implement "Sharp" video filter for better nearest interpolation at non-integer scales (thanks GranMinigun)
UI: implemented PPU viewers for palettes, tiles, backgrounds and sprites
UI: add an option to set the audio volume
UI: do not unpause emulator after loading a new ROM
Input: fix input dropping regression introduced in NBA 1.7.1
Input: move from SDL game controller to SDL joystick API (fixes broken mapping on some controllers)
APU: MP2K HLE: interpolate envelopes and use floating-point math
APU: MP2K HLE: implement a better reverb algorithm
APU: MP2K HLE: add an option to force-enable reverb
APU: remove "Zombie" mode emulation (does not appear to exist on GBA)
APU: fix mid-note envelope frequency changes
APU: FIFO writes should happen in place
APU: reset FIFOs on overflow
APU: add master-enable checks for 16-bit/32-bit IO writes
PPU: fix sprite pixels from previous scanline displayed in the last scanline
PPU: more accurate update of attribute buffer for OBJWIN sprites (fixes #275)
PPU: more accurate emulation of horizontal and vertical sprite mosaic (fixes #322)
PPU: more accurate handling of mid-frame vertical mosaic reconfiguration
PPU: fix out-of-bounds bitmap fetches in Mode 3 to 5
DMA: fix incorrect mapping of DMA channel to APU FIFO
Timer: somewhat handle timer overflow during one cycle enable delay (thanks alyosha)
Game Pak: simulate ~6 ms EEPROM device busy period after write (not yet accurate to cartridges that e.g. have been in the freezer for 30 minutes)
Game Pak: emulate the Mask ROM internal address register
Audio: fix clicking artifacts when using Sinc resampling
Audio: fix incorrect liner interpolation in Cosine resampling
PlatformCore: fixed hang when fast-forwarding while the emulator is paused
Misc: implemented support for unicode paths