!!!
!!! This file is no longer updated (and hasn't been for a while).
!!! Instead we prefer to put changelog messages in the git commit
!!! messages. The only reason to keep this file around is that in
!!! the old days the messages in this file were more detailed than
!!! the commit messages, so this file may still contain useful info
!!! when you're investigating old changes.
!!!

2010-06-06 Manuel Bilderbeek <manuel@msxnet.org>
	* Released openMSX 0.8.0.
	* NOTE: this is probably the last entry in this ChangeLog. From now
	  on, just use the SVN commit log to keep track of changes.

2010-01-10 Manuel Bilderbeek <manuel@msxnet.org>
	* Added Generation MSX id to software info topic. Use this to link
	  openMSX games to the Generation MSX web site.

2009-12-20 Manuel Bilderbeek <manuel@msxnet.org>
	* Made softwaredb information available from Tcl, using sha1sum as
	  key. First step in making better use of the softwaredb, but mostly
	  meant to make it possible to replace the automatic ROM info printing
	  with a command to query that information on demand.

2009-11-08 Manuel Bilderbeek <manuel@msxnet.org>
	* Added saving and loading of replays (in reverse feature). Thanks to
	  Wouter for doing the difficult work.

2009-09-27 Maarten ter Huurne <maarten@treewalker.org>
	* Corrected palette colors on V9958:
	  The V9958 uses 5-bit DACs for R/G/B, shared by the YJK colors and
	  the V9938-compatible palette colors. The R/G/B palette colors are
	  converted from 3 bits to 5 bits in the same way the V9990 does.
	  Thanks to n_n for capturing the output of my test program a real
	  turbo R.

2009-08-02 Patrick van Arkel vampiermsx@gmail.com
	 * Made some major changes to the ROM database
	   and added <text> tags to the <remark> field.
	   Included are also Generation MSX-ids to have
	   a common 'key' to bind databases.

2009-07-16 Manuel Bilderbeek <manuel@msxnet.org>
	* Added session management script. When you do:
	  set enable_session_management true
	  your session (all machines) will be saved when exiting openMSX and
	  loaded again when starting openMSX (ignoring the machine/extensions
	  you put on the command line). You can also save, load, list and
	  delete sessions manually from the console. Default, this whole
	  feature is disabled.

2009-07-15 Sean Young <sean@mess.org>
	* First commit of Laserdisc code. Some of the outstanding issues
	  are listed in doc/laserdisc-todo.txt.

2009-07-09 Manuel Bilderbeek <manuel@msxnet.org>
	* Added tabbed_machine_view script, visualizing multiply running
	  machines in a kind of tab widget.

2009-07-08 Manuel Bilderbeek <manuel@msxnet.org>
	* Renamed 'msxonly' option to 'raw', which fits much better to what it
	  does.

2009-07-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Major reductions in executable size for serialization code:
	   See the commit messages for details, here I'll only list one line
	   per commit and the size of the executable in each step (stripped
	   devel flavour on linux x86_64 gcc-4.3):
	      7200kB   [initial version]
	      7140kB   MemBuffer iso std::vector
	      7060kB   made serialize without ID default
	      6920kB   string="" -> string*=NULL
	      6918kB   XXX::serialize() tweaks
	      6899kB   outline OutputBuffer::insert()
	      6861kB   __builtin_constant_p
	      6590kB   beginTag(const char*)
	      6292kB   move error handling outline
	      6171kB   moved more of loadVersion() outline
	      6120kB   use const char* in PolymorphicSaver
	      6109kB   moved more of PolymorphicXXXRegistry outline
	      5781kB   give ArchiveXXX classes a non-templatized base
	      5780kB   moved ArchiveXXX::load/save() methods outline
	      5726kB   pass attrbute names as const char*
	      5710kB   outline attribute(...) calls
	   So combined this is an executable size reduction of over 1.4MB.
	   Apart from this, compilation is also noticeably faster: went from
	   8'00" to 6'23" on my machine (user time).

2009-06-07 Manuel Bilderbeek <manuel@msxnet.org>
	* Apart from full screen (which was already implemented), also hide
	  the mouse pointer always when input grab is enabled.

2009-06-04 Manuel Bilderbeek <manuel@msxnet.org>
	* Added Sanyo MPC-25FD, MSX2 with diskdrive and one cartridge slot
	  only. Thanks to jltursan!

2009-06-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed IE0 related VDP bug:
	   When there is a pending VBLANK IRQ (bit 7 in S#00 is set) and you
	   switch IE0 (bit 5 in R#1) on, there is immediately a IRQ send to
	   the Z80. Before this fix openMSX would only generate one on the
	   next VBLANK.
	   This fixes several long-standing bugs:
	    - [1849488] Game "Adonis" plays sound way too slowly
	    - [ 739150] Zanac: title corrupted
	    - [1847275] Penguin Adventure doesn't work on some machines
	    - [ 658430] Galaga/Bosconian slows down when you die
	   Thanks a lot to 'n_n' for providing a z80 trace of a Adonis run in
	   meisei. Comparing this trace with a openMSX trace allowed to
	   pin-point this bug.

2009-05-23 Maarten ter Huurne <maarten@treewalker.org>
	* Always build application folder on Mac OS X.
	  This is the way we release and supporting both app folder and
	  systemwide installation only adds to the  maintaince effort.

2009-05-05 Max Feingold <maf6@cornell.edu>
	* Added a Win32 implementation of LocalFile:mmap().
	  This should make file handling on Windows imperceptibly faster.
	* Implemented correct shutdown logic for PipeConnection thread
	  using async I/O and events.

2009-04-24 Manuel Bilderbeek <manuel@msxnet.org>
	* Final step in un-uglifying Tcl scripts using Tcl namespaces :)

2009-04-19 Manuel Bilderbeek <manuel@msxnet.org>
	* Added Sharp-Epcom HB-3600 dual 5.25" external disk drives, thanks to
	  FRS for contributing it.

2009-04-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added support for taking screenshots without OSD elements:
	  Restructured OutputSurface and child classes to make it possible
	  to render to an off-screen surface, so that it becomes possible
	  to re-render the current frame without the OSD layers.

2009-04-04 Manuel Bilderbeek <manuel@msxnet.org>
	* Implemented enough of the Arkanoid pad to make it work. Use the
	  mouse to control it.

2009-04-03 Manuel Bilderbeek <manuel@msxnet.org>
	* Added pointer_hide_delay setting to control visibility of the mouse
	  pointer. If you set it to -1, it will be always shown. 0 (the default)
	  means it is never shown. Positive values is the amount of milliseconds
	  it takes before it will be automatically hidden after it got shown due
	  to mouse activity. Docs are TODO.

2009-03-30 Manuel Bilderbeek <manuel@msxnet.org>
	* Added a fun OSD VU-meter script, see script for details.
	  Thanks to Wouter and BiFi for their support.

2009-03-26 Max Feingold <maf6@cornell.edu>
	* Secured sockets used by CliServer on Windows by requiring authentication
	  and authorizing only the user that launches the openMSX process.

2009-03-24 David Heremans <david.heremans@gnu-linux.net>
	* Added new emu-state icons for set1 and replaced the default
	  ones in share/skins.

2009-03-20 Manuel Bilderbeek <manuel@msxnet.org>
	* Added throttle setting to the new OSD icons (thanks Wouter).

2009-03-11 Manuel Bilderbeek <manuel@msxnet.org>
	* Convert ancient history_size and remove_doubles settings to modern
	  settings. They influence how openMSX handles console history.

2009-03-09 Manuel Bilderbeek <manuel@msxnet.org>
	* Added pause_on_lost_focus setting. After enabling it, openMSX will
	  pause when your cursor leaves the openMSX window. Useful in some
	  cases. This was default in fMSX, but in openMSX it is off by default.

2009-03-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Split Y8950Adpcm sample generation part in two:
	  - There is now an emulation and an audio part. See comments in
	    Y8950Adpcm.cc for details. The emulation state is now no longer
	    dependant on the audio-thread. So in UR, the scope part keeps
	    on working when the audio is muted.
	  - Also made some minor adjustments to the rest of the adpcm code.

2009-02-24 Max Feingold <maf6@cornell.edu>
	* Updated VC++ projects with a Python-based script that builds config
	  headers using mth's Python scripts. This automates one of the more
	  annoying manual steps in the VC++ build process.

2009-02-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* ZMBVEncoder motion vector search heuristic tweaks:
	  - try vectors with smallest euclidean size first (was Chebyshev size)
	    also give preference to purely horizontal/vertical motions and to a
	    lesser degree purely diagonal motions
	  - start search at best motion vector of previous block (before we
	    always started from the center)
	  - use different set of possible motion vectors, search further in
	    pure hor/ver/diag directions, less far in other (random) directions
	  Combined these tweaks give measurable smaller video files (5% - 25%)
	  and also run faster (2% - 6%). The 2nd tweak (start from previous
	  best) has the largest effect.

2009-02-23 Max Feingold <maf6@cornell.edu>
	* Created a WiX-based installer for openMSX on Windows. The output is
	  an MSI file with the usual wizard-based installation UI.

2009-02-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Refactored disk classes:
	  - simplified class hierarchy:
	     - removed virtual inheritance
	     - merged WriteProtectableDisk into SectorAccessibleDisk
	     - Disk now inherits from SectorAccessibleDisk,
	       ATM we don't support disk image formats that are lower level
	       than sector level. But even for those images it makes sense
	       to support reading/writing sectors.
	     - moved patch functionality up in the class hierarchy,
	       to SectorAccessibleDisk
	* Added syntax to insert a partition of a hard disk image:
	      <hd-image>:<num>
	  This is a preparartion to support disk partitions in the nowind
	  interface.
	* Implemented hard disk support for nowind interface

2009-02-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Initial nowind implementation:
	  still need to work on the nowind openmsx commands

2009-02-09 Max Feingold <maf6@cornell.edu>
	* Ported most significant inline assembly code to VC++ format,
	  where significance is defined as 'being noticeable in kernrate'.
	* VC++ binaries now benchmark 15% faster than mingw32 binaries on my system
	  openMSX svn VC++ x64 - 10.72 seconds
	  openMSX svn VC++ x86 - 11.19 seconds
	  openMSX svn mingw x86 - 12.62 seconds
	  openMSX 0.7.0 mingw x86 - 13.96 seconds

2009-02-07 Max Feingold <maf6@cornell.edu>
	* Reduced VC++ W3 warning load to ~250, with help from Vampier and Wouter

2009-02-05 Max Feingold <maf6@cornell.edu>
	* Rationalized the following definitions throughout the codebase:
	  - ASM_X86 = build assembly code on x86 and x64 platforms
	    (gcc's inline asm can target both; VC++ doesn't support x64 inline asm)
	  - ASM_X86_32 = build assembly code on x86 platforms (assumes ASM_X86)
	  - ASM_X86_64 = build assembly code on x64 platforms (assumes ASM_X86)
	  - __x86_64 = x64 target is specified
	  - _WIN64 = Windows x64 target is specified (same as _WIN32 && __x86_64)
	* These definitions should act that same for both mingw32 and VC++.

2009-02-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented 'ld a,i' Z80 quirk:
	  See comments in CPUCore.cc for details. Thanks to n_n for reporting
	  this issue (first discovered by GuyveR800) and writing a test
	  program for it.

2009-01-29 Max Feingold <maf6@cornell.edu>
	* Unicode filename support on Windows platforms
	  - On Windows, standard CRT functions and 'ANSI' Win32 API calls
	    expect and return ANSI encodings, not UTF8. Unicode support on
	    Windows is generally achieved by calling CRT functions that accept
	    wchar_t and 'wide char' xxxW Win32 API calls.
	  - openMSX uses std::string and UTF8-encoded strings throughout.
	    Consequently, on Windows we wrap all system calls that might
	    touch the filesystem in UTF8-to-UTF16 conversions before calling
	    the 'wide char' API and (if necessary) converting back to UTF8.
	* As a side effect, this checkin also deprecates openMSX support for
	  Windows 95-based platforms, as well as for Windows NT 4.0.
	  At the time of writing, only Windows 2000 and above are supported.

2009-01-25 Maarten ter Huurne <maarten@treewalker.org>
	* Use Python to generate "Version.ii".
	* Use Python to generate "build-info.hh".

2009-01-18 Max Feingold <maf6@cornell.edu>
	* Fixed bug [ 1206036 ] Windows Control Menu while using ALT
	  With this fix in place, the ALT+SPACE combination no longer
	  pops up an annoying context menu on Windows.
	* The solution was to register our own winproc, filter out the
	  offending WM_SYSCOMMAND events, and delegate the rest to SDL.

2009-01-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Console refactoring:
	  - Share much more code between SDL and GL console variant
	  - Use TTF fonts instead of a .png file with the ASCII symbols:
	    console can now also show unicode chars (if the ttf font has them)
	  - Added new setting: consolefontsize
	  - Removed (now unused) classes:
	       Font, DummyFont, SDLFont, GLFont, SDLConsole, GLConsole
	* Reverted part of last CPU refactoring (2008-01-15):
	  - Omitting needExit() check on some instructions can causes
	    acceptance of an IRQ to be a couple of instructions late,
	    see comments in src/cpu/CPUCore.cc for details.
	  - But even without this part, the threaded interpreter model is a
	    big win (more than 10% faster) over the old model.

2009-01-23 Max Feingold <maf6@cornell.edu>
	* Checked in VC++ project files that build dependencies and openMSX itself.
	  The project files are in VC9 (Visual C++ 2008) format and should be usable
	  with the Windows SDK's msbuild tool, as well as with the free (as in beer)
	  Visual C++ 2008 Express Edition.
	* This checkin also brings the first 64-bit Windows build of openMSX.
	  x64 binaries are fully functional and I'm pleased to note that I found no
	  significant 64-bit portability issues in the codebase (inline asm aside).

2009-01-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Initial implementation of the VDP sprite collision coordinate status
	  registers:
	  Not yet 100% correct (see top of src/video/SpriteChecker.cc for some
	  TODOs). But at least 'Ace in Space level 3' works now. So far this
	  seems to be the only game that actually uses this feature.
	  Fixes [2510696].

2009-01-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Major changes in CPU emulation core:
	  I've worked on this patch on a local (private) branch for several
	  weeks. Actually it are several related patches and ideally I should
	  also commit it as seperate patches. However developing on a private
	  branch means (at least for me) do a couple of commits, detect a
	  mistake in one of the earlier commits, make a new commit that
	  corrects that mistake and so on. Usually I do the extra effort to
	  extract a clean patch-series from my local branches before committing
	  them. However this time that would require quite some extra time, and
	  as you guessed already I was too lazy to spend that time. Though as
	  compensation I wrote some extra doc about the inner workings of our
	  CPU emulation (see src/cpu/CPUCore.cc)

	  These are more or less the steps that are combined in this commit:
	  * Put instruction selection into one big function:
	     this allows to 'goto' between all part of this code (required
	     in later steps)
	  * Move opcode fetching (initial byte) and time accounting into
	    this function (preparation for next step)
	  * Allow to execute multiple instructions inside this function
	  * Use gcc extension 'computed goto' to implement faster dispatch
	  * Added fallback for compilers that don't have this extension (VC++)
	  * Simplified 'exit-test', see doc in CPUCore.cc for details
	  * Some smaller time bookkeeping optimizations:
	    - IX/IY instructions updated clock in two steps -> merged into one
	      step
	    - Some helper routines took a 'extra-cycles' function parameter.
	      Turned this into a template parameter to force the compiler to
	      treat it as a compile-time-constant. (Actually gcc already did
	      this optimization by itself most of the time when the function
	      got inlined, but now the optimization is guaranteed.)

2009-01-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented difference between AY8910/YM2149 reading of registers:
	   - thanks to enen for doing most of the investigation on real MSX
	     machines

2009-01-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Merged (part of) mfeingol's work to make openMSX compile with VC++:
	  - code still compiles with gcc, but i couldn't test myself with VC++,
	    so probably this work is not finished yet ;)
	  - build system is still TODO, these are only changed in the C++
	    source files

2009-01-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Released openmsx-0.7.0

2008-12-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Updated to cbios 0.22

2008-12-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* For carta command, check for errors (rom and ips files)
	  before removing the currently inserted cartridge.

2008-11-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added '-repeat' option to 'bind' command:
	   - When the '-repeat' options is given and the key remains pressed,
	     the command will be repeat (just like regular key repeat while
	     typing).
	   - Used this feature in the OSD menu.

2008-11-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added possibility to take screenshots of only the msx screen (so no
	  OSD stuff and console):
	   For the moment this is done by passing the option -msx to the
	   screenshot command, this will take a screenshot of size 640x480.
	   There will also be no scaler or any other effects in the screenshot.
	   You can use -msxsmall to take a screenshot of size 320x240 (-msxbig
	   is a synonym for -msx).
	   TODO is the syntax of this command ok? Also still need to document
	   it.

2008-10-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Optimized VDPCmdEngine:
	  The core of most VDP commands goes like this:
	     1 transform x,y coordinate(s) to vram address(es)
	     2 do some operation on that address(es)
	     3 increase (or decrease) coordinates to loop over the whole
	       rectangle (mostly only the x-coordinate changes)
	     4 repeat if there is still time left
	  The coordinate to address transformation requires quite some shift
	  and logical operations. In the next iteration all these operations
	  are repeated.

	  In this patch the vram address is calculated incrementally: we
	  calculate it once at the beginning of the loop and then adjust the
	  address when the x-coordinate changes. We have to take care of vram
	  interleaving (screen 7 and 8) and that several pixels map to the same
	  address (screen 5, 6, 7).

	  A second optimization is to simplify the stop-condition for the
	  innermost loop. Before we broke out of this loop either when
	  destination time was reached or when we reached the end of a
	  horizontal line (implemented as two seperate tests). Now we calculate
	  up-front which of these two condition will occur first and iterate
	  that many times (with only one test).

	  I measured between 4% and 8% speedup on total emulation time for the
	  Space Manbow intro demo (renderer=none, sounddriver=null).

2008-10-25 Manuel Bilderbeek <manuel@msxnet.org>
	* Added Sony HB-10P and Sony HB-55P, thanks to Rudi Westerhof. Also
	  added Sony HB-20P a few days ago, thanks to MSXKun.

2008-10-16 Manuel Bilderbeek <manuel@msxnet.org>
	* Implemented rough, but measurement-based timing for V9990 for
	  commands LMMV, LMMM, BMXL, BMLX and BMLL. Code by Wouter. Original
	  measurement programs by Peter Mastijn. Measurements by Wouter and
	  me, using Wouter's more generic measurement program. Fixes [421861]!

2008-09-25 David Heremans <david.heremans@gnu-linux.net>
	* Vram debuggable changed:
	  First step towards creating a debuggable that provides a logical
	  view upon the VRAM based upon the current videomode. This is the
	  behavior an ML-coder expects when dealing with the VDP.
	  The old chipbased view upon the vram is now called "physical VRAM"
	  instead.

2008-09-21 Manuel Bilderbeek <manuel@msxnet.org>
	* Added Brazillian OPL3Cartridge (MoonSound without wavetable).
	  Still mostly untested, although MSX-Audio games (e.g. from Compile)
	  seem to work with it. See RFE tracker item 1815450.

2008-08-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added 'probe' debug infrastructure:
	   see 'help debug probe' or (doc/manual/command.html)

2008-08-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Made Disk and SectorAccessibleDisk write-protectable:
	   Added WriteProtectable interface and refactor code so that really
	   all write methods check this write protected flag.

2008-08-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Split MSXtar class into two parts:
	    - DiskImageUtils: this part knows about partitions and format
	    - MSXtar:         this part knows about files and directories
	  Rational: before this change, the interface of the MSXtar class was
	  a bit confusing, especially the usePartition() method. Depending on
	  which MSXtar functionality you plan to use, you either must call it,
	  were not allowed to call it or must call it but ignore exceptions
	  thrown by it.
	  To simplify this, I split the functionality of the MSXtar class in
	  two parts. Now MSXtar doesn't know anything anymore about partitions
	  and formatting (of course it's still possible to work on partitions,
	  but that's now abstracted via the new DiskPartition class).

2008-08-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed some UMRs triggered during savestate:
	  Before savestates this was not a problem because those value _are_
	  initialized before they are used in actual msx emulation code. Though
	  savestates can read these values earlier. And if the variable was an
	  enum, it could even lead to an assert.
	  Thanks to Vampier for reporting this bug.

2008-08-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Diskmanipulator changes:
	  - Teach diskmanipulator about multiple active msx machines.
	    Before this change 'diska' always refered to the 1st drive of
	    the oldest machine. Now it refers to the active machine. It's
	    also possible to explicitly qualify the wanted machine with
	    syntax like 'machine2::diska'.
	  - Improved check on whether the specified partition exists or
	    not.

2008-07-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Changed our Unicode code with UTF8-CPP code:
	       http://utfcpp.sourceforge.net/
	    This fixes the TODO's left in our Unicode code. But it's mainly
	    dome as preparation to serialize the Keyboard class (because a
	    'type' command in progress doesn't survive a savestate ATM). The
	    old code in the Keyboard class contained a UTF16 encoded string,
	    but the serialization framework can't (directly) serialize that.

2008-07-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Optimized de-serialization of arrays:
	   Directly deserialize the elements in the correct position in
	   memory. Before the element was loaded in a local variable and
	   then copied to the correct position in the array.

	   This also fixes a bug in AY8910 when detune/vibrato was used,
	   because copying a AY8910::ToneGenerator object is not allowed.

2008-07-20 Manuel Bilderbeek <manuel@msxnet.org>
	* Renamed Midi{In,Out}Native to Midi{In,Out}Windows (untested!)
	* Made save/loadstate commands a bit more comfortable, so we can
	  easier test this stuff :)

2008-07-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Enabled savestates to memory (as opposed to XML files):
	   - Currently available via the 'mem_savestate' and 'mem_loadstate'
	     commands, but this will still certainly change.
	   - Speed seems to be quite good:
	       savestate MSX1:          125us
	                 MSX2:          310us
	                 TurboR:        734us
	                 boosted MSX2: 3770us
	       This between 200 and 400 times faster than the XML savestates!
	       So it seems to be fast enough to implement a 'reverse-time'
	       feature.

2008-07-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Serialize pluggables (WIP):
	   Current code serializes all pluggables even those that are not
	   plugged in. The available pluggables depends on the platform (e.g.
	   the Midi{In,Out}Native pluggables on windows), the openmsx
	   configure options (e.g. CassetteJack), the openmsx version (more
	   pluggables in newer versions) and even the state of the host
	   machine (connected a USB joystick). ATM loading a savestate only
	   works when the exact same list of pluggables is available.

	   Maybe we should only serialize those pluggables that are actually
	   plugged in in the emulated machine (TODO verify that pluggables
	   don't keep state over unplug-plug cycle).

	   ATM only the state of the pluggables itself is serialized. We don't
	   yet restore the actual plug state (which pluggable is plugged in
	   which connector).

2008-07-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Merged Rom{4,8,16}kBBlocks classes into one templatized class

2008-07-01 David Heremans <david.heremans@gnu-linux.net>
	* Fixed two bugs in the diskmanipulator:
	   - one preventing correct 360KB disk creation on some machines
	   - one valgrind warning about variable initialization

2008-06-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* More serialization work:
	   - Philips_NMS_8250 can be serialized now, but still very
	     few other machines or extensions are supported

2008-06-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added HIGHLY EXPERIMENTAL savestates:
	   - Only very few things work yet, but I was able to resume
	     'Road Fighter' running in a MSX1 (actually that's about the
	     most complex setup that already works).
	   - There are two new commands (still VERY primitive)
	         savestate <machineID>
	         loadstate
	     'savestate' will create a openmsx.xml.gz file in the current
	     directory. 'loadstate' will read this file and create a new
	     machine based on this state. You can use 'activate_machine
	     <machineID>' to switch to that machine.

2008-06-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Require extension hardwareconfig.xml files to list devices inside a
	  <devices> tag. We already updated all our device configs for this
	  over two years ago.

2008-06-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented TMS99x8 VRAM remapping (reg#1, bit 7):
	   thanks to: - enen for providing the technical info
	              - Quibus for testing it on both real and emulated
	                machines

2008-06-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented 'tabbed' machines:
	  It's now possible to have multiple msx machines in memory and freely
	  switch between them. This is done with the already existing
	  'activate_machine' command. Only the active machine is running, the
	  other machines are paused.

	  This may not be the most useful feature, but we already had the
	  'activate_machine' command for other reasons (e.g. machine
	  switching) and you could argue that it's a bug that it didn't
	  already work like it does now. Basically we already had all the
	  infrastructure in place. Actually enabling session support required
	  relatively few changes (mostly mechanical). Also having this feature
	  working gives more confidence that the design is right.

2008-06-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Simplified machine handling stuff in Reactor:
	  Before we had some (complicated) logic in the Reactor class to
	  postpone the actually machine switch till the main reactor loop has
	  had a chance to run. The reason for this was that the 'machine'
	  command (or other related commands) can get executed via a code path
	  that runs through the current machine, meaning there are stackframes
	  active that refer to the current machine. Only in the main reactor
	  loop we're sure there are no such stackframes. A consequence of this
	  approach is that for example in this sequence of Tcl commands:
	     machine turbor ; diska mydisk.dsk
	  The 'diska' command is still executed in the old machine, because
	  the reactor loop has not run yet. If there is 'some pause' inbetween
	  the two commands, the 'diska' command is executed in the new
	  machine. At the very least this is not very intuitive.

	  Taking a step back, switching the active machine (which has active
	  stackframes) was not the problem, but deletion of that machine is.
	  So instead of postponing the whole switch, we now only postpone the
	  deletion of the old machine. The Tcl commands now work as expected.

	  Also did some other refactoring to make the code easier to
	  understand.

2008-06-12 David Heremans <david.heremans@gnu-linux.net>
	* Fixed a small bug in DirAsDisk:
	  Read-only host-OS files became truncated in the MSX dsk image.

2008-06-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed compilation of CPU code with gcc-3.4:
	   Compilation with gcc-3.4 was broken because of a compiler bug,
	   gcc-4.x works just fine. Worked around it. Though I still like
	   to demote gcc-3.4 support to second class.

2008-06-04 Alex Wulms
	* Added French version of VG8010/VG8020 and corresponding unicodemap files

2008-06-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed V9990 vertical scroll behaviour:
	  Based on MRC forum post by GhostwriterP (page 3, post 12)
	      http://www.msx.org/forumtopicl8574.html
	  1) Writing to high byte of scroll register only takes effect at the
	     start of the next frame. This is for both scroll A and B
	     registers.
	  2) Writing to low byte has effect the next line. The next line that
	     will be displayed is the line number just written to the register
	  3) point 2) has no effect on the sprite vertical sprite position
	     (this was wrong in the initial openmsx implementation)

2008-06-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added -clip option to OSD widgets:
	   - If this option is true, then child widgets are clipped to the
	     bounding box of this widget.
	   - Used in the OSD menu script to make sure (long) text lines don't
	     gun over the end of the menu window.
	* V9990 display enable only takes effect at the next frame

2008-05-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Reduced code duplication in CPUCore by templatizing various stuff:
	  - For example, a lot of instruction methods only differ in the
	    registers they act upon (e.g. inc_hl() vs inc_de). By making
	    templatized helper functions to read/write registers, a lot of
	    these instruction methods can be combined into a single
	    templatized instruction method.
	  - This reduced code size by almost 2000(!) lines.
	  - The generated code is also about 100kB smaller. I'm not sure
	    why exactly, but I think because it doesn't need to keep a
	    non-inlined version of the templatized instruction methods in
	    the final executable.
	  - Speed of the CPU code has not changed.

2008-05-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Tuned R800 refresh (still WIP)

2008-05-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented dynamic IO port allocation for Panasonic MSX-AUDIO:
	   fixes: [1231256] Panasonic MSX-AUDIO not detected for games

2008-05-24 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed AVI recording (ZMBV encoding, to be exact) on big endian CPUs.

2008-05-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed R800 page-break behaviour:
	   - did a lot of measurements on a real turbor, see
	       doc/r800test.txt
	   - refactored CPU code to match this (WIP)

2008-05-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Reading sectors from a disk image via the SectorAccessibleDisk
	  interface didn't apply the IPS patches:
	    This had as effect that accessing the disk in the emulated
	    machine did show the effect of the IPS patches, but using
	    the diskmanipulator on the same disk ignored the IPS patches.

2008-05-19 Manuel Bilderbeek <manuel@msxnet.org>
	* Final fixes on Nettou Yakyuu mapper, including enhanced sample
	  player.

2008-05-17 Manuel Bilderbeek <manuel@msxnet.org>
	* Added WIP version of Nettou Yakyuu mapper, used by the game "Moero!!
	  Nettou Yakyuu '88". Thanks to hap/enen for the research and blueMSX
	  implementation and Wouter for teaching me about this stuff.

2008-05-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed crash in DirAsDsk / DiskManipulator:
	   Occured when a diskimage used a different end-of-fat marker than
	   0xFFF. In fact the whole range 0xFF8-0xFFF should be interpreted
	   as EOF. See:
	      http://en.wikipedia.org/wiki/File_Allocation_Table#File_Allocation_Table

2008-05-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* CPU time keeping speedup:
	  - We want to have cycle-accurate bus transactions (memory or IO-port
	    read/writes). So for example if in one instruction there are
	    multiple transactions, they should happen at slightly different
	    moments in time. Also the time of the first transaction is not
	    necessarily the same time as the start of the instruction.

	    Initially we implemented this by incrementing the 'current time' by
	    very small steps at each sub-instruction.

	    We actually only need this time for very few transactions. The vast
	    majority of the transactions goes to ROM or RAM (IOW to 'cachable'
	    memory regions), and there the exact time is not important at all.

	    To speedup this time keeping, we now only increment the 'current
	    time' with the whole instruction cycle count. In case we do
	    perform a transaction to non-cachable memory we still first have
	    to calculate the current time. To be able to do this all
	    transactions have been annotated with 'cycles since start of the
	    instruction' information.

	    I measured between 5% and 10% speedup on the ZEXALL benchmark with
	    this change.

2008-04-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Optimized check for pause in CPU code

2008-04-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Use switch statement instead of jump table in CPUCore:
	  - Is about 10%(!) faster when using gcc-4.2, more when using
	    recent gcc snapshot. With gcc-4.1 it's performance neutral,
	    gcc-3.4 was a big slowdown (but we care less about such old
	    compilers).
	  - Some history:
	     I had already tried this before, but at that time it wasn't a
	     win. Recent gcc versions are able to eliminate the check for the
	     'default' case when it can prove all cases are enumerated in the
	     switch statement (here we switch on a byte type and provide all
	     256 cases). With this optimization the switch approach gave a
	     small speed gain. Then I tried some additional tweaking (force
	     inlining some core functions). And this gave a much bigger gain,
	     even on older compilers.
	  - Because we no longer use a jumptable there is no advantage anymore
	    in using static functions (with an explicit 'this' argument) over
	    regular member functions. This makes the code more readable again.

2008-04-08 David Heremans <david.heremans@gnu-linux.net>
	* Fixed a bug in the load_icons script

2008-04-07 David Heremans <david.heremans@gnu-linux.net>
	* Added a new 'fancy' skin

2008-04-06 Alex Wulms
	* Review unicodemaps for MSX models with 'international' font:
	   - There were some errors in the maps. Especially for
	     graph and shift-graph key combinations.

2008-04-06 David Heremans <david.heremans@gnu-linux.net>
	* New load_icons script:
	   - Added suport for frame.png
	   - Added time-before-fade-starts
	* Some extra comments in the DirAsDisk

2008-04-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added share/skins/Vera.ttf.gz:
	   - also added support for compressed font files

2008-03-30 Alex Wulms
	* Add support for Philips VG8010:
	   - Add new unicodemap unicode.proto_int; the VG8010 has a keyboard
	     matrix that differs completely from all other MSX models. It seems
	     to be some kind of prototype of the keyboard matrix
	   - Add 'GRAPH locks' processing logic to the copy&paste routine in
	     the keyboard driver (GRAPH has a locking behaviour on VG8010)
	* Fix DEAD key behaviour in keyboard driver in KEY mapping mode:
	   - In KEY mapping mode, RCTRL key must be mapped to row 5 col 2 in the
	     keyboard matrix (DEAD key on 'international' MSX keyboard) or to
	     whatever other position if user has loaded another KeyToKey mapping
	     file. Either way, it has to follow the 'Key to Key' mapping logic
	   - In CHARACTER mapping mode, RCTRL key must be mapped according to
	     the DEADKEY position in the unicode map files (for the MSX models
	     that do have a DEAD key)

2008-03-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed Z80 timing of accepting a IRQ:
	   - Accepting a IRQ in IM0 or IM1 should take 13 cycles, there is no
	     extra wait cycle. For IM2 it takes 19 cycles (also no extra wait
	     cycle).
	   - Thanks to enen for testing this

2008-03-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added -fadeTarget and -fadePeriod properties for OSD widgets:
	   - This allows to smoothly fade the alpha value of a widget without
	     further interaction with this widget. (I mean you don't have to
	     manually change the alpha value in small steps.)
	   - Allows to greatly speedup the OSD icons Tcl script. (In the GP2X
	     port, it took a lot a time)

2008-03-16 Manuel Bilderbeek <manuel@msxnet.org>
	* Some small improvements in the cassette player:
	  - clearer errors when both a wav and a cas image fail to work
	  - properly flush the recording when switching to play mode
	  Still needs more work to properly handle 'zero-recordings' after
	  switching to play mode, see comments in the class.

2008-03-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Replaced C++ IconLayer with a Tcl script

2008-03-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added 'user_setting' command:
	   This allows to create openMSX settings from Tcl scripts. The main
	   advantage of settings over regular Tcl variables is that their
	   value is preserved over different openMSX sessions.
	   See 'help user_setting' for more details.

2008-03-08 Manuel Bilderbeek <manuel@msxnet.org>
	* Added -doublesize switch to the 'record start' command, to record at a
	  size of 640x480. Note: this is usually a lot slower...

2008-03-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed bug in OSD rectangle drawing:
	   As an optimization rectangles with alpha=0 (completely
	   transparent), were not allocated in memory. This caused problems
	   when we needed the dimensions of this rectangle to calculate the
	   position of child widgets. Fixed by refactoring the transformation
	   code.

2008-03-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added 'openmsx_info realtime':
	   It was already possible to query the emutime of a machine in
	   Tcl, now it's also possible to query the realtime.
	* Added '-scaled' OSD property:
	   OSD widgets with this property (or child widgets whose parent has
	   this property) are automatically scaled according to the
	   'scale_factor' setting. This makes it possible to design a GUI
	   independent of the host window resolution.

2008-03-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Extended OSD stuff:
	   - widgets are now hierarchically structured (the 'osd create'
	     subcommand has been changed to allow this)
	   - child widgets are placed relative to their parent widget
	   - there can be an offset relative to parent in pixels (in the
	     future probably also in 'scaled' pixels)
	   - or offset can be as a percentage of the bounding box of the
	     parent widget

2008-03-02 Alex Wulms
	* Several updates to keyboard driver:
	  - Rename all keyboard settings to start with kbd_ so that they
	    are grouped together when listed in alphabetic order, like in
	    the documents.html file and in the tab expansion of the
	    various commands in the console
	  - Add support for a few keys that are specific to the jp106
	    keyboard model (the most used keyboard in Japan)

2008-02-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added 'MatraShockware' mapper type:
	   This is a non-bankswitched mapper that uses a AMD flash ROM. The
	   flash is wired-up in such a way that writes end up in a different
	   region as reads. The effect is that the flash' autoselect function
	   tells you that a region is not write-protected, but when you
	   actually try to reprogram that region it has no effect. The game
	   'INK' actually uses this as a sort of copy protection (if this
	   check fails, stage 2 goes back to stage 1).
	   See also this forum thread:
	     http://www.msx.org/forumtopic8329.html

2008-02-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added new mapper type: plainflash
	   It's plain mapper type (no bankswitching), but implemented
	   with a Flash Rom, so it reacts to certain write-sequences.
	   According to this forum topic
	      http://www.msx.org/forumtopicl8329.html
	   the Matra INK game uses this as a sort of copy protection.

2008-02-25 Alex Wulms
	* Several updates to keyboard driver:
	   - Implemented auto-toggle of KANA-lock (and CODE-lock on VG8010)
	     based on the character that the user enters. This is only done on
	     MSX models on which CODE/KANA has a locking behaviour. Though,
	     user can switch it off via auto_toggle_code_kana_lock setting.
	   - Implemented auto-toggle of CODE/KANA-lock when pasting characters
	     (either through catapult or via the type command in the console).
	     This is always done on MSX models on which the CODE/KANA locks.
	   - Implemented auto-toggle of CAPSLOCK when pasting characters. This
	     is especially required for japanese models, which use CAPSLOCK to
	     differentiate between hiragana and katakana entry mode when
	     CANALOCK is on.
	   - Added a mnemomic DEADKEY to the unicode maps, to indicate the
	     position of the dead key in the MSX matrix (it is different on
	     german MSX models)
	   - Added setting keyboard_mapping_mode, so that user can select
	     between KEY to key mapping mode and CHARACTER to key-combination
	     mapping mode.
	   - Refactored keyboard driver; unicode mapping data is now in its own
	     class and it uses a std::map to store the mapping data in stead of
	     a (sparse) 64k entries matrix.

2008-02-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added low level OSD Tcl commands:
	   - It's now possible to draw OnScreen filled-rectangles, images
	     and text. See 'help osd' for more details.
	   - Font rendering is done with SDL_ttf. This is a new library
	     dependency.
	   - This is still very much work in progress.

2008-02-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added 'horizontal_stretch' setting:
	   - amount of horizontal stretch can now be configured (some
	     users repeatedly asked for this ;-)
	   - removed horizontal_stretch enum from display_deform setting
	   - as a bonus horizontal stretch can now also be used in
	     combination with the 3D deform mode

2008-01-28 Alex Wulms
	* Initialized key_ghosting_sgc_protected parameter in all
	  hardwareconfig.xml file:
	    Initial value of the parameter is derived from keyboard
	    code at ROM BIOS address 0x2c; for Japanese machines,
	    it is set to false and for all others to true (this is based
	    on tests with some real machines)

2008-01-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Introduced PLATFORM_GP2X #define,
	  don't call getpwuid() if this #define is set

2008-01-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Conditionally compile 16/32bpp and scaler code:
	   GP2X port only needs 16bpp and scale factor 1

2008-01-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Removed workaround for pre gcc-3.4 compilers

2008-01-18 Alex Wulms
	* Added key-ghost protection for SHIFT, GRAPH and CODE keys:
	    This exists on several real models; these three keys are connected
	    to row 6 via a diode (one diode per key)
	    Have made it configurable through hardware.xml. Default is that
	    the protection is on

2008-01-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Refactored OutputSurface class:
	   - Made all members private (was protected) and added protected
	     getter/setters. This makes the interface between base and sub
	     classes explicit.
	   - Renamed getFormat() to getSDLFormat() to make it clear that this
	     method still works dircetly on SDL data structures.
	   - Added lock(), unlock() and isLocked() methods. These wrap the
	     SDL_LockSurface() and SDL_UnlockSurface() functions. It for
	     example allows to check that getLinePtrDirect() is only called on
	     a locked surface.
	   The first two changes allow for easier refactorings. The last change
	   is a step towards enabling the use of HW accelerated SDL-blit
	   functions on the GP2X port.
	* Move calls to OutputSurface::lock() / unlock() to a lower level:
	   Every function that wants to access pixels directly should now make
	   sure the surface is locked. Similarly a function that wants to use
	   blit operations must unlock the surface. This allows for the
	   minimal amount of locked<->unlocked transitions. (Locking while
	   already locked or unlocking while already unlocked is very fast.)

2008-01-16 Alex Wulms
	* Added German keyboard map (unicodemap.de):
	    It is needed for Sony HB-F700D. Please note that currently it gives
	    a key-ghosting effect when entering { character; on german MSX this
	    character must be entered by pressing SHIFT, CODE and ( keys
	    SHIFT and CODE are on same ROW
	    SHIFT and ( are on same COLUMN
	    Hence the < character gets 'ghost pressed' (in same column as CODE)
	    Need to figure out how this works on the real machine. Does it contain
	    hardware to prevent key ghosting?

2008-01-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Optimized SCC::generateChannels()

2008-01-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Optimized CheckedRam for the case there is no umrcallback set:
	   In some cases (e.g. in manbow2) it still caused some overhead:
	   Internally openMSX divides memory in 256 byte chunks (see
	   ChacheLine.hh) as soon as all 256 bytes in a chunk have been
	   written to, read/writes to this chunk happen without overhead.
	   Usually this happens early in the MSX boot process or startup code
	   of a game. However manbow2 has 2 or 3 chunks that are read very
	   frequently but only partly initialized.
	   Solved by treating the memory completely initialized in case the
	   'umrcallback' settings is empty (no callback function registered).

2008-01-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed reading of wav cassette images on Windows:
	   Some versions of(?) windows can't open the same file multiple
	   times in read-write mode. But this is exactly what happened by
	   using the (now removed) File::getLocalFile() method combined with
	   SDL_LoadWav(). In the past (2007-08-29) we already solved a similar
	   problem with IMG_Load(). We solved this by deleting the File object
	   before using the path returned by getLocalFile(). This works for
	   regular files, but not for compressed files. I like to gzip my wav
	   images so we need a different solution.
	   To solve this I removed the old getLocalFile() method and created a
	   new class LocalFileReference. This class makes sure there is no
	   open file reference anymore after its constructor finishes and that
	   there is a local uncompressed version of the file for at least as
	   long as the lifetime of the corresponding objects this class.

2008-01-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* in CPUCore prefer to use 'unsigned int' over 'word' datatype:
	   Results in smaller and faster code. On x86, instructions that work
	   on 32-bit are shorter than those for 16-bit. Code size reduced
	   about 10kB, code is slighter faster (depends a lot on compiler
	   version and optimization options). ARM CPUs don't even have 16-bit
	   operations, only (limited) 16-bit load/store instructions. Here code
	   size reduced about 20kB and is about 4% faster.

2008-01-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* changed SoundDevice::updateBuffer() method:
	   As parameters this method (still) receives a number of buffers,
	   each buffer should be filled with the audio-output of one channel.
	   Before this change the existing data in the buffer should simply be
	   overwritten. Now the new data should be added to the existing data
	   in the buffer.
	   This new approach allows to let several channel buffers actually
	   point to the same underlying buffer (in fact only a muted or
	   recorded channel will still get it's own private buffer). This
	   allows to (mostly) skip the mix-channels step.
	   I measured on my core2duo CPU and this new approach is slightly
	   slower (a few percent) than the old one. If I disable SSE2
	   optimizations in mixChannels, it's about the same speed. However on
	   older CPUs without SSE2 and with smaller caches (like ARM) it's
	   definitely faster. I guess because this new approach is more
	   cache-friendly.

2008-01-03 Maarten ter Huurne <maarten@treewalker.org>
	* Removed execution of ~/.openMSX/share/init.tcl on openMSX startup.
	  We have a "scripts" dir which can be used instead.
	  This avoids an infinite loop if the user copies the openMSX internal
	  version of "init.tcl" into the user dir.

2008-01-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Created 5 new commands:
	     - create_machine   (returns machine ID)
	     - delete_machine <machine-ID>
	     - list_machines    (return list of machine IDs)
	     - activate_machine <machine-ID>
	     - <machine-ID>::load_machine <config-name>
	  - These commands allow to implement the existing commands 'machine'
	    and 'test_machine' as Tcl procs (not yet done).
	  - This also allows to test extensions with the existing 'ext'
	    command.
	  - It also allows to have multiple running msx machine in memory,
	    though ATM we always show the video/sound of the oldest machine.

2008-01-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added DivModByConst and DivModBySame utility classes:
	   - these allow to replace a 64-bit by 32-bit division or modulo
	     operation by a multiplication/addition/shift. This helps if
	     the divider is a constant, especially on CPUs without division
	     instructions (like ARM)
	* Always use 512kb flash for Manbow2 and MegaFlashRomScc mapper types:
	   Flash RAM saving now works in 'Lotus F3'.

2008-01-01 Patrick van Arkel (vampiermsx@gmail.com)
	* Added Original ROM tag to database and added tag handeling to
	  RomInfo.cc.
	* Changed list.php on http://romdb.vampier.net to include original
	  release tags.

2007-12-31 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixes for videosource setting:
	   - after switching machines, the list of allowed values could be
	     wrong
	   - doing 'unset videosource' crashed while MSX was not powered on

2007-12-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Restructured MemoryOps::memset implementation:
	   should make it easier to also add non-x86 asm routines

2007-12-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Optimized sprite drawing in mode 2:
	   I still like this code to be reviewed. I believe it's correct,
	   but sprite mode 2 is tricky sometimes.
	* Fixed error handling while parsing setting files

2007-12-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* More YM2413 stuff:
	   One of the previous optimizations triggered an assert, so I had
	   to revert (part of) it. Now I reimplemented it in a correct way,
	   it's even slightly faster than the previous implementation.
	* Made some YM2413 methods ALWAYS_INLINE:
	   Gcc already did this for x86, but not for ARM. And it is measurably
	   faster (also on ARM) if they are inlined.

2007-12-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Send out an update event for newly created settings:
	   - This way catapult is informed of value changes for
	     destroyed/recreated setting (happens for some settings during a
	     machine switch).

2007-12-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Refactored BooleanSetting:
	   Don't inherit from EnumSetting<bool> anymore. This requires
	   slightly more code but allows to better tune the code:
	    - openmsx_info setting now returns 'boolean' (was 'enumeration')
	    - querying the value now returns true/false (was on/false)
	    - as a bonus the new implementation has less #include dependencies

2007-12-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* More YM2413 optimizations:
	   - swapped inner/outer loop, now generate all samples for a channel
	     before moving on the next channel.
	   - made a special case for channels without AM or FM modulation

2007-12-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* More YM2413 optimizations:
	   - only update noise value in rhythm mode
	   - made Channel::global a function parameter iso a member variable
	   - moved 'fnum' and 'block' from Slot to Channel, merge them into one
	     new 'freq' variable
	* General SoundDevice/MSXMixer optimization:
	   - added SoundDevice::getAmplificationFactor(), this allows to move
	     a multiplication (or shift) from the sounddevice to the mixer. In
	     the mixer there already was a multiplication (for per device
	     volume setting) so those two can be merged.

2007-12-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Various YM2413 optimizations:
	   - made lfo_pm and lfo_am local variables iso member variables
	   - we used to store the last two Slot output values, but actually
	     one the last one was needed
	   - inlined advance() and calcSample() methods, this allows the next
	     two items:
	   - calc_phase() and calc_envelope() are not required when channel is
	     inactive (there is an exception for two rhythm channels)
	   - moved calc_phase() and calc_envelope() into the different
	     calc_slot_xxx() methods, this in turn enables the next two items
	   - the egout member variable can become a local variable
	   - rhythm channels don't use FM or AM, so we can use simpler
	     calc_phase() and calc_envelope() variants
	   - small simplifications, removed dead code
	* Made keyboard event parsing (for event recorder/replayer) slightly
	  more robust

2007-12-10 Alex Wulms
	* Added unicode support to event recorder/replayer logic

2007-12-09 Aernold Metselaar <arnold.metselaar@planet.nl>
	* Fixed small bug in diskmanipulator:
	  Extracted files timestamp had most signifiocant bit of minutes set
	  to zero.

2007-12-09 David Heremans <david.heremans@gnu-linux.net>
	* Fixed small bug in diskmanipulator:
	   Extracted files timestamp had an offset of one month.

2007-12-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Another YM2413 optimization:
	   Before the Slot objects kept a pointer to a Patch object, possibly
	   they can share the same Patch. One of the patches is used for the
	   custom instrument, so this one can change.
	   After this patch we keep the Patch object by value in Slot. A
	   disadvantage is that if the custom instrument changes, we have to
	   update it in every Slot that has this instrument selected (though
	   we already had to check this for other reasons).
	   This change removes one pointer indirection from frequently used
	   code, in total I measured about 2% speedup.

2007-12-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Various optimizations in YM2413:
	   Combined I could measure upto 10% speedup.

2007-12-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Optimized BitmapConverter::renderGraphic4() and renderGraphic6():
	   Created a 16x16 table to lookup two pixels at once. This helps
	   a little on 64-bit machines in 32bpp mode. On 32-bit I couldn't
	   measure a difference (positive nor negative). It also helps on
	   32-bit machines in 16bpp mode, as is the case for GP2X. There I
	   could measure a clear speed gain.
	* Greatly simplified ResampleLQ:
	   New implementation can only do downsampling, but that's good
	   enough, even when output freq is 48kHz.

2007-12-01 Maarten ter Huurne <maarten@treewalker.org>
	* Dropped support for GCC 3.3.
	  This was triggered by link errors when using std::basic_string<unsigned>
	  in the new keyboard mapping code. Working around this would require a
	  large amount of extra code to be written, which is not worth it.

2007-12-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed problem in BliBuffer:
	   In some cases our mute-optimization kicked in too soon,
	   (low frequency, low volume, short audio sync intervals triggers it
	   more often). This was audible as low frequency, low volume noise.
	* Previous changes in keyboard handling turned OPENMSX_FOCUS_EVENT and
	  OPENMSX_BOOT_EVENT (also) into msx events, this is wrong.
	  Event recording/replaying is still wrong because the logs don't
	  contain unicode information. Need to discuss this with Alex. Maybe
	  we need to log msx keyboard matrix info instead?

2007-11-25 Alex Wulms
	* Initialized keyboard_type and has_keypad parameter in all
	  hardwareconfig.xml file:
	    Initial value of keyboard_type is derived from keyboard
	    code at ROM BIOS address 0x2c.
	    Initial value of has_keypad is guessed from MSX version via a
	    simple heuristical rule; it is set to false for MSX1 and to
	    true for MSX2 and higher.

2007-11-24 Manuel Bilderbeek <manuel@msxnet.org>
	* Added connector update events, to keep track of which connectors
	  are available.

2007-11-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Removed EmuTime parameter from MSXDevice constructor (was not used).

2007-11-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Optimization in SpriteChecker::checkSprites1() and
	  SpriteChecker::checkSprites2():
	   Before we checked line-by-line which sprites are visible for that
	   line. Now we check it for lines in a whole range at the same time.

2007-11-21 Alex Wulms
	* Added docs/keyboard.readme:
	   This document explains which new parameters have been
	   introduced in hardwareconfig.xml and in settings.xml

2007-11-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Optimized MSXMixer::generate():
	   see comments in that method for more details

2007-11-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Big optimization in AY8910::generateChannels():
	   Because the PSG generates mostly square waves and because we
	   emulate the PSG at a high frequency (224kHz), lots of consecutive
	   output samples have the same value (typically 100 or more!). We
	   used to emulate the PSG step-by-step, instead now we calculate the
	   moment in time when the output will change and output with that
	   many equal samples.
	   Because of this change PSG emulation itself became 3x-4x faster. On
	   total emulation time this is upto 10% faster.
	   This change was actually done as a preparation to use BlipBuffer
	   more directly in the PSG code (because BlipBuffer only needs to
	   know about changes in the sample stream). But on it's own it was
	   already a nice speedup. This also means there is still potential
	   for another big speedup.

2007-11-19 Alex Wulms
	* Removed conversion program (CVP) marker from russian keymap and
	  removed few duplicate entries from spanish keymap

2007-11-18 Alex Wulms
	* Fixed unicode map jp_jis, introduced jp_ansi, ru, es :
	   - The unicode maps are now derived from the MSX key
	     matrixes on the MAP. See following URL:
	     http://map.tni.nl/articles/keymatrix.php
	   - Updated harwareconfig.xml of Sony_HB-F9P_Russian and
	     of Panasonic_FS-A1 to test maps ru and jp_ansi

2007-11-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Optimization in CPUClock:
	   Before this change we had two member variables 'limit' and 'extra'.
	   Now they are replaced by 'limit' and 'remaining'. The variable
	   'limit' still has the same meaning, the variable 'remaining' is equal
	   to the old 'limit - extra'. So the same information is represented
	   in a slightly different way.  The advantage is that the expression
	   'limit <= extra' now becomes 'remaining <= 0'. This is slightly
	   faster but it's used in the innermost CPU loop.

2007-11-14 Alex Wulms
	* Processed review comments of Wouter on Keyboard class
	  and made several other small improvements

2007-11-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Optimized cacheline handling in CPUCore:
	   - before it was used like this:
	       const byte* line = readCacheLine[address >> 8];
	       byte result = line[address & 0xFF];
	     now it's like this:
	       const byte* line = readCacheLine[address >> 8];
	       byte result = line[address];
	     So the cacheline doesn't store directly the address of the
	     buffer, but the buffer minus (address & 0xFF00).

2007-11-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* tiny speedup:
	   Added non-virtual method RawFrame::getLinePtrDirect(), the base
	   class already had a virtual method FrameSource::getLinePtr() that
	   does the (on this level). In some places (like SDLRasterizer) we
	   know we're working on a RawFrame, so using getLinePtrDirect is
	   slightly faster.
	   For consistency I also renamed the (non-virtual) method in
	   OutputSurface to getLinePtrDirect().

2007-11-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Optimized ResampleBlip:
	   This is not the blip algorithm itself, but the preprocess step that
	   transforms a sequence of samples into a sequence of 'sample value
	   changed' events.

2007-11-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* In various places performed the following two optimizations:
	  - Prefer to use int or unsigned int over shorter types (char,
	    short). Results in both faster and shorter code (both on x86
	    and ARM).
	  - Prefer to use unsigned over signed types. Especially when the
	    var is used in division or module operations (more important on
	    ARM than on x86). But even a simple divide by 2 (or any power of
	    2) is slower on signed types! This is because divide rounds
	    toward zero, while a shift-right operation rounds down.

2007-11-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added 'machine_info device [<devicename>]' info topic:
	   - Allows to query the device type of a given devicename
	   - Preparation to be able to query rom types
	* Extended 'machine_info device' to also return the romtype (only
	  for roms of course)

2007-11-06 David Heremans <david.heremans@gnu-linux.net>
	* DirAsDisk has a new sector cache format:
	  - Forced little endianess of numbers in the cache.
	  - Made sure that files are mapped on the same sectors.
	  - Invalidate the cache if files have changed size
	  - New files are added afterwards and do not conflict with the cache.

2007-11-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed manbow2 mapper type:
	   First 7 sectors (1 sector is a 64kb block) are write-protected,
	   only the last sector is writable.
	   Created a seperate mapper type 'MegaFlashRomScc' (existed already
	   as an alias) which has the complete range writable.

2007-11-04 Alex Wulms
	* Introduced unicode character handling in Keyboard class:
	   - Before, SDL key-presses where mapped to MSX key-presses.
	     Now, unicode characters get mapped to MSX key-combinations
	     when SDL returns a unicode character. Otherwise, SDL key
	     still gets mapped to MSX key

2007-11-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Optimized AY8910::generateChannels():
	   Swapped inner/outer loop. Now the outer loop goes over all (=3)
	   channels and the inner loop over the samples. We (potentially)
	   duplicate the calculations for the 'shared resources' between the
	   channels (envelope and noise), but the inner loops are much
	   simpler. In the cases I measured there was a significant net gain:
	   it only takes 60% of the original time.
	* Additional AY8910::generateChannels() optimization:
	   - Also use the 'silent channel' optimization for channels that use
	     envelope volume and envelope has reached zero (and stays there).
	   - Simplified the initial tests in generateChannels()

2007-11-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Optimized MSXCPUInterface::setPrimarySlot():
	   more efficient way of updating the not-allowed-to-be-cached
	   region information

2007-11-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Various CPUCore tweaks:
	   - mostly to eliminate branches or to produce shorter code
	   - I couldn't measure a speed difference, but the code is 2% shorter

2007-10-31 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Made normal and '_fast' variant of Clock::getTicksTill() and
	  Clock::advance(). Use the _fast variant on places where speed is
	  important and where it's safe to use.
	  (Since 2007-10-03 we always used the fast variant, but occasionally
	  that's wrong).

2007-10-28 David Heremans <david.heremans@gnu-linux.net>
	* DirAsDisk now only saves 'CACHED' type sectors and the
	  final sector of 'MIXED' file caches in the '.sector.cache'
	  when the disk is ejected.

2007-10-26 David Heremans <david.heremans@gnu-linux.net>
	* DirAsDisk now dedects new files on the Host OS

2007-10-24 David Heremans <david.heremans@gnu-linux.net>
	* Fixed DirAsDisk detecting moved/erased files on the Host OS

2007-10-24 David Heremans <david.heremans@gnu-linux.net>
	* Extended the DirAsDisk functionality:
	   Due to popular demand....
	   Got sync from MSX disk to Host OS correct for create,
	   delete, rename, grow and shrinking of files.
	   Tested with Philips NMS 8250 and FS A1-GT who both have a
	   completely different approach/sequence to handling these actions.
	   Still a lot to do and test but we are getting somewhere at least.

2007-10-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed regression in SCC (introduced in 6430):
	    update output after a freq register write

2007-10-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed detail in SCC rotation mode:
	   if deform bits 7-6 are 10, wave form 4 rotates at freq5 speed
	   see: http://www.msx.org/forumtopicl7875.html

2007-10-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Initial version of Manbow2 mapper:
	   this is work in progress, possibly the way the flash is saved
	   will still change
	* Added MegaFlashRomScc extension

2007-10-08 Manuel Bilderbeek <manuel@msxnet.org>
	* Added Sony HB-F1XDJ config, thanks to msxrestarter. Function and use
	  of the big firmware ROM is not clear yet, but it should work, as it
	  uses the Halnote mapper.

2007-10-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Optimized 64-bit divide-by 32-bit operations:
	   - the x86 'divl' instruction already does a 64-bit by 32-bit
	     division, though it generates a trap when the result does not
	     fit in 32-bit. That's why it's not (directly) used by gcc.
	     In certain (time critical) places in openmsx we know the result
	     fits, so we can directly use this instruction.

2007-10-03 David Heremans <david.heremans@gnu-linux.net>
	* Extended the DiskManipulator:
	   It is now possible to export a single file or subdir from the msx
	   image

2007-09-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed Halnote mapper, based on info from blueMSX

2007-09-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed bug in stereo blip resampler:
	   in case only one of the two channels was active, we left the other
	   channel undefined (now we fill it with zeros)
	* Fixed bug in CPU code (probably introduced by me on 2007-08-28):
	   - limitReached() bookkeeping was wrong when the advanceTime()
	     method was used. This only happens when switching between
	     Z80/R800. Fixed now.
	   - This new implementation is also faster. Before the CPU polled
	     the scheduler for the earliest sync-point (after every IO and
	     memory mapped access). Now the Scheduler pushes new sync-point
	     data to the CPU.

2007-09-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed TR status bit in V9990 (was inverted):
	   - TR=1 means ready for transfer, thus V9990 is *not* ready to
	     execute (part of) the command, it's waiting for data
	   - Apparently most SW doesn't bother to check this bit (since
	     the V9990 is fast enough). However Symbos does check it!
	* Initial implementation of V9990 LMCM command:
	   - maybe not correct yet, but certainly better than no
	     implementation
	* Fixed odd/even pixel problem in LMMC and LMCM commands

2007-09-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Mute individual PSG channels:
	   - already speeds up the PSG code itself (though i only added code)
	   - also enables speedups in the following stages of the audio flow
	* In SoundDevice::mixChannels(), special case mixing of 0, 1, and
	   odd or even number of channels, also unroll 2x
	* Added SSE2 optimized version of SoundDevice::mixChannels()

2007-09-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Use resampler for SamplePlayer
	* Process samples per 4 in SoundDevice::mixChannels()
	    On itself this is already faster, but it also paves the way for
	    future SSE2 optimizations.

2007-09-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed harmless(?) UMR in Y8950Adpcm
	* Don't take sqrt() of negative numbers (in case of rounding errors)
	* Fixed crash while using breakpoints

2007-09-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* SpriteChecker improvements:
	   - get rid of expensive division in SpriteChecker fast-path
	   - duplicate SpriteChecker::checkSprites2() for planar and
	     non-planar modes

2007-09-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* CPU code tweak:
	   - slightly better signed overflow calculation
	   - use RD_WORD_PC to read two consecutive opcode bytes

2007-09-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Big optimization in CPU code:
	   - Before we used function-to-member-pointers, now we use
	     function-pointers to static functions that take an explicit
	     'this' argument. This doesn't look as nice, but gcc can
	     generate faster code for it.
	   - In the 'zexall' test with renderer=none speed improved from about
	     106s to 85s on my system! In a 'Space Manbow' test (also with
	     renderer=none) speed improved from 54s to 48s!

2007-08-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Optimized YM2413 and YM2413_2 idle mode:
	    After profiling we found that even a completely idle YM2413 was
	    at the top of a CPU profile (while running PSG games). The only
	    thing the YM2413 was doing was updating the internal noise
	    generator and AM/PM/evelope counters.
	    Because this is so expensive we disable that after some idle
	    time (for now 200ms). This means the noise sequence and AM/PM
	    phase will not be exactly the same as on real HW when the music
	    resumes, but that's most likely not audible.

2007-08-29 Maarten ter Huurne <maarten@treewalker.org>
	* Destruct File object before loading a file with IMG_Load from
	  SDL_image. This should fix sharing violations on Windows.

2007-08-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Split CPUClock::setLimit() in inline/non-inline part:
	    gives a nice speedup in IO-port intensive applications
	* Tweaked calculation of current CPU time

2007-08-27 Maarten ter Huurne <maarten@treewalker.org>
	* Do not cache the result of native system detection.
	  This makes it easy to use the same source tree on different systems,
	  for example when the sources are on a network drive or if you do
	  both 32-bit and 64-bit builds on an x86_64 system.

2007-08-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Created release branch for openMSX 0.6.3.
	* Various optimizations in CPU:
	   - wrote specialized (simpler) code for instructions like
	        xor a / cp a / or a / add a,a / sbc hl,hl
	   - split cpuTracePost in a small inlineable part and a non-inline
	     rarely executed part
	   - optimized time book-keeping in the read/write memory paths
	* Small optimization in SDLRasterizer (+ cleanup):
	   - don't render the same VRAM line twice in case of (single page)
	     hardware horizontal scroll

2007-08-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Optimization in SDLRasterizer:
	   - if possible directly render to destination (instead of to local
	     buffer followed by memcpy)

2007-08-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Made diskmanipulator command also available on machines without
	  disk drives

2007-08-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added -nopbo command line option to disable use of
	  OpenGL Pixel Buffer Objects

2007-08-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Show build flavour in the version string (not for release builds)
	* Fixed crash on exit while removing an extension that created extra
	  external slot(s) and occupied (some of) those itself.

2007-08-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Compiled with -Wpadded and changed the order of some members so that
	  the enclosing struct/class requires less internal padding:
	   - I did the same thing on 2007-04-24, however this time I'm
	     compiling on x86_64, so pointers require 8 bytes (iso 4). There
	     were also a few new classes that needed some shuffling.

2007-08-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Enable -Wold-style-cast warnings by default
	  and fixed all warnings triggered by this
	* In CPUCore only do unaligned memory accesses if we know
	  the host CPU supports it

2007-08-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added psg_profile Tcl script

2007-07-31 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Optimized cassetteplayer audio part, also use resampler

2007-07-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Some fixes in ESE_SCC

2007-07-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Commented out win32 specific sleep/timer code, it gives problems on
	  dual core CPUs

2007-07-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed [ 1622018 ] New persistant directories created for every
	  run-time switch
	* Use resampler for YMF278 (MoonSound wave part):
	   also added a trivial resample mode for the case that input and
	   output sample rate are the same (as will often be the case for
	   YMF278, as its native freq is 44100Hz)

2007-07-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Disabled OpenGL SaI shader, see comments in GLScalerFactory

2007-07-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed [ 1730148 ] config checker creates big HD images:
	   image is now only create on first use (read/write), so
	   not yet when the machine is instantiated (=config check)
	* Added experimental PSG detune option, similar to PSG vibrato:
	   - control with the PSG_detune_frequency and PSG_detune_percent
	     settings
	   - next step: experiment with the PSG detune/vibrato and hopefully
	     remove one of the two again. Maybe also remove the
	     PSG_*_frequency setting(s).

2007-07-21 Patrick van Arkel (vampiermsx@gmail.com)
	* Updated to Version 2.1 of the cheat defenitions after
	  adding a ton of new cheats provided by Mars2000you.

2007-07-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added proper MSXDOS2 mapper type (before we used generic16kb):
	   - implemented by BiFiMSX, I only fixed some bugs

2007-07-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented 'Super Lode Runner' mapper:
	   This mapper is special because it ignores the SLOT-SELECT signal;
	   it reacts to writes to address 0x0000 in _any_ slot. This violates
	   the MSX standard.
	   For a long time we didn't implement this mapper because it would
	   add a (small?) performance hit on all memory writes.
	   However, now, since we implemented the watchpoint infrastructure,
	   the mapper can be implemented without any performance impact (no
	   performance impact if the mapper is not inserted).

2007-07-05 Maarten ter Huurne <maarten@treewalker.org>
	* Added vibrato effect for PSG.
	  You can control it with the settings "PSG_vibrato_percent" and
	  "PSG_vibrato_frequency". Good values are around 1.0% and 4.5Hz.
	  By default "PSG_vibrato_percent" is 0, which turns off the effect.
	  Thanks to Wolf for the idea and his feedback on experiments.

2007-07-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Use pimple idiom to move implementation details from hh to cc for
	   YM2413 YM2413_2 YMF262 YMF278
	* Fixed regression in YM2413_2 core:
	   Was introduced in revision 6372. We used a 8.24 FixedPoint
	   datatype, but this goes wrong because our FixedPoint types are
	   signed. Solved by using much smaller resolution FixedPoint
	   datatypes (this is even a simplification and a small speedup).

2007-06-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* allow to use bindings on joysticks that are not plugged in (into the
	  emulated MSX)

2007-06-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Created new directory 'utils' and moved several files into it

2007-06-26 Manuel Bilderbeek <manuel@msxnet.org>
	* Added Software and Creation Date info to AVI files.
	* Added Creation Time info to PNG files (Software was already there).

2007-06-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added experimental BlipBuffer support for DACSound based sound
	  devices:
	   - heavily based on
	       http://slack.net/~ant/libs/audio.html#Blip_Buffer
	* Added BlipBuffer based resampler:
	   - Selectable via 'set resampler blip'
	   - I'm not sure we want to keep this global or if we want to make
	     this resampler default for specific devices. But for now it's an
	     easy way to experiment

2007-06-19 Manuel Bilderbeek <manuel@msxnet.org>
	* Voice ROM of Keyboard Master is now also searched in ROM pools (sha1
	  is hardcoded).

2007-06-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed bug in SCC peek:
	   - peek of deform register also triggered a reset of that
	     register (like a regular read does)
	* Implemented peekMem() for ESE_SCC / MSXSCCPlusCart
	* Implemented read/write cache line stuff for ESE_SCC

2007-06-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added (optimized) clipping routines in Math.hh and use them
	  in several places:
	   - idea for int->short clipping is taken from Blip_Buffer
	       http://slack.net/~ant/libs/audio.html#Blip_Buffer

2007-06-09 Maarten ter Huurne <maarten@treewalker.org>
	* Use resampler for AY8910 (PSG).

2007-06-06 Manuel Bilderbeek <manuel@msxnet.org>
	* Added a dummy port of blueMSX's YM2148. TODO: actually fill in the
	  code. It's harmless, so I checked it in to have a base for a real
	  port.

2007-06-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Access all CPU registers via getter/setters:
	   - as preparartion for performance experiments, this change on its
	     own has very little impact on the generated code
	* Alternative implementation for CPURegs:
	   - see comments in the code for details
	   - this version is a few percent faster for me

2007-06-05 Maarten ter Huurne <maarten@treewalker.org>
	* Added support for DESTDIR in the build system:
	  If you run "make install DESTDIR=/some/path", all installation
	  paths will have that prefix prepended to them.
	  For example, the default location of the executable would become:
	    /some/path/opt/openMSX/bin/openmsx

2007-06-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Another CPUCore optimization:
	  - Made optimized 16-bit read/write routines. Originally this gave a
	    slowdown, caused by gcc no longer inlining some bigger routines.
	    After forcing gcc to inline the memory read/write functions, there
	    was a huge speedup: upto 15% in a CPU only benchmark!! Forced
	    inlining is responsible for the largest part of this speedup (very
	    roughly 3/4 by always inline, 1/4 by new 16-bit routines).
	* Experimental IM2 support for YamahaSfg05 (untested)

2007-06-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* CPUCore optimization:
	  - in RDMEM / WRMEM routines, keep cache line address in local
	    variable instead of reading it twice from an array. Apparently gcc
	    was not able to prove that array didn't change during a call to
	    T::POST_MEM().
	  - Gave more than 10% speedup here in a CPU only benchmark (zexall
	    with frameskip=99)

2007-06-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Sound recording (seperate channels or combined) now always records
	  to sound, irregardless of the 'mute' setting

2007-06-02 Albert Beevendorp
	* Added Password Cartridge implementation.
	  The value between the <password> tags in the hardwareconfig.xml
	  may vary from 0x0000 to 0xffff. It's used by the BIOS to read the
	  password from the cartridge if one is set. This implements feature
	  request 1411507.

2007-06-01 Manuel Bilderbeek <manuel@msxnet.org>
	* Added an LS-120 SCSI device.
	  - Mostly as demonstrator of a removable SCSI device.
	  - Could be used to make a SCSICDROM easier to make.
	  - Can also be used to determine common stuff between SCSI devices.
	  - TODO: change 'lsX' commands to something better.
	  - TODO: remove massive code duplication with SCSIHD/HDCommand.

2007-05-31 Manuel Bilderbeek <manuel@msxnet.org>
	* Removed all dead code from SCSIHD and attempted to move
	  device-specific stuff inside the class. I'll try to make an
	  LS-120 device soon, to demonstrate a removable device.
	* Note that yesterday we also added ESE SCC and WAVE-SCSI. The latter
	  doesn't seem to work properly, though.

2007-05-28 Manuel Bilderbeek <manuel@msxnet.org>
	* Added initial MEGA-SCSI emulation.
	  It's not working completely OK yet... Please help debugging :)
	  (Thanks a lot to Wouter and Albert for their help.)
	* It seems to work after all: make sure to do a physical format of the
	  disk first (using SFORM-2.COM).
	* Lots of cleanups, also by Wouter.
	* Added ESE Ramdisk (a.k.a. ESE RAM). This is MEGA-SCSI without SCSI.

2007-05-26 Manuel Bilderbeek <manuel@msxnet.org>
	* Created common superclass for SCSIHD and IDEHD called... HD.
	  This makes it possible to let HDCommand work with any kind of HD.
	  Now you can use the hdx commands also for SCSIHD's.
	  Note: (off-topic) diskmanipulator can't handle corrupt disks.
	  Note 2: diskmanipulator doesn't support the partition table formats
	  used on SCSI harddisks yet. So, until then, SCSI devices cannot be
	  used from diskmanipulator.
	  Note 3: implementation of HD class could be cleaner... (it's using a
	  protected member "file" now...)

2007-05-24 Manuel Bilderbeek <manuel@msxnet.org>
	* Read initial size and file name from config XML and create disk
	  image in the persistent directory.
	* GoudaSCSI is now usable!
	* Implemented LED events for SCSIHD.

2007-05-23 Manuel Bilderbeek <manuel@msxnet.org>
	* (GoudaSCSI is basically working, yay! But please do not use it yet.)
	* Introduced abstract base class for SCSIDevices and added
	  DummySCSIDevice (and made use of it).

2007-05-21 Manuel Bilderbeek <manuel@msxnet.org>
	* Added initial GoudaSCSI support, ported from blueMSX.
	  NOTE: DO NOT USE YET!
	  This is very much WIP! It's not working yet and contains lots of
	  shortcuts and hardcoded stuff. So, again: don't use it. But please
	  help improve it! :) (You are warned!)

2007-05-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Removed old (unoptimized) implementation of the high-quality
	  resampler: sound quality is the same

2007-05-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added fast/low-quality resample algorithm
	* Added 'resample' setting with possible values 'fast' and 'hq' to
	  switch between the different resample algorithm

2007-05-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Moved int<->float conversion from sounddevices to Resampler:
	   - preparation for fast/low-quality resampler

2007-05-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Share resample coeff table between Resample instances with the same
	  resample ratio

2007-05-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Additional speedup for the Resampler:
	   - unrolled the loop (+ break dependencies)
	   - added SSE optimized routine (mono only for the moment)
	   - also added SSE optimized stereo resampler
	* Fixed memset4_2_MMX():
	   - we used to pass a pointer to a struct on the stack, but
	     newer gcc versions optimize this struct away

2007-05-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Experimental speedup for the Resampler:
	   - code is very quick-and-dirty
	   - still contains both old and new implementation to make
	     sound quality comparison between the two possible

2007-05-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Use 'SCC' instead of rom-name as name for the SCC sounddevice

2007-05-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Optimized Resampler a bit:
	   - used 'x - trunc(x)' instead of 'fmod(x, 1.0)'
	   - but it's not used in the innermost loop so the speed gain is not
	     that big (it is measurable though)

2007-05-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added SSE2 optimized noise routine in FBPostProcessor
	* Restored parsing of the <volume> and <mode> tags in the
	  soundsection of hardwareconfig files. There can also
	  be a <balance> tag now (that overrules <mode>)
	* Removed volume handling from sounddevice code:
	   - it's now handled (together with balance) inside MSXMixer

2007-05-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Removed <sounddevice>_mode setting:
	   - will be replaced by a balance setting soon
	   - TODO what about backwards compatibilty?
	* Added <sounddevice>_balance setting

2007-05-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added support for SSE2 in HostCPU
	* Added SSE2 optimized routine in ScanLine class

2007-05-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Reworked internal sounddevice mute code:
	   - As an optimization is was possible for a sounddevice to indicate
	     that it won't produce sound in it's current state. In that case
	     the mixer wouldn't bother to call the updateBuffer() method
	     for such devices.
	     It was also already possible for a sounddevice to indicate that
	     a specific channel is completely silent.
	     Now these two approaches are unified: sounddevice should only
	     inidicate which individual channels are muted. If all of the
	     channels are muted, the rest of the sound code detects this and
	     the same optimization as before happens.
	     In this new approach the updateBuffer() is called in any case,
	     so it's now possible to both correctly update internal state and
	     benefit from the muted optimization.
	   - The glitches that happened after unmute on resampled devices are
	     now gone. But that because muting is effectively disabled for
	     these devices for now. Although this new approach does make it
	     possible to solve it and have the mute optimization. It's just
	     not implemeted yet.

2007-04-30 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed MSX reading from SCC: frequency and volume block is write-only.
	* Fixed SCC reset behaviour: only deform and channel enable are changed.

2007-04-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Compiled with -Wpadded and fixed some of the warnings:
	   - only fixed the cases that were solvable by rearranging the
	     order of the fields locally in one class
	* Fixed cassette input bit (PSG R#14 bit 7) on turboR (thanks BiFiMSX)

2007-04-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Extended mute_channel related procs:
	    - mute_channels without any arguments lists which channels are
	      currently muted
	    - unmute_channels without arguments now unmutes all channels
	    - new command 'solo' mutes everything except for the specified
	      channels
	* Small optimization in SDLGL-PP simple scaler:
	   - pack several scalar uniform variables in one uniform vector
	     variable. Removes one MOV instruction from the compiled fragment
	     shader.

2007-04-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Recording/muting of individual sound device channels works:
	   - it's still quick-and-dirty, but i wanted to have something
	     working soon
	   - use either via the <sounddevice>_ch<n>_record and
	                        <sounddevice>_ch<n>_mute settings
	     or via the record_channels Tcl script (no mute yet)
	     examples:   record_channels PSG
	                 record_channels SCC 1,3-5
	                 record_channels stop
	                 record_channels stop PSG 2
	                 record_channels list
	   - TODO: documentation
	           make recording stutterless
	           record silence when complete sounddevice is muted
	              (muted manually or implicitly by the device itself)
	* Improved channel recording:
	   - Channel recording is now also stutterless.
	   - Recording continues when sounddevice is internally muted.
	     Unfortunately explicitly muting the device doesn't work now
	     anymore when some channels of the device are beiing recorded.
	     Fixing this requires some more work.
	* Added tabcompletion + help for the record_channels script
	* Extended script with (un)mute_channels procs

2007-04-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Converted sounddevices to generate output as seperate channels:
	   - This is very much work in progress. There is no code yet to
	     take advantage of this split. The code in the converted
	     sounddevices should still be cleaned-up and optimized.
	* Refactored SoundDevice and ChannelMixer:
	   - merged SoundDevice and ChannelMixer classes
	   - made SoundDevice aware of input and output sample rates
	   - added methods in SoundDevice to record and mute individual
	     channels. Next step is to actually use these methods.

2007-04-18 Joost Yervante Damad <joost@teluna.org>
	* fix build with gcc snapshot 20070326

2007-04-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented SDLGL-PP RGBTriplet scaler
	* Implemented SDLGL-PP SaI scaler:
	    This algorithm is not well suited for a HW implementation (it
	    has a lot of branches). So this scaler will probably run a bit
	    slower than the other HW scalers.

2007-04-15 Manuel Bilderbeek <manuel@msxnet.org>
	* Added emulation of Yamaha YM2151 and partly the Yamaha SFG-05
	  sound module. For the latter, I included the config of the Yamaha
	  CX5MII/128. TODO: MIDI and keyboard, so only few software titles
	  for it work. Thanks to Daniel Vik for his support! The code is
	  taken from blueMSX and MAME.
	* Added emulation of the VLM5030 sound device, which is used in the
	  unreleased Konami game Keyboard Master. For now, the sample ROM
	  should be located in share/keyboardmaster with the name voice.rom.
	  Thanks to Daniel Vik for his support. Also here, the code is
	  taken from blueMSX and MAME.

2007-04-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Extended resampler class for stereo devices
	* Speedup SDLGL-PP simple scaler
	* Use (stereo) resampler for YMF262 (FM-part of OPL4)
	* Use resampler for (both) YM2413 cores (MSX-MUSIC)
	* Use resampler for Y8950 (MSX-AUDIO)

2007-04-15 Maarten ter Huurne <maarten@treewalker.org>
	* Released openmsx-0.6.2.

2007-04-12 Manuel Bilderbeek <manuel@msxnet.org>
	* Fix for MSX1 VDP's: on these VDP's the VRAM pointer is always
	  updated when writing to the VDP registers. Fixes some MSX1 demos
	  like Planet of the Epas.

2007-03-23 Manuel Bilderbeek <manuel@msxnet.org>
	* Integrated David's new commands.html into the manuals. Thanks for
	  converting it!
	* Removed commands.txt and references to it.
	* Get rid of in-manual revision history.

2007-03-22 Maarten ter Huurne <maarten@treewalker.org>
	* Universal binary support for Mac OS X:
	    make staticbindist OPENMSX_TARGET_CPU=univ
	  There are probably still some issues left, but the infrastructure for
	  building universal binaries is now complete.
	  Thanks a lot to BouKiCHi for providing the scripts on which this
	  universal binary support is based.

2007-03-15 Manuel Bilderbeek <manuel@msxnet.org>
	* Added Al-Alamiah AX170 (prevously added Yamaha AX350II).
	  - NOTE: it is not certain if these configs are correct and I have
	    not been able to verify the ROM dumps. They are added only to have
	    some working Arabic machines, do not use them for compatibility
	    testing or something. (Have fun!)

2007-03-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Force a FormFeed when a printer is unplugged
	* Better algorithm to calculate framerate for avi recording:
	   - measure time between two recorded frames instead of two frames
	     from before recording started.
	   - old method could go wrong when minframeskip != maxframeskip

2007-02-28 Manuel Bilderbeek <manuel@msxnet.org>
	* Fixed a bug in the tabCompletion of the enable command.
	* Added a small help for the enable command, pointing to a new
	  documentation file: doc/openmsx-control-xml.txt. This text explains
	  the protocol used for external communication (CliComm).
	* Removed deprecated update types (deprecated in openMSX 0.6.1, but they
	  were not used by any external application we know about): break and
	  resume.

2007-02-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed(?) data corruption when using 'diskmanipulator import':
	   - I had no idea were in the code the bug was, so i started
	     doing clanups/simplifications till I understood the code
	     again and found the bug.
	   - Turned out the dirty status of the FAT chache was not set
	     correctly by the writeFAT() method.
	   - Another bug happened when a there is not enough free space
	     left on the disk to completely import a file: the file was
	     imported as far as ossible, the FAT was updated, but not the
	     directory entry.

2007-02-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed hang in altparty demo:
	   - Demo polls FH bit in VDP status reg S#1. but when line interrupt
	     register has value 229 this went wrong. Reason is that for this
	     line the duration of FH=1 is partly in the current and partly in
	     the next frame. Old implementation only set FH=1 in the current
	     frame.

2007-02-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed SDLGL-PP simple scaler factor=1 deinterlace mode:
	   - in the previous implementation this caused a (floating-point)
	     division by zero. This could give strange results.
	   - Now we disable scanlines when there are more lines in the input
	     than in the output. This is also how it works in the SDL renderer
	* Fixed bug in switching between Z80/R800:
	   - switching _very_ fast (by OTIR) between Z80/R800 triggered an
	     assert that time goes backwards!
	   - problem was that we record the switch time at the moment the OUT
	     is executed and then still finish the rest of the instruction. So
	     there is a slight moment in emutime that both CPUs are executing.
	   - solved by only switching between two instructions

2007-02-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed assert on exit when a (real) joystick was still plugged
	* Small Z80 fixes:
	   - timing of LD DP,{HL,IX,IY} was two cycles too short
	   - number of M-cycles (and thus also timing) of instructions with
	     multiple prefixes (like DD CB xx xx or DD DD DD xx) was wrong
	   - off by one error in high part of 16-bit port number in
	     ini/ind/outi/outd instructions (complete bc register is put on
	     the address bus) b register was decremented too soon or too late

2007-02-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* No longer include playball samples as data in the source code:
	   - instead read them as 15 wav files in
	       share/playball/playball_0.wav
	       ...
	       share/playball/playball_14.wav

2007-02-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Set version=0.6.2-pre1, release_flag=true

2007-02-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented proper resample algorithm for SCC:
	   - does not introduce aliassing (graph+9 in solid snake sound test
	     works properly now)
	   - because there is no seperate filter anymore, those filter
	     characteristics based on Sean's measurements are gone.
	     Need to investigate this, because it was not clear whether this
	     extra filter improved sound quality

2007-02-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* SCC filter fixes:
	   - wasn't correct when there were multiple SCC cartridges
	   - replaced FIR filter with a cheaper one that also matches Sean's
	     measurements
	   - it's still not alias free, but fixing this requires a whole new
	     approach
	* Added interruptable sleep() method in EventDistributor:
	   - sleeps for a given amount of time or till a event gets posted
	   - used in the Reactor mainloop (e.g. when emulation is
	     paused/breaked). Should improve response time in the debugger

2007-02-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Allow case insensitive tabcomplition in Tcl scripts:
	   - requires a make install
	   - changed newtrainers.tcl and cpuregs.tcl scripts to use this,
	     maybe it's useful for others as well

2007-01-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Replaced filter in SCC code:
	   - used 4x oversampling + low pass FIR filter
	   - still WIP

2007-01-30 Manuel Bilderbeek <manuel@msxnet.org>
	* Added Sony HBD-50 disk drive extension (with proper FDC mirroring)

2007-01-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed mirroring of FDC registers in NMS 8250/8255/8280:
	   FDC registers are mirrored in all 4 pages, rom only in page 1
	* Added comment in NMS 8245 config:
	   FDC registers are mirrored in page 1/2, rom only in page 1
	   It was already implemented like this

2007-01-28 Manuel Bilderbeek <manuel@msxnet.org>
	* Implemented mirroring of subROM in all pages on Philips NMS 8250
	  (and derivatives)... TODO: find out which other machines have this.

2007-01-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Removed enum setting info topics:
	   code was already commented out (see 2006-11-04)

2007-01-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Make FilePool return a File object iso a filename:
	   - (g)zipped files won't be decompressed twice this way

2007-01-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added FrameBufferObject utility class:
	   - was part of an experiment to implement a fully shader based
	     hq(lite) scaler (current one is still partly done by CPU). This
	     needs some more work, but the FrameBufferObject part is already
	     useable.

2007-01-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed bug in SCC:
	   volume of 5th SCC channel could be wrong right after waveform was
	   updated (e.g. audible in Quarth)

2007-01-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed PSG noise frequency

2007-01-16  Arnold Metselaar  <arnold.metselaar@planet.nl>
	* Print warning if bit 0 of VDP register 9 is set to one; on a
	  real MSX2 this causes the screen to go black and the computer to
	  freeze.
	   - closes [ 1354347 ].

2007-01-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Synchronized TC8566AF code with blueMSX version:
	   - seems to fix [ 1630933 ] "Formatting on turboR goes wrong when
	     not booting with a disk".

2007-01-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Reimplemented 'soundlog' command as a Tcl script

2007-01-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Extended the record command to optionally record only audio or video:
	   - 'record start' accepts two new flags: -noaudio and -novideo
	   - the soundlog command is obsolete now

2007-01-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Improved 'record' command:
	   - syntax is very similar to the 'soundlog' command,
	     see 'help record'
	   - in the future the record and soundlog command might be merged,
	     with an option to select recording audio/video/both
	* Implemented gfx9000 video recording:
	   - active videosource ('videosource' setting) now gets recorded

2007-01-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Avi recording fixes:
	   - no longer require that V9938 has the exact name "VDP" in machine
	     hardwareconfig.xml file
	   - print warning when a change in framerate/samplerate is detected
	     during recording
	   - fixed bug in conversion routine while recording in 16bpp mode
	   - during recording frameskip is kept constant at minframeskip, thus
	     for example with minframeskip=1 you can record movies with
	     25/30fps instead of the usual 50/60fps

2007-01-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented experimental video recording:
	   - still very much work in progress, but for simple cases it should
	     already work
	   - user interface is still VERY primitive: the 'record' command
	     starts recording to 'test.avi' and only stops when openmsx is
	     exited
	   - changing between PAL/NTSC during recording doesn't work yet
	   - changing sound sample freq during recording doesn't work yet
	   - recording is not possible (yet?) with SDLGL renderer
	   - generated avi file uses the ZMBV codec (same as used in dosbox)
	     this codec is well suited for video-game like gfx and allows
	     real-time encoding on not too old machines. On my 3-year old
	     system i can do real-time recording of simple games, but I can't
	     record sphere in real-time (due to moonsound emulation??)
	   - the ZMBV codec is not very common. In mplayer (linux/windows)
	     can handle it, VLC version 0.8.6 not yet (development version
	     can). For windows you need to install zmbv.dll, but note that
	     there is a faulty zmbv.dll that can only play 8bpp (openMSX
	     movies are 16bpp or 32bpp).
	   - doesn't play well with frameskip yet, as a temporary workaround
	     you can set maxframekip=0 for now

2007-01-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Use PBO for faster texture upload in GLPostProcessor:
	   - depending on the system this is only a small (1%) or a big (10%)
	     speedup
	   - when PBOs are not supported we still use the old code

2006-12-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Use Pixel Buffer Objects (PBO) for faster texture upload in
	  GLHQScaler and GLHQLiteScaler:
	   - 'Space Manbow'-test is about 10% faster here, using hqlite2x

2006-12-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Various VDPCmdEngine related optimizations:
	   - in VDPVRAM: only track time in DEBUG mode
	                 no need to notify bitmapCacheWindow and nameTable
	     in VDPCmdEngine: use Clock::fastAdd
	   - between 2% and 3% faster in vdp-copy-intensive MSX software (I
	     tested Space Manbow intro demo)

2006-12-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Optimized inner CPU emulation loop:
	   - there were 3 tests per instruction, reduced that to just 1
	   - total emulation is about 3% faster in Space Manbow test

2006-12-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Try to upload larger texture blocks at once in GLPostProcessor (was
	  one line at a time):
	   - I measured upto 15% speedup (scale_algo=simple scale_factor=2)
	* Use array arithmetic iso pointer arithmetic in BitmapConverter:
	   - can be better optimized by gcc (and compilers in general)
	   - though, impact on total emulation time is not that big. I
	     measured about 1% speedup

2006-12-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Removed charDisplayCache and bitmapDisplayCache from SDLRasterizer:
	   - I measured around 5% speedup in screen5,
	     around 20%(!) in screen0/80
	* Make TC8566AF use the correct filler byte during format:
	   fix copied from blueMSX

2006-12-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* The -Wparentheses warning is now also enabled in c++ mode in recent
	  gcc versions (4.3 SVN version). This for example warns when
	  parentheses are omitted in places were people often are mistaken
	  about operator precedence. And guess what .. openMSX got it wrong in
	  a couple of places. In other places I just added extra parentheses
	  to silence the warnings.

2006-12-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* VDP code cleanup:
	   Changed users of VDPVRAM::readArea() and VDPVRAM::readAreaIndex()
	   to use VDPVRAM::getReadArea(). This method is safer to use, it also
	   simplifies the code a bit (IMHO).

2006-12-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed VDP bug introduced at 2006-11-18, s#0 was completely cleared
	  upon read, only bit 7 must be cleared:
	   - fixes VDP detection in sudoku.rom
	* Added intro text in openMSX console
	* Removed dirty checks from CharacterConverter
	* Added VDPVRAM::getReadArea() and use it to optimize
	  CharacterConverter
	* Optimized CharacterConverter::renderText2:
	   see comments in code

2006-12-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Refactored sound code:
	   _ Should only affect SDL sound driver
	   - Never generate samples from the audio thread:
	     In case of buffer-underrun we used to still generate the missing
	     samples from the audio thread. This helped sound quality a
	     little bit when CPU usage is very irregular. Unfortunately
	     this also introduces a lot of threading problems (race
	     conditions). So removed this completely, it also simplifies the
	     code quite a bit.
	   - Fixed a potential out-of-boundary buffer access.
	   - Fixed bug in sound-genration-timing to real-time tuning algorithm.
	     On some systems this caused a floating point exception.

2006-12-11  Arnold Metselaar  <arnold.metselaar@planet.nl>
	* src/sound/SDLSoundDriver.cc: ensure the left argument to % is
	  positive, fixes distorted sound and floating point exceptions.

2006-12-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implmented end-of-tape detection:
	   - was implemented by Manuel, I only fixed a remaining bug
	   - when end of tape is reached, the CassettePlayer goes to STOP
	     state
	   - main motivation for this feature is to avaod staying in 'full
	     throttle' mode after loading (in cases were the cassette motor is
	     not automatically stopped)
	* Fixed crash related to proxy settings and machine switching:
	   - e.g. 'openmsx_info setting <setting>' would still use the setting
	     object that belonged to the destroyed machine

2006-12-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed explicit (global) namespace qualification on proxy settings:
	   - proxy setting here means a machine specific setting that's
	     for convenience mirrored in the global namespace
	   - the toggle/cycle commands triggered this problem

2006-11-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Changed memset and memset2 from functions into functors:
	   - Compilation was broken recently on system were GLuint !=
	     unsigned. To fix this we need template specialization. But
	     templatized functions cannot be specialized.

2006-11-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Split Cassetteplayer in Cassetteplayer and CassetteplayerCLI

2006-11-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed auto-run-cas-file:
	   - type command got executed twice when a cas file was inserted via
	     the commandline. Could also happen when two cas insert commands
	     were given when openmsx is paused.

2006-11-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* SDLGL-PP renderer speedup:
	   - Upload textures in BGRA format (was RGBA). See this paper:
	       http://download.nvidia.com/developer/Papers/2005/Fast_Texture_Transfers/Fast_Texture_Transfers.pdf
	     On nvidia cards this is faster, most likely on ATI cards as well
	   - I measured between 3% and 5% speedup (total simulation time)

2006-11-22 Manuel Bilderbeek <manuel@msxnet.org>
	* Added Philips NMS 801 "MSX Compatible". Thanks to the blueMSX team.

2006-11-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Another SDLGL-PP hqlite optimization, OpenGL shader part this time:
	   - Before this change we sampled the color texture three times (to
	     get texels C4, C5 and C6) and blended these these three colors
	     each with a certain weight. The weight for the outer two pixels
	     is never non-zero for both at the same time. So we can as well
	     sample the color texture only once and make use of the HW texture
	     color interpolation.

2006-11-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added missing line width conversions in FrameSource:
	   - fixes crash in Gfx9000 parts of calculus with SDLGL-PP renderer
	* Use optimized memset function in V99990P{1,2}Convertor:
	   - only a little faster though

2006-11-19 Manuel Bilderbeek <manuel@msxnet.org>
	* Print originality status for ROM dumps in the database.
	  Rationale: see e-mail on openmsx-devel of today.

2006-11-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* fixed [1188517] Dragon Quest II intro logo corrupted:
	   - We had this comment in our code
	         According to TMS9918.pdf 5th [or 9th] sprite detection
	         is only active when F flag is zero.
	     but there was a bug in the actual implementation.
	     Dragon Quest 2 needs this.
	   - Bug was caused by splitting storage of VDP status register 0
	     over VDP and SpriteChecker class. Now S#0 is stored in VDP and
	     SpriteChecker uses get/set methods to access the sprite related
	     bits.

2006-11-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Speedup SDLGL-PP simple scaler:
	   - taking the average of two pixels and multiplying that with a
	     constant is the same as summing the two pixels and multiplying by
	     that contant/2.
	   - 7% faster here (in 4x)

2006-11-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Optimized SDLGL-PP hq scaler:
	   - used same tricks as the hqlite scaler (see 2006-11-14)
	   - share more code between SDLGL-PP hq and hqlite scaler
	* Optimized hq edge calculation:
	   - applies for both SDL and SDLGL-PP hq scaler
	   - another 3% speedup for SDLGL-PP hq (only measured this one)

2006-11-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Optimized SDLGL-PP hqlite scaler:
	   - optimized edge-bits calculation:
	      - change position of the bits so that it's easier (less shifts)
	        to reuse bits from the left and top neighbour
	      - calculate two pixels at once using 32-bit (iso 16-bit) bit
	        manipulations
	   - I measured 25% speedup on my system (for 2x and 3x because these
	     are CPU limited, 4x is GPU limited here)
	   - TODO: a similar optimization is possible for SDLGL-PP hq and
	     SDL hq/hqlite. Although there the speed improvent might not be
	     as big
	* Added 'test_machine' command (see 'help test_machine'):
	   - initial version, details on how success/failure is reported
	     can still change

2006-11-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Applied pimple-idiom to MSXMotherboard:
	   - will require less recompilations in the future: no longer when
	     there are changes to private member variables or functions

2006-11-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added machine add/remove/select clicomm update
	* Extended 'machine' command:
	   - without parameters it returns the handle of the current machine
	   - on a successful machine switch it also returns the handle
	* Added 'machine_info config_name':
	   - returns the configuartion name for the specified machine, the
	     config name is the name that should be used in the 'machine'
	     command to switch machine

2006-11-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented watchpoint regions:
	   see doc/commands.txt or 'help debug set_watchpoint'

2006-11-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Split CliComm in machine specific and global part:
	  - machine specific update events now have an extra 'machine'
	    attribute (e.g. <update type="hardware" machine="machine3" name="diska">add</update>)
	* Manage disk/hd/cd names per machine iso globally

2006-11-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* TODO temporarily disabled enum setting info topics:
	   see comment in EnumSetting.hh
	* Moved 'machines' and 'extensions' info topics from MSXMotherboard to
	  Reactor
	* Shared MSXDevice state should be shared per MSX machine, not shared
	  globally:
	    for the moment only fixed MSXMemoryMapper and Printer
	* Renamed 'machine' setting to 'default_machine' and create a new
	  'machine' command to actually switch to a new MSX machine
	* While switching MSX machine, first create the new machine and only
	  if that succeeded delete the old machine

2006-11-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Put machine specific commands and settings in a machine specific
	  namespace. There is also a corresponding command/setting in the
	  global namespace that delegates to the current machine:
	   - preparation for cleaner run-time switchable machine and run-time
	     machine checker
	   - setting code should be refactored one day, it's rather
	     complicated now

2006-11-01 Manuel Bilderbeek <manuel@msxnet.org>
	* Send CliComm events for CD and HD changes.
	* Report full name including path for CD and HD images.

2006-10-30 Joost Yervante Damad <joost@lumatec.be>
	* fix support for kfreebsd, "kfreebsd" was detected wrongly
	  as "freebsd" causing build failure

2006-10-26  Arnold Metselaar  <arnold.metselaar@planet.nl>
	* Unified advram-p and advram-s to a single advram,
	 - use "?0" to specify: subslot "0" if expanded,
	 - src/CartridgeSlotManager.cc: parse "?0",
	 - src/MSXDevice.cc, src/config/HardwareConfig.cc:
	    handle the case of "?0",
	 - TODO: get rid of the special values for slot numbers.

2006-10-25 Manuel Bilderbeek <manuel@msxnet.org>
	* Restructured media-related commands:
	  - basic idea: all media have the same command structure:
	    + mediacommand subcommand arguments
	    + default subcommand is 'insert', which can thus be omitted
	  - if you want to insert a medium with the name of a subcommand,
	    just use the insert subcommand first, e.g.:
	    diska insert insert
	  - Corrected help and documentation a bit and optimized completion a
	    bit
	  - TODO: completion can be made a lot tighter, still
	  - commands are still (practically) 100% backwards compatible

2006-10-18 Joost Yervante Damad <joost@lumatec.be>
	* fix from BouKiCHi for install-recursive.sh
	* make MMX and SSE code also work on AMD64

2006-10-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Split Mixer in a global Mixer part and a per machine MSXMixer part:
	   - when there are (temporarily) multiple machines in memory, each
	     machine has a MSXMixer while there is still only one Mixer (that
	     loads the actual sound driver)

2006-10-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Removed JoyNet:
	   - it didn't work (on practical speeds) anyway
	* Split CommandController in MSXCommandController (machine specfic)
	  and GlobalCommandController (and an abstract base class):
	   - changed code to use the approriate class, but ATM both still do
	     exactly the same

2006-10-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Split openmsx_info topics in two:
	   - machine specific topics are moved to a new machine_info command
	   - general topics remain in openmsx_info
	   - for backwards compatibility the machine specific topics also
	     remain in openmsx_info for one or two releases, but they generate
	     a warning
	   - openmsx_info <setting> is also deprecated, prefer to use
	     openmsx_info setting <setting> (already existed)
	   - adjusted Tcl scripts to use the new commands

2006-10-12 Maarten ter Huurne <maarten@treewalker.org>
	* Integrated Windows resource support:
	  stores icon and version info in the executable
	  patch was made by Albert and Manuel, based on wx Catapult build

2006-10-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Preparation to separate command registration from CommandController
	  (is itself a preparation to allow multiple machines in memory):
	   - moved tabcompletion code from CommandController to Completer
	* Print possibilities for tab completion in multiple columns,
	  especially useful with all the trainer_** procs ;)

2006-10-10 Manuel Bilderbeek <manuel@msxnet.org>
	* Renamed FileManipulator to DiskManipulator (classes/filenames)

2006-10-09 Manuel Bilderbeek <manuel@msxnet.org>
	* Fix crash when uninitialized disk image was used.
	  TODO: check limits more accurately (now only checked for 0)
	  TODO: separate partition selection from boot sector parsing

2006-10-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Various changes to reduce #include dependencies

2006-10-04 Joost Damad <joost@lumatec.be>
	* remove bashisms from build/install-recursive.sh
	* debian/ updates

2006-10-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Empty the sound buffer in the SDL sound driver after a mute/unmute
	* Make 'after' command part of Reactor iso MSXMotherboard:
	   - after events are now kept over a machine switch
	   - added two new after events: 'boot' and 'machine_switch'
	* Extended autoplug.tcl:
	   - also auto plug the cassetteplayer after a machine switch

2006-10-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed race condition:
	   - was easy to trigger on a dual core CPU
	   - shared_ptr is not thread safe on it's own, see comments in
	     EventDistributor

2006-09-30 Manuel Bilderbeek <manuel@msxnet.org>
	* Send an event when the cassetteplayer is added/removed.

2006-09-30 Joost Damad <joost@lumatec.be>
	* build on arm with optimizations again
	* add flavour opt-debug, useful when searching bugs that only
	  occur on optimized binaries

2006-09-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Optimized V9990 P1 mode rendering:
	   - WIP sprite rendering can still be optimized a lot
	   - also optimized sprite rendering
	* Optimized V9990 P2 mode rendering

2006-09-29 Maarten ter Huurne <maarten@treewalker.org>
	* Reset loading state if a disk drive or cassette player is destructed.

2006-09-28 Manuel Bilderbeek <manuel@msxnet.org>
	* Added BOOT event to be able to do autoRun on cassettes at every
	  boot. Also needed for Catapult (would otherwise only work once).

2006-09-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added support for (recursive) subdirectories in RomPool

2006-09-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented PlayBall mapper type
	* Only flush DiskManipulator FAT cache when there were actual writes:
	   - fixes a strange error that doing
	       'diskmanipulator dir diska'
	     on a read-only disk gives a write(!) error
	* Detect invalid PPI mode selection and print a warning when an
	  unimplemted mode is selected:
	   - those other modes are not that easy to implement and they anyway
	     will just hang your MSX

2006-09-22 Manuel Bilderbeek <manuel@msxnet.org>
	* Save firmwareswitch position with persistent data

2006-09-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Made Command's also Recordable (was only SimpleCommand's)
	* record 'debug write' commands:
	   - record/replay now also works when trainers are used

2006-09-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Made 'hda', 'cda', 'type', 'keymatrixup' and 'keymatrixdown'
	  commands recorded
	* Changed format of event recorder to also allow ':' characters in
	  recorded commands

2006-09-20 Manuel Bilderbeek <manuel@msxnet.org>
	* Removed SDLGL2 (superseded by SDLGL-PP), as requested by Wouter

2006-09-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added RecordedCommand class to make recording certian commands
	  easier. TODO refactor previous recordable commands to use this
	  mechanism
	* made 'reset', 'ext', 'cart', 'cart<x>' and 'remove_extension'
	  commands recordable.
	* Reimplemented 'plug', 'unplug' and 'cassetteplayer' commands as
	  RecordedCommand's

2006-09-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Refactored (un)plug and media changed events to MSXCommandEvent
	* Use MSXCommandEvent for cassetteplayer command

2006-09-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Use events for (un)plug command:
	   makes (un)plug recordable
	* use events for disk changing:
	   TODO: - do the same for cassetteplayer
	         - use different string representation for events because at
	           the moment the paths can't contain ':' characters

2006-09-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added 'extensions' and 'machines' info topics
	* Extended these two info topics to also return the meta info when a
	  specific extension/machine is given as 3th argument

2006-09-16 Manuel Bilderbeek <manuel@msxnet.org>
	* Added MSXEventRecorder/Replayer:
	  - you can record and replay with the command line options, which
	    require a filename argument

2006-09-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed deinterlace for V9990:
	   - force two consecutive frames (non-skipped frames) in deinterlace
	     mode

2006-09-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed V9990 cursor Y position in overscan modes:
	   - in overscan modes the cursor position is still specified with the
	     same coordinate system as non-overscan modes (while the display
	     line coord system has shifted up)

2006-09-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed Y8950 sample ram reads:
	   - first 2 reads from sample RAM return bogus values. This behaviour
	     was implemented, but it has a bug and returned only one bogus
	     value :(
	   - fixes sample RAM detection in 'Almost Real'

2006-09-11 Maarten ter Huurne <maarten@treewalker.org>
	* Send an event over the control connection when a disk drive is added
	  or removed. Can be used by Catapult to update the list of drives.

2006-09-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed AUDIO in 'Thunderbirds are Go':
	  - 'Thunderbirds are Go' sets the Music Module General Purpose pin 3
	    as output without specifying a value for that pin. By luck(?) in
	    that case on a real machine the value is '1' while in openMSX it
	    was '0' before this fix.
	* Forgot to sync V9990CmdEngine:
	   - fixes regression in blox

2006-09-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed bug in removing IO watchpoints
	* Improved help-text / tabcompletion for the debug command
	* Changed checked_cast implementation so that it also works on older
	  compilers (gcc-3.4 and below)

2006-09-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Split UserInputEventDistributor in 3:
	   EventTranslator, EventDelay and MSXEventDistributor
	* Automatically unpause after a power off/on cycle:
	   solves a bug, but this behaviour also makes more sense
	* Made MSXEventDistributor EmuTime aware:
	   needed later for event recording

2006-09-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added priorities to event listeners, higher priority listeners can
	  block events for lower priority listeners:
	   - fixes the problem that hotkey bindings are still visible in BASIC

2006-09-02 Joost Damad <joost@lumatec.be>
	* simplify arm CXXFLAGS; fix m68k build; override in cpu-xxx.mk doesn't
	  work

2006-08-31 Joost Damad <joost@lumatec.be>
	* do not do -finline-functions on arm as current gcc generates
	  faulty code

2006-08-31 Manuel Bilderbeek <manuel@msxnet.org>
	* Added MEDIA update event for cart-commands

2006-08-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added checked_cast and shared_ptr utility classes
	* Pass events around by shared_ptr (avoids making a polymorphic copy)
	* Added Event::toString() to print events and
	  InputEventFactory::createInputEvent(string) to parse events
	* Added Event::operator<() (to store events in maps)
	* Extended HotKey class (name is not 100% accurate anymore) to also
	  handle joystick/mouse-button and focus events:
	    examples:   bind focus:0 { set pause on  }
	                bind focus:1 { set pause off }
	                bind mouse:button8:down { toggle throttle }
	                bind mouse:button8:up   { toggle throttle }

2006-08-23 Maarten ter Huurne <maarten@treewalker.org>
	* If default machine is broken (for example because of missing system
	  ROMs), fall back to C-BIOS config. This makes sure openMSX will start
	  up, allowing the user to select a different default machine on the
	  openMSX console.

2006-08-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Enable detection of more OpenGL extensions with glew:
	   - see comments in SDLGLVisibleSurface for details
	   - might fix the problem PingPong is seeing:
	       accoring to 'glewinfo' framebuffer_objects are support on his
	       card, but not so according to openMSX

2006-08-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Use 2D textures iso 3D to work around bug in ATI drivers

2006-08-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Transform texture coordinates from (N x N x 4096) to 32N x N x 128
	  because some gfx cards can't handle that big dimensions

2006-08-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented hq as a OpenGL 2.0 shader
	* Use external data files in GLHQScaler and GLHQLiteScaler:
	   - work around limitation in MSYS assembler(?):
	        Assembler messages:
	        Warning: .stabs: description field '11004' too big, try a
	          different debug format

2006-08-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented hqlite as a OpenGL 2.0 shader:
	   supports 2x 3x 4x
	   only 256 pixel wide, non-interlaced MSX screens

2006-08-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed VDPCmdEngine status register 8 and 9:
	   - implemented by Alex Wulms
	   - status registers 8/9 are documented to return the result of
	     a SRCH command. However they simply return the value of the
	     internal 'ASX' register. In the end this register does
	     contain the result of a SRCH command, but it is also updated
	     during the SRCH command and even during completely different
	     commands.

2006-08-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed indeterministic behaviour in CPU emulation:
	   CPU could react one instruction too late to an IRQ,
	   depending on which other sync points there are
	   (see comments in CPUCore.cc for more details)

2006-08-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* write printed pages to "dot-matrix" director (like screenshots dir)
	* made printer image resolution a setting:
	    between 150dpi and 1200dpi. Default (300dpi) is a compromise
	    between quality and imagesize/speed

2006-08-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added Dot Matrix Printer Emulation:
	   code mostly taken from blueMSX

2006-07-31 Joost Damad <joost@lumatec.be>
	* add support for powerpc64: ppc64 cpu and flavour
	* compile with -O1 on m68k by default

2006-07-30 Maarten ter Huurne <maarten@treewalker.org>
	* Released openmsx-0.6.1.

2006-07-28 Manuel Bilderbeek <manuel@msxnet.org>
	* Escape strings before sending them to TCL's splitList, fixes
	  diskmanipulator with spaces in file names
	* And reverted again. This breaks splitting completely. Needs a better
	  fix, but it's not trivial.

2006-07-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed loading of keybindings

2006-07-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented 'Removable media status notification feature set' for
	  IDECDROM, slightly improved 'request sense' command:
	   reading from CDROM (also when switching ISO images) seems to work
	   now, although there may still be a problem with the volume id
	* Set version_number=0.6.1, release_tag=true

2006-07-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Reenabled saving of keybindings:
	   on exit when save_settings_on_exit is enabled or when explicity
	   requested
	* Fixed saving of 'renderer' setting:
	   when save_settings_on_exit was enabled there were two problems:
	    - after testconfig run, renderer=none was saved in settings.xml.
	      Fixed by introducing 'unsaveable' values on Setting
	    - every other run the value would fallback to 'SDL'. For the
	      renderer setting we made the default value equal to the
	      saved value (needed for the 'unset renderer' command executed
	      by catapult) and settings with default value don't get saved.
	      Fixed by having a seperate default and restore value.

2006-07-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Don't assert when multiple Panasonic MSX-Audio's are inserted

2006-07-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Exit the CliServer listener thread in a more portable way

2006-07-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Don't listen for incomming connections in -testconfig mode
	* Split RomInfo in RomInfo and RomDatabase:
	   - allowed to fix RomInfo memory leaks

2006-07-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented proper locking for Reactor::motherBoard

2006-07-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed top-border flicker in cbios/SDLGL:
	   - CPU loop was exit'ed only one instruction after the exit-loop
	     request. Normally this doesn't matter (Schedule points are still
	     executed cycle accurate). But for _very_ long instructions,
	     like the way we implemented the HALT instruction, and the repaint
	     event it did matter.
	* Fixed(?) the undocumented TMS9918 mode1q:
	   - I didn't test this (i don't have a test prog) but the old
	     code had obvious bugs, I fixed those

2006-07-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented general purpose IO mechanism for Y8950:
	   - implemented for Philips Music Module, Panasonic MSX-AUDIO, still
	     have to investigate Toshiba module

2006-07-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fallback to SDL renderer when switching renderer didn't succeed
	  (e.g. when switching to SDLGL-PP without ogl2 support)

2006-07-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added lighting for 3d display deform:
	   Corners (especially top corners) are now a bit darker then the
	   middle-lower part. The effect is subtle but it looks more
	   realistic IMHO. I couldn't measure any speed difference
	   with or without lighting, so it's enabled by default

2006-06-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Renamed 'monitor_effect' setting to 'display_deform'
	* Fixed GLSnow effect for non 2x scale factors

2006-06-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented 'horizontal stretch' for SDLGL-PP:
	   - is another enum of the monitor_effect setting (rename this?)
	   - the 3D monitor effect always has horizontal stretch applied
	* Only enable SDLGL-PP renderer when OpenGL-2.0 is available
	* Moved SDLGL2 to 'non-release-only' status (like SDLGL-FB<xx>)

2006-06-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented blur and scanlines for SDLGL-PP simple scaler
	* Implemented FMPAC SRAM disable bit (bit4 address 0x7FF6):
	   Thanks to BiFiMSX for investigating this

2006-06-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Made "monitor_effect" an enum setting (suggestions for a better name
	  are welcome). Made normal (non-3d) the default. Fixed a bug when
	  started openmsx is started in normal mode.

2006-06-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented 3D monitor effect for SDLGL-PP renderer
	* Enabled glow setting for SDLGL-PP

2006-06-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Various RTC (RP5C01) test mode fixes:
	   - r#14 bits 0-3 are for seconds, minutes, days, years
	   - in test mode there is no carry from 'lower order' number
	   - test mode also works when timer itself is disabled

2006-06-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Switched to non_power_of_two textures instead of texture_rectangle
	  in SDLGL-PP renderer:
	   - ATI cards don't support text_rect in GLSL, but npot text should
	     work
	   - for GeForce5 class HW this change is bad because it has no
	     hw support for npot textures while it has for text_rect

2006-06-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Made rectangle_textures available on correct resolution on vertical
	  linewidth borders:
	   - fixes most SDLGL-PP glitches
	   - TODO cleanup, make it work on ATI cards

2006-06-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Use texture_rectangle for SDLGL-PP shader:
	   - allows to fix the border glitches
	   - still WIP but horizontal glitches seem to be fixed already

2006-06-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added generic register logger (see also psg_log script):
	   - typical use case will be to log soundchip registers
	   - can also playback the logged regsiters

2006-06-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented all HQ scalers for the extra gfx9000 resolutions

2006-06-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Refactored HQ scalers to reduce code duplication

2006-06-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Speedup hq3x (same technique as used in hq2x):
	   between 3% and 5% faster on my machine
	* Speedup hq3xlite: between 2% and 3% faster
	* Implemented hq3x and hq3xlite for 512-wide mode:
	   no special implementation like in the hq2x case, just do
	   hq3x followed by scale_2on1

2006-06-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed HQ2xScaler-1x1to2x2.nn data (bug in generator script)
	* Improved quality of hq2x in 512 pixel wide modes (screen 7)
	* Speedup hq2xlite (~5%) by using the same technique as used in HQ2xScaler
	* Improved quality of hq2xlite in 512 pixel wide modes (screen 7)

2006-06-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Mask unwritable bits in V9990 registers:
	   fixes 'shocky' scroll in some power basic demos
	* fixed "openmsx_info isexternalslot" command:
	   guess_title script now works again
	* Oops! Socket code couldn't handle multiple simultaneous connections
	  (or two single connections quickly after each other).

2006-06-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Only lower part of AY scroll register resets scanline position:
	   fixes GEM08
	* Implemented priority control for V9990 P1 mode

2006-06-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed bug in V9990 blank screen behaviour

2006-06-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* V9990 P1 mode does not have the strange screenplit
	  behaviour (see 2006-05-29)

2006-05-31 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented 'cd<x>' command to change ISO image
	* Implemented -cda command line option
	* Fixed V9990 commands in P1 mode:
	   Actually I just tried something and it seems to work very well (it
	   fixes a lot of stuff). Still need to figure out exactly how the
	   coordinate system maps the VRAM addresses in P1 mode

2006-05-31 Maarten ter Huurne <maarten@treewalker.org>
	* Initial support for sector loading from CD-ROM.
	  Still missing:
	  - commands to change the ISO image
	  - setting the right status flags when a CD is inserted /
	    not inserted / changed for another CD
	  - correct calculation of packet size
	  - audio track support
	* Implemented Read Native Max Address so SymbOS can access the HD.
	  Thanks to Daniel Vik for telling us this command was the problem.

2006-05-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed assert when switching scale_factor from 3->2 when openmsx
	  was paused.

2006-05-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed vertical rolling at 256 line (is normmaly 512)
	  for V9990 P1 and P2 modes
	* Fixed vertical offset in V9990 when vertical scroll register is
	  changed on a screensplit

2006-05-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed striped screen 6 borders in SDLRasterizer

2006-05-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed sprite disable for V9990 P1 and P2 modes
	* IDEHD no longer resizes an existing HD image, the <size> tag is now
	  only used to create the initial HD image
	* IDEHD now knows its own name (preparation for dynamic hd image)
	* Changed naming scheme for HDs:
	   just give letters in order (not interface master/slave)
	   this is more similar to how disks are given names and it also
	   allows to give more logical names to cdroms (future)
	* Implemented 'hd<x>' command to change HD images at-run-time
	   (only works when MSX is powered down)
	* Added -hda command line option

2006-05-26 Manuel Bilderbeek <manuel@msxnet.org>
	* Specify the type of PSG for those machines we know this for sure

2006-05-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Use EventDistributor iso Scheduler for MidiInNative, MidiInReader
	  and RS232Tester
	* Don't use Scheduler to exit the CPU loop
	* Removed ASAP from Scheduler

2006-05-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented sprites in V9990 P2 mode (can still be optimized)

2006-05-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented differences between AY8910 and YM2149 (two PSG variations):
	   - add  <type>AY8910</type>  or  <type>YM2149</type>
	     in the <PSG> tag in hardwareconfig.xml
	     Default remains AY8910

2006-05-21 Maarten ter Huurne <maarten@treewalker.org>
	* Split IDEHD into generic part (new class AbstractIDEDevice) and
	  HD specific part (class IDEHD).
	* Initial implementation of CD-ROM emulation.
	  The only things it can do right now is convince the Sunrise BIOS that
	  it is a CD-ROM and print some debug info about ATAPI commands.
	* Included a CD-ROM drive in the "ide" extension.

2006-05-20 Manuel Bilderbeek <manuel@msxnet.org>
	* Added Spectravideo SVI-738 machine

2006-05-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented V99x8 with only 16kb VRAM
	* More robust error handling in rs232-tester

2006-05-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented ninja-tap:
	   Thanks to BiFiMSX for disassembling the test program

2006-04-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Disabled ninja-tap device because it doesn't work yet:
	   ATM it acts the same as the 'normal' joytap device

2006-04-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed bug in breakpoints:
	   when a breakpoint was hit we still executed one instruction

2006-04-27 Maarten ter Huurne <maarten@treewalker.org>
	* VDP accuracy fix: corrected length of horizontal blank.
	  Thanks to Daniel Vik for investigating the Parallax logo code and for
	  writing measurements programs that helped in determining the correct
	  horizontal blank length.
	  Note that the start time of the horizontal blank is not yet fully
	  correct, but having the right length already fixes some problems.

2006-04-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed assert in MemoryOps: assert was too strict

2006-04-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed truncate() function in windows:
	   - instead of extending the file with zeros at the end, it wrote
	     those zeros over the beginning of the file. Oops.

2006-04-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented io and memory watchpoints:
	   - for the moment use like this:
	        debug set_watchpoint <type> <address> [<condition>] [<command>]
	        debug remove_watchpoint <id>
	        debug list_watchpoints
	     Where type is one of 'read_io', 'write_io', 'read_mem' or
	     'write_mem'. Address is in range 0..255 for io ports and 0..65535
	     for memory. Condition and command are the similar to the set_bp
	     command.
	   - I'm not 100% happy with this interface. It may change before the
	     release.

2006-04-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed V9990 SRCH command:
	   at least paint command in power basic seems to work again
	* Fixed inserting wav/cas images from the command line

2006-04-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented infrastructure for V9990 command timing:
	   data in timing table is still _very_ rough though

2006-04-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed(?) V9990 BMLL command, it should do logical operations:
	   not yet tested

2006-04-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Enabled support for single sided disk drives:
	   TODO update hardwareconfig.xml for machines with single sided
	        drives

2006-04-11 Manuel Bilderbeek <manuel@msxnet.org>
	* Added new 'bootsector' setting. You can use it to let DirAsDSK use a
	  DOS2 (default) boot sector or a DOS1 one. Also put the boot sector
	  data in one single (dummy) class, yesterday.

2006-04-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed bug in V9990 command engine:
	   LMMC command was wrong in 16bpp mode
	* Optimized address calculation for 16bpp v9990 commands
	* Fixed V9990 cursor color

2006-04-09 Manuel Bilderbeek <manuel@msxnet.org>
	* Added <info> tags for extensions as well. Please check; most likely
	  not all data is correct. But it's useful for GUI's/launchers!

2006-04-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Made command that gets executed when a bp is hit configurable,
	  default command is 'debug break'
	* Allow <devices> tag in extension configs (same as machine configs)
	  old config format is still supported
	* Updated all extension configs to new format

2006-04-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Further optimized hq2x: also reuse edge flags from top neighbour
	   (again about 5% faster)

2006-04-07 Manuel Bilderbeek <manuel@msxnet.org>
	* Print a warning when a DI/HALT is detected, which means a hang.
	  TODO: add warnings for other known hang-situations as well.

2006-04-06 Maarten ter Huurne <maarten@treewalker.org>
	* Speedup (approximately 5%) of hq2x by re-using edge flags that were
	  computed for the left neighbour pixel.

2006-04-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Speedup switching to different color_matrix
	* Fixed assert when using the same extension multiple times
	* Fixed asserts when using advram-p and advram-s extensions

2006-04-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Reduced compile dependencies, should reduce amount of recompilations
	  needed in the future:
	   - split SettingPolicy.hh -> SettingPolicy.hh SettingRangePolicy.hh
	   - hold BitmapConvertor CharacterConverter SpriteConverter by
	     pointer iso by value, performance difference is not measurable
	* Use functions of Math.hh in GL(2)Rasterizer
	* Made it possible for TCL scripts to implement tab completion,
	  see share/scripts for examples:
	   you again need to update the installed init.tcl file
	* Implemented experimental 'tabcompletion' command:
	   only ment to be used by external programs
	* Implemented color_matrix setting:
	   This color matrix can do any linear transformation from MSX RGB to
	   host RGB. See share/scripts/monitor.tcl for examples.

2006-03-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Made it possible for TCL script to provide a help text, see
	  share/scripts for examples.
	   Note: the system init.tcl was updated, you probably need to replace
	         the installed version
	* Added new 'about' TCL script. It searches for commands (built-in or
	  TCL scripts) that seem to be about the given keyword. Useful if you
	  forgot the exact name of a command.

2006-03-27 Maarten ter Huurne <maarten@treewalker.org>
	* Merged SDLGLVideoSystem into SDLVideoSystem.
	  The actual differences exist in the VisibleSurface subclasses;
	  these classes only function as factories.

2006-03-26 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed two compile errors on Intel Macs. At least one remains though.

2006-03-25 Maarten ter Huurne <maarten@treewalker.org>
	* Added new scaler "TV".

2006-03-24 Maarten ter Huurne <maarten@treewalker.org>
	* Set maximum of scale_factor to 4.
	  Only the SDLGL-PP renderer can actually reach 4x, the other renderers
	  will fall back to their maximum zoom (2x or 3x).

2006-03-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* SDLRasterizer optimization:
	   - replaced memcpy() with new stream_memcpy() function
	   - about 3% faster here (simple scaler 2x)

2006-03-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Optimized clock in CPU code:
	   - do part of the time bookkeeping with 32-bit additions (iso 64-bit)
	   - gives between 1% and 2% speedup in typical PC usecase (scale_factor
	      = 2, no frameskip)
	   - gives around 10% speedup with scale_factor = 1 and frameskip 5

2006-03-19 Maarten ter Huurne <maarten@treewalker.org>
	* Made scalers switchable in SDLGL-PP renderer.
	  Only "simple" and "ScaleNx" are currently implemented.
	* Ported noise effect to SDLGL-PP renderer.

2006-03-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented run-time switchable machines:
	   - use   set machine <machine-name>
	   - there are still some rough edges and I also still expect some
	     bugs. So please test.
	* Fixed bug: keypresses in the console were passed to MSX just after
	   switching machine

2006-03-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* More preparations for run-time switchable machines

2006-03-13 Maarten ter Huurne <maarten@treewalker.org>
	* Introduced new renderer "SDLGL-PP".
	  This uses SDLRasterizer and does post processing in OpenGL.
	  Since it uses SDLRasterizer, it is more mature already than SDLGL2,
	  which uses its own GL2Rasterizer.

2006-03-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Turned MSXDevice creation in a 2-step process:
	     First construct object, then call the init() method. This
	     simplifies error handling (exceptions thrown from form
	     constructor, see comments in code for more details) and it
	     more easily allows passing extra parameters to device
	     construction.
	* A MSXDevice now knows to which HardwareConfig it belongs (machine or
	  extension)
	* Extended cart<x> commands (is now similar to disk<x> command):
	   - cart<x> (without parameters) now returns the name of the inserted
	     cartridge (or possible an extension)
	   - cart<x> -eject  removes the inserted cartridge (or extension)

2006-03-11 Maarten ter Huurne <maarten@treewalker.org>
	* Added support for pixel buffers to GLUtil.
	* Added utility functions to GLUtil.
	* Introduced new experimental renderer "SDLGL2".
	  It uses OpenGL 2.0 features, including fragment (pixel) shaders.
	  Currently, it only renders SCREEN5/8 without blanking/borders.

2006-03-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Dynamically register cart<x> commands

2006-03-11 Manuel Bilderbeek <manuel@msxnet.org>
	* Fixed Gradiente machines. Cartridge slot B is in slot 3 and not 2 on
	  Expert 1.0 and 1.1 and the ROM size was wrong for the DDPlus. Thanks
	  to Gustavo Seidler for pointing this out.

2006-03-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Upper 4 RAM blocks on turbor may not be writable in dram mode (not
	  yet tested)

2006-03-05 Maarten ter Huurne <maarten@treewalker.org>
	* Added utility classes for dealing with GLSL shaders.
	* Fixed UMR in StoredFrame.
	* Fixed MegaRAM mapper so it can handle 2048K (256 pages) as well.
	  Thanks to Gustavo Seidler for spotting this bug and to Adriano
	  Camargo Rodrigues da Cunha for finding the cause.

2006-03-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added blur_1on3 MMX implementation:
	   total emulation speed with simple 3x scaler is about 10% faster
	* Added "input_port" and "output_port" info topics
	* Implemented "iomap" command as a TCL proc

2006-03-03 Manuel Bilderbeek <manuel@msxnet.org>
	* Implemented better completion for debug command

2006-03-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added "openmsx_info slot" info topic
	* Implemented "slotmap" command as a TCL proc

2006-03-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Preparation for run-time switchable machines:
	   - send event when a MSX machine is loaded and change titlebar
	     when that event is received
	* Implemented blur for 3x simple scaler (WIP):
	   - only 256 wide modes yet

2006-02-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed MicrosolFDC to also support DDX_3.0
	* Added DDX_3.0 extension:
	    Code and config contributed by Gustavo Seidler. Thanks!

2006-02-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* IconStatus doesn't need Display
	* Moved IconStatus and Display from MSXMotherboard to Reactor

2006-02-26 Patrick van Arkel (vampiermsx@gmail.com)
	* Removed CRC32 values from the rom database
	  and added a few more sha1 values

2006-02-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Replaced PollInterface mechansim with events
	* Moved InputEventGenerator from MSXMotherboard to Reactor

2006-02-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* CliComm now uses events instead of Scheduler
	* Moved CliComm from MSXMotherboard to Reactor
	* Decoupled Display and RealTime classes:
	   - instead Display now send events, RealTime listens to those events

2006-02-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* EventDistributor no longer needs Scheduler, instead it cooperates
	  with Reactor to deliver events:
	    TODO turn (some of the) ASAP schedule points into events
	* Moved CommandController, EventDistributor, CommandConsole,
	  FileManipulator and FilePool from MSXMotherboard to Reactor:
	    more classes need to be moved but these were easy

2006-02-22 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed GLSetTexEnvCol on big endian machines.
	  This bug was visible in the border of SCREEN6.
	* Look for GLEW in DarwinPorts or Fink dirs.
	* Fixed bug with palette initialisation in SDLGL renderer.
	  This bug was visible as a black screen when using an MSX1 VDP.

2006-02-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Preparations for run-time switchable machine:
	   - made seperate EventDistributors for 'DETACHED' and 'EMU'
	     listeners.
	   - Reactor now owns MSXMotherboard
	* Fixed HotKey for key release bindings

2006-02-18 Maarten ter Huurne <maarten@treewalker.org>
	* Use GLEW to handle OpenGL extensions.
	    http://glew.sourceforge.net/
	  From now on, the GL renderer requires GLEW. Note that since the GL
	  renderer is optional, openMSX as a whole does not require GLEW.
	  This commit is based on a patch from BouKiCHi.

2006-02-18 Manuel Bilderbeek <manuel@msxnet.org>
	* Log warnings to stderr, in stead of stdout

2006-02-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented noise for GL renderer
	* Tweaked order of command line parsing:
	   extensions should come before filename parsing to handle stuff like
	     openmsx -machine msx1 -ext fdd mydisk.dsk

2006-02-15 David Heremans <david.heremans@gnu-linux.net>
	* Added SukkoPera's Slackbuild scripts

2006-02-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented noise for 16bpp modes
	* Optimized non-MMX noise a bit

2006-02-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added 'brightness' and 'contrast' settings

2006-02-10 Manuel Bilderbeek <manuel@msxnet.org>
	* CheckedRam now calls a TCL proc that is defined in the new
	  umr_callback setting if an UMR occurs. E.g. try
	  set umr_callback umrcallback
	  umrcallback is an example implementation of such a TCL proc; edit it
	  to your liking.
	  TODO: find a way to automatically skip the UMR's from the boot
	  sequence. (Although the feature is already very usable!)

2006-02-09 Manuel Bilderbeek <manuel@msxnet.org>
	* Introduced CheckedRam class. See the class documentation for
	  details.
	  TODO: make it useful by adding a usable UMR detector.

2006-02-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed bug, diskimages with spaces in the filename:
	   - since a few days the disk images passed via the commandline
	     execute a TCL command to insert the disk instead of calling a
	     c++ routine (to avoid code duplication). However this went
	     wrong when there were spaces in the filename. I fixed this by
	     avoiding the 'assembling tokens to string' and 'parsing string
	     to tokens' steps.
	* Handle errors in the startup TCL scripts better
	* Speedup noise effect a bit (~10%) by using prefetch instructions

2006-02-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* New video effect: noise (experimental)
	   - try "set noise <x>"

2006-02-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed setting initial diskimage via the commandline:
	   - as a bonus -disk<x> now also gives an error on msx machines with
	     no (or too few) drives
	* Don't loose current disk after a failed 'diska' command

2006-02-04 Maarten ter Huurne <maarten@treewalker.org>
	* Made Konami mapper more accurate, using info from:
	    http://bifi.msxnet.org/msxnet/tech/megaroms.html
	* Made Majutsushi mapper inherit from Konami mapper, since it bascially
	  is a Konami mapper with a DAC added to it.
	* Recycle line buffers used for scaling when openMSX is paused.

2006-02-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Removed 'slot reservation' mechanism in command line parser:
	   - The order of -cart and -ext command line options is now important
	   - This may break catapult in some cases. Combination of
	     slotexpander extensions and other memory mapped extensions (or
	     rom cartridges) can fail now.
	* Better error handling (in particular cleanup after error) when
	  something goes wrong during run-time insertion of extension:
	* Better error handling when removing extensions (e.g. trying to
	     remove a slotexpander that is still in use)

2006-02-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Made FAT buffering more symmetrical:
	   - if FAT sector writes are stored in cache, then FAT sector
	     reads must also come from cache
	   - I don't know this caused problems in the current code, but
	     now it's certainly more robust against future changes

2006-02-02 David Heremans <david.heremans@gnu-linux.net>
	* Decided to keep the FAT buffering and adjust the writeLogical
	  sectors for it to get correct working again. This also repairs
	  formats of existing dsks/partitions etc.

2006-02-01 David Heremans <david.heremans@gnu-linux.net>
	* Fixed a small problem with the media descriptor during the format of
	  a new dsk file. But at first glance the entire FAT buffering need to
	  go, since it might conflict with different sized partitions on a HD

2006-01-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Made MSXSwitchedDevice more robust when inserted/removed dynamically
	* Handle errors in MSXDevice configs better:
	   make sure device is not left partly registered (memory or IO)
	   when there is an error in the device config

2006-01-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added new cpu-status update event:
	    <update type="status" name="cpu">running</update>
	    <update type="status" name="cpu">suspended</update>
	  The old 'break' and 'resume' update events are deprecated
	* Small cleanups/fixes in JoyTap stuff:
	   - got rid of the "ERROR: Connector still plugged .." messages
	   - removed JoyTapPort class, it was exactly the same as JoystickPort
	   - (minor) removed (lastValue == value) check (no need to do the
	     same optimization twice)

2006-01-27 David Heremans <david.heremans@gnu-linux.net>
	* Added JoyTap and (incomplete) NinjaTap devices
	  The JoyTap is a base class for collector/combinator devices
	  that sit inbetween the MSX joystick ports and the actual
	  joysticks.

2006-01-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented 'list_extensions' and 'remove_extension' commands
	* Converted some fatal errors to normal errors, they can now also
	  get triggered by run-time insertion of extensions
	* Recalculate visible pages when a memory device is added/removed:
	   fixes assert while removing a running game cartridge

2006-01-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Enabled run-time insertion of rom cartridges and extensions:
	   - new commands:
	      ext [extension]
	      cart, cart<x> [romfile]
	* Removed EmuTime (and related) constructors that initialize time at 0:
	   - makes initialization time explicit in the code
	   - fixed some (all?) wrongly initialized timestamps
	     e.g. the new "ext gfx9000" command caused an assert

2006-01-22 Maarten ter Huurne <maarten@treewalker.org>
	* Added new platform "darwin-app", which can be used to produce a
	  redistributable binary for Mac OS X.
	  Thanks to BouKiCHi for getting static linking to work.

2006-01-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Reduced build-dependencies between source files:
	   - moved most inner classes from hh to cc file

2006-01-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Changed 'locking' of devices (eg. ADVRAM depends on VDP):
	   - it's now specified with <device idref=".."/> tag(s)
	   - can now be handled by generic code
	* Moved ownership of MSXDevices from MSXMotherBoard to HardwareConfig
	  (MSXMotherBoard owns (possibly several) HardwareConfigs):
	   - another preparation for run-time switchable extensions/machines

2006-01-19 Maarten ter Huurne <maarten@treewalker.org>
	* Added the option not set the window icon from the openMSX process.
	  This is useful for running from an OS X app folder, since the app
	  folder sets a hi-res icon.

2006-01-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Preparations for run-time removable extensions/machines:
	   - keep mamchines and extensions as seperate entities in memory
	   - unregister 'expanded' and 'exernal' slots when the extension
	     or machine is deleted

2006-01-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Refactored CartridgeSlotManager:
	   - allocated external slots are freed again when the MSXDevice
	     using it is destroyed
	   - preparations for removable devices at run-time

2006-01-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* CassetteJack cleanup:
	   - changed code style to match rest of openMSX sources
	   - fixed small bug: new[] needs delete[] (iso delete)
	   - more robust error handling
	* Refactored the way how MSXDevice names are made unique

2006-01-15 Maarten ter Huurne <maarten@treewalker.org>
	* Added "make app" for Mac OS X.
	  It is not yet fully functional, but most is there already.
	  Thanks to BouKiCHi for helping.

2006-01-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Made MSXDevice::getName() return a string by value:
	   is not performance critical and simplifies code in MSXMultiDevice
	* Moved common code of MSXMultiIODevice and MSXMultiMemDevice to
	  new MSXMultiDevice class
	* No need to implement reset(), powerUp(), powerDown() methods in
	  MSXMultiDevice. It's even wrong if they ever get called.

2006-01-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented [ 1320568 ] Preload entire diskimage/ROM:
	   We don't actually keep the image in memory, just read it and
	   discard the result. However the image will stick in the OS
	   cache (only tested on Linux though). This way the "don't preload
	   when not enough free RAM is available" issue is addressed.
	   Tested with both CDROMs and floppy's and it seems to work
	   reasonably well.

2006-01-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed interlace + multi page horizontal scroll also for GLRenderer:
	    with deinterlaced disabled in it's the same fix as for SDLRenderer

2006-01-08 Maarten ter Huurne <maarten@treewalker.org>
	* Refactoring of GLRasterizer:
	  - only rasterize sprites if the line actually contains sprites;
	    this can make quite an impact on performance

2006-01-07 Maarten ter Huurne <maarten@treewalker.org>
	* Refactoring of GLRasterizer:
	  - partial preparation for output windows other than 640x480
	  - removed deinterlace code, because the idea was broken;
	    later deinterlace will have to be re-added in a better way
	    (like the SDL renderer has)
	  - store bitmap data in a single large texture rather than one
	    texture per line; this is better for performance

2006-01-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Reenabled 'sdlgl-fb<x>' renderers in non-release versions
	* Made 2x scalers work with non 640 wide output surfaces:
	   preparation to enable 4x scalers later
	* For symmetry also made 1x and 3x scalers output width independent

2006-01-05 Maarten ter Huurne <maarten@treewalker.org>
	* Split OutputSurface into smaller OutputSurface and VisibleSurface.
	* Use PixelOperations instead of SDL_PixelFormat where possible.

2006-01-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added support for SDL 'world_<n>' and 'undo' keys.

2006-01-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Report error for key names with multiple non-modifier parts
	   (e.g.   ENTER,A   or  PRINT,UP)

2006-01-04 Maarten ter Huurne <maarten@treewalker.org>
	* Moved ownership of RenderSettings from MSXMotherBoard to Display.

2006-01-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed combination of interlace and multi-page horizontal scrolling:
	   only for SDL renderer yet. Deinterlacing first needs to be fixed
	   in GL renderer (also use data from previous frame)

2006-01-02 Maarten ter Huurne <maarten@treewalker.org>
	* Created release branch for openMSX 0.6.0.

2005-12-31 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed assert when openmsx was quit with simple pluggable still
	  plugged in the printerport.

2005-12-31 Manuel Bilderbeek <manuel@msxnet.org>
	* Temporarily disabled reporting of filetype of first file on
	  cassette, because this breaks Catapult, and Herman is not there to fix
	  it... This way we can release. TODO re-enable after release and fix
	  Catapult or finally start on the Qt version of Catapult!
	  At this time, I'm talking about line 407 of CassettePlayer.cc.

2005-12-29 Maarten ter Huurne <maarten@treewalker.org>
	* Allow installation of binary to /usr/local/bin without overwriting
	  binary with a symlink.
	* Check whether the C++ compiler is working.
	  It checks only if the compiler can compile "Hello World!", so it is
	  not guaranteed the compiler supports all C++ features needed to
	  compile openMSX. But the complete absence of a compiler is correctly
	  identified now, instead of reporting that all libraries are missing.

2005-12-28 Maarten ter Huurne <maarten@treewalker.org>
	* Rewrote "make install" to use the "install" utility instead of "cp"
	  combined with "chmod". The problem was that the "chmod" step did not
	  work on systems where the installed files are spread over multiple
	  directories, such as FreeBSD.

2005-12-27 Maarten ter Huurne <maarten@treewalker.org>
	* Added support for FreeBSD 6 by making FreeBSD 4 an exception (it has
	  GCC 2.9x as default compiler) and using the same platform Makefile
	  for all other FreeBSD versions.
	* Added support for CPU reported as "amd64" (mapped to "x86_64").

2005-12-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Force PSG portB direction to output:
	   - we already forced portA to input
	   - some msx machines have fixed port directions others not,
	     we should make this configurable per machine in the future
	   - for more details see   [ 1390211 ] joystick problems

2005-12-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Revert cleanup in XMLLoader.cc, it breaks making a connection
	  from openmsx-debugger to openmsx in windows
	* Disabled sdlgl-fb16 and sdlgl-fb32 renderers:
	   they don't offer anything over the existing renderers and
	   sdlgl-fb32 still has endian problems on PPC

2005-12-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Made S1990 registers debuggable

2005-12-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Reverted bug in earlier 'cleanup' in VDPVRAM:
	   - we must use baseAddr to encode 'window is enabled' info because
	     the implementation of isInside depends on it
	   - fixes crash of KV2 MSX1 on turboR

2005-12-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Synchronize CPU and scheduler irregardless of how CPU loop was exited
	  (normally or via breakpoint):
	   - fixes assert when MSX is reset while CPU is breaked
	* Prepare openmsx-0.6.0-rc1

2005-12-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Assert on exceptions that pass through the TCL interpreter:
	   a config error in the ADVRAM extension asserts now (instead of
	   calling terminate()), we're still investigating how to fix it
	* Worked around error from above, clean solution needs dependencies
	  between devices

2005-12-18 Manuel Bilderbeek <manuel@msxnet.org>
	* Implemented AutoRun feature for cassette software
	  - only works for CAS images, WAV is TODO (more difficult)
	  - experimental; default setting of "autoruncassettes" is off
	  - also tries to autorun if you insert at run time
	  - doesn't work properly on machines with non-international keyboard
	    layout, because the 'type' command doesn't work properly then
	  - please review and feel free to improve it! :P

2005-12-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Properly fix fnano2 bug
	* Implemented horizontal scrolling in character modes

2005-12-14 Arnold Metselaar <arnold.metselaar@planet.nl>
	* Use another bit for planar mode when ADVRAM has no 'enable' function

2005-12-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Made 'enable' function in ADVRAM configurable

2005-12-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Draw scanline in 3x simple scaler deinterlace mode

2005-12-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented deinterlace mode support in RGBTriplet scaler

2005-12-11 Manuel Bilderbeek <manuel@msxnet.org>
	* Updated the manuals for the new scaler settings. Please review!

2005-12-10 Manuel Bilderbeek <manuel@msxnet.org>
	* Pass cassetteplayer status to CliComm

2005-12-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented 'openmsx_info setting':
	   It returns a TCL list with:
	    - first element is the type of the setting
	        string, integer, float, enumeration, filename or key
	    - second element is the default value of the setting
	    - third element is optional, for integer and float settings
	      it is a list with the minimum and maximum allowed value. For
	      enum settings it is a list with all possible values.
	* Fixed timing of slowest (no extra wait states) R800 IO instructions

2005-12-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed timing if 'IM n' instruction on R800:
	   should take 3 cycles iso 2
	* Added '-script' command line option:
	   - makes it possible to execute additional startup scripts after
	     the default init.tcl script

2005-12-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Split scaler setting into scale_factor and scale_algorithm

2005-12-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Readd delay on turboR on ports 0x9A and 0x9B:
	   - fixes previous fix for assert on turbor with advram
	   - also prepared code to later add delays on other ports

2005-12-04 Arnold Metselaar <arnold.metselaar@planet.nl>
	* change advram to emulate a newer version that can be switched
	  on and off by software
	* fix assert when using advram on turboR

2005-12-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Small ADVRAM changes:
	   - read device ID ("VDP") from config file
	   - bring coding style in line with the rest of the openmsx code

2005-12-03 Arnold Metselaar <arnold.metselaar@planet.nl>
	* MSXDevice(readIO, peekIO, writeIO): change type of port address
	  to word
	* MSXMotherBoard: add methods lockDevice and releaseDevice to allow
	  interdepencency of devices
	* ADVram: new extension

2005-12-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Handle scaleBlank() via Scaler::scaleImage():
	   - allows to fix the "[1057836] Infinite plasma logo" bug
	   - also properly handle scanlines with non-black border color in
	     deinterlace mode. Previously display area didn't had scanlines
	     while border area had. Now none has scanlines.

2005-12-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Also do realtime syncing when started with none renderer
	* Fixed deinterlace in combination with frameskip
	* Use DoubledFrame to render interlaced (non-deinterlaced) frames:
	   scalers with odd scale factor are rendered better now. For example
	   low scaler also shakes now

2005-11-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added line scaling in FrameSource:
	   - fixes the 'double screen' bug
	   - improves scaler border effects (but still not completely)

2005-11-27 Manuel Bilderbeek <manuel@msxnet.org>
	* Made cassetteplayer status query machine readable. Just use
	  'cassetteplayer' to get a TCL list, similar to the diska command.

2005-11-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added 192kb VRAM support in VDPCmdEngine

2005-11-20 Maarten ter Huurne <maarten@treewalker.org>
	* Optimised variable zoom factor version of 2xSaI.
	* Used template metaprogramming to instantiate an optimised fixed zoom
	  factor 3xSaI scaler.

2005-11-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Keep icon status in new class (IconStatus) iso in static data of
	  IconLayer:
	   - fixes power led status when openmsx was started with 'none'
	     renderer (catapult)
	* Basic 192kb VRAM support:
	   - only CPU-VRAM interface, no command engine stuff yet

2005-11-19 Maarten ter Huurne <maarten@treewalker.org>
	* Added the variable zoom factor version of 2xSaI.
	  It is being used to provide 3xSaI at the moment.
	  The current version is very slow though.

2005-11-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Optimized scale3x (c++)

2005-11-18 Manuel Bilderbeek <manuel@msxnet.org>
	* Updated the manual. Still TODO are the new zoom/scaler-method
	  settings, which are not even programmed yet.

2005-11-16 Maarten ter Huurne <maarten@treewalker.org>
	* Added a C++ version of Scale3x.

2005-11-16 Joost Damad <joost@lumatec.be>
	* yeah that was one year ago since I did an openmsx commit :)
	* use word for casting a pointer to an integral; fixes build on 64bit
	  systems
	* test

2005-11-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Remove all pending after commands on exit

2005-11-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Automatically unschedule SyncPoint when it is deleted:
	   On lots of places we forgot to do this. Will become important
	   when we allow to remove device or switch machine at run time

2005-11-12 Manuel Bilderbeek <manuel@msxnet.org>
	* Attach to throttleManager, not to throttleSetting.
	* Added keyword 'explicit' to declarations of constructors with only
	  one argument, to prevent undesired implicit conversions. Please do
	  this everywhere applicable from now on!

2005-11-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Allow multiple <mem base="xxx" size="yyy"/> tags per device
	* MSXRam device is now mirrored:
	   Together with change above it's now possible to create RAM like this:
	     <RAM id="my mirrored ram">
	       <mem base="0x2000" size="0x2000"/>
	       <mem base="0xA000" size="0x2000"/>
	       <size>0x2000</size>
	     </RAM>
	   This represents a 8kb RAM that is visible on both 0x2000-0x3FFF and
	   0xA000-0xBFFF
	* Directly using throttleSetting is wrong (should always go via
	  ThrottleManager), so make that impossible
	* Still found a singleton, HardwareConfig. Removed it.

2005-11-11 Manuel Bilderbeek <manuel@msxnet.org>
	* Removed old add/removeListener calls
	* Removed SettingListener class

2005-11-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* PluggingController related cleanups

2005-11-10 Manuel Bilderbeek <manuel@msxnet.org>
	* Introduced a generic Gamma based Observer pattern, template
	  implementation by Wouter though. Still needs to be used more properly
	  for Setting/SettingListener and ThrottleManager.

2005-11-10 Maarten ter Huurne <maarten@treewalker.org>
	* Map all even numbered joystick buttons to trig A and all odd numbered
	  joystick buttons to trig B. Before, button 0 was mapped trig A and
	  button 1 was mapped to trig B and if those buttons were not present
	  or not easy to use on your joypad, you were out of luck.

2005-11-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Renamed scaleMxNtoXxY() methods in LowSCaler and 3x Scalers:
	   old named didn't take overscan into account
	* Renamed all scaleNNN() methods in 2x scalers
	* Use DeinterlacedFrame in 2x scalers

2005-11-05 Manuel Bilderbeek <manuel@msxnet.org>
	* More intelligent 'loading' check for disk drive; if there is no head
	  movement for a while, we assume loading stopped. Works much better
	  for software that doesn't turn off the motor. The timeout is set to
	  one second for now. This may need some tuning still.

2005-11-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Allow more general memory specifications in hardwareconfig.xml:
	   - <mem base=".." size=".."/>
	     base and size no longer need to be multiples of 0x4000
	   - It's now possible to create devices that have 8kb rom and 8kb
	     ram in the same 16kb page.
	* Fixed fullscreen switching in windows

2005-11-04 Manuel Bilderbeek <manuel@msxnet.org>
	* Implemented an experimental "fullspeedwhenloading" setting.
	  If you turn it on, openMSX will run at full speed when it thinks
	  that the MSX is loading from disk or cassette. It's still a bit dumb
	  for disk as it syncs the motor status... Also, some stuff like
	  RealTime and sound drivers want to get informed if the speed of the
	  emulation changes. This is not passed yet when openMSX goes to
	  full speed due to this new setting. Default is still 'off', of
	  course. Please test this and improve it :P

2005-11-04 Maarten ter Huurne <maarten@treewalker.org>
	* Renamed scale methods in LowScaler to reflect ratio i.s.o. line width.
	* Finally introduced DeinterlacedFrame class.
	  Right now it is only used by PostProcessor internally, but in the
	  future the scalers will use it too, as a FrameSource.

2005-11-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed assert on 'set power off ; set power on':
	   also cleaned up reset handling code

2005-11-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Only build SDLGLOutputSurface when OpenGL component is selected

2005-11-01 Manuel Bilderbeek <manuel@msxnet.org>
	* Optimization in RGBTriplet3xScaler: don't really call scale_1on1; if
	  we already have 256 wide lines, there's no need to scale

2005-11-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Use OutputSurface iso directly SDL_Surface in Scalers:
	   - preparation to use other than SDL framebuffers
	   - OpenGL framebuffer code seems to work, but is not yet
	     enabled. Performance is about the same as SDL on my system
	* Experimental. Enabled OpenGL framebuffer renderers:
	   - use 'set renderer sdlgl-fb16' and 'sdl-gl32' to enable them
	   - possibly we disable them for the release
	* Fixed bug in MemoryOps:
	   - need mmxext for streaming stores

2005-10-31 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed assert when switching video system (hq2x -> hq3x)
	  and leak when switching video system on gfx9000:
	* Small optimization in Simple3xScaler::scaleBlank()

2005-10-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed memory leaks in VideoSystem/Layers stuff:
	   - simplified layer ownership rules: creator now owns the layer
	     iso transferring ownership to Display
	   - added Display::removeLayer(), there was only addLayer()
	   - VideoSystem and Rasterizer objects were never deleted

2005-10-30 Maarten ter Huurne <maarten@treewalker.org>
	* Moved the switch(lineWidth) statement from PostProcessor to Scaler<N>,
	  as a preparation for renaming the line scale methods.

2005-10-29 Manuel Bilderbeek <manuel@msxnet.org>
	* Implemented Simple3xScaler with scanlines. Blur is TODO for someone
	  who is interested :P

2005-10-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented border effect for outer left and right border pixels
	  in RGBTriplet3xScaler
	* Fixed Scale_XonY line scalers for case when destination width
	  is not an integer multiple of Y

2005-10-28 Manuel Bilderbeek <manuel@msxnet.org>
	* Implemented RGBTriplet3xScaler for all widths using the new functors

2005-10-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added 'Streaming store' tags on line scalers to enable
	  optimizations in Scaler2 and Scaler3

2005-10-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Transformed scale_XonY() methods into functors
	* Changed signature of scale192/384/640/768/1024 methods
	* Factored out scaling algorithm in the base Scaler classes
	* Optimized PixelOperations for 32bpp
	* Implemented 16bpp in RGBTriplet3x

2005-10-26 Manuel Bilderbeek <manuel@msxnet.org>
	* Implemented adjustable scanline in scaleBlank() for RGBTriplet3x
	  scaler.
	* Let rgbify (in RGBTriplet3x) use pixelOps to access RGB components.
	  Makes it almost work in 16bpp, except for the spill threshold.
	  TODO: fix this and implement other widths (as soon as this can be
	  done without loads of code duplication...)

2005-10-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Changed signature of scale512() method
	* Replaced Blender with PixelOperations class:
	   - puts all blend functions in one place

2005-10-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Moved scanline code from SimpleScaler to new class Scanline
	* Reused scanline code in RGBTriplet3x scaler
	* Made the 'amount of RGB separation' configurable in RGBTriplet3x
	  scaler

2005-10-24 Manuel Bilderbeek <manuel@msxnet.org>
	* Implemented scaleBlank() for RGBTriplet3x scaler. Still no effect for
	  non-256-wide modes... (so still WIP)

2005-10-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Improved Manuel's RGB scaler (still WIP)

2005-10-23 Manuel Bilderbeek <manuel@msxnet.org>
	* Added RGBTriplet3x scaler. Emulates a Trinitron effect, including
	  a scanline. This is still very WIP and experimental! Thanks to Wolf
	  for the idea

2005-10-22 Maarten ter Huurne <maarten@treewalker.org>
	* More preparations for cleaner deinterlacing:
	  - PostProcessor calculates destination Y (in addition to source Y)
	  - Scaler::scaleBlank signature changed to use destination Y
	  - Scaler::scale256 signature changed to use source and destination Y

2005-10-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Put common code for HQ.x scalers in HQCommon.hh
	* Optimized MSXtar:
	   - cache FAT in memory
	* Implemented scaling in IconLayer:
	   - OSD icons now have the same size/position in all scalers

2005-10-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed low and hq3x scalers for v9990
	* Cleaned up Scaler code (mostly for non 2x scale factors)

2005-10-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added hq3xlite scaler

2005-10-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added hq3x scaler:
	   - is *very* slow (will try to add hq3xlite later)
	   - there might still be problems in combination with gfx9000

2005-10-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Use unix domain sockets iso internet domain sockets for
	  communication with extrenal programs.
	* Updated Contrib/openmsx-control.cc:
	   made a openmsx-control-socket.cc and a openmsx-control-stdio.cc
	   version

2005-10-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Worked around SDL CAPSLOCK problem:
	   SDL doesn't send proper keyup/down events for CAPSLOCK, instead
	   it sends keydown when key is pressed for the first time and keyup
	   when key is pressed second time.
	   As a workaround we must make an assumption about the duration of
	   the key press (i took 100ms).

2005-10-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented tilde expansion for ~<user> (*nix only)

2005-10-04 Manuel Bilderbeek <manuel@msxnet.org>
	* Renamed force_play to motorcontrol and some small clean ups.

2005-10-01 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed IDE on big endian machines.
	  Commit from Bussum MSX fair :)

2005-09-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed help command:
	   - info topics were visible as commands in the help command
	* Fixed reset during pause bug

2005-09-29 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed screenshot colours of SDL renderer on big endian machines.

2005-09-28 Manuel Bilderbeek <manuel@msxnet.org>
	* Started implementation of new cassetteplayer CLI.
	  - needs a lot of clean ups, only the CLI part was changed
	  - record subcommand not implemented yet. Needs modifications to
	    WavWriter, to be able to append to existing images. Consequently,
	    readonly-handing is not implemented yet either.

2005-09-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed input delay for MSX keyboard:
	   - Split keyboard events in host and emu events. In the future
	     other events should be split as well
	   - Currently the console code translates host keyboard events
	     into emu keyboard events (only when console is disabled).
	     This should change.

2005-09-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed EmuTime parameter for ASAP sync points

2005-09-24 Arnold Metselaar <arnold.metselaar@planet.nl>
	* CassetteJack
	   - fix output when MSX output varies very rapidly
	   - simple interpolation on input

2005-09-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Automatically plug in cassetteplayer when the MSX machine has a
	  cassetteport:
	   - done with a TCL script for the moment because the list of
	     plugged devices is not (yet) saved by openMSX

2005-09-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* CassettePlayer stuff:
	   - cleanups (bring coding style in line with rest of openMSX)
	   - fix wav ouput when MSX output varies very rapidly
	   - update wav header 'regularly' so that wav is already usable by
	     an external program before recording on MSX is completely stopped

2005-09-20 Arnold Metselaar <arnold.metselaar@planet.nl>
	* fix in WavWriter class; totalsize was wrong
	* CassetteJack, CassettePlayer
	   - simple DC removal filter for cassette out signal
	* CassettePlayer
	   - setMute() when recording
	   - stop recording on eject, insert, rewind unplug and destructor

2005-09-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Made WavWriter class:
	   - removed common code from Mixer and CassettePlayer
	   - code should now also work on big endian machines (not tested)
	* Enabled wav writing for CassettePlayer
	* Clear secondary slot registers on reset(!):
	   - fixes reset bug on Sony HB-F500P

2005-09-18 Manuel Bilderbeek <manuel@msxnet.org>
	* Added a new -testconfig option, which just tries to load the
	  specified machine/extension/etc. config and then exits. Can be used
	  to probe what machine configs are installed correctly, including ROM
	  images

2005-09-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented 'magic key' dongle
	* Fixed assert on reset (happened most often on turbor)

2005-09-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Made RawFrame SDL independent
	* Allign every line in a RawFrame at a 64 byte boundary

2005-09-12 Maarten ter Huurne <maarten@treewalker.org>
	* Preparations for cleaner deinterlacing:
	  introduced FrameSource as an abstract superclass of RawFrame.

2005-09-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added EmuTime parameter to peekMem() method
	* Implemented debug reads for FDC's

2005-09-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed some SCC details (needed for playing samples on SCC):
	   - stuff was discovered by NYYRIKKI
	   - see comments SCC.cc for details

2005-09-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* update events are now enabled/disabled per connection

2005-09-07 Maarten ter Huurne <maarten@treewalker.org>
	* Set environment variables though TCL interpreter.
	  Fixes problem on Mac OS X where OPENMSX_(SYSTEM|USER)_DATA is not
	  updated in TCL, causing "init.tcl" to fail.

2005-09-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added listen_host and list_port_min/listen_port_max settings:
	   - valid values for listen_host are 'all', 'local' and 'none'.
	     Default is 'local'
	   - listen_port_min/max is a range of port number on which openmsx
	     will listen for incomming connection (openmsx session will take
	     the lowest free port, it's a range to allow multiple
	     simultaneous openmsx sesions). Default is 9938 - 9958.
	   - TODO better names for these settings?
	   - TODO documentation

2005-09-05 Arnold Metselaar <arnold.metselaar@planet.nl>
	* Added support for interaction between cassette port and jack
	  audio connection kit
	   - added CassetteJack
	   - moved the generation of samples from Cassette to the Pluggable.
	   - build system updated
	   - description in user.html

2005-09-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Large singleton cleanup (only a few remain now):
	   - singleton classes had a lot a inter-dependencies, it was not
	     possible to make this change in smaller steps
	   - these dependencies still exist, but now there are explicitly
	     visible in the code (in some places it looks ugly now)
	   - TODO break some of these dependencies

2005-09-02 Manuel Bilderbeek <manuel@msxnet.org>
	* Fixed a bug in the disassembler (thanks for the anonymous poster for
	  telling us about it); it now uses stringstreams iso char arrays.

2005-08-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* More singleton cleanups:
	    UserInputEventDistributor, CommandConsole, RenderSettings and
	    Display are no longer singletons

2005-08-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Moved implementation of 'toggle' command to a TCL script
	* Removed CondVar class, it was not used anymore

2005-08-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* MSXtar cleanup:
	   - don't use CliComm to print warnings or errors, instead
	     report them as normal TCL output or TCL error msgs
	   - more robust error handling

2005-08-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added resume update event

2005-08-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented peekIO (debug IO reads) for MSX-AUDIO

2005-08-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* V9990 no longer internally renders 640 pixels wide lines. The
	  PostProcessor now scales the lines to the correct width.
	* Extended Scalers with scale192() scale384() scale768() scale1024():
	   TODO find a better way to do this

2005-08-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Use PostProcessor for V9990:
	   - this means scaler, scanline, blur settings have now also effect
	     on V9990 display
	   - TODO all V9990 lines are internally still rendered 640 pixels wide

2005-08-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Changed 'issubslotted' from Debuggable into InfoTopic
	* Added 'isexternalslot' InfoTopic
	* Added 'guess_title' script

2005-08-10 Manuel Bilderbeek <manuel@msxnet.org>
	* Added -prefix option to screenshot command
	* Moved getName from ScreenShotSaver to FileOperations, with new name
	  "getNextNumberedFilename" and used it in Display and Mixer. Removes
	  code duplication between those 2.

2005-08-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed using precompiled headers:
	   - include guards should be unique in the whole tree
	   - split Icon.hh in Icon.hh and Icon.cc
	* Fixed KeyJoystick:
	   - UserInputEventDistributer can now handle multiple listeners with
	     the same priority
	* Large V9990 speedup:
	   - added faster VRAM access methods, specific for certain display
	     modes
	   - optimized logical operations in V9990CmdEngine with LUT

2005-08-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added SimpleDebuggable class:
	   made code of most Debuggables a lot simpler
	* Simplified SoundDevice class

2005-07-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed bug in EventDistributor:
	   event order could get swapped for events close together in time
	* Scheduler now keeps sync points with same EmuTime in the same order
	  as they are registered

2005-07-23 Manuel Bilderbeek <manuel@msxnet.org>
	* Added -nommx and -nommxext command line options, to disable MMX and
	  MMXEXT usage, if available. This is useful only for debugging
	  purposes and may change in the near future.

2005-07-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented resolution changing for low scaler
	* Renamed 'SDLHi' renderer to 'SDL'

2005-07-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Made Scaler interface independent from scale factor:
	   - low scaler works now, although still in a 640x480 window
	* Moved Deinterlacer functionality to Scaler:
	   - preparation for low scaler deinterlacer
	* Implemented deinterlace for low scaler:
	   - no MMX or SSE optimized version yet

2005-07-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Removed SDLLo renderer, SDLLo renderer will be replaced with "low"
	  scaler soon

2005-07-20 Maarten ter Huurne <maarten@treewalker.org>
	* Split off PostProcessor from SDLRasterizer.
	* Fixed bug in memset4_2_CPP.
	  This was the cause for "[1237004] OSX Tiger GFX bug".
	* Fixed endianness bug in memset_2_helper 16bpp support.
	* Used a different GCC 3.3 bug workaround, because the previous one
	  caused bus errors on Mac OS 10.3.

2005-07-18 Maarten ter Huurne <maarten@treewalker.org>
	* Introduced RawFrame: a class which contains an unscaled frame.
	  This is an architectural improvement which will later allow bug fixes,
	  cleaner code and new features.
	* Removed NATIVE event listeners (replaced by DETACHED).

2005-07-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Made CPU breaked status queryable with "debug breaked" subcommand
	* Use glTexSubImage2D to reuse existing textures:
	   can be faster in certain OpenGL implementations

2005-07-16 Maarten ter Huurne <maarten@treewalker.org>
	* Optimized PNG images.
	  I used the tools pngrewrite and OptiPNG.
	* Optimized PNGs some more using advpng.
	* Optimized PNGs some more using pngcrush.
	  Thanks to Wouter for the tip.

2005-07-15 Manuel Bilderbeek <manuel@msxnet.org>
	* Updated the IDE ROM to version 2.40.

2005-07-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added "issubslotted" debuggable
	* Reimplemented "slotselect" command as a TCL proc
	* Added "pc_in_slot" TCL proc. Can be used to set a bp in
	  a specific slot.

2005-07-13 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed the new icon on big endian machines.

2005-07-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed auto saving of settings at exit

2005-07-11 Manuel Bilderbeek <manuel@msxnet.org>
	* Thanks to Wouter's improvements to CasImage, I could boost the
	  baudrate of cas images to 5520! :) Any more and it blows ;-)
	* Don't use allUp(), but just let key up events through to the MSX
	  when console is active.

2005-07-10 Maarten ter Huurne <maarten@treewalker.org>
	* Introduced UserInputEventDistributor, as a first step to get rid of
	  the "native" event handlers. This distributor forwards keyboard
	  events to the console or the MSX depending on whether the console is
	  active.

2005-07-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed linking problem for gcc4
	* Fixed inline assembler for gcc4:
	   we need to hide the MMX/SSE registers in the clobber list from the
	   compiler when the target CPU doesn't know about these registers

2005-07-06 Manuel Bilderbeek <manuel@msxnet.org>
	* Renamed 'eject', 'rewind', 'force_play' and 'no_force_play' to
	  '-eject', '-rewind', '-force_play' and '-no_force_play' in the
	  CassettePlayer.
	* Added completion for these options.

2005-07-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Refactored SoundDevice code:
	    pass estimated EmuTime and EmuDuration to updateBuffer()
	    preparation for DACSound improvements
	* Improved DACSound sound quality:
	    - 2x oversample signal (and downsample with 4th order FIR filter)
	    - use time average to extract the (unfiltered) signal

2005-07-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented stripes for screen6 background
	* Fixed "load_settings" command

2005-06-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Moved vdrive key bindings from openMSX code to vdrive.tcl script

2005-06-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Only save key bindings (settings.xml) that are different from the
	  default key bindings. Added (un)bind_default commands.
	* HQ2xLite cleanup + small speedup

2005-06-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Mute sound when a bp is hit and during turbor HW pause
	* Implemented HW mute bit in turbor PCM device
	* SettingsManager is no longer a singleton
	* Don't save settings that (still) have their default value:
	   - this way the user no longer needs to delete his settings.xml
	     file to get the new default values when he upgrades
	   - TODO: this broke the load_settings command. I'll fix it
	     after keybindings and keyjoystick are refactored
	* Added second keyjoystick:
	    Names are now 'keyjoystick1' and 'keyjoystick2'. This is not
	    backwards compatible with the old name 'keyjoystick'. Do we need
	    a compatibilty thing for this?
	* Made keyjoysticks configurable with settings (iso directly having
	  to edit settings.xml):
	    Setting names are like this 'keyjoystick1.up', 'xx.down', etc

2005-06-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Mixer is no longer a singleton

2005-06-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented stripes in border in screen6

2005-06-23 Herman Oudejans <hn.oudejans@quicknet.nl>
	* Fixed problem with saving SRAM to a machine that wasn't used before.

2005-06-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Unrolled inner loops in CharacterConverter:
	   - rendering text2 mode is between 1% and 2% faster now (on total
	     simulation time)
	   - gcc only unrolls loops when the option -funroll-loops is given
	     it's not automatically enabled at any optimization level because
	     it sometimes also creates slower code
	* Changed result format of "diska" command, updated vdrive script
	* Don't use default alpha value in SDL console:
	   When the background image had a contant alpha value (or no alpha
	   value at all) we took a default alpha value. This behaviour is
	   different from the GL Console. It's also not very useful because it
	   prevents using a background with a different (constant) alpha
	   value (or no alpha at all).

2005-06-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Flush PrinterPortLogger data

2005-06-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed problem with event distribution:
	   Current implementation can't handle new subsriptions while events
	   are being distributed. In this case it was easy to avoid but in the
	   future we may have to change the implementation to allow this. I
	   also added some asserts to more easily detect this type of problem
	   in the future.
	* Reimplemented "palette" and "vdpregs" commands as TCL scripts
	* Added Vampiers "setcolor" TCL script (slightly modified)
	* Reimplemented "v9990regs" command as a TCL script
	* Updated cpu.tcl, made a proc to read/write individual registers,
	  see documentation in cpu.tcl for details
	* Implemented SRAM syncing:
	   at most 5 seconds after a write to SRAM the content of the SRAM is
	   saved to disk.

2005-06-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* RenShaTurbo is no longer singleton
	* Debugger is no longer singleton
	* Use references iso pointers where possible in VDP code
	* Made memory mapper registers debuggable (MapperIO)
	* Made V99x8 palette debuggable

2005-06-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Large refactoring, get rid of some singletons:
	   MSXMapperIO, MultiIODevice, MSXDeviceSwitch, DummyDevice,
	   PanasonicMemory, MSXCPUInterface, MSXCPU are no longer
	   singletons. Instead the (single) object of this class should
	   be get from MSXMotherBoard. MSXDevices and some other classes
	   now have a backpointer to MSXMotherBoard
	* Get rid of more singletons:
	   PluggingController, CassettePortFactory

2005-06-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added basic syntax checking for expressions in conditional bp's

2005-06-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented conditional breakpoints:
	    TODO add more documentation and examples

2005-06-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Turbo R hw pause only pauses the CPU, not also all other devices.

2005-06-12 Maarten ter Huurne <maarten@treewalker.org>
	* Only Schedulable has access to setting and removing sync points.
	* Look for TCL in "lib64" directories as well.
	  Fixes TCL detection on Fedora Core 3 x86-64.
	* Split off Reactor class from MSXMotherBoard. Work in progress.
	* Decided that the "reset" command and the "power" setting apply to a
	  specific MSX machine and therefore belong in MSXMotherBoard.
	  The code that handles that command and setting already assumes that
	  it is called from the Reactor instead of the Scheduler, but this is
	  not yet the case, so currently assertions can be triggered.

2005-06-11 Maarten ter Huurne <maarten@treewalker.org>
	* Do not initialise SDL if openMSX doesn't start up (-h, --version).
	* Initialise SDL video when the first screen is opened.

2005-06-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* More accurate Clock class (when freq is a fraction of 3.58MHz)
	* Also complete "-eject" and "-ramdsk" in "diska" command

2005-06-10 Maarten ter Huurne <maarten@treewalker.org>
	* CommandLineParser is no longer a singleton.
	* Removed -nosound command line option.
	  Use the "null" sound driver instead.

2005-06-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Small speedup of simple scaler
	* replaced classes with only static methods inside (e.g. StringOp)
	  with a namespace
	* Implemented hard/soft pause bit in turbor (bit 1 in port 0xa7)
	* Removed support for old romdb format
	* Removed support for <romfile>,<romtype>  (use -romtype instead)
	* Use <country> tag in softwaredb

2005-06-10 David Heremans <david.heremans@gnu-linux.net>
	* Added vdrive.tcl script:
	   This scripts allows user to cycle through a uniformaly named
	   diskset. It enables blueMSX users to use the same kind of
	   diskcycling as blue's v-DRIVE if binded to the ALT+F9 hotkey

2005-06-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Removed romdb.xml and romdb.dtd files:
	   These files were already obsoleted by softwaredb.xml. OpenMSX
	   still supports the old format, after the release we'll also
	   remove this.

2005-06-07 Maarten ter Huurne <maarten@treewalker.org>
	* Updated C-BIOS to 0.21.

2005-06-06 Manuel Bilderbeek <manuel@msxnet.org>
	* Implemented new icon by Eric Boon (32x32 version).
	* Cleaned up Icon code, to use a slightly modified GIMP C-Source image
	  dump. It's now also easier to put in a larger bitmap.

2005-06-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed background in screen6:
	   only use lower two bits for background color
	   TODO use stripes

2005-05-28 David Heremans <david.heremans@gnu-linux.net>
	* introduced a quick-fix:
	   The minial bootsector in MSXtar is, at the moment,
	   created for a 360KB disk. For now the minimal
	   partition size is forced to this size as well.

2005-05-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Removed 'useFile' sub command from 'diskmanipulator':
	   the new 'virtual_drive' replaces its functionality
	* Refactored DiskDrive code:
	   factored out disk changing code into DiskChanger class
	* Added 'virtual_drive':
	   this drive is always available (even in power off state),
	   its main use is for the diskmanipulator stuff

2005-05-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Merged Maarten's 'close socket stuff' patch:
	   - should fix exit problems on OSX

2005-05-24 David Heremans <david.heremans@gnu-linux.net>
	* Enhanced the 'diskmanipulator import' function:
	  It now accepts a list of files and directories as arguments

2005-05-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Renamed 'eject' and 'ramdsk' to '-eject' and '-ramdsk'
	* Renamed 'filemanipulator' to 'diskmanipulator'
	* Removed diskmanipulator sub command 'usePartition'

2005-05-22 Manuel Bilderbeek <manuel@msxnet.org>
	* Literally reVamped default console background and font! ;-)
	  ConsoleFontRaveLShaded is default font now, ConsoleBackgroundGrey
	  is default background (see poll). Added some others as well. All
	  graphical work was done by Patrick van Arkel.

2005-05-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* R800 timing improvements:
	   CAS/RAS optimization only works for internal RAM,
	   timing tests in R800-ROM look a lot better now

2005-05-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* fixed R800 memory access timing:
	   - accessing internal RAM (or some ROMs in DRAM mode) takes 1 cycle
	   - accessing internal ROM takes 2 cycles
	   - accessing external slot takes 3 cycles

2005-05-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* R800 timing fix:
	   - retn reti instructions takes 5 cycles (2 more than a simple 'ret',
	     that's unexpected if you look at the Z80 timings)
	   - tweaked CAS/RAS optimization a bit, also optimize data fetches,
	     but still don't optimize between opcode and data fetched
	     I have no idea whether it really works like this, but the test
	     results are better now

2005-05-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* R800 timing fix:
	   di instruction takes 2 cycles (ei takes just 1)

2005-05-16 Manuel Bilderbeek <manuel@msxnet.org>
	* Added Sony HB-F700D config. Interesting characteristics are:
	  256kB RAM, German ROMs (nice for German users), broken_fdc_read=true

2005-05-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Made WD2793 code more robust:
	   Something _could_ go wrong when a new command was started while the
	   previous command was still busy. This might fix the drive problems
	   seems by vampier, mth and shevek but it might also be something
	   completely different.

2005-05-14 David Heremans <david.heremans@gnu-linux.net>
	* More FileManipulator stuff
	  - get feedback on curretn situation from 'useFile', 'usePartition'
	    and 'chdir' in the same was as our 'set <variable>' commands work
	  - fixed small bug concerning non partitioned devices

2005-05-11 David Heremans <david.heremans@gnu-linux.net>
	* More FileManipulator help

2005-05-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Improved build time (~15% faster full build here):
	   - split EmuTime.hh in EmuTime.hh EmuDuration.hh Clock.hh and
	     DynamicClock.hh
	   - don't #include <iostream> in openmsx.hh in non-debug builds
	     PRT_DEBUG macro is not checked anymore for syntax errors in
	     non-debug builds now, but I think that's not a big problem

2005-05-09 David Heremans <david.heremans@gnu-linux.net>
	* Added support for linux style partitionnumbers in the FileManipulator

2005-05-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed linking problem with gcc-4.x:
	   explicit template instantiation must be done _after_ template
	   definition and implementation
	* Improved timer accuracy of MSX-AUDIO / OPL4:
	   thanks to Daniel for figuring this out

2005-05-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Large MSXtar / Filemanipulator (and related stuff) cleanup

2005-05-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented missing WD2793 feature, interrupt on index pulse:
	   - fixes 'write protected' message while formatting read-only disk
	     images

2005-05-06 David Heremans <david.heremans@gnu-linux.net>
	* MSXtar Work-In-Progress:
	   - limited disk/partitions to 65535 sectors for now to solve
	     the 'create disk of 32MB' problem.
	   - improved bootsector guessing in the MSXtar constructor
	     and commented it out already :-)
	   - check against directory removals done by the emulated MSX
	   - fixed some compile warnings

2005-05-05 Patrick van Arkel (vampiermsx@gmail.com)
	* Added trainers.tcl to the scripts directory
	  - This file will enable the users to 'cheat' games

2005-05-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Console refactoring:
	   - simplified code / fixed a bug
	* Use Tcl_DeleteCommandFromToken iso Tcl_DeleteCommand to unregister
	  TCL commands: is safer when the user uses 'rename' on the commands
	* Correctly fill in the 'LBA size' field in the IDEHD 'Identify Block':
	   patch made by Adriano Camargo Rodrigues da Cunha

2005-05-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed -nosound option:
	   - also marked as deprecated

2005-05-04 David Heremans <david.heremans@gnu-linux.net>
	* MSXtar Work-In-Progress:
	   - new chdir,mkdir and dir command.
	   - registering of IDEHD now done by the IDE controller
	     which adds a Master or Slave indication to the name
	   - enabled '.' and '..' support in some MSXtar routines
	   - while cleaning up the code I added some verbose error
	     messages in case of failure or wrong usage

2005-05-02 David Heremans <david.heremans@gnu-linux.net>
	* MSXtar Work-In-Progress:
	   - partition info per DiskContainer device
	   - new format and useFile command.
	   - renamed getDir/AddDir to import/export
	   - IDEHD import seems to work :-)
	   - 'create'-command works but IDE sector 0 is not fully correct yet.
	   - extra documentation file concerning the filemanipulator

2005-04-29 Patrick van Arkel (vampiermsx@gmail.com)
	* added a new rom database after some cleanups

2005-04-28 Daniel Vik (daniel@vik.cc) (commited by Patrick van Arkel)
	* added support for windows timers
	* fixed directX sound driver for win32
	* added RealTime.cc
	  (Please talk to Daniel about line 96)

2005-04-28 David Heremans <david.heremans@gnu-linux.net>
	* MSXtar Work-In-Progress:
	   - the IDEHD is now accessible for the FileManipulator.
	   - partition support is comming along nicely.
	   - you can already do a 'getDir' to export an MSX-IDEHD partition
	     to your host-OS. No importing yet
	   - untested create dsk image code with partition support :-)

2005-04-28 Manuel Bilderbeek <manuel@msxnet.org>
	* Fixed a small bug in IDE HD.

2005-04-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Experimental directX sound driver for win32:
	   - I don't have a windows machine so this code is NOT TESTED

2005-04-24 Manuel Bilderbeek <manuel@msxnet.org>
	* Added EXPERIMENTAL AND UNTESTED build support for the following CPUs.
	  DEC Alpha, ARM, HP PA-RISC, IA-64, Motorola 680x0, MIPS (Big and
	  Little Endian), IBM S/390.
	  Everything should work (endianness is OK), but we have no systems to
	  test on. Let's wait until someone complains that it doesn't work and
	  then fix it (if needed at all).

2005-04-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Extended IPS patch support:
	   - support IPS files with internally overlapping regions
	   - support IPS files that extend the orginal file size
	* Added sound_driver setting:
	   currently only 'null' and 'sdl' drivers

2005-04-21 Maarten ter Huurne <maarten@treewalker.org>
	* Made openMSX relocatable on Mac OS X.
	  It looks for the "share" directory first in the directory containing
	  the executable and the search goes up one directory until it is found.

2005-04-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Split Mixer in generic sample generation part and sound system
	  dependant sound output part:
	   - preparation to support other sound systems later (eg DirectSound)

2005-04-20 David Heremans <david.heremans@gnu-linux.net>
	* MSXtar Work-In-Progress:
	   - using the temporary addDir/getDir you can now import/export
	     host-directories (and its subdirs) into a dsk image.
	   - Creating some extra classes to later on facilitate IDEHD
	     registration with FileManipulator, and add FileManipulator
	     functionallity to work with dsk-images without the use of
	     drives of a running MSX session.

2005-04-19 Manuel Bilderbeek <manuel@msxnet.org>
	* Added support for Sparc CPUs.

2005-04-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* MSXtar cleanup / fixes:
	   - fixed compilation on windows (not actually tested):
	      the type field 'd_type' in the struct 'dirent' is not generally
	      available (not on windows for example)
	   - lots of small cleanups (mainly layout)

2005-04-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Refactored V9990 'renderUntil' related code:
	   should fix pixel accurate rendering

2005-04-13 David Heremans <david.heremans@gnu-linux.net>
	* Got the needed routines to add files/subdirs to a dsk image into
	  msxtar code.The code compiles but doesn't work yet. Going from
	  an all-in-memory model to a one-sector-at-a-time model introduced
	  a lot of partial (and untested) rewrites and some quick hacks.

2005-04-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented V9990 vertical scroll rolling in Bx modes

2005-04-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Improved SCC sound quality
	   - during (very) short periods of silence, waveform counters
	     should continue to increase (major improvement)
	   - copied filter code from BlueMSX (minor improvement)
	* Enabled pixel/line accurate rendering for V9990 (WIP)

2005-04-09 Manuel Bilderbeek <manuel@msxnet.org>
	* Switched the two YM2413 cores again. Okazaki is now default, because
	  it sounds better now. Regarding drums, some sound better in Okazaki,
	  some in Burczynski (e.g. the cymbal). Ideally the drums
	  should be switchable and the normal FM should always be Okazaki.
	  Thanks to Wolf for judging the sound quality.

2005-04-04 David Heremans <david.heremans@gnu-linux.net>
	* Actually trying to get the format routines from the original
	  msxtar into openMSX. The idea is that this new class will perform
	  the real work, and the File/DiskImageManipulator will invoke msxtar
	  as needed

2005-04-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed / cleaned up FileManipulator and RamDSK code:
	  still TODO:
	   - proposal: rename FileManipulator to DiskImageManipulator?
	   - proposal: change "diska ramdsk" to "diska -ramdisk [<name>]"
	     (note: ramdsk vs ramdisk (or just ram?))
	   - keep ramdisk contents when disk is ejected/reinserted
	   - automatically format ramdisk on first insert
	* Simplified all SectorsBasedDisk subclasses

2005-04-04 David Heremans <david.heremans@gnu-linux.net>
	* Filemanipulator: tab completion.

2005-04-02 Maarten ter Huurne <maarten@treewalker.org>
	* Refactored AY8910Interface and renamed to AY8910Periphery.
	  Main difference is the discovery that peek and read actually are the
	  same thing on this interface, not just in the implemenation but in
	  the conceptual model as well.

2005-04-01 Manuel Bilderbeek <manuel@msxnet.org>
	* WIP: make Okazaki core more like 0.61
	* Swapped default and alternative YM2413 cores, because Okazaki core
	  is very broken at the moment. CHECK points need to be checked by
	  Wouter still

2005-04-01 David Heremans <david.heremans@gnu-linux.net>
	* Next step to integrate msxtar into openMSX:
	  The creation of the RamDSK class, to allow ramdisk like dsk usage
	  Doesn't seem to work yet though :-)

2005-04-01 David Heremans <david.heremans@gnu-linux.net>
	* First steps to integrate msxtar into openMSX:
	  The creation of the FileManipulator class

2005-03-31 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* More YM2413 fixes (ported from v0.55)
	* Swapped default and alternative YM2413 cores:
	   is easier to test this way, if results are good, this might stay
	   the default order

2005-03-29 Manuel Bilderbeek <manuel@msxnet.org>
	* Tried to adapt Okazaki YM2413 core in openMSX to make it look more
	  like the original code (version 0.55, from NLMSX, thanks Frits).
	  WIP!

2005-03-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Handle TCL events in openmsx event loop:
	   - makes Patrick's webserver script work
	   - preparation for Tk integration

2005-03-25 Herman Oudejans <hn.oudejans@quicknet.nl>
	* fixed -control stdio on windows. With this option, the
	  StdioConnection was not created.

2005-03-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Split CliComm in CliComm and CliServer:
	   - fixed assert on startup (CliComm must be instantiated in main
	     thread)
	* Added cheat.tcl:
	   written by Patrick van Arkel <sf@vampier.net>
	   see share/scripts/cheat.tcl for a short explanation

2005-03-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented step_in, step_over and run_to as TCL procs
	* Try to listen on ports 9938-9958 (iso just 9938), and print a
	   warning (iso crash) when none of these is available

2005-03-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed crash on missing argument for 'debug set_bp/remove_bp'
	* Implemented "debug disasm" command:
	   with this command Boukichi's 4 debugger commands (offered as a
	   patch on openmsx-0.5.1) can be implemented as simple TCL scripts

2005-03-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Tiny SDLGL improvement:
	   - use glRect() to draw rectangles with a single color iso GL_QUADS
	* Experimental: enable window resizing in GL renderer
	   - For some reason it doens't work yet in character modes
	   - I read that on windows you need to reload all textures after a
	     resize. I couldn't test this but if it's true resizing currently
	     doesn't work in windows
	   - By default the resizing is disabled, to enable it comment out
	     line 110 in src/video/SDLGLVideoSystem.cc

2005-03-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed MSX-AUDIO sample RAM detection:
	   UR always detected 256kb
	   AR always detected   0kb  both are fixed now

2005-03-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed minor(?) rounding error in SCC

2005-03-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Split CliComm class in CliComm and CliConnection:
	   helps to keep the c-macros defined in windows.h more local
	* Only accept connections from local host:
	   it's still a security risk (hostile local users) but much less
	   already.

2005-03-13 Manuel Bilderbeek <manuel@msxnet.org>
	* Implemented soundlog toggle command.
	* Implemented tabCompletion for soundlog command and partially for
	  after command
	* Stop logging sound when frequency setting is changed.
	  Alternative: ignore frequency change when logging sound.

2005-03-13 Herman Oudejans <hn.oudejans@quicknet.nl>
	* Fixed win32 compile errors
	  TODO:
	  - 2 warnings
	  - better integration of wsock32 in the buildsystem

2005-03-12 Manuel Bilderbeek <manuel@msxnet.org>
	* Added basic code to record openMSX sound to wav file. It is not used
	  yet, but one can test it by uncommenting 2 lines.
	* Added soundlog command to start and stop recording of sound.
	  There is still a lot TODO - see the comment in Mixer.cc

2005-03-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added socket support:
	   - openmsx now listens to incomming connections on TCP/IP port 9938
	     when a connection is established the same communication is
	     possible as with the CliComm stuff over stdio
	   - For the moment port 9938 is open for everyone: security hole!
	     Sockets should be explicitly enabled and by default only for
	     local connections

2005-03-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed various warnings:
	   - doxygen warnings
	   - compiler warnings while compiling with -Wall -Wextra
	   - previous compiler warings with also -DNDEBUG

2005-03-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added HQ2xLite scaler:
	   Resulting image is close to hq2x but can be calculated a lot faster
	   See comments at the top of HQ2XLiteScaler.cc for details.
	* Changed include guards from __FOO_HH__ to FOO_HH:
	   Identifiers that contain a double '_' or that start with a '_'
	   are reserved for system headers. Currently our include guards work
	   but it might give problems in the future.

2005-03-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* HQ2xScaler speedup

2005-03-05 Maarten ter Huurne <maarten@treewalker.org>
	* Released openmsx-0.5.1.

2005-03-05 Manuel Bilderbeek <manuel@msxnet.org>
	* Added Sony HB-F1II config and corrected HB-F1 config.

2005-03-05 Maarten ter Huurne <maarten@treewalker.org>
	* Added support for Checkmark FM Stereo PAK.
	  The stereo effect is not yet emulated, but it works fine in mono.
	  Thanks to Albert for the config XML.

2005-03-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Also accept the enter key on the numerical pad in the console

2005-03-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* In deinterlace mode render always two consecutive frames:
	   When every other frame is skipped deinterlacer worked on 1 new
	   frame and 1 very old frame. Fixed by rendering (not necessarily
	   drawing) always two consecutive frames.

2005-03-03 David Heremans <david.heremans@gnu-linux.net>
	* Replaced 'fallback LEDs' with variant of set1

2005-03-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Last minute db format change:
	   type for normal roms is now structured like this
	   <rom> <type>normal</type> <start>0x4000</start> ... </rom>
	* romtypes should start with capital (e.g. 'Normal' iso 'normal)

2005-03-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Don't send LED events when LED status didn't change:
	   fixes the slowdowns in sphere

2005-02-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed warnings while compiling with -Wextra (all harmless)

2005-02-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* video code was not exception safe, fixed it:
	   - when an excpetion was thrown some objects were not deleted or
	     even deleted twice
	* Accept sha1sums in db in both upper and lower case
	* Fixed debug reading from ioports

2005-02-27 Manuel Bilderbeek <manuel@msxnet.org>
	* Also check if <rom> entries have a <type> child. Fixes Synthesizer.

2005-02-26 Patrick van Arkel <sf@vampier.net>
	* Updated the softwaredb.xml thanks to Mars2000you for providing
	  an updated version of his rom list.

2005-02-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Renamed new db to softwaredb.xml
	* added new db:
	   thanks a lot to Vampier for creating the new db and tools

2005-02-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* fixed cassette WavImage DC correction:
	    forgot to properly clip signal

2005-02-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Replaced 'plain' mapper type with 'mirrored' and 'normal', makes it
	  easier to implement the new database mapper types:
	   - for backwards compatibility 'plain' is treated as an alias for
	     'mirrored'
	   - it's also possible to specify the start address of the rom like
	     this 'mirrored4000', 'normal8000', ... (start address must be
	     a multiple of 4000)
	* Fixed parsing of romtype for 'plain' roms in database

2005-02-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Update for new romdb

2005-02-19 Manuel Bilderbeek <manuel@msxnet.org>
	* Updated the manuals a bit more, regarding C-BIOS 0.20 and support
	  for Mac OS X and OpenBSD. Maarten, please check and fix if needed.

2005-02-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented frameskip for gfx9000:
	   I mostly copied code from V99x8 renderer, we might want to factor
	   this common code out in the future

2005-02-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added locking to EventDistributor:
	   There was a race in EventDistributor (long time already).
	   Today I got a crash because of this race (irreproducible),
	   so apparently it's hard to trigger. I hope it's fixed now.
	* More P1 mode performance tweaks

2005-02-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed sprites in P1 mode:
	   - Erik did all the hard work, I just had to fix one line ;-)
	   - Battle Bomber works now!
	* Fixed color of backdrop color in P1 mode
	* Optimized P1 rendering a bit:
	   just some tweaks, algorithm needs to change for really better
	   performance (Eric already has some ideas I believe)

2005-02-16 Eric Boon <e.boon4@chello.nl>
	* Initial implementation P1 sprites (~15 fps :-/)
		- HiSpec Snowfall demo shows wrong sprite patterns

2005-02-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed more compiler warnings (all harmless):
	    compiled with gcc version 4.0.0 20050212 (experimental)
	* Initial support for new rom database format:
	    - both old and new format are supported
	    - support for new format is very minimal, for example
	      lang="xx" attributes are ignored

2005-02-13 Maarten ter Huurne <maarten@treewalker.org>
	* Added build support for OpenBSD (3.6 RELEASE, to be exact).
	  Thanks to Ariane for testing!
	* Updated C-BIOS to 0.20, including new directory structure.

2005-02-13 Manuel Bilderbeek <manuel@msxnet.org>
	* Rerenamed ROM types that we already agreed on for the new standard

2005-02-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed compilation errors / warnings when compiling with gcc-4.0(exp)

2005-02-09 Manuel Bilderbeek <manuel@msxnet.org>
	* We forgot to replace "brokenFDCread" by "broken_fdc_read" in about
	  17 different config files, before 0.5.0! OOOPS!

2005-02-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Reduced the 'black flashes' in SDLGL renderer:
	   see comments in Display::repaintDelayed() for details
	* Fixed switching renderer while in overscan mode
	   (bug was introduced by me two days ago)

2005-02-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added 'none' icon set
	* Fixed a (the?) 'pure virtual method called' bug:
	   an Alarm object was deleted in main thread while it was
	   executing in another thread

2005-02-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed CPU tracing (patch created by Maarten)
	* Fixed(?) sporadic crash when switching renderer on MSX1:
	   - this is quick fix, needs more work after release
	   - needs lots of testing

2005-02-05 Manuel Bilderbeek <manuel@msxnet.org>
	* Split Philips VG 8020 config in VG 8020 and VG 8020/20.
	  Penguin Adventure works on both now, when using the right ROMs.
	  Thanks to Hans Otten for his kind assistance

2005-02-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed all warning when compiling with icc
	* Fixed V9990 palette initialization when switching renderer
	   (sdlhi <-> sdllo)

2005-02-03 Manuel Bilderbeek <manuel@msxnet.org>
	* Added extension for MSX-AUDIO 2. This is an Y8910 on the alternative
	  I/O ports (C2/C3), without the MIDI part of the Music Module

2005-02-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed harmless(?) UMR in AY8910 code

2005-02-02 David Heremans <david.heremans@gnu-linux.net>
	* Fixed a minor announce in the load_icon tcl script
	   and added extra SDLLo checks
	   and a TCL hint from Wouter

2005-02-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* documented icon related settings
	* Fixed 13-bit MSX-AUDIO DAC

2005-02-01 David Heremans <david.heremans@gnu-linux.net>
	* An extra set of LED images.
	* Enhanced the load_icon tcl script

2005-01-31 David Heremans <david.heremans@gnu-linux.net>
	* Changed default led settings

2005-01-31 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented V9990 SRCH command
	* XIMM bits (R#6) are ignored in Px modes
	* Implemented V9990 BMLL command
	* BMLL is always done on interleaved VRAM
	* Fixed V9990 VRAM interleaving:
	   together with previous item fixes scrolling in power basic

2005-01-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* When a new settings is created and a TCL variable with the same name
	  is alreday defined, then take this value as initial setting value:
	   fixes icon stuff defined in init.tcl when openmsx is started with
	   enderer none (-control mode)
	* Only use one .filecache file for all rom pools:
	   this file is put in the (writable) user directory

2005-01-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Extended "disk[x]" console command to accept IPS patches:
	   diska <dsk> [<ips1> [<ips2> [..]]]

2005-01-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Allow IPS patches for disk images:
	   only on the command line, not yet in the console
	* Allow multiple IPS patches on the same rom/disk

2005-01-27 David Heremans <david.heremans@gnu-linux.net>
	* Updated the LED images.

2005-01-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Don't save "mute" setting, at least not until we have an OSD
	  indication for this

2005-01-26 Manuel Bilderbeek <manuel@msxnet.org>
	* Updated documentation. TODO: MacOS X and C-BIOS stuff

2005-01-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Machine code executes faster is loop is aligned (on 16 byte boundary
	  for athlon CPUs):
	   I measured 1.5% speedup because of this

2005-01-24 Manuel Bilderbeek <manuel@msxnet.org>
	* Made a separate extension for MegaRAM Disk
	* Updated ROM types to new names in romdb.xml; also commented out some
	  useless ROMs, because they only occur inside machines or extensions

2005-01-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed Clock<> constructor:
	    rounding is not needed(?) it's even wrong
	* Fixed tab-complettion for consolebackground

2005-01-22 Eric Boon <e.boon4@chello.nl>
	* First steps towards V9990 P2 mode
	* Some P1 fixes

2005-01-21 Eric Boon <e.boon4@chello.nl>
	* First steps towards V9990 P1 mode

2005-01-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed some valgrind stuff (UMR, FMR)

2005-01-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented V9990 IRQ stuff:
	   not completely correct yet, but good enough to make the xor-demo
	   work

2005-01-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Removed more #include dependencies
	* Fixed compilation errors on icc
	* Added missing #ifdef ASM_X86:
	   should fix compilation on non-x86 machines

2005-01-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Refactored XMLElement related classes:
	    preparartion to fix the 'order of construction of settings'
	    problem (e.g. inputdelay)
	* Reenabled "inputdelay" setting
	* Implemented "load_settings" command:
	    only the settings / keybindings / keyjoystick that are mentioned
	    in the new settings file are changed, the rest stays unchanged
	* Implemented "escape_grab" command

2005-01-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Various small cleanups:
	   mostly use auto_ptr to break #include dependencies (for non time
	   crititical classes)
	* Also grab input when "grabinput" settings was already "true" when
	  openmsx is started

2005-01-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Lookup original filename inside zip/gz for filetype detection:
	   this fixes [ 1072797 ] Detect extensions if i use a zipped file too
	* Implemented rotational delay for WD2793:
	   fixes [ 905031 ] Graphic problem in Peach up

2005-01-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed gfx9000 border color

2005-01-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Z80 speedup:
	   union optimization is actually a pessimization on modern CPUs (and
	   an optimizing compiler)
	* Fixed [ 823686 ] console is included in frameskip and speed setting:
	   also fading of console and LEDs was wrong

2005-01-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Changed command line parsing of IPS files and rom type:
	  - There are two new options "-ips" and "-romtype" these must
	    immediatly follow a ROM option. Examples:
	      openmsx -carta USAS.ROM -ips USAS.IPS -romtype konami
	      openmsx USAS.ROM -romtype konami -ips USAS.IPS
	      openmsx -cart USAS.ROM -romtype konami
	      openmsx USAS.ROM -ips USAS.IPS
	  - The old format <romfile>,<mappertype> is still supported but is
	    deprecated, it will be removed in future versions. The temporary
	    format <romfile>,<mappertype>,<ipsfile> is already removed. It
	    gives parsing problems in case of filenames that contain ','
	    itself.

2005-01-04 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed initialisation of clock in autofire circuit.

2005-01-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Split Display.xx files in Display.xx and Layer.xx
	* Moved fps code from (V99x8) Renderer to Display:
	   "openmsx_info fps" now also works for gfx9000
	* Icon fade parameters can now be configured per icon image:
	   for example it's now possible to never fade out an active FDD LED
	* Fixed crash when settings.xml had empty or invalid consolebackground
	* Added some LED images (drawn by David) and a script to load them

2005-01-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented deinterlace for V9990
	* Better frameskip implementation (skip more code)
	* Don't draw V99x8/V9990 when V9990/V99x8 is active
	* Made special videosource setting:
	   don't allow to select gfx9000 source without gfx9000 extension

2004-12-31 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed V9990 palette read-out
	* Completed V9990 YUVP and YJKP modes (palette part was missing)
	* Integrated blueMSX' HBI-55 improvements. Thanks Daniel!

2004-12-30 Eric Boon <e.boon4@chello.nl>
	* Fixed dOxygen warnings

2004-12-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed bug in V9990 cmds (address masking bug):
	   underwater demo works now!
	* Support V9990 screen enable/disable bit
	* Implemented cursor in V9990 Bx modes

2004-12-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Added v9990cmdtracing setting

2004-12-28 Eric Boon <e.boon4@chello.nl>
	* Improved V9990 simple scaler
		Fixes 'no V9990 updates' problem in M$ Windows

2004-12-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented V9990 LINE command:
	    MSX3D works now
	* Implemented V9990 CMMC command
	* Fixed V9990 cmd engine bug that could cause blue colors in 16bpp mode

2004-12-27 Eric Boon <e.boon4@chello.nl>
	* Introduced FinishFrameEvent for V9990

2004-12-27 Manuel Bilderbeek <manuel@msxnet.org>
	* Rom type naming clean up part 1. TODO: romdb.xml, class/file names

2004-12-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Implemented "openmsx_info romtype" command:
	   only the code, no actual descriptions yet
	* Split rom type names in standard names and alternative names:
	   preparation for rom type naming cleanup
	* support for write mask in V9990 commands:
	   gfx9000 parts in calculus work now!
	* Fixed "debug break" command

2004-12-26 Eric Boon <e.boon4@chello.nl>
	* Improved V9990 YUV and YJK modes:
		copied bitmap conversion from V99x8 code

2004-12-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Integrated Adriano's MegaRAM diskrom patch
	* Fixed bug in reading from compressed files:
	   zipped IPS files work now
	* Fixed (harmless) assert that got triggered on exit when IO ports
	  were shared
	* Changed invalidateCache() method:
	   - 2nd argument is now size in bytes iso in number of cachelines
	     this loosens the dependency on the CPU class

2004-12-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Fixed crash on missing LED icon files

2004-12-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* More V9990 stuff
	   - implemented interlace modes  (no de-interlacing yet)
	       V9BMP shoud now work completely
	   - made palette debuggable
	   - read palette registers hack to make calculus work
	   - stubbed unimplemented cmds
	   - implemented PSET cmd  shifter:
	      shifter part in calculus now shows something, colors are still
	      wrong because of missing WriteMask(?) in commands
	   - implemented CMMM cmd (but not verified that it actually works)
	   - added BMXL and BMLX cmds (still have bugs though)
	   - implemented horizontal scrolling, not per-pixel and no rolling
	     yet, but enough for page-flips

2004-12-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Tried to make the gfx900 parts in calculus work (not yet succeeded)
	   - implemented LMMM command
	   - added very basic HR, VR status bit support
	   - bugfix in LMMC command

2004-12-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* simple (slow) implementation of V9990 LMMV command

2004-12-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* a few V9990 fixes:
	   - unimplemented cmds should still finish
	   - implemented CE and TR status bits
	   - YUV, YJK conversion formula's were wrong
	        U and V are 6 bit signed and resulting R G B values must be
	        clipped to 0 .. 31
	     autumn.g9b (YUV image) still looks wrong though

2004-12-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Cleanup/optimize V9990BitmapConvertor
	* Store V9990 palette as GRB iso RGB:
	   - format in V9990 video RAM is also GRB, emulation is faster
	     if both use the same format

2004-12-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
	* Turn off all LEDs when MSX is powered down

2004-12-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Large cleanup:
	   - prefer not to use the 'using' statement in header files,
	     in implementation files it is ok
	   - removed unnecessary #include statements
	* Use FilenameSetting iso StringSetting for all filenames:
	    previously it was only possible for already existing files
	* Fixed UMR in WD2793 formatting routine

2004-12-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed TurboR DRAM support, TRCAS works now

2004-12-12 Manuel Bilderbeek <manuel@msxnet.org>
	* Removed the annoying [alpha] notice. It's clear enough we're alpha...
	  :)

2004-12-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* x/y-coord and on/off-image of the LED icons can be configured
	* icon fade delay and duration can be configured

2004-12-09 David Heremans <david.heremans@gnu-linux.net>
	* replaced the ips-patch separator. It is now also the ','-sign
	  and updated the documentation

2004-12-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Refactored setting code:
	   - redesigned class structure: settings no longer need to be
	     non-inheritable

2004-12-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed (+ cleanup) IPS patch code

2004-12-04 Herman Oudejans <hn.oudejans@quicknet.nl>
	* Made a quickfix for romloading in windows. Using another character
	  for ips-patch separator would be highly recommended. ':' is used
	  between drive and path in Windows.

2004-12-03 David Heremans <david.heremans@gnu-linux.net>
	* Added more code for IPS patcher, but it is not yet functional.

2004-12-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Added fading to console

2004-12-01 David Heremans <david.heremans@gnu-linux.net>
	* Preparations for integrated IPS patcher
	* Replaced the test OSD leds with something more fancy that shows the
	  alpha channel of the png better

2004-12-01 Maarten ter Huurne <maarten@treewalker.org>
	* Moved coverage and z-index from LayerInfo into Layer.
	  This also fixes an undefined memory read when Display is destructed.

2004-11-29 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed base port of debug device.

2004-11-29 Eric Boon <e.boon4@chello.nl>
	* Fixed broken build for non-GL systems
	* Improved V9990 Command engine a bit

2004-11-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Major CPU cleanup:
	   replaced macro hack with c++ templates
	* Reduced size of internal mixer buffer:
	   - should reduce sound latency a bit
	   - sound quality seems not affected, but it needs a lot more
	     testing. So please test!!!

2004-11-27 Manuel Bilderbeek <manuel@msxnet.org>
	* Implemented a fallback for the detectGeometry function in Disk for
	  sectorbased disk images. Fixes booting of SVI-738 CP/M disk, which
	  doesn't have a valid MSX bootsector :)

2004-11-26 Eric Boon <e.boon4@chello.nl>
	* Add V9990 Command Engine
	* Implemented LMMC

2004-11-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Merge romdb.xml in user and system dir

2004-11-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Changed buffer managment in sound code:
	   - Mixer now allocates/deallocates buffers iso the sounddevice
	   - preparation for run-time changeable frequency/samples settings
	* Changes to 'frequency' and 'samples' settings takes immediate effect,
	  no longer needed to restart openMSX
	* Value of 'samples' setting must always be a power of 2

2004-11-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Only send events on actual changes:
	* Use different image for led on/off, fade out the image if it doesn't
	  change for some time

2004-11-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Experimental: alternative Mixer implementation
	   - generate audio in main emulation thread
	   - CPU-timed samples sound much better now (turbor PCM,
	     PSG samples, ..)

2004-11-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Initial version of OSD LEDs:
	   very minimal version, it uses
	       <openmsx-dir>/share/skins/led.png
	   for all LEDs. Icons are still shown at fixed positions

2004-11-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* cleanup dasm code:
	* fixed 'cmdtiming setting'
	* use events for LEDs:
	   preparation for OSD leds

2004-11-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Improved WD2793 timing:
	   added 15us delay between data read/write in sector read/write cmds

2004-11-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Enabled "cputrace" setting also in non-debug versions:
	   - There should now be very little overhead when tracing is not
	     enabled. Before it was 1 if per Z80 instruction.

2004-11-08 Joost Damad <joost@lumatec.be>
	* updated debian/rules: fixes by Goedson Teixeira Paixao

2004-11-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* a few small improvements
	* clear ram on power off/on

2004-11-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Moved speed and throttle setting to GlobalSettings:
	   as cleanup and as preparation for Mixer changes
	* Changed float to double everywhere:
	   On modern CPUs doubles and float are equally fast. However mixing
	   floats and doubles in the same expression is slower because of the
	   extra conversions. In some places we need the extra precision, so
	   using double everywhere is the easiest (and faster).
	   If you have large datasets floats can be faster than doubles. Not
	   because of faster calculation, but because of less memory transfers
	   (float 4 bytes / double 8 bytes). For openMSX this doesn't matter.

2004-11-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Removed Disk and Tape BIOS patches
	* Fixed cassetteplayer noise

2004-11-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* small VDP fix:
	   missing sync() on r#7 change in GRAPHIC7 mode with screen disabled

2004-10-31 Maarten ter Huurne <maarten@treewalker.org>
	* At end of HMMC and LMMC, TR should not be reset.
	* Reading and writing the COL register should reset TR.
	* VR status flag flips at start of left border.

2004-10-26 Eric Boon <e.boon4@chello.nl>
	* Improved V9990 displaying:
		- proper PAL & NTSC imaging in Bx modes

2004-10-25 Maarten ter Huurne <maarten@treewalker.org>
	* Non-maskable interrupt (NMI) implementation:
	  - was half implemented already; now it's fully implemented
	  - moved edge detection from old nmiEdge() to new raiseNMI():
	    an NMI request could get lost if the NMI line was raised and
	    lowered within 1 CPU instruction (a mostly theoretical case)
	  - IRQHelper can raise either IRQ (maskable) or NMI
	  - this is preparation for ColecoVision support
	* Moved MC6850 from "sound" directory to "serial" directory.

2004-10-23 Maarten ter Huurne <maarten@treewalker.org>
	* Removed slow_drain_on_reset RAM configuration parameter.
	  All our current configurations had it set to "false".
	  And we don't really know how the drain works nor what should be
	  considered "slow".
	* Removed <slow_drain_on_reset> from the configuration XML files.

2004-10-22 Maarten ter Huurne <maarten@treewalker.org>
	* Added build support for NetBSD.
	  Based on a patch submitted by xtraeme, see bug 1052115.

2004-10-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Reused MMX optimized routines in Deinterlacer

2004-10-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed SETetisDongle: unused bits should be 1 iso 0
	* reenabled "I/O ports" debuggable, but renamed to "ioports"
	* added MSXDevice::peekIO() method:
	   - Reading from ioports debuggable no longer influences emulation
	     state
	   - Not yet implemented for all devices (not for V99x8, V9990 and
	     MSXAudio). For these devices peekIO() returns 0xFF

2004-10-19 Joost Damad <joost@lumatec.be>
	* sync with debian/
	* updated manpage and control file
	* support for cleaning up CVS/ dirs for "install" and "dist"; still
	  commented out

2004-10-18 Eric Boon <e.boon4@chello.nl>
	* GFX900 emulation
		- Bx modes & belonging palettes
		- start of SDL Rasterizer, dummy GL rasterizer

2004-10-18 Maarten ter Huurne <maarten@treewalker.org>
	* Released openmsx-0.5.0.

2004-10-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* forgot some "up"->"release" renames
	* Added MMX optimizations in Scale2x scaler

2004-10-17 Maarten ter Huurne <maarten@treewalker.org>
	* Separated frameStart and frameEnd for SpriteChecker.
	  Fixes asserts when using "none" renderer.

2004-10-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Improved TC8566AF timing:
	   - based on code from BlueMSX written by Daniel Vik
	   - fixes corrupt gfx in "Swiss Demo" and "Gazzel"
	* For the renderer setting, take the value found in settings file (if
	  any) as default value:
	   - this fixes the "Catapult always uses SDLHi" problem
	* Also recognize zip files with extension ".ZIP" (uppercase)
	* Fixed reading 1st FAT sector in detectGeometry() routine
	* Fixes in Command Line Parser:
	   - stuff like
	        openmsx -h -machine turbor     and
	        openmsx -v -ext scc
	     works now
	   - code is not very clear, should be rewritten after release
	* Created V9990DummyRasterizer:
	   - fixes crash when renderer "none" was selected when gfx9000
	     extension was plugged in
	* Added scripts/cycle.tcl
	* Added workaround for "renderer none bug":
	   need to investigate this after further the release
	* Renamed "up" and "down" key modifiers to "release" and "press":
	   names conflicted with the "up" and "down" cursor keys

2004-10-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed coredump on missing arguments on the command line:
	   e.g. "openmsx -diska"

2004-10-14 Maarten ter Huurne <maarten@treewalker.org>
	* Added default key binding: ALT-Enter for full screen.
	  Windows users are familiar with this hotkey.
	* Fixed bug: search for TCL again on every "make probe".

2004-10-13 Maarten ter Huurne <maarten@treewalker.org>
	* Disabled "I/O ports" debuggable:
	  - it reads I/O ports with side effects, which can trigger assertions
	  - the name "I/O ports" is not suitable as a file name for "save_all"
	  We can re-enable and then fix it after the release.

2004-10-13 Joost Damad <joost@lumatec.be>
	* import of debian/
	* some non-intrusive changes to the build/ dir
	* Contrib moved when installed to share/
	* bad timing of changes :(
	* not softlink, but symbolic link

2004-10-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Correctly restore saved cpu freq settings:
	   - When z80_freq_locked was saved as 'false', you had to do
	     set z80_freq_locked true ; set z80_freq_locked false to
	     really get the wanted behaviour.
	   - Thanks to patatof for reporting this bug.

2004-10-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* fixed scc and Panasonic_FS-CA1 extensions:
	    mappertype tag was moved
	* DirAsDsk fix:
	   - check for null ptr from localtime()
	   - this fixes (not verified) a crash in win32 when DisAsDsk is used
	     with files with weird dates (1913-11-16 or 2023-08-07)

2004-10-10 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed assert in SimpleScaler when interlace is on and deinterlace
	  is off.

2004-10-10 Herman Oudejans <hn.oudejans@quicknet.nl>
	* Fixed getting user dir when "My Documents" is set to the
	  root of a drive in windows.

2004-10-09 Maarten ter Huurne <maarten@treewalker.org>
	* test release openmsx-0.5.0-test2 (Bussum 2004)

2004-10-08 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed crash if openMSX exits without starting emulation.
	* Ignore old-format settings.xml at startup instead of aborting.
	* Fixed help option if no settings.xml exists.

2004-10-07 Manuel Bilderbeek <manuel@msxnet.org>
	* Renamed save_settings_at_exit to save_settings_on_exit
	* Renamed FrontSwitch to FirmwareSwitch everywhere in the code

2004-10-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed crash on exit in FreeBSD:
	   - was order of destruction of global objects problem
	* Fixed Screenshot code in 16bpp:
	   conversion routine to 24bpp read 2 bytes outside the array.
	   Although it didn't actually use these bytes, it could trigger a
	   segfault. Fixed by using the SDL convserion routines (probably
	   faster as well).
	* Don't plug printer logger with an invalid log file

2004-10-06 Manuel Bilderbeek <manuel@msxnet.org>
	* Renamed frontswitch to firmwareswitch

2004-10-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Only allow existing machines to be selected with machine setting.
	* Fall back to "cbios-msx2" when the selected machine no longer
	  exists.
	* Removed warning for missing settings.xml

2004-10-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* saving_settings didn't work when file didn't exist yet
	* updated all machine configurations to new file format:
	   thanks to mth for writing the convertor script!
	* test release openmsx-0.5.0-test1
	* fixed sprite color bug:
	   in planar modes the sprite color table was not read correctly (bit
	   masking error)

2004-10-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Don't use exceptions to report unconnected drive in ready() method:
	   - this was quite heavily used in the MSX boot sequence, and caused
	     100% CPU usage for several seconds.
	* Increased speed of type command
	* Moved location of <mappertype> tag to a more logical position
	* <PanasonicRom> tag needs an id attribute to give a warning in case
	  the SHA1 doesn't match
	* default binding for pause key must be "toggle pause" iso just "pause"
	* renamed <MapperType> tag to <MapperReadBackBits>
	* Check the DOCTYPE SYSTEM part when reading in xml files

2004-10-03 Maarten ter Huurne <maarten@treewalker.org>
	* Updated configuration converter.

2004-10-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed simple
	* Don't autodetect mapper type for roms in machine configs
	* Oops, the guessLocation routine in RomPlain still used the old
	  config format:
	    this broke the firmware on some machine (e.g. Panasonic FS-A1F)

2004-10-03 David Heremans <david.heremans@gnu-linux.net>
	* Fixed Tetris 2 special edition dongle

2004-10-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Force PSG portA to be programmed as input port:
	   some programs (e.g. Match Maniac) wrongly program portA as output,
	   but on most(?) MSX machines this works normally (e.g NMS8250)
	* Fixed initial value of mode settings
	* correctly give "write protected" err msg on read only disk:
	   without the head loaded delay our WD2793 detected too fast that the
	   disk was write protected (too fast for the disk rom software)
	* assertion in Clock was a bit too strict:
	   very low clock frequencies (~1Hz) are not allowed (because we use a
	   32bit variable iso 64 bit for speed). But the assertion was already
	   triggered by frequencies around 100Hz. Renshaturbo circuit uses
	   such low frequencies.

2004-10-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Improved disk geometry detection heuristics
	* Fixed save_settings command:
	   - when settings were loaded from system wide settings.xml file, save
	     them to user settings.xml file
	   - when settings were loaded from a user specified settings file,
	     save them to that file
	* fixed quoting in tab-completion:
	    the chars [ ] $ must be quoted in TCL
	* use xmlFree() iso free() to release memory from libxml

2004-09-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Removed the MSXConfig::loadConfig method that was resposible for the
	  media settings bug. It's no longer used now.
	* Fixed type commando:
	   sometimes the first chr was missed
	* Fixed "-setting" command line option:
	   Settings were loaded wrong when the -setting option was given. Was
	   a problem in the order of creation of settings (no settings may be
	   created before the settings.xml is loaded). Current code is a bit
	   fragile in this respect. Refactor it after the release.

2004-09-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Removed settings.xml from CVS
	* media settings (diska, diskb, cassette) were wrongly saved:
	   - once a "save_settings" command was executed with a disk inserted
	     from the commandline this disk was always used, even if in the
	     next run a different disk was specified.
	   - should media settings be saved? Current (fixed) implementation
	     does not save them to not break catapult. But should they be
	     saved in the future?

2004-09-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Moved default keybindings from init.tcl to HotKey code
	* Updated commands.txt
	* Use built-in default values for KeyJoystick in case the config
	  section is missing in the settings file

2004-09-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Use #ifdef iso if around asm routines
	* Added normal-MMX (non-ext-MMX) routines for every ext-MMX routine
	* Made a setting for "user directories"
	* Simple scaler 16bpp scanline optimization:
	   - added ext-MMX routine, improves speed from 69s to 51s

2004-09-26 Arnold Metselaar <arnold_m@operamail.com>
	* Let Keyboard and KeyJoystick release all keys when the console
	  becomes active.

2004-09-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Don't print "couldn't find file" warnings on startup

2004-09-26 Maarten ter Huurne <maarten@treewalker.org>
	* At end of HMMC and LMMC, CE is reset immediately, but TR is reset
	  the next time S#2 is read.
	  Fixes Andorogynus.
	  Thanks to the anonymous poster on our forum who pinpointed the change
	  which made this bug surface first. Even though reverting that change
	  was not a solution, it did point to the HMMC command timing being the
	  problem.

2004-09-24 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed assert in Mixer on unmute if initial state was muted.
	* Load settings file specified with "-setting" from UserFileContext,
	  but load the files it refers to using SystemFileContext.
	  Fixes console look when openMSX is started with "-setting" option.

2004-09-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Take default settings value when saved value is no longer valid
	* Integrated blur scaler and simple scaler:

2004-09-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented TC8566AF format command:
	   based on code from BlueMSX written by Daniel Vik
	* Don't save soundchip mode setting:
	   it gave conflicts with the mode setting in hardwareconfig.xml

2004-09-23 Maarten ter Huurne <maarten@treewalker.org>
	* Initialise I register to 0, instead of 0xFF.
	  Fixes Pennant Race bug.
	  Thanks to Daniel Vik for finding the cause!

2004-09-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Added "save_settings_at_exit" setting

2004-09-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Initialize the msx sound devices even if there is no openMSX sound:
	  - solves UMR (and possibly crashes) in case openMSX is started with
	    "-nosound" or for some reason sound is not available

2004-09-19 Maarten ter Huurne <maarten@treewalker.org>
	* Cleanup of layer system, continued:
	  - put common code in new VideoLayer class
	  - implemented "videosystem" setting
	  - implemented SDLV9990Rasterizer, which shows a test pattern
	  If you start openMSX with "-ext gfx9000" and on the console type
	  "set videosystem gfx9000", you will see the test pattern (SDLHi/Lo).
	  There are some bugs left, but I had to commit to keep track of the
	  many changes. I'll try to fix the bugs as soon as I can.
	* Do not save "power" and "pause" settings.
	  Fixes starting from Catapult.
	* Withhold blocked events from other NATIVE listeners as well.
	  Fixes "set console off".
	* Delay reInit when power is turned off.
	  Fixes "set power off" in R800 mode.
	* Initialise lineContent in SDLRasterizer's constructor.
	  Fixes asserts when switching to SDLHi when paused.

2004-09-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Rewrote saving of settings code:
	   - All settings are now saved by default, only exception is
	     "console" setting. But there are probably more that don't need to
	     be saved.
	   - settings.xml fileformat has changed again. All settings are now
	     saved in a uniform way.
	   - Code is a lot simpler now
	* Default rom pools:
	   added
	     <user>/share/systemroms  and  <system>/share/systemroms
	   as default rom pool locations. The use can still add more pools.
	* Fixed crash on "save_settings" when there was no settings.xml file
	  loaded

2004-09-18 Maarten ter Huurne <maarten@treewalker.org>
	* Cleaned up layer system:
	  - "alpha" was not really alpha, renamed to "coverage"
	  - explicit Z value instead of toFront/toBack
	  - preparation for V9990 layer
	  The cleanup is not finished yet.

2004-09-18 Reikan <openMSX4Win32@ranpub.com>
	* Converted the macro __WIN32__ to _WIN32.
	  Please use _WIN32 instead of __WIN32__ now.
	  _WIN32 is more popular in Win32 compilers.
	  Although we require gcc3 for now, it would be safer in future.

2004-09-15 Maarten ter Huurne <maarten@treewalker.org>
	* Added new type of event listener (DETACHED).
	* Fixed timing bug in VDP command engine: replaced "clock.advance" by
	  "clock.reset" when starting a command. Start time of a new command is
	  not ahead of end time of last pixel of previous command if previous
	  command was not finished yet.
	  Fixes assert in The Ant demo (found by Jorito).

2004-09-15 David Heremans <david.heremans@gnu-linux.net>
	* Added the joystick protection of 'Tetris Special Edition II'

2004-09-14 Maarten ter Huurne <maarten@treewalker.org>
	* Cleaned up renderer switching in the new layered display system.

2004-09-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Don't assert when there are two Moonsounds (not really usefull, but
	  in a real MSX it's also possible to have multiple Moonsounds)
	* Changed settings format for volume/mute settings:
	    <volume id="Music Module>75</volume>
	  iso
	    <Music.20Module_volume>75</Music.20Module_volume>
	  The last one needed some ugly hacks (.20) to represent invalid tag
	  chrs. It was also not possible to write a DTD for it because the tag
	  names depend on user choosable id's.

2004-09-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Bindings are saved in settings.xml

2004-09-11 Maarten ter Huurne <maarten@treewalker.org>
	* Return "true" or "false" when printing value of boolean setting.
	  Before, it was "on" and "false" (found by Herman).

2004-09-11 Manuel Bilderbeek <manuel@msxnet.org>
	* Added iomap command to check what devices is on which I/O port

2004-09-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented RTC mode as a setting, is now saveable
	* "set <setting> <newvalue>" now returns the actual new value of the
	  setting  (e.g. "set gamma -1" returns 0.1 iso -1)

2004-09-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* default machine is now configurable via a setting. Of course this
	  only has effect when openMSX is restarted. Although in the future
	  we may switch machine between a power off/on cycle.

2004-09-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Z80 updates:
	   - fixed P-flag in OUTI and INI instructions
	   - calculate DAA table
	* Blur scaler:
	   - small optimization in normal-MMX code (non-extended-MMX)
	   - fixed bug when scanline=0 (recent optimization requires
	     scanlineAlpha <= 255, not <= 256)

2004-09-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Created "frequency" and "samples" setting:
	   Changing this setting only has effect the next time openMSX is
	   started (will be changed later, but it requires some refactoring in
	   the sounddevices).
	* Implemented "help set [<setting>]" command:
	   Since the switch to TCL it was no longer possible to query the
	   setting descriptions. Fixed now.

2004-09-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Blur scaler speed-up:
	   use ext-mmx instructions "pavgb", "pshufw", "pmulhuw"
	* Fixed bug in Z80 OTIR like instructions (bug found by mth):
	   fixes equalizer in FDD1

2004-09-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Converted more extensions to new config format
	* Allow saving of settings with 'non-xml-tag' characters

2004-09-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Allow machines (extensions) descriptions in both
	    <dir>/machine.xml
	    <dir>/machine/hardwareconfig.xml
	* Converted a few more extensions to new config format

2004-09-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* renames in settings.xml:
	    "renderer" section --> "video"
	    "mixer"    section --> "sound"
	* volume and mode (mono, stereo) settings are saved now

2004-09-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Refactored settings:
	   - creating saveable settings is easier now
	   - settings.xml format changed slightly: tag name is now the same as
	     the name of the setting. So if you're not using the default
	     settings.xml file you need to make at least changes
	       <font>        -->  <consolefont>
	       <background>  -->  <consolebackground>
	       <renderer>         <renderer>
	         <type>      -->    <renderer>

2004-08-31 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Renderer settings can be saved now

2004-08-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Simplified console code
	* All console settings are saved now

2004-08-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed Uncaught exception on "openmsx -v"

2004-08-28 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed bug when palette index 0 is written and transparency is enabled.
	  This bug was visible as gray rectangles in the Gazzel intro.

2004-08-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Added 16bpp MMX simple scaler routines
	* Proof-of-concept: saving of settings  (settings.xml)
	   - added a new command "save_settings". There is no autosave at exit
	     yet.
	   - for the moment only very few settings are actually saved. Only
	       consolecolums, consolerows, consoleplacement

2004-08-27 Manuel Bilderbeek <manuel@msxnet.org>
	* Added initial version of the openMSX FAQ: not finished at all,
	  please edit!

2004-08-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* BlurScaler 16bpp improvements:
	   - use look up table instead of (complex) computations. Is almost
	     twice as fast. Also used 10-bit precision iso 8-bit, so less
	     rounding errors.

2004-08-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Don't copy HostCPU
	* Improved MMX code. I measured between 1% and 2% speedup:
	   - a block of memory reads followed by a block of memory writes is
	     faster than interleaved read and writes. Probably because write
	     combining works better this way (larger bursts on the bus).
	     Loop unrolling made this grouping possible.
	   - Rearranging instructions (especially mul instrcutions) also gave
	     a nice speedup. This was also possible because of loop unrolling.

2004-08-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Changed blur scaler for 16bpp:
	   - do calculations in 24bpp mode to avoid visible rounding errors
	     (not tested)

2004-08-24 Maarten ter Huurne <maarten@treewalker.org>
	* Moved screenshot code from VDP to Display.
	* Added extended-MMX versions of non-scanline scaling in 256-wide modes
	  and both scanline and non-scanline scaling in 512-wide modes.
	  Still only 32bpp.
	* Sound device cleanups:
	  - Removed "user mute" which was unused.
	  - Renamed "internal mute" to just "mute".
	  - Mixer checks isMuted() instead of updateBuffer returning NULL.
	  - Make sure reset() is called before registerSound().
	    Right now this doesn't really matter, but it is needed once we allow
	    runtime insertion of extensions.
	* Refactored PSG:
	  - Code in C++ style and easier to read.
	  - Slight improvements in accuracy, probably inaudible though.
	  - Some optimisations, but not enough profiling done yet to see whether
	    they really matter.

2004-08-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* 'set consolebackground ""' now removes the background image
	* Don't use MSX pause LED for openMSX pause status, instead send a
	  (new) pause event.

2004-08-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed assertion on  "openmsx ok.dsk wrong.dsk"
	* Optimization: don't use TurboRCPUInterface on non-turboR machines

2004-08-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed XML configuration stuff for IDE

2004-08-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Added "-nosound" command line option:
	   - main raison to add it was faster profiling. Audio thread takes
	     50% of the time when running (far from realtime) under cachegrind,
	     even though the sound was muted in openMSX.
	* Initialize SDL AUDIO subsystem:
	   - AUDIO subsystem was never initialized. Apparently this isn't
	     needed for Linux / Windows. But some platforms probably do need
	     it.
	* Fixed "after time" and "after idle" console commands
	* CPU cleanup: removed historical cruft
	* Merged CPUInterface and MSXCPUInterface classes:
	   - get rid of virtual method calls, and (possibly) inline them
	   - code was written like this to be able to use the same CPU code
	     also for the CPU in the MidiSaurus cartridge. If we still want
	     to implement this, we should templatize the CPU class with on
	     the CPUInterface instead.

2004-08-17 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Made tiny optimization in DynamicClock, however this gave a speedup
	  of about 1.5% because this class is _heavily_ used in the CPU code:
	* Increased minimum CPU clock freq to 1MHz:
	   - the new DynamicClock implementation can't handle very slow clock
	     rates (slow meaning ~1Hz). But even before this change a clock of
	     100kHz didn't work correctly, I'm not sure why.

2004-08-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Added MMX optimizations for blur scaler

2004-08-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Added new 'blur' scaler:
	   - this scaler implements the same blur effects as the SDLGL
	     renderer already does (but then in software)
	   - only tested with 32bpp, can someone please test 16bpp?
	   - can still be heavily optimized using MMX assembly

2004-08-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Extended Scale2x scaler for hi-res modes (screen 6 and 7)

2004-08-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Extended hq2x scaler for hi-res modes (screen 6 and 7)

2004-08-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Removed CoRoutine stuff from CVS, it's no longer used

2004-08-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Allow multiple times the same extension (make id's unique)
	* ROM title (from romdb) is again visible in slotmap

2004-08-06 Maarten ter Huurne <maarten@treewalker.org>
	* Avoid syncs when VDP state changes when display is blanked and
	  the border colour is not influenced by the state change.
	  This allows the scaler to draw border lines more efficiently.
	* New feature in build system: version executables.
	  See VERSION_EXEC in build/custom.mk (off by default).

2004-08-03 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed ROMBAS mapper for 8K ROMs.
	  Eat Blue! now works if you load it with "eatblue.rom,rombas".
	* Improved ROMBAS detection.
	  Eat Blue! now works without forced mapper type as well.

2004-08-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed some bugs I introduced yesterday
	* Another bug fix: HALT instruction was broken

2004-08-01 Maarten ter Huurne <maarten@treewalker.org>
	* Initial build system support for x86_64.
	  No optimised compile flags yet.
	  MMX code is disabled on x86_64 for now.

2004-08-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Removed CoRoutines again. Instead reversed the calling-sequence
	  between MSXCPU and Scheduler:
	   Previously the Scheduler scheduled both CPU and other stuff.
	   Because of this the CPU needed to be able to pass control back to
	   the Scheduler in the middle of a Z80 instruction. In the past we
	   solved this by either:
	     - Splitting all Z80 instructions in atomic parts and made the
	       code resumable at a sub-instruction level
	         --> very complex CPU code
	     - call the scheduler (recursivly) from within the CPU code
	         --> too complex CPU <-> Scheduler interaction, we had too
	             many bugs related to this
	     - Use CoRoutines to pause/resume the CPU code
	         --> was only an experiment, stopped the experiment very early
	             because I think the current solution is much simpler
	   In the current solution we call the Scheduler from within the CPU
	   (iso the other way around). Pausing/resume CPU code is now done by a
	   simple function call.
	   New code still needs cleanups, but I wanted to check it in early
	   beacuse the CoRoutine stuff didn't compile yet on win32 (although
	   it was easy to fix).
	* Use "string::size_type" iso "unsigned" in STL string manipulations:
	   on x86_64 sizeof(string::size_type) is 8 while sizeof(unsigned) is
	   only 4

2004-07-30 Maarten ter Huurne <maarten@treewalker.org>
	* Added CPU detection.
	  Read the Doxygen comments of HostCPU for details.
	  For now, debug prints are enabled, please check if dected capabilities
	  match what you would expect for your CPU.
	* Added extended-MMX version of SimpleScaler (only 256-wide 32bpp).
	  On my machine, it can scale 50% more pixels per second.
	* Added extended-MMX version of Scaler::scaleBlank.
	* Added extended-MMX version of SimpleScaler::scaleBlank.
	* Got rid of named operants: they're not widely supported. GCC 3.0 can't
	  handle them according to the docs. GCC 3.2 can handle them according
	  to the docs, but crashes (on mingw32). ICC cannot handle them.
	* Made pixel accuracy default.
	  We usually have the most realistic option as default. In the past,
	  pixel accuracy was too slow in many cases, especially when VRAM I/O
	  was causing a lot of syncs. Those were eliminated a while ago for the
	  most commonly used display modes.
	  If you encounter a program running significantly slower in pixel
	  accuracy than in line accuracy, please report it as a bug.

2004-07-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Experimental:
	   use CoRoutine to simplfy and later optimize CPU / Scheduler
	   interaction. Current patch is very minimal: it just adds CoRoutine
	   without any optimizations or cleanups.

2004-07-25 Maarten ter Huurne <maarten@treewalker.org>
	* Removed support for 8bpp. It never worked anyway.

2004-07-24 Maarten ter Huurne <maarten@treewalker.org>
	* Split SDLRasterizer off from SDLRenderer:
	  - SDLRenderer deals with EmuTime, is colour depth and zoom independent
	  - SDLRasterizer deals with pixels, does not know EmuTime
	* Split GLRasterizer off from SDLGLRenderer.
	* Merged remainders of SDLRenderer and SDLGLRenderer into PixelRenderer.

2004-07-23 Maarten ter Huurne <maarten@treewalker.org>
	* Removed all SDL specific code from SDLGLRenderer.
	  Maybe I'll rename it to GLRenderer in the future.
	  Preparation for GLX renderer.
	* Init and shutdown in VideoSystem subclass, instead of init in
	  RendererFactory subclass and shutdown in Renderer subclass.
	  Applied to SDLGL, other systems to follow.
	* Applied to SDLHi/Lo and Dummy as well.

2004-07-22 Maarten ter Huurne <maarten@treewalker.org>
	* Changed scanline drawing from a post-processing operation to
	  an integrated part of the "simple" scaler.
	  As a result, drawing with scanlines is now equally fast as drawing
	  without scanlines. Probably this means small computations can be done
	  in cycles that would otherwise be wasted waiting for memory access.

2004-07-21 Maarten ter Huurne <maarten@treewalker.org>
	* Introduced display which manages multiple layers.
	  Currently, the following layers exist:
	  - background (TV snow)
	  - renderer
	  - console
	  In the future, a second renderer will be added (for GFX9000).
	  Also, OSD features are possible (such as status icons).
	  The code has some rough edges, but it works.
	* Along the way, fixed console cursor blinking during pause.

2004-07-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* a few small fixes

2004-07-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* merged MSXDevice, MSXIODevice and MSXMemDevice in one class
	  MSXDevice:
	   - virtual inheritance can be removed because of this

2004-07-18 Arnold Metselaar <arnold_m@operamail.com>
	* added Unicode.{cc,hh} with minimalistic conversion of UTF-8
	  to 8-bit Ascii
	* Keyboard.cc: Fixes to make the type command work properly
	  - utf-8 -> ascii conversion in  Keyboard::KeyKeyInserter::type(),
	  - fixed bug in Keyboard::pressAscii() (index to asciiTab), and
	  - corrected asciiTab[]

2004-07-15 Manuel Bilderbeek <manuel@msxnet.org>
	* Added <info> tag with some child tags to XML.
	  - should be added to other hardwareconfig files later as well (is
	    mandatory)
	  - optional for extensions?
	  - there's no class associated with it now; it's only used to put
	    info in the window border for now
	  - child tags "manufacturer", "code" and "type" are now mandatory

2004-07-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed MoonSound bug:
	   When DL=0 go immediately to sustain phase.
	   Fixes 'timpani' instrument for example.

2004-07-13 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed nullpointer dereference when ABORT command is executed
	  in "cmdtiming broken" mode.

2004-07-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Simplified SHA1 interface + cleanups

2004-07-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Preparartion for insert remove at run time:
	   unregister memory / IO ports

2004-07-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Config file change: FDC type is no longer a sub type
	* Fixed RenShaTurbo
	* Config file change:
	    grouped <volume> and <mode> tags in a new <sound> tag

2004-07-10 Maarten ter Huurne <maarten@treewalker.org>
	* Separated CPU and OS in build system.

2004-07-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed loading of extensions
	* Fixed some bugs in slot structure config loading
	* It's now possible to insert a slotexpander extension

2004-07-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed exception-safety problem in CassettePort constructor

2004-07-04 Manuel Bilderbeek <manuel@msxnet.org>
	* Added simple DC filter for Wave cassette images (subtract average)
	  .wav files from MicroWAVer should work now. Please test this some
	  more with other .wav images (e.g. from real cassettes)

2004-07-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Another config file format change:
	   - use 'primary' and 'secondary' tags to specify slot structure
	   - this proposal is still being discussed (especially for
	     extensions), so this may change again

2004-06-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed assertion in ClockPin

2004-06-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Get rid of ordering requirement in turbor hardwareconfig.xml

2004-06-26 Maarten ter Huurne <maarten@treewalker.org>
	* Replaced EmuTimeFreq by Clock and DynamicEmuTime by DynamicClock:
	  - Fixes accuracy bug where fractions of ticks were discarded,
	    causing problems with high-frequency reads of low-frequency timers.
	    Thanks to Daniel Vik for reporting this.
	  - Reduced the number of operations, especially operators.
	  - Added Doxygen comments for the changed classes.
	* Improved MoonSound BUSY flag timing (not completely correct yet).

2004-06-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* hardwareconfig.xml format change:
	    replaced   <device><type>foo</type>..</device>
	               <device><type>bar</type>..</device>
	    with       <devices> <foo>..</foo> <bar>..</bar> </devices>

2004-06-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* FDC config format changed:
	    indicate number of connected disk drives iso drivenames

2004-06-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* hardwareconfig.xml configuration file changes:
	   - replaced  <config if="foo">..</config>
	     with      <foo>..</foo>

2004-06-21 Manuel Bilderbeek <manuel@msxnet.org>
	* Fixed mix level (volume) bug in Moonsound, thanks to Albert and
	  Wouter

2004-06-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* bug fix: first destroy renderer before creating a new one, bug was
	   introduced when using auto_ptr
	* bug fix: YMF278 is a stereo device

2004-06-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed ROM loading bug when no SHA1 match was found and no filename
	  was specified
	* A bit more robust config file parsing
	* Config file format change:
	   - put roms in new hierarchical <rom> tag
	* settings.xml configuration file changes:
	   - replaced  <config id="foo">..</config>
	     with      <foo>..</foo>

2004-06-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Compiled with -Wall -W and fixed all warnings

2004-06-18 Manuel Bilderbeek <manuel@msxnet.org>
	* Fixed Floating Point Exception in Y8950Adpcm, which was triggered
	  by 4Trax Songbook #1. Thanks to Eric for finding it and Wouter for
	  providing the fix :)

2004-06-17 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Large configuration file code refactoring:
	   - get rid of Config class, use directly XMLElement
	   - no changes in config files
	* Use auto_ptr to manage ownership:
	   - ownership is better documented
	   - safer in case of exceptions

2004-06-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Config file releated cleanups (no changes in config files)

2004-06-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Added Date class to convert dates to and from string:
	   there are library fucntions that do the same (strftime, strptime)
	   but strptime is not available on win32
	* RomPool cleanups / fixes / enhancements:
	   it's now possible to list multiple pools in the settings file

2004-06-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented RomPool:
	    still needs heavy testing and cleanups

2004-06-07 Manuel Bilderbeek <manuel@msxnet.org>
	* Rerenamed "MSX-AUDIO MIDI" to "Music Module MIDI"

2004-06-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* removed IO port registration for Mixrosol FDCs from the code,
	  instead it must be specified in the config file (TODO)
	* Explicitly indicate ownership transfer in Device factories

2004-06-06 Manuel Bilderbeek <manuel@msxnet.org>
	* Moved mode setting of the RTC to settings.xml
	  (converter still needs to be updated)

2004-06-03 Manuel Bilderbeek <manuel@msxnet.org>
	* More config file renames:
	  - Audio -> MSX-AUDIO
	  - Audio-Midi -> MSX-AUDIO MIDI
	  - Music -> MSX-MUSIC
	  - MSX-Midi -> MSX-MIDI
	  - SCCPlusCart -> SCC+
	  The converter has been adjusted as well.
	* Fixed a forgotten rename of Rom to ROM in the MSXRomCLI.
	* Added specific extensions for the Konami Sound Cartridges
	  (Snatcher and SD-Snatcher)

2004-06-04 David Heremans <david.heremans@gnu-linux.net>
	* Fixed the problem with filesize zero in the DirAsDisk feature

2004-06-03 Maarten ter Huurne <maarten@treewalker.org>
	* Simplified code which stores and draws previous frame in SDLGL.

2004-06-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed creation of internal datastructures to match the new XML format
	* Removed deprecated device PanasonicRom

2004-06-03 Manuel Bilderbeek <manuel@msxnet.org>
	* More config file changes:
	  - renamed old parameter brokenFDCread to broken_fdc_read (needs
	    update of the converter, please fix this for me)
	  - renamed Rom to ROM, PanasonicRom to PanasonicROM and PanasonicRam
	    to PanasonicRAM and updated the converter for these changes

2004-06-01 Maarten ter Huurne <maarten@treewalker.org>
	* Wrote a converter script that updates old configurations to the new
	  format: share/scripts/convert_hardwareconfig.py

2004-06-01 Manuel Bilderbeek <manuel@msxnet.org>
	* Corrected ASCII table for 'type' command for international layout
	  Thanks to Albert Beevendorp for doing the hard work!
	* More config file changes: changed device name of FM-PAC to FMPAC

2004-06-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* More config file changes:
	   - removed <parameter class=".."> constructs
	   - removed support for <parameter name="foo">, config files are
	     incompatible anyway
	* Fixed assertion on "type {}"

2004-05-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Better names for ROM debuggables. Still include the (unique) device
	  id to avoid assertion when the same ROM is inserted twice.
	* Added optional "sha1" parameter to rom devices. For the moment only
	  used to print a warning when given sha1sum doesn't match with real
	  sha1sum.
	* First step to new xml format:
	     <parameter name="foo">bar</parameter>
	  can now be written as
	     <foo>bar</foo>
	  the first format is still supported, but will be removed soon. In
	  the FDC device the parameter "type" is renamed to "fdc_type" becuase
	  of a name conflict with the device type.
	* Removed support for autocommands, they were deprecated in 0.3.4
	* Added Vincent van Dam to AUTHORS:
	   cas to wav conversion code is based on his cas2wav too
	* Moved IO port registration from DeviceFactor to hardwareconfig.xml:
	   This is an incompatible xml format change! I only updated
	   Philips_NMS_8250 and Panasonic_FS-A1GT. I hope someone else will
	   update the other machines and extensions.
	* Also got rid of <parameter name=".."> ... </parameter> constructs in
	  settings.xml
	* Removed duplicate code for case insensitive string comparisons

2004-05-30 Manuel Bilderbeek <manuel@msxnet.org>
	* Added channel mode 'off' to mute individual sound devices

2004-05-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* In one executable only one interpreter is used (TCL or other),
	  no need to have a virtual base class.

2004-05-29 Manuel Bilderbeek <manuel@msxnet.org>
	* Cleaned up names of the debuggables

2004-05-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Made all (S)RAM debuggable, created a base class for RAM
	* use auto_ptr to indicate ownership transfers
	* use stl bitset instead of an array of booleans
	* don't use exception specifications, they do more harm than good
	* don't use global objects, they are constructed before main() and
	  thus we can't catch execptions yet
	* Command speed up (mainly for TCL scripts):
	    Take CommandArguments objects as parameters instead of strings.
	    This avoids  int -> string -> int  like conversions. This
	    optimization was already done for the command result, now also
	    for the command arguments.

2004-05-28 Maarten ter Huurne <maarten@treewalker.org>
	* Released openmsx-0.4.0.

2004-05-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Renamed "keylayoutbit" setting in PSG to "keyboardlayout". Also
	  instead of the values true/false it now takes "JIS"/"ANSI"

2004-05-23 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed glitches in SDLHi when deinterlacing.
	* Fixed pause in SDLGL in monochrome character modes (SCREEN0.40/0.80/1).
	* Added several missing documentation files to "make install".
	* Some other build system improvements.

2004-05-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* RS232 interface in Sony_HB-G900P has 2kb RAM

2004-05-20 Manuel Bilderbeek <manuel@msxnet.org>
	* Added about 14 new machines

2004-05-17 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Print an error for duplicate drive names (iso assert)

2004-05-15 Manuel Bilderbeek <manuel@msxnet.org>
	* Implemented scrolling in console by a whole page, using
	  SHIFT+PAGEUP and SHIFT+PAGEDOWN

2004-05-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* really fixed TCL_STDOUT redirection
	* fixed passing of binary data in console command:
	   was needed for "debug write_block" command
	* updated "save_debuggable.tcl" script with "load_debuggable"
	  and "load_all" commands:
	   This is no savestate script! Most of the times it won't work!

2004-05-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed redirecting the TCL_STDOUT channel:
	   this fixes Adriano's bug (saving to file in from TCL script)

2004-05-09 Manuel Bilderbeek <manuel@msxnet.org>
	* Fixed double SRAM names for Matsushita devices

2004-05-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* If init.tcl file in system dir is missing try init.tcl in user dir:
	   The default init.tcl in the system dir still source's the user
	   init.tcl file.

2004-05-05 Maarten ter Huurne <maarten@treewalker.org>
	* Various small improvements to build system, including:
	  - install dir is easier to customise (build/custom.mk)
	  - fixes for compiling on Mac OS X (thanks to Jalu for testing)

2004-05-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* More V9990 work

2004-05-02 Maarten ter Huurne <maarten@treewalker.org>
	* Different final probe message depending on probe results.
	* Refuse to build if dependencies for core component are not met.
	* Support for components: a single label (like COMPONENT_GL) controls
	  whether a component is built or not.
	  (in preparation for forced disabling of components)

2004-05-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented a faster DC removal filter, thanks to dvik
	* Implemeted V9990 palette reading/writing
	* Unified Ascii8-8, Koei-8, Koei-32 and Wizardry mapper types,
	  also fixed some mapping details

2004-05-01 Herman Oudejans <hn.oudejans@quicknet.nl>
	* fixed [926293] Win32: specifying driveletter without path
	   doesn't work.

2004-04-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Use 64-bit type to store realtime:
	   32-bit microsecond counter overflows after about 70 minutes.
	   We also saw openmsx crashes after 70 minutes...

2004-04-30 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed sprites in overscan.
	* Corrected clipping for scalers.
	  And managed to slip in some optimisation as well.

2004-04-29 Maarten ter Huurne <maarten@treewalker.org>
	* Optimized top and bottom border drawing in SDLHi.

2004-04-28 Maarten ter Huurne <maarten@treewalker.org>
	* Integrated probe fixes from Reikan.
	  Probe should work on FreeBSD and Win32 now.

2004-04-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented VRAM reading/writing for V9990

2004-04-28 Herman Oudejans <hn.oudejans@quicknet.nl>
	* Implemented 32x32 icon. In win32 the icon MUST be 32x32 and Linux
	   doesn't care about size, so 32x32 for all OS'es (thx to Reikan).

2004-04-27 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed per-line administration of scale factor.
	  In Psycho World intro, bottom text was scaled x2 instead of x1
	  when openMSX was paused. ANMA's Relax had a similar problem.

2004-04-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed Koei mapper: sram is not visible in 0x6000-0x7FFF
	* Fixed RealTime: still sync music for high frameskips, but properly
	    handle syncpoints
	* Fixed SRAM saving: filename had a double extension (file.SRAM.SRAM)

2004-04-26 Eric Boon <e.boon4@chello.nl>
	* Add Debuggables to V9990

2004-04-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented Koei-8 and Koei-32 mapper types:
	   based on BlueMSX v1.4.0
	* "openmsx_info fps" now return 0 in when "renderer none" is active
	* Fixed bug in min/max frameskip handling (happened for example when
	  minframeskip == maxframeskip)
	* Fixed serious performance bug:
	   Sometimes a RealTime syncpoint was not removed from the scheduler
	   queue. So it got fuller and fuller and openmsx became slower and
	   slower.

2004-04-25 Eric Boon <e.boon4@chello.nl>
	* Introduction of Gfx9000/V9990

2004-04-25 Manuel Bilderbeek <manuel@msxnet.org>
	* Fixed Philips NMS 1205 extension (MSX Audio MIDI was missing)
	* Updated manual for upcoming release (please check!)

2004-04-24 Maarten ter Huurne <maarten@treewalker.org>
	* Build uses same compile and link flags as probe.
	* Integrated part of the mingw32 probe fixes from Reikan.
	* Implemented probe overrides for FreeBSD (untested).

2004-04-22 Maarten ter Huurne <maarten@treewalker.org>
	* Enhanced system probe: now it also scans for mandatory headers
	  and libs. It performs all checks and then reports what it found
	  and what is missing.

2004-04-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed [ 933628 ] assertion with accuracy=screen in "puyo puyo"
	* Fixed OR-ing of unaligned sprites

2004-04-20 Herman Oudejans <hn.oudejans@quicknet.nl>
	* Suppressed warning in windows (warning: couldn't find file: "").
	* Fixed 'no window when return from full screen' in SDLHi/Lo
	   (windows NT4 only).

2004-04-19 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed small bug: I forgot to replace "#ifndef X_DISPLAY_MISSING" by
	  "#ifdef HAVE_X11" in RendererFactory class.

2004-04-19 Herman Oudejans <hn.oudejans@quicknet.nl>
	* Fixed 'no window when return from full screen' in SDLGL (windows only).

2004-04-18 Maarten ter Huurne <maarten@treewalker.org>
	* Dropped autoconf completely.
	  This also means autogen.sh is no longer necessary.
	  Thanks to Herman and Manuel for testing parts of the new system.
	  The new probing system only looks for optional parts, not for mandatory
	  ones (such as SDL). Also, there is no option to disable optional parts
	  yet. Possibly some bugs have slipped the testing, please alert me
	  if you find any.

2004-04-15 Maarten ter Huurne <maarten@treewalker.org>
	* Build system discovers TCL compile and link flags
	  using "tcl-search.sh" instead of autoconf.

2004-04-12 Maarten ter Huurne <maarten@treewalker.org>
	* Changed BIGENDIAN implementation: determined by looking at CPU,
	  instead of running a test program. (preparation for cross compiles)
	* New version format:
	  "openMSX x.y.z" for releases
	  "openMSX x.y.z-devN" for development builds, N = ChangeLog revision
	* Pass information from build system to sources using C++ types such
	  as bool and std::string, instead of macros.
	You should re-run "autogen.sh" after updating.

2004-04-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Don't allow one Pluggable to be plugged in two Connectors at once
	* Also send update event when media is ejected (diska eject)
	* Experimental:
	    delay input events (currently by a fixed time) to avoid key misses

2004-04-09 Maarten ter Huurne <maarten@treewalker.org>
	* Added support for compilation on FreeBSD 5.
	  Thanks to Jorito for providing a working environment to test on.

2004-04-07 Maarten ter Huurne <maarten@treewalker.org>
	* Several changes to the build system; the main visible effect is
	  that all generated files are now in "derived".
	  You should re-run "autogen.sh" after updating.

2004-04-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Generate update event for media change
	* Implemeneted "openmsx_info connectionclass" info topic:
	   - "openmsx_info connectionclass" returns all connectionclasses
	   - "openmsx_info connectionclass [pluggable / connection]" shows
	     the class to which this 'thing' belongs
	* Copied "oversleep compensation" from old realtime sync algorithm to
	  new algorithm:
	    - this helps to keep openMSX running at a reasonable speed when it
	      has to compete with other CPU hungry processes

2004-04-06 Reikan <openMSX4Win32@ranpub.com>
	* Added link libs to platform-x86-mingw32.mk. Thanks to Honda.
	* Reverted AC_CANONICAL_SYSTEM in configure.ac.
	  We need it to let automake prepare config.guess and config.sub.
	* Removed check for tcl8.3 because makefiles don't support anyway.
	* Added some tiny checks for libs in configure based on suggestion
	  from Manuel.

2004-04-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Simplified RealTime class:
	    added Timer class (had to rename existing Timer class to EmuTimer)
	    removed RTC synchronziation (linux) because it was complicated and
	    didn't really improve anything
	* Force a realtime sync 8 times per second (real time):
	   - now music stays more or less ok with large frameskips
	     (set minframeskip 100) and very low speed settings (set speed 10)
	   - disadvantage: auto frame skip is much less effective for value
	     above 6 or 7 (set maxframeskip 7)

2004-04-05 Maarten ter Huurne <maarten@treewalker.org>
	* Minimized usage of auto*:
	  - only run configure checks of which we actually use the results
	  - use "sizeof(bool)" instead of "SIZEOF_BOOL":
	    a lot simpler and the generated code is equally efficient
	  - dropped libtool
	  Thanks to Reikan for his patch from which I copied at lot.

2004-04-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Changed frameskip setting:
	   there is no explicit frameskip "auto" anymore, instead the framskip
	   setting indicated the maximum allowed number of frameskip.
	* Don't skip frames on small CPU usage spikes
	* Renamed "frameskip" setting to "maxframeskip"
	* Added new "minframeskip" setting

2004-04-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented different frameskip and real time sync algorithm
	* Fixed "[ 915747 ] sprites are not visible on display line 0"
	* Skipped frames are now reflected in fps statistics
	* Made "frameskip auto" the default

2004-03-29 Maarten ter Huurne <maarten@treewalker.org>
	* Made new ("alternative") build system default:
	  GNUmakefile is picked up by GNU Make before Makefile is.

2004-03-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Added generic info command to query the possible values for
	  EnumSettings.

2004-03-28 Manuel Bilderbeek <manuel@msxnet.org>
	* Added info command for 'accuracy' setting

2004-03-27 Herman Oudejans <hn.oudejans@quicknet.nl>
	* update events are now disabled by default.

2004-03-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented simple subsription mechanism for update events:
	   - openmsx command   "update <enable|disable> <type>"
	   - for now all update events are still enabled by default, but when
	     catapult is adjusted I'd like to disable them by default

2004-03-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Only the init.tcl file from the system directory is now executed by
	  openmsx. However the default init.tcl file does source a init.tcl
	  file in the user directory
	  !!! you probably need to redo a "make install" because of this !!!
	* The default (system) init.tcl now automatically sources all .tcl
	  files in the user and system scripts/ directory (it prefers the
	  script in the user dir if it exists in both)

2004-03-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed unexpected exception problem in combination with NPTL threading
	  library (Debian unstable)
	* Generated update events on setting changes:
	   - maybe we should supress these when not in 'control' mode? Ideally
	     we make a control these via a publisher/subsriber pattern.
	* Generate update evvents for plug/unplug

2004-03-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Don't instantiate CassettePlayer when there is no CassettePort

2004-03-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented a very basic fps indicator
	* Don't send fps as 'update' events, but make it queryable
	* Fixed overflow problem in SoundDevice code

2004-03-17 Maarten ter Huurne <maarten@treewalker.org>
	* Do not copy captured GL frame back the the frame buffer
	  if the same image is still there.
	  Thanks to Herman for finding this problem.

2004-03-17 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed debugger assertion:
	   - scheduler did not notice the CPU stopped early because of
	     breakpoint
	   - the whole CPU <-> Scheduler interaction is a bit of a mess, need
	     to clean this up someday

2004-03-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Screenshot 'feedback' was only given for non-GL renderer, moved code
	  to a common (gl / non-gl) code path.

2004-03-16 Herman Oudejans <hn.oudejans@quicknet.nl>
	* Fixed saving persistent data in windows (SRAM, cmos, history)

2004-03-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Proper XML escaping for results from comm protocol

2004-03-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Reduce memory usage in Y8950Adpcm:
	   - found by massif (part of valgrind)
	* Fixed HBI-55: address 0 is read only and contains 0x53
	* Changed (un)bind command:
	   - a key can now only be bound to one command, this solves the
	     "toggle + toggle = nop" problem
	   - if you still want to bind multiple things to one key you can
	     define a proc or bind something like "foo ; bar"

2004-03-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Another config refactoring:
	   - split MSXConfig in hardware and settings part
	   - merge Config and Device class
	* Use ugly macro iso template in NonInheritable class:
	   - hopefully this works on all compilers, if not (or if it's
	     too ugly) we can just remove this class
	* Compilation fixes for icc
	* Extended CPU debuggable:
	   - IM can now be read at position 26
	   - IFF1 and IFF2 can be read as bit 0 and 1 on position 27
	* Made SCC debuggable

2004-03-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented "type" command:
	   - replaces KeyEventInserter
	   - TODO  documentation
	           correct ascii->keymatrix table
	           better name for command?

2004-03-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* More config cleanups:
	   - don't build and parse xml in memory anymore, directly build
	     correct datastructure
	   - temp broke KeyEventInserter, will be replaced by a console command

2004-03-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* More config cleanups

2004-03-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Made Y8950 (MSX-AUDIO) debuggable
	* Deleted debug view related files:
	    they were not used anymore and doxygen didn't like them
	* Made MoonSound debuggable
	* Made MSX-AUDIO sample RAM debuggable

2004-03-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Made memory mapper debuggable
	* Made YM2413 (MSX-MUSIC) debuggable
	* Made AY8910 (PSG) debuggable

2004-03-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented R800 refresh delay:
	    - every 180 cycles stall for 20 cycles.
	      Are these numbers correct? I have to different contradicting
	      sources for these numbers. (180 and 20 are in between the
	      numbers of my sources)
	* R800 IO operations takes 3 cycles:
	   - S1990 adds two extra wait cycles cycles

2004-03-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Improved R800 timing, implemented CAS/RAS optimization:
	   - when the high byte of the address of a read is the same as that
	     of a previous read, the R800 doesn't resend this byte and thus
	     saves a clockcycle
	   - I vaguely remember this only happens for opcode fetches, is this
	     true??

2004-03-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Made openmsx_info command return lists in TCL format

2004-02-29 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed bug in command engine: when switching display mode while a
	  command is running, the command's progress was lost.
	  This bug was introduced in the refactoring of 2004-02-17.
	* Improved rendering of transparent pixels in Graphic5 (SCREEN6).
	  It's still not perfect though: real VDP can render even and odd
	  transparent pixels in different colours, just like the border.

2004-02-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed 2nd drive detection bug on MB8877 based machines

2004-02-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Also do tab-completion for build-in TCL-commands and user defined
	  TCL procs
	* Fixed sprite collision bug:
	   sprites cannot collide when isDisplayEnabled() is false

2004-02-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented "vramdump" command as a TCL script

2004-02-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* TCL command speedups:
	   - avoid "int -> string -> int" conversions on command results
	* 2 new debug commands:
	   - read_block, write_block (WIP)

2004-02-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Made abstract Interpreter class:
	   - TCLinterpreter is (the only) subclass
	   - all other code is TCL independent

2004-02-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* added scripts directory
	* added multi_screenshot script

2004-02-21 Herman Oudejans <hn.oudejans@quicknet.nl>
	* fixed FileOperations.cc for win32. setenv doesn't exist in mingw

2004-02-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Set OPENMSX_USER_DATA and OPENMSX_SYSTEM_DATA environment variables

2004-02-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented "after break" command
	* Path calculation cleanup:
	    moved all path calculations to the FileOperations class

2004-02-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented master volume setting (range 0..100). Changed volume
	  setting of other devices to 0..100 as well.

2004-02-17 Maarten ter Huurne <maarten@treewalker.org>
	* VDPCmdEngine refactoring: replaced macros by templates and switch
	  statements by virtual method calls. (committed by Wouter)

2004-02-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Improved CPU timing, both Z80 and R800

2004-02-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented "after frame" command:
	   - now it's possible to write a multi_screenshot TCL script (i've
	     already made such a script)

2004-02-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Made CommandConsole SDL independent

2004-02-11 Maarten ter Huurne <maarten@treewalker.org>
	* Implemented firmware switch for Panasonic FS-A1FM.
	  Use "set frontswitch true" to boot internal software.

2004-02-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* FDC code changes:
	   - code cleanups / maybe fixes (at least more robust code now)
	   - changed track0 signal value for not connected drive

2004-02-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Refactored EventDistributor to be SDL independent (WIP)

2004-02-08 Maarten ter Huurne <maarten@treewalker.org>
	* Added support for compilation on FreeBSD.
	  Thanks to ag0ny for providing a working environment to test on.

2004-02-07 Reikan <openMSX4Win32@ranpub.com>
	* Fixed error when reading init.tcl on win32.

2004-02-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Changed default init.tcl to only bind unbounded keys:
	   should solve the "toggle + toggle = nop" problem
	* Implemented 6MHz (5.3MHz actually) mode for Panasonic MSX2+ machines
	* Refactored RealTime classes:
	   - algorithm in RealTimeRTC was broken, refactored the code so that
	     RealTimeSDL and RealTimeRTC share the same syncing algorithm
	   - the algorithm itself still needs to be improved

2004-02-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Handle unknown tags in control protocol more gracefully
	* Same for parser in Contrib/openmsx-control.cc

2004-02-03 Maarten ter Huurne <maarten@treewalker.org>
	* Perform less renderer syncs on VRAM writes:
	  - skip sync if written value equals the current value in VRAM
	  - only sync if scan region contains written VRAM address
	    (currently only checked in Graphic2/3 modes)

2004-02-01 Maarten ter Huurne <maarten@treewalker.org>
	* Simplified rendering interface and code:
	  - unified putImage and putStoredImage
	  - introduced frameEnd, moved some of the old putImage code there

2004-01-31 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Changed the XML format of the CliComm protocol:
	   - the new format is not compatible with the old version
	   - the example parser Contrib/openmsx-control.cc can handle both
	     formats (except for the LED updates)

2004-01-30 Reikan <openMSX4Win32@ranpub.com>
	* Fixed strange build error of FileOperations.cc.
	  It would be becauseof "gthreads vs w32api".
	* Fixed broken "Makefile.am"s.
	* Adjusted configure.ac and Makefile.am to accpet libtcl84.a on MinGW.

2004-01-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Made cpu frequency switchable at-run-time:
	   in console: set z80_freq_locked off ; set z80_freq 12345678

2004-01-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Use DATADIR variable set by configure:
	   not yet well tested

2004-01-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Removed obsolete "alias" command:
	   for backwards compatibilty there is an "alias" proc defined in
	   init.tcl
	* Use PAUSE LED also for the openMSX pause command:
	   patch contributed by Tetsuo Honda
	* Debug device now prints time in Z80 ticks (3.58MHz), instead of
	  internal ticks. This way we can change the internal tick resolution
	  without changing the debug device output.
	* Dropped support for MD5 hashes, they were already deprecated for a
	  few releases.

2004-01-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Integrated TCL scripting
	* Execute share/init.tcl at startup, marked AutoCommands deprecated

2004-01-20 Maarten ter Huurne <maarten@treewalker.org>
	* Bound quit to ctrl-break by default.

2004-01-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented key modifiers for bind command:
	   example:  bind CTRL+ALT+DELETE quit

2004-01-19 Maarten ter Huurne <maarten@treewalker.org>
	* Integrated FDC fixes by Tetsuo Honda:
	  1. FDD LED on Turbo R FDC (TC8566AF)
	  2. Disk change signal
	  3. Drive detection (1 or 2 drives connected)
	  4. Empty drive behaviour ("Disk offline")

2004-01-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Changed RAM in FS-A1FM mapper into SRAM, but unfortunately this
	  doesn't solve the problem (openmsx-Bugs-826066)

2004-01-16 Maarten ter Huurne <maarten@treewalker.org>
	* Released openmsx-0.3.4.

2004-01-15 Maarten ter Huurne <maarten@treewalker.org>
	* Added Scheduler::setAsyncPoint, which works like setSyncPoint,
	  but is safe to call from other threads.
	  Fixes asserts with "-control" and MIDI in.

2004-01-11 Maarten ter Huurne <maarten@treewalker.org>
	* Added "dist" target to alternative.mk. Now it is possible to make
	  a release tarball in the alternative build system.

2004-01-11 Manuel Bilderbeek <manuel@msxnet.org>
	* Added a "boosted" MSX2 config:
	  - European MSX2 config with lots of extensions, see README in its
	    dir
	  - still experimental, needs testing...

2004-01-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fix VDP bug:
	   - out (#99), xx / OUT (#99),%11xxxxxx is NOT a register write
	     still have to figure out what it does (if anything)
	   - fixes "SNOW26" demo
	* Fixed midi-out-logger bug:
	   - once plugging failed (file not writable) it kept failing
	   - same for RS232Tester
	* Fixed "Jump Jump" part or "UR" demo for SDLGL renderer
	* Made EnumSetting case-insensitive

2004-01-08 Maarten ter Huurne <maarten@treewalker.org>
	* Implemented new deinterlacer for SDLHi.

2004-01-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed crash when trying to save screenshot to read-only directory
	* Save screenshots in ~/.openMSX/screenshots (only when filename is not
	  explicitly given)
	* Fixed bug in Y8950:
	   also reset IRQ in reset() method

2004-01-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Updated control-type selection code (written by tcm1998):
	   - generate error for unknown control types
	   - "pipe" is (currently) not a valid type for linux

2004-01-04 Reikan <openMSX4Win32@ranpub.com>
	* Fix SDL_Video subsystem initialization.
	  This fix boot up unstability.
	* Renamed win32 native midi.
	  out:
	    midi  -> midi-out
	    midi* -> midi-out-*
	  in:
	    midi* -> midi-in-*

2004-01-04 Manuel Bilderbeek <manuel@msxnet.org>
	* Implemented "info scaler"

2004-01-03 Maarten ter Huurne <maarten@treewalker.org>
	* Separated Scalers.hh/cc into Scaler, SimpleScaler and SaI2xScaler.

2003-12-30 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed Scale2x scaler: one pixel too many per line was scaled,
	  which lead to out-of-range memory writes.
	* Fixed "random pixel" bug in pixelacc SDLRenderer.
	  The width of a display rectangle was rounded incorrectly,
	  leaving a 1-pixel wide gap in which the previous frame was visible.

2003-12-29 Maarten ter Huurne <maarten@treewalker.org>
	Various alternative.mk improvements:
	* Automatic generation of config.h.
	* Changed OPENMSX_PLATFORM format from OS-CPU to CPU-OS.
	* Integrated support for compiling with ICC 8.0.
	  You can select ICC with "export OPENMSX_PLATFORM=x86-linux-icc".
	  Note that if a header file is removed, incremental compile will abort
	  with an error. Workaround: manually remove the dependency file.

2003-12-27 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed console drawing in SDLLo during pause.

2003-12-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented automatic filename generation for screenshot feature

2003-12-23 Maarten ter Huurne <maarten@treewalker.org>
	* Integrated Mac OS X patches from Jalu.
	* Fixed rendering of sprites in SCREEN7.

2003-12-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed reset problems (again):
	    reset could go wrong when it was given in the middle of a CPU
	    instruction, now wait till the end of the instruction
	* Integrated Joost's screenshot code:
	   - no automatic filename generation yet

2003-12-22 Maarten ter Huurne <maarten@treewalker.org>
	* Separated Settings.hh into one file per class.

2003-12-21 Maarten ter Huurne <maarten@treewalker.org>
	* Removed RendererSwitcher and FullScreenToggler. They were useful
	  back when openMSX was multi-threaded, but are useless now.
	* Various code layout cleanups.

2003-12-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed a lot (not all) ICC compile remarks, mostly virtual
	  destructors for base classes

2003-12-17 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* VDP pause frame cleanups:
	   always store the last frame (was already like this for SDLHi/SDLLo,
	   and also for SDLGL when some effect was used). This simplifies the
	   pause code. It also fixes the image when breakpoints are used. And
	   it will make the screenshot feature integration easier.
	* Fixed ICC 8.0 compile warnings.

2003-12-16 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed ICC 8.0 compile errors.

2003-12-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* implemented "debug break"
	* added a hack to make the "boring scroll" demo part of "Relax" work

2003-12-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* remove VDP sync points on reset

2003-12-13 Maarten ter Huurne <maarten@treewalker.org>
	* Optimized hq2x scaler:
	  - Fixed inlining of methods.
	    For some reason g++ cannot inline if the methods are defined as
	    HQ2xScaler<word>::method and <unsigned int>, but when using
	    HQ2xScaler<Pixel>:: with an if-statement inside, inlining does work.
	  - Split the giant switch-statement into 4 smaller ones (one per output
	    pixel). Makes a huge difference in object size (123K -> 33K).
	  - Many small optimizations all over the code.

2003-12-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented cpu debugger:
	    the following commands exist now:
	      debug set_bp <addr>
	      debug remove_bp <addr>
	      debug list_bp
	      debug cont
	      debug step
	    during a break the vdp output is not yet correct

2003-12-11 Joost Yervante Damad <joost@lumatec.be>
	* removed obsolete README.WIN32

2003-12-10 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed SDLLo: rendered image did not show up on visible screen.

2003-12-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented "keymatrixup" and "keymatrixdown" commands

2003-12-09 Maarten ter Huurne <maarten@treewalker.org>
	* Integrated hq2x algorithm:
	    http://www.hiend3d.com/hq2x.html
	  Use "set scaler hq2x" in the SDLHi renderer to activate it.
	  The code can use some cleanup and tuning, but in most cases it works.
	* Fixed bug: lines were scaled by the wrong factor when a frame contains
	  both 256-wide and 512-wide lines, such as Psycho World intro.

2003-12-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* added a 'safe' getCurrentTime() method in Scheduler, and use this
	  instead of the getCurrentTime() method in MSXCPU. Renamed the latter
	  to getCurrentTimeUnsafe(). See also comments in MSXCPU.hh
	* Only quit scheduler loop when it's not being called resursively, see
	  comments in Scheduler.cc

2003-12-07 Maarten ter Huurne <maarten@treewalker.org>
	* Integrated Scale2x algorithm:
	    http://scale2x.sourceforge.net/
	  Use "set scaler scale2x" in the SDLHi renderer to activate it.
	  Unlike 2xSaI, Scale2x never blurs.

2003-12-06 Maarten ter Huurne <maarten@treewalker.org>
	* Create a scaler object once it becomes active, instead of creating all
	  scalers in advance. This reduces memory usage when the number of
	  scalers increases or some scalers use large lookup tables.
	* Made Scaler base class a template. Preparation for later changes.
	* Removed upscaling from SDLRenderer/CharacterConverter/BitmapConverter.
	  Instead, all upscaling is done by the scaler implementation.
	  The only scaling remaining outside is the downscaling (pixel blending
	  in SDLLo).
	  There is still some cleanup to do, for example deinterlace should be
	  re-implemented outside of drawDisplay.

2003-12-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Made memory in (sub)slots debuggable
	* fixed bug in wait() method of CPU (order of statements problem):
	  fixes the reset on turbor crash
	* "cassetteplayer" doesn't crash anymore on non-existing filenames
	* use HAVE_LINUX_RTC_H instead of NO_LINUX_RTC, makes it easier to
	  port to non-linux platforms

2003-12-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed "Back to the Future" hang:
	   romtype was wrongly detected, in romdb.xml the romtype was
	   specified as "PLAIN", but for this type we still need to guess the
	   start location in memory. Changed romtype in romdb.xml to "PAGE12"
	* Added high-pass IIR filter to mixer:
	   this greatly reduces clipping in applications that leave a sound
	   channel at a constant non-zero value (e.g. catman)
	* Fixed rendering of undocumented modes in GL renderer:
	   "Back to the Future" (tape version) triggered an assertion
	   because of this

2003-12-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* made VDP status registers debuggable

2003-12-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented IO device multiplexing:
	   - several IO devices can now share the same IO port. When CPU
	     writes to a shared port, all devices receive the write. When
	     CPU read from a shared port, all devices readIO() method is
	     called, but the return value of only one device is returned
	     to the CPU.
	   - this fixes the "openmsx -machine turbor -ext fmpac" problem

2003-12-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* made vdp registers debuggable

2003-11-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* made memory (64kb currently visible memory) debuggable
	* made IO ports debuggable
	* made vram debuggable

2003-11-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Added example implementation for bidirectional communication with
	  openMSX (aka CliCommunicator) in Contrib
	* Implemented "debug" command infrastructure. For now only the CPU
	  registers can be read or written.

2003-11-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* When started with "-control" openmsx now automatically selects the
	  "none" renderer. The launcher should send a "restoredefault
	  renderer" command to enable the display.

2003-11-19 Maarten ter Huurne <maarten@treewalker.org>
	* Extended Scaler interface to scale modes of 512-pixels wide as well.
	  These modes are scaled in the vertical direction only.
	* Implemented vertical-only scaling for "simple" and "2xsai".
	* Minor cleanup of SaI2xScaler class.

2003-11-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented "restoredefault" command

2003-11-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* made alternative YM2413 (MSX-MUSIC) the default

2003-11-17 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented per-pixel-alpha-blending for SDLConsole and SDLFont:
	   - if whole image has the same alpha value, we use per surface
	     alpha blending to speed up blitting

2003-11-16 Reikan <openMSX4Win32@ranpub.com>
	* Quick fix for console input after switched renderer.

2003-11-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Major singleton-cleanup:
	   - circular dependency where already fixed
	   - now also fixed construction order. All singletons classes that
	     are used by some other singlton must be constructed before this
	     singlton is constructed. Done by constructing all dependant
	     singltons in the constructor of this singleton. This also
	     prevents new circular dependencies in the future.
	   - because of these two points it's now save to destruct all
	     singletons (before some were never destructed)
	   - instance() method now returns a reference instead of a pointer
	   - I'll post a more detailed explanation to openmsx-devel soon
	* Fixed hd image file creation:
	   - automatically create or enlarge hd-image when the specified file
	     doesn't exist or is too small

2003-11-16 Reikan <openMSX4Win32@ranpub.com>
	* Fixed "hollible slow down when open console in fullscreen on SDLHi"
	  at Win32.

2003-11-16 Maarten ter Huurne <maarten@treewalker.org>
	* Implemented scanlines for SDLHi.

2003-11-15 Manuel Bilderbeek <manuel@msxnet.org>
	* Moved initialization of SDL Video to RendererFactory.
	* Added Ren-Sha Turbo device to machines which have it.

2003-11-15 Maarten ter Huurne <maarten@treewalker.org>
	* Modified Scheduler to only schedule ASAP sync points during pause.
	  Also made ASAP resolve to CPU's current time instead of target time.
	* Delayed start of new frame until unpause.
	  If a renderer keeps state to reproduce the image other than the pixels
	  themselves, this state remains available during pause.
	* Made SDLHi renderer react to scaler changes while paused.

2003-11-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Split EventDistrubutor in EventDistributor and AfterCommand:
	   - together with the "quit" cmd move this removes the circular
	     dependency between EventDistributor and Scheduler
	* Reversed dependency between Mixer and Scheduler:
	   - Mixer now depends on Scheduler (for mute when paused) instead of
	     the other way around
	* Removed circular dependency between RealTime and Scheduler
	* Split Settings.hh in Settings.hh and SettingListener.hh
	* Removed circular dependency between Scheduler and MSXMotherBoard:
	   - MSXMotherBoard no longer needs to be a singleton
	   - I have to double check, but I think this was the last circular
	     dependency between singletons

2003-11-14 Maarten ter Huurne <maarten@treewalker.org>
	* Performance fixes for SDLHi.
	  Thanks to Reikan for finding a solution to the slowness.

2003-11-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* HotKey is no longer a singleton:
	   - not required anymore since everything is done by bind cmds
	   - fixes circular dependency between HotKey and EventDistributor
	* Moved "quit" command from EventDistributor to Scheduler

2003-11-11 Manuel Bilderbeek <manuel@msxnet.org>
	* Added DummyRenderer (set renderer none)
	* TODO:
	  - only register the renderer in the settingmap in CliComm mode
	  - move SDL video (de)initialization to superclass of SDL based
	    renderers (feel free to implement this! ;-), to fix problem that
	    the window of the previous renderer doesn't disappear

2003-11-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed crash when trying to define an alias with the same name as an
	  existing command
	* Split CliCommunicator in CliCommInput and CliCommOutput:
	   - first step to get rid of circular dependencies between singletons

2003-11-10 Maarten ter Huurne <maarten@treewalker.org>
	* Integrated part of Reikan's SDLRenderer patch:
	  - added missing SDL_LockSurface calls when accessing surfaces directly
	  - do not blit from a surface to itself, instead use memcpy
	    (apparently DirectX doet not like blit source equal to destination)
	  - make SDLHi and SDLLo double buffered

2003-11-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed crash on resursive aliasses:
	   - these commands
	       alias foo bar ; alias bar foo ; foo
	     generate an error now

2003-11-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Refactored MSXMapperIO:
	   - MSXMapperIO is no longer a singleton, this solves the destruction
	     order problem between MSXMapperIO - MSXMemoryMapper
	   - possibly the crash on power off is solved by this
	   - machine configs still need to be updated

2003-11-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented "info time"
	* Implemented "after" command (see doc/commands.txt)
	* Implemented noise effect (power off) for SDLRenderer

2003-11-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Refactored Scheduler:
	   - there is now only one scheduler loop anymore
	   - fixes the 'still schedule a bit even though emulation is pauzed'
	     bug

2003-11-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented 'alias' and 'unalias' commands

2003-11-03 Maarten ter Huurne <maarten@treewalker.org>
	* Added inbetween image in SDLRenderer, to allow postprocessing.
	  Hopefully, this will also reduce flicker on Win32.
	* Integrated 2xSaI scaler algorithm by Derek Liauw Kie Fa:
	    http://elektron.its.tudelft.nl/~dalikifa/
	  You can activate it with "set scaler 2xsai".
	  For now, it only works in the SDLHi renderer.

2003-11-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented 'snow effect' for GLRenderer (try set power off)

2003-11-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented "power" setting:
	   display is still wrong in power off mode

2003-11-01 Maarten ter Huurne <maarten@treewalker.org>
	* Added "createsubs" target to "alternative.mk":
	  this creates a Makefile in every source directory
	  which builds only the sources in that directory.

2003-10-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Don't continuously redraw screen while paused

2003-10-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Removed "-config" cmdline option / .xml cmdline file-type:
	   were long time ago replaced by -machine / -ext / -setting

2003-10-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Added descriptions to sounddevices:
	    can be queried with "info sounddevice <name>"

2003-10-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* commands can only throw CommandExceptions
	* fixed possible resource leaks caused by thrown exceptions

2003-10-26 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed clipping code in SDLRenderer::drawDisplay and drawSprites.
	  Matra games (which use overscan) have a stable image now.

2003-10-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Moved command classes to new subdir
	* Added info command infrastructure
	* Added "info version" command
	* Added "info pluggable" and "info connector"
	* Added "info sounddevice"
	* Added "info renderer"
	* Fixed bug: SDL must be initialized before we parse the cmd line,
	  because the "-control" option creates a new thread
	* Added descriptions to pluggables:
	    can be queried with "info pluggable <name>"
	* Added descriptions to connectors:
	    can be queried with "info connector <name>"

2003-10-24 Manuel Bilderbeek <manuel@msxnet.org>
	* Added -v cli option to get version number of openMSX

2003-10-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Added "-control" cli option to enable CliCommunicator:
	   - commands are accepted on stdin
	   - output is in XML

2003-10-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Converted CliCommunicator to take XML input
	* replaced PRT_INFO macro with printInfo(), printWarning() or
	  printUpdate()

2003-10-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Added truncate() method to File classes
	* use unsigned iso int for file size and file position

2003-10-19 Maarten ter Huurne <maarten@treewalker.org>
	* Moved some low-level GL stuff from SDLGLRenderer to GLUtil.
	* Changed GL implementation of SCREEN1 to render in cached blocks
	  instead of lines.
	* Abort VDP command when switching to non-bitmap mode.
	  Fixes assert in Psycho World stage 4.

2003-10-19 Reikan <openMSX4Win32@ranpub.com>
	* Call SDL_Quit() also when exit by error.
	  This will fix crash(Win9x)/hang(Win2k/XP) on error exit.

2003-10-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed VDP command timing:
	   - the updateTiming() method did a sync() with the old register
	     values (correct). But also updated the timimng variable with the
	     old register values (wrong).
	   - fixes "Coding Melpots" part in "Metal Limit"
	* Replaced all PRT_ERROR macros with 'throw FatalError'

2003-10-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Added "incr" and "decr" console commands

2003-10-14 Manuel Bilderbeek <manuel@msxnet.org>
	* Added provisional FDD LED emulation:
	  - works only when the emulated FDC uses the DiskDrive class
	  - LED goes on when diskdrive motor is on (not always correct!)
	  - IDEHD also turns on FDD LED, when there is a read or write action
	  - all possible FDD LEDs are ORed with each other
	* Implemented boolean setting 'turborpause', which sets the pause
	  function of the MSX turbo R. TODO: pause function of other MSX
	  computers like Sony HB-501 and MSX2+ machines (setting may need to
	  be renamed!)

2003-10-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Continue VDP Cmds on display mode switch:
	   - current implementation may not be 100% correct, but it's better
	     than just aborting the cmd (fixes feedback bug)

2003-10-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Autofire code cleanups / simplifications

2003-10-09 David Heremans <david.heremans@gnu-linux.net>
	* Forgot to commit some autofire code
	* Adapted code to new Commands interface

2003-10-12 Maarten ter Huurne <maarten@treewalker.org>
	* VDP fix: fixed assert in SpriteChecker.

2003-10-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Added CliCommunicator:
	   - external programs can now use stdin/stdout to pass/read commands
	     to/from openMSX. Very usefull for launchers or GUIs.
	* CliCommunicator cmds are now scheduled so they get executed by the
	  main emulation thread

2003-10-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Turn LEDs off when openmsx quits
	* Refactored Commands interface:
	   - commands should now return a string instead of calling the
	     print() method to display stuff in the console.

2003-10-09 David Heremans <david.heremans@gnu-linux.net>
	* integrated renshaturbo from Alex into openMSX:
		fixed the namespace in Alex code

2003-10-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed VDP TR bit bug (fixes Ys-2):
	   - TODO HMMC cmd can be simplified a lot

2003-10-08 Maarten ter Huurne <maarten@treewalker.org>
	* VDP fix: force renderer sync on sprite enable change.

2003-10-08 Joost Yervante Damad <joost@lumatec.be>
	* added initial screenshot support:
		the .png part is working and I tested it by
		hacking it into SDLRenderer, but I think someone
		more knowledgable of the openmsx internals should
		actually hook up the code

2003-10-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* VDP fix:
	   - Mode and blank bits any have effect at the next line

2003-10-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed command/debug console settings

2003-10-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* It seems MSX-AUDIO sampleram is mirrored. This fixes sample loading
	  in "Revolution".

2003-10-04 Herman Oudejans <hn.oudejans@quicknet.nl>
	* If the moderegister of the debugdevice is written to and bit 6
	  of that same register is set, newlines will not be output.

2003-10-04 Maarten ter Huurne <maarten@treewalker.org>
	* Split off SettingsManager to separate source files.
	* Split off SettingNode and other namespace classes to separate sources.

2003-10-03 Herman Oudejans <hn.oudejans@quicknet.nl>
	* Remove buffering from the debugdevice.

2003-10-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented 'vdpcmdtrace' setting
	* Fixed VDP commands that had SX/DX >= screen-width

2003-09-30 Manuel Bilderbeek <manuel@msxnet.org>
	* Added the Debug Device to the User's Manual
	* Small additions, fixes and clean ups in the User's Manual

2003-09-27 Maarten ter Huurne <maarten@treewalker.org>
	* Released openmsx-0.3.3.

2003-09-24 Maarten ter Huurne <maarten@treewalker.org>
	* Major rewrites and editing in Setup Guide.
	  Thanks to Manuel for preparing the file for me.

2003-09-22 Reikan <openMSX4Win32@ranpub.com>
	* Add MIDI support for Win32.
	  It's missing to know association between parameter names and
	  real device. Ok. we'll call it as TODO.

2003-09-21 Herman Oudejans <hn.oudejans@quicknet.nl>
	* Made the debugger optional. If the settings.xml doesn't contain
	  a debugger section, it's turned off. In this case the debuggersettings
	  in the console won't appear either.

2003-09-21 Manuel Bilderbeek <manuel@msxnet.org>
	* Made error messages more UNIX style and thus more uniform

2003-09-21 Maarten ter Huurne <maarten@treewalker.org>
	* Workaround for bug in shutdown sequence:
	  MSXCPU::getCurrentTime is needed by audio callback,
	  but MSXCPU got destroyed before audio was stopped.
	* Finished Pluggable rewrite:
	  - all Pluggable instantiation moved to PluggableFactory
	  - all Pluggable destruction moved to PluggableController
	* Added "install" target to alternative.mk.

2003-09-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* tab-completion improvements:
	   - fixed bug while completing tokens that contained spaces
	   - keep the formatting of the line the same as the original line,
	     completion behaves a lot like the completion in bash now

2003-09-20 Maarten ter Huurne <maarten@treewalker.org>
	* Have VDPCmdEngine pass accurate timestamps to VRAM writes.
	  In the process, replaced opsCount by currentTime.
	  Should solve PA3 enemy box problem (missing bottom line).

2003-09-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fix the TR status bit in the VDPCmdEngine:
	   most programs don't even check this bit so they weren't affected,
	   the ones that did were waiting forever

2003-09-19 Reikan <openMSX4Win32@ranpub.com>
	* Win32: use SHGetSpecialFolderPath when available.
	  I hope this help on Win95.

2003-09-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* The ';' character can now be used in the console to put 2 commands
	  on 1 line. This is usefull to bind 2 commands to 1 key and have a
	  deterministic order of executions between those commands.
	* tab-completion now works when cursor is not in last position

2003-09-14 Manuel Bilderbeek <manuel@msxnet.org>
	* Added run time configurable stereo settings. You can now set the
	  channel mode of each (mono) sound device to mono, left or right from
	  the console, using the set [sounddevice]_mode settings.
	* Integrated VolumeSetting into Mixer class.

2003-09-14 Reikan <openMSX4Win32@ranpub.com>
	* Fixed SystemContext error in FileOperations.cc.
	  This affects only on Win32.

2003-09-13 Reikan <openMSX4Win32@ranpub.com>
	* Introduced flavour-win32.mk.
	  Do only relatively conservative optimizations.
	* flavour-uow32.mk contains more aggressive optimizations now.
	* platform-mingw32-x86.mk uses flavour-win32.mk as the default now.

2003-09-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* filename stuff cleanups

2003-09-12 Manuel Bilderbeek <manuel@msxnet.org>
	* the file from which the WavAudioInput reads is now configurable with
	  the setting "audio-inputfilename". Default is still
	  "audio-input.wav".
	* restructured AudioWavInput class and cleaned it up a lot

2003-09-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* immediately respond to frameskip changes

2003-09-11 Reikan <openMSX4Win32@ranpub.com>
	* Added workaround for Win32 on pathname/path-delimiter.

2003-09-11 David Heremans <david.heremans@gnu-linux.net>
	* FDC_DirAsDSK: Figured out why a format didn't work correctly with
	  my default emulated msx2 (NMS8250). Now the code can handle
	  formating, didn't check on other machines yet

2003-09-09 David Heremans <david.heremans@gnu-linux.net>
	* FDC_DirAsDSK: Have cached sectors saved and loaded correctly, now
	  you can use the entire fakedisk for writing as well.
	* Small bugfixes

2003-09-07 Maarten ter Huurne <maarten@treewalker.org>
	* Have the "plug" command handle PlugException correctly.
	* Changed Connector interface so that subclasses require less code.
	* Declared PlugException in Connector::plug as well.
	  (yesterday's change added it to Pluggable::plug)
	* Replaced C standard includes with their respective C++ wrappers.

2003-09-06 Maarten ter Huurne <maarten@treewalker.org>
	* Added PlugException, which can be thrown by Pluggable::plug if the
	  plug action fails for some reason.
	* Declared PlugException for the methods that can throw it.

2003-09-06 Manuel Bilderbeek <manuel@msxnet.org>
	* diska/diskb/etc without argument shows the currently inserted disk
	  now

2003-09-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* VDPCmdEngine: correct behaviour when registers are changed while cmd
	  is executing. There seem to be a few glitches left though.
	* Fix VDPCmdEngine timimg (was broken by previous patch)

2003-09-05 David Heremans <david.heremans@gnu-linux.net>
	* Corrected destructor behaviour for the Disk class

2003-09-03 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed bug: when CPU has to force extra device scheduling, it should
	  schedule all devices until the I/O time, not just the devices until
	  the schedule limit timestamp.

2003-08-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* more VDPCmdEngine optimizations
	* fix VDPCmdEngine register status at end of cmd, should now also be
	  correct when cmd is interrupted
	* implemented most willStatusChange() methods for VDPCmdEngine

2003-08-28 Manuel Bilderbeek <manuel@msxnet.org>
	* the file to which the PrinterLogger logs is now configurable with
	  the setting "printerlogfilename". Default is still "printer.log".
	* the file to which the MidiOutLogger logs is now configurable with
	  the setting "midi-out-logfilename". Default is still "/dev/midi".
	* the file from which the MidiInReader reads is now configurable with
	  the setting "midi-in-readfilename". Default is still "/dev/midi".
	* the file from which the RS232-tester reads is now configurable with
	  the setting "rs232-inputfilename". Default is still "rs232-input".
	* the file to which the RS232-tester writes is now configurable with
	  the setting "rs232-outputfilename". Default is still "rs232-output".

2003-08-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* small VDPCmdEngine optimizations

2003-08-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Initial version for Panasonic_FS-A1FM mapper:
	   - internal software doesn't start yet (should it even?), but at
	     least it doesn't crash anymore

2003-08-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Improved tabcompletion for plug command:
	   - only complete pluggables that will fit in the selected connector
	* Made it easier to switch between MSX-MUSIC cores:
	   - use the parameter "alternative" in the device config section

2003-08-23 Manuel Bilderbeek <manuel@msxnet.org>
	* Made the keys of the key joystick configurable.
	  TODO: make it possible to have more than one key joystick.
	* Already some cleanups to make it robust against bad configs.

2003-08-23 Maarten ter Huurne <maarten@treewalker.org>
	* Rearranged joystick code:
	  - Separated JoystickPort class into its own files and put them in the
	    "input" directory.
	  - Moved JoystickDevice, DummyJoystick and JoyNet to "input" directory.
	  - Split and removed JoystickPorts class: the I/O was moved to MSXPSG,
	    the instantiation was moved to the new PluggableFactory class.

2003-08-20 David Heremans <david.heremans@gnu-linux.net>
	* Rewrote code to be more sector based instead of cluster based:
	   This also simplified the code, also made first steps towards
	   more correct dir-entry handling.

2003-08-20 Reikan <openMSX4Win32@ranpub.com>
	* Added Keymap-change and KeyLayoutBit.

2003-08-18 David Heremans <david.heremans@gnu-linux.net>
	* Added cached diskwriting to FDC_DirAsDSK. Regular file operations
	  seem to work, formatting doesn't yet. No writes to native host OS
	  files so far.

2003-08-18 Reikan <openMSX4Win32@ranpub.com>
	* Adjusted as a first step to support win32.

2003-08-17 Herman Oudejans <hn.oudejans@quicknet.nl>
	* fixed a serious bug in the commandlineparser. -diska (and b),
	  -carta (and b,c and d) work again.

2003-08-16 Herman Oudejans <hn.oudejans@quicknet.nl>
	* Added priority to the commandline parser. When the -h option
	  is invoked, there won't be any machines loaded.

2003-08-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Basic support for .zip files, for now always the first file in
	  the .zip is taken
	* Added filetype detection for filenames of the form
	  "<name>.<type>.zip", e.g. "psycho.dsk.zip"

2003-08-12 David Heremans <david.heremans@gnu-linux.net>
	* Small enhancement in  FDC_DirAsDSK:
	   Alowed writing of the boot sector. The altered boot sector is
	   stored as a hidden file and is used when creating an FDC_DirAsDSK
	   instance

2003-08-13 Maarten ter Huurne <maarten@treewalker.org>
	* Reikan released C-BIOS 0.17; I updated it in Contrib.

2003-08-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Now any file can be gzipped, including files loaded by SDL and libxml

2003-08-12 David Heremans <david.heremans@gnu-linux.net>
	* improved FDC_DirAsDSK:
	   - now empty sector are generated for unmapped clusters
	   - altered filesize also scanned for when accessing FAT sectors

2003-08-11 David Heremans <david.heremans@gnu-linux.net>
	* Added more functionality to the FDC_DirAsDSK class:
	   - fixed an offset bug
	   - made changes to files on the host OS visible to the emulated dsk
	     file. Now altered filesize is detected when accessing file itself
	     or the DIR sector and the DIR and FAT will be adjusted as needed

2003-08-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Read-only support for .gz files

2003-08-09 Maarten ter Huurne <maarten@treewalker.org>
	* Put all openMSX code in namespace "openmsx".
	  This avoids name clashes with C libs, for example "Font" being
	  defined by us and by Xlib.
	  Those name clashes occur earlier when precompiling headers,
	  but otherwise it's still an accident waiting to happen.

2003-08-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed FileContext owner ship semantics (fixes memory leak):
	   - the class that creates a FileContext object should also destroy it
	   - when a class needs a FileContext parameter for a longer time than
	     the duration of the method call, it should make a copy of the
	     FileContext object
	* Added audio input pluggable/connector for turbor PCM:
	   - for now it just reads "audio-input.wav"

2003-08-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* CPU cleanup / speedup:
	* FDC cleanups:
	   - renamed some classes
	   - added a base class for sector based disks (those that don't
	     store the information 'between' the sectors)

2003-08-06 David Heremans <david.heremans@gnu-linux.net>
	* Introduced to the FDC_DirAsDSK class:
	   - it is now possible to have a directory given as value for the
	     '-disk(a|b)' option, this will construct a read-only disk that
	     contains the regular files in this directory. Content changes in
	     those files are immediately visible in the emulated disks.
	     Sizes changes of files are not incorporated yet!

2003-08-02 Herman Oudejans <hn.oudejans@quicknet.nl>
	* fixed compile errors when using gcc version 2.95

2003-07-31 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemeted a RS232 tester pluggable:
	   - writes to file "rs232-output"
	   - reads from file "rs232-input"
	   - the BASIC commands load"COM:" and save"COM:" seem to work
	* Made sure that classes that are ment to be pure virtual,
	  truly are pure virtual
	* Added rs232 extension

2003-07-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Added MSX-RS232 to device factory
	* Gave MSX-RS232 16KB ROM

2003-07-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Added MSX-RS232:
	   - there do not exist any RS232 pluggables yet
	   - code is yet completely untested

2003-07-27 Herman Oudejans <hn.oudejans@quicknet.nl>
	* decoupled de console and debugger again. It caused some unforseen
	  site-effects.
	* Added settings for the debugger in settings.xml

2003-07-26 Herman Oudejans <hn.oudejans@quicknet.nl>
	* Re-enabled the debuggerconsole.
	* made sure the console is turned off when de debugger is called.
	* added a disassembly view (still static).
	* added the same settings for the debugger as there were for the
	  console (rows, columns, placement, font and background).

2003-07-26 Maarten ter Huurne <maarten@treewalker.org>
	* Refactored settings code.
	* Moved settings code into new "settings" directory.
	* Cleaned up the linking process.

2003-07-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* A few midi in related fixes. Still needs to be tested
	  with real midi hardware

2003-07-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Added midi in reader (reads from /dev/midi):
	   - still completely untested

2003-07-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* added joystick emulation for mouse:
	   - when you plug in the mouse with the left button pressed,
	     it behaves like a joystick
	* added Semaphore class
	* protected Scheduler with a Semaphore:
	   - it is now possible the register synchronization points in a different
	     thread than the emulation thread. This will be needed for the
	     MIDI in pluggable

2003-07-20 Herman Oudejans <hn.oudejans@quicknet.nl>
	* first steps toward a debugger. For now it's just a
	  static hexdump.
	* Temperary removed an assert in de settingsmanager
	  because the consolesettings are init twice.

2003-07-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed bug in MSX-Audio sample RAM

2003-07-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed some MIDI bugs
	* Added Midi Out Logger (logs to /dev/midi)

2003-07-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented Midi-In and Midi-Out ports for MSX-Midi:
	   - completely untested, so it probably won't work yet
	   - there are no pluggables for the midi ports yet

2003-07-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* A Pluggable is now told in which Connector it is plugged

2003-07-08 Herman Oudejans <hn.oudejans@quicknet.nl>
	* debugdevice now works with stdout, stderr and normal files

2003-07-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Don't clear SCC wave forms on reset
	* Added MSX-Midi:
	   - except for sending and receiving data it works, thus
	     timers and interrupt generation work

2003-07-06 Herman Oudejans <hn.oudejans@quicknet.nl>
	* added a debug device.
	* Details for control are in docs/debugdevice.txt

2003-07-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Started implementing MSX-Midi

2003-07-05 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed colour of blue intensity 2 in Graphic7 mode.
	  Thanks to Grauw for reporting this bug.

2003-07-03 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed bug in scanline effect, which caused glitches on ATI and
	  Matrox cards.

2003-07-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented stereo/mono and 8/16-bit conversion for wav files
	* Implemeted "force_play" and "no_force_play" for cassetteplayer

2003-07-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* On turbor use big 4mb rom also for MSX-MUSIC ROM and DISK ROM

2003-06-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed cassette player bug:
	   - float was not accurate enough, use 64-bit fixed point
	* Made rewind command for cassetteplayer and tape patch

2003-06-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Made casstte player audible:
	   - you can turn it off with "set cassette_volume 0"

2003-06-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented automatic .cas to .wav conversion in CassettePlayer:
	  - not all .cas files seems to work though
	  - there can be a delay of a few seconds while converting the file,
	    need to do the conversion in a helper thread
	* added peekMem() method, will be used by debugger to savly read mem

2003-06-28 Manuel Bilderbeek <manuel@msxnet.org>
	* Cleaned up the machines and extensions dir:
	  - added a subdir 'roms' when needed
	  - added the Id tags when missing
	  - filename cleanups
	  - fixed some typos
	  - added SHA1SUMS files in each roms dir, when available
	* Added a few extensions

2003-06-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented Listener interface for Setting class

2003-06-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Converted romdb.xml to use 'title' tags iso 'id' attributes

2003-06-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented SHA1 support for romdb
	* Converted most of romdb.xml to SHA1

2003-06-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Added new YM2413 core:
	   use with the new (temporally) device "Music_2"
	* Implemented TurboR VDP access delay
	* Added SHA1 class (not yet used)

2003-06-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented 'fallback' mechanism for files in settings.xml

2003-06-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented undocumented flag bits for "BIT n,(HL)" instructions,
	  ZEXALL test still passes

2003-06-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Improved performance for tab-completion:
	    without this patch "diska <tab>" could take several seconds

2003-06-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented HBI-55 data cartridge:
	    according to some BASIC test progs it seems to work, but not yet
	    tested with Sony_HB_75P internal software

2003-06-09 Maarten ter Huurne <maarten@treewalker.org>
	* Released openmsx-0.3.2.

2003-06-09 Manuel Bilderbeek <manuel@msxnet.org>
	* Updated HOWTO (please check)
	* Updated/cleaned up machine configs:
	  - MSX2+ machines have a memory mapper of 64kB (tested on real
	    Panasonic FS-A1WX)
	  - Changed ROM names in 8250 config to match the ones used in the
	    other configs, using a 32kB combined ROM for basic/bios
	  - Added missing CVS Id tags
	  - Removed unnecessary DiskRomPatches from machines with TC8566AF FDC's
	  - Changed FDC type names to new conventions (see 2003-03-29), note
	    that the old ones won't work anymore. The names of the FDC classes
	    should be revised though.

2003-06-09 Maarten ter Huurne <maarten@treewalker.org>
	* Implemented user-specified gamma correction for SDLLo/SDLHi/SDLGL.
	  Find out your PC monitor's gamma using the measurement image on the
	  following page: http://www.bberger.net/gamma.html
	  TVs use a standardised gamma of 2.5. So for a realistic picture, set
	  openMSX gamma correction to: PC_gamma / 2.5.
	  Or you can just try a few values and see what you like ;)

2003-06-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Don't abort on "cassetteplayer <file>" cmd with invalid filename
	* Print warning when initial font or background images can't be read

2003-06-08 Maarten ter Huurne <maarten@treewalker.org>
	* In the command engine, only act on display mode switches if a
	  different command engine mode is entered.
	* Fixed various GCC 2.95 compile problems.

2003-06-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Print error msg when user gives wrong diskimage on the cmd line
	*  same for cas and wav images
	* Fix core dump while writing to read-only disk images
	* Don't put empty lines in console history

2003-06-06 Maarten ter Huurne <maarten@treewalker.org>
	* Added FloatSetting class.
	* Introduced new setting "gamma" for gamma correction.
	  Not yet implemented in Renderers.
	* Refactored EnumSetting:
	  - Split into type-safe inline wrapper class "EnumSetting" and
	    type-indedendent implementation class "IntStringMap".
	    Forced template instantiations are no longer necessary.
	  - Made strings in string-enum map constant.

2003-06-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Refactored consolecolumns and consolerows settings

2003-06-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Merged Arjan's YMF278 fixes/improvements, plus did some optimizations
	* Take default MapperIO type in case the machine configuration doesn't
	  specify one (all MSX1 machines)

2003-06-04 Maarten ter Huurne <maarten@treewalker.org>
	* New console font: ConsoleFontRaveL.png, this is a larger version of
	  ConsoleFontRave.png (easier to read on hi-res screens).
	* New extensions: 512K/1MB/2MB/4MB external mapper.

2003-06-04 Herman Oudejans <hn.oudejans@quicknet.nl>
	* Background and Fonts are not reset anymore when changing renderers.
	* Added 10 machine configurations, made by BifiMsx

2003-06-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* support 8kb roms
	* fixed SDLFont, sometimes the font was completely transparent
	* fixed UMR in Timer class (caused Toshiba rom to hang openMSX)
	* Implemented fake "per pixel alpha blending" for SDLFont

2003-06-03 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed SDLGL tile cache when character and pattern table use mirroring.
	  Solves glitches in Dr Archie, Relax and probably others.

2003-06-02 Maarten ter Huurne <maarten@treewalker.org>
	* New console font: ConsoleFontRave.png, based on Bitstream Vera, but
	  renamed due to license requirements (see http://www.gnome.org/fonts/).
	* Re-encoded existing console fonts to make their files smaller.

2003-06-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented MegaRam
	* Implemented PAC  (like FMPAC, but without FM and without ROM)

2003-06-01 Herman Oudejans <hn.oudejans@quicknet.nl>
	* Added a setting for grabbing mouse and keyboard input. When input
	  is grabbed, the windowsmanager won't be able to mask keys from
	  openmsx and the mousecursor won't be able to leave the openmsx
	  window.

2003-06-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed mouse (hopefully)
	* Removed "loadsram" and "savesram" settings

2003-05-31 Maarten ter Huurne <maarten@treewalker.org>
	* When pausing, store last frame and keep plotting it during pause.
	  Also keep redrawing the console, so it is usable during pause.
	  Current implementation is a bit of a hack, but it works.
	* Implemented afterglow effect, try "set glow N" in SDLGL.

2003-05-31 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* VDPCmdEngine cleanups

2003-05-31 Herman Oudejans <hn.oudejans@quicknet.nl>
	* Changed console save file into ascii. When loading the history,
	  empty lines are ignored.
	* Removed error when unable to load consolehistory
	* Only two identical commando's directly after eachothers are now
	  removed if removedoubles is active to improve performance.
	* Remove settings for consolehistory load & save. Default are now:
	  - Always load and save.
	  - Filename is now fixed as 'history.txt'

2003-05-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Refactored VDPCmdEngine, use VDPCmd subclasses for each command
	  instead of function pointers

2003-05-30 Herman Oudejans <hn.oudejans@quicknet.nl>
	* Implemented save/load consolehistory

2003-05-30 Maarten ter Huurne <maarten@treewalker.org>
	* Implemented Text2 and MultiColour modes in SDLGL using one texture
	  per character approach (the approach Graphic2/3 already used).
	* Implemented screen accuracy.
	* Do not sync during a skipped frame.

2003-05-27 Maarten ter Huurne <maarten@treewalker.org>
	Dirty checking improvements:
	* Removed all old character dirty checking code from SDLRenderer and
	  SDLGLRenderer.
	* Added DirtyChecker class, a generic VRAM cache administration.
	* Use new DirtyChecker in SDLGLRenderer for pattern and colour table.
	  Caching the name table is useless in SDLGLRenderer.
	This is a work in progress, but the current state seems to be stable.

2003-05-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* More RealTimeRTC improvements
	* Some frameskip tuning
	* Keep frameskip setting between renderer switch

2003-05-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Use RTC Timer for RealTime syncing when available

2003-05-25 Herman Oudejans <hn.oudejans@quicknet.nl>
	* Fixed a problem with the consolesize when switching from SDLLo
	  to SDLHi or SDLGL.
	* When the console is resized, the text in it will be rebuild.
	* Fixed a bug in the cursormovement (broke with the text rebuild).

2003-05-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Split RealTime in generic part and implementation specific part.
	  This decouples time synchronization from SDL and paves the way
	  for more accurate implementation (like RTC)

2003-05-24 Maarten ter Huurne <maarten@treewalker.org>
	* I/O to extended VRAM now goes to limbo, instead of main VRAM.
	* Changed VDPVRAM::Window to VRAMWindow.
	  There is not much added value to a public inner class in C++...
	* Changed VDPVRAM::VRAMObserver to VRAMObserver, in its own file.
	  Own file reduces the risk of cyclic header dependencies.
	* Renderer gets VRAM updates through VRAMObserver.
	  This is a preparation for later optimisations.
	* Make sure no sprite checking is done in spriteless display modes.
	* In a spriteless mode, or when sprites are disabled, the entire sprite
	  plane is skipped. This is more efficient than the previous checks for
	  a "no sprites" situation, because it occurs earlier in the rendering
	  process.

2003-05-24 Herman Oudejans <hn.oudejans@quicknet.nl>
	* commands can now be on multiple lines in the console.

2003-05-23 Herman Oudejans <hn.oudejans@quicknet.nl>
	* Fixed an error when processing the commandline and one
	  device exists twice in the configurationfile(s).

2003-05-21 Herman Oudejans <hn.oudejans@quicknet.nl>
	* Double commands in the console commandhistory can no
	  longer occur.
	* Made 'remove doubles' and history size configurable

2003-05-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented run-time tuneable volume for sound devices

2003-05-19 Herman Oudejans <hn.oudejans@quicknet.nl>
	* Implemented search history in the console
	* added Ctrl-C to clear the current command.

2003-05-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Added MoonSound:
	  - code was largly taken from mame
	  - fm part is quite good already
	  - wave part still needs some improvements:
	     - some waves sound weird at certain frequencies??
	     - missing features like: pseudo-reverb, LFO, vibrato, ...

2003-05-18 Maarten ter Huurne <maarten@treewalker.org>
	* Released openmsx-0.3.1.

2003-05-18 Herman Oudejans <hn.oudejans@quicknet.nl>
	* Converted a lot of spaces into tabs.
	* Changed int into bool for zoomSurface().
	* Fixed indentation in zoomSurface().

2003-05-18 Maarten ter Huurne <maarten@treewalker.org>
	* Removed "ConsoleSource" directory and moved its code elsewhere:
	  - actual console code moved to new directory "console"
	  - command code moved to existing directory "events"
	  - circular buffer code moved to directory "src"
	* Moved input devices code to new directory "input".
	  Maybe more can be moved there in the future.
	* Changed "cpudebug" command into "cputrace" setting.
	  Also fixed the duplicate "cpudebug" command on a turbo R (dual CPU).
	  Note: this setting exists only if "cpu" dir is built in debug mode.

2003-05-17 Maarten ter Huurne <maarten@treewalker.org>
	* Removed EmuTime parameter from Command::execute.
	  Since most commands do not interact with the emulated machine,
	  they do not need EmuTime.
	* Removed EmuTime parameter from EventListener.
	  The only reason this was needed before, was to execute commands.
	* Removed code that is no longer needed in the single thread model.
	* Fixed event handling during pause.

2003-05-17 Herman Oudejans <hn.oudejans@quicknet.nl>
	* Implemented configurable file-extentions.
	* Lined the help-text up, properly.
	* Renamed lines/rows/columns/width/height -> rows/columns
	* Fixed a uncaught exception when the SDLConsole is resized
	  and the backgroundfile can't be loaded.
	* Fixed -h when the specified machine can't be loaded.
	* Console now resets the scrollback when any key other than
	  page up/down is used.
	* Fixed the blinking cursor in the SDLConsole.
	* Fixed Ctrl-A/E when numlock is active
	* Fixed a few small bugs in the CommandLineParser.

2003-05-17 Reikan <openMSX4Win32@ranpub.com>
	* Changed to single thread model.
	  Now fixed SDLGL renderer fault on XFree86-4.3.0.

2003-05-11 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed colour of font on GLConsole overlayed on Text1 mode.

2003-05-11 Herman Oudejans <hn.oudejans@quicknet.nl>
	* Fixed segfault in the SDL background scaling when using 8bpp.
	  tested and working in 15,16 and 24 bpp. in 8 bpp it doesn't
	  give a segfault, but since the whole display isn't working, I
	  can't see if the scaling really works.
	* SDL backgroundimage can now have any pixelformat.
	* SDL Console characters are no longer blended.

2003-05-10 Herman Oudejans <hn.oudejans@quicknet.nl>
	* Fixed wrong initial default size of the console.
	* Fixed range of the consolecolumns-setting

2003-05-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Replaced old YM2413 code by new one. Volume still needs some tuning:
	   - relative volume between music and drum channels
	   - relative volume between YM2413 and other sound chips

2003-05-09 Herman Oudejans <hn.oudejans@quicknet.nl>
	* Added resizing and moving to the console.
	* Extended the console editing keys.
	* Added keyrepeat to the console.
	* Added setValueInt() and setRange() to Integersetting.
	* Added SDL background scaling.

2003-05-08 Maarten ter Huurne <maarten@treewalker.org>
	* Another GCC 3.3-pre fix: passing signed byte references as unsigned
	  byte references. Typecasting to "(byte &)" instead of "(byte)" works
	  on both GCC 3.2 and GCC 3.3-pre.

2003-05-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* a few fixes in new YM2413 code. Still not made default because
	  drums in illusion city are screwed

2003-05-06 Maarten ter Huurne <maarten@treewalker.org>
	* Compiled with GCC 3.3-pre:
	  - Fixed missing "#include <cassert>" directives.
	  - Fixed some warnings, suppressed others.

2003-05-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* release openmsx-0.3.0
	* added "mbstereo" extension

2003-05-04 Maarten ter Huurne <maarten@treewalker.org>
	* Swapped the threads: event handling now occurs in the main thread,
	  emulation occurs in a worker thread. Inspired by Reikan's UOW32 patch.
	  This removes a lot of differences between the Linux and Win32 ports.
	  Also, renderer switching and runtime full screen toggle should work
	  on Win32 now.
	* Bug fixes on thread swap:
	  - Fixed compile error on GCC 2.95.
	  - Workaround for incompatibility of SDL_PushEvent.
	  - Print exceptions thrown in emulation thread.
	* Minor bug fix on video init attempts in RendererFactories.
	* Merged Reikan's configure.ac improvements.
	* Fixed magnified sprites in sprite mode 2.
	  Glitches in Eindeloos are gone.
	* Fixed bug: display was disabled after switching renderers during
	  overscan (for example Unknown Reality title screen).
	* Fixed bug: possible writes outside screen buffer on overscan.
	  Crashed Ark-a-Noah on SDLHi.

2003-05-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Trojka starts playing ADPCM samples without initializing the
	  sample volume. The sample volume after a reset was set to
	  minimum, changed it to maximum.

2003-05-03 Maarten ter Huurne <maarten@treewalker.org>
	* Removed EmuTime parameters from Settings methods.
	* Centralized GL header check in new GLUtil.hh file.
	  In the future, GLUtil.hh will contain GL utility classes/functions.
	* Replaced "renderer" command by a "renderer" setting.
	  This also makes sure the user cannot switch to a non-existant renderer.
	* Moved "Rom.(hh|cc)" and "SRAM.(hh|cc)" from "src" to "src/memory".
	* Removed obsolete "cfg" directory; configurations are in "share" now.

2003-05-02 David Heremans <david.heremans@gnu-linux.net>
	* Added the Contrib/cbios directory to 'make install'
	* Have make install create some nice softlinks
	* Added md5sum files

2003-04-30 Maarten ter Huurne <maarten@treewalker.org>
	* Introduced Blender class and use it from Character/BitmapConverter.
	* Implemented narrow SCREEN6 sprite pixels in SDLGL.
	* Implemented blended SCREEN6 sprite pixels in SDLLo.
	* Refactored ROM related classes to get device ID from hardwareconfig.xml
	  into RomInfo.
	  In the process all mapper type code has been centralized in RomInfo.
	  All of this just to get "slot 3.3: Firmware" in the slotmap ;)

2003-04-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fix tabcompletion for absolute paths

2003-04-28 David Heremans <david.heremans@gnu-linux.net>
	* Fixed make install to /opt/openMSX and create extra link for
	  binary in /usr/local/bin
	* added (no)debug to main makefile

2003-04-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented more complete filename completion as described in
	  feature request 713442

2003-04-27 Maarten ter Huurne <maarten@treewalker.org>
	* Added a console background to SDLGL when no image is used.
	* Minor cleanups to console classes.
	* Take horizontal adjust into account for calculating HR and horizontal
	  retrace interrupt timing.
	  Fixes some of the glitches in No Waste, but not all.
	* Fixed text colour in Text1 mode in SDLGL: reverted a misguided
	  optimisation. (in GL, full intensity of int is 0x7FFFFFFF, not 0xFF)
	* Updated C-BIOS to version 0.16.

2003-04-25 David Heremans <david.heremans@gnu-linux.net>
	* Allowed JoyNet to accept a new connection if
	  previous connection is closed.

2003-04-25 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed sprite colours in Graphic5 (SCREEN6).
	  The turbo R boot logo looks OK now.
	  However, narrow sprite pixels do not yet work in SDLGL.
	* Implemented horizontal scroll high and multi page in SDLGL.
	  This implementation is based on Wouter's horizontal scroll patch.
	* Implemented horizontal scroll high and multi page in SDLHi/Lo.
	Note that some horizontal scroll features are still missing:
	* Multi page scrolling in combination with deinterlace.
	* Scrolling in character modes.
	However, the current state should be enough to run most games and demos.

2003-04-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* if an extension exists both in user as in system directory, prefer
	  the one in user directory

2003-04-23 Maarten ter Huurne <maarten@treewalker.org>
	* Added update calls for horizontal scroll settings.

2003-04-22 Maarten ter Huurne <maarten@treewalker.org>
	* Partial horizontal scroll implementation: scroll low and border mask.
	  Scroll high and multi page to be done.
	  Space Manbow works fine in MSX2+ mode now.

2003-04-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Improved DACSound quality:
	   - improved quality at the expense of an (extra) delay
	   - samples in Swiss Demo sound acceptable now
	   - modplayer sounds better but still not very good
	* Updated FMPAC:
	   - ROM is not visible while SRAM is active

2003-04-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Added alternative YM2413 core (implemented by Jarek Burczynski):
	   - still needs some work before it can replace old core
	      - volume needs some tuning
	      - performance optimizations (silent channels)
	      - bug fixes(?)
	   - if you want to try it copy YM2413.cc.new and YM2413.hh.new over
	     YM2413.cc and YM2413.hh and recompile

2003-04-18 David Heremans <david.heremans@gnu-linux.net>
	* Fixed a bug in JoyNet, but need a program with a good asyncron
	  protocol to test it

2003-04-17 Maarten ter Huurne <maarten@treewalker.org>
	* Separated drawSprites from drawDisplay in subclasses of PixelRenderer.

2003-04-16 Maarten ter Huurne <maarten@treewalker.org>
	* Moved display coordinate calculation from subclasses to PixelRenderer.

2003-04-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Reworked SCC
	   - Manuel Pazos's SCC detection routine works correctly now
	   - Optimized for common case. You mostly write to SCC and hardly
	     ever read from it

2003-04-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Reworked consoles:
	   - splitted console in "core console" and "console renderer",
	     the main advantage is that command history is preserved
	     while switching renderers

2003-04-12 Maarten ter Huurne <maarten@treewalker.org>
	* Created util.hh: currently only contains fillBool, which used to be
	  duplicated in SDLRenderer and SDLGLRenderer.
	* Removed system.h: this file has probably been obsolete for some time,
	  but managed to escape everyone's attention.
	* Changed SDLGLRenderer to use SpriteConverter.

2003-04-10 Maarten ter Huurne <maarten@treewalker.org>
	* Moved the VDP and rendering code into new "video" directory.
	  Thanks to Manuel for suggesting how to solve symbol dependencies.
	  But I still don't like recursive Make...

2003-04-09 Maarten ter Huurne <maarten@treewalker.org>
	* Merged SDLLoRenderer and SDLHiRenderer into SDLRenderer.
	  Template expansion replaces duplicated code.
	  From a user perspective, "SDLLo" and "SDLHi" still exist.

2003-04-06 Manuel Bilderbeek <manuel@msxnet.org>
	* Clean up in RomInfo stuff for empty ROMs. Note that I'm now assuming
	  that an empty ROM is always an empty SCC. Is this a valid
	  assumption? The problem is that `forced' ROM types (as with an empty
	  SCC) are not put in the ROMInfo. So I can't check if it is really
	  an SCC...

2003-04-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Added Korean80-in-1 mapper type
	* Added Korean90-in-1 mapper type
	* Added Korean126-in-1 mapper type
	* Implemented "keyjoystick", joystick emulation via keyboard:
	   - use like this "plug joyporta keyjoystick"
	   - joystick direction is mapped on cursors
	              button-A               space
	              button-B               left alt
	   - TODO mapping should become configurable
	   - TODO you should be able to configure more than one keyjoystick
	* Implemented V9958 CMD bit:
	   I don't know any program that actually uses this, so it is
	   not yet tested

2003-04-04 David Heremans <david.heremans@gnu-linux.net>
	* Getting everything in /opt/openmsx installed, no links yet

2003-04-04 Maarten ter Huurne <maarten@treewalker.org>
	* Introduced SpriteConverter, a utility class for the Renderers to use,
	  similar to BitmapConverter and CharacterConverter.
	* Changed SDLHiRenderer to use SpriteConverter.
	* Removed PixelRenderer's protected fields from SDLGL and SDLHi.

2003-04-03 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed remaining reads of uninitialised VDP fields.

2003-04-02 David Heremans <david.heremans@gnu-linux.net>
	* First cleanups to prepare for a 'make install'

2003-04-02 Maarten ter Huurne <maarten@treewalker.org>
	* Minor cleanups in SpriteChecker.

2003-03-31 Maarten ter Huurne <maarten@treewalker.org>
	* Turned DisplayMode into a class (makes code easier to read).
	* SpriteChecker no longer checks sprites in text mode.
	* Various minor cleanups along the way.

2003-03-31 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Don't abort (only warn) when there occurs an error during processing
	  of autocommands
	* Converted "frontswitch" command into a setting

2003-03-30 Maarten ter Huurne <maarten@treewalker.org>
	* Removed fullScreen parameter from Renderer constructors.
	* Made Renderer constructors private, only available to their
	  respective factories.
	* VDP subsystem reset methods are no longer called by their constructor,
	  instead they are called explicitly by the VDP.
	* Removed EmuTime parameter from VDP subsystem constructors.
	* Rearranged VDP constructor to remove overlap with reset method.
	* Fixed uses of display mode which could not yet handle the YJK bits.
	* Fixed a tricky bug that could occur if rendering was performed in the
	  middle of a series of updates that all occur at the same EmuTime.

2003-03-29 Manuel Bilderbeek <manuel@msxnet.org>
	* Moved other configs from src/cfg to share/machines
	* Added some more extensions
	* Changed settings.xml to use cbios-msx2 and added skins/ prefix to
	  ConsoleFont.png
	* Updated the HOWTO. I wish the make install was finished, so that I
	  can cut 10% of the HOWTO... (it's getting complicated to explain...)

2003-03-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed crashes on missing arguments (e.g. "openmsx -ext")
	* Added extra FDC names:
	     National  --> MB8877A
	     Panasonic --> TC8566AF
	     Philips   --> WD2793
	  The old names are deprecated, as soon as the machine configuartions
	  are changed to use the new names, the old names will be removed.
	* Fixed crash on missing console font

2003-03-28 Manuel Bilderbeek <manuel@msxnet.org>
	* More refactoring of Rom objects to add RomInfo:
	  - all Rom objects now have a RomInfo object
	  - get information that was in the romdb from that object
	  - slotmap uses this and prints real Rom info, when available; later,
	    the GUI should be able to use this too, in some way
	  - note that all MSXRom constructors changed :-)
	  - note that it's my first big change, please fix things that
	    could be a lot better and tell me about it :-)
	    Maarten, Wouter and Joost: thanks for your help!
	* Added loads of machine configs (thanks Atarulum):
	  - when we decide what to do with the patches for the FDC, I'll
	    add the others

2003-03-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed RomPanasonic SRAM
	* Optimized VDPCmdEngine for common case: no command in progress

2003-03-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed VDP Command Engine bug:
	   - on every sync() the engine processed at least one 'pixel',
	     when you poll the VDP very fast (R800) the time between
	     two syncs is less than one pixel. This screws up the
	     bookkeeping.
	   - Fixes MSXView startup problem, Relax demo, ...

2003-03-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Another directory structure change:
	   moved machines/     -> share/machines/
	         extensions/   -> share/extensions/
	         etc/romdb.xml -> share/romdb.xml
	         settings.xml  -> share/settings.xml
	* Create share directory, moved a lot of files around

2003-03-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Reimplemented Panasonic memory system:
	   - in TurboR rom/ram are tightly connected (dram mode, ...)
	     Memorymapper, RomMapper, BiosRom are now implemented as special
	     as special devices
	   - TurboR hardwareconfig.xml updated
	   - MSXView almost works now, without "set cmdtiming broken" openmsx
	     wait for a never ending VDP command. Still investigating...

2003-03-22 Manuel Bilderbeek <manuel@msxnet.org>
	* Refactored ROM mappertype retrieval/ROM Info (WIP, to enable readout
	  of ROM info in the console.)

2003-03-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented timeout for reading mouse:
	   - this fixes the '"plug joyporta mouse" in settings.xml' bug
	   - current timeout is 1/100s, I've no idea of the timeout
	     value of a real MSX mouse

2003-03-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Various minor optimizations / cleanups, mostly better cache for
          unmapped memory regions

2003-03-16 Manuel Bilderbeek <manuel@msxnet.org>
	* When a ROM is found in the romdb, the info about the ROM is now
	  printed. Later, this info could be stored somewhere, so that the GUI
	  can use it to show a ROM title, e.g.

2003-03-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Added HALNOTE mapper type:
	   - Doesn't work yet! Only 'normal' rom switching is emulated.
	     The program also writes to pages 0 en 3 and it selects rom
	     pages > 0x80, I've no idea what this should do.
	* Fixed format command, apparently I broke it several months ago.

2003-03-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented "vramdump" console command, only available when
	  compiled with DEBUG

2003-03-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Reworked MSXRom:
	   - made a (small) subclass for every mapper type:
	* Moved MSXRom MSXRam related files to a new directory "memory"
	* Fixed rom-cartridge SRAM saving, path was wrong:
	   - it is now ~/.openMSX/persistent/roms/<romname>/<sramname>

2003-03-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented "Harry Fox" mapper type
	* Fixed ASCII8 mapper type:
	   Annimal Land works now

2003-03-03 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed bug in PixelRenderer: finishFrame was called every frame,
	  even with frame skip active.
	  This also fixes the special effects in GL with frame skip active.

2003-03-02 Maarten ter Huurne <maarten@treewalker.org>
	* Introduced RendererFactory.
	  This should help in making the renderer selection a setting.
	  It will also make it possible to query which renderers are available.

2003-03-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Converted "frameskip" console command into a setting
	* Implemented BooleanSetting as a specialization of EnumSetting<bool>
	* Fixed path resolution bug:
	   all files were also searched for relative to the current directory

2003-03-01 Maarten ter Huurne <maarten@treewalker.org>
	* Updated C-BIOS to version 0.15.

2003-03-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Converted "throttle" console command into a setting
	* Converted "pause" console command into a setting
	* Converted "mute" console command into a setting
	* Converted "console" console command into a setting

2003-02-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Converted "speed" console command into a setting

2003-02-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented free slot selection:
	   - this is only a temporary solution, it will very likely change
	     in the next release
	   - when you specify -1 for the primary slot, the cartridge will
	     be inserted in a free external slot. Very usefull to write
	     generic extensions.
	* romdb.xml is now searched in /opt/openMSX/etc/romdb.xml
	                         or in ~/.openMSX/etc/romdb.xml
	* removed -fmpac and -musmod command line options, they are
	  replaced by extensions

2003-02-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* extension directory now has the same structure as the
	  machines directory:
	   - for example the scc extension lives in
	       ~/.openMSX/extensions/scc/hardwareconfig.xml
	* Implemented Jon's SCC amplitude measurements

2003-02-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented command line extensions:
	   - you can load configuration files located in
	      ~/.openMSX/extensions/
	      /opt/openMSX/extensions/
	     with the "-ext" command line option
	   - example:
	      ./openmsx SDNATCH1.DSK -ext scc+
	* Removed -msx1 -msx2 -msx2+ -turbor command line options
	* SRAM of rom cartridges is saved in
	    ~/.openMSX/persistent/roms/<rom-name>/

2003-02-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented "console_font" setting:
	   - change the console font at run-time
	* Fixed SCC+

2003-02-19 Maarten ter Huurne <maarten@treewalker.org>
	* Implemented "toggle" command, which toggles any BooleanSetting.
	* Replaced "fullscreen" command by "toggle fullscreen".
	* Support key binding of command including parameters.

2003-02-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Reworked File / FileContext classes:
	   - separated "searchpath-resolution" from file opening
	* Implemented "console_background" setting:
	   - change the console background at run-time

2003-02-16 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed a bug in the VDP, where display-on was reported before the sync
	  with VDP subsystems was completed. Can cause the command engine to
	  run too slow, among other things.

2003-02-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* First step to persistent state directories:
	   - persistent state files are saved in
	      ~/.openMSX/persistent/<machine>/<username>/
	   - <machine> is the name of the directory where we found the
	     hardware description. Maybe we should get this from inside the
	     config file?
	   - it's not yet possible to specify <username>, so for now it's
	     always "untitled<n>"
	* Default machine can be specified in settings.xml:
	   - see example settings.xml, this will load
	      ~/.openMSX/machine/nms8250/hardwareconfig.xml
	* Added "-machine" command line option

2003-02-13 Maarten ter Huurne <maarten@treewalker.org>
	* Made "full screen" into a setting.
	  The "fullscreen" command still works, but will disappear in the future.

2003-02-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Uninline cpu rdmem and wrmem slowpaths:
	   this actually increased performance a little
	* RTC uses generic SRAM class for persistent data:
	   - SRAM is now the _only_ class in the whole tree that writes files
	   - parameters "filename, load, save" changed to "sramname, loadsram,
	     savesram". This means all configuartion files must be updated.
	* Implemented SCC+ subtypes:
	   "Snatcher" "SD-Snatcher" "mirrored" "expanded"

2003-02-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed MSX-AUDIO mapper:
	   - it has 4 pages of 32kB instead of only 2
	   - it has 4kB RAM
	   - is mirrored at 0x8000-0xffff
	* Fixed Y8950 interrupt masks

2003-02-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented Panasonic MSX-Audio mapper type (untested)

2003-02-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Compiled with some extra warnings enabled and fixed the
	  resulting warnings
	* Renamed MSXRomDevice to Rom (it isn't a device anymore)
	* Default values for settings.xml:
	   - all sections in settings.xml now have default values if they
	     are left out the config file
	   - don't abort when settings.xml is not found
	   - but I really advise _against_ using these features

2003-01-31 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented "user directories" (see settings.xml)
	* Fixed "specify other config file" bug
	* Relative-from-config was broken, fixed it

2003-01-30 David Heremans <david.heremans@gnu-linux.net>
	* altered a code comment and added some extra config examples

2003-01-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented home-directory-substitution for local files:
	   When a filename starts with "~", this character is replaced by
	   the content of the environment variable HOME. I'm not sure
	   this will work for non-UNIX OS'es.
	* Implemented system-directories:
	   - The files romdb.xml, msxconfig.xml and settings.xml are searched
	     in the "system directories". For the moment these are (in this
	     order)
	        ~/.openMSX/
	        ~/openMSX/
	        /usr/local/etc/openMSX/
	        /etc/openMSX/
	     But we need to discuss about this list. Note that "." is not in
	     the list.

2003-01-27 David Heremans <david.heremans@gnu-linux.net>
	* Increased usefulness of error message in DeviceFactory

2003-01-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Automatically load "settings.xml" on startup:
	   - you can specify an alternative file with the "-setting" command
	     line option
	   - For the moment "settings.xml" must be in the current directory
	* Moved hard-coded HotKey bindings to settings.xml

2003-01-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed Z80/R800 switching again
	* Removed "sync_interval" parameter from RealTime

2003-01-26 Maarten ter Huurne <maarten@treewalker.org>
	* Relaxed over-zealous assert in PixelRenderer by one tick.

2003-01-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed TurboR assertion:
	   targetTime wasn't set properly when switching CPU (Z80 <-> R800)
	* Added dummy MSX-Midi:
	   Illusion city works now!

2003-01-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Reworked MSX-MUSIC / FMPAC:
	   removed enable/disable logic from MSX-MUSIC

2003-01-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Renamed "TurboR" FDC type to "Panasonic"
	* Fixed "cpudebug" command (I broke it yesterday)
	* Fixed MSXMatsushita:
	   this caused FS-4700 build-in word processor hang
	* Removed ROM files from CVS

2003-01-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Allow muliple commands with the same name:
	   - for example both Z80 and R800 could have a "cpudebug" command
	     at the same time (not implemeted yet)

2003-01-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Removed SearchPath stuff
	* Relative paths in config files are now relative to the location
	  of the config file:
	   - this together with the change above probably means you have
	     to rewrite some/all of your config files
	* Moved some #include's from .hh to .cc

2003-01-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented 8-bit unsigned 16-bit signed DAC
	* Implemented MSX-AUDIO 13-bit DAC:
	   untested because TurboR (needed for modplayer) is broken
	   for the moment

2003-01-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed MSXF4Device:
	   FS-A1FX (re)boots correctly now

2003-01-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Removed possibility to use other than XML config files

2003-01-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed Kanji12
	* Removed some unused classes from config directory

2003-01-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented Kanji 12x12:
	   - not tested, I don't have correct ROM
	* Implemented front switch:
	   - use console command "frontswitch [on/off]"
	   - not tested yet, will do it tomorrow

2003-01-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Added powerOff() method to MSXDevice
	* Removed getCurrentTime() calls from destructors

2003-01-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* removed MSXCPU::getTargetTime() method
	* added EmuTime argument to the execute() method of a Command:
	   this removes some of the calls to MSXCPU::getCurrentTime()
	* An empty SCC cartridge no longer needs "/dev/zero" as filename,
	  just don't specify a filename:
	   this also works in OSes that don't support /dev/zero
	* Removed "readromfile" parameter from SCCPlusCart:
	   if you don't want to read a rom just don't specify one
	* Better(?) rom placement heuristics:
	   fixes zanac

2003-01-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed CPU on big endian machines
	* TurboR PCM update:
	   - It now works in Seed of Dragon, although the frequency seems
	     wrong. The game also hangs when you start to play.

2003-01-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed CPU HALT instruction
	* Semi-fixed CPU/Scheduler interaction:
	   - seems to work, but I still need to take a very close look at
	     the code

2003-01-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Large CPU rewrite:
	   - we never perform IO at a timestamp greater or equal than
	     the earliest sync point
	   - 1% - 2% slowdown compared to previous implementation
	   - ZEXALL tests still pass
	   - still need to verify if the timimng of the instructions is
	     still correct

2003-01-05 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed mode number for Text 2 in VDP::updateColourBase.
	* Recalculate pattern and colour base when switching modes.

2003-01-04 Maarten ter Huurne <maarten@treewalker.org>
	* Implemented colour and pattern index mask calculation.
	* Fixed remaining Doxygen warnings.

2003-01-03 Maarten ter Huurne <maarten@treewalker.org>
	* Fixed Doxygen warnings.
	* Fixed I/O port handling of Matsushita switched device, which I forgot
	  in yesterday's changes.

2003-01-02 Maarten ter Huurne <maarten@treewalker.org>
	* Moved I/O port registration out of VDP and into DeviceFactory.
	  Eventually, all I/O port registration should move to the machine
	  description file.
	* Moved I/O port registration of all other I/O devices out of the
	  device and into DeviceFactory (or FDCFactory in one case).

2003-01-01 Maarten ter Huurne <maarten@treewalker.org>
	* Workaround to prevent out-of-order I/O with the VDP.
	* Added asserts to VDP code to check timing constraints.
	* Fix for sprites in planar modes.
	* Fixed behaviour of port #99, #9A and #9B interference.
	* Colour and pattern base mask calculation are now done in a single
	  method each.

2002-12-30 Joost Yervante Damad <joost@lumatec.be>
	* updated AUTHORS

2002-12-30 Maarten ter Huurne <maarten@treewalker.org>
	* Let VDPVRAM::Window notify its observer of base/index changes and
	  windows that become disabled.

2002-12-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Autodetect BASIC ROM cartridges:
	   code mostly taken from windows port
	* Don't abort when "romdb.xml" is missing, just print a warning.
	* Added a lot of const qualifiers
	* Implemented TurboR PCM device:
	   - only playing (no recording)
	   - sound quality is really bad (like all our DACSound based devices)

2002-12-29 Maarten ter Huurne <maarten@treewalker.org>
	* The VDPVRAM::VRAMObserver interface is put to use for the first time,
	  by SpriteChecker. Cleans up the VDP subsystem synchronisation code.

2002-12-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Released 0.2.1
	* Better rom placement heuristics:
	   should solve bug 658430 point 3 (rom files without "AB" header)
	* Allow filenames that contain a ',' on the commandline
	* Support roms that don't like to be mirrored:
	   - solves bug 658430 point 1 (BASIC prog at 0x8000)
	   - can't be autodetected (yet?), you must specify romtype as
	     "PAGE[...]" (examples "PAGE2", "PAGE01", "PAGE12", ...)
	   - romdb.xml should be updated for these 'problem' roms

2002-12-28 Maarten ter Huurne <maarten@treewalker.org>
	* Cleaned up sprite checker synchronisation.

2002-12-27 Maarten ter Huurne <maarten@treewalker.org>
	* Created VDPSettings class, moved cmdTiming there.
	* Moved limitSprites from config to VDPSettings.

2002-12-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Support for second MSX-AUDIO:
	   - add this to the AUDIO section in the config
	      <parameter name="number">2</parameter>
	   - alex' modplayer doesn't work yet :-(

2002-12-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Tabcompletion for setting values:
	   example:  set accuracy p<tab>
	* Implemented "cmdtiming" setting:
	   Switch between real or instantaneous VDP command timing.
	   Should only be used for debugging purposes.
	* Implemented YJK/YAE (screen11/12) rendering

2002-12-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Updated RealTime class:
	   - this should improve the cases where emulation is too slow,
	     but openMSX doesn't claim 100% CPU time
	* SDLLoRenderer inherits from PixelRenderer iso Renderer
	   - SDLLoRenderer now also has "accuracy" setting

2002-12-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Made some IDE stuff configurable:
	   - master/slave device
	   - HD image
	   - HD size is not yet configurable
	   - see someconfig.xml for format of new config

2002-12-17 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented MSX Bunsetsu Henkan / Jisyo:
	   - I don't have much info on this device, but at least BUNSDUMP.BAS
	     gives the correct result

2002-12-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed assertion in VDP when computer was reset while in PAL mode

2002-12-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented MSXDeviceSwitch:
	   - IO-ports 0x41-0x4F are (possibly) shared between several devices
	   - IO-port 0x40 selects the active device
	* Converted MSXS1985 to a MSXSwitchedDevice
	* Converted MSXFS4500SRAM to a MSXSwitchedDevice:
	   - renamed to MSXMatsushita
	   - implemented PUT KANJI function (IO-ports 0x43-0x44)

2002-12-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented correct mirroring for National based FDC's

2002-12-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented mmap() in File classes:
	   - map a file direclty into the process memory range, the OS can
	     perform some optimizations this way:
	      - only read data when actually used
	      - faster swapping
	      - ...
	   - I'm not sure non-UNIX OSes (windows) have a similar function,
	     if not there is a fallback implemented in FileBase (we also
	     need this fallback for FTP, HTTP, ... files)
	* Simplified/updated MSXRomDevice:
	   - simpler interface: you no longer need to inherit from MSXRomDevice
	   - use mmap() to read files
	* Implemented FS4500SRAM (suggestions for a better name are welcome):
	   put this in your config file:
	     <device id="FS4500 SRAM">
	       <type>FS4500SRAM</type>
	       <parameter name="loadsram">true</parameter>
	       <parameter name="savesram">true</parameter>
	       <parameter name="sramname">FS4500.SRAM</parameter>
	     </device>

2002-12-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* added SRAM class:
	   This is just a small helper class that offers loading and
	   saving of a byte-array. For the moment only MSXRom and MSXFmPac
	   use it.

2002-12-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* added CRC16 routine, can be used by FDC / FDCBackends
	* fixed TC8566AF: completely forgot to send step/side/motor
	   commands to the DiskDrive

2002-11-30 David Heremans <david.heremans@gnu-linux.net>
	* Still working towards raw track read

2002-11-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* fixed auto frameskip:
	   probably still needs some finetuning

2002-11-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed FDC bug (DriveMultiplexer)

2002-11-27 David Heremans <david.heremans@gnu-linux.net>
	* Working towards raw track read

2002-11-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* FDC rewrite, introduced DiskDrive and DriveMultiplexer classes:
	   - this is a relatively large rewrite, so I may have broken
	     something. I wanted to commit rather soon, so I only tested
	     the Philips FDC.
	   - WD2793 Type I commands are now executed the same as in the
	     flowcharts of the technical datasheet (verify step not yet).

2002-11-18 David Heremans <david.heremans@gnu-linux.net>
	* a small WD2793 update:
	   quick implementation of multi sector read
	   not tested and DSK backend needs to be changed
	   for correct behaviour!

2002-11-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Mapped TurboR keys to left and right windows key:
	   I haven't checked this, so possible I swapped left and right

2002-11-17 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* a few WD2793 updates (David please review):
	   MicrosolFDC partly works now: in BASIC the commands files load save
	   work, but starting a game from disk doesn't work.
	* converted "deinterlace" from a command to a setting:
	   - you should now use "set deinterlace [on|off]" instead of just
	     "deinterlace [on|off]"
	* converted "accuracy" from a command to a setting:
	   - you should now use "set accuracy [line|pixel|screen]" instead of
	     just "accuracy [line|pixel|screen]"

2002-11-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* renamed BrazilFDC to MicorsolFDC:
	   doesn't work yet, I'm investigating...
	* cleanups, small fixes in WD2793

2002-11-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented 'PUT KANJI acceleration' of S1985:
	   This fixes the font printing problem of the FS-4600F internal
	   software. AFAIK the FS-4600F now works completely (or at least
	   as good as NMS8250).
	   You need to add this to the FS-4600F config file:
	     <device id="S1985">
	       <type>S1985</type>
	     <device>

2002-11-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* National mapper type fixes:
	   - FS-4600F internal software seems to work, but I'm not certain
	     the 1st and 2nd menu option work as they should. Can someone
	     verify this?
	* Fixed National FDC

2002-11-11 David Heremans <david.heremans@gnu-linux.net>
	* completed timing in WD for writeTrack command:
	  Timing still needs some fine tunning, but not much
	* implemented writetrackdata in DSK backend:
	  Formatting with _format in BASIC seems to work
	  Need to compare with some real disks just to be sure.

2002-11-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* fixed PhilipsFDC: IDEFDISK doesn't coredump anymore
	* use old style file functions: should work with both old and new gcc

2002-11-08 Maarten ter Huurne <mth@stack.nl>
	* Improved scanline emulation: the dark line is now an interpolation of
	  the visible lines above and below.
	* Added horizontal blur: emulates the fact that MSX monitors and TVs
	  are not as sharp as typical PC monitors. Many game graphics are drawn
	  with this blurring in mind and look poor on a sharp display.
	Note: scanlines and blur are implemented only in the GL renderer.

2002-11-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* added VDP reset() methods (not finished)

2002-11-03 Maarten ter Huurne <mth@stack.nl>
	* Initial version of generic settings is working now.
	  Currently there is only 1 setting: scanline alpha.

2002-11-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* minor cleanups
	* fixed a few uninitialized variables:
	   - discoverd with valgrind
	   - some were harmless, fixed anyway to keep valgrind quiet

2002-11-02 David Heremans <david.heremans@gnu-linux.net>
	* Added two calls to the FDC backend:
	   These should later be used to enable the writeTrack command

2002-11-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Basic TC8566AF disk controller support (TurboR):
	   - Based on code from NLMSX written by Frits Hilderink
	   - TurboR boots now! It still has a lot of missing features though.

2002-11-01 Maarten ter Huurne <mth@stack.nl>
	* Scanline emulation in SDLGLRenderer.
	  Very rudimentary in this stage, but it works.

2002-10-31 Maarten ter Huurne <mth@stack.nl>
	* Changed SDLGLRenderer to make it a subclass of PixelRenderer.
	* Minor cleanups in SDLHiRenderer.

2002-10-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* rewrite of FDC infrastructure:
	   - the existing diskroms are too different to handle them all
	     in one class -> made FDCFactory that instantiates the right
	     object
	   - Implemented support for:
	       - Philips based diskroms: were already supported
	       - Brazil  based diskroms (needs better name?): IO-based
	           were already supported, but I never tested them
	           I also didn't test the new implementation
	       - National based diskroms (needs better name?):
	           also untested
	     The three diskroms above are all build around the WD2793 (or
	     compatible) controller.
	   - Configuration format changed slightly, see msxconfigFDC.xml
	     for details

2002-10-29 Maarten ter Huurne <mth@stack.nl>
	* Minor cleanups in PixelRenderer and SDLHiRenderer.

2002-10-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented mapper type "NATIONAL":
	   completely untested, will have to wait till this weekend

2002-10-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Replaced all file reading related classes with a new class
	  structure. This structure:
	   - has a simpler and more robust interface
	   - is easier to port(?)
	     a large part of the WIN32 patch deals with file reading stuff
	   - has real filetype separation: rom, disk, tape, config files have
	     their own searchpaths

2002-10-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented "CartridgeSlotManager"

2002-10-25 David Heremans <david.heremans@gnu-linux.net>
	* "frameskip auto" completed

2002-10-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Cartridges are only inserted after configuration is parsed, this
	  allows in the future to have configurable cartridge slots
	* Added PANASONIC mapper type (for example used in Turbo-R for
	  MSX-VIEW ROM). Untested!!

2002-10-23 Maarten ter Huurne <mth@stack.nl>
	* Fixed bug in sprite drawing of SDLLo.
	* Fixed bug in initialisation of horizontal adjust.
	* PixelRenderer now offers left border calculation to its subclasses.
	* Bug fixes and cleanups in coordinate calculation of
	  SDLHiRenderer::drawDisplay; SCREEN0 no longer fails the asserts.
	* Cleanups in SDLHiRenderer::drawSprites.
	  Should be applied to other Renderers as well.

2002-10-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Rewrite of "CommandLineParser":
	   - CLI options and CLI file types must be registered now, this allows
	     to move the implementation of, for example the "-fmpac" option, to
	     the MSXFmPac class where it belongs.
	   - This should keep the CLI more up to date with code changes and
	     make it easier to support new CLI options / file types.

2002-10-21 David Heremans <david.heremans@gnu-linux.net>
	* "frameskip auto" implementation started

2002-10-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Replaced "Simple64Kb" device with "RAM" device. This device also
	  supports random sizes, so it is possible to make 8Kb machines.

2002-10-20 Maarten ter Huurne <mth@stack.nl>
	* Moved subdivision of area-to-be-rendered from SDLHiRenderer to
	  PixelRenderer. Also changed subdivision approach: before, displayPhase
	  would draw display area and the borders; while the new drawDisplay only
	  draws the display area and all the border colour drawing is done by
	  drawBorder.

2002-10-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented frameskip command:
	   TODO "frameskip auto", skip frames depending on CPU speed

2002-10-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Some IDE fixes:
	    Harddisk works now! Following is still hardcoded:
	      master: harddisk, size 1GB filename "hd.dsk"
	      slave : not connected
	    I'll change this in the next couple of days

2002-10-16 Joost Yervante Damad <joost@lumatec.be>
	* removed compile-time disables for now

2002-10-13 Maarten ter Huurne <mth@stack.nl>
	* Moved absolute X coordinate to screen X coordinate translation from
	  PixelRenderer to SDLHiRenderer.

2002-10-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented Sunrise IDE interface:
	   only interface, no IDE devices yet
	* Implemented very simple IDE harddisk:
	   IDE-BIOS detects the disk
	      IDE Master:LBA,Mode 4:OPEN MSX HARD DISK
	      IDE Slave :not detected.
	   but the disk can't be used. Probably because the HD isn't
	   partioned yet.

2002-10-12 Maarten ter Huurne <mth@stack.nl>
	* Split off some functionality from SDLHiRenderer into new PixelRenderer.
	  PixelRenderer will contain the common code of the pixel-based
	  renderers (SDLHi, SDLLo, SDLGL).

2002-10-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed sound on high endian machines (untested)

2002-10-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Horizontal adjust is only updated the next scanline:
	   fixes some glitches in the "threedee rules" part of "relax"

2002-10-05 Maarten ter Huurne <mth@stack.nl>
	Last minute Bussum fixes:
	* Temporarily reverted name table base fix.
	  This fix needs modifications in the renderers as well and I don't have
	  time right now to find out exactly where.
	* Rewrote PhaseHandlers to specify rectangles in VDP absolute coordinates
	  and using exclusive limits.
	  Fixes crashes on MSX1 and excessive draws, maybe more.
	Unknown Reality shows only minor glitches, so we can demo with pride!

2002-10-03 Maarten ter Huurne <mth@stack.nl>
	* Fixed bug in VDP: name table base was not adjusted for planar modes.
	  This caused wrong rendering in SCREEN7/8.
	* Disabled "inside window" check for now.
	  Parts of the code are not ready yet to use the VRAM windows properly.

2002-10-02 Maarten ter Huurne <mth@stack.nl>
	* Updated C-BIOS to version 0.13.

2002-09-30 Maarten ter Huurne <mth@stack.nl>
	* The Great VRAM Rewrite, part 4:
	  Introduction of VRAMObserver interface. Not used yet.
	* Minor VRAM cleanups.

2002-09-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Read/Write memory cache for SCC+
	* Unified Xanadu and Royal Blood mapper types

2002-09-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* SCC+ didn't work at all, fixed it.
	  Fixes Snatcher and SDSnatcher.
	* Fixed RoyalBlood mapper type (not sure about Xanadu)
	* Fixed Majutsushi, bad sound quality (DAC) though
	* Implemented CrossBlaim mapper type (untested)

2002-09-28 Maarten ter Huurne <mth@stack.nl>
	* Updated C-BIOS to version 0.12.
	* I forgot that the cbios.xml used TMS99x8A.
	  With a V9938, C-BIOS can run many MSX2 ROMs as well.
	  I created two separate config files: cbios-msx1.xml and cbios-msx2.xml.

2002-09-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* GLFont uses 16x16 character texture instead of 256x1

2002-09-22 Maarten ter Huurne <mth@stack.nl>
	* Updated C-BIOS to version 0.11.
	  Boukichi sure understands "release early; release often". :)

2002-09-20 Maarten ter Huurne <mth@stack.nl>
	* Updated C-BIOS to version 0.10.

2002-09-17 Maarten ter Huurne <mth@stack.nl>
	* Updated C-BIOS to version 0.08.

2002-09-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Added "deinterlace" command:
	   switch at-run-time between stable and unstable interlace
	   only SDLHiRenderer and SDLGLRenderer

2002-09-08 Maarten ter Huurne <mth@stack.nl>
	* Updated C-BIOS to version 0.07.

2002-09-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Enabled pixel accurate rendering in SDLHiRenderer:
	   - for some reason the NOTONLYSNESCANDOTHIS part in Unknown Reality
	     is not extremely slow (it is when using SDLGLRenderer)
	   - remember you have to manually enable pixel accurate rendering
	     with the command "accuracy pixel"
	* Enabled pixel accurate rendering in SDLLoRenderer

2002-09-08 Joost Yervante Damad <joost@lumatec.be>
	* mv configure.in -> configure.ac [autotools recommendation]
	* configure exits on failure to find SDL_image library

2002-09-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Correct blending in all non-paletted modes, no blending in
	  paletted modes
	* Implemented "accuracy" command. This allows to switch at-run-time
	  between pixel/line/screen accuracte rendering. For the moment
	  no screen accurate rendering and only for SDLGLRenderer.

2002-09-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Dont't stop when sound device couldn't be opened, just continue
	  without sound.

2002-09-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Added some Turbo-R specific devices:
	   - MSXTurboRPauze: without this BIOS gets stuck in pauze loop
	   - MSXS1990 (minimal): Needed to switch between Z80 / R800
	   - MSXF4Device (needs a better name): to distinguish between
	      cold/warm boot and Z80/R800 boot-pass
	   - MSXTurboRLeds
	  Turbo-R doesn't boot yet :-(

2002-09-01 Maarten ter Huurne <mth@stack.nl>
	* Updated C-BIOS to version 0.06.

2002-08-31 Maarten ter Huurne <mth@stack.nl>
	* The Great VRAM Rewrite, part 3:
	  SpriteChecker does all of its VRAM reading through VDPVRAM::Window.
	  Only CPU does non-windowed reads anymore.
	  All planar remapping occurs outside of VDPVRAM.

2002-08-31 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Move common code from SDLConsole and GLConsole to a new parent class
	* Added R800:
	   there is nothing implemented to switch from Z80 to R800, so for the
	   moment R800 is not yet usable

2002-08-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* SDLGLRenderer:
	   small cleanups
	   when interlaced, display odd fields half a line lower

2002-08-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* FDC supports 2 drives

2002-08-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented pixel-accurate rendering in SDLGLRenderer:
	   - scope part in Unknown Reality is correct now!
	   - some parts are _very_ slow now, implementation can still be
	     optimized a lot and speed should also improve when VDPVRAM
	     is finished.
	* Implemented "vdpregs" command to help vdp debugging

2002-08-26 Maarten ter Huurne <mth@stack.nl>
	* Updated C-BIOS to version 0.05.

2002-08-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented partial character rendering for SDLGLRenderer:
	   - fixes top border while vertical scrolling in Space Manbow
	   - fixes Psycho World
	* Implemented vertical scrolling in TextMode1 in SDLGLRenderer

2002-08-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Use SDL_image to load images (.png .bmp .jpg ...)
	* Implemented GLConsole for SDLGLRenderer
	    - old console didn't always work for SDLGLRenderer
	    - a lot faster
	    - per pixel alpha blending:
	       ConsoleBackground and ConsoleFont can be true RGBA images
	       (current pictures are .bmp, they don't have an alpha channel)

2002-08-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented R-Type mapper
	* Fixed vertical scrolling in text modes
	   (except TextMode1 in SDLGLRenderer)

2002-08-21 Maarten ter Huurne <mth@stack.nl>
	* Added C-BIOS 0.04 to Contrib directory.
	* Added config XML for using C-BIOS to src/cfg.

2002-08-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* VDP code:
	   - trivial fixes / cleanups
	   - low resolution (SDLLo) rendering improvements
	     try SCREEN 0 WIDTH 80
	     only 24bpp modes yet
	* Z80 fix:
	   IFF2 should be reset while acknowledging an IRQ
	   this fixes music in "Break-In"

2002-08-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* major cleanups, minor tweaks / fixes

2002-08-16 Maarten ter Huurne <mth@stack.nl>
	* Fixed wrong use of sizeof(array): it returns #bytes, not #elements.
	  Caused a segfault on Sparc.

2002-08-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Fixed SD-Snatcher loading bug:
	   - disk has a non-standard bootsector (sectors per track and number
	     of sides) is wrong. Updated heuristics to detect 9 sectors per
	     track and 2 sides in case disk image has 80*2*9 sectors.
	     How does the BDOS read this disk? Perhaps it uses the media
	     descriptor?

2002-08-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Split MSXMotherBoard in:
	   - MSXCPUInterface: handles communication between a MSXDevice and CPU
	        - registration of IO- and memory-space
	        - slotselection mechanism
	   - MSXMotherboard: keeps a list of all MSXDevices

2002-08-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* more Z80 cleanups
	* commands can now also be bound to key releases (was only keypresses)
	   example:  unbind F9
	             bind F9 "throttle off"
	             bind f9,up "throttle on"
	   this disables throttling while you hold F9

2002-08-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Z80 fixes:
	   V_FLAG was wrong with SUB/SBC/CP instructions
	* Z80 fixes:
	   XF and YF flags where wrong with BIT n,r instruction
	* major Z80 cleanup:
	   - greatly reduced code duplication in CPUCore.n2

2002-08-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* More robust Thread class
	* cleanups, especially in JoyNet
	* fix bug [592594] MSXFDC doesn't work with single sided disks

2002-08-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Z80 cleanups / fixes:
	   especially fixes for the 2 undocumented flags (bit 3 and bit 5)
	* New config file format for inserted disks / tapes
	* Applied Manuel's patch [592591]:
	   romdb.xml is searched with FileOpener

2002-08-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Full support for .XSA disk images

2002-08-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Enabled SDLConsole in SDLGL renderer:
	   current code is only a temporary solution for the following reasons:
	    - use of SDL_OPENGLBLIT is heavily discouraged, see
	        http://www.libsdl.org/pipermail/sdl/2001-November/039852.html
	    - transparancy doesn't work in 16-bit video modes
	      (an SDL limitation)
	   in the future we should make a native GLConsole

2002-08-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Allow multiple "md5" tags per "rom" tag
	* Low level tape support (experimental)

2002-08-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* wrote doc/commands.txt
	* cleanups, small fixes in RomTypes and MSXRom
	* added some entries in romdb.xml

2002-08-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* EmuTime cleanups:
	   introduced EmuDuration class
	    - the subtraction of 2 EmuTimes results in an EmuDuration,
	      this used to result in another EmuTime
	    - an EmuDuration can be added to / subtracted from an EmuTime,
	      this results in another EmuTime
	* DACSound:
	   - totally discarded old implementation
	   - new implementation is extremely simple, relatively slow, has
	     poor sound quality, but is bug free

2002-07-31 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Made "check-db":
	   a primitive tool to compare a romtype database against the build-in
	   rom autodetection algorithm
	* When console is up, keypresses are blocked for MSX-Keyboard:
	   this implementation should work in all cases (hopefully)

2002-07-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* cleanups
	* Support for "ROM database"

2002-07-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Experimental support for .xsa disk images
	* Removed "automappertype" parameter, you can still explicitly specify
	  autodetection by setting "mappertype" to "auto"
	* Added MD5 class:
	   will be used for mappertype detection of difficult ROMs

2002-07-24 Maarten ter Huurne <mth@stack.nl>
	* Added debug option NOTIME_EXECUTION, to make VDP command execute in
	  zero EmuTime. Useful for tracking "no/partial images" bugs.

2002-07-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* MSXDiskRomPatch supports 2 drives again

2002-07-22 Maarten ter Huurne <mth@stack.nl>
	* The Great VRAM Rewrite, part 2:
	  SpriteChecker does most of its VRAM reading through VDPVRAM::Window.
	  Updated doc/vram-addressing.txt with details of sprite indexing.
	  Proper support for planar modes is still missing.

2002-07-21 Maarten ter Huurne <mth@stack.nl>
	* The Great VRAM Rewrite, part 1:
	  Renderers do all their VRAM reading through VDPVRAM::Window now.
	  See doc/vram-addressing.txt for background info.

2002-07-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented "bind" and "unbind" command

2002-07-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Moved event related files to new directory
	* Added Keys class:
	   translates keyCodes to keyNames and vice versa

2002-07-09 David Heremans <david.heremans@gnu-linux.net>
	* Improved portbased interface to MSXFDC

2002-07-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Enabled console in SDLLoRenderer

2002-07-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Reenabled SDLLoRenderer:
	   - just a copy-paste from SDLHi and adjusted a few routines
	   - console is disabled in SDLLo
	   - not very well tested yet

2002-07-07 David Heremans <david.heremans@gnu-linux.net>
	* Added portbased interface to MSXFDC for Brazilian MSX's

2002-07-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Moved cassette related code to its own directory
	* Cleanups

2002-06-30 David Heremans <david.heremans@gnu-linux.net>
	* Added index mark to the FDC status register (not tested yet!)

2002-06-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Initial version of DiskImageManager (WIP):
	   - insert disk from commandline doesn't work yet
	   - MSXFDC compiles, but not yet tested
	   - MSXDiskROMPatch only supports 1 drive
	   - FDC_DSK backend only supports double sided disks
	* Insert disk from command line works again:
	   - just a hack, we need a better configuration format for this
	* MSXFDC still seems to work:
	  - config file changed slightly, see msxconfigFDC.xml
	  - David please check my modifications, especially the error
	    handling code

2002-06-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* MSXRom fix:
	   map 32kb ROMs in the right place

2002-06-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Small Mixer fix, cleanups

2002-06-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Enabled console background
	* Console font and background filename are read from config file

2002-06-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Moved thread related code to its own subdirectory
	* Added unregisterHotKey() and unregisterHotKeyCommand() methods
	* Enabled "renderer" command

2002-06-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Console commands and HotKeys are now executed by the main thread:
	   - this removes some (potential) races, so some bugs like
	       "This crashed once, but I can't reproduce it"
	     might be gone.
	   - this is a rather fundamental change, it might still contain some
	     glitches.
	* Removed all registerAsync__() methods:
	   they aren't used anymore and they shouldn't be in the future
	* Introduced condition variables (thread locking):
	   used in Scheduler to implement pause
	* Added unregisterEventListener() method

2002-06-18 David Heremans <david.heremans@gnu-linux.net>
	* Basic timing for all FDC Type I commands

2002-06-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Tab-completion now works for zero-length tokens

2002-06-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Use exceptions for command error reporting

2002-06-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Simplified MSXRomPatchInterface

2002-06-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Scheduler fixes
	* Removed MSX16KB device:
	   MSXGameCartridge can do everything what MSX16KB could
	* Renamed:
	     MSXRom           -> MSXRomDevice
	     MSXGameCartridge -> MSXRom
	* Moved common code to MSXRomDevice
	* "filesize 0" no longer means autodetection, instead use
	  "filesize auto" (or just don't mention filesize)

2002-06-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* ConsoleCommand parser now understands quoted tokens or tokens with
	  escaped characters. Examples:
	      diska a\ space.dsk
	      diska "a space.dsk"
	      diska a\"quote.dsk
	  It should now be possible to enter any string as a command token.

2002-06-11 David Heremans <david.heremans@gnu-linux.net>
	* basic FDC fully working:
	   Fixed minor bug (all my tested disks work now)
	   Implemented small speed up

2002-06-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Commands can now be unregistered again
	* cleanups

2002-06-10 David Heremans <david.heremans@gnu-linux.net>
	* basic FDC implemenation partialy working:
	   DSK backend working
	   All Type I functions working
	   Type II partial (readSector OK, writeSector doesn't check for write
	   protected images yet)
	   No Type III commands yet

2002-06-06 David Heremans <david.heremans@gnu-linux.net>
	* First step towards an FDC implemenation:
	   Basic structure is provided
	   MSXFDC as good as finalized.

2002-06-05 Joost Yervante Damad <andete@worldcity.nl>
	* preliminary auto* libpng support [David is learning auto* woowoo!]

2002-06-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
	* Implemented "speed" command, try "help speed" in console

2002-06-02 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* MSXGameCartridge cleanup

2002-05-28 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Fixed PAINTER.ROM:
	   mappertype autodetection doesn't work, start with
	   ./openmsx roms/PAINTER.ROM,64kb
	* Fixed MSXSCCPlusCart:
	    delete SCC in destructor
	    ignore reads/writes outside address space

2002-05-27 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* writing the same value twice to an (output) connector doesn't change
	  the status of that connector, so don't call the write method of that
	  connector twice (Joystick, PrinterPort, Y8950Keyboard)

2002-05-23 Bas Wijnen <b.wijnen@student.rug.nl>
	* Mutexes added around PRT_* macros

2002-05-22 Maarten ter Huurne <mth@stack.nl>
	* SDLGLRenderer uses block textures in Text1 (SCREEN0.40).
	* SDLGLRenderer uses block textures in Graphics2 (SCREEN2).
	* Rendering sprites in SDLGLRenderer is a lot faster now, because
	  textures aren't immediately destroyed after drawing.

2002-05-19 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* small sprite rendering optimizations

2002-05-18 Bas Wijnen <b.wijnen@student.rug.nl>
	* Added files for Xlib renderer. Mostly unimplemented.

2002-05-15 Maarten ter Huurne <mth@stack.nl>
	* SDLGLRenderer uses textures.

2002-05-15 Bas Wijnen <b.wijnen@student.rug.nl>
	* g++-3.0 fixes

2002-05-15 David Heremans <david.heremans@gnu-linux.net>
	* JoyNet cable using TCP/IP implemented

2002-05-13 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* converted some ints to unsingned ints

2002-05-13 Joost Yervante Damad <andete@worldcity.nl>
	* fixed some files mising in the Makefile.am

2002-05-12 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* made "diska" and "diskb" commands

2002-05-09 Joost Yervante Damad <andete@worldcity.nl>
	* File, HttpFile, LocalFile [work in progress]

2002-05-08 Bas Wijnen <b.wijnen@student.rug.nl>
	* fixed console-key-pass-bug and some minor things

2002-05-06 David Heremans <david.heremans@gnu-linux.net>
	* Skeleton files for JoyNet configuration

2002-05-05 Bas Wijnen <b.wijnen@student.rug.nl>
	* Game Master 2 is working with SRAM and guessing.

2002-05-03 Bas Wijnen <b.wijnen@student.rug.nl>
	* Created src/FileType.hh for g++-3.0 and some g++-3.0 fixes

2002-05-02 Maarten ter Huurne <mth@stack.nl>
	* Calculate pixel precision coordinates.
	  They are approximately right, but not exactly right yet.

2002-05-02 Joost Yervante Damad <andete@worldcity.nl>
	* File, HttpFile, LocalFile [work in progress]

2002-05-01 David Heremans <david.heremans@gnu-linux.net>
	* Skeleton files for JoyNet device

2002-04-30 Joost Yervante Damad <andete@worldcity.nl>
	* s/-fhuge-objects//g
	* verious g++-3.0 fixes

2002-04-29 Maarten ter Huurne <mth@stack.nl>
	* SDLGLRenderer is working again.
	* SDLGLRenderer now uses CharacterConverter and BitmapConverter.
	* Removed double buffering from SDLHiRenderer. It didn't work and
	  without double buffering more optimisations are possible.
	* Renderers use screen position instead of EmuTime for internal update
	  targets. It was like this before the VDPVRAM introduction and with
	  the cleaned up implementation it is possible again.
	  It also fixes a bug where too many lines were scanline converted.
	  This caused no glitches, but it did waste CPU cycles.
	* Also made SpriteChecker use screen position rather than EmuTime.

2002-04-29 Joost Yervante Damad <andete@worldcity.nl>
	* small cleanup FilePath [sorry guys!]
	* more proper cleanup

2002-04-28 Maarten ter Huurne <mth@stack.nl>
	* Some VDP cleanups.

2002-04-28 Joost Yervante Damad <andete@worldcity.nl>
	* FilePath stuff for future FileManager

2002-04-28 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Tab-completion updates

2002-04-28 Maarten ter Huurne <mth@stack.nl>
	* Removed re-entering of SpriteChecker::sync and Renderer::sync.
	  Display enable/disable changes now go through VDPVRAM.
	  Various other cleanups.
	  Most sprite glitches are fixed now.

2002-04-28 Bas Wijnen <b.wijnen@student.rug.nl>
	* Added includes, std:: prefixes and unsigned char casts
	  to allow compile with g++-3

2002-04-27 Maarten ter Huurne <mth@stack.nl>
	* Display mode changes now go through VDPVRAM.
	  It also performs planar reorder on single-byte reads and writes.

2002-04-25 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* VDP Text2 dirty colour table check

2002-04-24 Maarten ter Huurne <mth@stack.nl>
	* Fixed a bug in SpriteChecker and also simplified it.

2002-04-24 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* more accurate VDP command timing:

2002-04-23 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Enabled VDP command timing:
	   recalculated table, no difference 50/60Hz anymore

2002-04-23 Maarten ter Huurne <mth@stack.nl>
	* Re-enabled SDLGLRenderer.

2002-04-22 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* tuned relative volume Y8950-ADPCM / -FM (thanks Manuel)

2002-04-18 Maarten ter Huurne <mth@stack.nl>
	* Separated sprite checking into a separate class.
	  Works, but with glitches.

2002-04-17 Joost Yervante Damad <andete@worldcity.nl>
	* added tools/ dir and bin2c tool
	* added --disable-SCC
	* added --disable-FMPAC
	* added --disable-MSXMUSIC
	* more "--disable-XXX"'s to come ;-)

2002-04-16 Maarten ter Huurne <mth@stack.nl>
	* More VDPVRAM and related cleanups.

2002-04-15 David Heremans <david.heremans@gnu-linux.net>
	* Enhancements to the developpers FAQ

2002-04-15 Joost Yervante Damad <andete@worldcity.nl>
	* extended commandline parser to support keyinserter

2002-04-15 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Extended KeyEventInserter so it can be used in Tilburg
	* Fixed YM2413 drums: playing the same drum twice now works

2002-04-13 Maarten ter Huurne <mth@stack.nl>
	* VDPVRAM and related cleanups.

2002-04-12 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* DACSound cleanup (still has the same(?) bug)
	* EventDistributor simplification:
	   use Scheduler for synchronous event delivery
	   thanks Maarten for the idea
	* Made Scheduler thread safe
	* #include cleanups
	* Y8950 generates an IRQ on end-of-sample _in_EmuTime_ (was realtime)
	* Implemented Y8950 keyboard connector:
	   just the connector, no keyboard yet
	* More accurate ADPCM readback (thanks Maarten)

2002-04-11 David Heremans <david.heremans@gnu-linux.net>
	* Royal blood works, use type ASCII8SRAM2!
	  Xanadu resets to Basic, Hydlide2 hangs.

2002-04-11 Maarten ter Huurne <mth@stack.nl>
	* Introduced "renderer" command to print current renderer and switch
	  to another one. However, switching from SDLHi to SDLGL hangs SDL.
	  Well, at least the renderer destructors are finally implemented.

2002-04-11 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Finally (?) fixed Y8950 samples:
	   "Arranger 4" sounds ok now
	* Implemented ADPCM readback (untested)

2002-04-11 David Heremans <david.heremans@gnu-linux.net>
	* Royal blood works, use type ASCII8SRAM2!
	  Xanadu resets to Basic, Hydlide2 hangs.

2002-04-11 David Heremans <david.heremans@gnu-linux.net>
	* Added (not tested) support for ASCII8SRAM type to MSXGameCartridge.

2002-04-08 David Heremans <david.heremans@gnu-linux.net>
	* Added support for Hydlide2 type to MSXGameCartridge.
	* Added generic support for SRAM to MSXGameCartridge.
	* Enhanced CommandLineParser to support SRAM filenames
	  for games.

2002-04-08 Maarten ter Huurne <mth@stack.nl>
	* Took character scanline conversion out of SDLHiRenderer as well,
	  its new home is a class called CharacterConverter.

2002-04-07 Maarten ter Huurne <mth@stack.nl>
	* Took bitmap scanline conversion out of SDLHiRenderer and put it in
	  a separate class called BitmapConverter.
	  It is necessary to reduce the size of SDLHiRenderer, because its
	  source had become too large to manage (over 1250 lines).

2002-04-06 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* small update to doc/developersFAQ.txt

2002-04-05 Joost Yervante Damad <andete@worldcity.nl>
	* added --enable-interlacing ./configure argument
	  see also ./configure --help and src/config.h.in
	  after rerunning ./autogen.sh

2002-04-04 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Console cleanup
	* Console is no longer a singleton, instead there is now a singleton
	  ConsoleManager. All Consoles must register with the ConsoleManager.
	* Made InteractiveConsole subclass of Console:
	   SDLConsole inherit from InteractiveConsole
	   a logging-only console inherits from Console
	* Bumped version number
	* ConsoleFont.bmp can now be in any configured directory

2002-04-04 David Heremans <david.heremans@gnu-linux.net>
	* Added more debug info to MSXGameCartrdige.
	* Fixed an error in SCCplus cartridge
	* Addapted SCCplus cartridge to use FileOpener

2002-04-03 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Moved ADPCM part of Y8950 to its own file
	* Fixed ADPCM bug:
	   addresses where a factor 8 too low, only first sample was
	   played correctly
	* Made console command "fullscreen", PrtScrn is bound to this command
	* Console command "mute" takes on/off parameter
	* Console command "pause" takes on/off parameter
	* Made console command "console", F10 is bound to this command

2002-04-01 Joost Yervante Damad <andete@worldcity.nl>
	* FileManager sync [WIP]
	* a first proposal for a FileManager API, I'll
	  implement it soon if noone objects [or at least
	  something like this!]

2002-03-31 Maarten ter Huurne <mth@stack.nl>
	* Cleaned up VRAM implementation a little.
	  Still plenty of work to be done.

2002-03-30 Maarten ter Huurne <mth@stack.nl>
	* Added new VDPVRAM class, which manages VRAM.
	  It is far from finished, but even in the current state it should be
	  no less accurate than what we had before.

2002-03-30 Joost Yervante Damad <andete@worldcity.nl>
	* made CommandlineParser xml entity safe

2002-03-28 David Heremans <david.heremans@gnu-linux.net>
	* Added MC6850 and sampleram to '-musmod' CLI option.
	* Added article written for the Dutch MSX-infoblad.
	  The png's are ment to be printed and where not scaled for
	  webpurposes.

2002-03-28 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Added dummy MC6850 (ACIA used in MSX Music Module for MIDI):
	   "FAC demo 3" now detects MSX Music Module

2002-03-28 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* amount of sample-ram is now configurable

2002-03-27 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* implemented Y8950 timers
	* implemented "throttle" command

2002-03-26 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* fixed crash when a specified file did not exists:
	   for some reason C++ doesn't throw exception beyond the constructor,
	   even explicitly (re)throwing an exception in the constructor doesn't
	   work

2002-03-25 Joost Yervante Damad <andete@worldcity.nl>
	* made VPATH compiles work, fixes 'make distcheck' also
	* bumped version no

2002-03-25 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* implemented RYTHM sounds for Y8950 (MSX-AUDIO): untested!
	* reworked IRQ handling:
	    CPU keeps IRQStatus (was CPUInterface)
	    this way CPU can react directly on unannounced IRQs
	    (eg: Y8950 end-of-sample IRQ)

2002-03-24 David Heremans <david.heremans@gnu-linux.net>
	* Added more helptext to the CommandlineParser.
	* Made the 64 kB roms Manuel send me working.
	* Enhanced the autodection of MSXGameCartrdige.

2002-03-24 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Y8950 and YM2413 cleanups

2002-03-24 Joost Yervante Damad <andete@worldcity.nl>
	* fixed configure.in
	* continuation of <filepath>

2002-03-23 Joost Yervante Damad <andete@worldcity.nl>
	* more CustomConfig framework
	* started on FilePath CustomConfig
	* this is WIP, and is not finished yet!

2002-03-21 David Heremans <david.heremans@gnu-linux.net>
	* Again a (total) rewrite of CommandlineParser.
	  A simpler and cleaner design then the previous one, and
	  easy to extend for other CLI-options.

2002-03-20 Joost Yervante Damad <andete@worldcity.nl>
	* XML::Escape support added to libxmlx
	* usage is explained in the header
	* if you make xml that is feeded into libxmlx,
	  you need to escape it first, to allow entity
	  escaping for &, <, >, ...
	* cleaned up libxmlx dir, libxmlx is now dual
	  licensed GPL and LGPL

2002-03-19 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* updated config files

2002-03-19 Joost Yervante Damad <andete@worldcity.nl>
	* started on CustomConfig
	* added src/config/ dir, moved initial files

2002-03-19 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* various Y8950 improvements, not sure adpcm part is completely fixed
	* fixed getName() for Schedulable (eg VDP)
	* fixed virtual inheritance constructor invocations

2002-03-18 Joost Yervante Damad <andete@worldcity.nl>
	* small fix in src/Makefile.am, I hope this solves
	  David's compilation problems

2002-03-17 Maarten ter Huurne <mth@stack.nl>
	* Fixed graphical glitch when switching between PAL and NTSC timing.
	* Minor clean-ups in SDLGLRenderer.

2002-03-16 Maarten ter Huurne <mth@stack.nl>
	* Implemented blanking in SDLGLRenderer.
	* Implemented side borders in SDLGLRenderer.
	* Implemented sprites in SDLGLRenderer.
	* Only compile SDLGLRenderer if OpenGL was detected.

2002-03-15 Maarten ter Huurne <mth@stack.nl>
	* Improved line rounding in renderer sync.
	* Fixed side border widths in text mode.

2002-03-15 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Fixed SCC distortion (was unsigned->signed conversion bug)
	* [Experimental] First order high-pass IIR filtering in Mixer
	* Tab completion of filenames for "disk" and "tape" command

2002-03-14 Maarten ter Huurne <mth@stack.nl>
	* Fixed ASCII16K MegaROM mapper.
	  Eggerland 2 works now, but is still autodetected incorrectly.

2002-03-14 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Fixed tab completion bug
	* Fixed printed CPU T-States (only printed value was wrong)
	* Fixed crash when RTC.SAVE or FMPAC.PAC where missing

2002-03-12 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* convert CassettePort to Connector-Pluggable structure
	* MSXSimple:
	   - converted from MSXIODevice to PrinterPortDevice
	   - renamed to PrinterPortSimple
	* MSXPrinterLogger:
	   - converted from MSXIODevice to PrinterPortDevice
	   - renamed to PrinterPortLogger

2002-03-11 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* made Connector-Pluggable aware of EmuTime
	* convert PrinterPort to Connector-Pluggable structure

2002-03-10 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Console cleanup
	* Added console prompt
	* Tab completion for help command
	* Fixed uninitialized variable (enabledSCC) in MSXGameCartridge
	* made MSXConfig::getParameterAsXXX() methods throw execptions again

2002-03-08 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Split Console in Console and CommandController:
	   commands can now execute without a Console
	* Implemented help command
	* Re-implemented tab-completion:
	   - completion till longest common match
	   - if there is only one match left a ' ' is added
	   - option for context sensitive completion (not yet tested)
	* Implemented tab completion for (un)plug command:
	   name of connector and pluggable gets completed

2002-03-07 Maarten ter Huurne <mth@stack.nl>
	* Fixed Generic16K MegaROM mapper. DOS2 works now.

2002-03-07 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Added plug-connector infrastructure:
	   - only very basic support yet
	   - changed joystick stuff to use this

2002-03-07 David Heremans <david.heremans@gnu-linux.net>
	* New internal structure of CommandlineParser is working
	  This will make it possible to have extra parameters for
	  cartridges,disks, or in a more global context.
	* Small fix to MSXGameCartridge

2002-03-06 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* split console commands in tokens

2002-03-05 Joost Yervante Damad <andete@worldcity.nl>
	* simplified auto* support for OpenGL
	  see src/config.h after running autogen.sh
	  to see which vars to use. For now it searches
	  for <gl.h> or <GL/gl.h> and for -lGL
	  This should allow easy conditional compile
	  of SDLGLRenderer.

2002-03-04 Maarten ter Huurne <mth@stack.nl>
	* Added SDLGLRenderer (work in progress).
	* Added nms8250.xml to distributed files.
	* Fixed compile warnings in VDPCmdEngine.

2002-03-04 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* SCC cleanups and tiny tweaks

2002-03-04 Joost Yervante Damad <andete@worldcity.nl>
	* added auto* support for OpenGL

2002-03-03 Maarten ter Huurne <mth@stack.nl>
	* Made sure unused bits in GRB palette value are zero.

2002-03-02 Maarten ter Huurne <mth@stack.nl>
	* Implemented fixed palette for sprites in Graphic 7 mode.

2002-03-01 Joost Yervante Damad <andete@worldcity.nl>
	* cleanup & documentation for libxmlx
	* tightened interface in xmlx.hh
	* tiny configure.in fixes
	* bumped version number

2002-02-28 Maarten ter Huurne <mth@stack.nl>
	* Fixed enlarged sprites. (David, you can fly your heli now! ;)

2002-02-28 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* moved sound related files to new directory "sound"
	* fixed MSX-MUSIC in CTNG products:
	  a real MSX-MUSIC is enabled on power-on

2002-02-27 Joost Yervante Damad <andete@worldcity.nl>
	* doxygen cleanups
	* updated homepage

2002-02-27 Maarten ter Huurne <mth@stack.nl>
	* Fixed even/odd page flipping, it was overzealous.

2002-02-27 Joost Yervante Damad <andete@worldcity.nl>
	* simplified auto* setup for crosscompiling
	* added atoll.c code for platforms that don't support that function
	* crosscompiling now works, xmlxdump.exe works, openmsx.exe
	  doesn't work yet
	* for instructions, see README.WIN32
	* fixed faulty CHECK_FUNC in configure.in
	* atoll.c is now only used when needed

2002-02-25 Maarten ter Huurne <mth@stack.nl>
	* Implemented even/odd and interlace display.

2002-02-24 Maarten ter Huurne <mth@stack.nl>
	* Fixed port C read bug in PPI.
	  Now keyboard works in SBB promo and CAPS is off at boot time.
	* Implemented VDP name table masking (R#2) in bitmap modes.
	  The 12 scrolls part of the Source of Power works now.
	* Implemented blinking in Text2 display mode.
	* Disabled SDLLoRenderer for now; it is not actively maintained.

2002-02-23 Maarten ter Huurne <mth@stack.nl>
	* Fixed Graphic7 border colour.

2002-02-22 Maarten ter Huurne <mth@stack.nl>
	* Implemented VDP overscan.
	  Can use some more cleanup, but it works.

2002-02-19 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* PrinterPortDevice now receives EmuTime:
	   this is necessary for devices like Simple

2002-02-18 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* moved CPU related files to subdirectory

2002-02-18 David Heremans <david.heremans@gnu-linux.net>
	* added simple and a printerlogger.
	  Two devices that are connect to the printerport on a real MSX.
	  The first is a DAC to play samples, the other logs all the data
	  that a printer would normally print.

2002-02-17 Joost Yervante Damad <j.damad@qahwah.net>
	* added atoll support for platforms that don't have
	  that function [code taken from newlib, a libc for
	  embedded systems]

2002-02-16 Maarten ter Huurne <mth@stack.nl>
	* Moved "display or border" calculation from renderer to VDP.
	  This is a preparation for overscan and for accurate VRAM timing.

2002-02-15 David Heremans <david.heremans@gnu-linux.net>
	* Nicer mappertypes for the MSXGameCartridge:
	  As requested by Maarten you can now specify easier to remember
	  names (like ASCII8, SCC,KONAMI4,...) for the different mapper
	  types instead of the numbers.

2002-02-15 Maarten ter Huurne <mth@stack.nl>
	* Added "palette" console command.

2002-02-15 David Heremans <david.heremans@gnu-linux.net>
	* Nicer mappertypes for the MSXGameCartridge:
	  As requested by Maarten you can now specify easier to remember
	  names (like ASCII8, SCC,KONAMI4,...) for the different mapper
	  types instead of the numbers.

2002-02-13 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* CPU speedup:
	   CPU doesn't check the IRQ line after each instruction anymore, only
	   directly after synchronization points. This also means that all
	   irq.set() instruction must also set a synchronization point.
	   TODO: check this for VDP, Y8950 and document this
	* VDP bug fix:
	   writes to register > 46 (non existing registers) overwrite other
	   variables

2002-02-13 David Heremans <david.heremans@gnu-linux.net>
	* MSX MUSIC/MSX AUDIO Stereo now possible:
	  The xml has an extra parameter allowing the Y8950 and YM2413
	  to be activated in mono, left or right channel mode

2002-02-12 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Fixed FM-modulation error in both Y8950 as YM2413

2002-02-11 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Fixed some bugs in Y8950:
	   it is usable now, both OPL part as ADPCM part
	   but there are a few bugs left (YM2413 has the same problems)
	   relative volume of opl vs adpcm might need some tuning

2002-02-10 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Made "cpudebug" command:
	   must be enabled in CPU.hh (#define CPU_DEBUG)
	* Y8950 (AUDIO) updates
	* Implemented auto commands:
	   automatic joystick/mouse insertion is now possible

2002-02-10 Maarten ter Huurne <mth@stack.nl>
	* Moved SDL dependent code out of VDP:
	  - Renderer instantiation happens in PlatformFactory (new class)
	  - full screen toggle was moved to Renderer (not its final location)

2002-02-08 Maarten ter Huurne <mth@stack.nl>
	* Fixed secondary slot select bug for real now.
	  The cause was uninitialised variables, the previous "fix" turned
	  out to be no more than a workaround.

2002-02-08 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Large Console cleanup:
	   convert code to C++
	   split code in SDL dependent and SDL independent part
	   moved all console code to directory ConsoleSource
	* Support for 9 joysticks
	* Stricter syntax checking for joyport command

2002-02-07 Maarten ter Huurne <mth@stack.nl>
	* Fixed ASCII 16K (type 5) mapper.
	  Re-engineered Zanac-Ex ROM works now.
	* Made MSXMotherBoard console command inner classes private.

2002-02-06 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* More cleanups in ConsoleSource:
	   made SDLFont class, replaces DT_drawtext

2002-02-06 Maarten ter Huurne <mth@stack.nl>
	* A few small fixes in joystick implementation.
	  It works now. Thanks Wouter!

2002-02-06 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Console cleanups
	* ConsoleCommand inner classes for Scheduler, MSXMotherBoard
	* Implemented "disk" command (similar as "tape" command):
	    works only for drive a:
	                   720kb disks
	* Implemented "joyport" command:
	    joyport[a|b] [unplug|mouse|joystick[1|2]]
	* First cleanup in ConsoleSource:
	   use hash_map in CON_consolecommand instead of self-made linked list

2002-02-05 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Implemented "reset" console command.

2002-02-05 Maarten ter Huurne <mth@stack.nl>
	* Added MSXMotherBoard::IRQHelper class.
	* Removed IRQ helper functionality from MSXDevice.

2002-02-04 Maarten ter Huurne <mth@stack.nl>
	* Took advantage of new raiseIRQ/lowerIRQ semantics in VDP.

2002-02-04 Maarten ter Huurne <mth@stack.nl>
	* Fixed bug where devices in non-expanded slots would only be
	  visible when subslot 0 was selected.
	* Implemented "slotselect" console command.

2002-02-03 Maarten ter Huurne <mth@stack.nl>
	* Implemented "slotmap" console command.
	* Console::printOnConsole now accepts multi-line texts.
	* Fixed buffer overrun in CON_Out.
	* Renamed DummyDevice's device name to "empty", which makes
	  more sense to the user (who sees it in the slotmap).

2002-02-03 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Removed class LoadFile: it was only used by MSXRom and it was only
	  usefull for that class (two classes merged now)

2002-02-02 Maarten ter Huurne <mth@stack.nl>
	* Implemented memory overlay behaviour in SCC page (0x3F).

2002-01-30 David Heremans <david.heremans@gnu-linux.net>
	* MSXTapePatch uses console:
	  Now possible to change or eject tapes using the console

2002-01-29 David Heremans <david.heremans@gnu-linux.net>
	* Console enhancements:
	  -calls CommandHelp when tabcomplition has
	  already found a complete command
	* DiskPatch can now reports problems with disks during
	  initialization:
	  This should help Maarten if he has a 'black screen' :-)

2002-01-28 Joost Yervante Damad <j.damad@qahwah.net>
	* made libxmlx an 'utility' library, this implies that
	  openmsx links this statically, which makes for easier
	  debugging, no more 'wrapper script' for now

2002-01-27 Joost Yervante Damad <j.damad@qahwah.net>
	* Made SDL console autotools enabled

2002-01-26 David Heremans <david.heremans@gnu-linux.net>
	* Console now usable:
	  - registered as ansynchron event listener
	  - Scheduler has now two commands registered

2002-01-26 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Fixed double delivery of syncronous events

2002-01-25 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Exception cleanups
	* Y8950 adpcm support (untested)

2002-01-24 Joost Yervante Damad <j.damad@qahwah.net>
	* added support for streamstring xml config per
	  request of David

2002-01-24 David Heremans <david.heremans@gnu-linux.net>
	* Altered SDL_Console:
		- C++-ed the code and files
		- dumped unwanted function
		- now registers objects from type ConsoleInterface
		  to use for callback instead of C-function pointers
	* Scheduler has now one (1) registered command with console:
		- press tab for autocomplete :-)
	* Added cartridge to help debug ARC protection cartridge
	* DummyDevice warns about unregistered I/O port calls

2002-01-22 David Heremans <david.heremans@gnu-linux.net>
	* Added an SDL_console:
	  Not usefull for the moment but you can toggle it with F10
	  No commands possible and double key registration but the
	  effect is "cool" :-)

2002-01-20 David Heremans <david.heremans@gnu-linux.net>
	* Added DSKFMT-implementationr:.
	  Formating of a 360kB dsk file doens't work. A 720kB dsk file
	  can be formated single or double sided.
	* Autofill of empty,newly generated .dskfiles:
	  No auto formating however, maybe later.

2002-01-19 Joost Yervante Damad <j.damad@qahwah.net>
	* openmsx now uses new config code
	* features:
		- supports multiple config files
		- it's possible to create alternative config backends
		- no more libxml++ *yipee*
		- uses libxmlx, right now still linked dynamically,
		  this means that ./openmsx is actually a libtool provided
		  script, soo for debugging use .libs/openmsx and alter
		  the LD_LIBRARY_PATH environment variable if needed
		- support for save not yet added, but it will be easy
	* xmlconfig raises exception on duplicate "id"

2002-01-12 Maarten ter Huurne <mth@stack.nl>
	* Compile fix for Thread class:
	  explicitly convert between Runnable pointer and void pointer.

2002-01-12 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* made a Thread class, interface is SDL independent,
	  implemenation uses SDL
	* made a Mutex class, analog as Thread
	* sync MSX-MUSIC and MSX-AUDIO on register write
	* made all sound related classes (except Mixer) SDL independent

2002-01-11 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Implemented RTC load/save on power on/off
	  (this is not the same as saveState)
	* Implemented FMPAC-SRAM load/save on power on/off

2002-01-10 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* MSXMemoryMapper <-> MSXMapperIO cleanup (thanks Maarten)

2002-01-10 David Heremans <david.heremans@gnu-linux.net>
	* Added FileOpener. This implements the needed routines to
	  support "rompaths". It also provides easy to use functions
	  to open files in the other devices.

2002-01-09 Maarten ter Huurne <mth@stack.nl>
	* VR resets one line before start of display.
	  Fixes Almost Real Copper Bars part.

2002-01-09 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Prepared CPU and Z80 class for inclusion of R800:
	   - moved as much code as possible from Z80 to CPU
	   - separated timimg dependent code from the rest of the code
	   - ugly "#inlude-hack" to avoid the overhead of virtual functions

2002-01-09 Maarten ter Huurne <mth@stack.nl>
	* Fixed MSXMemoryMapper so that it can handle over 64K of memory.

2002-01-08 Maarten ter Huurne <mth@stack.nl>
	* Red and green were swapped in Graphic7 rendering.
	* Apply planar reorder also on CPU reading VRAM and sprite checking.
	  Fixes Hydefos intro, all Graphic6/7 rendering should be OK now.

2002-01-08 Maarten ter Huurne <mth@stack.nl>
	* Preliminary Graphic6/7 rendering.
	  Works somewhat, but not in all cases.
	* Fixed transparency bug; Psycho World sky is blue again.

2002-01-07 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* DiskRomPatch cleanup: I wanted to fix the PHYDIO routine, but it
	  was already correct (the result in the B register). Maybe it is
	  now more obviously correct?

2002-01-07 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Z80: fixed HALT instruction (rounding error)
	* more #include cleanups
	* getCPURegs() interface cleanup

2002-01-06 Maarten ter Huurne <mth@stack.nl>
	* Implemented rendered line caching in bitmap modes (SDLHi).
	* Fixed GETDPB in MSXDiskRomPatch: uses static table based on passed
	  media descriptor instead using values from boot sector.

2002-01-06 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Z80: reverted buggy optimization,
	  fixes undeadline, track&field, flickering in space manbow

2002-01-06 Joost Yervante Damad <j.damad@qahwah.net>
	* small fixes
	* XMLConfig skeleton + some code

2002-01-06 Maarten ter Huurne <mth@stack.nl>
	* Text mode extra-wide border now drawn at once (SDLHi).

2002-01-05 Maarten ter Huurne <mth@stack.nl>
	* Implemented CC and IC bits of sprite mode 2.
	  Now OR-ed sprite patterns are rendered as they should.

2002-01-05 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* #include cleanup
	* Changed PSG mute routine:
	  PSG-samples in "time curb" now work!

2002-01-05 Joost Yervante Damad <j.damad@qahwah.net>
	* small libxmlx improvements
		- should handle comments and pcdata correctly
		- started modifications of msxconfig code, first in
		  a seperate temporarely program cfgtest, to avoid
		  hindering the other coders

2002-01-04 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Changed interaction Mixer-SoundDevice:
	  Mixer now calls the updateBuffer() method of each SoundDevice, even
	  if device is muted (device can update internal counter). If the
	  device was muted is must return a null-pointer.

2002-01-03 Maarten ter Huurne <mth@stack.nl>
	* SDLHiRenderer needs to sync on VRAM updates after all.
	  This solves the disappearing boss blocks of Knightmare stage 1.
	* The VDP (sprite checking) needs to sync on VRAM updates as well.
	  Hopefully this will solve the Knightmare stage 2 boss problem.

2002-01-03 Joost Yervante Damad <j.damad@qahwah.net>
	* libxmlx sync

2002-01-03 David Heremans <david.heremans@gnu-linux.net>
	* Improved tape support, tested with Time_Curb.cas file

2002-01-03 Maarten ter Huurne <mth@stack.nl>
	* Changed pause implementation in Scheduler to make it thread safe.
	* Fixed PAL timing in SDLHiRenderer.

2002-01-02 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* RealTime syncronizer improvements

2002-01-02 David Heremans <david.heremans@gnu-linux.net>
	* Added tape support, not yet tested
	* Restored old filesize behaviour in gamecartridge

2002-01-02 Maarten ter Huurne <mth@stack.nl>
	* Improved VDP accuracy.
	  Space Manbow still flashes, but less than before.

2001-12-31 Maarten ter Huurne <mth@stack.nl>
	* SDLHiRenderer uses double buffering.
	* Prepared SDLHiRenderer for RealTime sync, but if I enable it the
	  emulated MSX slows down (even though host CPU load remains low).
	* Added FDC values as patches to nms8250.xml, fixes disk ROM hang.

2001-12-31 Joost Yervante Damad <j.damad@qahwah.net>
	* lots of small C++ standard compliancy fixes
	* Z80Core.hh -> Z80Core.nn
	* more disk support, still partially works only
	* disk support now works completely, but not yet
	  for all programs [starquake, on mania036.dsk
	  works completely]
	* fixes for slotselection [thanks Maarten]

2001-12-31 Maarten ter Huurne <mth@stack.nl>
	* Render accuracy is now one line instead of one frame.
	* Implemented line interrupt (horizontal scanning interrupt).
	  Timing is still a bit off though.
	* Implemented horizontal display adjust (vertical not yet).
	* Implemented HR/VR status bits.
	* Prepared for caching of rendered lines in bitmap modes.
	* Command engine cleanups.

2001-12-30 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Z80: correct inter-instruction timing for DDCB and FDCB instrcutions,

2001-12-30 Joost Yervante Damad <j.damad@qahwah.net>
	* more disk support, it already works a little bit,
	  but the slot switching still needs to be added

2001-12-29 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Memory reads/writes can now be cached (if possible)
	  measured 10% - 20% performance gain
	  not completely finished, especially documentation

2001-12-29 Joost Yervante Damad <j.damad@qahwah.net>
	* synced in libxmlx skeleton [W.I.P.!]
	* header file include cleanup, this should avoid alot
	  of useless recompilation

2001-12-27 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Scheduler now uses a heap instead of sorted set
	* SyncPoints can now be removed
	* SyncPoints take an optional userData parameter, this parameter
	  is later passed to executeUntilEmuTime() method
	* MSXDevice does not inherit from Schedulable anymore, devices that
	  still need to be Schedulable must inherit itself from Schedulable
	  (eg VDP)

2001-12-26 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* added getCPURegs() and setCPURegs() methods in class CPU

2001-12-25 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* small optimization in Scheduler:
	  no overhead when unpaused

2001-12-25 Joost Yervante Damad <j.damad@qahwah.net>
	* added --enable-profile and --enable-release to ./configure
	* added "debug" and "nodebug" targets to Makefile in src dir [toggle]
	  usage: "make debug" turns on debug for this and next makes
	         "make nodebug" turns it of again

2001-12-24 Maarten ter Huurne <mth@stack.nl>
	* Added "unsigned" to uint64 definition in Scheduler.
	  Before, Scheduler::INFINITY was -1.
	* Implemented PAL at 50Hz and NTSC at 60Hz.
	* Restructured VDP timing routines.

2001-12-24 Maarten ter Huurne <mth@stack.nl>
	* Added render routine for Graphic4 mode.
	* Added support for 212 lines display.
	* Added partial sprite mode 2 implementation.

2001-12-24 Maarten ter Huurne <mth@stack.nl>
	* Added render routine for Graphic5 mode.
	* Added support for transparency control (R#8 bit 5).

2001-12-24 Maarten ter Huurne <mth@stack.nl>
	* Finished integration of command engine.
	  It runs, but without render routines for the bitmap modes,
	  it is not possible to visually check the results.

2001-12-23 Maarten ter Huurne <mth@stack.nl>
	* Fixed a design flaw in the Renderer interface.
	  The update methods were called *after* the changed VDP state
	  became effective. That way, delayed rendering operations cannot
	  be completed because the old VDP state is no longer available.
	  In the new interface, update methods are called *before* the
	  new state becomes effective. So the old values can be retrieved
	  from the VDP, while the new values are passed as parameters
	  of the update method.

2001-12-22 Maarten ter Huurne <mth@stack.nl>
	* Fixed dirty check bugs.
	  The "inside name/colour/pattern table" checks were wrong:
	  too much was considered inside, therefore too many characters
	  were considered dirty.
	  Also the attempt to make Text2 use the same dirty checking code
	  as the MSX1 display modes failed, instead I wrote different
	  dirty checkers for different display modes. This was bound to
	  happen in the future anyway, because bitmap modes will require
	  different dirty checks than pattern modes.

2001-12-22 Maarten ter Huurne <mth@stack.nl>
	* Added VDP Command Engine 1.0 from Alex Wulms.
	  Adapted the code to C++ and to openMSX conventions.
	  Only functional change is SCREEN7/8 pixel lookups (two defines).
	  The command engine compiles and links, but cannot run yet.

2001-12-21 Maarten ter Huurne <mth@stack.nl>
	* Implemented Text2 display mode (SCREEN0.80).
	* Prepared for blinking (not finished yet).

2001-12-21 Maarten ter Huurne <mth@stack.nl>
	* Applied gamma correction to V9938/58 palette.
	  My guess is that the gamma of MSX and PC monitors is slightly
	  different; the palette precalc now compensates for that.

2001-12-21 Maarten ter Huurne <mth@stack.nl>
	* Implemented palette feature of V9938/58.
	  Can be seen by running Nemesis 3 using NMS8250 config.

2001-12-21 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Fixed uninitialized variable in RP5C01:
	  this caused a delay of several seconds at start-up

2001-12-20 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* added MSX-AUDIO: no ADPCM yet, not optimized
	* LoadFile and MSXGameCartridge cleanup

2001-12-19 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Removed more indirections from YM2413

2001-12-18 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* fixed CassettePort:
	  exceptions don't work if you compile with -fno-rtti, removed it

2001-12-18 David Heremans <david.heremans@gnu-linux.net>
	* MapperType guesser can be turned on/off
	* MapperType now configurable in MSXGameCartrdige.
	* Integrated MSXKonamiSynthesizer into MSXGameCartrdige.

2001-12-14 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* sound on/off (F11) and pause (PAUSE) now work together
	* fixed "pure virtual function called" error

2001-12-16 David Heremans <david.heremans@gnu-linux.net>
	* Extende LoadFile to autodetermine file-size.
	* Renamed MSXMegaRom to MSXGameCartrdige.
	* MSXGameCartridge can now handle smaller game roms (<= 64kB)

2001-12-15 David Heremans <david.heremans@gnu-linux.net>
	* Added volume to the SCC.
	* Used F11 as HotKey to sound on/off:

2001-12-14 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Fixed DACSound, KeyClick now works

2001-12-11 Maarten ter Huurne <mth@stack.nl>
	* Optimised MSX-MUSIC mixing.
	* Removed indirection on ch array ("Channel *" -> "Channel).

2001-12-12 David Heremans <david.heremans@gnu-linux.net>
	* Added the SCC+ cartridge

2001-12-12 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Cleanup MSXMusic / MSXFmPac:
	   "CALL FMPAC" now works!

2001-12-11 Maarten ter Huurne <mth@stack.nl>
	* Compacted the SCC mixing and muting code.
	* Added offset to lookups in SCC::getFreqVol.
	* SCC::ch_enable is not masked upon write.
	* Added "currentChipMode = chip" to SCC::setChipMode.
	* Changed size of waveform array to 32 (was 64).

2001-12-10 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Implemented Z80 inter-instruction-timing
	   (DD CB instructions not correct yet)

2001-12-11 David Heremans
	* uploaded SCC soundchip:
	  This chip can emulate the SCC hardware in the 3 know modes
	   - Real SCC
	   - SCC+ cartridge in SCC compatible mode
	   - SCC+ cartridge in SCC+ mode
	* Changed MegaRom:
	  Megarom of type 2 know use the SCC soundchip.

2001-12-10 Maarten ter Huurne <mth@stack.nl>
	* Implemented indirect register write for V9938/58.
	* V9938/58 can now have 16K, 64K or 128K of VRAM.
	* Upgraded CPU interface to read/write more than 16K of VRAM.
	* Changed video mode naming scheme to match V9938 data book.

2001-12-10 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Cleanups in MSXMemoryMapper, requires config file change
	* More config file changes:
	    PSG   -> volume parameter
	    MUSIC -> volume parameter
	    PPI   -> volume parameter
	          -> key_ghosting parameter
	    Mixer -> frequency parameter
	          -> samples parameter
	* RealTime cleanups:
	   - MSXRealTime renamed to RealTime
	   - RealTime is no longer a MSXDevice
	   - moved parameters to config file

2001-12-09 Maarten ter Huurne <mth@stack.nl>
	* Faked enough V9938 features to make nms8250.xml boot.

2001-12-09 Maarten ter Huurne <mth@stack.nl>
	* Fixed compilation with Z80DEBUG enabled.
	* Fixed single-width pixels in SCREEN0 in SDLHiRenderer.
	* Re-enabled resetting of dirty flags at end-of-frame.
	  This was probably disabled during debugging and accidentally
	  commited to CVS.

2001-12-09 Maarten ter Huurne <mth@stack.nl>
	* Introduced VDP class, which will replace MSXTMS9928a.

2001-12-09 Joost Yervante Damad <j.damad@qahwah.net>
	* Rom Patching Code skeleton
	* MSXDiskRomPatch skeleton

2001-12-09 Maarten ter Huurne <mth@stack.nl>
	* Fixed uninitialised struct field in SDLLoRenderer.
	* SDLHiRenderer renders doubled pixels now.

2001-12-09 Maarten ter Huurne <mth@stack.nl>
	* Introduced SDLHiRenderer.
	  Opens 640x480 screen, although it still renders low-res.
	* Changed configuration:
	  - new category: "renderer"
	    type selects renderer: "SDLLo" or "SDLHi"
	  - "fullscreen" moved to "renderer" and renamed "full_screen"
	    plus it's an actual boolean now
	  - new parameter: "limit_sprites" in "msx1vdp"
	* Setting "limit_sprites" to false actually works now.

2001-12-08 Maarten ter Huurne <mth@stack.nl>
	* Improved Doxygen comments in MSXTMS9928a and Renderer.
	* Small optimisations in sprite rendering.
	* Renamed XPal to Pal: it hasn't been X for quite some time.
	* Introduced sprite buffering: VDP stores sprite info for one
	  frame, so Renderer can retrieve it on demand. This removes
	  the need for the Renderer to call checkSprites, making the
	  VDP behaviour completely independant of the Renderer used.

2001-12-08 Joost Yervante Damad <j.damad@qahwah.net>
	* Loadfile now handles patching of files

2001-12-08 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* added several missing reset() calls

2001-12-07 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* MSXPPI is no longer a singleton

2001-12-06 Maarten ter Huurne <mth@stack.nl>
	* Small initialisation fix in MSXTMS9928a.
	  Thanks to Wouter for spotting the problem.

2001-12-06 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* removed init() method from MSXDevice:
	  initialization should be done in the constructor
	* all MSXDevice constructors (former init() methods) now take an
	  EmuTime parameter

2001-12-05 Joost Yervante Damad <j.damad@qahwah.net>
	* MSXRom continued [reworked, no longer inherited from MSXDevice]

2001-12-05 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Made MSXIODevice and MSXMemDevice both subclasses of MSXDevice:
	  these 2 classes take functionality away from MSXDevice and put it
	  in more specialized classes. They also offer things like automatic
	  slot-registration (and in the future automatic IO-registration)
	* removed start() and stop() methods from MSXDevice
	* reset() method in MSXDevice now takes an EmuTime argument

2001-12-04 Joost Yervante Damad <j.damad@qahwah.net>
	* added MSXRom subclass and LoadFile mixin, as first step
	  towards ROM patching support

2001-12-04 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* correct use of register 0x7ff6 for MSX-MUSIC
	* MSXMotherBoard is no longer a MSXDevice

2001-12-03 Joost Yervante Damad <j.damad@qahwah.net>
	* fixed Config *getConfigById(const std::string &type)
	* started on disk support "level 2" [not in CVS yet]

2001-12-03 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Made a new EmuTime class (for details search mailarchives for
	   "[RFC] new EmuTiem class"). This gave a large performance gain,
	   more than I had hoped for.
	* SoundDevices now unregister themself before destruction

2001-12-02 Maarten ter Huurne <mth@stack.nl>
	* Integrated name/pattern/colour table base addresses and mask
	  into a single mask. This is probably how the hardware does it.
	* Fixed dirty checks.
	  King's Valley 2 is now actually fixed, blanking just happened
	  to make the problem go away without fixing the bug causing it.
	* Moved to "pull" model for VDP - Renderer communication:
	  VDP sends update signals when parts of its state change,
	  Renderer can get current state from VDP at all times.

2001-12-02 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* fixed pause:
	   - <F12> now works when paused
	   - after pause emulation isn't too fast
	* correct inline in Z80
	* MSXMegaRom cleanup, minor speedup

2001-12-01 Maarten ter Huurne <mth@stack.nl>
	* Fixed compile error in CassettePlayer.cc:
	  PRT_ERROR contains exit(), which needs <stdlib.h>.

2001-12-01 Maarten ter Huurne <mth@stack.nl>
	* Fixed bug which caused Z80 to fail when methods were not inlined.
	  Problem was that ld_xix_byte() and ld_xiy_byte() called Z80_WRMEM
	  with two parameters, each of which read an opcode, an operation
	  which increases the program counter. This is wrong because the
	  evaluation order of parameters is not guaranteed.

2001-12-01 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* added FMPAC
	* MSXMotherBoard is now also a CPUInterface, this eliminates one
	  indirection in readMem()-like methods but these get called a few
	  100 000 times a second. I measured 10%-20% performance gain

2001-11-30 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* made a helper function registerSlots()
	* made a helper function loadFile()
	   note: config file format changed!

2001-11-29 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Added a CassettePlayer (no record function yet)
	  A CassettePlayer must be plugged into the CassettePort and
	  you must insert a tape (= .wav file) into the CassettePlayer
	  Currently you can't do either of these operations.

2001-11-27 Maarten ter Huurne <mth@stack.nl>
	* Added updateBlanking to Renderer interface.
	  Fixes redraw problem in King's Valley 2.
	* Various cleanups in MSXTMS9928a and SDLLoRenderer.

2001-11-26 Maarten ter Huurne <mth@stack.nl>
	* Introduced SpriteInfo in MSXTMS9928a, this is a prelude to
	  sprite info buffering (separating calculation time from
	  rendering time).
	* Introduced VdpVersion enum in MSXTMS9928a.

2001-11-20 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Small CassettePort update, implemented very primitive filter

2001-11-25 Maarten ter Huurne <mth@stack.nl>
	* Sprites are now rendered in the screen buffer rather than in the
	  display cache (which replaced "canvas"). As a result, sprite drawing
	  code became simpler and the display cache needs less updates.

2001-11-25 Maarten ter Huurne <mth@stack.nl>
	* Render on demand:
	  New Renderer can render as many lines as requested.
	  Many lines at once has lower overhead, but if necessary it
	  can still render one line at a time.
	  This code can be converted to pixel-precision rendering that
	  has decent performance.
	* All change tracking (dirty flags etc) is moved to Renderer.
	* Interface between VDP and Renderer is much cleaner now.
	  (no more public fields)
	* Got rid of "tms" struct.

2001-11-20 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* added basic support for CassettePort
	   - CassettePort has no filters yet
	   - no output (record) yet
	   - !! no CassttePlayer (must be plugged in a CassettePort) !!

2001-11-18 Maarten ter Huurne <mth@stack.nl>
	* The drawing area (now called "canvas") is now an off-screen SDL
	  surface instead of a pixel array. SDL calls are for blitting and
	  drawing empty lines (top and bottom border).
	* Cleanup of change tracking in VDP.
	* Cleanup of Renderer access to VDP state:
	  public fields replaced by inline methods.
	* Cleanup of VDP fields: slowly getting rid of "tms" struct.

2001-11-18 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* updated KeyEventInserter, it works now but it is not yet useable,
	  needs to read text from config file or something

2001-11-17 Maarten ter Huurne <mth@stack.nl>
	* MSXTMS9928a and SDLLoRenderer respect SIZEOF_BOOL now.
	* Introduced Renderer: pure abstract superclass to all renderers.
	* Changed SDLLoRenderer into a template class.
	  All supported colour depths are compiled in.
	  A factory method selects a suitable colour depth automatically.

2001-11-17 Joost Yervante Damad <j.damad@qahwah.net>
	* added sizeof(bool) autoconf macro
	* rearranged configure.in to avoid problems
	  with simple checks being confused by the extra
	  CXXFLAGS and libs

2001-11-17 Maarten ter Huurne <mth@stack.nl>
	* SDLRenderer is now SDLLoRenderer (low-res: 320x240) and
	  was given its own files.
	  Also removed MESS history comments from MSXTMS9928a.

2001-11-16 Maarten ter Huurne <mth@stack.nl>
	* Split off SDLRenderer from MSXTMS9928a.
	  This makes it easier to support different renderers
	  (320x240, 640x480, 8/16/32bpp).
	  In the near future SDLRenderer will get its own file.

2001-11-16 Maarten ter Huurne <mth@stack.nl>
	* Disabled 512K mapper in cfg/someconfig.xml because it conflicted
	  with the MegaROM.

2001-11-16 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* cleanup EventDistributor/HotKey

2001-11-15 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Z80: interrupt state is only checked right after a sync point
	       halt now "burns" CPU cycles
	    --> large CPU speedup

2001-11-14 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* an MSXDevice is now associated with an MSXConfig object as soon as
	  it is instantiated. Before this change it was possible that a
	  MSXDevice (mostly singletons) was used before it could access its
	  parameters.
	* AY8910: fixed uninitialized variables

2001-11-13 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* fixed HotKey: method find() returns a normal iterator, not an
	   iterator that goes over elements that match the search criteria

2001-11-13 David Heremans
	* openMSX now stops when using the WM close button:
	* Correct close behaviour:
	    Set a sync point so that if the CPU is scheduled until
	    infinite we still can stop openMSX.
	    Wouter will look into the HotKey event distribution,
	    it is temporarly fixed using if comands.


2001-11-09 David Heremans
	* quickly add a fullscreen flag in the TMS code:
	    extra parameter in config.xml file
	    use PrintScreen key to togle
	* openMSX now stops when pressing F12:
	    however make sure that openMSx is full screen when you press F12

2001-11-07 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* reworked CPU related classes:
	    much simpler structure
	    more optimizations possible in the future
	* Z80: correct wait-state handling

2001-11-05 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Z80: undocumented instructions like "res 4,(ix+5),b" implemented
	* Z80: correct(?) timing for undocumented instructions

2001-11-04 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Z80 cleanup/fixes:
	  fixed DAA instruction, bug in Penguin Adventure should be fixed now
	  correct 'undocumented-flag-handling' for most instruction

2001-10-31 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* fixed bug in Z80, some instruction had a negative T-State count!!
	  Road Fighter works again

2001-10-30 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* added MSX-MUSIC, code largly taken from Mitsutaka Okazaki
		http://www.angel.ne.jp/~okazaki/ym2413/
	  no "suspend" function yet

2001-10-29 Joost Yervante Damad <j.damad@qahwah.net>
	* finished migration of CVS and mailinglists to sf.net
	* thank you sourceforge team!!
	* http://openmsx.sf.net

2001-10-27 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* fixes, improvements to DACSound (untested)
	* updated KeyClick, the "click too short" problem should be solved now
	  KeyClick now uses a DACSound object to play sound, playing samples
	  on KeyClick should also be possible now (untested)
	* pause sound while pause emulation
	* SoundDevices default now to muted after creation, fixes a race in
	  Mixer::registerSound()

2001-10-25 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* SoundDevices can now mute themselves, mixer doesn't ask
	  for soundbuffer of muted devices
	* added KeyClick support, PPI had to be made time aware for this
	  doesn't work very well yet because a typical key-click-spike
	  takes about 34us which is shorter than the duration of 1 sample

2001-10-23 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* make DACSound compile again (doesn't work yet)
	* add HotKey service
	* openMSX can be paused (pause key), added to demonstrate the
	  use of HotKey. Problems with current pause implementation:
	    - sound must also be paused
	    - realtime keeps running, so after unpausing openMSX
	      tries to catch up and runs too fast for a while
	* MSXKanji now supports both class 1 as class 2 Kanji
	* Added MSXPrinterPort and DummyPrinterPortDevice (= no device
	  connected)

2001-10-22 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Changed Mixer and SoundDevice interface (David's request).
	  Now each SoundDevice must do its own buffer-managment, this gives
	  more flexibility to devices like DAC's

2001-10-21 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* small performance improvement in MSXZ80

2001-10-21 Joost Yervante Damad <j.damad@qahwah.net>
	* added some basic conversions to MSXConfig##Device
	  let me know when more are needed
	* updated msxconfig.dtd to reflect soon te be added
	  non-device configuration entries
	* added support for non-device configuration entries
	  this is not thoroughly tested, but should work

2001-10-19 Joost Yervante Damad <j.damad@qahwah.net>
	* started TODO file to collect ideas/things todo

2001-10-19 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* documented SoundDevice interface on David's request
	* RP5C01 can now optionally sync with host-clock, but this
	  limitates some functionality

2001-10-18 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* implemented test register in RP5C01,
	  corrected 12/24 hour mode, month-wrap-bug fixed
	* RP5C01 is now emutime synced instead of realtime

2001-10-17 Joost Yervante Damad <j.damad@qahwah.net>
	* added src/cfg dir for storing config file templates
	* started in KeyEventInserter

2001-10-17 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* made improvements to MSXRealtime
	* small fixes to MemoryMapper, E6Timer
	* improvements to RP5C01 (RTC)

2001-10-16 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* fixed bug in Keyboard (uninitialized variable)
	  and made minor performance improvement in keyGhosting
	* add 1 extra waitState after each instruction
	* Corrected MSXRealTime, speed is now correct. Deviation was
	  caused by accumulation of rounding errors.

2001-10-15 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Scheduler can now schedule "Schedulable" objects instead of
	  only MSXDevices, this is necessary for sub-device scheduling
	  (e.g. counters in I8254

2001-10-15 Marcel Harkema <marcel@qahwah.net>
	* * Set the MAINTAINERCLEANFILES variable in Makefile.am files
	  (for make maintainer-clean)
	* * EventDistributor.hh should include <map> and not <multimap.h>
	  (which is an internal header file)
	* * Add {XML,SDL}_CFLAGS, {XML,SDL}_LIBS, etc. to CXXFLAGS and
	  LIBS in configure.in (and remove openmsx_LDADD line from
	  src/Makefile.am)
	* Include <cassert>, <cstdio>, etc. instead of <assert.h>,
	  <stdio.h>, .. [I might have missed some... please check your
	  code]
	* [patch applied by joost]

2001-10-14 Joost Yervante Damad <j.damad@qahwah.net>
	* Made EmuTime printable [read streamable] for David

2001-10-12 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Simplified MSXRealTime implementation

2001-10-11 David Heremans <david.heremans@gnu-linux.net>
	* MSXTMS9928a and MSXRealTime updates

2001-10-08 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* update parts of audio-buffer when registers have changed
	* fixed tone generation in AY8910 (overflow in calculation)

2001-10-09 Joost Yervante Damad <j.damad@qahwah.net>
	* removed all automake/autoconf utility files,
	  use autogen.sh to install them locally

2001-10-08 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* added a real time synchronizer (MSXRealTime)
	* fixed keyGhosting bugs in Keyboard

2001-10-07 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* renamed Inputs --> Keyboard
	* forgot to initialize keyboard matrix
	* moved method keyGhosting() from MSXPPI to Keyboard
	  --> method is now only called when
	        * keymatrix has changed and
	        * keymatrix is read
	* extended Mixer to support (pseudo)stereo

2001-10-05 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Made a very simple mixer, made AY8910 register itself as
	  sound generator.

2001-10-03 Joost Yervante Damad <j.damad@qahwah.net>
	* updated automake utility files

2001-10-03 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* "static const int -> enum" cleanup
	* Reworked EventDistributor, it is now possible to deliver events
	  synchronously and asynchronously. This makes the EventDistributor
	  more complex, but it eliminates locking problems in synchronous
	  ( = almost all) client code.

2001-10-02 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* made Philips mapper-IO behaviour
	* read mapper behaviour from config file, this needed some
	  restructuring in MapperIO and related classes
	* Fixed TurboR ST mapperIO

2001-10-01 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Z80 converted to a C++ class, still needs cleanups
	* IRQ handling cleanup

2001-09-30 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* second part of Z80 cleanup

2001-09-27 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* #define -> static const int   cleanup
	* first part of Z80 cleanup

2001-09-26 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* reimplemented Scheduler, total new algorithm
	* made some changes to cpu-device's
	  these need some cleanup, especially the c/c++ mix (Z80)

2001-09-25 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* added locking to class EventDistributor (maybe std::multimap is
	  thread-safe and no locking is necessary)
	* added locking to class Mouse, there was a small race that could cause
	  some mouse-movement-glitches

2001-09-24 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* implemented Real Time Clock device
	* implemented joystick support. Cannot be used yet since there is no
	  mechanism to plug a Joystick in a joystickPort yet (dynamically nor
	  statically)
	* implemented mouse support. Cannot be used yet, same reason as above

2001-09-23 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* made sperate thread for event handler
	  other classes can ask EventDistributor to receive specific events
	* adapted Inputs for new event model
	* respond to SDL_QUIT event

2001-09-23 Joost Yervante Damad <j.damad@qahwah.net>
	*  various small fixes
	* started working on making the code work with gcc-3.0
	* added autogen.sh: use to regenerate build files
	* added m4/ dir for own autoconf m4 macros
	* added fstream_templ.m4, since in gcc-3.0 ifstream
	  is templatized on type, and .read() returns char,
	  not unsigned char, soo this needs ifstream<byte> in
	  openmsx, but in gcc-2.95 ifstream is not a template.
	* added -fno-rtti to compile-flags since we don't use
	  runtime type inspection anyway, and it increases binary size
	  see also: http://gcc.gnu.org/ml/gcc-help/2000-03/msg00064.html

2001-09-22 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* cleanups in most devices
	* small bug fixes in some devices
	* Implemented memory mapper
	  all mappers share one MapperIO device
	  reading from mapper ports can be customized

2001-09-21 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* Z80/R800 separation cleaned up:
	  only the class MSXCPU knows there are 2 CPU's, all other devices
	  should talk to MSXCPU instead of MSXZ80 or MSXR800 (nor ask
	  MSXMotherBoard which CPU to talk to)
	  Removed some code marked as "ugly hack"
	* added support for Kanji ROM
	* cleanups in MSXRom16KB

2001-09-19 Joost Yervante Damad <j.damad@qahwah.net>
	* various small fixes around the code
	* the 16k rom still needs a C++ makeover

2001-09-17 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* implemented kana/code led
	* implemented joystick-ports. This is only the port, not the devices
	  that can be plugged into the port (joystick, mouse, ...)
	* interupt handling was seriously broken (CPU jumped to 0x38 at every
	  di->ei transition even when there was no device that had raised an IRQ)
	  Fixed now (I think). Also moved interrupt related methods from class
	  Scheduler to class MSXMotherBoard.

2001-09-16 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* implemented sound generation for PSG (code taken from xmame-0.37b)
	  mixer is not finished, so you won't hear anything yet

2001-09-16 Joost Yervante Damad <j.damad@qahwah.net>
	* added endian-ness check to configure.in
	* removed -DLDB_FIRST, and made it dependant on
	  configure result
	* added sizeof long autoconf check, to make Z80.cc
	  also work correctly on 64 bit and 128 bit cpu's [untested]

2001-09-15 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* started implemention of MSXPSG (no sound generation yet)

2001-09-15 Joost Yervante Damad <j.damad@qahwah.net>
	* reworked msxconfig.cc by using the xmlhelper
	* xmlhelper is a simplified xml interface

2001-09-13 Joost Yervante Damad <j.damad@qahwah.net>
	* added xmlhelper class, which I will start using
	  to make xmlconfig code cleaner
	* made msxconfig more standards-compliant

2001-09-10 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* removed double initialization
	* CPU is no longer a special case with initialization
	* fixed various bugs
	* made Inputs independent from MSXPPI
	* implemented CAPS LED + support for all other LEDs

2001-09-09 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* print more usefull debug messages
	* use DummyDevice instead of the general MSXDevice for all the
	  emptyDevice's
	* registering SP must be done by Scheduler, not Motherboard

2001-09-08 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* some fixes (yesterday discussed with Davy)

2001-09-06 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* fixed a few classes to make them compile again
	* made some minor addition to emutime

2001-09-05 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* print debug information only if compiled for debugging

2001-09-05 David Heremans <david.heremans@gnu-linux.net>
	* sync : PPI, Z80, ...
	* Z80 should be completely correct now
	* started integrating SDL keys
	* VDP integration Sean's code started
	* subslot selecting and mainslot selecting imped
	* MSXMotherboard slotlayout filled with dummy
	  empty devices to avoid 0-pointers

2001-09-03 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* In class Scheduler, use "set" instead of "list" or "sortedlist"
	* Split MSXPPI in a MSX depended part and a reuseable 8255 part

2001-08-27 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* made a more complete PPI implementation
	* made new device: E6Timer (TurboR)

2001-08-26 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* removed linkedlist.hh and use stl list instead
	* made template SortedList and use it in Scheduler
	  this compiles, but does not link yet

2001-08-25 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
	* updated class Emutime
	* make use of emutime

2001-08-23 Joost Yervante Damad <j.damad@qahwah.net>
	* msxconfig: added <desc> and <rem>
	* msxconfig.hh: externalized nested classes
	* msxconfig: started saveFile support

2001-08-10 David Heremans <david.heremans@gnu-linux.net>
	* sync : PPI, Z80, ...

2001-08-09 Joost Yervante Damad <j.damad@qahwah.net>
	* reworked msxconfig code, now more C++
	* added support for multiple slotted's

2001-07-07 Joost Yervante Damad <j.damad@qahwah.net>

	* added class property to <parameter> tag in msxconfig
	* also slightly reworked that code
	* bumbed version to 0.1.1
	* added SDL auto* support

2001-07-06 Joost Yervante Damad <j.damad@qahwah.net>

	* merge David's code in CVS
	  this includes: PPI, Z80, RomDevice, Motherboard, ...

2001-06-26 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>

	* more updates tex docu file

2001-06-23 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>

	* more updates tex docu file

2001-06-23 Joost Yervante Damad <j.damad@qahwah.net>

	* finished readonly MSXConfig interface

2001-06-22 Joost Yervante Damad <j.damad@qahwah.net>

	* added MSXException exception base class.
	* created MSXConfig exceptions
	* started using them.
	* make distcheck now works
	* openmsx.tex is part of the dist

2001-06-21 Joost Yervante Damad <j.damad@qahwah.net>

	* made MSXConfig code -> this code needs serious cleaning
	  later ! :)

2001-06-21 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>

	* updated tex docu file

2001-06-20 Joost Yervante Damad <j.damad@qahwah.net>

	* initial MSXConfig interface/singleton skeleton
	* first touch with libxml++
	* links smoothly now with libxml++ and libxml
	* !!warning!! needs libxml++ version 0.13 (debian ships with 0.10)
	* see also http://lusis.org/~ari/xml++/

2001-06-21 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>

	* created tex docu file

2001-06-19 Joost Yervante Damad <j.damad@qahwah.net>

	* added autoconf support for libxml
	* added some $Id magic tags

2001-06-18 Joost Yervante Damad <j.damad@qahwah.net>

	* Emutime tweaks as per Wouter and David

2001-06-16 Joost Yervante Damad <j.damad@qahwah.net>

	* added autoconf support for libxml++
	* various small tweaks

2001-05-06  Joost Yervante Damad <j.damad@qahwah.net>

	* made a nice and clean CVS/automake/autoconf/libtool
	* restructured source
	* versioned files

2001-05-04  David Heremans  <david.heremans@gnu-linux.net>

	* openmsx: initial version.
