29 July 2009

FCEUX 2.1.1 release

The 2.1 new release that fixes some bugs of 2.1.0a, improves the accuracy of the sound core, and adds useability enhancements to the windows port.

Common - Bug fixes
Fixed reported issue 2746924 (md5_asciistr() doesn't produce correct string)
made default save slot 0 instead of 1

Improved Sound core/PPU
Fixed the noise value, it seems that the noise logic was shifting the values to the left by 1 when reloading, but this doesnt work for PAL since one of the PAL reload value is odd, so fix the logic and used the old tables. Revert a stupid CPU ignore logic in PPU. Sorry about that. 
Updated with the correct values for the noise and DMC table, 
Fixed the CPU unofficial opcode ATX, ORing with correct constant $FF instead of $EE, as tested by blargg's. These fixes passes the IRQ flags test from blargg, and also one more  opcode test from blargg's cpu.nes test.
Square 1 & square 2 volume controls no longer backwards
Length counters for APU now correct variables

NewPPU (still experimental, enabled by setting newppu 1 in the config file)
Added experimental $2004 reading support to play micro machines with (little) shakes, and fixed some timing in the new PPU.
Added palette reading cases for the new PPU.

Win32
Minor Bug fixes
Replay movie dialog - Stop movie at frame x feature - fixed off by 1 error on the stop frame number
Hex Editor - changed ROM values again dsiplay as red, saved in the config as RomFreezeColor
Fixed bug in memory watch that would make the first watch value drawn in the wrong place if watch file was full
Debugger - Step type functions now update other dialogs such as ppu, nametable, code/data, trace logger, etc.
"Disable screen saver" gui option now also diables the monitor powersave
Recent menus - no longer crash if item no longer exists, instead it ask the user if they want to remove the item from the list
Sound Config Dialog - When sound is off, all controls are grayed out
Memory Watch - fixed a regression made in 2.0.1 that broke the Save As menu item
Memory Watch - save menu item is grayed if file hasn't changed


GUI/Enhancements
Last save slot used is stored in the config file
Made fullscreen toggle (Alt+Enter) remappable
Hex editor - Reverted fixedFontHeight to 13 instead of 14.  Gave the option of adjusting the height by modifying RowHeightBorder in the .cfg file
Hex Editor - allowed the user to customize the color scheme by use of RGB values stored in the .cfg file
Hex editor - freeze/unfreeze ram addresses now causes the colors to update immediately, but only with groups of addresses highlighted at once (single ones still don't yet update)
Hex Editor - Save Rom As... menu option enabled and implemented
Window caption shows the name of the ROM loaded
Recent Movie Menu added
Load Last Movie context menu item added
Save Movie As... context menu item (for when a movie is loaded in read+write mode)
Drag & Drop support for all files related to FCEUX including:
    .fcm (autoconverts to .fm2 and begins movie playback)
    Savestates
    Palette files (.pal)
Commandline - -palette commandline option
Memory Watch - option to bind to main window, if checked it gives GENS dialog style control, where there is no extra task bar item, and it minimizes when FCEUX is minimized

SDL

added --subtitles
fixed Four Score movie playback
added --ripsubs for converting fm2 movie subtitles to an srt file
Lua is optional again, fixed the real issue
Lua is NO longer optional, so the SConscripts have been updated to reflect that change.  This fixes the mysterious non-working input issue.
implemented saving/loading a savestate from a specific file on Alt+S/L
implemented starting an FM2 movie on Alt+R
added --pauseframe to pause movie playback on frame x
dropped UTFConverter.c from SDL build
added hotkey Q for toggling read-only/read+write movie playback