0.6.3.4 (pre)
 * Add support for the parts of the KMod debug ports used by SGDK default tip.
 * Fix build breakage on OS X.
 * Specify min OS X version when making a "portable" build for that platform.
 * Prevent wait truncation in VGM logging.
 * Set initial pan bits in YM2612 register array and not just the separate lr
   field of the channel. This fixes an issue in which some channels would be
   silent in VGM log output.
 * Fix occasional deadlock on startup when using audio sync.
 * Added Wii U controller image.
 * Fix VGM delay calculation overflow when a YM-2612 write follows a PSG write 
   in close succession.
 * Add stubs for some functions in libblastem.c to fix link failures on windows
   libretro target.
 * Fix broken enum definitions that cause multiple definition errors when
   building with -fno-common which is now the default in GCC 10.
 * Fix libretro target on windows.
 * Enter debugger when a VDP data port read would cause a CPU lockup.
 * Fix regressions from most recent address/cd latch change. Need to do more
   research still, but probably good enough for now.
 * Update cycle to VGM sample conversion based on ValleyBell's suggestion.
 * Fix regressions in Monster World IV and Sonic 3D Blast caused by address
   latch changes.
 * Add stop command to end of recorded VGM stream.
 * Somewhat buggy implementations of shift instructions in new 68K core.
 * Fix 68k test harness target, add cycle count to output and add a cycle limit.
 * Fix cycle timing of a number of 68K instructions.
 * Add ROM DB entry for Sonic Delta.
 * Fix handling of unmapped reads/writes to the cart/expansion port region.
 * Fix libretro target.
 * Fix vgmplay target.
 * Fix merge error mame_interp.
 * Merge from default mame_interp.
 * Fix regression in Mode 4 support caused by address/cd latch changes.
 * Go back to unpausing audio in render_video_loop to ensure the core is no
   longer running on the main thread when audio callbacks start when using run
   on audio thread mode.
 * Less hacky run on audio thread mode.
 * Don't hold frame queue mutex while rendering.
 * Fix regression in run on audio thread mode.
 * Allow use of NPOT textures as a config option. Useful for some mobile GPUs.
 * Specify desired language when invoking fc-match to find an appropriate font
   on Linux.
 * Avoid expensive re-init from switching to external sync after render_init has
   been called.
 * Better handling of pad assignment to remotes.
 * Fix handling of remote disconnects.
 * Fix "full" deflate flush so multiple remotes can successfully join.
 * Add an event log soft flush and call it twice per frame in between hard
   flushes to netplay latency when there are insufficient hardware updates to
   flush packets in the middle of a frame.
 * megawifi: implement CMD_DATETIME.
 * megawifi: implement UDP sockets.
 * megawifi: use util module socket functions for WIN32 compatibility.
 * Make netplay remote sync to network rather than audio or video so it doesn't
   drift out of sync with the host.
 * Skip setting AI_NUMERICSERV in megawifi code on Windows for now so min SDK
   version does not need to be bumped.
 * More correct implementation of byte printing in builtin debugger.
   Fix GDB debugger to use helper in backend.c for reading bytes.
 * Apply fixes to helper functions in backend.c from interp branch.
 * Add support for printing a byte from memory in native debugger. Add stubs
   for GDB commands qThreadExtraInfo and qP.
 * Implement CMD_HRNG_GET, CMD_GAMERTAG_GET and CMD_LOG.
 * Implement CMD_TCP_CON command.
 * megawifi: stub common commands to get config.
 * megawifi: refactor and update commands.
 * Use zlib to compress event log streams.
 * Fix some netplay issues.
 * Netplay protocol size optimization.
 * Fix awful playback latencin in new netplay implementation.
 * Properly initialize Genesis reset cycle on startup. Fixes crash in GDB
   remote debugger when stepping past the first two instructions.
 * Fix some questionable comparisons between 64-bit values and literals that fit
   in 32-bit integers.
 * Remove usage of GCC pointer arithmetic on void * extension.
 * Add missing file from new 68K core.
 * Fix non-Windows build break from Windows compat changes.
 * Get WIP net play code compiling on Windows and cleanup
   some unistd.h includes.
 * Fix short event format decode bug.
 * Add missing netplay files and add in support for sending gamepad commands
   back to host.
 * WIP netplay support.
 * Fix addrinfo leak in GDB remote debug support.
 * Fix vgmplay target.
 * Kill the stateview target as it is not very useful these days and
   breaks a lot.
 * Fix instruction timing for addq.w #i, (ay) in dynarec.
 * Implement 68K or and sub instructions in new core.
 * Implement 68K eor instruction in new core.
 * Implement 68K and instruction in new core.
 * Fix autogenerated temp variables in interrupt subroutine in CPU DSL.
 * Fix resuming 68K core when using interpreter mame_interp.
 * Merge from default mame_interp.
 * Allow override of SDL2 include path for "portable" builds.
 * Allow specifying a default font path at build time.
 * Make requested sample format configurable.
 * WIP new sync mode that runs emulation on audio thread.
 * Merge from default mame_interp.
 * Fix stateview target.
 * Fix regression in Konami games from address/cd latch changes.
 * Admit defeat on the "trying to write CRAM dots while output is null issue"
   for now and just add a null check.
 * Update libretro target to use render_audio shared audio code.
 * Add memory hook for genesis/megadrive save and cheevos support.
 * Don't apply address and cd register changes to the 'live' registers until
   pending flag is cleared, but do preserve the upper address bits in the latch.
   Fixes regression in Overdrive 2 while preserving fix to Mona in 344 bytes.
 * Add memory hook for cheat/rumble/cheevos support.
 * Added implementation of printing PC in 68K debugger.
 * Added soft reset command to debugger. Added more debugger help.
 * Added help commands to debugger.
 * Use proper memory map in Z80 debugger for memory printing.
 * Z80 HALT isn't really terminal. Fixes bug in Z80 disassembler.
 * Fix bug in in (c) instruction in Z80 dynarec.
 * Top bits of address register should be cleared on partial command word write.
   Fixes Mona in 344 bytes demo.
 * Make sure fallback memory region is always last.
 * Don't lockup on writes to !TIME or !FDC regions regardless of whether
   anything is mapped there.
 * Reading from Z80 bus when Z80 is not bus requested should return open bus.
   Fixes regression in Metal Sonic Rebooted.
 * Fix regression at the very start of The Revenge of Shinobi.
 * Skip invalid registers when dumping initial YM2612 state to VGM log.
 * Fix PSG frequency written to VGM header when logging.
 * Expose vgm toggle keybind in settings UI.
 * Initial stab at VGM logging support.
 * Fix stateview target.
 * Some partial work on TMSS registers, more accurate open bus locations and
   implement machine freezes for unmapped areas in the IO region.
 * Make VDP VSRAM capacity respect model selection.
 * Fix fm setting for Model 3 VA2.
 * Implement selectable YM2612/YM3834 invalid status port behavior.
 * Fix edge case in Z80 interrupt handling. Fixes music in Metal Blast 2277.
 * Fix YM2612 busy flag timing.
 * Set version reg and TAS behavior based on model config.
 * Added UI for selecting configured model.
 * Fix crash in OD2 Titancade scene when border is completely cropped by
   overscan settings.
 * Make sure save_type is properly initialized.
 * Fix crash in 68K debugger from forced VDP frame update when framebuffer
   is not acquired.
 * Reset 68K supervisor state and interrupt mask on soft reset.
 * Fix debug view window stuff that got broken when FRAMEBUFFER_UI got added.
 * Fix regression in handling of color index 0 in Mode 4. Support Mode 4
   in CRAM viewer window.
 * Only look at low 24-bits of reset vector in ROM type detection heuristic.
 * Properly mask addresses to 24-bit in disassembler.
 * Wait to reacquire framebuffer so that switching to UI does not require
   pushing a new frame if it happens in between bottom and top of display.
 * Hopefully final fix for line advancement/frame end calculation.
 * Report more accurate frame and sample rates to frontend in libretro target.
 * Fix regression in H32 from fine scroll optimization.
 * Small optimization to read_map_scroll.
 * Optimized sprite rendering.
 * Calculate fine scroll once per line for a small speedup.
 * Slightly gross fix for edge case introduced in border cropping change.
 * Implement interrupts in call dispatch mode in CPU DSL.
 * Implement overscan crop in libretro target.
 * Don't render lines that are cropped by overscan. Allows submitting frame
   earlier when bottom overscan is non-zero which can reduce latency
   in some cases.
 * Cache operator phase increment for a small perf improvement.
 * Split ym_run into a few different functions to enhance clarity.
 * Small optimization to render_normal and a minor bugfix in left border
   debug register handling.
 * Fix sprite rendering regression introduced by H40 line at
   a time optimization.
 * Only do full sync on VDP data port reads instead of all VDP port reads,
   provides a perf bump for games that busy wait on the status or HV registers.
 * Small optimization to render_map in VDP code.
 * Draw entire lines in H40 mode when possible. Still seems to have an edge case
   or two, but mostly working well.
 * Fix regression in sprite rendering in H32 mode.
 * Forgot to commit the header changes.

