FCEUX
The all in one NES/Famicom/Dendy Emulator

# FCEUX 2.1.0 Release

29 March 2009

The 2.1 is a major new release that incorporates new mappers and mapper fixes from FCEU-mm. In addition it offers a multitude of bug fixes, and feature enhancements to both the Win32 and SDL ports.

## Major Bug / Crash Bug Fixes / New support

The latest mappers and mapper fixes from FCEU-mm. Adds support for many new games such as Warioland II (Unl), Shu Qi Yu, and Street Dance
Fixed throttling problems that resulted on AMD Dualcore processors. (Caused FCEUX to appear to be in turbo mode)
Fix major crash issue where NROM game (such as SMB) savestates were writing erroneous information if a non NROM game was loaded prior Fixed a bug that caused a new sav file to not get created when loading a 2nd battery backed game
Fix Directory Overrides so to allow users to have no override. Also fixes directory override reset bug

### Minor Bug fixes

Hotkeys - prevent "Hotkey explosion" where some laptop keys set off all unassigned hotkeys
Timing - "disable throttling when sound is off" now only affects FCEUX when sound is off Clip Left and Right sides taken into account when drawing on screen (record/play/pause, lag & frame counters, messages, etc)
Fixed bug where having sound off and Mute turbo caused chirps when toggling Video settings - fixed bug when both aspect ratio correction and special scaling 3x are set, video was getting resized incorrectly
Auto-save cleanup -prevent loading an auto-save from previous session. Added flags for enabling auto-save menu item Fixed issues related to big endian compiling
Fix bug so that Escape can now be assigned as a hotkey Fixed bug in screenshot numbering that caused numbering to not reset when changing games

## SDL

Movie subtitle support and subtitle toggle hotkey added
Added fcm to fm2 converter tool to SDL version Improved the SDL sound code; drastically improves quality of sound
Savestate slots are now mappable Major updates to SDL documentation
Added Shift+M for toggling automatic movie backups Added option to mute FCEUX for avi capturing, check the documentation for more details
Added --noconfig command line option Frame Advance Skip Lag frames toggle implemented

## New Features Win32

Full screen mode fixed! Also, Alt+Enter properly toggles full screen
Individual control for sound channels! (See sound config for details) Undo/Redo Savestate/Loadstate features installed! No more loss of data to unintentional presses. (See getting started for details)
Movie subtitles can now be included in .fm2 files. See .fm2 documentation for details and Movie options for details on customizing Auto-backup for movie files. (See movie options for details)
A Ram change monitor for the Memory watch dialog. (see memwatch for details) Frame counter works even without a movie loaded
AVI Directory Override option

### GUI / Menu Enhancements

A right-click context menu added! Includes many commonly used items for a variety of situations
Menu items that are hotkey mappable now show their current hotkey mapping Major overhaul to the Menu organization
All FCEUX features are now accessible in the menu Alt Menu Shortcuts properly configured
Menu items are properly grayed when not useable All movie related menu items moved to a Movie options dialog
Removed hard-coded Accel keys and replaced with re-mappable hotkeys (Open and Close ROM) Drag & Drop for .fm2 and .lua files
Many new functions added to the context menu (See context menu for details) New Mappable Hotkeys: Open Cheats, Open ROM, Close ROM, Undo/Redo savestate, Toggle Movie Subtitles

### Lua

Added input.get() ! Returns the mouse info and all keyboard buttons pressed by the user
Fixed joypad.set(). False now sets a button to off. Nil does not affect the button at all (allowing the user to still control it) gui.text() Increased height (to approx. 7 lines)
speedmode("turbo") now turns on turbo (which employs frame-skipping) rather than max speed memory.readbyte will recognize frozen addresses (cheats)
movie.framecount() always return a number, even when no movie is playing (since the frame counter is implemented without a movie loaded) Added FCEU.poweron()
Added FCEU.softreset() Added FCEU.lagged()
Added FCEU.lagcount() Added FCEU.getreadonly()
Added FCEU.setreadonly() Added FCEU.fceu_setrenderplanes(sprites, background)
Added movie.active() Added movie.rerecordcount()
Added movie.length() Added movie.getname()
Added movie.playbeginning() Added -lua command line argment, loads a Lua script on startup
Added zapper.read() - returns the zapper (mouse) data. (Currently does return zapper data in movie playback) Added joypad.write and joypad.get for naming consistency
Added rom.readbyte() Added rom.readbytesigned()

### Sound Config

Turning sound off disabled sound config controls
Re-enabled sound buffer time slider control

### Hex Editor

Freezing ram addresses automatically updates the Cheats dialog if it is open
Added prevention from freezing more than 256 addresses at once (doing so caused crash bugs) Dialog remembers window size
Dump Rom and Dump PPU to file Dialogs use ROM to build default filename Maximize and minimize buttons added
Help menu item added

### Memory Watch

Dialog now includes Ram change monitoring. (see memwatch for details)
Dialog is now collapsible to 1 column No longer crashes when attempting to load an invalid file from the recent file menu
Cancel option added to the save changes dialog Memory address values that are frozen by the debugger or hex editor are displayed in blue
Fixed bug that caused dialog to "disappear" due to saving -32000 as its window position Save as dialog uses ROM name to build a default memory watch filename if there was no last used memory watch filename
Drag and drop for .txt (memory watch) files Minor menu and hotkey fixes
Watch values now compatible with custom windows dialog colors

### Debugger

Shows scanlines and PPU pixel values
Shows scanlines even while in VBlank Added a Run Line button (runs 1 scanline per click)
Run 128 Lines button (runs 128 scanlines per click) Number of active cheats listed
Cheats list automatically updated if ram addresses are frozen in the hex editor Fixed bug that caused dialog to "disappear" due to saving -32000 as its window position
Debugger now has a minimum valid size Added "Restore original window size" button

### PPU Viewer

Default refresh value set to 15
Refresh value stored in the .cfg file

### Nametable Viewer

Default refresh value set to 15
Refresh value stored in the .cfg file

### Trace Logger

Fixed bug where user can't scroll the log window while it is auto-updating
Changed message about F2 pause (left over from FCEUXDSP) to display the current hotkey mapping

### Text Hooker

Saving a .tht file no longer crashes
Dialog updates every frame Initialization error checking reinstalled
Dialog remembers window position Fixed bug where canceling save as produces an error message
Save As produces default filename based on the current ROM

### Message Log

Remembers X,Y position
Resized width and height Allowed more lines of text to appear on the screen at once

### Metadata

Remembers window position
Can be called from the context menu if a movie is loaded (see context menu for details)

### TASEdit

added help menu item disabled menu items that are not currently implemented.

### Turbo

Turbo now employs frame skip, greatly increasing its speed
The mute turbo option completely bypasses sound processing (another big speed boost) Turbo now works with the Lazy wait for VBlank sync setting