........................  
 Welcome to century XXI    RockNES - A NES 8-bit emulator for DOS.
........................   Copyright (c)1998,1999,2000,2001 -= Fx3 =-
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

History of past updates:

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

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).

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

- 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).
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
//eof
