github Laffinty/FCEUX11 v0.2.21
FCEUX11 v0.2.21

latest releases: v2.1_rc1, v2.1.1-rc1, v2.1.0...
3 months ago

核心模块 Rust 重构:iNES / UNIF / NSF 解析器、Cart 卡带管理、VS UniSystem、EmuFile 抽象层等纯计算逻辑全部迁移至 Rust,消除手动内存管理风险。
Core modules migrated to Rust: iNES / UNIF / NSF parsers, Cart management, VS UniSystem, and EmuFile abstraction layer moved to Rust, eliminating manual memory-management risks.

C++ 层退化为薄封装:保留硬件初始化、内存映射、GUI 回调等状态相关代码,数据解析与算法逻辑通过 FFI 调用 Rust。
C++ layer reduced to a thin wrapper: retains hardware init, memory mapping, and GUI callbacks; delegates data parsing and algorithm logic to Rust via FFI.

自动 FFI 头文件生成:集成 cbindgen,Rust 导出符号自动生成 C++ 头 fceux11_rust.h,消除手写声明的维护负担。
Automatic FFI header generation: cbindgen auto-generates the C++ header fceux11_rust.h from Rust exports, eliminating hand-written declaration maintenance.

清理旧 fallback:彻底删除 MD5、GUID、调色板、滤波器、通用工具等 11 个 C++ fallback 模块,代码库瘦身。
Irreversible legacy cleanup: permanently removed 11 C++ fallback modules (MD5, GUID, palette, filter, utilities), slimming the codebase.

测试体系建立:新增 ROM 回归测试基线(CTest 4/4)与 Rust 单元测试(137 项),重构不再破坏 ROM 兼容性。
Testing infrastructure established: added ROM regression baseline (CTest 4/4) and Rust unit tests (137 cases), ensuring refactors do not break ROM compatibility.

Workspace 架构升级:拆分为 5 个独立 crate(utils / media / formats / debug / core),版本号统一管理,Qt UI 消除硬编码版本字符串。
Workspace architecture upgraded: split into 5 independent crates (utils, media, formats, debug, core); unified version management and eliminated hard-coded version strings in Qt UI.

Don't miss a new FCEUX11 release

NewReleases is sending notifications on new releases.