Release History
===============

This is an overview of the changes that were incorporated into past releases.

openMSX 0.6.1 (2006-07-30)
--------------------------

This release includes major internal changes, although many are not visible
from the outside.

It is now possible to switch from one MSX machine to another while openMSX is
running. This will reset the MSX of course.

Also, it is possible to insert or remove cartridges (extensions or game ROMs)
while openMSX is running. This does not reset the MSX, but the MSX system was
not designed to support insertion or removal of cartridges while the machine is
on. Although doing so will not damage openMSX (unlike a real MSX), it is
possible the MSX will hang if hardware is removed that was being used, or that
newly inserted hardware will not function properly until you reset the MSX.

A new advanced video renderer was added: SDLGL-PP. This renderer requires
OpenGL 2.0 and uses pixel shaders to postprocess the image. For new video cards,
this is a very efficient way of scaling the image. For old video cards, please
stick to the SDL or SDLGL renderer. Not all scalers are implemented yet:
"simple" and "ScaleNx" work, as well as the new "TV" scaler, which is exclusive
to SDLGL-PP.

New or improved emulator features:
- Run-time switching of machines:
    change:        set machine <machine name>
    query:         set machine
- Run-time switching of extensions:
    insert:        ext <extension name>
    remove:        remove_extension <extension name>
    query:         list_extensions
- Run-time switching of ROMs:
    insert/change: carta <file name>
    remove:        carta -eject
    query:         carta
- New command "hda" to change the IDE harddisk ("hdb" for second drive etc).
  This is allowed only when the power is off, for the safety of your data.
- SDLGL-PP renderer (OpenGL-2.0), with the following exclusive features:
  * scale factor 4
  * TV scaler: brighter pixels are drawn bigger
  * 3D monitor effect: (arcade look)
    set display_deform 3D
  * horizontal stretch: (MSX aspect ratio)
    set display_deform horizontal_stretch
- Monochrome monitor effect:
    monitor_type <name>
- Video noise effect:
    set noise <amount>
  Low amounts of noise (for example 2.5) can make the video look better, high
  amounts are just a gimmick.
- Brightness and contrast control: "set brightness <amount>" and "set contrast
  <amount>", where 0 is neutral.
  A small decrease in contrast will make the noise look better.
- Preload disk image: avoids repeated spin-ups when loading from PC CD-ROM.
- TCL procedures can now have a help text and TAB completion.
  We also added help and completion to the TCL scripts that ship with openMSX.
- New console command "about" which 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.
- Watchpoints for I/O port and memory access:
    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 I/O ports and 0..65535 for memory.
  Condition and command are the similar to the "set_bp" command.
- Detection of DI/HALT (hanging MSX).
- Detection of Undefined Memory Reads (UMRs).
  When memory is read that was never written to, a TCL procedure is called.
  You can make your own, or use the included procedure named "umrcallback":
    set umr_callback umrcallback
  This is "valgrind" for MSX ;)

