FCEUX 2.6.6 26 August 2023
The 2.6.6 release is mainly a maintenance update for the mappers and emulation core with a few new features added in. Some of these new features apply only to the Qt/SDL version of the GUI.
- Minor refactor of the save game RAM code. Fixes UNROM-512 flash clearing bug during movie play.
- Mapper 354: Add CHR-RAM protect.
- Mapper 78: Add submapper support.
- Added mapper 174 support.
- Move mapper 205 to mapper 361/366, added proper mapper for 205.
- Mapper 205: Fix for split-rom variant (UNIF)
- Changed UNROM-512 to use 8kB of CHR-RAM memory by default.
- Mapper 342 memory optimization.
- Implemented LUA function memory.registerread.
- Memory initialization settings are now also applied to nametable, palettes, and sprites.
- Fixed bug were write instructions didn't always update the databus.
- Added ld65 debug file symbol loader feature.
- Added checkbox to Qt debugger menu to control trace logger auto start function on debugger open.
- Added code to stop the trace logger on debugger close if it was the debugger who started it in the first place.
- Added address validity checking to the breakpoint editor dialog entry fields.
- Added a third video driver option that uses a QPainter object to render QImages to the viewport (uses a pure Qt API).
- Fixed video transparency issue that has been seen on some platforms (Wayland) by forcing alpha bits to be set to full opaque.
- Added state recorder feature, periodically saves time history of game play states that can be recalled and played out from.
- Fixed bug regarding force grayscale or use custom palette settings change not updating PAL 3x filter appropriately.
- Added feature that allows loading of save state files via drag n drop file dialog operations.
- Fixed redundant window focus bug that would occur when attempting to open a pre-existing window.
- Added optional cross-platform libarchive interface to allow Qt GUI to open ROMs from 7zip archives.
- Minor improvements to the ROM selection from archive dialog.
- Improved frame scheduling timing precision.
- Build fixes for GCC 13.
→ [NES] FCEUX 2.6.5 7/02/2023
FCEUX New? 2.6.5 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.
- 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
- 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
- Added protections to guard against corrupt save files
- Added ability to apply ROM file pasting as a single undoable action
- Changed disk flushing logic to be more efficient giving significant performance increase
- Added support for loading IPS files on top of already loaded ROMs
- 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
- Changed debugger data save file extension to be .fdb instead of .dbg so that it does not conflict/overwrite ld65 debug symbol files
- 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
- Implemented support for input.get() lua function binding
- Added lua script loading via file drag and drop feature
- Added debugger.getsymboloffset lua function binding. Allows querying of debug symbols from lua scripts.
- 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
→ [NES] FCEUX 2.6.4 24/03/2022
FceUlta 2.6.4 24 March 2022
The 2.6.4 release is a maintenance update that fixes a couple bugs for the Qt/SDL port.
- Fixed crash that sometimes occurs when cancelling a key mapping sub-dialog for virtual family keyboard window (Crash occurred most often on MacOS).
NES Header Editor
- Fixed mapper combo box indexing issue.
FceUlta 2.6.3 7 March 2022
The 2.6.3 release is a maintenance update that fixes a few bugs for both the Win32 and Qt/SDL ports.
- Bug fix for mapper 16 submapper 4, allow writes to address range $6000 - $600D.
- Bug fix for mapper 3 bus conflict logic. Bus conflicts are now only enabled for submapper 2.
- FDS IRQ emulation improvement.
- Implemented extra RAM for mapper 225.
- Fixed loading of saved debugger breakpoint data from previous sessions. This bug started occurring when the saved binary file format changed due to the address fields changing from 16 to 32 bit values.
- Fixed bug in address validation logic.
- Fixed Meta keys combination issues.
- Added a virtual family keyboard dialog window. This allows functionality such as emulating key presses via mouse and remapping keys to physical keyboard.
- Added code differentiate between left/right modifier key presses (shift, alt, ctrl, meta).
- Fixed keyboard bindings for Famicom family keyboard emulation.
- Fixed a couple bugs for some uncommonly used Qt to SDL key code conversions.
- Fixed keyboard menu accelerator functionality for Mac OSX (non-native menu bars only)
→ [NES] FCEUX 2.6.2 4/02/2022
FceUlta 2.6.2 4 February 2022
The 2.6.2 release is a maintenance update that adds a couple minor features and fixes a few bugs for the Qt/SDL port.
- Fixed VROM size calculation error from NES header.
- Added WRAM support for OneBus mapper (mapper 256).
GUI Improvements and Bug Fixes
- Added an auto hide main menu on fullscreen option.
- Added an option to disable display of video overlayed GUI messages.
- Fixed default setting for max sprites per scanline to be 8 (matching win32 port).
Hex Editor Improvements and Bug Fixes
- Fixed logic to move cursor to next line when editing hits end of line.
- Fixed inconsistent display behavior of vertical scroll bar. Viewport line offset and vertical scroll position are now always synchronized.
- Fixed draw layering of cursor row/column coloring when in ROM view.
- Added protections to prevent crash when editing addresses past the end of a ROM file.
- Improved cursor blink rate to be consistent regardless of viewport refresh rate.
- Fixed sound issue on FreeBSD 13. Force audio sample size to always be a power of 2 per SDL documentation
Build Improvements and Bug Fixes
- Fixed a build errors when compiling against Qt6 (6.2.2).
- Removed usage of a few Qt6 deprecated function calls.
→ [NES] FCEUX 2.6.1 17/01/2022
FCEUX 2.6.1 17/01/2022
Release fixes a few bugs that were found shortly after the 2.6.0 release.
Qt/SDL GUI Improvements and Bug Fixes:
- Fixed Qt cursor override stack overflow issue. Code now properly calls QGuiApplication::restoreOverrideCursor following QGuiApplication::setOverrideCursor.
- Fixed application crash when attempting to open/close the CDL window more than once.
- Fixed inverted vertical scrollbar on Qt Trace logger. Added page up/down key shortcuts for Trace logger viewport.
- Added an optional splash screen at startup. Splash screen defaults to off and can be enabled in GUI config dialog.
Qt/SDL RAM Search Improvements and Bug Fixes:
- Changed Qt RAM search logic to skip over RAM mirrors. Changed GUI to allow for searching of RAM, SRAM, and ROM regions to be individually selectable.
Qt/SDL Build Improvements:
- Applied cmake SOURCE_DATE_EPOCH patch for reproducible builds.
Qt/SDL Windows Build Dependency Upgrades:
- Upgraded to SDL version 2.0.20
- Upgraded to ffmpeg version 5.0
FCEUX 2.6.0 12 January 2022
The 2.6.0 release features the addition of the TAS Editor to the Qt/SDL port. There are also a few other bug fixes.
- The full TAS editor has been ported over from the Win32 version. Other than minor layout changes, Win32 TAS users should find it familiar.
GUI Improvements and Bug Fixes
- Fixed occasional stack overflow issue due to unintended recursion in Qt event loop.
Video Improvements and Bug Fixes
- Added video vertical sync config option.
- Added built-in video vertical sync test pattern.
Input Improvements and Bug Fixes
- Added escape characters to gamepad config files to fix keyboard binding issue for ',' and '' keys.
- Replaced a few soon-to-be deprecated ffmpeg function calls.
- Cleaned up a few compiler warnings.
→ [NES] FCEUX 2.5.0 21/10/2021
FCEUX 2.5.0 21 October 2021
The 2.5.0 release features significant enhancements and improvements to the Qt/SDL port. Specifically the debug tools and AVI recording capabilities.
- Fixed SYA and SXA opcodes in CPU. Blargg's NES CPU TEST #5 now passes.
- Added built-in AVI RIFF Tree Viewer.
- Redesigned debugger layout to optimize space usage.
- Window layout uses relocatable tabbed viewports to allow for layout customization.
- Added a tool bar for commonly used debugger buttons.
- Moved many configuration options to debugger window menu to save space.
- Added syntax coloring options to assembly code viewer.
- Added opcode description popups to assembly code viewer.
- Added assembly code custom font selection option.
- Added symbol tool tips and address look ahead popups for assembly code viewer.
- Added navigate backwards/forwards line history to assembly code viewer.
- Added breakpoint on unlogged code/data feature.
- Added breakpoint on execution of a specified PRG-ROM address.
- Added step back one instruction feature (experimental)
- Fixed draw logic to ensure that highlighted text coloring takes precidence over activity coloring.
- Fixed crash in hex editor when searching with Ctrl+A
- User can now save up to 3 alternate sets of gamepad button bindings in addition to the primary set.
- Advanced gamepad bindings (to hot key functions) are now stored for each individual gamepad by GUID.
- Build fix for static linking of lua. Ensure proper compiler flags are set for linux and mac OS to enable lua plugin functionality.
- Added optional linking of ffmpeg (libav) libraries for AVI recording. Provides full use of available encoders and options.
- Implemented AVI 2.0 Indexing Specification. This new indexing scheme eliminates 2GB AVI file recording limitation.
- Fixed video messages and HUD presentation AVI display options.
GUI Improvements and Bug Fixes
- Went through all debug tool windows and made sure that all configuration options are saved (persist on application restart).
- The position and size of all debug/tool windows is now saved at window close and restored at window open.
- For debug windows, if attempting to open a window that is already open, that window is raised to top and focused.
- Bug fixes for scroll bar presentation on custom viewport widgets in debug tools windows (debugger, hex editor, trace logger).
- Added main window context menu to Qt GUI.
- Various color customization options for debugger and hex editor.
- Changed hot key config window tree layout to sort keys into logical groups.
- Added offline help documentation viewer feature. (chm viewer for windows and Qt help engine for unix)
Video Improvements and Bug Fixes
- Fixed video message positioning so that it is not clipped when 8 pixel side clipping is active.
- Added integer frame rate option to better sync video with monitor refresh.
- Changed update rate of video frames per second display so that it is more readable.
Sound Improvements and Bug Fixes
- Added option to mute sound when main window is not in focus.
- Improved sound sample underflow/overflow algorithm to allow for better scaling with running the emulation at faster/slower speeds.
- Sound sample processing efficiency updates.
- Added an audio buffer percent usage indication and
an audio sink starve counter to sound config window for debug purposes.
- OpenBSD OS build fixes.
→ [NES] FCEUX 2.3.0 15/12/2020
FECUX 2.3.0 15 December 2020
The 2.3.0 release includes 4 years worth of improvements and bug fixes.
- 64 bit build support
- Added Mapper 111 cheapocabra
- Added Mapper 190
- Added RAM Init Options: default (00 00 00 00 FF FF FF FF as always), all FF, all 00, random
- New UNIF mappers
- Mapper 30 4-screen support
- Mapper 5 MMC5 large WRAM support
- VRC7 patch set finalized with correct values dumped by Nuke.YKT
- Fixed rendering and debugging of mirrored palette entries
- Various improvements and bug fixes to pre-existing functions
- Fix parsing of lua colors over 0x80000000 on 32bits systems
- Extra colors available to lua overlays
- Lua write callbacks: adding optional third parameter to retrieve the value written
- Added Sprites.lua script to visualize sprites
- Zapper control
New Lua functions
- zapper.set(table input)
- Various GUI improvements and bug fixes
- Fixed font rescaling issue
- Relative position mouse support for better fullscreen mouse capture
- Left and right mouse buttons no longer conflict with each other
- Virtual boy controller
- Fixed silly quit message randomizer
- Fixed NTSC filter null pointer crash when closing, NTSC filter now supports emphasis
- Sound output is now 48000 Hz by default
- Improve error message for invalid ROM file
- Added memory read/write conditional breakpoint capability
- Added illegal opcode support for breakpoints
- Support for 'S' register in conditional debugger breakpoints
- Syntax highlight of disassembly
- Fixed corruption of PPU reset while debugging
- Attribute mode for nametable viewer
- Greyscale palettes for PPU and nametable viewers
- Fixed transparent sprite palette display in PPU viewer
- Fixed accidental filtering of special symbols
- Added bank number log option
- Fix Fixed VRAM data logging glitch
- Added OAM view feature
- Added Home/End key response
- Bookmark fixes for all view region types
- Fixed Find dialog to be able to find the first or last byte of the memory region
- Prevent middle mouse button from attempting to "FreezeRam" when not in RAM mode
- Added Load from file feature
iNES Header Editor
- A new tool which can edit the iNES header of ROM files
- Fixed dialog height that kept increasing
- GUI completely rewritten using Qt5. Replaces old GTK GUI
- New Qt GUI now contains most of the debug tools that previously only existed in windows version
- Build setup migrated to cmake. Replaces scons build setup
→ [Nes8] CaH4e3: Nowe dumpy i FCEUX...
FCEUX DEV 4.01.2018
Author: cah4e3 | Date: czwartek, 4 stycznia 2018 17:22:48
- mapper 213 - updated for a new dump "168-in-1_[p1][!]"
- UNIF HPxx - new board added for various multigame dumps
Author: zeromus | Date: piątek, 29 grudnia 2017 02:06:17
- fix #790 (conditional debugger can crash when using divide by zero)
[04 january 2018]
Haven't planned any releases by now but got some special Christmas-themed dump with help of HardWareMan (thanks a lot!), so here we are. Nothing really special, just Santa on the menu with simple already known games. However I modified mapper 213 implementation in order to run this particular dump. So, all code is in FCEUX repository already, use the build-bot to get the recent version.
The second dump is also from HardWareMan. Has a set of UNROM games hacked to mapper 178 used in some education computer cartridges. Nothing interesting apart form menu, though...
Since there are nothing to dump currently (and maybe won't be like the last year), I think I can dig into my old dumping archives of unemulated dumps made by all period but left unemulated by some reasons. I released some of them already, just interesting ones in the first place. So the rest are mostly a multigame dumps. The emulation wasn't a problem for all them, but I need some more research on currently emulated mappers, if there any duplicates may be present.
So, here are dump on the same unemulated before hardware similar to FK23C (mapper 176), but with more strictly defined much simpler commands. UNIF board added to the FCUEX repository as well already.
Sometimes, the same menu types can use different types of mapper. See, 7-in-1 with Lost World and Cricket here uses HP10xx/HP20xx board as against other similar multigame carts released by me previously. These boards has no unsoldered dip-switch pins for menu selection, however they has the same ability which you may see on two last pictures here.
Here more examples to the similar menus. First two dumps are from HP10xx/HP20xx boards (first two pictures), there are no different menus in it. The third one (by HardWareMan too) has the same menu, but on FK23C board (two last pictures)
7-in-1 dump here was the same where I ripped my old Spiderman 2 and Poke Tetris bad roms back in the 2007. Note, if you look at the post above on the same 2007 year page, you'll see another FK23C version of such menu similar to the HardWareMan's dump with a different set of games.
And finally, one more set of similar menus on the different hardwares. The first one is HP10xx/HP20xx board from the same long time not emulated bunch of dumps which I didn't released by now at all (haven't seen them in the wild also). The second one - same menu on FK23C board dumped also by HardWareMan. Both have different sets of menus. However, the default setting for the first one should be 7-in-1 which isn't supported currently so it starts from the 4-in-1. The second one has the same default mode for menu as on the hardware cart, so it starts from 9-in-1 as intended. Note, the menu position for 4-in-1 version of the HP10xx/HP20xx boars is incorrect, which is fixed in the FK23C version.
→ [NES] FCEUX 2.2.2
The 2.2.2 release fixes a number of emulation bugs and adds many new features, most of which are related to debugging and reverse engineering.
- Properly savestate NSF files
- "Auto-resume old play session" now also works with NSFs
- Fixed mappers 178, 28, 53, 154, 43, 253, 19, 2
- Mapper 012 - added hardware dip for language select
- UNIF PEC-586 - fixed render, added 512K cartridges suppport
- Fixed UNIF 8157, UNIF T-262, UNIF DANCE2000
- Palette RAM reading fix for Old PPU
- Bring some improvements to New PPU from BizHawk, fix vtoggle5/6 back to vtoggle
- Fixed mmc5 savestates
- Fix wrong frequency calculation in sound.get() function
- New Lua functions:
- New scripts:
- Added "Square pixels" option to Video Config
- "TV Aspect" ratio can be customized, by default it's 4:3
- Changed "Disable hardware acceleration" checkbox to a drop-down list with 3 options
- Movie recording: remember last Author name when creating a new movie
- Movie recording: added ability to record "Insert coin" command (for VS games)
- When no script is currently running, Shift+L loads the most recent Lua script
- Dynamic link to lua51.dll instead of static linking, because some external libraries might crash without lua51.dll
- Updated 7z.dll to v9.22
- A couple of fixes which deal with "multiple ROMs in a single archive" case
- Auto-disable "Game Genie ROM" feature when no "gg.rom" file is found
- Fixed "Single Instance Mode"
- Comply with Lua movie.rerecordcounting() setting
- Fixed workflow with "Auto-adjust Input according to Lag" disabled
- Smart scrolling up/down by whole instructions - ported from an obscure version of FCEUXD 1.1
- Scrolling maintains relative position of the ">" pointer inside the Disassembly window
- Highlight PC pointer line when a breakpoint is hit
- debuggerFontSize can be specified in fceux.cfg
- Fixed storing and loading .deb files when working with archived ROMs
- Fixed Cycles counter reset when loading an earlier savestate
- Added Symbolic Debug naming by right-clicking any address or name
- Symbolic names behave the same way as usual addresses
- Newly created Bookmarks inherit existing symbolic name by default
- Added CDL data column to the left from Disassembly, to distinguish executed branches of code from not executed
- Added 'T' condition for breakpoints (it checks the bank of the accessed data, see docs)
- The dialog window can be resized
- Do not clear window log when stopping the logging
- Added "Log Cycles count" and "Log Instructions count" options
- Added Symbolic Debug naming by right-clicking any address or name
- Clicking any address select the address
- Double-clicking any address brings Debugger at the address
- Added mouse wheel support
- Only output "from $XXXX" when the subroutine was called by JSR
- Added "Mask unused graphics" feature (needs Code/Data Logger running)
- Fixed window layout when using big fonts
- Added "Highlighting" submenu and "Highlight Activity" feature
- Added Symbolic Debug naming by right-clicking any address
- Specify Data bank condition when adding a Breakpoint by context menu
- Fixed bugs when saving files while working with ROMs in archives
- hexeditorFontSize can be specified in fceux.cfg
- RAM Search/RAM Watch
- Added "Hex Editor" button to RAM Search (right-clicking an address works as well)
- Fixed RAM Watch bug when contents of old .wch file were mixed with the newly saved data
- "--periodicsaves" command line option
- "--4buttonexit" command line option
- "--loadstate X" and "--savestate X" command line options
- Added Unity desktop support
- Added otion to use system-provided LUA library instead of statically linked LUA
- Fix issue where battery backup save was not being saved when using "Quit" hotkey
- Fixed bug where FCEUX would take exclusive grab of input in windowed mode when resuming from pause
→ [NES] FCEUX 2.2.1
What's New? 2.2.1 Released -- 10 March 2013
The 2.2.1 release fixes many bugs and adds a couple of new features. The most notable feature is "Auto-resume old play session", which is similar to "Suspending Play". Enable this option in the Config menu and now you can close ROMs or emulator anytime, next time the game state will be resumed from the closing point.
- Speed up HUD text drawing
- Finished mappers to boards conversion
- Fixed mappers 99, 228, 18, 198, 24, 26, 69, 19
- Mapper 115 - redesign according to the hardware tests
- Fixed "you ling xing dong" by assigning to mapper 192
- Fixed crash when four-screen bit is set after CRC check
- UNIF: verbose/safe chunk loading, fixes some crashes
- removed "shadow pixels" from gui.text()
New Lua functions:
- Fixed "Enter New Input" dialog (Hotkeys mapping)
- Fixed zapper and mouse positioning in fullscreen
- Remodel "Video config" dialog
- Added "TV Aspect (4:3)"
- Holding Shift when resizing FCEUX window inverts "Force integral factors" meaning
- Fixed window regions redrawing
- Added the option to define custom emulation speed (NES->Emulation Speed->Set Custom Speed)
- Now Frame Advance timings (initial delay and speed) can be tweaked by user
- Added Config->Enable->Auto-resume old play session
- Moved "Config->Game Genie" to "Config->Enable->Game Genie ROM"
- Play movie dialog shows New PPU in red if the required setting does not match
- Fixed NameTable Viewer crash when the corresponding nametable RAM is not available on the cart
- The number of active cheats is displayed on screen when a ROM is loaded
- PPU/PAL/Input type changing is disabled when a movie is playing
- Fixed keyboard accelerators when editing Notes
- Fixed Greenzone saving while emulator is unpaused
- Fixed drawing bugs when the Playback cursor moves more than once within one update
- Changed "Compact save" dialog, added 4 options of Greenzone saving
- Added "Config->Project file saving options"
- Changed "Follow cursor" logic, now the Piano Roll doesn't follow Playback cursor while seeking
- No "Autopause at the end of the Movie" when Recording
- Fixed bug when adding new item to History Log
- Fixed Bookmarks List height on Windows 7
- Fixed RAM-located code logging when CDLogger options are enabled
- Fixed automatic window update when a breakpoint is hit
- Fixed RTS padding
- Added current CDL filename field and default CDL naming
- Added "Auto-save .CDL when closing ROMs" option
- Added "Auto-load .CDL when opening the window" option
- Added "Auto-resume logging when loading ROMs" option
- Improved CHR logging, now it also logs the data when using Old PPU
- Show symbolic names in the window caption when "Symbolic debug" is enabled
- Fixed crash when trying to save ROM to an invalid path
- Fixed ROM coloring when using CDLogger data
- Added "Search ROM" option
- Added "Add from CHT file..." button
- Update the list of cheats when ROM is changed
- Use desktop resolution for fullscreen by setting SDL.XResolution and SDL.YResolution to 0 (new default is 0)
- Fixed bug where "quit" hotkey would do nothing in '--nogui' mode
- Fixed fullscreen zapper issues
- Display a message dialog on errors in addition to printing to stderr
- Added "Options->Auto-Resume Play"
- Fixed build issues on various versions of OS X