Version 0.37.1, Thu Aug 26 2021

 * Fix MPI FIRQ handling [Paul Fiscarelli]

Version 0.37, Sat Aug 14 2021

 * Add Control+Shift+D to flush disk images
 * Support leading "~/" in filenames, not just path elements
 * New option -tape-hysteresis (with new default of 1% tape input hysteresis)
 * New option -tape-rewrite-gap-ms _ms_ sets gap length during rewrite
 * New option -tape-rewrite-leader _bytes_ sets leader length during rewrite
 * Document previously added option -tape-pan
 * Detect pulse widths for CUE data when using -tape-rewrite
 * RACE Computer Expansion Cage support (-cart mpi-race)
 * Removed -fast-sound option (and related menu options)

Version 0.36.2, Wed Jul 22 2020

  * Fix -lp-file option [Pere Serrat]
  * Change default CoCo disk interleave to 5 [Simon Jonassen]

Version 0.36.1, Thu Jun 18 2020

  * Support CAS padding without fast loading enabled
  * Don't escape option arguments if they expect a filename [".mad."]
  * Fix setting 6309 registers from GDB
  * Fix GDB listen on machine reconfigure (eg snapshot load) [Pere Serrat]
  * Fix joystick axis & button option parsing [David Ladd]

Version 0.36, Mon Jun  8 2020

  * Fix SAM S output in map type 1 [Pere Serrat]
  * Work around Windows audio failure when 5.1 is available [Gerald Stefan]
  * Cleaner PulseAudio output
  * Try harder to find working SDL2 audio format
  * Avoid buggy 'wasapi' SDL audio backend under Windows
  * HD6309: Clear MD register on reset [Pere Serrat]
  * Relicensed to GPLv3+
  * WebAssembly target support
  * MC6809: LEA instructions work in page 1 [Stewart Orchard]
  * Recognise .dgn and .cco as potential binary files
  * Migrated Mac OS X UI to SDL2
  * Updates for IDE and IDE cartridge [by Alan Cox]
  * SAM VDG counter switching behaviour updates [with Stewart Orchard]
  * Reload cartridge ROMs on each reset to aid test cycle [Steve Bamford]
  * Try first listed UI module if user-specified one not found
  * New configuration parsing with quotes and escape sequences
  * In Windows, search Documents/XRoar/ (for config file) and
    Documents/XRoar/roms/ (for ROM images).

Version 0.35, Fri Jul 27 2018

  * New EXTMEM/SLENB support allows cartridges to inhibit normal device select
  * New NX32 RAM cartridge [by Tormod Volden]
  * Fix buffer overrun in MC6847 code
  * New option -ao-gain specifies volume in dBFS
  * New CAS CUE support
  * New -C option allocates debug console in Windows (must be first option)
  * Fix use of AltGr key in translated mode on Windows (SDL2)
  * New MOOH RAM + SD card cartridge [by Tormod Volden]
  * Support JVC/DSK files with non-standard sectors per track
  * Integrate tracing into CPU code
  * MC6809: Assume certain page2 illegal ops are same as page0 [David Ladd]
  * WD279x: implement multiple-sector type 2 ops
  * New SN76489 sound chip support
  * New Games Master Cartridge support (-cart gmc)
  * Use SDL2 audio queueing interface where -ao-fragments > 1
  * Optional --disable-simulated-ntsc configure option for speed
  * HD6309: Fix interrupt handling during TFM instruction [David Ladd]

Version 0.34, Sun Aug  7 2016

  * Zoom controls fixed or added where missing
  * Dragon 200-E "CLS 9" alternate text mode fixed
  * Control+C to quit removed from SDL UI (use Control+Q as per the docs)
  * SDL2 support
  * -vo help lists video modules by UI
  * Large structural changes to support more machine types
  * Pixel rate doubled anticipating more machine types (could be slower)
  * NTSC filtering renderer: -ccr simulated (note: slower than 5bit)
  * Add cross-colour rendering menu to GUI
  * PAL-M magenta-green artifacting supported with -ccr simulated
  * Fix treatment of empty drives in DOS carts
  * Initial IDE code [by Alan Cox]