0.6.3.3 (pre)
 * Fix debug register output regression in border region
 * Forgot to commit the header changes

0.6.3.2 (pre)
-------------
 * Properly handle freeing a paused audio source. Fixes crash when repeatedly
   reloading a ROM or loading a sequence of different ROMs.

0.6.3.1 (pre)
-------------
 * Differentiate between the full Sega mapper and the SRAM only one
 * Split generic part of audio code into a separate file so it can be used in
   other targets besides SDL
 * Add input descriptors for remapping from the 'controls' menu
 * Rework sprite rendering phase 3 to better match behavior documented by
   Kabuto/Titan and fix edge case in sprite overflow flag that was breaking
   the RPS minigame in Alex Kidd
 * Fix libretro and stateview targets
 * Fix accuracy bugs used by Novedicus to detect BlastEm/Exodus

0.6.2.1 (pre)
-------------
 * Added icon in PNG format
 * Fixed warnings in compilation - vgmplay.c
 * Resolution of the changed window and the nearest scale
 * Manpage created with basic commands
 * Added readme.md with basic emulator summary
 * Added desktop file
 * Fixed test.c file
 * Added -g in GCC to appear debug information during compilation
 * Spelling errors fixed in file
 * Removed the hgignore hidden file
 * Disabled warning Wincompatible-pointer-types
 * Makefile: Make pkg-config substitutable
 * Spelling errors fixed in file
 * Fixed the FTBFS due to enabled hardening build flags for packaging
 * Makefile: Commented line: error $(CPU) is not a supported architecture

