v1.11 · Bridge

FCEUX11

A FCEUX-based NES/Famicom emulator optimized for Windows
core accuracy, modern native experience.

Accurate Emulation

Full NES, Famicom & mapper support

Debugging Tools

CPU/PPU debugger, hex, RAM watch

TAS Editor

Frame-by-frame input recording

Lua Scripting

Custom HUDs & automation

12 Languages

UI in 12 languages, auto locale detect

About

Introduction

FCEUX11 is a derivative of the FCEUX NES/Famicom emulator, actively maintained and optimized for Windows.

It preserves the core emulation accuracy of FCEUX while providing a modern, native Windows experience, including a Qt6-based user interface, multi-language support, and comprehensive debugging and TAS tooling.

What's new

v1.11 · Bridge

Released 2026-07-05 · since v1.10 (Cryptex)
01

12 languages out of the box

The UI now ships in 12 languages: Simplified Chinese, Traditional Chinese, English, Japanese, Korean, Spanish, French, German, Vietnamese, Thai, Hindi (beta), and Arabic (beta). On first launch, FCEUX11 automatically picks the language that matches your Windows display language. No setup, no downloads — just open it and play in your language.

02

Qt driver layer decoupled from the core

The emulation core and the Windows interface layer are now formally separated through a DriverCallbacks interface. 86 conditional compilation blocks were removed from the core sources, and 40 legacy FCEUD_* functions were migrated to interface forwarding. The boundary between the engine and the UI is now clean, which makes the codebase easier to maintain and extend.

03

fceuWrapper.cpp split into four focused modules

The 2086-line fceuWrapper.cpp has been divided into fceu_archive.cpp (460 lines, archive subsystem), fceu_globals.cpp (65 lines, global variable definitions), fceu_callbacks.cpp (358 lines, Qt-side callback implementations) and the remaining 1316-line fceuWrapper.cpp. Each module now has a single responsibility, which shortens incremental build times and lowers the cost of future changes.

04

Qt type leakage from core mutex eliminated

src/utils/mutex.h and mutex.cpp were converted to a pImpl pattern, removing the QMutex and QWaitCondition references that previously leaked Qt types into the core. The emulation core no longer depends on Qt headers through the mutex path, which preserves the boundary established by the DriverCallbacks work.