0.8.D:
	SMS:  Some state that wasn't being saved in save states now is, which should fix netplay desynch problems with SMS/GG games.

        Fixed a couple of remotely-exploitable(if connected to a malicious server) stack manipulation bugs in the network play code.

	Fixed an incorrect object creation bug in pce/adpcm.cpp.

	NES:  Added a missing CPU emulator variable to save states.

	PCE:  Added a missing CPU emulator variable to save states.

0.8.D-rc1:
	Lynx:  Fixed a bug in the cart loader code that would cause a crash if the ROM bank size was larger than the actual data available in the
	file(as is the case with some homebrew programs).  Thanks to "Wookie" for the patch.

	Build files were regenerated using autoconf 2.64 and aclocal 1.11(previously, they were generated with autoconf 2.61 and aclocal 1.10.1).

	Fixed a crashing problem when entering an invalid menu choice("0") in the cheat interface.  Thanks to
	tsenart for reporting the bug.

	GB:  The GameBoy module now respects the "filesys.disablesavegz" setting in respect to saved
	battery-backed RAM.

	Added support for "lurkers" on the network play server.  Previous versions of Mednafen don't lack support for this per se, but there
	would be cosmetic issues with status messages printed to the internal console.

	SexyAL:  Fixed a bug affecting the return value from RawCanWrite() in the ALSA driver.  The returned value was typically too
		 small by a factor of 4.  The effects of this bug included potential long periods of garbled sound
		 during netplay.

		 Fixed the return value from RawCanWrite() in the JACK driver.  It was being clamped to a value
		 that was too small by a factor of 4; however, the clamp value was already excessively large in a way
		 that this bug would should have only been triggered if the "soundbufsize" setting was excessively large.
		 The effects of this bug would be similar to the ALSA RawCanWrite() bug.

		 The ALSA and OSS drivers will now try to set audio output to 2 channels if the source data only has 1 channel, and 16-bit signed if the
		 source data is 8-bit(automatic conversion is done).  This is done to allow for lower period/fragment sizes, as, in ALSA's internals at least,
		 the minimum period sizes are expressed in bytes, not sound frames.

		 The ALSA and OSS drivers will now try to set lower period/fragment sizes than previous versions of Mednafen did.  With default settings, for
		 ALSA, the new period/fragment size is 50% of what it was before, and for OSS, 25%.  Also, there's a new setting to override
		 the SexyAL's driver's preferred period/fragment sizes, named "sound.period_time"(default value of 0: no override). 
		 The period/fragment size is expressed in microseconds.  If the new, lower fragment sizes cause problems, the setting can be changed to "2666"
		 to approximate the fragment size selection in previous versions of Mednafen when using ALSA output, and "5333" when using OSS output.

		 Added a workaround to the OSS driver for a bug in ALSA(and hence, ALSA's in-kernel OSS emulation) that could cause the emulator to run far
		 too fast for a short period of time if a buffer underflow occurred.

		 The ALSA's driver's RawCanWrite() method now(finally) uses snd_pcm_avail_update() instead of snd_pcm_delay().
		 This should improve performance and frameskipping behavior when the ALSA output is not routed directly to a physical device, such as the case with
		 PulseAudio(though PulseAudio is still not recommended :b).

0.8.C:

	SMS:  Fixed the input and reset emulation when the territory was
	set to "domestic"(Japan) and FM emulation was enabled; the emulated system was erroneously
	being treated as a Game Gear in a few places when those conditions were met.

	GB:  Fixed initialization of "HRAM" on virtual power toggle/reset.

	GB:  Fixed a bug(still many left) in the external RAM handling code, fixing an
	emulator crash with "Wizards & Warriors - Chapter X".

0.8.C-rc1:

	NGP: Fixed an unaligned memory access bug in the memory r/w handlers, causing crashes on platforms
	that do not support unaligned memory accesses.

	NES: Fixed an intialization bug in mapper 193.

	Added define "ALWAYS_INLINE" to force the compiler to always inline speed-critical functions, and added it to
	many emulation functions in that category.  gcc can be a pain in the butt.

	GBA:  Fixed a bug that would cause data corruption and the loaded game to crash whenever a state was
	saved(but the state itself, and loading it, was fine) on a big-endian platform.

	Fixed several instances of mismatches between format strings and passed argument types, which could cause
	nonsensical information to be printed on big-endian platforms, and perhaps some little-endian platforms as well.

	Fixed the minimum field-width specifier on the statements that print the loaded game's CRC32 in several
	places.

	Added the "format(...)" function attribute to the MDFN_DispMessage(), MDFN_PrintError(), and MDFN_printf()
	function prototypes to catch format string errors.

	Fixed the order of the sound drivers in the documentation(it was erroneously implying that OSS had a higher
	priority than ALSA for the default sound driver), and added various notes to explain the sound drivers.

	If an invalid "sounddriver" is selected, Mednafen will now print an error message and not initialize sound
	instead of silently selecting the default sound driver.

	SexyAL: Altered the argument order of SexiALI_Convert() to make more sense.

		Fixed the broken conversion code used when the frame count passed to Write() is greater than 2048.

		Fixed a bug/design flaw in the SexyAL SDL sound driver that can cause a crash during program
		deinitialization.

		Added support for "float" output format to the ALSA driver.

		The ALSA driver will now try all formats that SexyAL's conversion code supports if the desired
		format is not supported by the output device, rather that simply erroring out as before.

		Added support for converting to 24-bit and 32-bit PCM output formats from the source format(which
		is still fixed to signed 16-bit).

		The driver function RawCanWrite() is now passed a pointer to a uint32_t, which it sets to the number
		of bytes that can be written without blocking, rather than returning the value directly, so that
		the return value can be used as a success/failure indicator.

		The driver function RawWrite(), and the "user" function Write(), will now return 1 on success, 0 on
		(fatal) error, rather than returning the amount of data written.

		The OSS driver was testing the return value of open() incorrectly.  Fixed.

		SexyAL is now compiled as C++(but doesn't use many C++ features yet), which necessitated
		adding several explicit casts in various code, and fixing some inconsistent function prototypes and
		declarations.

                JACK: Fixed a stereo playback crashing problem(a loop count was being calculated incorrectly).

                JACK: Switched to using jack_client_open() instead of the deprecated jack_client_new().

                JACK: The "sounddevice" setting is now used, to specify the JACK server to connect to.

                JACK: Fixed a possible race condition in RawCanWrite().

		JACK, SDL: Changed the inter-thread ringbuffer setup to be less likely to underrun, while not hurting
		latency.

		JACK, SDL: Additional playback position precision is now obtained by using
		jack_get_time()/SDL_GetTicks().  This will improve Mednafen's performance with larger fragment sizes
		with these drivers, but smaller fragment sizes are still preferred for latency-to-underrun-occurrence-ratio
		reasons.

		Renamed the "byteorder" field of SexyAL_format to "revbyteorder", and changed it to a boolean type,
		to avoid confusion over what it actually represents.

	Removed erroneous dependency on CD-ROM emulation when WonderSwan emulation is enabled in the configure script.

        Added sanity checks to the first track number and total track count returned from libcdio, to prevent
        a crash in Mednafen if the libcdio driver fails and returns nonsensical values.

	Removed unused file sms/state.h

	Fixed a very-old bug that caused joystick unique ID collisions if more than 2 of the same "type" of physical
	joystick were available.

        Fixed a string constant-to-(char *) problem in sms/romdb.h.

	Mednafen is now compiled with -fsigned-char, to prevent any potential problems on systems with an "unsigned" char
	type as default.

	The included Tremor is now compiled with "-fvisibility=hidden" to work around a dynamic symbol collision
	problem with libsndfile(BUT, -fvisibility is only available in gcc 4.0 and newer).
	This solution may not be correct...

	Updated Tremor to the latest SVN version.

	PC-FX:  Added a semi-hack to fix a missing background layer problem in parts of "Angelique Special".  The
	underlying problem(no emulation of the programmable BG0 subscreen) will be corrected in 0.9.0.

	PC-FX:  Removed the unused V810 cache structures(Mednafen 0.9.0 will feature cache emulation, however).

	PC-FX:  Added a few CPU variables to save states whose absence could have caused netplay/movie desynch.

	PCE:  Fixed virtual power-toggle initialization of VCE and gamepad input variables.

        PCE, PC-FX:  Fixed the emulation of SCSI command 0xDE, mode 0x1.  The value returned was too small by
        2 seconds.

        PCE, PC-FX:  Fixed the sector count for the last track(which influences the leadout track start position/total
        sector count) in multi-track CUE/BIN CDROM images.

        PC-FX:  Fixed the handler address called when a TRAP instruction is executed.

	PC-FX:  Fixed the exception code set when an FPU divide-by-zero occurs(previously, it was being set to the
	integer divide-by-zero exception code).

	Fixed several problems in file.cpp, including buggy and overly-complicated MDFN_read*le() functions,
	and a problem with the const-ness of the return value of strrchr() with gcc 4.4.

0.8.B:

	Fixed the rectangle calculation for screen rotation with Lynx and WonderSwan to use X scale and Y scale
	values appropriately(they were reversed before; also, assuming square pixels on your monitor ;)).
	Rotation still poses a problem in fullscreen with the default settings, however.

	Fixed an off-by-one error in the software SDL graphics rotation code(used for Lynx and WonderSwan).

        Fixed a race condition that could cause rapid oscillation between fullscreen and windowed when trying to
        toggle it.
        ...and fixed a race condition that could cause oscillations when rotating the screen with Lynx and WonderSwan
        emulation.

	SexyAL:  The return values of ALSA functions are now treated as errors only if they're less than 0, rather
	than non-zero as before.  Thanks to R.L. for pointing this out.

	The default "nethost" setting is now "fobby.net" instead of "mednafen.com".  The latter was allowed to
	expire and lost to domain squatters some time ago.  Domain squatters cause desires to commit grievous face-stabbing.
	However, the netplay server on "fobby.net" is not guaranteed to be up. :p

	PCE:  Added the ability to load a custom colormap(palette) by setting "pce.colormap" to the path of the colormap
	file.  The colormap consists of either 512 or 1024 RGB triplets, 8-bits per color component, 
	in the order R,G,B,R,G,B,R,G,B,... .
	It is recommended that the colormap provide all 1024 entries(the first 512 entries are for normal mode,
	the second 512 entries are for grayscale/strip-colorburst mode). If it doesn't, Mednafen will calculate
	the grayscale colors using a formula similar to that used with the real VCE, but with more precision.
	The colormap may be disabled by setting the "pce.colormap" setting to an empty string, or 0.  Command-line
	examples:
		mednafen -pce.colormap /path/to/blueblue.cmap /yarr/pirate/booty.pce	[Enable]

		mednafen -pce.colormap 0 /some/where/over/the/rainbow/islands.cue	[Disable]

	PCE:  Added a hack to fix games that try to write to VRAM while VRAM DMA is in progress(fixes graphical
	glitches in "Crest of Wolf", maybe others too?).
	This could potentially cause regressions, so please post any on the forum.

	PCE: Having "pce.forcesgx" set to 1 with non-SuperGrafx games will no longer cause problems with display
	timing(and positioning).  However, this doesn't fix the underlying issue, and any demos that set
	the horizontal and vertical timing registers differently on each VDC won't operate as they would on a real
	SuperGrafx.  (This could affect commercial SuperGrafx games, but AFAIK they keep the VDC timings the same).
	NOTE: Setting "pce.forcesgx" to 1 is still not recommended, the preferred way of forcing a game/demo to
	enable SuperGrafx emulation is by giving it a file extension of "sgx".

	PCE: Arcade Card RAM is now initialized to 0 on allocation(it was erroneously being left uninitialized before).

	PCE: Added Arcade Card RAM to the memory editor in the debugger.

	PCE: Fixed the BRAM initialization(it was wrong, and generated from when Mednafen erroneously emulated 8KiB of BRAM).
	Fixes lockups in "Sorcerian".
	Note that if you have any existing save states or battery-backed RAM files for "Sorcerian" in "sav" or "mcs" under
	Mednafen's base directory from when you attempted to run "Sorcerian", you will need to delete them
	for this fix to have any effect.

	PCE: Reduced the mirroring address space range of the Arcade Card register mapping in HuC6280 banks 0x40-0x43.
	It was mirrored throughout 0x40-0x4F, now it's only mirrored at 0x40-0x47.  It may not be mirrored at all with
	a real Arcade Card, tests need to be performed!
 	Fixes a crashing bug in "Linda Cubed" early into gameplay.

	WonderSwan: Fixed a bug that made it impossible to push a direction on one D-pad while the opposing direction
	was being pressed on the other D-pad.

0.8.A:
        NES:  Cleaned up the iNES loading code a bit, and added support for WRAM on a few mappers that nominally shouldn't
        have WRAM, enabled if the battery-backed bit is set in the iNES header.  Fixes "Family BASIC", and probably
        a few bootleg games as well.

        NES:  Added partially-broken support for mapper 163.

        NES:  Added support for mapper 241.

        Fixed string constant-to-(char *) problems in drivers/cheat.cpp

        Added setting "osd.state_display_time", to control the length of time, in milliseconds, the save state/movie
	screen is displayed after selecting a save state or movie.

        The most recently-saved save state slot will now be colored differently when selecting a save state slot.
        Increased the brightness of non-empty save state slots.
        Empty save state slots are now black instead of being partially transparent.

        PC-FX:  Fixed bugs in "Play Audio Track Index" and "Read Subchannel" MMC commands, fixing the totally broken
        cinematic sequences in "Boundary Gate".  There may still be bugs in these commands that don't cause any known
        problems with games, so I will need to run tests on a real system.

	GBA: An error loading the custom colormap file is now treated as fatal.

	Win32:  The German and Russian translation files are now included in the Win32 precompiled binary distribution
	ZIP file.  Note that Mednafen always assumes the locale to be UTF-8, so the stdio.txt file will need to be
	opened with a viewer that can handle UTF-8(though filenames with non-7-bit-ASCII components will appear fubar).
	(I am aware that assuming the locale's character encoding to always be UTF-8 is a design flaw with
	various insidious consequences when the encoding is not UTF-8).

	Updated the Russian translation with the translation done by rubicon.

        Added configure script option "--enable-altivec/--disable-altivec (default: enabled)" for compiling on
        PowerPC architectures where AltiVec is not supported, or causes problems.  This configure script option is
	untested, however.

	Input for the virtual device on virtual port N will be disabled when the buttons on the virtual device on virtual
	port N are being configured.  The last button pressed when in button configuration may still be taken as
	virtual device input, however(a fix for this would be too invasive, and so will be done in the 0.9.x unstable
	tree).

	PCE:  Added several missing input-related state variables to save states, fixing several netplay/movie
	desynchronization issues under certain situations.

	Fixed a bug when creating an SDL source surface, whose negative effects(clipping rightmost columns) could be
	triggered when the "sdl" vdriver setting was used with certain xscale and yscale settings that would
	cause a 1:1 pixel copy operation.

	PC-FX:  Improved PSG LFO emulation again(Tyoushin Heiki Zeroigar uses it for some sound effects, other
	games likely use it as well in similar roles).

	PCE:  Improved PSG LFO emulation again(Hanii in the Sky, Juuouki, and Flash Hiders use LFO).

	PCE: Altered the Street Fighter 2 autodetection code to be data-agnostic.  The SF2 mapper will now be enabled for
	any ROM images 2MiB and over in size.

	Fixed a call to putenv(), to pass a static character array initialized to a string constant instead of a string
	constant directly.

        Fixed a few argument descriptions(invoked with the -help command-line switch) that weren't properly gettextized.

        Debugger:  Fixed a bug in the trace log code.  It would cause the emulator to lock up if the user pressed
        Enter/Return in the prompt popup without any text in the input field.

	SMS:  Removed the old unused Z80 emulator code from when SMS Plus was assimilated.

0.8.9:

	Updated the included gettext library to 0.17 to fix a MinGW build issue.

        GB:  Corrected a lack of address masking in most of the cart RAM emulation code.  Fixes a few Chinese GameBoy
        Color games.

        NES: (Re?)-added support for mapper 240(it was erroneously listed in the documentation as being supported...).

	GBA:  Fixed a buffer overflow in the ROM image loading code.

        PC-FX:  Several variables related to subchannel reading weren't being saved in save states.  Fixed.  (This fixes
        save states made within the BIOS' CD-DA player)

        PCE:  Altered how the ADPCM read and write addresses are set.  
	      Fixes the Super CD version of "Tengai Makyou Ziria", and "CD Mahjong Bishoujo Chuushinha".
	      Thanks to Exophase and ChrlyMac for the tips.
	      ***(This change may potentially cause regressions.  If it does, please report them at http://forum.fobby.net )***

	PC-FX:  Fixed a few deprecated const string to char* conversions in v810_cpuD.cpp.

	PCE:  Fixed a bug with Arcade Card emulation with a tip from Exophase.  The ADPCM sound effects
        in Garou Densetsu II work correctly now.

        PCE:  Reads from the timer count register the cycle it is set to reload after expiring will now return 0x7F.
	      Fixes "Battle Royale".

0.8.8:

        Added <string.h> to the global include list in mednafen.h.

        Added boolean setting "debugger.autostepmode" that, when set to 1, will cause Mednafen to automatically start
        the debugger in step mode after a game is loaded(only if Mednafen has a debugger for the emulated system, of course).

        NES:  Fixed CNROM emulation initialization bug.

        PCE:  ADPCM software reset was erroneously also resetting the playback frequency.  Fixed.  (Fixes ADPCM voices in Gulliver Boy)

        PCE:  Fixed disassembly of the JMP $(AAAA, X) instruction.

        PCE, PC-FX:  Improved PSG LFO emulation.

        PC-FX:  Emulated gamepad button presses weren't being decoded from the driver-side data correctly(causing problems on big-endian
	platforms).  Fixed.

        PC-FX:  Improved the logging of the ROM font system call in the debugger, to also include the callee address and the size of the
        glyph being requested.

        PC-FX:  Disassembly of the "nop" instruction will no longer show the virtually meaningless operand.

        PC-FX:  Fixed alignment and prettified the disassembly of LDSR and STSR instructions.

        SMS:  SMS pause and 2-player support were erroneously commented out.  Fixed.

0.8.7:
        GBA:  DMA registers were being saved as 32-bit arrays instead of 16-bit arrays in save states, potentially causing memory
        corruption, and broken save states on big endian platforms.  Fixed.

	NES:  Removed the AltiVec resampling code, as it causes problems on the PS3, and possibly other PPC chips, and I don't have 
	a PowerPC machine to test it on.  The NES sound filtering code will be rewritten in 0.9.0, anyway.

        GBA:  Fixed a startup crashing bug on big-endian platforms.

        Changed instances of fprintf() in mempatcher.cpp to trio_fprintf() to work around major issues with pre-C99 standard C libraries.

        GBA:  The Load() function was returning a largeish integer, instead of 1, after successfully loading a ROM image.  Fixed.

0.8.6:
	PCE:  Removed a statement, that was used for debugging, that broke PC Engine multiplayer support in 0.8.5. (I'm not sure
	how it got there in the first place...).

0.8.5:

	Fixed a crashing bug when loading an uncompressed file and using the automatic IPS-patching feature when mmap() is available.

	PCE, PC-FX:  All SCSI CDROM commands are now logged in the debugger's log viewer(when logging is enabled, of course).

	Added group support to the debugger's log viewer.

	PC-FX:  Renamed the type of BIOS ROM font calls in the debugger's log viewer from "BIOS" to "ROMFONT".

	PC-FX:  BIOS filesystem syscall(for backup memory access) calls are now logged in the debugger's log viewer.

	PC-FX:  Added internal backup memory and external backup memory address spaces to the debugger's memory editor.

	PC-FX:  In the 263-line mode, line 262 is now reported as being during blanking time(as on a real PC-FX).  Fixes the annoying transparency layer
	flickering and other weird graphical glitches in Der Langrisser FX.

	Added setting "filesys.disablesavegz", to disable gzip compression when saving save states and backup memory.
	(In the case of backup memory, disabling gzip compression isn't supported for GB yet)

0.8.4:

	PC-FX:  Some RAINBOW registers weren't being reset on emulated system reset.  Fixed.

	PC-FX:  Added dummy support for the external bus reset register.

	PC-FX:  Altered the way garbage data is handled by RAINBOW to fix a graphics bug in the Tengai Makyu options screen.

	PC-FX:  Reworked a large part of the KING SCSI emulation code, and parts of the CDROM device emulation code.  Previously non-working-at-all games 
	"Battle Heat" and "Tengai Makyu" work now.
	The non-anime game mode in "Tyoushin Heiki Zeroigar" works now.  "Der Langrisser FX" no longer locks up if you skip the intro movie.
	"Yuna FX" no longer locks up in one of the intro movies.
	These changes will cause some save state incompatibilities with previous versions of Mednafen.  
	(Some of the SCSI changes also affect the PCE CDROM emulation, which may also result in save-state incompatibility issues, particularly if
	the save state occurred during a CDROM data transfer operation.)

	PC-FX:  Added setting "pcfx.cdspeed".  If you want to change this, read the documentation first!

	Cleaned up the video deinitialization code slightly, and fixed a few bugs in the OpenGL deinitialization code.

	PC-FX:  Reads from the dummy KING register 0x07 will now return 0xFF, per the devkit docs.

	PC-FX:  Reads from KING register 0x0B will now return the "DMA end" bit in D0 set correctly(at least, according to the developer docs).

	Fixed a compilation error after running configure with --disable-nes.

        PC-FX:  Reads from I/O port 0xFC0 will *now* return the current timer counter value.  The switch statement mask value was wrong...

	Removed the warning in the documentation about error correction of raw data track rips, as Mednafen will now perform simple correction
	using the EDC and L-EC data(since 0.8.4-rc3).  This could conceivably cause problems with naive hacks/translations/patches that neglect to update
	the EDC and L-EC data, so it can be disabled by setting the setting "cdrom.lec_eval" to 0.
	L-EC correction is based off code from dvdisaster(http://dvdisaster.net/).

	PCE, PC-FX:  Removed some debug printf()'s that were left in 0.8.4-rc3 by mistake.

0.8.4-rc3:

	PCE:  Added preliminary(it works, but the code needs to be cleaned) ADPCM support for HES rips.

	PCE:  Interrupts will be enabled with a CLI after a HES' init routine is called, to fix rips that neglect to do it themselves.

	PCE:  Added support for HES rips that try to write data where it really shouldn't be written(some CD-ROM game rips do this), though a warning
	will be printed the first time this occurs after loading.

	PCE:  Added sanity checks to the HES loader to prevent crashes if invalid data is present.

	PCE:  Reads from the I/O port will now return D7 as clear when emulating a PCE CD game.

	PCE:  ADPCM RAM is now reset(to 0) on emulated PCE reset.

	PCE:  Sprites trying to pull tile data from $8000-FFFF of VRAM will now be invisible(probably not correct, but trying to emulate indeterminate
	effects is too difficult :b).  Fixes a minor sprite garbage issue in Camp California.

	PCE, PC-FX:  Fixed VRAM DMA source/dest increment/decrement bits(the source and dest were flipped).  Fixes a problem with Fushigi no Yume no Alice.

	Moved some code in the source root directory to appropriate subdirectories.

	Added setting <system>.debugger.disfontsize, valid settings being "xsmall", "small"(default), "medium", and "large", to control the font
	size used to draw the disassembly text.  Note that there may be overlap with other parts of the debugger at font sizes larger than the default.

	Refactored a few address space and register group debugger support functions out of individual system code.

	Fixed various low-impact memory leaks.

	The version of Mednafen last run is now stored in the configuration file as a comment(this will be necessary for changes in 0.8.5 or later
	that will involve proper escaping/unescaping and quoting of strings, to prevent problems with extra whitespace added by manually editing
	the configuration file).

	Fixed state rewinding on big-endian machines, and removed some unnecessary operations from the state rewinding code path.

	Mednafen will now refuse to try to load ROM images larger than 64MiB, as a sanity check.

	mmap() and madvise() will now be used to load ROM images, assuming they're available(UN*X only, generally).

	Errors during automatic IPS patching are now fatal.

	Sped up loading gzip'ed ROM images.

	Removed a global variable from the NES emulation code that had invaded state.cpp.  Though, this makes the error message when trying to use
	save states with authentic Game Genie emulation very unhelpful...

	GBA:  Added support for loading a real GBA BIOS ROM image, using the setting "gba.bios".

	GBA:  Added the ability to specify the backup memory type for games by creating a file with the same name as the ROM image, 
	with the extension replaced with "type", in the "sav" directory under the Mednafen base directory.
	 Example: SexyPlumbers.gba -> SexyPlumbers.type

	One or more of the following strings(on separate lines) may appear in the file:
		sram
		flash
		eeprom
		sensor

	Additionally, the flash size can be specified by specifying the size(real size, or divided by 1024) after the type, like "flash 128" or
	"flash 131072".

	PCE:  Improved noise LFSR and volume emulation, thanks to cgfm2 for the detailed information.

0.8.4-rc2:

	Added meaningful descriptions to the command.* settings.

	PC-FX:  Added an experimental feature to use mmap() to create a virtual 32-bit address space to speed up V810 instruction reads.
	Enable by setting "pcfx.use_mmap" to 1.  Of course, it won't work on 32-bit CPUs!  Please read the documentation, there are caveats!

	PC-FX:  Removed some redundant logic in the KING BG 8x1 drawing functions.

	PC-FX:  FX VCE and VDC port access are now emulated as 16-bit, as in the real PC-FX, instead of 8-bit.

	PC-FX:  Altered the debugger's memory peek and disassembly functions to not read the emulated memory map in the 0x80000000-0xEFFFFFFF region.
	(Reading those addresses can cause side effects, and this is a temporary workaround)

	PC-FX:  Changed the V810 memory read handlers to read RAM faster than BIOS ROM.  This will probably increase host CPU usage while in the BIOS
	loading screen, but decrease it in the actual game.

	PC-FX:  Altered the V810 opcode fetch logic to do 16-bit reads instead of 32-bit, fixing potential crash issues
	when Mednafen is run on CPUs that don't support unaligned memory accesses.

	PC-FX:  Factored-out a few address masks in the memory read and write handlers.

	PC-FX:  Replaced most of the V810 signed-variable bit-size converting code that uses conditional branches to code that uses 2 shifts,
	taking advantage of modern 2's-complement CPU's arithmetic right-shift capabilities.  It reduces generated machine code size slightly,
	and should provide a slight speed boost as well.

	PC-FX:  Optimized V810 address mode decoding by removing an unnecessary conditional jump.

	Added an important warning to the documentation regarding Mednafen's ripped CD image support:

		 Mednafen does *not* correct bit errors in the user data of "raw" data track rips.  It is strongly recommended to use
		 "cooked" data track rips(2048 bytes/sector for mode 1, not counting any subchannel data) with Mednafen.

	PC-FX:  Improved exception handling, and added untested emulation of the TRAP instruction.

	Debugger:  Rewrote the memory load and dump functions to be faster, and also to fix a bug in the load function that would
	trash memory if the user tried to load more data than the specified file contained.

	Debugger:  Using the Goto function will no longer cause memory edit mode to be exited.

	Debugger:  Fixed a bug that occurred when entering a prompt(goto, change charset, etc.) while in editing mode, that caused
	keyboard focus to be misdirected.

	SexyAL:  The ALSA driver will try to set smaller period sizes when lower playback rates are used.
	
	GBA:  Changed the heuristics used to detect SRAM/Flash usage, though they're still not perfect...if a game tries to use flash
	memory improperly, it could be detected as using SRAM instead, or silently corrupt parts of flash memory...

	GB:  Fixed sound register initialization on reset, fixes missing sound in A Boy and His Blob

	GB:  Slightly increased the contrast of GBC colors.

	GB:  Reworked blitting of mono GB colors for future features.

	GB:  Removed a redeclaration of a variable in the same scope in a function in gfx.cpp.

	Debugger:  Fixed PCE VRAM breakpoints to work with block memory transfer instructions.

	Debugger:  Fixed parsing of single-address breakpoints after range breakpoints.

	Mednafen will now print out SDL version information when it starts.

	(The Win32 build will now be distributed with SDL 1.2.12)

	Debugger:  Fixed -/+ opacity adjustment to not be done when entering text(such as in a dialog).

	Debugger:  Fixed null termination of the ASCII string buffer displayed in the memory watch section.

	PCE, PC-FX:  Fixed the frequency of the highest-frequency noise generation register setting, hopefully!

	PCE, PC-FX:  Changed the LFSR to 16-bit, and to use a maximized tap configuration, to make the noise sound a bit closer to a real
	PC Engine's(at least, in my opinion!  It still sounds slightly more bassy than a real PC Engine, but that might be due to filters
	on the PC Engine's sound output...).

	Non-power-of-2-sized-textures will not be used when a pixel shader is selected and enabled, to prevent a severe graphical corruption
	regression introduced in 0.8.3-beta.  I'm not sure if it's a problem with Mednafen's pixel shaders or the graphics card...

	SMS:  Fixed soft reset.

	SexyAL:  Removed smallc.c, and modified the OSS driver to use snprintf() instead of the single function smallc.c provided.

	SexyAL:  "sexyal.h" is now included before all other header files.

	SexyAL:  Revamped parts of the ALSA driver to fix reported lockup issues under certain conditions.

0.8.4-rc1:

	Added preliminary support for inputting text directly into the selected address space in the debugger's memory editor.

	Moved the temporal video blurring code in mednafen.cpp to vblur.cpp

	Added settings "filesys.snap_samedir", "filesys.sav_samedir", "filesys.state_samedir", and "filesys.movie_samedir", default 0, that when
	set to 1, will read/write the respective files from/to the same directory the game was loaded from.  If you want
	to use these, PLEASE read the documentation first, there are caveats!

	PCE CD, PC-FX:  Added support for MS WAV file offsets and lengths in TOC files.

	PCE CD, PC-FX:  Fixed a bug that caused CD-DA playback to be off by one sector(the first sector specified was being skipped).

	Began work to allow settings to be temporarily overridden during netplay and movie playback.

	PCE, PC-FX:  Added settings "pce.disable_softreset" and "pcfx.disable_softreset", default 0, which when set to 1 will disable 
	simultaneous pressing of RUN and SEL.  The current implementation kind of abuses the driver-side code that disallows opposing diagonal buttons
	being pressed at the same time, so if we ever change that (undocumented) feature to go with the last-pressed direction rather than
	clearing both, the description of these settings in the documentation will need to be updated.

	PCE CD, PC-FX:  Read operations and CD-DA playback will now be stopped when the RST signal is asserted(fixes soft reset issues on PCE CD
	games).

0.8.3-beta:

	Fixed an OpenGL function typedef in drivers/opengl.h.

	PC-FX: Writes and reads to the KING and FXVCE chips "mapped" in parts of 0xA0000000 through 0xBFFFFFFF will now go through the respective
	data port write handlers, instead of directly to KRAM or palette RAM.

	If non-power-of-2-sized OpenGL textures are not available, and bilinear interpolation or a pixel shader is enabled, and the emulated
	system resolution changes(such as on the PCE), two lines of black pixels will be written to the texture buffer to prevent the display
	of multi-colored garbage at borders, though the right+bottom borders will still be slightly darker than they should be...

	PC-FX:  Added support for VDC data port writes via writes to 0xB4000000-0xB7FFFFFF and 0xB8000000-0xBBFFFFFF in the V810's
	memory map.  Fixes major graphical problems in "Super Power League FX".

	Updated the srwcompressor description in mednafen.cfg.

	PC-FX:  KING BG1-3 scroll registers are now emulated as 10-bit instead of 11-bit(BG0's are still 11-bit), and BG1-3 virtual
	screen size is now limited to 512x512(BG0 is still 1024x1024), per the official developer documents.

	Non-power-of-2-sized OpenGL textures will now be used if the "GL_ARB_texture_non_power_of_two" extension is detected.

	Fixed a bug that sometimes would cause black screens when using the "sdl"(non-default) video driver(SDL surface per-pixel alpha blending
	was enabled when it shouldn't have been).

	PCE:  Fixed a line clearing bug when BG is disabled that was causing some minor graphical garbage on some games that
	use multiple horizontal resolutions per frame.

	Changed some nonsensical #ifdef statements that were intended to always evaluate as false with "#if 0".

	Renamed SYSTEM_CLOCK to System_Clock in scsicd.cpp to work around a potential macro conflict on OSX.

	PC-FX:  Added partial support for NEC's "scan" SCSI command, used in the BIOS' CD-DA player screen.

	PC-FX, PCE CD:  Revamped parts of the subchannel emulation code.  The PC-FX BIOS CD player screen's time display works now.  Also, an important
	note regarding cdrdao "TOC" files and "RW_RAW" subchannel data was added to the documentation.

	PC-FX:  Fixed a bug in the KING BG0 scrolling+rotation code for 16-color and 4-color backgrounds with BATs that was causing graphical
	corruption in the PC-FX BIOS CD player screen.

	Fixed a compilation error when --disable-debugger was passed to the configure script.

0.8.2-beta:

	Added blargg's experimental blz compressor, for use with state rewinding(change the setting "srwcompressor" to use it).
	(This was added a while back, after 0.8.1, but I forgot to document it)

	SMS,GG:  Added missing default key configurations.

	PC-FX:  Added untested emulation of scaling+rotation in 4-color KING BG mode.

	PC-FX:  Added emulation of scaling+rotation in 16-color KING BG mode.  Fixes a problem with the background in the last stage of Zenki.

	PCE:  Added VRAM size constants to the beginning of vdc.cpp, and modified the code to use them, to allow a certain crazy person to compile
	a custom version of Mednafen which emulates extra VDC VRAM.

	PCE:  Removed 0xEB as SBC immediate in the disassembler(it was left over from the 6502 disassembler).

	Changed setting type of setting "vdriver" to a string, with possible values "opengl" and "sdl"(and "0" and "1" for backwards compatibility,
	of course).
	
	PCE:  Set the default char set in the debugger's memory viewer to shift_jis.

	PCE:  Fixed a missing #include <iconv.h> in debug.cpp.

2007-6-17:

	PC-FX:  Improved VCE<->VDC<->KING scanline timing to fix a lockup issue in Anime Freak Vol 4(polling the FX VCE raster counter register
	vs VDC VBlank IRQs).  Unforunately, this change has caused some 1-line graphical glitches in games that do "raster effects".  This
	may be solved once/if V810 emulation has accurate cycle counts, which would require emulating instruction cache and prefetch logic. -_-;

	Fixed branch traces display in the debugger, it was broken to only display half of them twice sometime since 0.8.1.

	PC-FX:  Optimized RAINBOW JPEG-like decoding by using a static implementation of bit fetching functions(instead of a class).

	PC-FX:  Added untested emulation of the CAXI V810 instruction.

	PC-FX:  The RAINBOW transfer block count register is now emulated as being 5-bits instead of 16-bits, fixes screen issues(blue blue!)
	after defeating the snake monster in Zenki.

	PC-FX:  If a KING BG is set to BAT+CG mode, but is missing a BAT fetch microprogram, it will now be drawn in CG mode(previously, the BAT
	data was simply being forced to 0, which was wrong). It's confirmed on a real system.  Fixes missing graphics in "Tonari Princess no Rolfee".

	PC-FX:  Fixed transparency testing with 16M color KING backgrounds(only 1 Y component of every 2 pixels was being checked, now
	both are checked).

        PC-FX:  Implemented back cellophane support.  Fixes fadeouts in "Lunatic Dawn", fadeins in "Team Innocent", and screen darkening issues
	during dialogue in "Last Imperial Prince"(and also exposes a bug that LIP probably has on a real system too, wherein CCR isn't reset
	to black after the dialogue is over, leaving the upper and lower parts of the screen outside the play area slightly dark greenish).
	The hindmost color when mixing the layers is now set to palette entry #0, except when all layers are disabled(set to black),
        or front cellophane(set to black) or back cellophane(set to value in CCR) is enabled.

	PC-FX:  Added emulation of the expansion backup RAM.  While not particularly necessary since Mednafen already emulated backup memory
	separately for each game, it does give a few extra save slots to some games(such as Miraculum ^_^).

	Added opacity control(-/+) to the debugger.

	Added an always-on zero page view to the CPU debugger for NES and PC Engine.

        Reduced the size of the game thread event queue to a somewhat saner size, and added extra buffering so that its mutex is only locked for
        a minimal amount of time to eliminate the chances of deadlock with this mutex.

	GBA:  Fixed a bug that caused only half of the legacy wave sound channel's sample data to be saved.

	GB:  Updated to Gb_Snd_Emu 0.1.5, fixes hanging note problems on some games, and cleaned up the sound save state code.

2007-5-30:

	Added preliminary Sega Master System and Game Gear emulation based off of SMS Plus.

	Factored the remaining state rewinding code out of the individual systems' code.

	Fixed a minor visual bug when using state rewinding(also with save states, but it's not really visible) with the NTSC blitter.

	Simplified how state rewind requests are passed to the emulation code, and fixed a small bug when using state rewinding with
	frame advance(now, a rewind will only occur if the state rewind button is held down while the frame advance button is pushed).

	Changed a local variable name in selblur.cpp to fix compilation on OS/X(and maybe PPC in general?), thanks to Matt Beaumont
	for pointing out the conflict with a definition in altivec.h.

	PCE:  Fixed cycle counts for BRA and BSR(they were 1 too high).

	PC-FX:  Reads from I/O port 0xFC0 now return the current timer counter value.

	Parameters to MDFNI_Emulate() and the internal system Emulate() functions are now passed through a structure, to allow
	for easier future expansion.

	PCE, PC-FX:  Fixed audio track reading from physical CDs on big-endian platforms.

	NES:  Fixed a bug that caused an emulator crash if Game Genie-style cheats were enabled at the same time as authentic Game Genie
	emulation was enabled.

	Added setting "srwframes", which controls the number of save states to keep when state rewinding is enabled.

	Debugger:  Fixed a bug that caused a crash if a PC breakpoint was triggered while the debugger screen was disabled.

	Added an experimental logging feature to the debugger, currently only used by the PC-FX emulation code, to log CD-ROM read commands
	and calls to the PC-FX BIOS' glyph bitmap address function, both of which should be quite helpful in translation work...

	PCE, PC-FX:  Moved the mouse sensitivity adjustments to the driver side to fix mouse emulation with network play and movies
	when using non-default pce.mouse_sensitivity/pcfx.mouse_sensitivity settings.

	Added a few more entries to the in-emulator help screen.

	PC-FX:  Increased the keyport latch delay, and added emulation of the PC-FX mouse.

	PC-FX:  The keyport data ready flag is now reset only on low reads from the keyport data registers.

	PCE:  Fixed disassembly of the BSR instruction.

	NGP:  Fixed Z80 emulation cycle counts(they were far too low), and fixed emulation of the EI delay.

	GB:  Reworked various things, including Z80 interrupt and HALT emulation.  GameBoy emulation will be a bit more CPU intensive now,
	and save states from older versions won't work with this version(sorry!).  These changes could easily break some games, but...at least
	"A Boy and His Blob" works now!

	GBA:  Changed the file type detection code to reduce the chance of false positives.

	PCE:  Files with the extension "sgx" will now be treated as raw SuperGrafx ROM image files(AKA SuperGrafx emulation will be enabled).

	NES:  Refactored the file type detection code, so that emulation data structures and memory won't be initialized unless it's
	a recognized file type.

	NES:  NSF(but not NSFE) game/album name, artist, and copyright strings are now trimmed of leading and trailing whitespace.

	Added MDFN_trim(), MDFN_rtrim(), and MDFN_ltrim() functions.

	WonderSwan:  Fixed a buffer overflow bug in the sprite drawing code.

	GBA:  Flash and SRAM save games are now stored gzip-compressed.

	PCE:  Fixed raw bytes display of relative branch instructions in the disassembler.

	PC-FX:  Added CD-ROM data tracks to the memory debugger/viewer, read-only, however.

	The selected character set in the memory debugger/viewer will now be saved for that emulated system when exiting.

	Fixed text search in the memory debugger/viewer(iconv() was being called before the variables passed to it were initialized, oopsie).

	Simplified the scrolling code in the memory debugger/viewer, the line containing the cursor will now always be centered vertically
	on the screen.

	PCE:  Fixed an ambiguous if() statement in huc.cpp in the BRAM emulation code.

	GB:  Fixed a semi-ambiguous boolean math statement in the cpu emulation code.

	Fixed an ambiguous else statement in the throttling code in drivers/main.cpp

	NGP:  Neo Geo Pocket emulation code is now compiled with -fno-strict-aliasing to work around issues in the TLCS-900h code.

	GBA:  Removed unused ELF code.

	Fixed some implicit conversions of const char * to char *. (stupid putenv() prototype grumble mumble)

	<stdlib.h> is now included in "mednafen.h", added notes to README about system header files automatically included,
	and removed inclusions of such header files in source code files that include mednafen.h(most do, and should).  This change
	was brought about by gcc 4.3...it may not be the best way in regards to compile-performance wise, but it is more convenient
	and safer than #include'ing the system headers manually(and forgetting to >_>).

	Modified instances of "Makefile.am" to stop including the top directory in the include search path, and removed the symlink of
	config.h to include/config.h, and fixed the references to "config.h" in intl/Makefile.in.

	PCE:  Made hes.cpp use MDFN_de32lsb() and MDFN_de16lsb() from endian.cpp.

	PCE:  Changed some instances of free() to MDFN_free().

	GBA:  Un-inlined the CPUWriteMemory() function.

	GBA:  Rewrote parts of the save-game(flash, eeprom, sram) code to make more sense!  EEPROM data is now stored with a file extension "eep".
	

0.8.1:

	PC-FX:  Added more registers/SetRegister() support to the debugger.

	Trying to edit a register in a debugger register groups with a NULL SetRegister method will no longer crash Mednafen.

	NES:  Fixed a misnamed save state variable in the FME-7 code.

	Mednafen will now be compiled with "-fno-strict-overflow" if the C compiler supports that option, for the upcoming gcc 4.2 release,
	as I'm not sure this optimization is safe with Mednafen's code(it may be, but better safe than somewhat sorry!).

	PCE CD, PC-FX:  Added partial support for cdrdao "TOC" files, including support for rips with subchannel data, but it must be in the "RW_RAW"
	format.  Ripped CD+G CDs can be played back this way in the PCE CD and PC-FX BIOS CD players.

0.8.0-beta:

	PC-FX:  Improved VDC chain/256-color mode emulation.

	PC-FX:  Altered FXVCE->VDC vsync emulation.

	PC-FX:  Revamped RAINBOW code, adding support for JPEG-like encoded content, thanks to David Michel's help.

	WonderSwan:  Fixed a bug in the debugger(HAH) regarding the display of HBTimerPeriod and VBTimerPeriod(they were erroneously listed as 1-byte
	variables, when they should've been listed as 2-byte variables, which caused the values to wrap around to the other side of the screen if they
	were >= 0x100).

	GBA:  Structurized free-floating various variables...there shouldn't be any regressions, aside from save state incompatibility, unless
	typos were made(if so, please tell me!).

	PC-FX:  Added support for scrolling/rotation in 64K color mode.

	PC-FX:  The KING data structure(including KRAM) is now dynamically allocated.

	GB, GBA:  The memory for the color map/filter is now dynamically allocated.

	PC-FX:  Changed the size of the emulated X tile coordinate register when drawing KING BG, affecting in-range calculation when in 
	non-endless scroll mode.  Fixes missing eyes and mouths and other craziness in cutscenes in Chip Chan Kick.

	PC-FX:  Fixed playback of the last 4 samples of an ADPCM playback sequence, fixes crazy volume problems in "Team Innocent".

	PCE:  VDC chip data structures(including emulated VRAM) are now dynamically allocated.

	NES:  FDS and several mappers' larger data structures are now dynamically allocated.

	NES:  NSF write handler info structure is now dynamically allocated, which should reduce memory usage by 1 or 2 MiB(depending on the platform)
	on other games/files.

	PCE:  CDROM-related memory is now dynamically allocated, which should reduce Mednafen's memory usage for non PCE-CD games
	by at least 2.25MiB.

	PCE:  Added untested support for the Tsushin Booster's expansion RAM

	Replaced the hard-coded file extension tests when loading from a ZIP archive in MDFN_fopen() with code that tests extensions passed as
	a double-NULL-terminated(each entry is single-NULL-terminated) string to MDFN_fopen().

	Added QuickLZ to the codebase, and added the setting "srwcompressor" to specify which compressor to use for staterewinding,
	"minilzo" or "quicklz", with "minilzo" as the default.  QuickLZ can be considerably faster at compression than MiniLZO, though QuickLZ is written
	with x86 and x86_64 CPUs in mind, and performance will likely suffer on other platforms, and its compression ratio isn't as good
	as MiniLZO(which itself isn't that great!).

	PCE:  Added the settings "pce.adpcmvolume", "pce.cddavolume", and "pce.cdpsgvolume", for people who like music more than sound effects, or
	vice-versa for some weirdos! ;)

	PCE:  Burst mode will now be tested for when the VDC would enter the active display area.

	PCE:  Altered the relative volume of CDDA vs PSG vs ADPCM with CDROM games, based on tests done on a real system.

	PCE:  ADPCM no longer uses saturated addition for the current output value, instead just wrapping(like apparently occurs on a real system).

	PCE:  Scrapped the old SCSI CDROM code, it now uses code that was previously PC-FX only(and was abstracted to be used for both).
	The Game Express CDROM card image now works, including Game Express CD games(at least Hi-Leg Fantasy ;)).  John Madden Duo CD Football
	works.  Steam Hearts plays stage music now.  3x3 Eyes doesn't seem to have desynchronized audio anymore during cutscenes...

	Updated libmpcdec to 1.2.5(I think it was 1.2.2 previously...).

	PC-FX:  Added VRAM and FXVCE palette RAM to the debugger's memory editor.

	PCE,PC-FX:  Fixed CUE+BIN pregap handling, it was totally borked before.

	PC-FX:  Improved byte writes to KING I/O ports, fixes graphics problems in First Kiss Monogatari and Pia Carrot He Youkoso

	PC-FX:  Changed how reads/writes from/to KING registers 0x09 and 0x0A are handled.

	PC-FX:  All writes to 0x80000000-0x80000FFF are now translated to I/O port writes.

	PC-FX:  Reads from "unmapped" areas in the V810's memory address space will now return 0xFF(or 0xFFFF, or 0xFFFFFFFF).
	This fixes a lockup that could occur
	in Power Dolls FX...the game seems to be trying to use 4MiB of RAM when there's only 2MiB of RAM in a PC-FX!
	Also, while this is probably the correct value to return for unmapped areas < 16MiB, it's not correct for at least some higher addresses...
	more tests are called for, but we can't just dump the entire 4GiB address space...can we?

	PC-FX:  D4 of reads from KING register 0x05 will now be set if a SCSI CD interrupt is pending.

	PC-FX:  Fixed READ TOC SCSI command emulation.  The starting track field is no longer treated as BCD.  Silly me...  Fixes
	"Power Dolls FX" ADPCM sounds, and probably other games that have data tracks numbered 10 or above...

	PC-FX:  D0 of reads from the KING DMA status registers is now the only bit returned.

	PC-FX:  D0 of writes to the KING SCSI DMA length register is now ignored.

	PC-FX:  Started work on initial support for for KING's 1M KRAM chip mode...I need to run tests!

	PC-FX:  Reads from KING register/port 0x05 will now return the ATN and ACK SCSI status bits.

	PC-FX:  Reads from KING register/port 0x04 will now return the SCSI status bits.

	PC-FX:  Changed reads to KING registers/ports 0x01, 0x02, and 0x03 to return the last values written to those registers, rather
	than setting the bits returned corresponding to the current SCSI status bits.

	PC-FX:  Improved keyport emulation, fixes Can Can Bunny Extra DX title-screen "lockup".

	PC-FX:  Added support for negative KRAM increment values on read/write(king register 0xE).

	PC-FX:  Fixed the SCSI bits returned on port $600 reads:  D17 now returns SEL status, and D23 now returns RST status(instead of ATN).

	PCE:  Block memory transfer instructions are now emulated at 6 cycles per byte transfered(+extra if VDC is accessed) instead of 5, to 
	match tests done by malducci.  This does break Wonder Momo, unfortunately...

	Moved the Q-subchannel simulation code to the general CD-ROM reading interfaces, and made PC Engine CD and PC-FX CD emulation both use it.
	Also, the code will now set the index data field to index 0 for pregap areas, but...this is only possible when using disc images, due
	to libcdio(or CD-ROM in general) limitations. :(
	Ideally, on a physical disc, we would read the Q subchannel data directly, but...I'm not sure that all drives can read and return this
	data, and using libcdio's direct MMC functions results in much much more latency(probably because it bypasses the OS's caching
	of CDROM data), which would require an extra CDROM reader thread, which does its own caching and prefetch, in Mednafen.  Maybe later!

	PC-FX:  Fixed cmpf.s emulation, fixes lockups in "Pachio Kun FX".

	PC-FX:  Added a tidy structure to contain SCSI command numbers, CDB lengths, and function pointers.

	PC-FX:  Added support for SCSI command 0x08(READ6), which "Mahjong Gokuu Tenjiku" uses.

	PC-FX:  Removed most of the 32-bit I/O and memory read/write functions, which are now handled by calling the 16-bit functions twice.

	PC-FX:  Modified the KING background rendering code to only draw to one buffer, instead of multiple buffers that are later mixed, 
	to improve speed slightly.

	PC-FX:  The raster counter returned on reads from FX-VCE now returns correct(I hope...at least according to a simple test I did on a real PC-FX!)
	values in vblank.

	PC-FX:  SCDI CD interrupts on end of CD-DA track playback are now emulated.

	PC-FX:  SCSI CD "Test unit ready" command now expects to receive 6 data bytes total(1+5) instead of 1.
	I'm not sure if this is correct with the PC-FX, but it matches the SCSI specs, so I'll keep it this way until shown otherwise.

	PC-FX:  A17 of the effective KING BG CG and BAT addresses are now fixed to the CG and BAT offset settings, respectively, during rendering.

	PC-FX:  Added support for non-endless-scroll in BG0 rotation mode.  Fixes the title screen flipping effect for
	Last Imperial Prince.

	PC-FX:  When a VDC layer has the same VCE priority as a KING BG layer, the VDC layer will now be shown on top.  I don't know if this is correct...
	but it does fix a problem with disappearing sprites when leaving the airship in Miraculum.

	PC-FX:  Added KING BG0 scaling/rotation support, but only for 8bpp backgrounds(direct or indirect) in endless scroll mode for now...
	Fixes graphics in Miraculum(yay!) and Konpeki no Kantai.

	PC-FX:  Fixed direct CG mode width mask, corrects graphics bugs in "Boundary Gate" and others.

	PC-FX:  Added partial microprogram emulation, fixes junk graphics in Megami Paradise II.

	PC-FX:  Combined the different KING background non-endless/endless and direct/indirect rendering codepaths.  This will make it
	a bit slower, but much more maintainable and...changeable!

	SexyAL:  Added support for sound cards that don't support interleaved stereo samples...probably.

	Changed the font glyph cache to use an array of pointers instead of 2-dimensional array.  This reduces resident memory
	usage considerably, even on systems with 64-bit pointers.

	Readded the old 6x13 and 12x13 fonts for future usage in the debugger.

	Fixed the documentation to list the controls for configuring virtual devices as ALT+SHIFT+1, ALT+SHIFT+2, etc. instead of ALT+1.
	Oops.

	PC-FX:  Made fairly invasive minor optimizations/refactoring to the cellophane code...
	I *have* tested it, and hopefully it won't break anything that worked before!

	PC-FX:  Fixed a clipping bug in KING BG non-endless scrolling mode in regards to X scroll wrapping.  Fixes the disappearing boss problem in 
	Stage 2 of Tyoushin Heiki Zeroigar!

	PCE:  The soft reset function(F10 key by default) no longer soft-resets the PCE, as such a button doesn't exist on a real unit, and
	could cause problems with some games, so it causes a hard reset(the same as the F11 key) now.

	PCE:  Added PSG registers to the debugger.

	Enclosed many strings in _() or gettext_noop() for translation purposes.

	Altered po/Makefile.in.in to pass "-N" to msgmerge, to disable fuzzy string matching.  Fuzzy strings are braindead I say!

	Reworked MDFN_malloc(), it now takes a purpose, and on error, will print out the number of bytes attempted to be allocated,
	the purpose of the allocation, and the file and line number in which the allocation was attempted(through macro magic!).

	PC-FX:  Changed the 7.16MHz dot-clock emulation mode to use an internal layer 1024-pixels wide(the least-common multiple of the
	2 different screen resolutions that are mixed by the video chip), rather than having 2 different
	layers that are merged by the video code(which causes problems on edges).  This new method is much slower, unfortunately...
	The overlay code that supported this in the driver code and the interfaces have also been removed, as it is not used, and will not be used.
	ADDITIONALLY, a setting "pcfx.high_dotclock_width" has been added.  The default is, of course, 1024, but other accepted values
	are 341 and 256, though I REALLY don't recommend using 256, as it will cause dropped pixels, whereas 341 will only cause somewhat
	distorted pixels horizontally.  The advantage of using 341 over the default of 1024 is SPEED, and bilinear interpolation(if enabled) will
	work much better as well.

	PC-FX:  Fixed major problems when using more than one breakpoint of a type(read, write, etc.); it also occurred with the PCE debugger,
	but only with Aux breakpoints.

	PC-FX:  Fixed the VDC state restore code to properly recache all the tiles, instead of half of them!

	GB, GBA:  Fixed a few duplicate and misnamed variables in the save state structures.

	PCE, PC-FX:  Fixed a misnamed variable in the VDC save state structures.

	Lynx:  Removed a duplicate variable in the CPU save state structure.

	PC-FX:  Save states are now named so that they can be shared among CDs in recognized multi-disc sets(previously only .sav games were).
	This is intended to emulate "hot-swapping" as far as the game is concerned(though you will need to exit the emulator and load the second
	disc, so it isn't truly hot-swap ;)).
	When a game requests you to change the disc, the procedure is:
		Eject virtual disc(F8 key).
		Save state.
		Exit emulator.
		Load emulator with second CD.
		Load state.
		Wait for the game to load it. :b

	PC-FX:  Implemented virtual CD insert/eject, via the F8 key.

	PC-FX:  Added dummy handling of SCSI command 0x01(rezero unit), Doukyusei II no longer aborts the emulator.

	PC-FX:  Fixed bitstring instructions to fetch from the proper source address, fixes major graphics corruption bugs in "Anime Freak FX Vol. 4"
	and probably some other games as well.

	PC-FX:  Fixed RAINBOW decoding to not begin block decoding until a 0xFF is discovered in the bytestream.  Fixes some graphical problems
	in "Ojousama Sousama".

	PC-FX:  Fixed the CD-DA playback speed calculation to match with tests I performed on my own PC-FX with a pure sine wave(interestingly,
	there was some really weird frequency aliasing at +10% playback speed on a real PC-FX...).

	WonderSwan:  Refactored the SRAM and external EEPROM code, and added support for larger SRAM sizes(Dicing Knight works now!).

	PCE:  Extended the Sherlock Holmes 1 hack to Sherlock Holmes 2 as well.

	The address displayed in the "Cursor position" field in the memory viewer/debugger is now masked properly.

	PC-FX:  Fixed the ADPCM lowpass filter rolloff frequency calculation(forgot to divide by 2!).

	PC-FX:  Changed priority handling of KING background for priorities 5-7, though I don't know if the new way is correct...  fixes
		a graphical bug in "Power Dolls FX".

	PC-FX:  The ADPCM volume control registers are now emulated as logarithmic, instead of linear.

	PC-FX:  Modified 256-color VDC sprite and bg palette index calculation, to fix color problems in the 3/4 view of Ojousama Sousamou.

	PC-FX:  Altered ADPCM address emulation so that the "active" play address is 17 bits instead of 18 bits, fixes problems in several
		games(Anime Freak FX Vol. 1, Tenchi Muyo! FX), hopefully it doesn't cause any new ones. ;)

	PC-FX:	Added support for KING bitstring writes and reads, and changed maximum BGn screen dimension setting from 0x9 to 0xA.  "Boundary Gate" works
		much much better now due to these changes.


	NES:  
		NULL-terminated the debugger's list of MMC1 registers, which was apparently forgotten earlier.  Oops.

		Added MMC3 registers to the debugger.

		Added the current scanline(read-only) to the debugger's list of registers.

0.7.2:

	NES:  Added MMC1 registers to the NES debugger.

	Various cleanups(removing dead code and header declarations).

	Added settings "vblur.accum", enables motion blur accumulation mode, and "vblur.accum.amount".

	Added setting "vblur", when enabled, will (motion) blur adjacent video frames 50/50.

	Added WonderSwan emulation, based on Cygne, but greatly improved, and with a debugger.

	Modified the time base adjustment code used when sound is disabled to fix fast-forwarding when sound is disabled.

	"Fixed" a few instances of mostly harmless variable shadowing.

	Mednafen is now compiled with -Wshadow.

	Modified the save state preview rescaling code to properly(with interpolation instead of nearest-neighbor) rescale PCE games that use the 
	512pixel-width mode, or in other words... the rescaling code will now work where (fb_width / state_preview_width) <= 2 whereas previously 
	it only worked properly where (fb_width / state_preview_width) < 2.

	Errors saving save states are now propagated and reported.

	NGP:  Files with an extension of "npc" are now also treated as Neo Geo Pocket ROM images.

	PC-FX:  Added setting "pcfx.nospritelimit".

	Removed the memory dump and graphics memory dump functionality from the main debugger.  The new memory editor provides the same
	or higher level of functionality.

	Added a new memory editor to the debugger interface, accessible by pressing ALT + 3 in the debugger.

	PCE:  Added support for reduced-bit-depth background mode.

	If the ALSA driver code is unable to set stereo or mono sound, it will try mono or stereo sound instead, respectively.

	PCE:  PSG waveform RAM will now only be updated if the channel is turned off.

	glFinish() will no longer be called every frame in the OpenGL code, which should improve performance(if it causes problems, like
	tearing where there wasn't any before or decreased performance,	please file a bug report!).

	If the "glvsync" setting is 1(the default), and the environment variable "__GL_SYNC_TO_VBLANK" is not set at all(either 0 or any value),
	then it will be set to "1".  This has the effect of forcing vblank synchronization when running under Linux with
	NVidia's drivers.

	Fixed configure script option "--disable-jack".

	Lynx:  Screen rotation now works in non-OpenGL mode(SDL+framebuffer), sans scanlines support.

	Lynx:  Screen rotation now also rotates input sanely, as it did in 0.6.x and earlier versions.

	Fixed a fatal compilation error in the ALSA driver with ALSA versions < 1.0.9.

	Fixed a fatal compilation error on GCC < 3.4 in the PC-FX code.

	Added code to detect the maximum OpenGL texture size, and reworked the OSD code to use tiled drawing if a particular OSD surface is too 
	large to fit in a single texture.  This is particularly relevant to users of old Voodoo cards.  Note that tiled drawing isn't supported for the 
	main game framebuffer, so video cards with severe texture size limitations will still have problems with PC Engine and PC-FX games that use 
	higher resolution modes.

	The help screen, debugger, and cheat search interface now use their own surfaces instead of the generic OSD surface.

	Fixed(hopefully) OSD-clearing in SDL blit mode("-vdriver 1").

	Removed the option "doublebuf".  It is kind of an archaic leftover from when Mednafen did only one blit
	per frame(and had the OSD written to the game's virtual framebuffer).  Double buffering must always be enabled,
	or else screen corruption may occur.  Also, as a note, double buffering does not imply synchronizing to vblank, though
	this does occur in some situations.
	***NOTE:  Please check your scripts and frontends and remove any "-doublebuf" arguments! ***

0.7.1:
	Began work on an experimental stdio interface, see drivers/remote.cpp if you are a frontend author and can read C code, though
	it is disabled for now. :)
	Documentation for it will be written when it is closer to completion.

	Switched to trio_snprintf() from snprintf() in the input configuration code, this should fix problems under Windows(and any
	other OS with a lame snprintf() implementation)	with joystick button configurations not saving properly.

	Fixed parsing of the "sounddevice" setting(it was erroneously being compared to the long, 
	descriptive name of the driver instead of the short name).

	PC-FX:  More changes.

0.7.0:	*** Network play with this release requires Mednafen Server >= 0.3.0 ***

	PCE:  Fixed a timer reload bug.

	Added the following configure script options:
	  --enable-debugger       build with internal debugger [default=yes]
	  --enable-cjk-fonts      build with internal CJK(Chinese, Japanese, Korean)
	                          fonts [default=yes]
	  --enable-gb             build with GameBoy emulation [default=yes]
	  --enable-gba            build with GameBoy Advance emulation [default=yes]
	  --enable-lynx           build with Atari Lynx emulation [default=yes]
	  --enable-nes            build with Nintendo Entertainment System emulation
        	                  [default=yes]
	  --enable-ngp            build with Neo Geo Pocket emulation [default=yes]
	  --enable-pce            build with PC Engine(TurboGrafx 16) emulation
	                          [default=yes]
	  --enable-pcfx           build with PC-FX emulation [default=yes]

	Moved the save states display and info text message display to blit directly to the framebuffer, rather
	than to the general OSD layer(which is now only used for cheat console and debugger).

	Reworked the network play console interface to be more...usable.  It takes up much less space, is centered at the bottom of the screen, 
	the "t" button now activates text input, pressing "Enter" exits netplay console mode, and it will automatically pop 
	up(though without user input possible, unless you press "t" while it's up) for 2.5 seconds when a new message is received.

	Added support for all possible input devices to be used with network play.  

	Command-line arguments can now be prefixed with either "-" or "--".

	Fixed "--help/-help" parsing from command-line.

	PC-FX:  Increased emulation accuracy, most games still don't work correctly, if at all.

	PCE:  Fixed VRAM->VRAM DMA when destination writes occur outside of VRAM space(they're now ignored).  Fixes "Ruin - Kami no Isan".

	OpenGL page flips will now try(it doesn't seem to work with nvidia's binary driver under Linux, so use "nvidia-settings" utility instead)
	to be synchronized to vertical retrace/blanking period if Mednafen is compiled against SDL >= 1.2.10,
	controllable by the setting "glvsync", enabled by default.

	The "sounddriver" setting is now honored.  Values you can try are "default", "oss", "alsa", "dsound", and "jack".

	Added support for JACK and ALSA sound output, ALSA sound output is now preferred over OSS.

	Mednafen will now exit properly if it receives a not-fatal signal, such as SIGTERM or SIGINT.

	NES:  Fixed noise and DMC playback frequencies with PAL emulation.  Thanks to blargg for the information.

	Due to internal changes, and wanting to clean up code, save states created in versions older than 0.6.0 are no longer supported(if you have any 
	old save states you absolutely must have, load them in 0.6.5 and save them, then load them in 0.7.0).

	Added keys to increment(though a predefined list of possible devices) the currently selected device on an 
	input port(CTRL+SHIFT+1 through CTRL+SHIFT+5); note that this WILL change the setting for this port saved in the configuration file.

	PCE:  Added mouse support(use "-pce.input1 mouse").  To use it properly in windowed mode, you will need to press the "Scroll Lock"
	key.

	PCE:  Added 6-button pad support.  By default, the "M" key will switch between 2-button and 6-button modes(this is necessary
	because most non-supporting games will break horribly in 6-button mode, which happens on a real system as well).

	Revamped much of the internal input device handling.  Important user-visible changes:
		Button configuration order is slightly different, with the rapid-fire instances of buttons immediately coming
		after normal instances of the buttons.

		More buttons can now be configured for rapid-fire.

		A virtually unlimited number(instead of 4 in previous versions) of physical buttons may now be assigned to a
		virtual button or command.

		Input button settings are now saved in the text-format mednafen.cfg file.

		Famicom input devices that were previously not configurable, such as the Family Keyboard, now are; however,
		it would be unwieldy to configure the Family Keyboard using the in-emulator configuration process, so edit
		the configuration file instead.

		The NES Zapper and other devices that are emulated using the mouse can now have their buttons configured.

		The setting to manually set an input device on the Famicom expansion port has changed from "nes.fcexp" to
		"nes.input5".

		Gameboy and Gameboy Advance pad button configurations are now independent of each other.

		Save states and movies can't be accessed during HES/NSF/GSF playback anymore(does this hurt anyone?).

		Button configuration hotkey functions are now mapped to ALT+SHIFT+1 through ALT+SHIFT+5(for input ports 1-5) instead of F3, F4, and various
		convoluted combinations of F3 and F4 with CTRL and SHIFT.

	The NSF/HES/GSF player graphical code now all use the same resolution and video settings("player.*").

	Replaced the internal fixed-width 6x13 and 12x13 fonts with 9x18 and 18x18 fonts, respectively, and increased the general OSD layer
	size to 384x336 from 256x224(which has a side effect of allowing more detailed save state previews for NES and PCE).  
	The new fonts provide about 10,000 more glyphs(for a total of about 32,000 glyphs), mostly for east-Asian languages(I think this MIGHT be 
	slightly overkill, but, eh...*flees*).

	PCE:  The timer counter was being updated one instruction too late.  Fixed.  (This problem probably didn't affect
	any games, but it could have resulted in confusion while using the debugger.)

	Remapped the state rewind key to ALT+S, and added a new help screen triggered by pressing "F1".

	PCE:  The disassembler was missing opcode 0x3A, DEC.  Fixed.

	NES:  A few sound variables weren't being saved in the VRC6 and FME7 sound code.  Fixed.

	PCE:  Fixed disassembler decoding of ZP indirect addressing mode.

	NES:  Fixed unofficial opcode 0xE2 cycle timing.

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.