0.6.2
-----
*New Features*

 - Zipped and gzipped SMD ROMs are now supported
 - Gain control for overall volume and FM/PSG invidually
 
*Accuracy/Completeness Improvements*

 - Fixed timing of a few instructions in Z80 core
 - Added optional emulation of YM2612 imperfections (aka "ladder effect")
 - Fixed some unintentional extra precision in some FM LFO calculations
 - Added a 1 sample delay in some FM operator results when used as modulators to match hardware

*Bugfixes*

 - Fixed regression in NBA JAM TE and possibly other 32MBit Acclaim mapper titles
 - Added code to handle controllers that have their d-pads mapped as buttons or axes
 - Removed some problematic SDL2 game controller mappings
 - Fixed crash that occurred when releasing mouse too clickly when loading a ROM
 - Fixed SMD ROM support
 - Fixed handling of audio contexts with more or less than 2 channels
 - Fixed off-by-one error in IO device selection UI
 - Fixed regression in GDB remote debugging support on Linux and OS X

*Other Changes*

 - MegaWiFi hardware can now be enabled by a header string (still gated by config)
 - Tweaked the style of checkboxes in the Nuklear UI to hopefully make the on/off state more clear

0.6.1
-----
*Bugfixes*

 - Fixed build script so controller images are actually included so UI doesn't crash
 - Disabled most bindings when UI active (fixes crashes/wonkiness when pressing certain keys)
 - Fixed Windows implementation of get_config_dir() so config file ends up in %localappdata%\blastem like it should
 - Fixed the location of sticky_path on all platforms
 - Added virtual root directory used by ROM UI to new Nuklear UI