MSX device support:
- IDE CD-ROM support: the "ide" extension now contains a CD-ROM drive in
  addition to a harddisk. You can insert ISO images with the "cda" command,
  or "cdb" for the second CD-ROM etc. There is no support yet for audio tracks.
  Note that you have to run IDECDEX in the emulated MSX before you can use
  CD-ROMs; you can download it from Sunrise (http://www.msx.ch/sunformsx/).
- Support for V9938 with only 16kB VRAM, as used in the SVI-738.
- Major V9990 improvements.
- Minor sound differences between two different PSG types (AY8910 and YM2149).
- Added Ninja-tap, a joystick port expander.
- Added DDX-3.0, a port-based external floppy interface.
- Small bugfixes in various devices: VDP, RTC, FMPAC, MegaRAM, IDE.

Build system, packaging, documentation:
- OpenGL support now depends on GLEW (http://glew.sourceforge.net/).
  GLEW is a library which allows us to conveniently use of GL extensions.
- Build fixes for Intel Macs.

openMSX 0.6.0 (2006-01-21)
--------------------------

After a long time, a fresh release which brings a lot of internal improvements
and some long standing new features as well.

The biggest change for the user is the fact that we removed the SDLLo renderer
and that we split the scalers into a separate "scale_factor" (controls the
zoom) and "scale_algorithm" (controls the look) setting. A factor of 1 replaces
the SDLLo render and as a bonus we also added a factor of 3! The latter also
makes more exotic scalers possible, like the new RGBTriplet one, which tries to
emulate a low res Trinitron (Aperture Grille) monitor. Also, the existing
scaler algorithms have been implemented for scale_factor 3. Note that currently
the GL renderer only supports scale_factor 2; if you want the new scale
factors, use the SDL renderer.

Mac OS X Tiger users will be happy to know that this release will compile
cleanly on their systems, because openMSX can be compiled with GCC 4.x now.
Also some problems specific to big endian CPU's (like the Power PC in most
Macs) were fixed.

In the sound department we made big quality improvement for DAC devices, like
the turboR PCM and the Konami DAC which can be found in the Hai no Majutsushi
and Synthesizer products.

Note that in this release several incompatible changes to openMSX commands were
made. First of all, the cassetteplayer subcommands have changed, because we
added the possibility to save to cassette now as well. To learn the new
subcommands, use "help cassetteplayer". Also the keyjoystick settings are
incompatibly changed, which means your old bindings will be lost. Finally the
already mentioned renderer and scaler settings have changed, so you will have
to re-select your favourite scaler.

New or improved emulator features:
- Printer logger and SRAM are flushed at regular intervals now, so if openMSX
  or your PC crashes, it is less likely you will lose data.
- Settings that have their default value are not saved anymore, which will make
  future upgrades easier (new defaults are automatically picked up).
- Added support for a second keyjoystick.
- More extensive debugging, including conditional break points.
- Apart from communication via stdio, communication via sockets is now enabled.
  This means you can connect to openMSX at run time! This will be used by a
  debugger that is in development.
- V9990: speed improvements, enabled scalers, scanline and blur.
- Reorganisation of renderers and scalers (including new ones), see above.
- Screenshot command has a -prefix option, useful in combination with the new
  "guess_title" script: give meaningful names to your screenshot.
- New "fullspeedwhenloading" setting. When enabled, openMSX automatically
  switches to maximum speed when the MSX is loading from disk or tape.
- New "autoruncassettes" setting. When enabled and you specify a CAS image on
  the command line or in Catapult, openMSX will automatically type the required
  loading instruction in MSX-BASIC.
- Finally implemented a work around for the CAPS LOCK problem.

MSX device support:
- Internal CAS to WAV conversion produces now 5520 baud WAVs, for faster
  loading.
- Implemented saving to cassette (see above).
- Implementation of SCREEN6 border and background stripes.
- Implemented support for 192kB VRAM (now default in the Boosted_MSX2_EN
  machine).
- Implemented support for ADVRAM: use extension "advram-p" for machines in which
  slot 0 is not expanded (most MSXes) and use extension "advram-s" for machines
  in which slot 0 is expanded (such as turbo Rs).
- Sound quality improvement of DAC devices (see above).
- Implemented TurboR hardware pause and hardware PCM mute.
- Implemented "magic key" joystickport dongle.

Build system, packaging, documentation:
- Compile fixes for GCC 4.x.
- Support for FreeBSD 6.

openMSX 0.5.2 (2005-06-09)
--------------------------

This release is mainly a bug fix release with only a few new features, but a lot
of quality improvements, mainly related to audio. We reworked the YM2413 engine
by Okazaki, bringing the openMSX fork up to date with the latest release of
MSXplug. We also fixed an bug in the SCC emulation, which screwed up some sound
effects. Other fixes include MSX-AUDIO sample RAM access and the timer accuracy
of OPL4 and MSX-AUDIO. Finally, we also added a DirectSound driver for Windows.

A new sound related feature is the sound logger. It writes the sound played by
openMSX to an uncompressed WAV file. The current version logs exactly what is
sent to the sound driver, including any inaccuracies caused by realtime
synchronization. We are planning a logger that is not timing sensitive to
appear in a future openMSX release. For usage instructions, see section 7.3 of
the openMSX User's Manual.

A last new (but still a bit experimental) feature is the disk manipulator. This
is a new built in toolkit to transfer files from the host OS to the MSX disks
(disk images and hard disk images with partitions are all supported) and vice
versa. You can also use it to create new (hard) disk images and format them. A
complete description is in doc/using-diskmanipulator.txt.

New or improved emulator features:
- New scaler: HQ2xLite. This is a scaler that is almost as good as HQ2x, but
  uses a lot less CPU.
- Added DirectSound driver for Windows, which solves the problems some people
  had with SDL on Windows. It also runs at a lower latency than the SDL driver.
  Many thanks to Daniel Vik for helping with DirectSound. To switch between the
  DirectSound and SDL sound drivers, use the new "sound_driver" setting.
- Improved debugger, with some new (TCL based) commands like disasm, step_in,
  step_over and run_to.
- Extended IPS patch support, it should now support all IPS files.
- Updated ROM database.
- Added trainers.tcl: hundreds of game trainers. Use trainer_[TAB] in the
  console to switch on the trainer for the game you want.
- Added a cheat finder script: create your own game trainers. For an
  explanation how to use it, see this openMSX forum post:
    http://forum.openmsx.org/viewtopic.php?t=34
- Use revamped console background and font as default. If you're upgrading from
  an older openMSX version and want to use this new background and font, you
  can either remove your settings.xml file or type the following lines in the
  openMSX console:
    set consolebackground skins/ConsoleBackgroundGrey.png
    set consolefont skins/ConsoleFontRaveLShaded.png
- New icon, made by Eric Boon.

MSX device support:
- Updated Okazaki YM2413 core (now the default).
- Added pixel accurate rendering to V9990 emulation. Note that the timing may
  still be quite incorrect.
- Improved timing on turbo R machines. For example, speed difference between
  R800-ROM and R800-DRAM mode is now emulated.
- Various IDE fixes from Adriano Camargo Rodrigues da Cunha.

Build system, packaging, documentation:
- Compile fixes for GCC 4.x.
- Added experimental build support for Sparc, DEC Alpha, ARM, HP PA-RISC, IA-64,
  Motorola 680x0, MIPS and IBM S/390. Except for Sparc these are all untested.
- openMSX is now relocatable on Mac OS X, which means you can move the
  installation directory around.
- Our Debian packages are now uploaded to the Debian archive, soon after
  release.
- Updated C-BIOS to 0.21.

openMSX 0.5.1 (2005-03-05)
--------------------------

This release includes a redesign of the ROM database XML file. This new format
is supported by both blueMSX and openMSX; other emulators are welcome to adopt
it as well. The old "romdb.xml" file is still supported, but will disappear in
the future. The new "softwaredb.xml" file is generated from a central SQL
database, using information from the old blueMSX and openMSX ROM databases. The
new database design is prepared to support disks in addition to ROMs.

Another major new feature is emulation of the Sunrise GFX9000. We have been
working on this for quite some time already, but in this release you can see the
first usable results. Do note that the emulation is still far from complete,
fast or bug free. But we thought you might appreciate it already in its current
shape. To use it, start openMSX with the "gfx9000" extension selected. You can
switch between the MSX VDP and the GFX9000 picture with the "videosource"
setting. Note that right now, only the SDLHi and SDLLo renderers are able to
render the GFX9000 picture.

Also new are the OSD (on-screen display) LEDs. Catapult users have had LEDs for
some time, but now if you use openMSX from the console or full screen you can
also see the status of the LEDs. OSD LEDs are configurable via TCL scripts.

New or improved emulator features:
- A new mixer implementation improves the sound quality of PCM and PSG samples
  a lot.
- The "samples" and "frequency" settings can now be changed at run time.
- Various speed ups, especially for low end machines due to better frame skip.
- You can now use IPS patches to modify disk and ROM images as openMSX loads
  them into memory, without changing the images files.
- Extensions inside ZIP files are now used to guess the right file type.
- Many improvements for Mac OS X, including bug fixes and more Mac-like key
  bindings. When upgrading from openMSX 0.5.0, you can remove your
  ~/.openMSX/share/settings.xml to get new the key bindings.
- New "escape_grab" command: escapes from "grabinput" once.
- Debugging: enabled "cputrace" setting for normal builds as well.

MSX device support:
- Fixed turboR DRAM support. Programs that use this, like TRCAS, work now.
- Fixed booting of SVI-738 CP/M disks.
- Timing improvements of the WD2793 FDC. Fixes a few games that rely on it.
- The 13 bit MSX-AUDIO DAC actually works now (used in modplayer).
- Added MegaRAM Disk, thanks to Adriano da Cunha.
- Improved Sony HBI-55, thanks to Daniel Vik.
- Fixes in Tetris II Special Edition dongle.
- Added separate machine configuration for Philips VG 8020/20.
- Added MSX-AUDIO 2 extension. This is an Y8910 on alternative I/O ports.
- Added FM Stereo PAK extension.

Build system, packaging, documentation:
- We now provide Debian packages, shortly after the source release.
- Added build support for OpenBSD and NetBSD.
- Updated C-BIOS to 0.20.

openMSX 0.5.0 (2004-10-18)
--------------------------

This release includes a complete redesign of the hardware configuration XML
files. Also many devices were renamed. I/O ports are now specified in the
hardware configuration instead of hardcoded. Configurations in the old format
are no longer supported.
If you copied the configurations that came with openMSX 0.4.0 to a different
location (for example, ~/.openMSX/share), replace them by the configurations
shipped with 0.5.0.
The Python script share/scripts/convert_hardwareconfig.py can be used to
convert your custom-made configurations. It may not convert every detail
correctly, but it will save you a lot of time compared to manually converting
configurations.

The new ROM pools feature makes installing system ROMs easier. A ROM pool is a
directory where openMSX looks for system ROMs. The new hardware configuration
XML files contain the SHA1 sums of the required system ROMs, so openMSX can
find the right ROMs in the ROM pool automatically. The default ROM pool is the
directory share/systemroms.

Settings, including key bindings and user directories, can now be saved. By
default, settings are automatically saved when openMSX exits. If you don't want
that, do "set save_settings_on_exit false" and save manually with the new
"save_settings" console command. It is also possible to save settings to
separate files, so you can keep multiple, independent configurations.

Old configuration options were converted to settings:
- machine: the default machine (needs openMSX restart)
- frequency: the sound mixer frequency (needs openMSX restart)
- samples: the size of the sound mixing buffer (needs openMSX restart)
- user_directories: directories that are searched for data files
The new setting "save_settings_on_exit" controls auto-saving of settings.
Finally, we renamed "frontswitch" to "firmwareswitch".

Changes in the video system:
- Use of MMX to speed up video scaling considerably (mainly simple scaler).
- Big speed up of scanline effect.
- Enabled blur effect in the SDLHi renderer (simple scaler).
- Scale2x and hq2x scalers now also work in hi-res modes (screen 6 and 7).
- Made pixel accuracy the default.
- Removed 8bpp support (which never worked before).
- Fixed crash when making screenshot in 16bpp.

New or improved emulator features:
- Added channel mode 'off' to mute individual sound devices.
- Added meta data of machines in config files.
  Some of this information is shown in the window title bar.
- New "iomap" command lists the I/O ports and the devices connected to them.
- Added a debugger interface to all (S)RAM.
- Improvements in the 'type' command, thanks to Albert Beevendorp and Arnold
  Metselaar (welcome to the club, Arnold!).
- Release key presses when the console becomes active.
- Improved geometry detection of disk images; MSX1Mania disks work now.
- Fixed crash in Win32 when dir-as-disk is used with files with weird dates.

MSX device support:
- MoonSound fixes.
- Added slotexpander extension: use it to change one primary slot into four
  secondary slots.
- 8kB BASIC ROMs now work correctly and are auto detected as well.
- Added simple DC filter for cassette images.
  .wav files created by MicroWAVer should work now.
- Fixes for TC8566AF FDC (used in turbo R), thanks to Daniel Vik:
  improved timing (fixes Gazzel intro) and added format command.
- Force PSG portA to be input port. This fixes joystick and mouse reading in
  games that write illegal values to the PSG (Match Maniac and others).
- Emulation of the Tetris II Special Edition dongle (plugs into joystick port).
- Fixed high-frequency reads of low-frequency clocks (such as RTC).
  Thanks to Daniel Vik for spotting this problem.
- Many bugs were fixed, including long-standing bugs such as a VDP bug causing
  glitches in Andorogynus and CPU bugs causing glitches in Pennant Race and
  Fony Demo Disk 1.

Build system, packaging, documentation:
- Separated OS and CPU in the build system.
- Build support for x86-64 (Athlon64).
- Fixed bug: new TCL was not detected by running "make probe" again.
- Added openMSX FAQ to documentation.

openMSX 0.4.0 (2004-05-28)
--------------------------

- Finalised the control protocol, making a fully-featured Catapult possible.
- Implemented TCL as central scripting language (including console).
  Consequences:
  * AutoCommands in settings.xml have been replaced by init.tcl file
  * "restoredefault" command replaced by TCL's "unset"
  * "alias" is deprecated, use TCL's "proc"
  * "decr" is deprecated, use TCL's native "incr" with negative argument
  * "quit" is replaced by TCL's "exit"
  * old "info" is replaced by "openmsx_info"; "info" is a TCL command
  * Some cool TCL scripts added, e.g. multi-screenshot (make 'movies'),
    save_debuggable, vramdump (replacing old console command)
- New build system which replaces the GNU auto* tools.
  It is more efficient, has cleaner output and is easier to maintain.
  You can still use the traditional "configure ; make ; make install" steps.
  For details, read doc/manual/compile.html.
- Added support for compiling on FreeBSD 4 and 5.
  Thanks to ag0ny, Jorito and Reikan.
  Also updated support for Mac OS X, thanks to Jalu.
- New frameskip/sync algorithm: tries to skip as little frames as possible to
  keep the right speed; maximum and minimum number of skipped frames can be set
  with the minframeskip and maxframeskip settings.
  The new algorithm can deal much better with the situation where another
  process or the OS claims the CPU for a while. As a result, animation and
  music play more fluent and openMSX feels faster.
- Better CPU timing (Z80 and R800), and also for R800 specifically:
  * implemented CAS/RAS optimization
  * implemented refresh delay
  * IO operations take 3 cycles
- CPU frequency is not fixed anymore:
  * frequency can be unlocked and modified from the console
  * "6MHz mode" of Panasonic MSX2+ machines is now supported
- Fixes in TurboR FDC: FDD LED, disk change signal, drive detection, empty
  drive behaviour ("Disk offline"). Thanks to Tetsuo Honda.
- Finalized internal mapper for Panasonic FS-A1FM and added support for its
  "frontswitch" for the firmware.
- RS232 interface in Sony_HB-G900P has 2kb RAM.
- Sony HBI-55 datacartridge now fully implemented.
- Added proper support for Koei and Wizardry mappers (with SRAM).
  Thanks to dvik (blueMSX author) for the info.
- Added about 14 new machines.
- Volumes are all in a 0-100 range now.
- Added master_volume setting.
- Several optimisations in rendering.
- Fixed sprites in overscan.
- Added basic frames-per-second indicator.
- Scaled up icon to 32x32; fixes icon on Win32.
- Using SHIFT and PageUp/PageDown you can scroll whole pages in the console
- New "type" command: use to enter text into the MSX keyboard buffer (not
  finalized yet)
- Added a debugger interface to more devices: SCC, MSX AUDIO, MSX AUDIO
  sampleRAM, MoonSound, MSX MUSIC, memory mapper, PSG. Also 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
- New debug interface commands: "read_block", "write_block", "after break" and
  "after frame".

openMSX 0.3.4 (2004-01-16)
--------------------------

This new release brings you the following improvements:
- Several fixes in VDP emulation; more games and demos work correctly.
- Added scalers for SDLHi. A scaler is an image filter which enlarges the
  MSX screen to PC resolution. The following scalers are implemented:
  * simple (original)
  * 2xSaI
  * Scale2x
  * hq2x
  Use "set scaler <name>" to select a scaler.
- Scanlines now work in SDLHi (previously, they only worked in SDLGL).
- Per-pixel alpha blending for console on SDLHi/SDLLo.
  This makes anti-aliased console fonts look better.
- Rendering fixes in Win32:
  * Fixed slowdowns in fullscreen mode.
  * Fixed console flickering.
- Switched to Jarek Burczynski's YM2413 core (MSX-MUSIC).
- Added high-pass IIR filter to mixer to avoid audio clipping.
- Added I/O device multiplexing: you can now safely insert an FM-PAC in
  an MSX turbo R, for example.
- Added screenshot feature.
  Default key bindings changed to put this under PrtScr.
  F12 toggles full screen now, while Quit is not mapped anymore, by default.
- Added Ren-Sha Turbo (autofire) emulation: "set renshaturbo <speed>".
- Added emulation of the MSX turbo R pause key.
- Added LED status of disk drives.
- Fixed harddisk image creation: automatically create or enlarge hd-image
  when the specified file doesn't exist or is too small.
- New console commands:
  * after: execute command after a certain time
  * alias/unalias: put long commands under a named alias
  * incr and decr: increase or decrease integer settings
    (useful when bound to a key, see "bind" command)
- Added a 'boosted' MSX2 configuration: a fantasy machine with lots of
  internal hardware. More of these will be added in future releases.
  The current configuration is still experimental; feedback is welcome.
- Added alternative build system ("alternative.mk"), which is more flexible
  and easier to maintain than the old system which uses GNU's auto* tools
  ("configure" and friends). The alternative system will replace the auto*
  system in the future, so please test it on your machine and report any
  problems. You can use it with "make -f alternative.mk" to compile and
  "make -f alternative.mk install" to install.
- Added support for Intel's ICC 8.0 compiler (only in alternative.mk).
- Added experimental support for Mac OS X (only in alternative.mk).
  Thanks to Jan Lukens (Jalu) for testing/debugging this.
- Dropped support for GCC 2.95 (please upgrade to GCC 3.x).
- Added the ability to control openMSX from an external process (launcher,
  debugger) using an XML-based control protocol. This is an experimental
  feature; the control protocol will change incompatibly in the next
  release.
  For an example client implementation, see Contrib/openmsx-control.cc.
  We're working on a new openMSX Catapult which uses this protocol.
- New features for external control clients:
  * renderer "none", which displays nothing.
  * "power" setting: enable or disable power to the MSX machine.
  * "restoredefault" command: restores a setting to the value specified in
    settings.xml.
  * "info" command: gets info such as lists of pluggables, renderers etc.
  * "keymatrixup"/"keymatrixdown" commands: manipulate the keyboard matrix.
- Added a debugger interface, accessible through the "debug" command.
  The following devices currently support this interface: CPU, I/O ports,
  memory, VDP and VRAM. Also it is possible to set breakpoints.
- Small improvements in debug device.
  The debug device is very useful for people developing MSX software in
  openMSX; read the manual for details.
- Added "vdpcmdtrace" setting: enable or disable VDP command tracing.

openMSX 0.3.3 (2003-09-26)
--------------------------

This new release brings you the following improvements:
- Windows specific code was merged into the main branch. We have an
  "official" Win32 port that is part of this release.
- New HTML manuals replace the HOWTO. These manuals will make it easier for
  you to find the information you need. Also, the HTML layout looks better.
  Due to time pressure, the manuals are a bit rough at places, we'll improve
  them in the future.
- New MSX devices:
  * MSX-MIDI interface (turbo R).
  * MSX-RS-232 support (8255 UART).
  * PCM input (sampling) for turbo R via a .wav file.
- Added a debug device: write data to special I/O ports and its get logged
  to stdout or a file in a format you specify. Very useful if you develop
  MSX assembly programs in openMSX.
- Several improvements and fixes in the VDPCmdEngine; VDP emulation is even
  more accurate now.
- All read-only input files (ROM images, disk images, background pictures,
  XML) can now be gzipped or zipped and will be transparently decompressed
  by openMSX. Note that some games require write access to their disk in
  order to run (for example, Seed of Dragon).
- New dir-as-disk feature: a directory can be specified instead of a disk
  image and the contents (up to 720K) will show up as files on the MSX.
  There is no support for subdirectories (as used by DOS2) yet. This feature
  is still experimental, so please report problems if you encounter them.
- Several cassette emulation updates and new features:
  * Automatic .cas to .wav conversion in CassettePlayer.
    (no patched ROM needed anymore to run .cas files)
  * Cassette sounds are now audible.
  * Tapes can be rewinded.
  * Tapes can be forced to play.
    (like unplugging the 'remote control' plug on a real machine)
- A different keymap (e.g. for Japanese PC keyboards or to use Russian MSX
  keyboards on a US English PC keyboard) can be used now, via settings.xml.
- Keys for the key joystick are now configurable in settings.xml.
- Added joystick emulation for mouse (a feature that the Philips SBC-3810
  and Sony MOS-1 and similar mice have).
- Various console updates:
  * Tab completion behaves much more like the UNIX Bash shell now.
  * Clearer error messages.
  * More than one command is possible, use ';' to separate them.
    Especially useful for binding several commands to a single keypress.
- User-configurable channel settings for mono sound devices. You can set
  them to left, right or mono mode at run time.
- Many things are now user configurable via the console:
  * .wav input file for PCM sampler
  * log file for the printer logger
  * output file for the MIDI out logger
  * input file for the MIDI in reader
  * input and output file for the RS232-tester
- ROM database now uses SHA1 sums in stead of MD5 sums.
- The MSX turbo R machine description uses a single 4MB ROM image, plus the
  Kanji ROM. This is closer to how the real machine works.
- Several machine and extension configurations added.
- Fixed compilation on GCC 3.4-pre development version.

openMSX 0.3.2 (2003-06-09)
--------------------------

- New feature: MoonSound support.
  Original implementation taken from MAME, thanks to Jarek Burczynski
  (FM code), R. Belmont and O. Galibert (wave code) for allowing us
  to use their code in openMSX.
  Improvements and bug fixes were done by Arjan Bakker and our team.
- New MSX devices:
  * MegaRAM
  * PAC (Panasonic SW-M001)
  * Support for 8kB ROMs
- New feature: grab input (try "set grabinput on").
  When enabled, the native mouse cursor cannot escape from the openMSX
  window anymore; makes using the mouse a lot easier in windowed mode.
- New timer using the Linux Real Time Clock (RTC), which is more accurate
  than the SDL timer. SDL timer is still available as a fallback.
  Instructions to configure your system for using the RTC are in the HOWTO.
- New effect in the SDLGL renderer: afterglow (try "set glow N").
- User-configurable gamma correction (try "set gamma X").
  Also the default value is less bright than the previous hard-coded value.
- Screen accuracy works now (try "set accuracy screen").
  It is fast, but very inaccurate.
- Volume of sound devices can be adjusted at run time.
- Various console updates:
  * Commands can be on multiple lines.
  * Search in command history.
  * Command history is saved.
  * Support in SDLHi/Lo for console font PNG images in indexed mode.
    Previously, only images in RGB mode were supported.
  * Console remains usable when openMSX is paused.
- Several machine configurations added (thanks to Albert Beevendorp).
- Several extension configurations added.
- Cache coherency problem in SDLGL renderer fixed.
  This bug caused garbled graphics in for example Ark-a-Noah and Dr Archie.
- Fixed compilation on GCC 2.95.

openMSX 0.3.1 (2003-05-18)
--------------------------

- Fixed compilation on GCC 3.3.
- Fixed SDLGL renderer on XFree86 4.3.
- New feature: configurable file-extentions.
- Improved layout of help text (try "openmsx -h").
- Many improvements to the console, including:
  * Extended the console editing keys (left, right, del, bs, home, end etc).
  * Added key repeat.
  * Reset the scrollback when any key other than page up/down is used.
  * Added resizing and moving to the console.
  * SDL console characters are no longer blended (improved readability).
  * SDL backgroundimage can be scaled and can have any pixel format.
  * Fixed colour of font on GLConsole overlayed on Text1 mode.
- Emulation and event handling are now done in a single thread.
  The previous multi-threaded solution was not very portable among platforms
  or even different versions of the same platform.
  As a bonus, the single thread model is simpler and more efficient.
- Improved "make install".
- Cleanups of the directory structure.

