Changes in version 2.0.11.2
---------------------------

  * increased Enterprise maximum sound clock frequency to 1.25 MHz for
    accurate emulation of machines with 10 MHz CPU
  * fixed FILE: bug in re-opening read only files
  * fixed keys "sticking" because of buggy FLTK file chooser on Linux
  * fixed Z80 clock stretching on debug writes to NICK ports
  * added support for new formats in epcompress (-m1, -m4, and -m6)
  * epcompress -m2 is slightly more efficient but slower at -8 and above
  * experimental support for MIDI port emulation using PortMidi
  * fixed formatting floppy disks with 11 sectors per track
  * fixed floppy drive ready signal in EXDOS
  * added support for comments (beginning with ; or #) in the breakpoint
    list, and reading breakpoints from SjASM export files

Changes in version 2.0.11.1
---------------------------

  * fixed error on Windows with non-ASCII characters in the user name

Changes in version 2.0.11
-------------------------

  * implemented Videoton TVC emulation
  * the epimgconv utility has a graphical user interface now, and it can
    also convert images to TVC format
  * various improvements and new features in the epcompress utility
  * SID card emulation using reSID 1.0
  * the debugger window has been made resizeable within a limited range
  * improved support for Unicode characters in file names on Windows
  * unformatted or non-FAT floppy disk images default to 80/2/9 geometry
    if the file size is 737280 bytes
  * fixed bug in re-opening files selected with a file chooser dialog
  * fixed FILE device bug in EXOS 10 with files larger than 64 KB
  * some other bug fixes

Changes in version 2.0.10
-------------------------

  * implemented mouse (EnterMice) support in the Enterprise emulation
  * when loading a snapshot from the command line, the machine type is
    autodetected from the file if not specified
  * window icons have been implemented on non-Windows platforms if the
    emulator is built with FLTK 1.3.3 or newer
  * on the Enterprise and CPC, the external joysticks can now have a
    second and third fire button, configured as keys 0x75-0x76 (EXT1)
    and 0x7D-0x7E (EXT2)
  * more accurate emulation of NICK port reading and floating data bus
  * improved timing accuracy of NICK and DAVE port I/O (this may break
    compatibility with some demo files recorded with older versions)
  * implemented EXOS function 10 (set and read channel status) in the
    FILE: device and epfileio.rom
  * screenshots are saved in PNG format instead of BMP
  * new Lua functions: writeROM(), writeWordROM(), and loadROMSegment()
  * building with Lua 5.2 or 5.3 is now supported
  * added support for building 64-bit Windows binaries
  * OpenGL has been made an optional dependency at compile time
  * epimgconv and other utilities are included with the emulator package
  * snapshot and demo files can be compressed in epcompress format
  * experimental SD card emulation using code from LGB's Xep128,
    included only if enabled at compile time
  * various bug fixes and minor optimizations

Changes in version 2.0.9.1
--------------------------

  * some debugger changes related to ignore breakpoints
  * it is possible to delete single breakpoints in Lua scripts by using
    a negative priority value
  * minor 6845 CRTC emulation bug fix
  * fixed bugs in closing the debugger window with the Esc key

Changes in version 2.0.9
------------------------

  * implemented CPC floppy drive controller (uPD765) emulation:
    - it supports standard and extended .DSK image files, as well as
      using a real disk in the PC floppy drive (the latter is not very
      useful in practice, since it is limited to standard PC format DD
      (720K) disks, which are not supported by AMSDOS)
    - 4 drives can be emulated (although AMSDOS will only use 2)
    - there is (not perfect) emulation of the timing of disk rotation,
      stepping, head (un)load, and data transfers; however, this may
      not work if the image file includes a track format that is not
      possible on a real DD disk (~6250 bytes per track)
    - the FORMAT TRACK (0x0D) command is unimplemented - it will always
      report a write protect error
    - the floppy drive emulation has not been tested extensively yet,
      so there may be problems with unusual disk formats, rarely used
      FDC commands and parameters, and some copy protections
    - reading the I/O ports 80H-9FH in the debugger will return some
      debugging information about the FDC emulation (see the README file
      for details)
    - changes to the installer/packaging: new machine configuration
      files have been added that include AMSDOS (the default is now
      CPC 6128 with AMSDOS), the disk.zip package includes an empty CPC
      disk image, and on Windows .DSK files can be associated with the
      emulator
  * the CPC video emulation now supports half-character resolution
    scrolling by changing the horizontal sync width
  * improved 6845 CRTC emulation accuracy, fixing problems in some CPC
    games
  * it is possible to disable software control of the tape motor (this
    is useful mainly to work around some buggy Enterprise software)
  * when using the PC floppy drive and a real disk for WD177x emulation,
    the geometry parameters are now also queried from the system on
    Linux
  * if the WD177x emulation detects a valid FAT header at the beginning
    of a disk or image, it checks the geometry stored there, and if it
    does not match the emulated hardware geometry, an error is reported;
    this can be disabled by specifying all three parameters manually
  * the Windows installer uses new download locations for the ROM
    package, since the previous ones no longer work
  * the ROM package has been updated (new versions of Enterprise ROMs)
  * minor fixes/improvements in DAVE and NICK emulation
  * on the first page of the debugger window, the memory dump can now
    also display I/O ports
  * the debug display of I/O registers has been changed slightly for CPC
    (shows the currently selected CRTC register, and the CRTC memory
    address)
  * the monitor emulation allows less difference from the standard
    vertical refresh rate than in the previous versions
  * a 189 MB (12x15.75 MB FAT12 partitions) .VHD file has been added to
    the disk image packages
  * the Windows installer now includes LuaJIT 2.0.0 beta5 in addition to
    the stable 1.1.6 version. To use the faster beta version, copy or
    rename lua51-2.dll to lua51.dll, removing or renaming the original
    lua51.dll file
  * some optimizations in Enterprise and CPC emulation

Changes in version 2.0.8.1
--------------------------

  * some CPC emulation bugs have been fixed

Changes in version 2.0.8
------------------------

  * implemented ZX Spectrum 48/128 and Amstrad CPC emulation; for now,
    only a basic configuration of these machines is supported (there is
    no disk emulation yet), although the emulation accuracy should be
    good. See the README file for more details
  * new command line options for selecting the machine type to be
    emulated: -ep128, -zx, and -cpc
  * undocumented Z80 flags are emulated more accurately - the only
    instruction that is still not correct is 'BIT n, (HL)'
  * fixed bug in the emulation of DAVE port B6H, which prevented some
    games from working
  * reduced the time before the floppy write buffer is flushed from 4
    seconds to 1 second
  * the editor buffer in the monitor has been increased from 120 to 160
    lines
  * the monitor TR (trace) command has a new optional parameter now that
    controls the printing of additional information about the video
    position and Z80 registers
  * new Lua functions: readWord(), readWordRaw(), writeWord(),
    writeWordRaw(), getIFF1(), getIFF2(), setIFF1(), setIFF2(),
    getVideoPosition(), and getRawAddress(); these are documented in the
    README file
  * detailed information about Lua errors is now also printed if the
    error occurs in an extension function implemented by the emulator
  * segment:offset style breakpoints allow the offset to be greater than
    3FFFH (the two most significant bits are ignored, but must match
    when specifying an address range)
  * the Z80 disassembler in the debugger now supports more undocumented
    instructions
  * fixed bug in the Lua example script
  * the file I/O extension ROM (epfileio.rom) has been modified so that
    EXOS block read and write (6 and 8) calls are implemented in Z80
    code, and not in the emulator; this reduces the speed of these
    operations to a level similar to disk drives, and allows watchpoints
    set on the read or written memory area to work
  * the source code of epfileio.rom is included

Changes in version 2.0.7
------------------------

  * implemented IDE hard disk emulation, with support for up to 4 2 GB
    image files in raw or VHD format; a 126 MB disk image with 4 FAT12
    formatted 31.5 MB partitions is also included for use with the
    emulator
  * more accurate Z80, video memory, and NICK I/O port timing; note that
    this change breaks demo compatibility with previous versions
  * improved NICK emulation: all possible video modes, including
    undocumented and "invalid" ones, are now emulated, and some bugs
    have been fixed as well
  * a 4-channel 8-bit external DAC is emulated at ports F0h to F3h
  * new TV emulation mode when using OpenGL video output; it is
    activated by setting the 'quality' parameter to 4, and requires
    OpenGL 2.0 or later with shader support. This mode emulates S-video
    output on a PAL display (Y/C filtering, delay line, and phase
    error), but the quality is also improved by using 32-bit textures
    instead of 16-bit
  * it is now possible to load and use epmemcfg format memory
    configuration files, which allow for avoiding the limitations of the
    GUI based memory configuration; the file format is documented in
    README
  * DAVE sound emulation fixes
  * the 'motor on' bit of WD177x is emulated (the RockDigi demo now
    runs)
  * on Windows, native file selection dialogs are also used in
    tapeedit.exe
  * machine configurations generated by makecfg automatically enable or
    disable the 'virtual file I/O' setting, depending on whether
    epfileio.rom is included
  * the debugger prints more detailed information about syntax and
    runtime errors in Lua scripts, and there is a new button to insert
    an empty breakpoint callback function
  * fixed interlace in single buffered OpenGL mode at quality=0
  * fixed compile error on Linux when building without SDL, or using old
    SCons or Lua versions
  * some other minor bug fixes, and optimizations

Changes in version 2.0.6
------------------------

  * various improvements have been made to the debugger:
    - memory read watchpoints can have a type of 'r' or 'x' to break on
      data or Z80 instruction reads only; the 'Ignore data reads' button
      has been removed
    - new "step" buttons for stepping to the target of any conditional
      branch instruction ('Step into'), the 16-bit address at the top of
      the stack ('Return'), or any 16-bit address specified by the user
      ('Step to')
    - the memory dump, CPU, and I/O register displays include more
      information now
    - in addition to the default hexadecimal format, it is also possible
      to specify numbers in the monitor in binary (e.g. %1010), octal
      (12o), and decimal (10l) format
    - the 'Step over' button can also be used to skip conditional JP and
      JR instructions
    - fixed the flickering window effect while using the step buttons
  * several new GUI keyboard shortcuts have been added; since these
    shortcuts can only be triggered while the Alt key is pressed, in
    the default configuration only the right Alt key (and, on Windows,
    the menu key) are bound to the Enterprise emulation now
  * native file dialogs are used instead of FLTK on Windows
  * some improvements have been made to the installer:
    - many new ROM files and machine configurations are installed
    - on Windows, it is possible to associate snapshot and demo files
      with the emulator
    - ROM images are downloaded as a single compressed archive, rather
      than separate uncompressed .rom files, for faster installation
    - the Win32 emulator executable has an icon and includes file
      information now
  * FILE: is the default device on startup when using the epfileio.rom
    extension
  * floppy drive emulation improvements: implemented the 'write track'
    command (formatting), image file I/O is buffered for improved
    performance when using real disks, and a few emulation bugs have
    been fixed
  * in the memory configuration, ROM files can also be loaded to
    segments 40h to 43h
  * video display improvements and bug fixes; the screen is no longer
    blanked while the emulator is paused; interlace effect is also
    displayed at lower quality settings (1 and 2) in OpenGL mode
  * some NICK emulation fixes (note: the timing of demos recorded with
    older emulator versions may possibly be incorrect)
  * if there is an error initializing the display in OpenGL mode on
    Linux, the emulator will automatically switch the buffering mode, or
    fall back to software video to fix the problem
  * screenshots are saved in 256 color RLE compressed BMP format now,
    instead of TGA
  * a few minor user interface improvements in the display and disk
    configuration windows
  * the process priority of the emulator can be set in the menu (this is
    currently only implemented on Windows)
  * if not specified by the user, the extension is automatically added
    to file names by the file dialogs when saving files
  * new 'Gtk+' GUI theme (-colorscheme 3)
  * various minor bug fixes

Changes in version 2.0.5.1
--------------------------

  * fixed I/O port reading in the debugger
  * minor hardware emulation accuracy improvements

Changes in version 2.0.5
------------------------

  * changed the debugger window layout so that there is a larger window
    with only two tabs; also more information is displayed, and the
    mouse wheel can be used for scrolling the disassembly and memory
    dump views
  * implemented Lua scripting in the debugger; this makes it possible to
    write complex rules for breakpoints, but can have other uses as
    well, since the script can read and write memory, I/O ports, and CPU
    registers, in addition to having access to the standard Lua library
    functions
  * added a simple monitor to the debugger; the supported commands
    include assemble, disassemble, trace, memory and I/O port dump and
    modify, printing and changing CPU registers, memory compare, copy,
    fill, search, load and save, and more (use ? to print the list of
    available commands, or ? N for help on command N)
  * improved the audio quality of AVI recording, at the expense of
    making it somewhat slower
  * added new command line option for selecting the GUI style and colors
  * a few minor bug fixes and improvements

Changes in version 2.0.4
------------------------

  * keyboard map can be configured with the GUI
  * external game devices like joysticks and gamepads are supported, and
    can be assigned in the keyboard map like normal keys
  * video and audio output can be recorded to AVI files
  * it is now possible to use audio files (WAV, AIFF, etc.) as tape
    images, with support for all tape features except markers; a simple
    linear phase FIR filter can also be applied to the input signal
  * improved television vertical sync emulation
  * new command line option for loading a snapshot or demo file on
    start-up
  * added hue shift to the display options
  * emulation speed percentage and floppy drive LEDs are now displayed
    on the GUI; it is also possible to change the emulation speed
  * various minor bug fixes and improvements

Changes in version 2.0.3
------------------------

  * fixed interrupts in Spectrum emulator
  * other minor fixes, including changes to allow for compiling with
    Microsoft Visual Studio 2005

Changes in version 2.0.2
------------------------

  * implemented Spectrum emulator
  * implemented real time clock
  * in the default keyboard map, Home can also be used now as HOLD, and
    End as STOP; the original keys (Pause/Break and PrintScreen/SysRq)
    did not work on some machines
  * keyboard matrix state is no longer cleared on soft reset
  * NICK registers are initialized to random values on start-up
  * added new ROM images and machine configuration presets
  * the makecfg utility now asks for an installation directory if
    started without command line arguments, and automatically creates
    directories
  * minor improvements to GUI menu layout

Changes in version 2.0.1
------------------------

  * improved timing accuracy of Z80 memory and NICK port accesses (this
    is still not perfect); note that when playing demo files recorded by
    previous releases, the timing may go out of sync because of this
    change
  * DAVE internal sample rate can now be changed with the sound clock
    frequency option
  * removed video memory latency option
  * implemented 'ignore' watchpoints in the debugger; these can be
    defined by using the 'i' suffix. Watchpoints and single step mode
    will not stop the emulation and open the debugger while the program
    counter is at any address for which the ignore flag is set
  * added I/O tab to the debugger (displays the state of I/O registers)
  * the disassembler now supports the undocumented SLL instruction, and
    also prints RST 30 as 'EXOS nn'
  * added 'step over' button to the debugger; it is similar to 'step',
    but when encountering any subroutine call or looping instructions,
    it will continue program execution until the subroutine returns or
    the loop is finished
  * disassembly view address is automatically updated when the debugger
    is opened by a watchpoint being triggered or using the step buttons;
    the current tab is also remembered and not changed to 'general'
  * new 't' debugger command for copying memory
  * added limited (read-only) support for EPTE/TAPir format tape files
  * fixed direct floppy disk access on Windows
  * improved autodetection of disk geometry parameters; with a disk
    image that contains a FAT filesystem, none of the parameters need to
    be specified explicitly (all can be set to -1)
  * added workaround for FLTK bug that resulted in the right shift key
    being interpreted as left shift on Windows
  * various minor improvements in the software video driver, such as
    reduced aliasing when using a display resolution of 1152x864, and
    slightly lower CPU usage with exact integer scaling ratios (i.e.
    resolutions 384x288, 768x576, 1152x864, and 1536x1152 with the pixel
    aspect ratio set to 1.0)
  * when loading large ROM images, the GUI now automatically sets the
    file name and offset for all segments
  * minor bug fixes

Changes in version 2.0.0
------------------------

  * removed Plus/4 emulation (moved to a separate plus4emu project at
    https://github.com/istvan-v/plus4emu/, older versions are available
    at http://sourceforge.net/projects/plus4emu/)
  * implemented new video mode that resamples the video output to the
    refresh rate of the monitor; enabling this allows smoother display
    update at the expense of higher CPU usage and some latency in the
    video output
  * screenshots can be saved in 8-bit RLE compressed TGA format
  * quick loading of clock frequency and timing configuration presets
    with PageUp/PageDown keys (useful for switching between normal and
    fast Z80 speed)
  * virtual file I/O can be disabled in the machine configuration
  * bug fixes in NICK emulation
  * attempt to fix OpenGL crash that occurs on some machines
  * added some hacks to the audio driver to reduce timing jitter on
    Windows; this still needs improvements
  * various minor bug fixes

Changes in version 2.0.0 beta1 (since version 1.6.1)
----------------------------------------------------

  * graphical user interface using the FLTK library
  * a GUI debugger with support for listing CPU registers, memory dump,
    disassembly, setting watchpoints, and more
  * new audio and video drivers with more features and improved quality
  * new ROM module that implements a FILE: EXOS device for direct file
    access
  * improved tape emulation
  * demo recording (snapshot and keyboard events stored in a file)
  * external joystick emulation (using the numeric keypad)
  * various internal code changes to allow for the emulation of multiple
    machine types
  * added Commodore Plus/4 emulator mode with high accuracy and support
    for SID emulation, as well as 1541 and 1581 floppy drives