0.6.0
-----
*New Features*

 - New Nuklear UI with almost complete access to configuration options
 - Added support for creating SDL2 mappings from inside the emulator
 - Loading ROMs from ZIP archives is now supported
 - Loading gzip compressed ROMs is now supported
 - Internal screenshots can now be in PNG format
 - New VDP plane debug view
 - VDP debug views are now in separate windows
 - Experimental support for sync to video (not enabled by default)
 - Preliminary support for MegaWifi cart emulation
 
*Bugfixes*

 - Fixed a number of 68K decoder bugs (mostly illegal instruction decoding)
 - Fixed implementation of the UNLK instruction when register is a7
 - Fixed a number of memory leaks
 
 *Accuracy/Completeness Improvements*
 
 - Added support for J-Cart emulation
 - Implemented Z80 interrupt mode 2
 - Fixed the timing of a number of 68K instructions
 - Fixed the timing of the Z80 JP cc, nn instruction
 - Fixed the order bytes of a word are written to VRAM from the FIFO (fixes minor corruption in Road Rash 3 bike menu)
 
*Other Changes*
 - Added support for Open GL ES in addition to the existing desktop GL support
 - Some small optimizations
 - Added ROM DB entry for Squirrel King to support it's copy protection
 - Added support for float32 audio output (fixes an issue with default SDL2 driver in Windows when using more recent SDL2 versions)
 
0.5.1
-----
*New Features*

 - Drag and Drop is now supported for loading ROMs
 - Save states are now supported for SMS games
 - Texture scaling method (linear or nearest neighbor) can now be selected in both renderers
 - Menu now filters files based on a configurable extension list
 - Lock on carts (Sonic & Knuckles and XBAND) can now be loaded via the menu
 - ROMs can be reloaded via a hotkey (defaults to F5)
 - Last path visited in the menu is now saved between runs (can be turned off via config)
 - Window height can now be specified in the config file
 
*Bugfixes*

 - Default shader doesn't look like garbage in interlaced mode anymore
 - Framebuffer pointers are properly released and reacquired on context switch (no more LOCKRECT errors)
 - ROMs specifying SRAM at the normal RAM address no longer cause a crash
 - Fixed an edge case in the s(tep) debugger command
 - Entering the option menu in Dragon's Fury no longer results in a fatal error in 32-bit builds
 - Screen is properly cleared so garbage will not appear when the window does not match the emulated display size
 - Fixed a regression in XBAND keyboard support

*Accuracy/Completeness Improvements*

 - Locking on Sonic 3 to S&K will now use Sonic 3's save RAM
 - Locking on a 4MB cart to S&K will now behave like on hardware
 - Support for several X-in-1 bootleg carts has been added
 - DMA from byte-wide SRAM now yields correct results
 - VScroll is now latched earlier in the line (fixes minor glithces in Top Gear 2 and Skitchin)
 - Sega/SSF2 mapper support now handles homebrew that uses SRAM
 - ODD flag timing now matches hardware
 - V counter as read from HV port is now correct in single-resolution interlace mode

*Other Changes*

 - Added a "subtle" CRT shader contributed by Anaël Seghezzi
 - Mouse is now only captured if an emulated mouse is plugged in to the emulated system
 - Missing mapping warnings will only be displayed for the first mapping of a controller
 - Save states now default to a format native to BlastEm
 - Remaining I2C EEPROM games have been added to the ROM DB
 - When not specified, height now respects the aspect setting rather than assuming 4:3
 - Pre-combined S&K ROMs and large (>2MB) S&K hacks should now work
 - Using ui.exit (default Escape) can now be used to cleanly cancel a load ROM or savestate action
 - Save states are now allowed in a more extensive range of Z80 states, fixing save state saving in some games

