
This list includes the most important user-visible changes for each official
VICE release.  See `src/ChangeLog' for a more detailed list of all the changes
in the code.


Changes in VICE 0.13.0
----------------------

- improved (now cycle-exact!) VIC-II emulation (big thanks go to Andreas Boose
  for helping me to improve it);

- more accurate 6510 emulation (emulates extra unused read accesses);

- lower memory requirements;

- complete MS-DOS port;

- several CIA fixes;

- the VIC-I chip now emulates the reverse mode;

- loading from tape handles the memory pointers correctly;

- joystick emulation in the VIC20 emulator;

- slightly better source code organization.


Changes in VICE-0.12.1
----------------------

- the CIAs have been rewritten and are now more compatible and much faster
  (most of the games that ran much more slowly than usual with 0.12.0 should
  now run at normal speed);

- VIC-II screen updates are now a little faster and also eat less memory;

- disk images can now be attached in read-only mode;

- gzip-compressed disk and tape images can be attached directly, without
  uncompressing them;

- the hardware-level 1541 emulation now supports writing to the disk through
  the VIAs, so that write patches to the drive ROM are not needed any
  longer. [please notice that this might not work with everything, as the
  emulation is not 100% exact]

- VICE can now be compiled also with the standard (0.8.0) joystick module
  (without digital joystick support, obviously);

- a little bug related to the right Shift key has been solved (courtesy of
  Bernhard Schwall);

- the numeric keypad can now be used to emulate diagonal directions too;

- the Linux audio driver also works on 8-bit sound cards;

- when a CPU jam happens (illegal opcode), the user can now choose between
  entering the monitor, enabling the XDebugger or resetting the machine;

- implemented the new `skip' button in the XDebugger;

- some little annoying bugs in the SID emulation have been fixed and combined
  pulse/sawtooth and pulse/triangle waveforms have been implemented;

- the automatic refresh rate setting works better when sound is enabled;

- the adaptive playback speed in the sound driver can now be disabled;

- sound can now be turned off automatically when buffer overruns happen, and
  is automatically turned on again after a specified interval;

- AIX audio support has been implemented (courtesy of Chris Sharp
  (sharpc@hursley.ibm.com));

- the sprite collision interrupts are more correctly triggered;

- a bad bug related to the sprite expansion register has been fixed;

- the video cache now handles sprite-background collisions correctly;

- a nasty bug that could cause VICE to hang has been fixed;

- attaching floppy images to drive 9 or 10 no longer makes them appear in
  drive 8 when full 1541 emulation is enabled;

- solved some problems with systems that do not have regexp.h (at least we
  hope so);

- GNU make is no longer needed to compile the PET and VIC20 emulators;

- the documentation has been updated;

- the `tounix' and `toiso' utilities have been added;

- the problem that made VICE die with an `alarm clock' signal on very slow or
  overloaded machines should now be gone;

- the file selector no longer dies if you type `~' with no `/' in the
  directory field;

- the file selector now has a ``contents'' button with which you can see the
  contents of a disk or tape image before attaching it;

