1.63.13
Build / packaging
- Renamed binary + config to
super-snes9x(executable, x64, debug variants, plussuper-snes9x.conf) so it no longer collides with stock Snes9X; existingsnes9x.confis left untouched.
Hotkey Configuration dialog
- Redesigned with a tabbed layout (Emulation / Turbo / Display & Tools) replacing the old 5-page dropdown.
- Added a dedicated States tab containing all Save/Load/Select Slot bindings plus Bank/Slot/Dialog/File tools.
- Tidied the header (dropped redundant "Key:" label, vertically centered Master Hotkey row) and grew the dialog so all four legend lines fit without clipping.
- Fixed paint glitches:
InputCustomHotnow draws its ownEDGE_SUNKENborder, tab body usesEnableThemeDialogTexture, and tab switches force a full redraw + focus shift to clear capturing fields. - Added a Reset Speed hotkey on page 1 (restores
FrameTimeto NTSC/PAL default; unbound by default).
File menu / window
- Added File → Choose Logo with bitmap previews to switch between the four embedded app icons live (title bar + taskbar, both sizes), persisted as
Window:Iconin the config.
Cheat & viewer dialogs
- Cheat Editor is now resizable (
WS_THICKFRAME/WS_MAXIMIZEBOX, anchor-basedWM_SIZE, min-size floor) and its default width was shrunk from 450 to 280 DLU. - Cheat Entry/Editor, Cheat Search, Tile (VRAM), Tilemap, and Sprite viewers now persist their position (and the cheat editor's size) across opens, clipped to the nearest monitor's work area.
- Tile Viewer's
</>address arrows now auto-repeat (250 ms hold delay, 50 ms repeat; pauses if you drag off the button).
Audio
- Killed the SGB first-boot click: APU-side one-pole DC blocker (~14 Hz HPF) with seeded initial state, plus onset-aligned cosine fade-in that defers firing until the buffer actually contains audio.
- Suppressed pause/resume and SGB source-switch clicks via cosine fade-in across underruns, fade-out tail on pause, and an APU cross-fade that carries the previous source's last sample forward.
- Fixed CXAudio2 SoundSync freeze on SGB speed change:
ProcessSoundnow breaks out of its wait whenbufferCount==0soPushBuffercan re-prime; PC throttle bypass also gates on the runtimeAllowSoundSyncflag so off-100% speeds pace correctly.