0.5.0
-----
*New Features*

 - SMS emulation in the form of the Gensis/MD's backwards compatibility mode
 - Added support for SMS controllers
 - Support for the mapper used by Realtec games
 - Support for carts with fixed value registers
 - Support for enough of the XBAND cartridge hardware to allow the menu to boot
 - Basic XBAND keyboard emulation
 - Configurable display overscan
 - Fullscreen mode can now be toggled at runtime
 - Window can now be resized at runtime
 - Support for "semantic" controller button names in the gamepad mapping using SDL2's game controller API
 - Analog axes can now be mapped to emulated gamepad buttons or UI actions
 - System soft reset
 - Keyboard can now be captured when a Saturn or XBAND keyboard is connected to the emulated system
 - Internal screenshots that bypass all output filtering/overscan
 - Homebrew using the "SSF2 Mapper" is now supported via header detection like on the Mega Everdrive
 - Directory used for SRAM, EEPROM and savestates is now configurable
 - Path configuration values can now contain both BlastEm-specific and environment variable references
 - Open GL based rendering can be disabled in favor of the SDL2 render API fallback
 
*Bugfixes*
 
 - Fixed a bug that would cause a crash in certain games that have SRAM and ROM at the same address
 - Fixed some issues with Z80 interrupts that caused issues with sound/music in Sonic 2 and Puyo Puyo 2
 - Z80 debugger no longer crashes when resuming execution
 - Undocumented Z80 instruction "out (c), 0" now decodes properly
 - GDB remote debugging should now work with more recent versions of GDB
 - GDB remote debugging should now work on more recent versions of Windows
 - Overlapping instructions in self-modifying code no longer causes incorrect behavior
 - Z80 instructions "in c" and "out c" now work correclty on 32-bit builds
 - Specifying an output audio frequency higher than the FM frequency no longer deadlocks the emulator
 - Fixed memory map generation for games with 3MB ROM and SRAM at the 3MB mark 
 
*Accuracy/Completeness Improvements*

 - YM2612 SSG-EG and CSM modes are now implemented
 - VDP Mode 4 is now implemented in both Genesis and SMS mode
 - Basic emulation of refresh delays has been added
 - 68K interrupt latency has been made more accurate
 - CRAM contention artifacts (aka CRAM dots) are now emulated
 - DIVU/DIVS and MULU/MULS are now cycle accurate
 - MOVEM now performs the extra ignored read and has correct timing
 - The timing of serveral other 68K instructions has been fixed
 - Implemented 68K trace mode
 - SBCD flag calculation now matches hardware in 100% of cases
 - 68K -> VDP DMA now properly has a delay at DMA start rather than at the end of the transfer
 - A number of illegal effective address mode/operation combinations now properly decode as illegal instructions
 - Added emulation of the slow rise time of an IO pin that was changed to an input when it was previously outputting 0
 - Partial support for the VDP test register
 - Partial support for the 128KB VRAM mode bit
 - Improved accuracy of low level sprite rendering details
 - Fixed handling of active/passive display transitions so that border extension tricks work
 - Fixed handling of horizontal interrupts in extended display areas
 - More accurate correspondance between horizontal counter and raster beam
 - Partial emulation of serial IO registers
 
 *Other Changes*
 
 - Added Japanese version of Street Fighter 2: The New Challengers to ROM DB
 - Added the following EEPROM games to ROM DB:
       Ninja Burai Densetsu
       Rockman Mega World
 - Added ROM DB entries for the following games with incorrect region headers: 
       Another World (E)
       Alien Soldier (J)
       Light Crusader (J)
       Castle of Illusion - Fushigi no Oshiro Daibouken (J)
       Atomic Robo-Kid (J)
 - Added ROM DB entries for the following games which are incompatible with 6-button controllers:
       King of Monsters
       Combat Cars
       Second Samurai
       Dungeons & Dragons - Warriors of the Eternal Sun
 - Added ROM DB entries for the following games with fixed value registers:
       Ya Se Chuan Sho
       16 Zhang Ma Jiang
       Elf Wor
       Huan Le Tao Qi Shu: Smart Mouse
       Mighty Morphin' Power Rangers: The Fighting Edition
       Super Bubble Bobble MD
       Thunderbolt II
 - Added ROM DB entries for the following games that have bad/missing SRAM headers:
       Hardball III
       Might and Magic - Gates to Another World
       Might and Magic III - Isles of Terra