Version 0.33, Fri May 22 2015

  * Capped mouse polling frequency (could cause high CPU load).
  * Slight SAM timing tweak.
  * Fix builtin machine "coco2bus" to use 6847T1.
  * Tape rewriting now emits sine waves instead of square waves.
  * New option -tape-ao-rate _hz_ specifies output samplerate for wav files.
  * New option -timeout-motoroff _s_ quits _s_ seconds after tape motor off.
  * New option -snap-motoroff _file_ creates snapshots on tape motor off.
  * New option -tape-channel-mode _mode_ specifies how to read stereo audio
    files: mix, left or right.
  * New option -config-print-all prints even default values.
  * Fix PIA address decode for Dragon 32, Dragon 64.
  * Timing fixes in fast tape loading.
  * Recognise key shortcuts in GTK+ tape/drive control dialogues.
  * Unverified fix for hang in Windows using SDL audio.
  * IRQ timing tweaked, passes Stewart Orchard's PAL timing test v1.2.
  * Special-case autorun instructions for some tape programs.
  * Building from source now uses GNU build system (autotools).
  * Fix Windows menu selection event drops.
  * Warn about unrecognised BASIC ROM CRCs.
  * MPI support.
  * Add 'eject' option to disk menus on Windows/Mac OS.
  * Assume single density JVC/DSK where sectors = 10.  Disable with
    -no-disk-auto-sd.
  * Fix hook-based printing on switching machines.
  * Fix GTK+ tape dialog when attached from command line.
  * Fix Dragon PAL padding.  Passes Stewart Orchard's PAL tests v1.3.
  * Work around breakpoint re-add bug.

Version 0.32, Tue Apr 22 2014

  * Fix keyboard handling - CoCo Tetris now playable again.
  * SDL, CoreAudio: allow -ao-fragments more than 1.
  * Binary file loading no longer assumes 64K RAM organisation.
  * Warn about use of deprecated options.
  * Add joystick menus to GTK+ interface.
  * New option -ao-format to select audio sample format.
  * Fix 6309 timing issue (CMPU, CMPS).
  * Fix issue with 6309 STBT instruction.
  * Use endian.h where available.
  * Preserve extra VDK header information in rewritten images.
  * New Windows UI adding menus to the SDL window.
  * Detect headerless JVC image geometry from OS-9 filesystem information.
  * New option -no-disk-auto-os9 disables automatic geometry detection.
  * Recognise ".os9" as extension for JVC images, ignores -no-disk-auto-os9.
  * Deprecated option -disk-jvc-hack (now ignored in favour of above).

Version 0.31, Thu Nov 28 2013

  * New option -timeout quits emulator after number of seconds.
  * Differentiate between combined and concatenated ROMs.
  * Ctrl+Shift+I toggles Inverse Text.
  * New option -invert-text.
  * Added external character generator support.
  * Many new keymaps.  -keymap help for a list.
  * New option -machine-keyboard selects layout for machine.
  * New machine Dragon 200-E.
  * Shift+Return presses Caps Lock combo in translated mode.
  * Ctrl+Shift+H presses "Pause" button.
  * Shift+Space presses Pause Output combo in translated mode.
  * Fix CoCo RAM select detection.
  * More accurate sound timing.
  * SDL, CoreAudio: render audio directly into callback buffer.
  * New options -ao-fragments, -ao-fragment-ms, -ao-fragment-frames.
  * Rename option -ao-buffer-samples to -ao-buffer-frames.

Version 0.30, Wed Sep 18 2013

  * Minimal CoCo BASIC printing support using ROM intercept.
  * Fix SAM clock stretching on slow/fast transition.
  * New -default-machine option.
  * New -machine-cart option specifies default cart per machine.
  * Successive files on command line attached intelligently.
  * New -ao-device option supported by ALSA, OSS, Pulse and Sun.
  * New -debug-fdc option selects FDC debug options (-1 for all).
  * New -debug-file option selects file loading debug options (-1 for all).
  * New machine and ROM definitions for Dynacom MX-1600 (CoCo clone).
  * Add "pause switch".  Pause key in SDL & GTK+ UIs toggles.
  * Sound MUX levels and single-bit sound interaction improved.
  * HD6309: some behaviour verified.
  * VDG: 6847T1 emulated, selectable with -vdg-type.  Default for CoCo.
  * Fix printing on Dragon 32.
  * Automatically extend virtual disks on write.
  * Shift+F12 latches the rate limit toggle.
  * Revamped joystick handling, added mouse interface.
  * Fixed PAL CoCo video timing.
  * GDB target support.  A patched GDB supporting 6809 is recommended.
  * Recognise .ccc as a cartridge ROM image extension.
  * Many more menu items in Mac OS X user-interface.
  * Support the Orchestra 90-CC cartridge.
  * New -ao-channels option.
  * New -config-print option.

