0.6.5:

	PCE:  Made a small optimization to HuC6280 emulation by caching the CPU speed shift-left cycle count adjust value.

	Removed an old kludge for Win32 that worked around an SDL problem in which the window position would be off-screen when
	switching from fullscreen to windowed mode, as I think the problem is fixed in SDL 1.2.10.

	Reworked the signal handling code to be included if HAVE_SIGNAL is defined instead of if WIN32 is not defined, and added #ifdefs around
	each possible signal(as some platforms don't provide #define's for some signals).

	PCE:  Added setting "pce.cdspeed" to set a CD-ROM data transfer speed multiplier.  PLEASE READ THE DOCUMENTATION FOR CAVEATS.

	PCE:  Fixed CD-DA and ADPCM fadeout speed when setting the "pce.ocmultiplier" setting to a value other than 1.

	Cleaned up the multi-res blitting code in drivers/video.cpp to not cause crazy compiler warnings(and not be crazy in general!).

	PCE:  Fixed the ADPCM playback rate formula(the result was off by about 0.27%), thanks to Charles MacDonald for detailed information.

	Began work on implementing several OpenGL pixel shaders, which will be finished in a later release.

	Mednafen no longers directly links to the OpenGL library, instead it uses SDL's OpenGL library loading and function address functions.

	Reverted back to pow() and cos() from powl() and cosl() in Blip_Buffer.cpp, due to some platforms not having long double types per se,
	and adjusted the code activated by setting "pce.adpcmlp" to call Blip_Synth::treble_eq() with a "treble" value of a lower magnitude, which
	might result in a slight difference in the ADPCM frequency spectrum produced when "pce.adpcmlp" is enabled.

	Fixed "Value increased" cheat search method(it was acting the same as "Value decreased", oops -_-).

	Changed the usage of fix-sized filename component arrays in general.cpp with string objects.

	MDFN_printf() and MDFN_PrintError() now use trio_vaprintf() instead of trio_vsnprintf().

	NES:  Added setting "nes.n106bs", which when set, will enable less-accurate, but better sounding, Namco 106(mapper 19) sound emulation.

	NES:  Fixed save states for mapper 69 games(mirroring and prg bank setup wasn't being saved and restored).

	NES:  Added support for multiple expansion sound chips used simultaneously in NSFs, including limiting the address space they
	will respond to when multiple expansion sound chips are used(to prevent collisions between VRC6 and VRC7's address space, for example).

	PCE:  Fixed CD-DA playback speed when setting the "pce.ocmultiplier" setting to a value other than 1.

	NGP:  Changed the default full-screen video settings, so that the scaled image size is no longer larger than the
	display area(oops -_-).

	NES:  Added support for UNIF board "UNL-603-5052"(thanks to CaH4e3).

	NES:  Fixed mapper 115, "Thunderbolt 2" now works(thanks to CaH4e3).

	NGP:  Sound emulation now respects global sound volume setting "soundvol".

	NGP:  Added missing setting "ngp.forcemono".

        PCE:  Physical CDROM device names will now be printed on Mac OS/X on startup again.  Physical CDROM access seems to work,
	but the DarwinPorts libcdio 0.75 package appears to be horribly broken, so please remove it and install 
	libcdio 0.77(or higher) from its source code.

	NGP:  Fixed a few major problems with NGP emulation on big-endian platforms(such as PPC OS/X).

0.6.4:

	Added somewhat experimental Neo Geo Pocket(Color) emulation based off code from NeoPop, heavily modified.

	GB:  Fixed frame rate when sound is disabled.

	Added →, ←, ↑, and ↓ characters to the Lynx, GB, GBA, and PC Engine directional button names used for button configuration, to match the NES button
	names.

	PCE:  Added setting "pce.adpcmlp", default value 0, that when enabled, will cause Mednafen to apply a lowpass filter to ADPCM sound output
	with a rolloff frequency dependent on the current ADPCM playback frequency.  This makes ADPCM voices sound less "harsh", however, the downside
	is that it will cause many ADPCM sound effects to sound a bit muffled.

	PCE:  Moved the OpenGL screen clearing code into the FlipOpenGL() function to fix a problem with some PCE games that use
	multiple resolutions per frame having a partially corrupted screen when the OSD was up.

	PCE:  Fixed save state loading with save states created during a CDROM data transfer.

	Fixed a bug that was causing flickering OSD remnants to remain onscreen in fullscreen mode if the OSD was drawn outside of
	the game screen area.

	Fixed a bug in the resizing code for save state previews that was causing save state previews for the NES, GB, GBA, and Lynx to look absolutely
	horrible.

	Assigned the two keys "-"(not the numpad instance) and "=" to functions "decrement selected save state slot" and "increment selected
	save state slot", respectively.

	Removed the checks preventing save state usage when playing NSFs, since save states may be useful with NSFs in some circumstances.

	Added a new setting "ckdelay", which controls the length of time, in milliseconds, that a button/key corresponding to a 
	"dangerous" command like power, reset, exit, load state, etc. must be pressed before the command is executed.  The default value is 0.

	Input mapping configuration is now saved after argument parsing if there is no game to be loaded, allowing a command like 
	"mednafen -inputcfg pcegamepad1" to work properly.

	The message "Configuration finished." will now be displayed when button mapping for the selected input device is complete when
	using the in-game configuration process.

	PCE:  Fixed a bug in the debugger involving disassembling block memory transfer instructions(effectively, the length was being
	fetched 1 byte too early).

0.6.3:

	SexyAL:  Fixed buffer write memcpy() optimization to also check to make sure the input and output byte orders are the same.

	PCE:  Added setting "pce.forcemono" to force monophonic sound output.

	Added setting "analogthreshold", which is the threshold for detecting a "button" press on analog axis, in percent.  The default
	value is 75(%).

	Worked around a very odd "bug" in gcc that involved muddling of local-scope structure definitions among different object files(
	the structure previously named "BPOINT" in both NES and PCE emulation code), which led to breakpoints with NES emulation being
	totally fubared.

	Added graphics memory dumping capabilities to the debugger.

	PCE, NES: Save states and powers/resets in debugger step mode SHOULD work properly now.

	Fixed a potential deadlock when exiting.

	Various debugger fixes.  I lost the ChangeLog, sorry. -_-

0.6.2:

	PCE:  Physical CDROM device names will no longer be printed on Mac OS/X on startup, due to the code crashing badly(rather than goodly!).

	OpenGL texture heights are now rounded up to the nearest power of 2(texture widths already had this rounding in previous versions),
	which should fix special scalers on video output devices that don't support non-power-of-2 textures(IE most video cards and Mac boxen).

	PCE:  The libcdio sector reading functions are now checked for return values < 0 as errors, rather than != 0, to fix
	problems under Linux and possibly many other OSes where the return value is something like 2048(the number of bytes read, presumably).

	PCE:  Fixed a bug with disassembling block memory transfer instructions on < 64-bit systems(I had forgot to type-cast a variable
	to uint64 before left-shifting it past 32-bits).

	PCE:  Added the implied form of INC to the disassembler.

	NES:  Removed the PRG mask constraint for UNROM/mapper 2, introduced in version 0.2.0, to fix the Japanese "Maniac Mansion" and possibly
	other games.

        PCE:  Fixed debugger write breakpoints.  The code had a logical error in it, with the end effect of preventing stack writes in the IRQ
        sequence, causing games to crash.

0.6.1:

	PCE:  The HuC6280 disassembler now gives @ZP hints for BBR and BBS instructions.

	NES:  Increased the effectiveness of frame-skipping.

	Removed unnecessary sound buffer copying if the source format == device format in SexyAL, which is true most of the time.

	Fixed a bug that was causing a crash in the cheat interface when trying to list cheats, under Win32.

	Fixed a bug in the settings loading code that forced the user to resort to manual creation of ~/.mednafen/mednafen.cfg on 
	some operating systems(*BSD, OS/X).
	It was being caused by 'errno' being modified between the attempt to open the settings file, and the test 'if(errno == ENOENT)'.

	Silent sound will now be outputted when in step mode in the debugger.  Windows users' ears rejoice!

	Added a strtod() replacement that recognizes both "." and "," as valid radix characters, regardless of the current
	locale, and modified settings.cpp to use it.

	Lynx:  Removed some unused code.

0.6.0:
	The internal sound format has been changed to 16-bit from floating-point to improve performance,
	especially on processors without FPUs.  There should be no perceptual nor measurable
  	loss in sound quality.

	Removed fidlib from the source code tree, as it is no longer used.

	Lynx:  Switched over to Blip_Buffer's lowpass("treble") capabilities from fidlib.

	PCE, NES:  Added a debugger of DOOOOOM.

	PCE:  Altered timer emulation slightly.

	PCE:  It is now possible to load CDs simply by specifying the CUE file, or device, as you would with a ROM image, like so:
		mednafen /dev/cdrom
		mednafen /home/sauron/games/Ys/Ys.cue

	Added MusePack CD-DA playback(IE audio tracks encoded as MPC data) support.

	Added legal information to the end of the documentation, though it's likely incomplete.

	Switched over to using an internal copy of the "Tremor" decoder, and dropped dependencies on the ogg and vorbis
	external libraries.

	The CD-DA reading function now provides sound data as 16-bit signed samples in the endian format native to the
	host platform.

	PCE:  Changed two often-used CDROM timing variables from int64 to int32 to try to improve performance slightly on non-64-bit platforms.

	PCE:  Added a hack that changes subtle CDROM unit behaviour when the game "Sherlock Holmes" is loaded, so that the aforementioned game
	will work.  In general, I really, really
	dislike hacks of this nature, but I think it's justified until I have a better understanding of the (complex) PCE CD
	functioning.

	PCE:  Lowered CDROM data transfer rate, and removed the kludgey one-time delay in the sector reading function.

	PCE:  Altered ADPCM write delay to be inversely proportional to the playback frequency selected.

	GB, GBA and Lynx save-state previews are now saved at native resolution, instead of scaling down to 1/4 of the native resolution.

	NES:  Fixed a mapper 96 initialization problem.

	NES:  Implemented blargg's NTSC graphics filtering code(version 0.2.0).

	The setting "sounddevice" will now select which filesystem entry(like "/dev/dsp" or "/dev/adsp") to open when using the OSS output driver.

	NES:  Changed the internal sound channels high-frequency mixing buffer to 16-bit, from 32-bit, to try to increase performance
	on cache-starved processors.

	Added a simple, non-ideal(it increases CPU usage measureably because it dirties the OSD surface and causes it to be redrawn)
	FPS display, toggled with SHIFT+F1.

	PCE:  Added "hes" and "pce" to the file extensions looked for in ZIP archives in the file loader.

	NES:  Added support for iNES mapper 38.

	Lynx:  The lowpass filter can now be optionally disabled by modifying the "lynx.lowpass" setting.

	ROM sizes, MD5 hashes, and CRC32 checksums are now printed out for all systems emulated
	by Mednafen.

	Rearranged the file loader detector to attempt to load the file as a GBA game last, since the GBA cart-detection
	code *could* give false positives if the game isn't a GBA game.

	PCE:  The 2KiB of BRAM is no longer mirrored across the 8KiB segment 0xF7, fixing "RAM is full" problems
	with Exile 2.

	PCE:  Fixed MD5 hash calculation for CD data tracks.

	Added settings "gb.forcemono" and "gba.forcemono".

	Lynx: Cleaned up the code.

	The MD5 hash is now calculated for GBA and Lynx games, and the correct MD5 hash is now used in filenames
	(the nibbles in each byte were swapped previously).
	***NOTE***
	Save states and save games created in previous versions of Mednafen will have different filenames than the current version.
	To do a quick-and-dirty fix, simply remove the MD5 hash component from the filename as such:
		rename somegame.7e74d04f2d147f03061d447310b109ec.sav somegame.sav

	Changed autofire behavior to have the button set on half the frames in the autofire period, rather than just one frame.

	NES:  Changed the background clear color to light blue(from black) when the background is disabled by the user, and
	fixed background and sprite disabling by the user to not lock up some games that depend on sprite hits.

	GBA:  Updates from VBA's CVS:
		- bios.cpp : corrected a bug in registerRamReset.
		- gba.cpp/gbainline.h : corrected the mirroring of Vram.
		- gba.cpp : changed slightly the emulation of gbasavetype.
		- RTC.cpp : vba now ignores rtc command 0x64.

	GBA:  Reduced input latency by one frame.

	PCE:  Reworked the frame/scanline counter loop to run NMI first, and then draw the active frame area, to reduce input
	latency by one frame.  Most games keep the vblank starting line outside of the TV's visible display area, but a few(like Dracula X)
	have vblank occurring on a scanline that the VDC is still outputting a signal to the TV for.  If a game alters its overscan color regularly, 
	and vblank is set to occur rather early, there might be a slight tearing effect at the bottom of the screen.  Note that this is a very minor
	problem, and is more than offset by the reduced input latency, though I thought I should mention it so I won't go crazy in the
	future trying to debug the oddball game. ;)
	Note that this change may cause compatibility problems with PCE save states created in older versions of Mednafen.

	NES:  Fixed several PPU sprite RAM and VRAM read and write operations to pass blargg's tests.

	NES:  Altered how the color to be blitted is decided when screen rendering is disabled to fix blargg's 410 color demo.
 
	Fixed scanlines to be aligned correctly(scanline darkening over the pixels that are interpolated between rows) when bilinear interpolation is 
	used, at least on my nvidia card.

	Floating-point/real number settings are now validated and checked to be in range.

	PCE:  Rewrote SuperGrafx VPC priority evaluation code to work correctly with http://pcedev.net/demos/Sgx3b.zip which was tested
	on real hardware.

	Simplified the OpenGL blitting code.

0.5.2:
	Modified the PCE code to only include header files that are needed.

	Fixed a memory leak in the state saving code.

	PCE:  Closing HES music files will no longer produce battery-backed RAM files. x_x

	Fixed a memory leak in the state loading code.

	Reduced memory slightly in the text rendering code by using all the bits available in the array(instead of the lower bit of each byte)
	that tells if a glyph is available or not.

	Modified the internal message display code to allocate and free space for the message being displayed, rather
	than using a rather small static array.

	PCE:  Fixed a small bug that would cause 1/75 second or less of the old CDDA track to play when switching to a new CDDA track.

	PCE:  Changed how reads from $0000 are handled, and made vblank occur slightly later in the frame, to fix Valis 1.

        PCE:  The CD reset function of $1804 now clears more variables, fixing problems with lockups when using the START+SELECT
        soft reset in the middle of a data read.

        Finally fixed the endian conversion code so that save states(and netplay) are compatible between big-endian and
        little-endian systems.
        **NOTE** Save states created in previous versions of Mednafen on big endian platforms(such as OS/X PPC)
        will no longer work in this version.

	Removed the tech documentation from the source code distribution.

	Truncated the ChangeLog to the first Nintencer release.

0.5.1:
	Fixed a crashy bug with hq2x, hq3x, and hq4x when using big-endian systems, or when the "vdriver" setting is set to "1".

0.5.0:
	Added a frame-advance feature.  Press ALT+A to enter frame-advance mode, and subsequently to advance frames, and ALT+R
	to exit frame-advance mode.

	The current machine state is now saved at the end of movies, to allow for the future implementation
	of the seamless continuation of an already recorded movie.

	PCE:  When loading from a physical disc, auxillary data(save states, movies, etc.) prefixes should now always be "cdrom",
	rather than "cdrom" for the default device and the given name for other devices, because this(previous) behavior
	caused problems under Win32(where colons couldn't be used in filenames).

	NES:  Fixed FDS sound output(it was technically outputting before, but the volume was so low as to be inaudible).

	NES:  The disk system BIOS can now be in iNES format.

	NES:  The Game Genie and FDS ROM image loaders can now load the ROM image from a gzip or zip compressed file.

	Revised the documentation to remove misleading statements(that applied to FCE Ultra) and add some missing information.

	Updated the command-line section of the documentation with warnings and notes regarding settings, network play,
	and movies.

	PCE:  Fixed more bugs with CD reading when sound is disabled.

	Loading a save state while recording a movie will now embed that save state in the movie file.

	PCE:  Save state previews are now generated with correct horizontal linear interpolation, fixing icky
	blockiness.

	NES:  It's now possible to record movies with any virtual input devices(like the Zapper), though the nes.input1,
	nes.input2, and nes.fcexp settings must be set the same as they were at recording time, before playback.

	NES:  All currently used expansion input devices are now saved in save states(before only gamepad data was saved).

	Added a network play setting to merge all local input into one virtual remote input(via inclusive OR on the
	server), to allow for those UTTERLY SILLY games that support multiple players on one gamepad/joystick.

	Worked around an SDL bug(or feature? :b) that was causing events to be processed by SDL
	instead of Mednafen when SDL_JoystickEventState() is called.

	Scrapped the old movie format from FCE Ultra, and replaced it with a simplified version
	that simply writes the joystick inputs to the movie file stream each frame, and
	lets zlib handle the compression and encoding.  This is incompatible with the old
	format, sorry.

	Movies are now stored in the right directory finally(mcm vs mcs).

	Rewrote most of the on-screen display code to work with a separate 256x224 buffer that is scaled and blitted
	independently of the main game's video output buffer.  Note that if you have OpenGL disabled(via "-vdriver 1"),
	the overlay will not be scaled.

	PCE:  Added support for multiple resolutions per frame, as used in such games as "Asuka 120%"
	and "Ryuuko no Ken".

	PCE:  Adjusted the internal resolution(and outputted aspect ratio) slightly when using the ~7MHz dot-clock.

	PCE:  Added movie recording support.

	PCE:  Adjusted ADPCM volume.

	PCE:  Fixed left overscan clearing and disabled background lines clearing.

	The trio code is no longer compiled with -ffast-math.

	Removed netplay divider support(it didn't really work all that well anyway), and removed it from the server as well.

	PCE:  Changes to the IRQ masking register are now delayed by one instruction, thanks to D. Michel
	for the information.

	Status messages are now displayed for 2.5 seconds, rather than 180 frames.

	Changed save state display timing from frames to seconds, and set it to display for 2 seconds
	after a number is pressed(previously it was around 3).

	Added the following settings:  nes.ggrom, path_snap, path_sav, path_state, path_movie, path_cheat, path_palette.

	Changed the data types of "bool" variables that are saved in save states to uint8, to address more
	cross-platform save-state compatibility issues.

	Fixed a problem with save states on big-endian platforms(was dividing by sizeof(uint32) instead of sizeof(uint16)
	in a few places).

	Fixed hq2x, hq3x, and hq4x filters on big-endian platforms.

	PCE:  Pushing the virtual reset or power button during CD reads will no longer cause the emulator to fail on
	subsequent reads(a few variables weren't being reset properly).

0.4.9:

	GB/GBA:  Added configurable rapid fire buttons for virtual buttons A and B.

	NES:  Disabling the background now works properly(it no longer also disables sprites!).

	PCE:  Disabling background layers now replaces that layer with an obnoxious green color that shouldn't be used by any games, 
	to make sprite ripping easier.

	Added settings "fftoggle" and "ffnosound", to make the fast-forwarding button a toggle switch, and to silence
	sound during fast-forwarding, respectively.

	PCE:  CDDA playback interrupt and looping enabled flags are now reset properly, fixing a lockup that occurs when facing a boss
	in Valis 2, and possibly other games.

0.4.8:
	PCE:  Loading a physical CD will now print out a list of available devices.

	NES:  Blip_Buffer's highpass filtering capabilities(for DC-offset removal) are now used instead of a custom function.

	Modified the included libintl so that it will compile on Mac OS/X.

	The "trio" subdirectory should(I can't test it) now be compiled with -mieee on Alpha architectures, 
	fixing a compilation error.

	NES:  Fixed long-standing graphical problems with some sprites in (Mike Tyson's) Punch-Out.

	Removed "#include <samplerate.h>" from cdromif.cpp and cdromfile.cpp, since I forgot to in 0.4.6.

0.4.7:
	Fixed the NES PPC AltiVec resampling code by properly aligning an output array.

	Fixed NES sound emulation on 32-bit platforms(omitting the buffer size to Blip_Buffer::set_sample_rate()
	was causing an assert to go off on <64-bit platforms).

0.4.6:

	Dropped the libsamplerate dependency.

	NES:  Replaced the resampling code from the intermediate frequency after FIR resample with Blip_Buffer.  The only
	audible effect seems to be a slight lowpass filter effect.

	PCE:  Integrated the CDDA playback code into the main PCE CDROM emulation code by using Blip_Buffer.

	PCE:  Removed the compressor and cddaquality settings.

	Updated the Russian PO file, mostly to remove or fix grossly incorrect "fuzzy" entries.
	Added an incomplete Spanish(Spain) PO file.

	PCE:  If a data sector read from a physical disc fails, it will be reattempted continuously until it succeeds,
	or the user presses the exit key(F12 by default). (note that this may appear to lock up Mednafen, but the
	exit key will still work)
	This *should* fix problems with physical PCE CDs under Mac OS/X and MS Windows.

	Merged trio(http://daniel.haxx.se/projects/trio/) into Mednafen to fix format-string problems
	on non-glibc systems(MS Windows for example!).

	GB:  Modified the APU emulation code to silence a gcc warning.

	PCE, Lynx, GB, GBA:  Doubled the size of the Blip_Buffer phase offset table for slightly higher sound quality.

	PCE:  Fixed ADPCM playback code for when sound is disabled(it was ultimately causing a crash in earlier versions).

	Converted the MD5 functions to a class.

	Fixed(hopefully) compilation on non-Apple PowerPC systems.

	Fixed save-state support for saving/loading arrays of 16-bit and 32-bit variables(the hints were already there,
	but the code to handle the hints was nonexistant).  Note that this change will cause incompatibilities between old save states and
	this version on big-endian platforms.

	Removed the included "m4" directory, updated autogen.sh, and reran it to regenerate aclocal.m4 with
	newer(and fixed on AMD64) versions of the gettext autoconf scripts.
	See: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=349845

0.4.5:
	drivers/opengl.cpp now includes the GL header files AFTER the header file that eventually loads config.h is included to fix
	compilation on Mac OS X.

	Redefined SFEND from { 0 } to { 0, 0, 0}, and fixed older code to use the SFEND macro, to fix crashing on OSX and possibly
	other platforms when saving or loading states.

	Reduced SDL's buffer size when using the SDL sound driver(used on MacOSX).

	Restructured and merged some of the sections in the autoconf script.  Note to future self:  I noted that it seems if 
	the first instance of PKG_CHECK_MODULES() is in a statement that doesn't evaluate, any other PKG_CHECK_MODULES() 
	statements will fail.  I don't know if this is a bug in autoconf, or a misunderstanding on my part.

	Removed the largely unused ESD sound driver from compilation, as it is mostly unsuitable for use in Mednafen.
	Also removed the jack driver, as it was unfinished, and couldn't be used anyway.

	PCE:  Fixed CD-DA playback from "WAV" audio files on big-endian platforms.

	Fixed a compilation problem on big-endian CPUs by adding appropriate type-casts in psf.cpp.

0.4.4:
	Modified the GBA code to not use many INLINEd functions in arm.cpp.  This greatly reduces
	RAM and CPU usage during compilation, and should have only a negligible impact on performance(and might
	even improve performance on cache-starved systems).

	Fixed a compilation problem on non-x86 and non-PPC platforms in the NES emulation code.

0.4.3:  (Note:  PCE CD save states created in previous versions will not work very well with this release)

	Fixed a compilation problem in cdromif.cpp regarding NULL on *BSD platforms by including <string.h>.

	Lynx:  Fixed the constructor and destructor declarations of the C65C02 class, which should fix a reported
	compilation error with gcc 4.1.

	GBA:  Added a few missing variables to save states.

	GB:  Lines during which time the screen is turned off are now cleared(fixes flickering problems at the
	start of games, and during transitory blank screens).	

	Fixed the SDL_net.h include statement in drivers/netplay.cpp.

	PCE:  Fixed a bug with CUE+BIN sector size handling with regards to pregaps.  CUE+BIN is still
	officially unsupported. :B

	PCE:  Noise is now rendered at blip_med_quality.

	PCE:  Removed the code that checks to make sure the audio sector to play is non-zero.  Fixes "Crazy Hospital".

	Changed the maximum supported playback rate from 96KHz to 48KHz, to be able to safely extend the temporal precision 
	of Blip_Buffer further.
	Note that this shouldn't be considered a regression, as there are virtuall no benefits to using a sample rate
	above 48KHz in Mednafen(though there may be benefits in other applications).
	***************
	***BIG NOTE:***  
	***************
	If you previously set the playback rate above 48KHz, you will have to manually edit the text configuration
	file(~/.mednafen/mednafen.cfg) to bring the value in range.  This is necessary because of a limitation in the setting
	validation code.


	Updated to Blip_Buffer 0.4.0, which offers improved sound quality over previous versions:
		- Improved sound quality by rewriting library to use 32-bit internal sample
		buffer, higher phase resolution, and a properly windowed filter kernel. Current
		user code should work without changes.

	PCE:  When sprites and background are both disabled, and the VDC is not in burst mode, the scanline is now filled with color 0x000 from the palette
	rather than 0x100.  This fixes the "Hurry Up" water effect in the CD game "Rainbow Islands".

	PCE:  Fixed the CD-DA amplitude calculating(used the BIOS' CD-DA player interface).

	PCE:  Altered VDC line timing slightly.

	PCE:  ADPCM frequency is no longer reset on ADPCM reset, fixes Gulliver Boy's dialogue voices during
	gameplay.

	PCE:  Fixed reading from nonexistant audio sectors(by memset()'ing the audio buffer to zero).

	PCE:  Implemented sector reading delays, games that use FMV like Gulliver Boy work much better now.  It's not implemented 100% correctly,
	and requires a small CPU hack to disable IRQs during a timing-sensitive period of emulation.  I don't like hacks, but...it's still better
	than the giant hack of reading all the sectors at once, which was how it used to be.

	PCE:  Implemented ADPCM read and write delay.  "Record of Lodoss War" no longer locks up at the title screen.

	PCE:  Opcode and operand data reads from VDC register 0x1 will now return 0x40, which fixes
	Dragon Slayer 2.  I doubt this is correct, but it shouldn't break any other game.

	PCE:  CUE+BIN audio playback no longer locks up the emulator, but CUE+BIN is still
	officially unsupported.

0.4.2:
	Fixed sprite hit emulation, fixes problems with VS Duck Hunt and VS Hogan's Alley
	that have existed since Nintencer.

	Modified VS Unisystem light gun emulation slightly to be more accurate.

	Fixed the in-emulator sound(nsf,gsf,hes) player's waveform visualization,
	broken in 0.4.1.

0.4.1:

	Joysticks initialization is now slightly more verbose.

	Fixed hash calculation in the joystick code, and added a workaround for hash
	collisions(which would occur if two extremely similar joysticks are used on 
	the same system).

	Video initialization is now more verbose.

	The -<system>.special command-line arguments for selecting a special scaler now
	take the short name of the scaler, which is found in the documentation, instead of
	arbitrarily-chosen numbers.  However, out of the goodness of my cold, black heart,
	arbitrarily-chosen numbers may still be used, though it should be considered deprecated.
	Example:
		-nes.special 1	(deprecated, but works, selecting hq2x)
		-nes.special hq2x (good!)
		-nes.special wombat (bad!)

	libsndfile is now used for WAVE recording(instead of the old ugly code).

	Altered the internal floating-point format used to represent audio data by changing
	the range to -1.0<=sample<=1.0(previously it was 0.0<=sample<=1.0).

	NES:  Fixed a 1-byte overflow bug in the Barcode World input device emulation
	code by changing a strcpy() to a memcpy().

	Added a "-help" command-line option, which prints out command-line arguments
	and parameters.

	Fixed the configuration file loading code to exit the emulator if
	invalid data is in the configuration file, instead of just ignoring it
	and the rest of the entries, thus trashing the configuration file on exit.

	Changed the default xscale and yscale settings for Lynx to 4.

	Physical mouse buttons can now be assigned to virtual buttons.

	The width and height of the state preview are now saved in save states, fixing a problem with broken
	save states if the -nes.clipsides option is used, and possibly in other situations(note that this 
	won't fix the problem in old save states, only new ones).

	Fixed a garbage(OSD stuff) problem in screen snapshots and save states when they are done after a frame
	that has been skipped(the solution is to delay the snapshot/save state until the next frame, which is
	set to not be skip).

	Fixed a typo that broke the hq3x effect(it had weird graphical glitches).

	Modified more settings to use the new plain-text configuration file format.

0.4.0:
	Various minor code changes I forgot to document.  I hope none of them are of the Mednafen-exploding
	variety. ;)

	Added support for saving and loading settings in a plain-text file format, and moved many
	settings to use this code.  This file is named "mednafen.cfg" in the Mednafen base directory(whereas
	the old binary configuration file is still named "mednafen03x.cfg").

	NES:  Merged RDoPCM() into RDoNoise(), reducing CPU usage slightly.

	NES:  Removed the pedantically high-quality sound mode, and reduced the filter order for downsampling
	from 512 to 256, with a larger transition band and smaller passband, creating a somewhat subtle low-pass filter
	effect on the audible portion of the signal, and decreasing CPU usage.

	NES:  Made optimizations to the CPU and PPU emulation code.

        PCE:  Added -pce.forcesgx, -pce.ocmultiplier, -pce.nospritelimit, -pce.cdbios, -pce.cddaquality, and -pce.compressor
        command-line options

	PCE:  Sound(excluding CDDA in CD emulation mode) is now passed through an audio volume compressor.

	NES:  Zero-page and stack memory accesses now go through the normal read-write function pointer system.
	This will increase CPU usage slightly, but it's important for future plans(readding cheat support,
	and an enhanced sound system through OggVorbis and WAV files).

	Updated to Blip_Buffer and Blip_Synth 0.3.6b1.

	Added special gcc options to configure.ac to get gcc to actually inline many functions
	that are specified to be inlined.  Sometimes I wonder if gcc developers are sane...

	NES:  Fixed a weird typo(with apparently no effect) in the B2005() function in ppu/ppu.cpp

	Fixed scanlines effect when using a special scaler.

	Lynx:  Optimized the sound rendering code slightly.

	PCE:  Added PCE CD emulation.

	NES:  Fixed the AMD64 MMX sound downsampling assembly code.  This bug fix fixes staticy sounds and other problems
	with NES audio on AMD64 platforms(only in 64-bit mode, of course :)).

	Removed MDFND_UTF8fopen() and MDFND_UTF8gzopen(), since they weren't really doing anything useful, and
	the same functionality could be provided more easily with some kind of wrapper library, if it's needed
	in the future.

	Updated the ZIP-file handling code with the newest version available, 1.01e.

	GBA:  Updated most of the GBA emulation code with newer code from VBA's CVS repositoy.

	MDFN_FastU32MemsetM8() no longer tries to use floating-point data types, which was causing very bizarre problems on x86_64
	targets when compiled with gcc 4.0, and was probably an illegal thing to do anyway, as far as
	portability is concerned(or maybe gcc 4.0's autovectorizer is broken).
	This fixes problems with many GBA games when Mednafen is compiled with gcc 4.0.

	Added code to check for SDL_net in configure.ac and error out if it's not found, instead of blindly
	trying to compile.

	A negative result for the JACK test in configure.ac will now print the result "no".

	Removed the argument to AM_GNU_GETTEXT in configure.ac, effectively setting it to "no-libtool".  This will
	force a static library to be made when necessary, instead of a shared library, which should fix problems
	some people have been having with missing shared library error messages(libintl.so.3 and libintl.dll, for example).

0.3.7
	Modified the OpenGL code to use glTexSubImage2D() instead of glTexImage2D() every frame, resulting in a slight
	performance increase.

	Modified the OpenGL code to use smaller texture sizes with most PC Engine games(at least those
	that run at a width of 256 pixels;  exceptions include Aoi Blink, R-Type 1 and 2, Yo Bros., and others).

	Lynx:  Moved CMikie::Update() and C65C02::Update() into c65c02.cpp and mikie.cpp, respectively.

	Fixed pointer-to-integer type casting that was causing compiler errors under Ubuntu Linux AMD64.

	Modified a lot of code to work around/fix various compiler warnings.

	Fixed a few typos in the documentation.

0.3.6:

	NES:  Fixed a bug with the VRC6 sound emulation which was causing heap corruption and one sound channel to not work.  The bug apparently came up
	between Nintencer 0.1.1 and Mednafen 0.2.0.  Why didn't anyone tell me... -_-

	PCE:  Made significant optimizations to CPU emulation.  The code's a bit messier now, but I'll clean it up if/when 0.4.0 is released.

	NES:  Removed the high-level frameskipping code, since frameskipping is automatically used now, and it could easily break some games.

	Removed the "-frameskip" command-line option, as it should not be needed anymore.

	Unified a lot of the driver-side frame-skipping code.

	Fixed a startup bug(MainThreadID was being used before it was set) that was causing the "Starting Mednafen x.x.x" line to be lost.

	Slightly restructured the "features" and "command line" sections of the documentation.

	PCE:  Pressing the "Power" key now resets the internal RAM.

	All:  Altered the shared music player interface, decreasing the brightness of the text, and adding pseudo-shadows.

	PCE:  Added simple HES playback code.

	PCE:  Altered noise emulation slightly, Ninja Ryukenden(and probably other games)'s music sounds more accurate now.

	Fixed alignment of the save state preview and selection box when emulating the PC Engine.

	The status line text and the save state selection message are now drawn with black shadows, to make reading easier.

	Changed the text status line background darkening shape to a rectangle on the NES, and fixed it to display correctly
	with PC Engine emulation.

0.3.5:
	Added code to allow for writing to SDL framebuffers directly, without using OpenGL, controlled with the command-line option "-vdriver".
		-vdriver 0	= OpenGL
		-vdriver 1	= SDL framebuffer(bilinear interpolation and Lynx screen rotation are not available).

	Lynx:  Disabled the crude(as in, non-working) stereo sound support, and added a low-pass filter to make the sound sound much closer to what
	comes out of a real Lynx.

	PCE:  Adjusted the visible horizontal display area, and overscan, in the 7 and 10MHz dot clock modes.

	PCE:  Expanded the visible vertical display area by 8 pixels(4 on top, 4 on bottom).

	PCE:  Altered VDC timing agaaaain.

        PCE:  Block memory transfers now take 5 cycles(read, write, alter source, alter dest, decrement length?) per byte transferred instead of 6.  Fixes
        "Wonder Momo".

        PCE:  Altered HuC6280 instruction timing slightly(removed the tests for indirect indexed and indexed indirect addressing modes to use extra CPU cycles).

        PCE:  Corrected a timer emulation bug, fixes "Dragon Egg"'s tempo.

	PCE:  Increased the number of cpu cycles per scanline from 454 to 455, based on tests I performed.

        GB/GBC:  A sound enable register is now initialized properly on reset, fixing at least one unlicensed game.

        Lynx:  Disabled the superclipping code, as it's buggy(causes bad sprite clipping and invisible mountains(OHNOS) in Steel Talons)
        and doesn't appear to be necessary.

        The mouse cursor is now hidden.

0.3.4:
	Added command-line option "-autofirefreq" for setting the frequency of the configured auto-fire buttons
	when playing NES and PC Engine games.

	PCE:  Fixed Street Fighter 2 HuCard emulation.

	PCE:  Modified PSG waveform writing/DDA emulation, fixes "Fire Pro Wrestling - Combination Tag".

	PCE:  Modified TRB and TSB emulation.  Fixes "Toy Shop Boys".

	PCE:  Implemented VRAM-VRAM DMA direction control bits.

	PCE:  Altered VDC timing, fixing a few games, making a few games more bouncy. ;)
0.3.3:

	PCE:  Fixed sprite clipping on the left side of the screen.

	PCE:  The emulated RCR register is now masked with 0x3FF when being set.  Fixes Niko Niko Pun.

        PCE:  Several CPU cycles are now emulated between setting the in-vblank flag and the vblank IRQ occurring.  This works around an issue that would otherwise
        require timing granularity as small as one cpu cycle.  Interestingly, this same type of problem occurs with NES emulation.

	PCE:  Altered the display rectangle calculation code to take into effect screen areas that may be hidden
	on many television sets(and some games were designed with the assumption that these areas WOULD be hidden).

        PCE:  Modified noise emulation...again. :b

        PCE:  Modified LFO emulation, fixes major sound problems in "Bull Fight".

        PCE:  The sprite DMA completion IRQ now occurs earlier(probably a few cycles too early now, but oh well).  Fixes some graphical issues
        in "Bull Fight".

        PCE:  Sprite bit plane selection is now emulated to a degree.  Fixes "Fighting Run".

        PCE:  Very high-frequency(and probably inaudible) sounds are no longer played, because Blip_Synth
        can't handle them well.  Fixes "Bouken Danshaku Don" and others.

0.3.2:

	GB:  CGB-specific emulated RAM is no longer saved in save-states.

	GB:  Fixed a bug in sound sweep emulation.

	GBC:  The palette is now saved in save states.  This fixes a major problem with save states with most GBC
	games...

	Fixed the SF*N() save state macros to not put quotes around names in
	save state files, and added a workaround for compatibility with old save states.  This
	is an embarrassing bug. :b

	PCE:  Made major optimizations to the VDC emulation code.

	PCE:  Rewrote the PSG emulation to use Blip_Synth and Blip_Buffer.

	PCE:  Altered the noise channel emulation frequency calculation and LFSR emulation.  I'm still not sure
	if it's correct.

	Increased the minimum sound rate supported from 8192 to 22050.  I don't test low rates very often,
	and there may be loss-of-precision issues with such low rates.

0.3.1:
	Fixed a bug that existed since 0.2.0 that was causing a null-pointer deference in stat().
	Interesting, glibc silently ignored the error, but the error caused crashing under Windows.

	PCE:  The HuC6280 timer latch is now loaded with an appropriate value on reset.  Fixes
	"Double Dungeons".

	PCE:  Added generic PC Engine save RAM emulation.

0.3.0
	Added PC Engine and SuperGrafx emulation.

	Save states are now compressed and encapsulated in gzip-format files.

	NES:  Fixed display rectangle setting code that was causing screenshots from PAL games
	to be cut off at the top and bottom.

	NES:  Added an iNES header correction entry for "Gauntlet 2", to clear the four-screen bit.

	NES:  Added support for configuring NES gamepads 3 and 4 from within the emulator(during emulation), mapped
	to key combinations "F4" and "Shift + F4", respectively.

	Fixed virtual input device configuration from the command-line(it was segfaulting before because
	the code was dereferencing a null pointer).

0.2.2:

	Fixed a few problems with '#ifdef's when compiling on an MSB-first platform, though
	I still haven't tested Mednafen on such a platform...

	NES:  Fixed a nasty bug in the iNES loading code(the list of known bad ROM images wasn't
	terminated with a NULL entry) that could cause segmentation faults on startup in
	some situations.

	NES:  A slightly faster version of the sprite priority handling+blitting code is now compiled when
	a 64-bit CPU is "detected" by:
		#if (SIZEOF_LONG == 8)
		(is this the correct way to determine whether or not the cpu has native 64-bit
		 integer support?  I know it works ok on x86 and x86_64, but what about SPARCs? :b)

	NES:  Rewrote portions of the sprite rendering and priority comparison code to use simpler
	logic.

0.2.1:
	GBA:  Converted the DMA registers into arrays, rather than having them as a gazillion different
	variables.

	GBA:  Replaced the if() alpha-blending clamping mechanism with a simple LUT.

	GBA:  Removed some apparently unnecessary if() statements in the graphics rendering code.

	GBA:  Made a few experimental optimizations to the graphics rendering code( >> 24 changed to & 0xFF000000 in
	some of the priority comparison code).

	GBA:  Played around with some optimizations in the "gfxDrawTextScreen" function.

	GBA:  Restructured the CPU emulation code, so I don't have to recompile one giant file when
	I make a small change(and so it doesn't use totally obscene amounts of RAM during compilation).  

	GBA:  The sound flushing routine was returning and setting the wrong values, totally breaking the speed-throttling
	code.  Fixed.

	GB:  Slightly increased the video contrast and brightness of the original GameBoy's emulation.

	GBA:  Extended the BLIP buffer size, fixing a startup emulator crash with "Midway's Greatest Arcade Hits", and
	possibly other games.

	Updated the documentation with better explanations in a few areas, and fixed a few errors.

0.2.0: 
	(Sorry, I lost track of changes, but... 0.2.0 is kind of like an entirely new emulator! :b)

0.1.1:
	SDL_QUIT events are now handled properly.

	Increased the default fast-forward speed to 4x.

	Fast-forwarding will now invoke the emulation frame-skip code, to achieve much higher
	fast-forwarding speeds.  Fast-forwarding with frame skipping code may break some games,
	but I haven't encountered any yet...

	Jitter correction is now done when configuring virtual input devices and command keys, and
	the button pressed is on a physical joystick/gamepad.  This is particularly necessary for
	some(all?) analog joysticks connected via the ancient gameport interface on the PC, at least
	under Windows 98 ;).

	Various code cleanups and subtle usability fixes.

	The "cheats" subdirectory under the Mednafen base directory is now created on startup(broken in 0.1.0).

	Fixed sound code used when expansion channels are used and the internal pre-downsample target format
	is floating-point.

	Added error condition checks and more verbose error messages to various pieces of code.

	Implemented a modified version of the old PPU rendering code that is used when it is
	safe to do so.  This helps to offset the increased CPU requirements of the new code.

	The command-line option "-nothrottle" works again.

	Joysticks are now configured by a unique hash id, instead of by index number.  This should
	help if people install or uninstall joysticks.  It has not been tested, but the code structure
	was copied from the old Win32 port of FCE Ultra, so it should work.  
	Note that this change will break old button configurations in the configuration file from 0.1.0.

	Fixed mapper 19's(Namco 106) expansion sound.  It now actually outputs sound(broken in 0.1.0)!

	Rewrote large parts of the PPU rendering code to be more accurate, and slower. :/
	This fixes Final Fantasy's "orb lighting" effect, and Micro Machines' title screen,
	among others.

	Reads from $2004 will now return something meaningful to the games "Bee 52" and 
	"Micro Machines"(it returned nothing meaningful before, so it shouldn't break anything).
	This, combined with the correct background palette selection used when sprites and background are
	disabled, fixes some graphical issues in Micro Machines and Bee 52.

	Internal text rendering will now truncate strings that are too long to fit on the screen
	(an issue with NSFEs and song titles...).  Is there a better, sane way to deal with this?

	Added support for loading NSFE files, and made changes to the NSF player to display
	more information if it's available.

	file.cpp:  The FCEU_f* wrapper functions will now always load the entire file
	into memory on FCEU_fopen().  I hope people don't do something silly like trying
	to load a 1GB file of garbage. ;)
	I might add mmap() capabilities in the future.

	Reworked the UNIF/FDS/iNES/NSF file loading code.

	Removed the "en" translation from the po directory, since it was a bit...redundant
	or silly.  If you did a "make install" with 0.1.0, you should run a command like:
		 rm /usr/local/share/locale/en/LC_MESSAGES/mednafen.mo

	Fixed a compile-time error in general.cpp when the asprintf() emulation function is used.

	Replaced the SDL WM icon with a scaled image of the Mednafen Beetle.

	Fixed the Super24-in-1 bootleg cart board emulation by removing a line of silly debug(?) code.

	Added FCEU_indent() function, for use with FCEU(I)_printf(), to automatically set indentation
	for newlines, rather than having it in the format strings directly.  This should make strings in the 
	gettext catalogs more manageable.

	config.h is now used instead of passing gobs of defines on the command-line to g++/gcc.

	Added code and an MDFNI_* interface to set the sound speed multiplier from the driver code, and
	modified the driver code to use it.  This is MUCH better than the method used in 0.1.0, which
	was just telling FCE Ultra to reinitialize sound at a different rate whenever fast forwarding
	started and stopped(which caused clicking).

	The sprite hit flag will no longer be set if the sprite hit would occur on pixel column 255, which matches
	behavior on the NES.

0.1.0:
	Miscellaneous things I've forgotten about.

	Command-keys and virtual input devices are now configurable while a game is running.

	gettext is now used to provide message lookup services.

	Implemented crude Unicode rendering of internal in-game text messages, and several fixed-width fonts
	covering most western languages, Japanese, Chinese, and Korean.

	Added 2xSaI, Super2xSaI, and SuperEagle video filters, and reordered the integer->filter mappings(used on the command line).
	Should I parse for a string instead of an integer on the command-line?

	Converted Mednafen to compile with GCC's C++ compiler, though no advanced C++ features are used
	yet.

	Fixed mapper 165 emulation with code from CaH4e3.

	VS Unisystem and Famicom Disk System commands are now saved in recorded movies.

	Video blits and special effects are now done in a thread separate from the game emulation and sound output thread.

	Command keys are now user-configurably(wow, it happened before the 22nd century!).

	Fixed emulation of MMC5's $5130 register.

	Fixed sound sweeping emulation; thanks to blargg.

	Corrected the behavior of mapper 144 to match what the hardware does regarding bus conflicts.

	Removed the low quality sound emulation code, and replaced the old high-quality sound emulation filter code with newer code that
	can output to arbitrary rates and uses SIMD instructions if available.

	Fixed a rather stupid bug that could break loading of certain non-bankswitched NSFs.