- the X11 video driver automatically disables usage of the MITSHM extensions
  if they are not supported by the X11 server (even if the `mitshm' resource
  is non-zero);

- some annoying REU-related bugs have been fixed;

- the MS-DOS version uses the Scroll Lock LED to emulate the drive LED.


Changes in VICE-0.12.0
----------------------

Well, almost 90% of the emulation code has been rewritten (that's why it took
so long to have this release out), so it would be quite long to list everything
here.  Anyway, here are the most important new features:

- new 6510 emulation, which is much faster and has (hopefully) correct memory
  fetch timings and exact emulation for all the opcodes;

- completely rewritten video emulations, now much faster and more versatile:
  the window size can be doubled at run-time and the video cache can be
  disabled when not necessary;

- (much) better VIC-II (C64 video chip) emulation, mostly rewritten from
  scratch: it can now handle most $D011 tricks such as VSP (Creatures and
  Mayhem in Monsterland work) and FLI; [yes, the silly sprite priority problems
  are gone]

- (slightly) better VIC-I (VIC20 video chip) emulation (still incomplete);

- new SID emulator by Teemu Rantanen, with support for Linux, FreeBSD, Solaris
  and HP-UX (not all of these are stable, though);

- new CIA emulation with correct timing;

- faster interrupt handling;

- Xaw-based GUI with popup menus and interactive file selector from the Free
  Widget Foundation;

- hardware-based 1541 disk-drive emulation, that works with many custom loading
  routines;

- new resource handling that allows saving and loading of settings;

- MS-DOS port (no sound yet, UI almost non-existent);

- better T64 handling (still buggy);

- removed C128 emulator and RAM tester (sorry, we had no time to work at them);

- much better Linux joystick support, that works with digital and analog
  joysticks with auto-calibration (courtesy of Bernhard Kuhn
  <kuhn@eikon.e-technik.tu-muenchen.de>); [it should compile out of the box
  now]

- support for all possible VIC20 memory configurations on the command line
  (courtesy of Alexander Lehmann <alex@mathematik.th-darmstadt.de>);

- added `extract' command to c1541 (courtesy of Gerhard Wesp
  <gwesp@cosy.sbg.ac.at>); 

- added configure script for easier configuration and installation;

- overall better source code organization, that should make porting much 
  easier; [volunteers, you are welcome!]

- better keyboard handling (reverse polling is correct now);

- the REU works;

- several other bugs fixes and improvements we have lost track of.


Changes in VICE-0.11.0
----------------------

- the CPU in x64, xvic and xpet is now 2 times faster on average; :->

- the VIC-II steals the correct number of cycles for bad lines and
  sprites, and correctly fetches the video RAM, so that FLD and other
  effects involving bad lines are now emulated correctly;

- the interrupt handling and the CIA/VIA emulations have been almost
  completely rewritten, thus dramatically increasing compatibility and
  reliability;

- the VIC-II sprite-sprite and sprite-background collision register
  emulation is (much) faster;

- the Read-Modify-Write bug of the CPU is correctly emulated when
  accessing the VIC-II register $D011;

- D64 and T64 can be directly attached (T64 in x64 and x128 only);

- a bad bug in the handling of the I/O registers of the 6510 has been fixed;

- the ADC and SBC decimal mode has been fixed;

- various bugs in the 1541 error channel emulation have been fixed;

- the 1541 emulator and the standalone c1541 program support the Rx:
  (Rename) command and the Sx: (Scratch, delete) command now handles
  wildcards correctly;

- the infamous keyboard problem which caused key events to be lost
  when refresh was > 1 has been fixed;
  
- a IEEE-488 interface emulator has been introduced (emulates the
  original Commodore one) in x64, x128 and xvic;

- the xdebugger functionality has been improved (this part is still in the
  experimental stage, though);

- the `-8' and `-9' options allow to attach diskimages as drive #9 too;

- the Unix FS driver (Unit 11) has been improved, so that it supports the
  command/error channel and wildcards properly; moreover, new FS-specific
  commands (mkdir, rmdir, chdir) and errors (`permission denied' and
  `directory not empty') have been added;

- the VDC emulation in x128 supports variable character and screen size and
  bitmap mode as well (monochrome only and still under development);

- some minor bugs in the VDC emulator have been fixed;

- the MMU implementation in x128 is much more complete, with true (not
  hard-coded) shared RAM and memory configuration support;

- a nasty bug which caused x128 to crash when changing speed and
  enabling/disabling the video emulators at runtime has been fixed;

- the Linux joystick has been fixed (it did not work at all in 0.10.0);

- the monitor `set' command no longer accepts ambiguous variable names;

- a new `hjoyport' variable/resource allows the user to choose the port
  for the hardware joystick (Linux only);

- Sun64 is no longer supported (if you need it, download x64-0.3.1);

- one thousand other little bugs have been fixed. 