Version 0.29, Sat Dec 29 2012

  * New PIA & keyboard code supports matrix ghosting.
  * Fixed emulation of Dragon 32 with 64K.
  * Underlying video module rewrite.
  * VDG sub-scanline mode switching more accurate (CSS & !INT/EXT delayed).
  * Use vertex and texture coord arrays in OpenGL code.
  * Alias '²' to Clear for French keyboards.  TODO: generic key bind ability.
  * Fake ACIA responses to fix 32K mode autorepeat.  TODO: real ACIA support.
  * Curses video module removed - incompatible with new VDG/video code.
  * SDL YUV video module tries harder to find accelerated overlay.
  * "Becker" port supported in RS-DOS.
  * Various CPU timing fixes.
  * Hitachi 6309 support (unverified) with "-machine-cpu 6309".
  * Added -c option (must be first one) to specify configuration file.

Version 0.28, Sat May 12 2012

  * New keyboard map: Canadian French [Pierre Sarrazin]
  * CPU core optimisations.
  * VDG palette tweaks.
  * Allow user to specify rom lists with -romlist, and inspect the currently
    defined lists with -romlist-print.
  * Similarly, allow user to specify ROM CRC32s that are equivalent with
    -crclist, printing current list with -crclist-print.
  * Use ROM CRCs to determine which breakpoints are effective.
  * Force CRC matching (breakpoints only based on arch) with -force-crc-match.
  * Add -tape-write option to specify an output tape file on the command line.
  * Add -type option to type a string into BASIC.
  * Permit incomplete last tracks in JVC disk images.
  * Removed GP32 and NDS support from main tree.
  * Remove obsolete GTK+ version 1 file requester.
  * Test for and use GLib list and hash functions if available.
  * Data bus state updated during NVMA (fixes Manic Miner protection).
  * -tape-pad-auto leader thresholds updated.

Version 0.27, Tue Sep 27 2011

  * CPU fixes: verified flags set/cleared in SEX and DAA instructions.
  * Tape fixes: various usability fixes.
  * VDK files: fill in header bytes more completely when writing.

Version 0.26, Mon Aug  1 2011

  * SAM-VDG interaction fix - 48 byte-per-line mode now works.
  * More resilient fast tape loading.

Version 0.25, Sat Jun 18 2011

  * New GTK+2 user-interface.
  * New GtkGLExt video module.
  * Fixed initial TV type bug.
  * Handle >1 channel in tape audio files.
  * New audio options: -ao-rate, -ao-buffer-ms, -ao-buffer-samples, -volume.
  * New options: -kbd-translate, -disk-write-back.
  * New PulseAudio sound module.
  * New Linux joystick module.
  * CPU emulation accuracy improved [from doc by Darren Atkinson]
  * Tape audio feedback while loading CAS files (AUDIO ON).
  * Tape reattach bug fixed.
  * Fixed some CPU timings.
  * Dragon 64 IRQ vector fix.
  * Added ability to print to file or pipe.
  * Ability to define new machines or cartridges.
  * Fixed crash bug accessing non-existent disk side 2.

Version 0.24, Wed Sep  8 2010

  * Improved ALSA sound module.
  * SDL video module fixes.
  * Use target-specific threading code in SDL audio on Windows.
  * Special "-tapehack" mode to rewrite tidied CAS files.
  * Search worldofdragon.org ROM filenames.
  * More accurate slow-to-fast SAM transitions.
  * NDS: bring up to date with new libnds.
  * NDS: faster video, audio fixes, better file requester.
  * NDS: sleep while lid is closed.
  * Support direct loading of DragonDOS binaries.
  * Implement remaining known illegal instructions.