0.4.1
-----
*New Features*

 - Basic support for the Saturn Keyboard adapter peripheral
 - You can now navigate up to a drive selection on Windows
 - Added support for binding more "special" keys
 
*Bugfixes*

 - It's now possible to navigate to the root directory on Unix-like systems
 - Fixed a bug in movep.l
 - Fixed a crash bug in the memory management code
 - Fixed a bug in the header parsing code, that caused a crash when the "International Name" field was empty
 - Fixed some minor graphical corruption in Sonic 2 split-screen caused by a bug in vflip combined with interlace mode
 - Corrected the PC value pushed onto the stack for line A emulator and line F emulator traps
 - Fixed a bug in ensure_dir_exists that would cause it to fail to create directories in some cases when mixed path separators were used
 - Fixed a bug that would result in a buffer overflow when starting a game with a long title from the menu
 
*Accuracy/Completeness Improvements*

 - All Z80 instructions are now implemented
 - Z80 Half-carry flag is now fully implemented
 - Implemented undocumented Z80 flag bits
 - R register is now incremented appropriately
 - Redundant opcode prefixes are now handled properly
 - Z80 core now passes ZEXALL!

*Other Changes*

 - Added Buck Rogers to the ROM DB
 - Added Wonder Boy in Monster World to the ROM DB (for real this time)
 - Added Evander 'Real Deal' Holyfield's Boxing to the ROM DB
 - Slightly better handling of directory read errors
 - Added "Special Thanks" to About menu
 - Use local app data folder for saves and config files on Windows rather than Unix-style locations

