FCEUX
The all in one NES/Famicom/Dendy Emulator

# FCEUX 2.6.5 Maintenance Release

07 February 2023

The 2.6.5 release is a maintenance update that contains various fixes from a back log of bugs and feature requests over the past year.

## Common

### Mappers

Mapper 225 Update to also support 255
Mapper 235: Update support for 260-in-1 and add UNROM mode
Mapper 268 (COOLBOY): Updated
Added Mapper 342 (COOLGIRL) support
Added Mapper 354 support
Added Mapper 470 support
UNROM-512 emulation fixes
Added cycle IRQ mode for Konami VRC mappers

### Core

Changed built-in palettes to be bit-shifted properly so that whites are pure FF
Various fixes for issues caught by clang code sanitizers
Added hotkey to allow for global enable/disable of cheats.
Memory allocation and alignment code cleanup.

## Win32

### Debugger

Added protections to guard against corrupt save files.

### Hex Editor

Added ability to apply ROM file pasting as a single undoable action.

### Trace Logger

Changed disk flushing logic to be more efficient giving significant performance increase.

### IPS

Added support for loading IPS files on top of already loaded ROMs.

## Qt/SDL

### GUI

Added logic to raise and shift focus to hex editor window when opening from debugger.
Added separate hot keys for hard and soft NES reset functions.
Added logic to prevent controller buttons that are bound to the keyboard from being active when family keyboard is enabled. Controller buttons that are mapped to physical gamepad or joystick are unaffected.
Fixes for OpenGL blending parameters.
Added option to use palette background color as video background.
Added sound mute function. Accessible either via hot key or checkbox on sound config window.
Added option to set fceux base/config directory path via FCEUX_CONFIG_DIR environment variable.

### Debugger

Changed debugger data save file extension to be .fdb instead of .dbg so that it does not conflict/overwrite ld65 debug symbol files.

### Trace Logger

Now ensures that logged output is flushed to disk when emulator is paused. This ensures that latest data is available for inspection when stopped at a breakpoint.

### Lua

Implemented support for input.get() lua function binding.
Added lua script loading via file drag and drop feature.
Added new debugger.getsymboloffset lua function binding

### Build

Added cmake SOURCE_DATE_EPOCH hook to allow setting of UTC timestamp for reproducible binary builds.
Added clang address/undefined behavior sanitizer build option for unix debug builds.
Upgraded Win64 build to link SDL2 library version 2.24.1
Upgraded Win64 build to link ffmpeg library version 5.1.2
Updated code to remove usage of ffmpeg 5.1.x deprecated symbols.
Cleaned up a few compiler warnings