Version 0.23, Mon Nov 30 2009

  * Full CoCo RAM select emulation.
  * Implemented SAM FAST mode.
  * Fullscreen fixes.
  * Better handling of -load and -run options.
  * Include "dark orange" VDG text mode colour.
  * Initial ALSA sound module (-ao alsa).
  * Read a configuration file on startup.
  * Sun audio fixes.
  * Experimental curses user interface.
  * Run first non-option argument.
  * WD279x fix.
  * Fixed segfault in SDL joystick code.
  * Work around nasty hang bug in SDL's pulseaudio module.
  * Add ROM search path to Windows build.
  * Add -gl-filter option to select OpenGL texture filter.
  * Support directly loading ASCII files (.bas, .asc) as gapped ASCII BASIC.
  * Write-back support for VDK and JVC disk images.
  * Request filename when creating a blank disk.

Version 0.22, Tue Dec 23 2008

  * Feed audio output back to single bit sound input.
  * Update GP32 build to use EABI libs and devkitARM crt0.
  * Don't build DS stuff in thumb mode.
  * Initialise RAM to pattern.
  * Insert fake leader on tape change.
  * Fix OpenGL texture "fringing".
  * Sun audio fixes.
  * Honour user-specified RAM size again.
  * Fix WD2791/3 side compare plus other fixes to help CoCo NitrOS9.
  * Find a machine the user has ROMs for if they don't specify.
  * Add -load and -run options.
  * Add simple joystick swap with Control+Shift+J.
  * Disable fullscreen while showing a file requester.
  * Replace README with a manual.
  * Fake trailing leader byte for CAS files.

Version 0.21, Thu Apr 24 2008

  * Fix border colour in RG6, CSS=0.
  * Input abstraction layer.
  * NDS: Render video as 4 x 3 grid of 4-bit colour sprites.
  * NDS: Use NDS VCOUNT writability to lock display to 50Hz when appropriate.
  * NDS: Major UI improvements.
  * NDS: Sound support.
  * GP32: Fix chatboard support with new state-machine based scanner.
  * Trace mode fixes (SYNC, CWAI).
  * Support changing of SAM RAM configuration.
  * More accurate single-bit sound.
  * Variable MPU rate support configurable.

Version 0.20, Wed Feb 27 2008

  * Don't show artifacted colours for CSS=0.
  * Better emulation of undocumented 6809 behaviour.
  * New joystick axis and button mapping options.
  * Add GTK+-2 file requester.
  * Mid-instruction peripheral state sync.
  * Restructure CPU core to more accurately reflect data sheet.
  * PIA code not so intimately tied to emulator code.
  * New 5-bit NTSC cross-colour renderer.
  * NTSC cross-colour phase saved with snapshots.

Version 0.19, Tue Jun 26 2007

  * WD279x Read Address command implemented.
  * VDG fixes.
  * Delta bugs in initialisation and drive select fixed.
  * Better error reporting.
  * Better compatibility with old snapshots.
  * Performance improvements in OpenGL driver.
  * DMK virtual disk reading bugfix.
  * Virtual disk image file write support (DMK format only).
  * Write protect toggles in SDL user interface.
  * Attached virtual disk filenames written to snapshots.

Version 0.18, Fri Mar  9 2007

  * New 'configure' script.
  * New 'null' sound driver replaces 'rtc'.
  * Initial support for Nintendo DS (NDS).
  * Slight speed hacks for GP32/NDS.
  * Correct amount of scanlines rendered.
  * Added --version option.
  * Fixed potential infinite loop in disk emulation.
  * Single-density disk support.
  * Ability to insert blank disks (Ctrl+Shift+[1-4]).
  * DMK virtual disk format support.
  * Premier Delta System DOS cartridge support.
  * Added -dostype option.

Version 0.17, Tue Aug 15 2006

  * Map '~' to Shift+'@' in translation mode.
  * Hopefully fix windows32 build.
  * Tape loading bugs fixed.
  * Fix VDG accesses >32K.
  * More accurately emulate Dragon 32 behaviour in map type 1.
  * Added frameskip option (-fskip).
  * Added rate limiter inhibit by holding F12.

Version 0.16, Tue Aug  8 2006

  * Added -ram option.
  * CRC16 fixes.
  * RSDOS fixes.
  * Video timing code updated.
  * Added -pal and -ntsc options.
  * Fixed 16-byte video modes.
  * Fixed keyboard translation for Windows.
  * Support an illegal indexed addressing mode accidentally used by the first
    release of Glove.
  * Support using audio files for cassette input.
  * GP32 speed hacks (still not perfect).

