............................  
 Welcome to the century XXI   RockNES - A NES 8-bit videogame emulator
............................  Copyright 1998-2017 Zepper

 History of updates

 2017 Releases
 *************

 What's new for version 5.53 (08/08/2017)
 ----------------------------------------
 - Improved mapper 64 IRQ timing.

 What's new for version 5.52 (07/14/2017)
 ----------------------------------------
 - Fixed mapper 19 (Rolling Thunder works).
 - Internal cleanups and minor tweaks.
 - Documentation updated.

 What's new for version 5.51 (07/09/2017)
 ----------------------------------------
 - Fixed a CHR bankswitching bug in the mapper 64 (Rolling Thunder works).

 What's new for version 5.50 (07/07/2017)
 ----------------------------------------
 - New NTSC default palette, including color emphasis, by Joel Yliluoma.
 - All palette-related core was rewritten and fixed.
 - Fixed palettes for VS games, including GUI dialog for selection.
 - Fixed problems in the GUI 'general settings' dialog.
 - Fixed PPU left clipping on/off setting.
 - Fixed GUI alert box colors.
 - Fixed a bug in the "Olive" and "Nocturne" color styles.
 - Fixed gfx frame pointer reset, an obscure bug found by accident.
 - Fixed emulation reset if an invalid opcode is found.
 - Fixed mapper 64 IRQs (Hard Drivin' works again).
 - Fixed mapper 90 IRQs and savestates.
 - Fixed Famicom Disk System savestates, system RAM and PPU IRQs, major bugs!
 - Fixed initial scanline (fixes Time Lord).
 - Fixed an obscure bug setting file loading path.
 - Fixed ROM corruptor, it wasn't restoring changes.
 - Fixed a bug setting the CPU address range in the CPU state display.
 - Fixed a few bugs in the config file parsing.
 - Fixed resetting to the default settings.
 - Custom fullscreen mode is now disabled if the last video mode was windowed.
 - Improved color emphasis effect & MMC3 IRQs.
 - Improved $2006 behaviour, old hacking removed.
 - Removed restriction for running only 1 instance of RockNES.
 - Frame rate (FPS) is no more displayed in the program window.
 - Added mappers 190 (Magic Kid GooGoo) and 206.
 - Added full NES palette viewer, including all the color styles palettes!
 - Added 5 new color styles, related to R-G-B swapping.
 - Added Game Genie codes, up to 10.
 - Added NSF track number display on-screen.
 - Another huge code cleanup and fixes, plus minor changes and improvements.

 What's new for version 5.41 (01/20/2017)
 ----------------------------------------
 - Custom fullscreen mode should be working again.
 - Fixed input devices GUI dialog.
 - Fixed a few problems with the wallpaper.
 - Switching to fullscreen mode should look at custom fullscreen settings,
instead of using the current desktop resolution! Problem fixed!
 - Switching to fullscreen mode should reset the upscaler to the original
(256x240) if its height is greater than the screen height. Problem fixed!
 - Added a blitter checking on GUI init routine to avoid blitting problems.
 - Fixed blitting position on video resolution change.
 - Fixed a few annoyances in the upscaler stuff.
 - Added colors to a few GUI alert boxes, plus minor cosmetic changes.
 - Documentation updated with new information.

 What's new for version 5.40 (01/19/2017)
 ----------------------------------------
 - Emulation timing slightly modified.
 - Wallpapers are now supported in Windows BMP format!
 - Moved "save state" and "restore state" from CPU menu to the Game menu.
 - Added proper bitmap clipping to avoid crashing.
 - The mini GUI bar is now active when the screen size (windowed or fullscreen) is
less than 480p.
 - Added an option to manually activate the mini GUI bar.
 - Removed zlib1.dll dependency.
 - NSF visualizer has centered circles again.
 - The disassembler now saves .ASM files to the dumps folder, if set.
 - The config file now brings the current date and time of saving.
 - Changed minimum custom fullscreen setting to 240p.
 - Fixed config settings, now it matches the restored settings & startup.
 - Fixed program window title on NSF->NES switch.
 - Fixed color style list in the config file.
 - Fixed GUi dialog colors when another palette (VS) is selected.
 - Fixed a bug setting 4.5x aspect ratio (length must be a multiple of 4).
 - Fixed a bug saving the current palette to the disc, filename changed to "rocknes_palette.pal".
 - Fixed a bug setting VS palettes + restore palette, no more black palette.
 - Fixed screenshots.
 - Fixed turbo speed setting.
 - Fixed an "off-by-1" problem in mapper 5 (MMC5) IRQ.
 - Improved Black&White and Black&White+ color styles.
 - More typos and text corrections, other minor fixes.
 - Big thanks to Eugene.S for the HUGE beta testing!
 - Documentation updated.

 What's new for version 5.31 (01/17/2017)
 ----------------------------------------
 - Reworked screen upscalers, put back the 4:3 VGA aspect ratio.
 - Changed the default screen upscaler to 1 (2x size).
 - Fixed a bug reading the screen size setting from config file.
 - Fixed motion blur flag parsing from config file.
 - Fixed hotkeys, DiskDude detection and PPU clipping enable/disable flags.
 - Fixed a few values in the "Restore defaults" option.
 - Fixed mapper 90 IRQs, no more flickering scorebars.
 - Fixed mappers 101 (Jaleco JF-10) and 243 (SACHEN).
 - Added mapper 150 (SACHEN v2) and removed mapper 110 (bad number).
 - On ROM loading, the mapper number is now displayed if not supported.
 - Fixed grayscales and mushroom color styles.
 - Improved red, green and blue emphasis color styles.
 - Improved magenta color style, looks much better.
 - Added 3 new color styles: olive, nocturn and sketch.
 - Replaced the negative sepia color style by sepia alt. brightness.
 - Fixed various typos in the GUI dialogs.
 - Added a short main menu if the resolution is less than 480p.
 - Program version information was outdated! It's ok now.
 - Other minor fixes there and there, cleanups.
 - New superb program icon!

 What's new for version 5.30d (01/14/2017)
 -----------------------------------------
 - Fixed program behaviour on startup, now it runs in background again.
 - Fixed mapper 32 (Irem G-101).
 - Fixed a bug setting mapper 90 nametable control flag.
 - Fixed APU volume clipping.
 - A few color style labels were slightly changed.

 What's new for version 5.30c (01/12/2017)
 -----------------------------------------
 - Fixed a bug in triple buffering mode, no more flashing on blitter change.
 - Fixed a bug on color style change.
 - Fixed a bug setting GUI colors, always use the main palette.

 What's new for version 5.30b (01/11/2017)
 -----------------------------------------
 - Fixed a few problems in the GUI dialogs.
 - Fixed a yellow vertical scanline in the 4x squared blitter.
 - Fixed a glitch displaying status messages during gameplay.
 - Fixed PPU clipping and motion blur enable/disable flag in the GUI.
 - Triple buffering should set the video flag to fullscreen, fixed.
 - Fixed version number in the documentation.

 What's new for version 5.30 (01/10/2017)
 ----------------------------------------
 - Major revision of the graphics module and startup.
 - Full rewrite of the game screen upscalers.
 - Removed 4:3 aspect and pixelated blitters, prior to NTSC aspect ratio (squared).
 - Removed the [!] menu from the GUI, general menu rework done.
 - Removed frame scanline interpolation/flickering.
 - Replaced the RGB color style with a new one.
 - Fixed a couple of emulator startup obscure problems.
 - Fixed switching to fullscreen/windowed modes.
 - Added option to save your custom fullscreen mode.
 - Added option to restore all the default settings.
 - Motion blur filtering tweaked a bit.
 - Fixed CHR ROM bankswitch state on savestate loading. This way, PTB tagged blocks
 (1 byte) were replaced by PAT tagged blocks (2 bytes long). Old files are still
 compatible to avoid problems.
 - Fixed a bug in the LSR ($20) CPU instruction.
 - Fixed "value MOD zero" in the PRG bankswitching system.
 - Fixed mapper 25, IRQs should work ok.
 - Fixed mapper 227 and adjusted it to work with 600in1 cart.
 - Added mapper 90 nametable control enable/disable (mapper 211).
 - Added key mapping for turbo buttoms.
 - Added a quick fix for bad NSF files (should be bankswtiched).
 - Added PRG ROM and CHR ROM CRC32 calculations.
 - Changed "Header info" to "File info".
 - Removed mapper 72 due to the bad support and unsupported features.
 - Fixed a couple of errors in the documentation (rocknes.txt).
 - Moved the iNES header description into a separated file.
 - General code rewrites, major cleanups and many cosmetic changes.

 2016 Releases
 *************

 What's new for version 5.25 (07/22/2016)
 ----------------------------------------
 - Reworked APU sound output mixing, added a high-pass filter for true signed samples.
 - Added an easy sound sample interpolation (more bass).
 - Fixed an obscure bug restoring APU savestates.
 - Fixed a few color styles by using a non-linear algorithm.
 - Fixed NSF visualizer in scanlined modes.
 - Other cosmetic changes and minor fixes.
 - Documentation updated.

 What's new for version 5.24 (06/26/2016)
 ----------------------------------------
 - Fixed sound playback with unsigned samples.
 - Added an option to save the last accessed folder as the main folder.
 - Added support for multiple files when recording music (like game 000.wav, game 001.wav and so on).
 - Changed the numbering system of multiple files from hexadecimal to decimal, except for savestate files.
 - Removed a few unused codes, plus cosmetic changes there and there.

 What's new for version 5.23 (06/22/2016)
 ----------------------------------------
 - Fixed broken PPU IRQs.
 - Fixed APU triangle and DMC volume decay.
 - Fixed/changed APU volume level and resampling.
 - Added a small hack for the unwanted race condition $2006 and Y-increment.
It should fix flickering games.

 What's new for version 5.22 (06/14/2016)
 ----------------------------------------
 - Fixed sprite evaluation. PPU timing is normal again.
 - Fixed input device selection, now it detects unplugged joystick/mouse and
 switches back to keyboard (player 1) or none (player 2).
 - Fixed "set default palette" in the GUI, no more blackouts.
 - Cleanups, removed unused debug code.

 What's new for version 5.21 (04/21/2016)
 ----------------------------------------
 - Fixed color style menu, should be functional.
 - Fixed problems in the MMC3 IRQs.
 - Fixed path setting (directories) problems.
 - Fixed external palette loading.
 - Fixed copyright year.
 - Item "view palette ram" is enabled again after a game loading.
 - Removed unused debug code/junk.
 - Removed MinGW DLL dependencies.
 - Other minor fixes and cosmetic changes.

 What's new for version 5.20 32bit (04/17/2016)
 ----------------------------------------------
 - Removed all those gfx modes, prior to AUTO windowed or fullscreen modes.
 - Removed video resolution setting from config file, now fullscreen mode always
 use the desktop resolution, unless you change it in the GUI.
 - Removed sprite evaluation at pre-scanline.
 - Changed unofficial opcode emulator behaviour - now it'll swap to GUI w/ RESET.
 - Changed sound sample rate to 48000Hz. Tell me if you experience problems.
 - Added unofficial opcodes + NOPs.
 - Added screen blitter 4x size with interlaced mode.
 - Added screen blitter 3x upscaler scanlined, pixelated and interlaced.
 - Added video vertical retrace sync, _much_ smoother.
 - Added various color effects like sepia, black&white, GameBoy and more!
 - Added an option for signed or unsigned APU sound samples.
 - Added cartridge board name when saving the iNES header info into a text file.
 - Added ability to modify a value in the CPU PRG space.
 - Added fast forward key, can be deactivated.
 - Fixed NMI and VBlank timing obscure failures.
 - Fixed mapper 69 for CHR RAM games.
 - Fixed motion blur effect, still imperfect.
 - Fixed VS palette setup.
 - Fixed a bug assigning joystick buttons.
 - Fixed PPU $2007 register, fixes the scorebar in Burai Fighter (U).
 - Fixed WAV stereo sound recording (generated files had half size).
 - Fixed palette selection/startup.
 - Fixed palette entries $10,$20,$30 in #nesdev palette.
 - Fixed a bug in the NMI timing.
 - Fixed an obscure bug in the sprite evaluation code (overflow flag).
 - Fixed OAM rotation (Sachen games/Tatakai no Banka).
 - Fixed file closing, another obscure bug.
 - Option "Set savestate slot to 0 on RESET" is now saved in the config file.
 - Optimized PPU bankswitching and pixel color generation.
 - General fixes and minor revision in the CPU instruction set.
 - Revised config file parsing in order to avoid a potential crash.
 - Improved RAMBO-1 PPU IRQ (mapper 64).
 - Fixed mapper 90 IRQs.
 - A few GUI and config changes, old rocknes.ini file is NOT recommended.
 - Code cleanups, lots of minor rewrites, adjustments, text changes, optimizations.


 2015 Releases
 *************
 - Private versions for beta testing on #nesdev forums.


 2014 Releases
 *************

 What's new for version 5.142 (06/02/2014)
 -----------------------------------------
 - Fixed graphics modes, switching to fullscreen always use the desktop resolution.
 - Fixed bitmap blitters 2x stretched to 640x480.
 - Fixed toggling fullscreen and windowed modes.
 - In windowed mode, changing the blitter adjusts the window size.
 - Fixed a problem with palette startup.

 What's new for version 5.141 (06/01/2014)
 -----------------------------------------
 - Fixed "Other options" menu, complete mess.
 - Cleanups.

 What's new for version 5.14 (05/31/2014)
 -----------------------------------------
 - Fixed -disable_ppu_clipping flag in the config.
 - Fixed a few GUI items, plus minor changes.
 - Frame timing is reset if the video resolution changes, no more crashing.
 - Added bitmap blitters 3x and 4x, no filtering yet.
 - Minor code optimizations and cleanups.

 What's new for version 5.13d (01/19/2014)
 -----------------------------------------
 - Fixed PRG RAM data saving/loading in savestates.
 - Fixed popup message color.
 - Internal code optimizations and cleanups.

 What's new for version 5.13c (01/18/2014)
 -----------------------------------------
 - Fixed coin detection in VS System (mapper 99), press F8 to "insert coin".
 - Fixed gfx warning message in the GUI.

 What's new for version 5.13b (01/17/2014)
 -----------------------------------------
 - Fixed FPS (frames per second) display.
 - Fixed "disable_ppu_clipping" and "mouse_poll_latency" flags.
 - Famiclone sound mode setting is now saved.
 - Minor changes in the GUI.

 What's new for version 5.13 (01/15/2014)
 ----------------------------------------
 - New menu item "View CPU state", replacing the "Dump->CPU context".
 - New blitter, 256x240 interpolated. Press key 1, then 3.
 - Fixed Famicom Disk System support, a few games are playable now.
 - Fixed Refresh button in the disassembler dialogs.
 - Fixed a bug loading mapper 20 (Famicom Disk System);
 - The disassembler shows the full bank again (size of $1000).
 - Fixed a configuration problem of input devices.
 - Fixed flag for patched ROMs (it was always zero).
 - Added detection of dirty NES headers (DiskDude).
 - Internal optimizations, minor changes and fixes in the GUI.

 What's new for version 5.12 (01/13/2014)
 ----------------------------------------
 - Fixed a potential crash when activating the sound recorder.
 - Fixed $4016/17 reads, value must be ORed with $40.
 - Fixed mapper 64 IRQs (game Hard Drivin' works).
 - Changed APU sound output gain, sounds louder and better.
 - Optimized APU sound resampling values.
 - Added an option to disable PPU clipping (left 8 pixels).
 - The NSF player now displays "no title" if there's no string.
 - Improved iNES header context saved into a text file.
 - In the disassembler, the code is now refreshed before saving to a file.
 - Removed a boring popup warning message if savestate file isn't found.
 - Renamed "-videocard" config option to "-graphics_mode", since there's no "card".
 - Fixed other minor things and annoyances, plus removed unused stuff.

 2013 Releases
 *************

 What's new for version 5.11 (12/31/2013) ** H A P P Y   N E W   Y E A R **
 ----------------------------------------
 - Fixed a timing problem with SPRDMA and DMC DMA.
 - Added a basic motion blur filtering.
 - Added a new palette from NESdev, looks accurate, enabled by default.
 - Proper program startup with default settings.
 - Blocked RESET when a movie is active (a warning will pop up).
 - Fixed frames per second display in windowed mode.
 - Fixed a problem with screen blitting, plus switching blitters is even easier.
 - Keyboard polling optimized a bit.
 - Minor fixes in the GUI, windows are now closed properly.
 - Fixed APU savestate restoration.
 - Fixed some savestate tags.
 - Fixed VS System "insert coin", just hold F8 and release it.
 - Added NSF savestate tagged block.
 - RSx savestate file updated to version 6, old ones are not compatible.
 - Documentation updated.

 What's new for version 5.09 (05/18/2013)
 -----------------------------------------
 - Fixed PPU timing.
 - Fixed PPU open bus emulation.
 - Fixed APU reset, uninitialized flags.
 - Fixed APU sweep unit.
 - Fixed joypad i/o code, added 4016h/4017h extra reads.
 - Fixed mapper 1 (MMC1) startup bank values, and MMC3 PPU IRQ timing.
 - Fixed a potential crash when blitter 0 (256x240) was set on startup.
 - Fixed base address selection on disassembler.
 - Fixed gameplay joypad data logging driver, also known as NES movies.
 - Fixed a bug when resetting the video context.
 - Added a GUI option to see the current video context.
 - Added mapper 89 (Tenka no Goikenban: Mito Koumon).
 - Added a new screen blitter, stretched to 640x480 pixelated.
 - Added five choices of RGB palettes for VS System mapper.
 - Added option for printing the FPS (frames per second) value on screenshots.
 - Added option for resetting the savestate slot number on ROM loading.
 - Added a check for mapper 20, reserved for Famicom Disk System only.
 - Added message errors if sound startup fails.
 - Joypad data block on savestate now includes the number of reads, up to 8.
 - The graphics mode settings are reset to defaults and saved on gfx errors.
 - Disabled keys F6 and F7 when the FDS driver isn't active.
 - Removed the option of disabling register $4011.

 2012 Releases
 *************

 What's new for version 5.08 (05/12/2012)
 ----------------------------------------
 - Fixed application path string, the config file should be loading/saving ok.
 - Fixed IRQs for MMC3 (mapper 4), MMC5 (5) and RAMBO-1 (64).
 - Fixed 2002h clearing timing (sprite #0 and sprite overflow flags).
 - The emulator now displays PAUSED when inactive.

 What's new for version 5.074 (04/05/2012)
 -----------------------------------------
 - Fixed broken MMC3 IRQs (mapper 4), my mistake.
 - Fixed a potential crash if the joystick is set, but disconnected.
 - Put back Sleep(0) for both double and triple buffering modes.

 What's new for version 5.073 (04/04/2012)
 -----------------------------------------
 - Even more CPU fixes, IRQ/NMI_and_DMA tests have passed.
 - The file header info wasn't being correctly saved into a file, fixed.
 - Fixed emulator window resolution info (the desktop resolution was being displayed).
 - Changed Sleep(0) to Sleep(1) because of video sync problems.
 - Usual minor fixes.

 What's new for version 5.072 (03/31/2012)
 -----------------------------------------
 - Fixed an uninitialized variable in the pAPU code.
 - A few more CPU fixes.

 What's new for version 5.071 (03/25/2012)
 -----------------------------------------
 - The config file rocknes.ini wasn't being saved to the application path,
but only being read from there. It has been fixed now.
 - Fixed a CPU problem regarding dummy writes.
 - The Famicom Disk System game manufacturer code $FF is now selectable.
 - Reworked the way of loading/checking the FDS BIOS file.
 - Added a new option: use the desktop resolution on triple buffering.
 - Fixed "other options" menu.
 - Fixed binary compiling problems.
 - The video resolution is now displayed in the "System info" option.
 - A few cleanups and minor fixes there and there.

 What's new for version 5.07 (03/18/2012)
 -----------------------------------------
 - Improved 640x480 stretched mode.
 - Improved/fixed APU timing to match the behavior of the hardware.
 - Improved savestate code, old files are not compatible (must be version 4).
 - Tweaked mouse support for gameplay, now you can adjust the number of frames
between mouse polls.
 - Fixed mapper 4 (MMC3), IRQ code rewritten.
 - Fixed mapper 5 (MMC5), added extended attribute mode (Koei games playable).
 - Fixed mapper 7, now all 512 KB of ROM is accessible.
 - Fixed mappers 9 and 10, Punch Out works with no glitches.
 - Fixed mapper 90, plus support for 211 (Donkey Kong 4 works).
 - Fixed mapper 232 (BF9096).
 - Added WRAM control to the mapper 1 (MMC1).
 - Added keyboard keys 1, 2, 3 to cycle between game screen blitters, but can
be disabled in the config file.
 - Added an option to setup the video resolution to match the desktop.
 - Added an option to disable $4011 raw writes.
 - Added Famicom Disk System header viewer, much like the NSF header viewer.
 - Adjusted DMC sound decay and proper $4011 raw, no sound pops.
 - Multiple instances of RockNES.exe are no more allowed.
 - The disassembler now points to the line within the CPU PC value.
 - The close button ("X" corner) now works while the GUI is active.
 - There's a new menu item [!], called "Quick Menu".
 - Added a new submenu, "Other options", to be improved. Currently, you can 
disable hotkeys 1,2,3, and setup quit to OS confirmation.
 - Fixed CHR ROM bank masking.
 - The config file rocknes.ini is now loaded from the application path.
 - A few cosmetic changes and minor internal fixes.

 2011 Releases
 *************

 What's new for version 5.061 (02/04/2011)
 -----------------------------------------
 - Fixed input devices configuration, joysticks should work ok.
 - Fixed a minor mouse flag glitch on drawing.
 - Added a popup warning when an unofficial opcode is trapped in full screen mode.
 - Joystick driver info is displayed in the "System info" option.
 - Other internal fixes and cosmetic changes.
 - Documentation updated.

 What's new for version 5.06 (01/31/2011)
 ----------------------------------------
 - Major APU timing fix.
 - Minor fix for $2004 reads.
 - Some CPU fixes, including all possible dummy read cases.
 - Sound sample rate is at 44100hz and cannot be changed for now.
 - Created config flag to enable/disable sound output.
 - Changed PRG bank masking for non-power-of-2 values.
 - Removed disassembling at $4000-$4FFF.
 - Fixed a bug restoring pAPU savestate block.
 - Fixed PRG bank number calculation in the disassembler.
 - Fixed a potential bug of disassembling the main RAM.
 - Fixed mapper 4 and variants to include CHR-RAM bankswitching.
 - Fixed Atari RBI baseball mapper number.
 - Added mapper 86, JALECO-JF-13, partial.
 - Added mapper 93 "Fantasy Zone (J)".
 - Added checks for unexpected/non-standard cartridge configs.
 - Added ability to dump the secondary OAM data.
 - Added palette RAM viewer.
 - Added a new screenshot method: captures the desktop.
 - Added an option for sound to output like a famicom-clone console.
 - Reworked sound driver and pAPU startup.
 - No more needed to restart the emulator when changing sound settings.
 - Palette files are loaded on emulator startup, when specified.
 - Proper GUI menu items disable, instead of warning popups.
 - Switched back the color emphasis table.
 - Removed "quit emulation" key config, now it's key <F11> only.
 - Lots of general cosmetic changes.
 - Major update to the emulator documentation.

 2010 Releases
 *************

 What's new for version 5.05 (02/21/2010)
 ----------------------------------------
 - Fixed bitmap clearing again, when switching blitters.
 - More optimizations and cosmetic changes.

 What's new for version 5.04 (02/17/2010)
 ----------------------------------------
 - Fixed broken color emphasis calculation.
 - Fixed a bug on APU reset.
 - Fixed bitmap/screen clearing.
 - Fixed keyboard buffer clearing call time.
 - Fixed keyboard key status, immediate poll shouldn't occur.
 - Added a fix to make Famitracker NSF files compatible, no crashing.
 - Added NSF header display information.
 - Minor additions to the APU savestate, plus bug fixes.
 - Changed the video timing system to something MUCH easier.
 - Updated color emphasis' table of coheficients.
 - Cosmetic changes, minor fixes and cleanups.
 - Documentation updated.

 What's new for version 5.03 (01/30/2010)
 ----------------------------------------
 - Reworked iNES mapper I/O handler.
 - Reworked PPU color code and event scheduler.
 - Fixed sprite 0 strikes.
 - Fixed triangle channel output.
 - Fixed triple buffering setup.
 - Fixed graphics reset and triple buffering set.
 - Fixed PPU timing and DMC IRQ clocking.
 - Improved Allegro sound support.
 - Changed APU sound queue/dequeue method.
 - Removed timeslice from double buffering, increases CPU usage though.
 - Mappers added: 46, 58.
 - Mappers fixed: 0,1,16,34,43,64,68,69,72,79,83,88,90,92,97,113,184,187.
 - Removed NESticle savestate support for good.
 - Optimizations and some speed up.
 - Other minor things fixed.

 2009 Releases
 *************

 What's new for version 5.02 (07/23/2009)
 ----------------------------------------
 - Fixed "running in background" when changing the video resolution.
 - Fixed WAV file header, wrong size error.
 - Resized blitter select window, smaller, for lower resolutions.
 - Fixed required Famicom Disk System file name.
 - Disabled Allegro's rest(1) in triple buffering mode.
 - Fixed broken WRAM I/O, a lot of games should work again.
 - Fixed bugs in the timing code.
 - Fixed NSF visualizer drawing circles out of bitmap boundaries.
 - pAPU sound code optimized, should be (much) less intensive.
 - Changed openbus return value.
 - A few tweaks to improve the speed.
 - Minor MMC5 fixes.
 - Documentation updated.

 What's new for version 5.01 (07/18/2009)
 ----------------------------------------
 - Reworked 6000h-7FFFh CPU handling.
 - Reworked/increased sound caching and playback.
 - Fixed system reset sequence.
 - Fixed MMC3 IRQs, plus added WRAM control (mapper 4).
 - Fixed load state error message in the GUI.
 - Fixed a few typos in the GUI messages.
 - Fixed internal iNES header/data patching by CRC32.
 - Fixed three bugs in the savestate code, no more gray screens.
 - Fixed APU reset timing.
 - Mapper fix: 4, 33, 87.
 - Mapper new: 5 (preliminary MMC5), 48.
 - Changed a few mapper board names.
 - Changed default value on NSF "invalid" reads (thanks jsr).
 - Changed system RAM dump filename to gametitle.ram.
 - Changed color RAM dump filename to gametitle.pal.
 - Changed pattern table (CHR RAM) dump filename extension from .chr to .pat.
 - WAV file record is now possible to schedule before the first game run.
 - The mapper savestate block is no more saved with zero-length (unused).
 - The song start number from NSF header is now used, instead of always 1.
 - For safety reasons, the emulator quits on savestate loading error.
 - Removed the CPU timeslice with Allegro's rest(1) to avoid deadlocks.
 - Compiled with newer versions of GCC and Allegro, fixes a few things.
 - Other important fixes there and there.

 What's new for version 5.00 (07/10/2009)
 ----------------------------------------
- Added a NSF driver, now you can load and play NSFs!
- External palette files (.pal) can be loaded.
- Changed color mode to 32 bits.
- Fixed WorkRAM 6000h-7FFFh, an obscure bug.
- Fixed MMC3 IRQs partially, thanks to Disch for the help.
- Mappers fixed: 4, 13, 20 (Famicom Disk System), 64, 90/160, 91, 117, 118.
- Fixed PRG data disassembler.
- Fixed a few oddities in the GUI dialogs.
- Fixed CPU dump 8000-FFFF.
- Fixed an obscure bug in the sprite evaluation.
- Fixed problems with the triple buffering mode.
- Fixed movies (joypad data logging for replay).
- Better sound output, less stuttering and skips thanks to a ring buffer. 
- Added an alternate video config in the GUI.
- Added APU registers/context dump.
- Modified PRG data corruptor to use ROM address instead of CPU address.
- Reworked loading procedure.
- Removed GameGenie codes.
- Fixed command line game loading.
- Improved windowed mode.
- Tons of internal fixes, plus several cosmetic changes.

 2008 Releases
 *************

 What's new for version 5.00 beta 14 (11/09/2008)
 ------------------------------------------------
 - Added triple buffering, no screen tearing.
 - Usual fixes and minor GUI changes.

 What's new for version 5.00 beta 13 (09/01/2008)
 ------------------------------------------------
 - Fixed mapper 13 (Videomation).
 - SaveRAM 6000h-7FFFh reset with 00h instead of FFh (mapper 16).
 - Improved Game Genie support, still partial.
 - Reduced the volume level when in stereo mode.
 - General minor fixes and more minor GUI improvements.

 What's new for version 5.00 beta 12 (07/26/2008)
 ------------------------------------------------
 - Small changes on rom loading & fix.
 - CHR RAM is initialized with 00h instead of FFh to avoid glitches on startup.
 - Added a ROM fix for the bad dump of Wrestlemania Challenge (CRC 3C9FE649).
 - Changed the CHR RAM dump filename extension from .bin to .chr to avoid an
overwrite with the PRG ROM dump filename.
 - Removed all unmasked CHR bankswitching.
 - Minor changes in the mapper names and in the GUI.
 - Fixed mappers 44, 90, 234, 255.
 - Fixed joypad #2, oops!
 - Fixed a bug in the joypad register.
 - Documentation updated.

 What's new for version 5.00 beta 11 (07/24/2008)
 ------------------------------------------------
 - Savestates were completely broken, it's fixed now.

 What's new for version 5.00 beta 10 (07/24/2008)
 ------------------------------------------------
 - New ppu savestate block, PTB2. It joins PTB0 and PTB1, plus some extras. 
The emulator won't load old ones, so keep up newest ones.
 - New sound savestate block, DMC0. It saves fully the DMC channel state.
 - Fixed a bug in the VRC IRQs (mapper 24 is ok).
 - Fixed mappers 1 (Space Shuttle Project), 16, 65, 67, 69.
 - Fixed inputs setup, plus some code cleanup.
 - Fixed VRCVI stereo sound output.
 - Fixed CRC32 calculation, oops!
 - Fixed CRC32 checkups and forced header fixes.
 - Fixed APU reset timing.
 - Major fix regarding the PRG bank number masking (Action52 works).
 - Reworked CHR RAM/ROM bankswitch and startup.
 - Changed or improved a few things in the GUI.
 - Fixed the manual disassembler.

 What's new for version 5.00 BETA 9 (07/08/2008)
 -----------------------------------------------
 - Fixed mappers 25, 26, 73, 85.
 - Fixed ppu register 2007h.
 - Reenabled mappers 9 and 10, oops.
 - Changed page crossing dummy read.
 - Changed CRC32 calculation (full data).
 - A few cpu and ppu tweaks and minor fixes.

 What's new for version 5.00 BETA 8 (07/06/2008)
 -----------------------------------------------
 - Fixed NMI_on timing edges.
 - Fixed trainer support (again).
 - Fixed WRAM behaviour when trainer data is present.
 - Fixed a nasty PPU address masking at $2007 r/w.
 - Added CPU dummy reads.
 - Fixed a memory leak.
 - Working mappers 21, 22, 23.
 - Improved support for sound disable.
 - Fixed broken WAV file recorder.
 - Stereo WAVs were fixed.
 - More timing fixes and minor changes.

 What's new for version 5.00 BETA 7 (02/25/2008)
 -----------------------------------------------
 - Major CPU and APU timing fixes, hard work.
 - Fixed sound config GUI dialog.
 - Cleanups, future savestates might not be compatible.
 - Lots of minor changes and improvements.

 What's new for version 5.00 BETA 6 (02/10/2008)
 -----------------------------------------------
 - Major CPU fixes (timing and opcodes).
 - Some PPU fixes, corrected VBlank flag behaviour.
 - Some APU fixes, corrected frame IRQ timing.
 - Fixed a bug in the sprite I/O register.
 - Tweaked joypads polling/control and setup.
 - Updated config file with the new blitter option 5.
 - Binaries are no more compiled under Dev-C++ due to some annoyances.
 - Usual tweaks, cleanups and debug code left removed.

 What's new for version 5.00 BETA 5 (02/03/2008)
 -----------------------------------------------
 - Fixed an odd compiling bug that prevents proper work.
 - Sprite core rewritten to match the hardware procedure.
 - Fixed 2004h reads, somewhat better.
 - Fixed wave recording to avoid sound skipping.
 - Fixed program running in background.
 - Added a new blitter, double-sized scanlined.
 - Removed confirmation window when exitting program (quit to OS).
 - Program window title changed into "RockNES/Win32".
 - The close (X) button is enabled during the emulation.
 - Keys Alt+ENTER switches between windowed/fullscreen modes during the emulation.
 - Mapper 4 (MMC3) is enabled again, but since IRQs are disabled, most of the
games are unplayable.
 - Updated to Allegro 4.3.10 library.
 - More debug stuff removed, plus internal changes and minor fixes.

 What's new for version 5.00 BETA 4 (01/25/2008)
 -----------------------------------------------
 - Fixed joystick support and modified the config window.
 - Fixed an obscure bug, "file doesn't exist" error.
 - Fixed backed battery save/load, it was broken.
 - Fixed PPU state loading, somewhat.
 - Fixed sprite overflow flag, somewhat.
 - Usual optmizations and tweaks.
 - Added a new saveblock tagged as PTB1, extended PPU savestate.
 - Added a new saveblock tagged as CPU1, extended CPU savestate, fixes loading errors.
 - ROM patching dialog improved.
 - Config file slightly changed for accuracy.
 - The program can run in background now, sweet.
 - Fixed video refresh rate to be 60Hz.
 - Fixed sound output and changed from 44100Hz to 22050Hz as default.
 - Other fixes I don't remember.
 - NEW FOR BETA 4b: fixed 22050Hz default setting.
 - NEW FOR BETA 4b: removed debug stuff left.

 2007 Releases
 *************

 What's new for version 5.00 BETA 3 (01/03/2007)
 -----------------------------------------------
 - Timer tweaked a bit, it's better.
 - Fixed display messages and flickering.
 - Some internal changes and minor fixes.

 What's new for version 5.00 BETA 2 (01/02/2007)
 -----------------------------------------------
- Fixed opcodes: $01[ORA1](7/6), $04[NOP3](4/3).
- Fixed an obscure addressing mode timing bug.
- Fixed support for trained games.
- Fixed the sound flag in the config file.
- Disabled debug messages, my bad.
- Fixed warning/status messages.
- Mapped F1 key to toggle FPS display.
- Fixed PRG page masking.
- Added ROM loading error messages.
- Other things I don't remember...

============================================================================
 2006 Releases
 *************

 What's new for version 5.00 BETA 1 (03/13/2006)
 -----------------------------------------------
 - Major CPU core rebuilding, now using cycle precision timing.
 - Opcode 3Ch emulated (NOP6) for our playing needs.
 - Major APU timing, output and core fixes, much more accurate and clean.
 - Major PPU timing fix, pass OK through test ROMs;
 - Optional sound quirk emulation;
 - Sprites 0 and 1 behaviour fixed (Tatakai no Banka works).
 - Better 2004h sprite reading emulation (no flickering in Micro Machines).
 - Fixed screen rendering when disabled (Micro Machines).
 - Fixed DMC clocking, making FireHawk game to work properly.
 - Fixed VRC6 sound output, now using fully signed waves (much better).
 - Several fixes in order to improve emulation performance.
 - Disabled save or loading states during movie playback.
 - Disabled joypad keypresses like up+down or left+right (Zelda 2).
 - Fixed a bug reading the config file, no more blanks at end of strings.
 - Changed joypad buttons assignment in the config file, fixing stupid errors.
 - Fixed many GUI problems, including dumping and file saving.
 - New savestate block added: PTB0 (PPU timing block).
 - Fixed a bug in the savestate [MPR block], plus added an extra block for APU.
 - Updated RSx revision id, now only revision 2 are loadable/supported.
 - Illegal opcodes are simply skipped, instead of quitting to OS.
 - Added mouse gameplay support!
 - Added command line support.
 - Added 'stretched to 640x480 non-scanlined' blitter.
 - Added new 'Options' GUI item, so you can configure inputs, sound, blitter and directories!
 - Config file reworked, fixing a few minor bugs.
 - Frames per second (FPS) display added.
 - A couple of hidden annoyances has been fixed.
 - Mapper 4 (MMC3) disabled due to bad IRQ counter working (to be fixed).
 - Broken trainer support (to be fixed).
 - Other minor fixes and improvements that I don't remember...

============================================================================
 2005 Releases
 *************

 * RELEASES 4.xx

 What's new for version 4.03 (01/22/2005)
 ----------------------------------------
- SBC instructions work in terms of ADC (thanks tepples);
- Simplified LDA instructions (work in terms of LDA Absolute offset);
- Fixed NESticle savestate loading somewhat (thanks Peach);
- Removed a junk (unused item) from CPU context.

============================================================================
 2004 Releases
 *************

 What's new for version 4.02 (12/30/2004)
 ----------------------------------------
- Fixed [FRA0] savestate block;
- Reduced sound buffering to half (around ~3 frames instead of 5);
- Fixed WAV logging buffer size (due to change above);
- Fixed 2004h reads (debug code left has been removed);
- Minor PPU optimization.

 What's new for version 4.01 (12/12/2004)
 ----------------------------------------
- Fixed pAPU output divisor, making a clean sound again;
- Fixed 4017h register issue (SMB3 dash & cracking block sounds);
- Enabled proper gfx shutdown (was disabled due to debug);
- Changed default blitter to 256x240, plus minor config fixes;
- Recompiled 'alleg41.dll' module, fixing compiling warnings.

 What's new for version 4.00 (12/09/2004)
 ----------------------------------------
- Backed battery (SRAM) wasn't being saved on quit-to-OS, fixed;
- Added a new tagged block to savestate, saving the pAPU frame timing;
- Fixed a bug in the movie playback (joypad data logging *.RMx);
- Changed compiling flags, and the MMX version is back due to request;
- Other minor fixes and comestic changes.

 What's new for version 4.00 BETA 7 (12/01/2004)
 -----------------------------------------------
- Changed "i686 mmx" to "i586 sse" due to an Allegro issue;
- Outstanding pAPU sound output fix, near perfect the real thing;
- GameGenie support fixed, still needs testing (rewritten from scratch);
- Screenshots are back! Files are saved like "gamename 000.bmp";
- Changed Allegro' sound init parameter behaviour, plus source compiled as
i586 instead of i686 (due to an Allegro issue);
- Enabled map90 irq counter (oops);
- Fixed joystick support (oops);
- Minor changes in the CPU core.

 What's new for version 4.00 BETA 6 (11/08/2004)
 -----------------------------------------------
- pAPU sound fixes, plus better channel mixing;
- Improved blitting & video filtering (delete the old 'rocknes.ini');
- Added joystick support, use the 'rocknes.ini' config to activate it;
- Fixed a mapper reset bug, of cleaning a C structure;
- Changed those black&white gui colors;
- Famicom DiskSystem fixed somewhat, still buggy though;
- Minor fixes and tweaks.

 What's new for version 4.00 BETA 5 (10/26/2004)
 -----------------------------------------------
- Major pAPU fix, precise timing and clean sound output;
- VRCVI sound driver updated & partially rewritten;
- DMC/VRCVI drivers clock using PPU cycles;
- Sound output can be disabled (fixed);
- Fixed sprite zero pixel collision, 'Wagyan Land' games work properly, plus
fixes flickering scores (Cobra Triangle) and a freeze in Punch-Out!!
- Preliminary fix for MMC2/MMC4 support (Punch-Out!! and Fire Emblem);
- GUI colors are displayed correctly, no matter the palette or video mode;
- Fixed 'pixelated' and 'scanlines' video filters, plus its screen centering.

 What's new for version 4.00 BETA 4 (10/12/2004)
 -----------------------------------------------
- DMC channel playback fixed (new core);
- Fixed DMC/RAW volume decay;
- Fixed a CPU bug in the 'relative branches' on page crossing;
- Sprites are displayed on second visible scanline;
- Sprite counter is now cleaned on scanline 21 start;
- IRQ timing fix for mappers 21,23,24,25,26,73,41,42,91,117 (working again);
- Fixed Bandai IRQ timing emulation (fixed mappers 16,65,67,69,83);
- Added proper Jaleco IRQ timing emulation (fixed mapper 18);
- Added proper Mapper 90 IRQ timing (needs a small tweak & mapper fix);
- CPU opcode 04 defined as 'NOP' ('Kaijuu Monogatari' works);
- Started FDS driver fixing, still unplayable;
- Usual code cleanups.

 What's new for version 4.00 BETA 3 (10/09/2004)
 -----------------------------------------------
- Fixed PPU clocking behaviour ('scanlines' demo is okay);
- Fixed ADC/SBC CPU opcodes (thanks Disch);
- MMC3 IRQ timing improved somewhat;
- Fixed PPU scanline 20->21 clocking;
- Compiled under Dev-C++ (much better);
- More minor fixes and usual cleanups.

 What's new for version 4.00 BETA 2 (10/02/2004)
 -----------------------------------------------
 - Windows port, now compiled with MinGW;
 - Disabled: EAGLE filter, GUI Help->System, screenshots;
 - Broken mappers: 9 & 10 (MMC2/4), and possibly others;
 - Removed a CPU timing hack, leaving the things "as it";
 - Minor changes in the CPU core to avoid bugs on game loading;
 - Correct power-on/reset CPU behaviour (thanks nesdev);
 - Fixed a bug in the WorkRAM I/O behaviour;
 - Savestates should work fine now (older files may be incompatible);
 - Fixed MMC3 IRQ timing somewhat (mapper 4 mainly);
 - Fixed default keys mapped to A and B, instead of Z and X;
 - Proper PPU 8-pixels left clipping;
 - Video output is 16-bit now (instead of 8-bit);
 - Fixed color emphasis/monochrome modes (try CopperBars);
 - A couple of other minor fixes...
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

((DOS releases))
 What's new for version 4.00 BETA 1 (08/23/2004)
 ----------------------------------------
 - New PPU emulation core, rendering pixel-by-pixel;
 - Accurate emulation of sprite-zero hits and max-sprites limitation;
 - Better CPU-PPU communication/timing;
 - Fixed CPU page crossing detection;
 - CPU instructions core tweaked, making the object file much smaller;
 - Fixed branch extra-cycle addition, plus hacked CPU interruptions time;
 - Fixed B flag state on interrupts (NMI/IRQ);
 - Switched to PPU cycle counter;
 - Changed WorkRAM 6000h-7FFFh write-protection behaviour;
 - Fixed support for ROMs within trainer data;
 - PPU monochrome mode changed and simplified;
 - Many fixes to pAPU sound emulation (except DMC);
 - VRCVI sound data was always being saved, fixed;
 - Joypads savestate support;
 - Cry! Removed support for mappers #5 (MMC5) and #117;
 - Broken mapper #9 (MMC2 Punch-Out!!) support, and possibly others;
 - Removed 'hard reset' option in the GUI;
 - Proper savestate support for mappers 21,23,25,44,64,67;
 - Fixed WRAM behaviour on mapper 4 (or almost?);
 - Fixed mapper 66 crash on CHR-ROM data bankswitch (usually dirty headers);
 - Fixed PRG/CHR paged banks calculation on dumping;
 - Fixed PPU IRQ counter variables saving on dumping;
 - Fixed wrong buffer size on EAGLE blitting;
 - Fixed directories setup;
 - Usual minor and cosmetic changes.

//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
  **2003**
 * RELEASES 3.xx

 What's new for version 3.10 (12/09/2003)
 ----------------------------------------
 - Fixed the unreported (!) broken pAPU stereo sound effect;
 - Fixed pAPU sound driver, correct reset and envelope/sweep emulation;
 - Fixed pAPU volume levels to something near enough;
 - Added pAPU volume decay for the mixed sample output;
 - The fast forward now silents the sound output;
 - Fixed FDS state loading, plus its IRQ disk timing (or almost);
 - Fixed PRG-ROM/WorkRAM data identification on bank 3 (savestates);
 - Changed nametable/color RAMs to be saved in a separated tagged block (NAM),
 hence older RSx states are no more compatible;
 - Fixed a bug in the disassembler (relative branch address);
 - In the disassembler window, the actual CPU bank was incorrectly set;
 - Added ability to disassemble CPU 5000h-7FFFh regions;
 - A couple of CPU fixes, such as IRQs, and a few opcodes now parsed as NOP;
 - PPU timing tweaked once again, and rendering slightly optimized;
 - Fixed two PPU rendering bugs (of max. fine x-scroll value and color ram);
 - NMI timing tweaked once again, might be imperfect though;
 - Changed sprite DMA transfer behaviour on 4014h writes;
 - Removed mappers 6, 8 and 17 support (hacked stuff, gone nowadays);
 - Improved VRCVI/MMC5/mapper91 IRQ timing;
 - Fixed frame-IRQ somewhat (sound in Dragon Quest games is okay again);
 - Fixed a bug saving files (filename related);
 - Fixed stretched blitter plot (`-blitter 4` option in the rocknes.INI file);
 - Removed that vsync option for a while;
 - Mouse pointer fixed to start at GUI bar, instead of screen centered;
 - Changed `ROM cheat` label to `ROM patch` for your best safeness;
 - Up to date unzip code/ZLIB library;
 - Added a few C tweaks to speed up the emulation a bit;
 - PPU frame rendering optimized;
 - Optimized filters Pixelated and EAGLE, hence a very nice speed up;
 - Usual minor fixes and cosmetic changes.

 What's new for version 3.02 (08/04/2003)
 ----------------------------------------
 - Added pseudo-stereo sound output (optional);
 - ASM window now shows the PRG bank and the respective ROM address;
 - Small fix in the MMC3 IRQ timing (Joe&Mac2);
 - Mapper #90 IRQ timing improved and mapper fixed (FinalFight3);
 - Mapper #91 IRQ timing fixed (StreetFighter2);
 - Fixed a glitch in the ASM window (two CPU banks selected);
 - Fixed a bug in the pAPU duty cycle/envelope counters;
 - Fixed triangle channel (volume level wasn`t being cleared on channel off);
 - Added volume decay to triangle channel (avoids `clicks` on playback);
 - Fixed DMC volume decay rate and sample decompression;
 - Fixed $4011 PCM playback and its volume decay rate;
 - Fixed PCM data caching, no more emulation crashing;
 - Fixed gamegenie reset (whoops!);
 - Partial FDS driver fix (mapper #20);
 - File select dialog resized (heh, bigger!), plus with new colors;
 - Changed default video driver to VESA1 instead of AUTODETECT;
 - Stupid config mistake fixed, now 48k sound sample rate works;
 - Fixed a bug in the 640x480 stretch blitter;
 - VRCx IRQs are preliminary again, couldn't find a proper fix yet;
 - Known problems list updated;
 - Minor cosmetic changes.

 What's new for version 3.01 (07/27/2003)
 ----------------------------------------
 - Added ability to save the ASM code to a text file;
 - Added opcode $89 as double-NOP (asian `Super Donkey Kong` works);
 - Added sprite RAM address clearing on frame ending (fixes a few asian games);
 - Added frameIRQs, but might be preliminary though (sound in Dragon Quest 2);
 - Fixed a minor CPU issue with 2 variables;
 - Fixed $4015 register behaviour;
 - Fixed triangle channel functionally (Total Recall/Ghostbusters 2);
 - Fixed DMC status bit on $4015 reads (Solar Wars/Bomberman 2/Castelian);
 - Fixed default video settings (when no config file is found);
 - Fixed screenshot saving and changed its format to "game title 000.bmp".

 What's new for version 3.00 (07/26/2003)
 ----------------------------------------
 - My brand new kickass 6502/2A03 CPU core;
 - Sound drivers (pAPU + VRCVI) rewritten from scratch (better support);
 - New savestate file format, fully composed by tagged blocks;
 - Fixed a few problems saving/loading states;
 - Fixed WAVE logging;
 - Fixed WorkRAM initial data back to $00s, except for mapper #4;
 - Fixed GUI colors if user selects a different palette (VS Unisystem);
 - Fixed mappers #9 and #10 graphics on state loading;
 - New fast stretched mode on 640x480 by default now;
 - Added a disassembler, you can output ASM code to a window anytime;
 - Others usual source fixes.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 * RELEASES 2.xx

 What's new for version 2.61
 ---------------------------
 - Changed WRAM dummy data to $FFs instead of $00s (Low G Man works, thanks
 to FluBBa for the information);
 - Sound changed to 16-bit output, plus volume decay;
 - Small fix in the pulse channels frequency;
 - Small fix in the triangle/noise channels volume;
 - Small improvement to Konami's VRC6 sound driver emulation;
 - Fixed a bug on RIFF wave header saving, now 16-bit signed;
 - Fixed filename for dumping $8000-$FFFF data;
 - Fixed emulator shutdown (whoooops!);
 - NMI/RESET/IRQ vectors (values) are now dumped correctly;
 - More cleanups.

 What's new for version 2.60
 ---------------------------
 - Added sound wave logging (wheee);
 - Fixed 4-screen mirroring (Rad Racer 2 and others are okay);
 - Fixed register $400E (noise channel);
 - Fixed broken DMC real-time support;
 - Fixed pAPU output, plus much better noise support;
 - Fixed a few ppu timing issues (Days of Thunder now works);
 - Fixed a few issues in the sprite code;
 - Fixed a bug in the input device poll (player 2 polling);
 - VRC6 sound flag wasn't being cleared on mapper reset, fixed it;
 - Removed that stupid 60Hz speed sync (when sound is off), now the monitor
 refresh rate (vsync) is used: please, set it to 60Hz if possible;
 - Filters now can use any video resolution higher than 640x480, no more
 overriding the rocknes.ini setting;
 - More internal tweaks and cosmetic changes.

 What's new for version 2.51
 ---------------------------
 - Changed insert coin key to F8 (argh!);
 - Fixed another memory leak, now in the FDS driver;
 - Disabled FDS disk flipping if no FDS data is loaded (ugly);
 - Fixed memory corruption in the gamegenie driver;
 - Cleanups in the gamegenie driver.

 What's new for version 2.50
 ---------------------------
 - More rewrites and major cleanups, plus internal changes;
 - Added 4 new video filters: 2xSaI, SuperEagle, Pixelated (TV looking) and
 scanlines, all displayed on 640x480 resolution;
 - Added bright level adjustment! Press F1 to increase or Shift+F1 to
 decrease level;
 - Reworked extra memory management, now allocated only if required;
 - Fixed dummy buffer size (it was too large);
 - Fixed Allegro shutdown on gfx error (on startup only);
 - Fixed player #2 input select (joystick #2 is selectable again);
 - Sound is enabled if the config file is missing (whoops!);
 - Enabled VS Atari RBI Baseball reads (whoops);
 - Enabled full WRAM write for trained ROMs (controls now work);
 - Fixed sprite #0 strike cycle calculation;
 - Fixed ppu address refresh to the old setting (it was glitching games);
 - Fixed mapper #5 (MMC5), mirroring behaviour corrected;
 - Fixed a bug in the mapper #13, plus ppu I/O optimized (Videomation works);
 - Fixed a bug in the Konami's VRC IRQs (mappers #21,#23,#24,#25,#26);
 - Fixed mapper #21 (Wai Wai World 2 and others);
 - Fixed broken fastforward key and sound shutdown;
 - Fixed 640x480 image centering;
 - Fixed screenshot/FDS message color display (whoops);
 - Added coin inserted message display;
 - Fixed insert coin key to TILDE instead of TAB (grr);
 - Fixed screenshot return status (no more fake error message on GUI);
 - Fixed a memory leak on program exit;
 - On CPU dumping, the interruption pending status is checked by the I_FLAG;
 - Small ppu pattern I/O optimization;
 - A couple of minor fixes and mistakes.

============================================================================
 2002 Releases
 *************

 What's new for version 2.40
 ---------------------------
 - More internal changes and rewrites;
 - NES joypad latch was not being cleared if the input type is joystick;
 - Fixed a mistake on movie play status (bleh);
 - Fixed a stupid loading bug for trained ROMs;
 - Fixed ppu address reset behaviour (Rambo is okay);
 - Fixed MMC3 IRQs (yay, finally);
 - Allowed mapper IRQs to trigger on scanline 240 (fixes a few games);
 - Added a specific fix for Rad Racer games (the road is okay);
 - Fixed 8-sprites ppu flag;
 - Fixed filenames to dump chr data;
 - Small PSG and color emphasis/monochrome optimizations;
 - GFX corruption (like map#226) has been fixed;
 - Changed joypad data reading behaviour;
 - Changed to compile with the newest stable Allegro release;
 - Changed some filenames for dumping RAMs;
 - Minor core cleanups, bug fixes and cosmetic changes.

 What's new for version 2.30:
 ----------------------------
 - Fixed PPU pattern writes (not allowed for games with CHR ROM, whoops);
 - Fixed mapper #15 (100-in-1 Contra works);
 - Fixed mapper #44 (Super 7-in-1);
 - Fixed mapper #227 (1200-in-1, wrong 32k selection);
 - Fixed mapper #229 (31-in-1);
 - Fixed mapper #234 (Maxi 15, graphics are ok).
 - Proper mapper #90 state loading;
 - Changed cpu dumping file from nes6502.dmp to nes6502.log;
 - Made a lot of internal changes and optimized the loading/reset procedures;
 - Major cleanups and junk code remotion.

 What's new for version 2.20:
 ----------------------------
- Fixed PRG/CHR page masking (whoops);
- Fixed coin bit detection for VS Unisystem;
- Fixed a problem in the sprite render;
- Small fix in the CPU reset;
- Sprites RAM is now readable, fixes some games and demos (Froggy is ok);
- Fixed NES movies (joypad data logging - RSx files);
- Fixed CRC32 calculation if a trainer is present;
- Fixed PRG data loading if a trainer is present;
- Fixed a major problem with the gamegenie driver;
- Fixed some possible memory corruption;
- PSG volume level changed to v*23/16;
- Fixed broken Famicom DiskSystem driver (FDS);
- Added message display for FDS operations (of disk insert/eject, side);
- Added ability to detect what's paged on $6000-$7FFF (for CPU dumping);
- Added mapper #87 support (PlayChoice-10 The Goonies);
- Preliminary mapper #241 support (Edu, unplayable);
- Fixed mapper #4 IRQs, still imperfect;
- Fixed mapper #7 crashes (Cobra Triangle works fine);
- Fixed mapper #15, but the CHR is corrupted?! (hacks and xxx-in-1 games);
- Fixed mapper #32 (Image Fight);
- Fixed mapper #73 IRQ timing (Salamander);
- Fixed mapper #90 IRQ flag (fixes Super Mario World score);
- Fixed mapper #94 (jap. Commando);
- Fixed mapper #97 (Kaiketsu Yanchamaru);
- Fixed mapper #160 (Aladdin, preliminary IRQ);
- Fixed mapper #187 (unofficial SF/KOF games);
- Fixed mapper #189 (Yoko SFII/Master Figther II);
- Fixed mapper #225 (xxx-in-1 games);
- Fixed mapper #226, but the CHR menu is corrupted?! (76-in-1);
- Fixed mapper #227 (1200-in-1 - problems with its info);
- Fixed mapper #232 (Codemasters' Quattro games);
- Fixed mapper #235 (xxx-in-1 games);
- Optimized MMC5 WRAM status reading;
- Minor fixes to the GUI;
- A few core cleanups and tweaks, it's really fast;
- Compiled with Allegro 4.1.7 and lastest gcc package.

 What's new for version 2.10:
 ----------------------------
 - Joystick calibration is back again;
 - Fixed state saving/loading (older files are not compatible);
 - Fixed a bug in the mapper #1 (MMC1);
 - Fixed FDS driver (partially), broken from rewrite;
 - Fixed a bug in the CPU cycle counter;
 - Fixed 'no game loaded' error threat;
 - Fixed input setup on joystick detection error;
 - Fixed MMC3 IRQs somewhat, still imperfect;
 - Fixed a small issue with the dummy sound driver;
 - Fixed PRG/CHR page masking, thanks to Vagla for pointing me this;
 - Config file cleaned, removed some deprecated options;
 - PPU timing tweaked, still imperfect due to line-based render;
 - PSG driver cleaned up a bit;
 - Color RAM i/o optimized;
 - New NES palette, taken from Rockman Complete Works (PSX);
 - EAGLE filter is back again;
 - Documentation cleaned and partially rewritten;
 - A few CPU tweaks, finally up-to-date, thanks Matt.
______________________________________________________________________________

 Version 2.01 (July 14th 2002)
 - Fixed fastforward, no more crashing (I hope);
 - Fixed mapper #1 (Dragon Warrior 3 & 4 work);
 - Fixed RSx savestate (missing mapper block ID);
 - Fixed audio silent (does nothing when no sound);
 - Fixed a couple of major problems with the GUI;
 - Gameplay is no more stopped if a ROM loading isn't successfull;
 - Key F11 disabled for quit-to-OS, since you can define a custom key;
 - CPU dumping now has timestamp and path included;
 - General tweaks and cleanups.

 Version 2.00 (July 12th 2002)
 - Major source rewrite, fixing tons of problems for listing;
 - New savestate format, smaller and smart, no crashes;
 - PPU frame render slightly optimised/tweaked;
 - PPU and CPU timings work better;
 - Added a fast forward key (maximum speed <-> no framesync);
 - Added a sprite #0 hit patch for mapper #7 too (fix some Tradewest games);
 - Fixed PCM channel, removed hacks, added real-time counter;
 - Removed that Help text from GUI;
 - Config file (rocknes.ini) included to avoid problems;
 - A few mappers may be broken, so please, report them;
 - Compiled with the newest GCC/Allegro;
 - First release, be patient...

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 * RELEASES 1.xxx

Version 1.960 (03/31/2002) * HAPPY EASTER!
- New sound core, better output and volume mixer;
- Small fixes in the savestate code;
- Added new options to patch/corrupt ROM data;
- Fixed a GUI problem when taking a screenshot (wrong errorcode);
- All video filters (EAGLE, 2xSai) are currently disabled;
- Compiled with newest GCC/Allegro;
- Possibly a few other changes that I don't remember.

============================================================================
 2001 Releases
 *************

Version 1.952 (07/31/2001)
- Fixed the -quit_emulation_button flag (tested).

Version 1.951 (07/31/2001)
- Fixed mapper #44 (tested);
- Fixed GameGenie codes (I hope);
- Added a configurable joypad button to quit the emulator. Edit the config
file (rnsetup.ini) and look for ASSIGNMENTS, -quit_emulation_button;
- Added support to dump CHR locations of VROM type (preliminary);
- Documentation updated.

Version 1.950 (07/30/2001)
- Fixed $6000-$7FFF CPU bank I/O, many broken mappers are working again;
- Fixed a bug on $4003/$4007 writes (sound regs);
- Fixed the number of CPU cycles per sound sample;
- Fixed color emphasis (setting a palette range with no v-sync),
the CMC80's demo works fine;
- Fixed NES movie status flag (damn it);
- Added mapper #44 (1991 Super HiK 7 in 1 384K), untested;
- Enabled 8 sprites per scanline limitation (fixes some games);
- Scanline #0 is being displayed again;
- Fixed pattern table offsets dumping (seeks all VideoRAM banks);
- Fixed a major problem with directories setup;
- Fixed bitmap centering when using SuperEAGLE;
- Re-added kritz' GameGenie core, slightly changed;
- Game information dumping slightly improved (+path and +EOF string);
- Changed the config file extension from rnsetup.CFG to rnsetup.INI;
- Usual cosmetic changes and minor bugs fixed;
- Documentation slightly updated.

Version 1.942 (07/21/2001)
- Fixed ROM information saving (header + CRCs in a text file);
- Fixed mirroring state loading for RSx files (when an unknown value is found);
- Fixed a stupid GUI bug: no more emulation reset when you leave the GUI by
first time;
- Fixed a small flaw in the scanline cycle calculation;
- Fixed a small flaw in the MMC3 scanline counter (from previous version);
- Fixed mapper #68 (Batman: Return of Joker - USA/Jap - works fine again);
- Added a patch to fix mirroring in Super Cars game.

Version 1.941 (07/18/2001)
- The memory leak fix hadn't been enabled! It's ok now;
- Fixed a bug in the mapper #21 (damn it);
- Fixed a bug in the mapper #151 startup;
- Fixed VRCxx IRQ timing for the new ppu timing;
- Fixed sprite #0 hits;
- Added sprite #0 hits by cpu cycle, plus a patch to get VideoMation ok;
- Added floating point for scanline cycle calculation, making the things
near perfect! Rad Racer 2 (and others) works better and no glitched;
- Minor adjustment in the ppu timing;
- Minor fixes in the ppu interface.

Version 1.940 (07/16/2001)
- Fixed file path for dumped items;
- Fixed ppu timing (broken from previous version, fixes scrolling);
- Fixed bitmap centering (640x480);
- Fixed a major problem with memory leak;
- Fixed saved states for mapper #0 games (old and undiscovered bug);
- Fixed RSx state file (removed unnecessary data saving);
- Fixed a bug in the mapper #1 (from previous version);
- Fixed mapper #19 (Family Circuit '91 works fine);
- Fixed MMC3 reset, plus small IRQ timing fix;
- Added full support for mapper #119 (Pinbot and High Speed are playable);
- Added a ppu tweak to get Rad Racer 2 working good (maybe more games too);
- Added support to dump ppu patterns offsets (ROM locations);
- Added support for paged CHR RAM (used by some mappers);
- Added a CPU cycle calculation per scanline (not good, but works better);
- Minor ppu render cleanup;
- Lots of bug fixes, plus more changes for portability.

Version 1.930 (06/28/2001)
- Fixed GUI colors for 16-bit video modes, plus surface clearing (Fx3);
- Fixed a potential bug setting color emphasis and monochrome modes (Fx3);
- Fixed broken EAGLE support from previous version (Fx3);
- Fixed ZIP support, plus added support for GZipped files (Richard);
- Small optimization in the PPU code (Richard);
- More fixes and changes for portability (Richard/Fx3).

Version 1.920 (06/25/2001)
- Started to rewrite the entire source for portability;
- Fixed VRC6 sound output again (added timestamp, works much better);
- Fixed ppu mirroring restoration on state loading (.RSx files);
- Fixed another bug on state loading (bad CHR?);
- Fixed color emphasis reset (thanks Alexandre);
- Added pAPU state saving (+VRC6 sound). Old states are fully compatible;
- Added that old pop-up message system (old request, ok);
- Added SuperEAGLE/Super2xSaI engines (*warning: preliminary and _very slow_
even in a p800 (!), so take care... weird GUI colors too, I know why...);
- Function keys (F1-F12) does not freeze the emulator anymore;
- Removed that PPU timing hack;
- A lot of cleanups and minor bugs squashed.

Version 1.910 (05/19/2001)
- Partial rewrite, squashing lots of problems and bugs (too much for listing);
- Fixed a flaw in the MMC3 IRQ timing;
- Fixed VRC6 output (working nicely now, thanks Alexandre);
- Fixed a bug in the PCM channel, plus $4015 sound register;
- Fixed command line parse, thanks to everyone for the feedback;
- Fixed save state feature (may be incompatible sometimes);
- Fixed tons of GUI problems (+internal Help);
- Fixed config file reading (+small changes);
- Added an option (ROM patch) to fetch the byte value from current address;
- Using last Matt Conte's 2A03 (6502) CPU emulator;
- Source fixed to compile with no warnings;
- Cosmetic changes, plus general optmizations.

Version 1.900 (04/15/2001) * HAPPY EASTER
- Fixed a memory read bug (VS Unisystem ok);
- Fixed mappers #7 (duh), #65, #79, #113, #234 (Maxi-15 works fine), #243;
- Fixed a bug in the noise sound channel (whoo... much better);
- Added mapper #57 support (GK-L01A);
- Added CRC32 display (for PRG/CHR data) in the game info GUI dialog;
- Added directory setup in the config file for dumped data;
- Added a nice tweak to retrieve status (bits) from a number, soft speed up;
- Added patches to fix some map#79 games with wrong mirroring set;
- Added iNES header information save + CRCs in a file (.nfo);
- Changed iNES header fix to work with CRC32 numbers (PRG);
- Changed screenshot format from PCX to BMP;
- Changed some GUI labels;
- Reenabled my MMC3 (mapper #4) IRQ timing code;
- PRG ROM dumping disabled when there are no CHR ROM pages;
- Cosmetic changes, small optimizations and some errors squashed.

Bug-fix on 03/06/2001
- Fixed I/O reads, the VS Unisystem games are playable again.

Version 1.830 (03/05/2001)
- Fixed name garbage when saving files;
- Fixed RAM, WRAM, VROM and CPU registers dumping;
- Added PRG data dumping when no VROM is present (due the request);
- vsync on/off switch was disabled, oops;
- Documentation revised.

Version 1.820 (03/03/2001)
- Most of mapper #5 (MMC5) code has been rewritten, fixing some games;
- Added MMC5 RAM saving/loading (size is always 65536 bytes);
- Fixed NESticle state loading (STA files -- mappers 0,1,2,3 and 4 only);
- Removed that FDS warning at startup (now displayed on FDS loading);
- Some changes for ANSI compatibility, plus cosmetic changes and minor fixes.

Version 1.810 (02/28/2001)
- Rebuilt most of startup sequence, tons of problems were fixed;
- Fixed memory corruption, FDS driver and NES reset;
- Fixed a memory problem in the PPU reset (fixing gfx garbage);
- Fixed HBlank timing for mappers (broken from previous version);
- Fixed mappers #40, #42, #43, #69, #90 (broken from previous version);
- Fixed mapper #67;
- Fixed ROM mapping on $6000-$7FFF memory space;
- Fixed a problem in the config (default inputs settings were not done on
startup);
- Removed garbage from GUI, fixed mapper information box;
- Tons of cosmetic changes, plus minor fixes.

Version 1.800 (02/23/2001)
 - Accurate emulation of sprite #0 hits, improving the compatibility;
 - Removed frameskipping (sorry, no more possible, accuracy over speed);
 - Tweaked the NES timing, fixing a couple of games;
 - Fixed savestate (rsx) code;
 - Fixed a problem setting monochrome mode;
 - Fixed the directories setup (it was not being refreshed on rom loading);
 - Fixed a stupid sprite clipping bug;
 - Added an option in the GUI to display current inputs devices, and
 to restore default settings;
 - Updated 2A03 CPU core (november/2000);
 - Compiled with Allegro WIP 3.9.34, newest DJGPP package;
 - A lot of others fixes and cosmetic changes.

Version 1.703 (01/27/2001)
 - Fixed savestate code to suit big-endian byte order (the MacOS);
 - Fixed EAGLE blitting (removed debug junk);
 - Fixed sprite ram data overflow (oh boy);
 - More fixes to MMC5 (IRQ is working again, sorry).

Version 1.702 (01/22/2001)
 - Fixed trainer support.

Version 1.701 (01/21/2001)
 - Fixed directories setup.

Version 1.700 (01/20/2001)
 - Added ZIP support [katharsis];
 - Small changes in the rom loading;
 - Movie support slightly improved;
 - Added support for mapper #67 (no games are playable);
 - Mapper #5 improved somewhat (only CastleVania3 and MetalSladerGlory work);
 - Mapper #33 improved somewhat (support FlintStones);
 - Mapper #43 (1xx-in-1) changed to number #235;
 - Mapper #48 (SMB2j (LF36)) changed to number #43;
 - Fixed mapper #4 IRQ timing;
 - Fixed mapper #21 (Ganbare Goemon Gaiden 2 has correct gfx);
 - Fixed mapper #68, more games are playable;
 - Fixed mapper #160 (Aladdin -- preliminary IRQ timing control);
 - Fixed mapper #235, thanks to Takeda/nester;
 - Fixed VS Atari RBI Baseball patch on reads;
 - Fixed pAPU timing (was completly wrong, damn it!), output is better;
 - Fixed a PCM decoding bug, plus removed IRQ and cycle eating on queue;
 - Fixed sprite DMA transfer;
 - Fixed state loading (of RSx files);
 - Fixed PPU state at 'power on' (starts at scanline zero), thanks to Ki;
 - Fixed pattern table dumping, thanks snowbro for the bug report!
 - Small PPU optimizations/tweaks;
 - ROM images larger than the header spec may be loaded again;
 - Game screen is no more cleared when video resolution dialog is closed;
 - Added horizontal screen centering using LFB blitter;
 - Added directories setup for everything;
 - Added FPS (frames-per-second) display. Just press F1 to display/hide;
 - Added current video resolution display in the Help->System specs dialog;
 - Mapped F11 key to 'quit to OS' directly;
 - A couple of non-emulation related problems were squashed, plus cleanups;
 - Documentation updated, plus big english errors fixed :-B

============================================================================
 1998-2000 Releases
 ******************

Version 1.600 (11/24/2000)
 - Added a ppu tile caching system, sped up the things;
 - Added a decent savestate format -- NOT compatible with the old ones;
 - Added a new method for noise luts, much clean;
 - Added mapper #180 (Nichibutsu, game Crazy Climber supported);
 - Added preliminary VS UniSystem reads handler (Atari RBI Baseball works),
thanks to xodnizel;
 - Added a cheap hack to get Paris-Dakar Rally Special working (map66);
 - Fixed a major bug in the mapper #40 (SMB2j) reset;
 - Fixed mapper #83 CHR bankswitch (World Heroes2 works);
 - Fixed mapper #232 (BF9096 chip - used by Codemasters' Quattro carts);
 - Fixed mapper #233 (the '20-in-1' half works, 'reset' to active);
 - Fixed nametables dumping (dumping the entire $400 data in a .nam file);
 - Fixed major problems in the sound startup routines;
 - Fixed number of cpu cycles per sprite DMA transfer;
 - Fixed ppu layout (frame starts at VBlank);
 - Fixed ppu latch system and ppu reads, thanks to Ki for his findings
(pass ok in the tests programs).
 - Fixed mirroring state saving (when a mapper uses a custom mirroring);
 - Tweaks in the FDS driver, more games are working;
 - Cleaned up the 16k CHR RAM support code, used by mapper #13;
 - Expanded ROM information display;
 - Whoops, removed "dump pattern addresses" option from GUI;
 - General cleanups to boost the performance;
 - Added a 'secret' mapper, I will tell you later... ;-)

Version 1.500 (11/05/2000)
 - NES sound driver partially rewritten. Added real-time state for register
 $4015, which fixes sound output for all games;
 - Added mapper #76 driver (Namco 109);
 - Added mappers #72, #92, #101 (Taito mappers);
 - Added mappers #83 (Cony mapper), #240;
 - Added mapper #100 (NESticle MMC3 hack mode, untested);
 - Fixed mapper #70 (small hack for Kamen Rider Club);
 - Fixed mapper #113 (to support HES carts);
 - Removed duplicated pattern table saving on games with no VROM.

Version 1.421 (10/18/2000)
 - Fixed a bug on sound reset, the noise channel is now working properly.

Version 1.420 (10/18/2000)
 - Better noise emulation;
 - Added an option in the GUI to save sprite ram within all informations
 for each sprite, like a text file;
 - Added stretched mode, due the request (delete the old config file to
 setup this option);
 - Minor optimization in the scanline blitter;
 - Fixed some GUI options that were working when no game was loaded.

Version 1.410 (10/11/2000)
 - Added mapper #118 (IQS MMC3) driver, now YsIII - Wanderers from Ys
 and Goal! Two are playable;
 - Fixed FDS memory allocation and system startup, major cleanup/rewrite;
 - Fixed FDS image loading. Files with no header should be ok;
 - Added FDS image identification by the NINTENDO-HVC string, removed
 the old one by file extension (required only by images with no fwNES'
 FDS header).
 - Fixed ROM load/free, squashed several mistakes;
 - Disabled MMC3 WRAM control, enabled from previous version.

Version 1.400 (10/09/2000)
 - Small mistakes squashed on FDS driver;
 - Fixed FDS disk writes somewhat, no more 'ERRxx' problems;
 - FDS images with no header present are loadable (you need .FDS extension);
 - Fixed mapper #42, pirate MarioBaby works fine;
 - Fixed frame-IRQs, now there's sound output in DragonQuest games;
 - Fixed a possible memory leak problem;
 - Added WRAM (bank at $6000) dumping;
 - Removed some general junk, more minor changes that I don't remember...

Version 1.303 (09/27/2000)
 - Fixed (this time with sure) trainer support.

Version 1.302 (09/26/2000)
 - Fixed trainer support (bug from previous version);
 - Small mistakes with 'while' loops fixed.

Version 1.301 (09/25/2000)
 - Fixed some problems with FDS driver, more games are playable;
 - Whoops! Fixed broken mapper #43 from previous version.

Version 1.300 (09/24/2000)
 - Fixed a mapper #1 (MMC1) bug, now more games are playable;
 - NES periodic rewritten, much better, fixing tons of games!
 - Adjusted Konami's VRCxx IRQs timing (now 99.9% good);
 - Fixed a nasty NES reset problem;
 - Fixed Famicom DiskSystem emulation, thanks Ki for the docs! Notice that
 your FDS image won't be saved/changed for a while;
 - Sound driver optimized (a bit faster now);
 - As always... more changes and bugs squashed, but I don't remember... :)

Version 1.200 (09/09/2000)
 - Fixed a small problem loading saved states;
 - Fixed sound shutdown (no more crash on exit);
 - Fixed mapper 5 (MMC5) IRQ problem (Laser Invasion works fine);
 - Fixed mapper 19 IRQ timing (game Final Lap works fine);
 - Small IRQs timing fix for VRCxx and mapper 17;
 - New mappers supported, thanks to Scott Wu for Taiwan mappers:
   * #43 - used by 150-in-1 (preliminary);
   * #110 (SACHEN SA-006), used by Honey Peach;
   * #113 (SACHEN TC-005), used by Totsu Geki;
   * #117 (Futura), used by Sango IV (preliminary);
   * #184 (unknown), used by Wings of Madoola;
   * #187 (unknown), used by King of Fighters'96, Street Fighter Zero 2;
   * #189 (FC-001EMC), used by Street Fighter II (YOKO soft);
   * #246 (Taiwan Number 1), used by a couple of chinese games.
 - Pattern table saved in the game directory as "gamename.PT0/PT1";
 - Broken stuff might work again, I hope;
 - More changes and fixes that I don't remember...

Version 1.110 (08/01/2000)
 - Added color emphasis and monochrome mode;
 - Added preliminary frame-IRQ, thanks to Ki for the NES findings;
 - Added tick handler (60FPS when sound is disabled);
 - Fixed frequency sweep on square wave #0, again, thanks Ki;
 - Forced overscan color to be black (fixes that gray around the screen in
 some video modes);
 - Fixed CHR RAM write-protection set by some mappers;
 - NES PSG/VRCVI sound drivers improved a bit;
 - *Final* format to saved games, now with the extension *.RSx (x=0..9), this
 means your saved state will be always compatible with future releases;
 - Changed F1 by ESC to swap to GUI (F1 does nothing now);
 - Fixed movies shutdown when user quits by GUI;
 - Some small internal changes and fixes.

Version 1.100 (07/20/2000)
 - Rebuilt ROM images loading (memory allocation);
 - PSG optimizations and fixes;
 - PCM channel finally fixed, working good with all games;
 - Fixed 22.05MHz sample rate support;
 - Added 48.00MHz sample rate support (if supported);
 - Added sprite RAM dumping;
 - Fixed color RAM dumping;
 - Fixed inputs setup (weird);
 - Fixed some GUI problems;
 - Fixed FDS support, still preliminary;
 - Fixed save/load state to FDS games;
 - Added VS Platoon and VS Golf/Lady Golf palettes (partial);
 - Added full mapper #13 using 16k CHR RAM support (Videomation works fine);
 - Added mapper #42 (bootleg Mario Baby), untested, may be wrong;
 - Added mapper #234 (Maxi-15, no dumps work well);
 - Fixed MMC5 CHR bankswitching, added Fill mode (still preliminary);
 - Mapper #90 slightly improved;
 - Some PPU tweaks to improve the things;
 - More changes and fixes that I don't remember...

Version 1.090 (06/24/2000)
 - Fixed noise frequencies table;
 - Fixed pAPU 'active time left' table;
 - Small PSG optimizations and more fixes;
 - Fixed CHR bankswitching macros (added a few more too);
 - Fixed mapper #23 CHR banks.

Version 1.080 (06/19/2000)
 - Major emulation core cleaned/rewritten;
 - Added mapper #75 (Konami VRC1 / Jaleco SS8805);
 - Fixed mapper #18 (Jaleco SS8806);
 - Fixed mapper #23 PRG bankswitching (oops!);
 - Fixed mapper #24 mirroring set;
 - Fixed mapper #26 (jap. Madara works fine);
 - Fixed mapper #78 (jap. Holy Diver works fine);
 - Fixed mapper #88 (jap. Quinty works fine);
 - Fixed mapper #227 (pirate cart 1200-in-1 works fine);
 - Fixed mapper #228 (gfx corruption, oops!!);
 - Fixed pAPU timing;
 - Fixed noise sound channel (almost perfect);
 - Fixed PCM volume level;
 - Fixed a VRCVI reset problem;
 - Fixed a bug parsing sound rate setting from config;
 - Fixed a bug parsing frame rate setting from config;
 - Fixed a bug parsing game directory from config;
 - Added pAPU reset on NES reset;
 - Rebuilt some PSG stuff;
 - Rebuilt CHR bankswitching (more games are playable, it fixes mapper #90);
 - Fixed PRG/CHR bank mask;
 - More bugs were squashed, fixed some broken stuff due the last updates.

Version 1.070 (06/12/2000)
 - Rebuilt and cleared up NES memory handler system, lots of fixes. Things
should work better than before. Changed a couple of internal stuff;
 - Rebuilt input configurations, much cleaned up;
 - Rebuilt PSG event queue (fixes the NSF player);
 - Minor PSG/FDS code fix/clean;
 - Saved states slightly changed due the memory system changes;
 - NES sound updated at end of frame, instead of VBlank hit (works better);
 - Replaced some 'generic mappers id' by 'board names', when possible;
 - Added mapper #94 (Senjou no Ookami, jap. Commando);
 - Added mapper #97 (Kaiketsu Yanchamaru, jap. Kid Niki);
 - Fixed a minor mapper #5 (MMC5) startup problem;
 - Fixed mapper #113 (=#79, Rad Racket works, other games may be buggy);
 - Fixed a backed battery problem;
 - Fixed VROM dumping (file is saved in the same folder that ROM image is,
with ".chr" extension, instead of generic "vrom.dmp");
 - Changed nametable dump (filename) to use ".nam" instead of ".ntb";
 - Removed "vsdir" from config file (no more used);
 - Updated with latest 6502 core by Matt Conte (supports all 256 opcodes).

Version 1.061 (05/27/2000)
 - Added RAM dumping;
 - Fixed ROM cheat to wrap values greater than 255, and higher addresses;
 - Changed CHR bank masking on mapper #3;
 - Fixed initial mirroring state (it was wrong loading saved states);
 - Fixed minor bugs in the PCM channel;
 - Fixed MMC5 to get (at least) CastleVania3 working with no gfx corruption;
 - Fixed a PSG (sound) shutdown bug.

Version 1.060 (05/11/2000)
 - Added partial support for NESticle saved states (*.STA);
 - Added signed noise output (very good);
 - VRC6 sound driver slightly cleaned;
 - Fixed sound output and constants values;
 - Fixed a bug parsing '-sound_rate' from config ('no sound' is ok again);
 - Fixed soundcard name display (when 'no sound', it displays '-off-');
 - Fixed saving/loading states to mappers 5, 19, 90 and 230 data (specific);
 - Mapper #1 (MMC1) rewritten, added 512k support (DragonWarrior 3 & 4 works);
 - Mapper #5 fixed somewhere (more games work, still very bad);
 - Mapper #11 CHR page mask fixed (no more gfx corruption, I hope);
 - Mapper #25 rewritten/fixed, now TMNT2j works;
 - Mapper #32 mirroring fixed (Image Fight works fine again);
 - Mapper #69 fixed (added command 8, now game 'Gimmick!' works);
 - Mapper #90 slightly cleaned/fixed;
 - Added mapper #6 (preliminary support);
 - Added mapper #73 (Konami's VRC3, japanese Salamander);
 - Added mapper #160 (Aladdin cart), preliminary support;
 - Added mapper #232 (Codemasters' Quattro games, *does not* work yet);
 - IRQ timing updated at end of h-blank (works a bit better);
 - Fixed Metal Slader Glory gfx glitch (right side of screen), IRQ related;
 - Added ROM data cheat;
 - Added CPU dumping (of registers), color palette, patterns, nametables;
 - GUI now supports .NES, .NEZ, .BAK and .FDS extensions;
 - Added more help text in the 'Help' dialog;
 - This document was updated/changed a bit;
 - More minor problems were squashed.

Version 1.052 (04/08/2000)
- Rebuilt startup/shutdown sequence and GUI handling;
- Crappy mirroring fix for mapper #70 (Arkanoid2 and Kamen Rider Club ok);
- Added image size checking (it compares the real size with the header spec);
- Added mapper #230 (22-in-1/Contra, working);
- Fixed mapper #227 (1200in1 cart works, still partial);
- Fixed trainer support (battery loading related);
- Fixed a couple of non-emulation bugs to avoid memory problems/crashing;
- Fixed screenshot (disabled when no game loaded);
- Final (and better) save state format;
- GUI color changed to a soft green;
- More changes and general bug fixes.

Version 1.051 (04/02/2000)
- Fixed mapper #41 (Caltron 6-in-1 works fine);
- Added mirroring control to mapper #33 (not sure if correct, game Insector X
seems to look better);
- Fixed minor GUI glitches.

Version 1.050 (03/30/2000)
- Compiled with the newest DJGPP (everything's much better), hence LFN
(Long FileNames) are supported;
- Fixed a CHR switching bug from 1.04 in mapper #1 (Bigfoot is ok again);
- Fixed a stupid CHR/PRG page select bug in mapper #255 (more games work);
- Fixed PRG bank switching (some values were being truncated);
- Fixed MMC3 (mapper #4) 4-screen mirroring (Gauntlet works fine), and a bug
with CHR bankswitching, now Taito Chase HQ works with no gfx corruption;
- Added/fixed mapper #19 support (preliminary, thanks Nori for the info);
- Fixed mapper #70 (mirroring bug);
- Added mapper #41 (Clatron / Myriad Games 6 in 1 unlicensed cart), untested,
thanks to Kevin Horton for the info;
- Removed SaveRAM write-protection when a trainer is present (hacked japanese
Parodius works fine again);
- A couple of bugs fixed, general junk removed, a lot of code cleaned;
- Documentation slightly changed.

Version 1.042
- Fixed PCM output for better RAW sound (good);
- Small change compiling the binary, tell me if it's better (faster?).

Version 1.041
- Fixed crashing problem when 'no sound' is set, oops;
- Some fix for 'save state' (it may have problems yet);
- Some cosmetic changes in the sound core.

Version 1.04
- Using Matt Conte's 6502 CPU core (faster);
- Rebuilt a lot of stuff to suit the new CPU core (more games should work);
- Rebuilt some sound stuff (output fixed, waves are correct);
- Sound timing slightly changed (RAW PCM works, still buggy in some games);
- Fixed no sound problem when you swap to GUI and back to game;
- Fixed sound system reset (no more 'sound' when 'no sound');
- Fixed VS Excitebike palette (looks nice in tracks 5,6,7);
- Fixed mapper #68 (mirroring was disabled, blah);
- Fixed mapper #225 (58-in-1 works fine);
- Fixed mapper #226 (76-in-1, working with no problems);
- Fixed mapper #228 (Cheetahmen II works);
- Fixed mapper #233 (42-in-1 cart, partial, just the first half/22 games);
- Added mapper #229 support (31-in-1, working with no problems);
- Added mapper #255 support (110-in-1, some games still don't work);
- Added preliminary FDS support (mapper #20);
- Changed VBlank & NMI scanlines (VS Excitebike ok, more games work too);
- GUI fully rewritten (using Allegro's routines yet, btw);
- Removed more junk code, tons of cosmetic changes and minor bugs out;
- Updated help display, documentation updated.

Version 1.03

- Added MMC5 IRQ modes 0 & 1 (Castlevania 3 and Metal Slader Glory works);
- Added NES sound frequency sweep (Mario jump sound works);
- Fixed MMC5 CHR bank switching (no more glitches);
- Fixed a color bug with VS Excitebike (black instead of blue);
- Fixed 4-screen mirroring set when you load a state (*.RNx), ok;
- Fixed RAM saving when you save a state ($0800-$1000 block fills the RAM);
- Keyboard & joystick can be enabled (like p1 as joystick, p2 as keyboard);
- Added joystick calibration on startup (check rnsetup.cfg for information);
- Adjusted mapper #40 IRQ timing to fix the 'cloud glitch';
- Removed screen clearing (bitmap is always cleared with black);
- Added vsync, joypad calibration and bitmap blitter select in the config;
- Default bitmap blitter changed to old blitter (more compatible);
- More minor problems has been fixed, some junk removed.

Version 1.02

- New IRQ handler system (using 'hooks');
- Fixed MMC5 support (CastleVania 3 US works, still unplayable);
- Added mapper #226 support (76in1 cart, partial);
- Added mapper #227 support (1200in1 cart, does not work);
- More minor bugs fixed.

Version 1.01

- Fixed a CPU bug (from 1.0, IRQ related), and some others;
- Fixed mapper #40 IRQ timing (SMB2j works correctly);
- Fixed machine 'reboot' problem caused by some mapper #4/#64 games (argh!);
- Fixed a problem with mapper #7 (PRG page select, from 1.0);
- Fixed some problems with mapper #64;
- Fixed mapper #85 (major problem, Lagrange Point works);
- Fixed some problems with mapper #225 (58/110-in-1, working again, woohoo!);
- Fixed some problems with mapper #231 (Wally Bear and the No! Gang works!);
- Fixed a config problem (joypad type were ignored if >11);
- Fixed a major bug with battery support ($6000);
- Changed (again) VBlank/NMI scanline hit (more games work, others not yet);
- Added NES sound envelope volume control (the output is _too_ much better);
- Added IRQ control to mapper #65;
- Added mapper #91 (preliminary, bad IRQ support, but the pirate game
Street Fighter III is playable).
- Started MMC5 support (does not work yet);
- There's mapper #233 (42-in-1) support since 1.0 (oh my memory!);
- More fixes and minor changes;
- Please, send me your feedback! It's important! Thank you.

Version 1.0  

- Added 5th NES sound channel (PCM), preliminary support;
- Added Konami's VRCVI extra sound chip emulation;
- Added mapper #40 support (the FDS SMB2j 'lost levels' hacked to NES format);
- Added mapper #90 support (Super Mario World), preliminary;
- Major sound rewrite/fix, very optimized, too much better;
- Screen clearing fixed (I hope);
- PPU render optimized, slight speed increase;
- Current palette is correctly restored if the resolution is changed;
- Reset disabled if a NES movie is in use;
- Fixed RAM r/w and mirroring (Joe&Mac works good);
- Fixed VBlank/NMI scanline hit;
- Fixed some CPU bugs (opcodes, NMI and IRQ), still buggy and slow;
- Fixed a config bug getting videocard selection (working again);
- Fixed a crash problem with 320x200 resolution (PSG related);
- Fixed NES image center using the old blitter;
- Fixed Load/Free ROM shortcuts in the GUI display;
- Fixed some GUI glitches/problems;
- Fixed 'load error' when mapper is not supported;
- Fixed a major mirroring problem (4-screen layout), now more games should
work fine ('Rad Racer 2' looks too much better). The mirroring system has
been changed a bit to fix this problem;
- Fixed VRAM address range (game 'The FlintStones' works fine again);
- Fixed a major pattern table overwriting bug that causes no background in
some games, such as mapper #4 (games 'Cowboy Kid' and 'Fantasy Zone' work);
- Fixed a major mapper #4/#64 bug, now Mickey's Safari works fine again, more
games are working good (TMNT2 has no more glitches);
- Fixed a mapper #85 CHR glitch (Lagrange Point has perfect title screen);
- Fixed trainer support (overwrite data problem);
- Found 'Castelian' hang problem (PCM related), but unable to fix it yet;
- Mapper startup/hooks stuff rewritten;
- Screenshots enabled (hit F12 to save a PCX);
- Removed ctrl+G 'ghost' (does nothing and it crashes the emulation);
- Removed 'Free ROM' GUI option (not useful);
- Added a new way to save pcx files (it does not take emulation time);
- Added a new main NES palette, very closed to NES, thanks to Chris Covell;
- Added VS SkyKid and VS Dr.Mario palettes (check menu item CPU->Palettes);
- Added mirroring control to mapper #66 (not sure if correct);
- NES movies are closed if you quit to OS (at any status);
- PlayChoice-10 games should work fine (.NES format).

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 * RELEASES 0.xxx

Version 0.991

- Fixed a crash problem of mapper #0 games writting to $8000-$FFFF (?), now
Ms PacMan (Namco version) works;
- Fixed a couple of mirroring bugs in the mappers;
- Fixed NES hard reset (I hope);
- Key F5 enabled for NES reset;
- Moved a lot of stuff (internally) to avoid too much public stuff;
- GUI items not finished are not displayed for a while;
- Added VS Unisystem palettes selection in the GUI;
- Removed some junk code and minor GUI glitches.

Version 0.99 ~ 1/5/2000

- Added a basic GUI, missing some items (to be completed);
- Major rewrite. Things should work too much better than before;
- Removed command line switches (at least for a while);
- A lot of stuff fixed. Saved states and Movies has a final format;
- Added player #2 joypad logging for Movies;
- Mappers added: #21 (Wai Wai World 2) and #85 (Lagrange Point, partial);
- Most of mappers were fixed (except mapper 65, I haven't full info);
- Rebuilt all virtual NES emulation (loading, reset, memory setup etc.);
- Fixed some IRQs (on Mapper #4) and some scrolling problems;
- Fixed palette mirroring, thanks to [Delta] for the info;
- Fixed screen layout (VBlank start scanline, NMI scanline);
- Added a sound fix to kill long notes problem (should cut off something);
- Currently, you can't change the number of cycles per scanline (113) or
scanlines per frame (262).

 =-=-=-=-=-=-=-=-=-=-=-=
  missing news entries!
 =-=-=-=-=-=-=-=-=-=-=-=

RockNES (xNES) 0.53 Release 3 (08/23/1998)
------------------------------------------
- Fixed a bug in the 6502 (non-decimal mode, thanks to \FireBug\).
- Some changes in the sprite/BG code.
- The screen is correctly centered for now.
- Maybe more games are working (Power Blade 2) or with a bit less graphic glitches
(Tegen Tetris).
* Release 3b fixes a bug in the PPU, Ghosts'n Goblins is playable.

+-----------------------------------------------------------------------------------------+
| * On August 22nd 1998, the xNes emulator has been renamed to RockNES to avoid confusion |
| that lead some people to believe that it was for Unix.                                  | 
+-----------------------------------------------------------------------------------------+

xNES 0.53 Release 2 (08/22/1998)
--------------------------------
- Fixed a bug in the sprite code.
- More bugs fixed in the 6502 functions (Read/Write).
- Little changes in the main code.

xNES 0.53 (08/22/1998)
----------------------
- Removed tons of unused variables
- Big clean of source code;
- Fixed a bug in the PPU (background color, now Rockman 1 is okay)
- Frameskip range set to 0-6 (default=2)
- Fixed some bugs in the 6502 functions (Rd/Wr/loop)
- Fixed a bug in the Mapper 7 (incorrect name table)
- Fixed a bug in the Reset_Nes()
- Fixed the shutdown function (TrashMachine)
- Fixed a bit the current graphic engine
- Screen is always centered in any video mode
- You can hide the .NES extension (ex: xnes gamename OR gamename.NES)
- 5-15% more faster

Version 0.52 (July, 1st 1998)
- Compiled with PGCC (for Pentium processors);
- Fixed bugs parsing command line switches;
- More video resolutions, with all modes merged to -gfx switch.

Version 0.51 (June, 29th 1998)
- Encapsulated xnes.dat (palette);
- Added joystick support (4-buttons, player 1 only);
- The emulator doesn't crash more when unable to initialise graphics modes;
- Primitive GUI removed to be improved;
- New resolutions, with auto detection improved (a bit faster);
- Some changes in the messages.

 * xNes project has been resumed.

[[You're reached the bottom of this trench]]
//eof
