0.7.0 / 2011-05-21
==================
	* Use GOAM [http://github.com/0xe2-0x9a-0x9b/goam] to build and
	  install GoSpeccy

	* Use Clingon [http://github.com/remogatto/clingon] as the
	  command-line GUI, instead of a C readline wrapper. The readline
	  support is gone.

	* Use [http://github.com/remogatto/prettytest], instead of an internal
	  copy of the PrettyTest package

	* Improved audio resampling method which usually produces less noise

	* Added command-line options: "-hostcpu-profile", "-show-paint",
	  "-audio", "-audio-freq", "-audio-hq"

	* New script functions: cmdLineArg() string, fullscreen(bool),
	  showPaint(bool), audioFreq(uint), audioHQ(bool)

	* Renamed script functions: sound(bool) --> audio(bool)

	* Performance optimizations: store events events in an array (instead
	  of storing them in a linked-list), do not try to use uninitialized
	  Go  variables, lower number of conversions between numeric types
	  with  different bit-lengths, do not allocate memory when computing
	  the address of a pixel in a SDL surface, do not allocate memory when
	  executing certain instructions (INC, DEC, POP, RET, and others),
	  use Go arrays instead of 'container/vector/Vector', read the ROM
	  file only once instead of reading it on each reset, faster typing
	  of [LOAD ""] when loading from tape

	* Better display refresh stability thanks to reduced memory
	  allocation. That is: less reasons for the Go runtime to stop the
	  program to perform memory garbage-collection.

	* Make the Z80 CPU conformance test complete much faster

	* Add initial support for Kempston joystick

	* Automatically detect when to pause/unpause the tape.
	  This enables loading of multi-part TAP files, and of programs
	  that expect the audio data to contain periods of silence.

	* Play 8063 pulses on all TAP headers

	* Limit the maximum speedup of accelerated loading to 20

	* Enable loading of the "VeraMono.ttf" font from "$HOME/.gospeccy"
	  or from the installation directory

	* Do not initialize SDL if GoSpeccy is unable to detect the type of
	  the program on the command-line

	* Changing the FPS should now result in fever sound buffer underflows

	* Do not set GOMAXPROCS if there is an environment variable named
	  'GOMAXPROCS'

	* Disable writes to ZX Spectrum ROM (to the first 0x4000 bytes of
	  memory). As a side-effect it enables "RANDOMIZE USR 0" to work
	  correctly.

	* Change the script help text so that it fits the width of the console
	  when the scale is set to 2

	* Add Go-SDL TTF version check. Print video surface resolution if in
	  verbose mode

	* Update to a newer version of Go-PerfEvents that allows GoSpeccy
	  to potentially compile&run in a wider range of software environments

	* Fix a couple of real&potential bugs, deadlocks and race conditions

	* Minor updates to the README.md file

0.6.1 / 2010-11-12
==================
	* Add support for accelerated tape loading both in console and command-line

0.6.0 / 2010-11-11
==================
	* Add support for loading tapes in TAP format through the system
	ROM loading routine

	* Add support for Z80 48k snapshots (all Z80 versions)

	* Enable loading of a program (tape or snapshot) from a ZIP
	archive

	* Add system/blackbox tests (see src/test)

	* Add puts() function to the console Test script() console
	function

	* Create a separate package for the console

	* Faster emulation of memory contention

	* Enable a script or the console to add a new search path (handful
	if used in the "startup_local.go" script), a snapshot specified as
	an argument to GoSpeccy now superseeds any snapshots loaded from
	the startup script

	* Inline code that is used to set individual pixels (for up to 2x
	rendering performance improvement)

	* Improve conversion of 2-bit beeper levels to 16-bit audio (fixes
	the music loudness in Manic Miner)

	* Fix emulation of HALT instruction

	* Fix many memory and I/O contention issues (checked against
	JSpeccy 0.87, and against a couple of timing tests)

	* Accurate emulation of the border (Overscan Demo by Busy Soft
	works perfectly)

	* Border height is now 32 pixels instead of 24

	* Improve simulation of RETN when loading a SNA snapshot

	* Reduce visual artifacting caused by non-atomic SDL surface
	updates

	* Fixed border rendering when a frame is not sent to the rendering
	backend

0.5.1 / 2010-09-18
==================

        * Add an audio stress-test, improve the application shutdown procedure

0.5.0 / 2010-09-18
==================

	* Hide mouse cursor in fullscreen mode

	* Enable uninstallation

	* Allow testing and benchmarking in the "src/spectrum" directory
	without the need to install the C readline wrapper

	* Add convention over configuration for loading snapshots/roms/scripts

	* Add convention over configuration when loading snapshots and
	system rom(s). See #16. Modify the main Makefile in order to copy
	ths system rom(s) in $(GOROOT)/pkg/$(GOOS)_$(GOARCH)/gospeccy/roms
	directory

	* Add support for loading and running Go scripts, add a simple
	display stress-test script.

	* Check Go-SDL version descriptors to prevent running with an
	incompatible Go-SDL version

	* Console & readline: handle terminal resize (SIGWINCH signal)

	* If video/audio cannot be initialized, exit with an error message (instead of calling panic())

	* Add beeper sound support

	* Use ⚛SDL's event channel.

	* Prevent the display backend from blocking CPU emulation.

	* Proper interleaving of console output and console input.

	* Minor Makefile update. See also http://groups.google.com/group/golang-nuts/browse_thread/thread/2e1521c155a19f83

	* Fix deadlock occurring in the absence of "-verbose" command line option.

	* Start rendering the 1st frame immediately, rather than artificially waiting for 20 milliseconds.

	* Add readline support

	* Add ability to write snapshots in SNA format.

	* Add support for faster ULA attribute emulation.

	* Allow to lower the accuracy of ULA emulation.

	* Enable to input simple commands (as Go code) from the
	console. It is now possible to change the display scale, to reset
	the machine, and to load a snapshot. There is a new high-level
	interface (uses a Go channel) for sending commands to the emulated
	machine.

	* Map opcode callbacks in an array type in place of a big opcode
	switch for better performances

	* Delay SDL video mode initialization until we get the first screen frame.

	* Add hypothetical support for none/one/multiple displays.

	* Use Linux performance counters to estimate emulation efficiency

	* Faster screen rendering. Keyboard now supports cursor keys and
	keys such as ","

	* Fix Makefile to work on 64-bit systems

	* Add a naive Z80 benchmark based on the fire demo

	* Fix interrupt length. Add support for the "," key

	* Exit the opcode emulation loop in case of a HALT, thus reducing
	the x86 CPU usage in some cases.

	* Add basic support for emulating contended memory and contented
	IO. This improves the timing of animations in games, etc. The
	horizon in Aquaplane works more-or-less OK, Paperboy does not seem
	to be working.

0.1.0 / 2010-06-29
==================

	* Add Fire104b intro snapshot by Andrew Gerrand

	* Improve display design: better performance for scaled display
	avoiding post processing of the surface.

	* Simplify high-level API: create a speccy instance is simple as
	issuing:

	    speccy := NewSpectrum48k(display)

	For example, to initialize a speccy object that writes on a SDL
	display:

	    display := spectrum.NewSDLScreen(sdl.SetVideoMode(320, 240, 32, sdlMode))
	    speccy := spectrum.NewSpectrum48k(display)

	Of course, display should respond to the DisplayAccessor interface

	* Make command-line options autoexplicative
	    d -> doubled
	    f -> fullscreen
	    h -> help

	* Add LICENSE and ChangeLog files

0.0.0 / 2010-06-28
==================

	* Birthday! (first public release)