Version 0.15, Sun Jun 25 2006

  * All registers now local to 6809 core main loop.
  * New indexed addressing code should be faster.
  * Simplified module system.
  * New cartridge code.  Now usable on GP32.
  * Semigraphics mode 6 implemented.
  * Virtual cassette writing supported.
  * While reading virtual cassettes, fake leader bytes are inserted when
    cassette motor is turned on.
  * Windows32 UI has separate save dialog.
  * Timing issue with short branches fixed.
  * WD2797 emulation now implements CRC16.

Version 0.14, Sat Oct 22 2005

  * Implemented PAL timing for Dragon 32, Dragon 64.
  * Added new machine, 'tano'.
  * Implemented sub-scanline rendering (not GP32).
  * Fixes to snapshot code.
  * Fullscreen toggle added.
  * AD CPU rate removed from GP32 build.
  * New -snap option.
  * Fix to Windows32 UI module (retains CWD).
  * 6809 core optimisations.

Version 0.13, Fri Aug 26 2005

  * Fixed OpenGL resize problem.
  * Fixed OpenGL border alignment problem.
  * Trace mode now disassembles instructions.
  * Virtual floppy timings more accurate, 'formatting' supported.
  * JVC virtual disk format supported.
  * Preliminary CoCo disk support (some stuff works, NitrOS-9 doesn't).
  * 6809-PIA interrupt interaction more accurate (fixes some games).
  * Various command-line options added.

Version 0.12, Thu Jul 28 2005

  * New OpenGL video driver.  Allows architectures without Xv extension
    but with fast 3D graphics card to do hardware scaling.
  * Disk writing (in memory only).
  * Address-dependent CPU rate implemented (GP32 clock rate upped to
    80MHz to cope).

Version 0.11, Thu Jan 13 2005

  * Modularised almost everything.  Binary can contain multiple drivers
    for video, sound and ui.  User can pick one on startup and, hopefully,
    switch between them on the fly.
  * Added resizable SDL-YUV (Xv-accelerated where possible) video module.
  * Added JACK sound module.
  * Added NULL sound module (Linux-only: uses /dev/rtc to sync).
  * Eliminated busy-wait from SDL sound module.
  * Unified Unix and GP32 Makefiles.
  * Added ability to simulate NTSC video artifacts for hi-res graphics.
  * Sound fixes for unsigned audio interferes less with other audio.
  * GP32 chatboard support (thanks to Mirko's SDK).
  * Added 'translation' mode to SDL keyboard driver.
  * Added French & German keyboard mappings for 'raw' mode to SDL driver.
  * Ctrl+D (insert disk) replaced with Ctrl+[1-4] in SDL interface.

Version 0.10, Sun Jun 27 2004

  * Fixed Sun audio code broken by v0.9.
  * Fix SEX bug.  Pretty much everything runs correctly now (including
    Racer Ball, Rommel 3D, Android Attack).
  * Stopped using GP32 SDK sound code, adapted some of Jouni 'Mr.Spiv'
    Korhonen's code.
  * Refactored code to something a little more logical.
  * MacOS X 'Carbon' UI contributed by Stuart Teasdale.
  * Use C99 types instead of SDL ones except in SDL-based drivers.
  * Wrote faster GP32-specific VDG routines.

Version 0.9, Sat May 15 2004

  * More timing fixes.
  * Video rendering optimisations.
  * s/LICENCE/COPYING/
  * Basic GP32 menu system added.
  * Ability to switch between Dragon and CoCo ROMs and keymaps.
  * Can insert disks (but still only into drive 1).

Version 0.8, Mon May  3 2004

  * Added GTK interface option (default) to Unix build.
  * Timing fixes - most things play at a better speed now.

Version 0.7, Wed Apr  7 2004

  * Added basic Unix joystick support (using SDL).
  * PIA0 addressing more specific (D64-style), OS-9 boots!
  * PIA implementation simplified.
  * Debug level configurable at build time (defaults to "not too much").
  * Keyboard handling changed; GP32 version will be easier to switch to
    CoCo mode when the time comes.

Version 0.6, Thu Apr 17 2003

  * Joystick support available in the GP32 version.