0.4.0
-----
*New Features*


 - Genesis ROM based Graphical User Interface - command line is no longer required for basic functionality
 - Added support for the Mega/Sega Mouse
 - Configurable low pass filter
 - 68000 overclock and underclock
 - Scanlines can now be controlled via the config file and defaults to off (previously was always on)
 - VSync can now be specified via the config file and defaults to off (previously just used the OS/driver default)
 - Fullscreen mode can now be specified via the config file in addition to the command line flag
 - New 68K debugger command 'co' allows a list of commands to be run each time a breakpoint is hit
 - 68K debugger now supports the 'di' command like the Z80 debugger
 - New debugger command 'yt' displays YM-2612 timer info
 - Added support for controller hotplug (game controllers don't need to be plugged in before starting BlastEm)
 - IO devices can now be automatically configured by ROM DB entries

*Bugfixes*

 - Fixed calculation of window start column - removes graphical glitches in Afterburner 2, Fireshark, Dungeons and Dragons: Warriors of the Eternal Sun and probably others
 - Fixed the implementation of LDD and LDDR
 - Fixed ABCD/SBCD - eliminates the score counter problem in Bubsy
 - Fixed btst when used with immediate destination - Fixes a crash in NHL 95
 - Fixed YM-2612 attack phase and sustain level
 - Fixed mapping of YM-2612 key on/off bits to operators
 - Fixed YM-2612 LFO AMS shift values
 - Fixed YM-2612 LFO phase modulation
 - Fixed mapping of registers to operators in Channel 3 special mode (for real this time)
 - Fixed a small bug in YM-2612 timer reloads
 - Fixed peripheral ID for 3-button pad
 - Accesses by the 68K to the low 4MB of the address space, but outside of the defined ROM will no longer cause a crash
 - Config files and shaders saved with Windows-style line endings will no longer fail to load
 - Fixed a crash bug on Windows by properly detecting invalid destination modes for immediate variant opcodes

*Accuracy/Completeness Improvements*

 - All 68000 instructions are now implemented
 - Implemented 68000 privilege, address error and illegal instruction exceptions
 - Z80 half carry flag is now implemented for the trivial cases
 - Fixed timing of the Z80 IM and certain LD variants
 - Implemented interrupt latency - Fixes Sesame Street: Counting Cafe
 - Interrupts are know acknowleged based on what the VDP thinks its asserting rather than what the 68K actually is acking - Fixes Fatal Rewind
 - Improved timing of 68000 interrupt processing
 - Improved timing of Z80 busack response - Fixes a crash in Barkley: Shut Up and Jam
 - Adjusted the amount of time the 68000 is blocked during DMA - gets rid of remaining part of "YOUR EMULATOR SUX" text in overdrive
 - Corrected order individual words of a longword are written when the predecrement addressing mode is used as the destination of a move instruction
 - Adjusted relationship between Horizontal counter and render events to better match tests/measurements
 - Adjusted vertical interrupt timing to better match measurements
 - Improved timing of 68K/Z80 interactions based on tests

*Other Changes*

 - Z80 disassembler now supports a start offset parameter: -s
 - Windows build now uses link time optimization like the others
 - Optimized the VDP code
 - Improved audio resampling
 - Added Mega Man - The Wily Wars to ROM database
 - Added Wonder Boy in Monster World to ROM database

0.3.1
-----
*New Features*

 - BlastEm will now open a new terminal window when starting the debugger if it's not attached to one
 - Errors are displayed in a message box if no terminal is attached
 - Pure SDL render path for when OpenGL 2 is unavailable (thanks Higor Eurípedes)
 
*Bugfixes*

 - GDB remote debugging works again
 - Fixed a name conflict that prevented vgmplay from being built on OS X
 
*Other Changes*

 - Windows build now includes the disassemblers, VGM player and save state viewer

0.3.0
-----
*New Features*

 - 32-bit x86 CPUs are now supported
 - BlastEm is now available for OS X and Windows
 - Finished support for the Sega mapper used by Super Street Fighter 2
 - Added support for EEPROM saves
 - Added support for large flat-mapped ROMs (used by some homebrew ROMS)
 - New 68K debugger command bt (backtrace)
 - I/O devices (gamepads and other peripherals) can now be configured in blastem.cfg
 - VDP Debugger views from before 0.1.0 have been restored
 
*Bugfixes*

 - Partial emulation of floating bus bits for certain I/O regs (fixes Super Offroad 2)
 - Fixed shadow/highlight mode
 - Implemented AM and fixed LFO update speed
 - Fixed negative detune values
 - Corrected register to operator mapping for channel 3 special mode
 - Initial stab at emulating cycles being stolen from the 68K when the Z80 accesses its bus
 - Better handling of creating a savestate in "uncooperative" games/demos
 - Implemented VSCROLL latching
 - Fixed a bug that would corrupt the Z80's SP register in some situations
 - Fixed PAL flag in VDP status register
 - Fixed HV counter
 - Fixed flag calculation for RRA, RRCA, RLA and RLCA
 - Fixed instruction timing for RR, RRC, RL and RLC when using the IX or IY registers
 - Fixed access to the I and R registers

*Other Changes*

 - Upgraded to SDL2
 - Dropped suport for the non-OpenGL render path
 - Linux builds should now work on something other than the specific version of Ubuntu I happen to be using at build time
 - BlastEm now syncs at least once per line by default. You can change this behavior with the max_clocks config value

0.2.0
-----
*New Features*

- Added Turbo and Slow modes that overclock and underclock the system respectively
- Added FPS counter
- New OpenGL render backend that allows filters to be written in GLSL
- Support 'UI' bindings on gamepad buttons and dpads
- GDB remote debugging support
- New debugger 68K debugger commands o, s and zp (see README for details)

*Bugfixes*

- Fixed argument handling so that the ROM filename does not need to be specified first
- Don't allow register writes to Mode 5 only regs when in Mode 4
- Fixed a bunch of VDP edge case behavior checked by Nemesis's test ROM
- Fixed operator 1 self-feedback
- Fixed handling of envelope overflow in attack phase
- Fixed handling of channel output overflow
- Adjusted FM and PSG volume to better match real hardware
- Improved YM-2612 busy flag emulation
- Properly sync hardware at end of frame when the 68K is blocked by DMA
- Approximate wait state behavior when the Z80 accesses the 68K's bus
- Implemented HV counter latch
- Implemented sprite overflow and collision flags

0.1.0
-----
Initial Release
