v4.2.0
May 14, 2005

 - New CRTC Type 0 emulation based on code by Richard Wilson.  The good:
   the new emulation is much closer to what the hardware does.  The bad:
   the new code is not yet optimized, still has some bugs, and due to the
   higher accuracy is quite a bit slower than the old CRTC emulation...

 - Stephane contributed code to render the CPC screen in a variety of
   different modes, e.g. scanlines, doubled, half size, Super Eagle,
   Scale2x, TV 2x and several OpenGL options.  See README.txt for the
   complete list.

 - Modified the sound playback code.  When sound is enabled, the emulator
   timing is now based on when the next sound buffer is ready.

 - Completely new keyboard code to support different international
   layouts and the mapping of the CPC keys to them.  Eventually the key
   assignments (CPC keys _and_ emulator functions) will be user definable
   via the GUI.

 - Return of the joystick emulation via the keyboard.  Can be enabled
   (and disabled) via CTRL+F8; replaces Z, X and the cursor keys with the
   joystick fire buttons and directions respectively.

 - Added support for ROM slots 0 and 1 - kudos to Anthony Jordan for
   pointing out that they should be user definable too!

..........................................................................

v4.1.0
June 18, 2004

 - emulator can now run in either fullscreen or windowed mode, with the
   possibility to switch between them at run time

 - added command line parsing: pass dsk/sna/cdt/voc images (as is or
   zipped) to the emulator and they are processed as necessary

 - added FPS display

 - lots of behind-the-scene changes to make Caprice32 compile and run
   "out of the box" on Linux (thanks Stephane & Jurgen!)

..........................................................................

v4.0.0
June 4, 2004

 - Caprice32 has gone Open Source and is now hosted on SourceForge.net!

 - the emulator now uses the Simple DirectMedia Layer (SDL) library
   instead of native DirectX code, so ports to other platforms should
   only be a matter of time...

 - With this step forward, comes a step back: there's currently no user
   friendly interface (no GUI or command line). This deficiency shall be
   addressed in one of the next releases.

 - fixed Bad Cylinder and No Cylinder handling when a sector cannot be
   found: "Starfox - CPM version" loads

 - fixed broken snapshot support: PPI values were written to the wrong
   ports when loading a snapshot

 - added Digiblaster / Soundplayer support

..........................................................................

v3.6.1
June 2, 2003

 - If the back buffer cannot be allocated in video memory (i.e. the
   memory on the graphics card), Caprice32 now falls back onto system
   memory (incuring a MAJOR speed penalty).

..........................................................................

v3.6.0
June 2, 2003

 - A new AY sound chip emulation based on code by Sergey V. Bulba comes
   much closer to the original CPC sound. The Audio options page has been
   updated with additional controls for sample size and volume.

 - The emulation timing has been improved and it should now keep closer
   to the target speed (e.g. 100%, 200%, etc.).

 - The screen contents can now be captured and saved to a PNG file.

 - A new Intensity slider control on the Video options page allows one to
   brighten or darken the CPC colours. Previous versions of Caprice32
   used a value of 1.2; the new default is 1.0.

 - Added a message display system to inform the user of emulator events
   such as disk changes, speed setting, tape control status, etc.

 - Tape loading has changed slightly: it is now necessary to press the
   PLAY button on the virtual tape deck before the loading process
   starts. This can be done via the Play/Stop menu entry, or via the
   Ctrl+F3 keyboard shortcut.

 - CPC joystick emulation can now be toggled on or off: this allows the
   use of the keyboard even if a joystick action maps to a regular
   keyboard key.

 - Fixed the problem with the file selector not recognizing the users
   selection when a multi-file ZIP is dropped onto the emulator window.

 - Fixed an issue with the Z80 DI instruction: "Thomas the Tank Engine",
   "N.E.X.O.R." and "Jocky Wilson's Darts Compendium" work correctly now.

..........................................................................

v3.53
April 14, 2003

 - Multiface 2 support! After a long absence (since v1.11), the popular
   add-on for the CPC is finally getting emulated again. See the updated
   documentation for more details.

 - Blank disks can now be inserted into either CPC drive via the Disk
   menu. The new Disk page in the Options dialog lets you choose the
   format to use. User defined custom formats can be added to the config
   file. See the updated documentation for more details.

 - More improvements and fixes to the FDC emulation: Last Mission, Nigel
   Mansell's Grand Prix and Puffy's Saga now load.

 - Implemented the last three missing FDC commands: scan equal, scan low
   or equal and scan high or equal. CP/M's Disckit3 tool now works
   correctly.

 - The 'flip disk' option now allows access to the alternate side of
   double sided DSK images.

 - The CPC's printer output can now be captured to file.

 - Improved the timing of some Z80 instructions, thanks to Richard
   Wilson's excellent PlusTest application.

 - Added the option to have the emulation continue to run in the
   background when switching to other applications or when minimizing
   Caprice32.

 - The palette problems in 256 colour desktop mode have been fixed.

 - The documentation has received a major overhaul.

..........................................................................

v3.52
January 31, 2003

 - Drag and drop support: you can now drop disks, snapshots and tapes
   onto the Caprice32 window and have them processed in the appropriate
   manner. In case of ZIPs that contain more than one file, a dialog will
   let you choose which one to load. If the regular file selector takes
   forever to process your folders with thousands of files, use this
   method to speed things up.

 - Several fixes and updates to the FDC code allow more demos and games
   to load. For example: Unique Demo, Divine Demo, The Famous Five,
   Psyborg, Masque, and La Marque Jaune.

 - The CDT support has been fixed and now all tapes seem to load
   correctly.

 - Caprice32 now also accepts tapes in the form of raw audio VOC files.

 - Added support for 24 bit display modes. It is however highly
   recommended to use any of the other supported colour depths as they
   are more efficient in writing to the video buffer.

 - The CPC Speed slider on the General page of the Options dialog has
   received a finer granularity of 25% steps. The range goes now from 50%
   to 800% of original CPC speed.

 - The checks done on inserted expansion ROMs has been relaxed a bit to
   also allow ROMs that deviate from the standard format.

 - All pop-up windows and queries display topmost now. This corrects a
   situation in which some dialogs could be displayed behind the full-
   screen display.

 - Added support for themed Windows XP controls.

..........................................................................

v3.50
December 22, 2002

 - Rewrote all DirectX code to be more robust and error tolerant.

 - The CPC screen is no longer being painted with hardware stretch blits
   by default, which should prevent the extreme slow-downs some users
   experienced.

 - Caprice32 now goes to sleep when loosing focus or getting minimized:
   CPU usage drops to zero.

 - Emulation can now be switched between windowed and full-screen mode.
   Full-Screen mode is user defined in resolution and bit depth.

 - Switched to a different timing mechanism which keeps the emulator
   running closer to the original speed than before.

 - Fixed sound playback - pops and clicks during playback should now be a
   thing of the past.

 - Emulator Configuration is once again being stored in a file in the
   emulator directory and no longer in the Registry.

 - New screen rendering methods: scanlines, line doubling (software), and
   line doubling (hardware).

 - New speed selector in the Options dialog: the emulator speed can now
   be fixed at multiples of the original CPC speed.

 - Added the option of colour and green monitor.

 - Added error condition checks to zip, DSK and SNApshot routines.

 - Added a modified DSK check at emulator exit so user won't loose their
   work.

 - Implemented a completely new way to manage input: users can now map
   the CPC joysticks to any keyboard key or other connected control
   device, in any combination. See the updated documentation for more
   details.

 - Mouse cursor now auto-hides to be less obtrusive.

 - Support for French and Spanish keyboard layouts.

 - Some fixes to the Z80 OUT handler involving the GA colour palette and
   PPI Port C.

 - Added support for CDT tapes: still some work to be done here, as most
   SpeedLock protected games fail to load! Enjoy in moderation...

 - Added 48 and 96 kHz sound playback options - high frequency notes and
   "buzzing" tones sound _much_ better now!

 - Added a Frames Per Second display so users can judge how fast the
   emulation is actually running.

..........................................................................

v3.01
November 9, 2001

 - Having an archived DSK image open in Caprice32 and then moving it
   outside of the emulator caused a crash in MSVCRT.DLL on startup. Fixed.

 - Caprice32 now checks ROM files for validity and strips any 128 bytes
   headers it may find.

..........................................................................

v3.00
October 15, 2001

 - Version 3.00 is a complete rewrite in C. Hence the major jump in version
   numbers. This also marks the first occasion of a Windows native version -
   hopefully any audio/video/control problems users might have had with the
   previous DOS versions are now a thing of the past!

 - This is still very much a 'new beginning': not everything is back up to
   the old standard in user-friendliness. Rest assured, I'm working on it...

 - Things that are currently missing/broken:

    * full-screen support
    * palette in 256 colour mode
    * FDC scan commands
    * FDC overrun condition
    * tape emulation
    * screen centering
    * sound accuracy

..........................................................................

v2.00b2
June 24, 2000

 - added auto-(re)insert of DSKs for CPC drives A & B on emulator start-up
 - added error checks & prompts for DSK/SNA load
 - added graphics driver selection to .CFG file
 - added screen doubling (i.e. true mode 2 resolution) via stretch, 50% and
   100% scanlines
 - added full-screen mode (i.e. removes GUI); toggle via '~' key
 - added FPS/speed display
 - added sound card driver selection to .CFG file
 - reduced joystick driver selection to relevant options
 - fixed file selector scrollbar problem with large number of files
 - fixed 'sticky' GUI controls
 - fixed colour palette

..........................................................................

v2.00b1
May 14, 2000

 - switched to the Allegro library for all I/O, graphics, and sound
 - new mouse driven GUI with a little help from MX-Windows
 - AY sound emulation no longer produces audible 'breaks' and 'pops'

..........................................................................

v1.11
September 20, 1999

 - Altered the SoundBlaster DSP (Digital Sound Processor) version check in
   such a way that an invalid number falls back to the standard SB code. This
   should enable sound for some SB clones (e.g. Vortex based cards), that did
   not produce anything before. Most likely only the mono modes will work for
   these cards...

..........................................................................

v1.10
August 16, 1999

 - Added support for the Multiface 2: if the MF2 ROM is specified in the .CFG
   file, F11 acts as the Stop button, and F5 as the Reset button. Ctrl+F5 now
   causes the hard reset (including a memory wipe), which is equivalent to
   switching the CPC off & on again.

 - Added the possibility of a data I/O timeout to the FDC code. Games such as
   "La Marque Jaune", "Maracaibo", "Masque", "Psyborg" and "Skaal" among
   others, will now load correctly.

 - Fixed a problem with CP/M 2.2 not loading after a reset via F5.

 - Fixed a bug with uncompressing ZIPs located in the root directory of a
   drive.

 - Fixed QuickLoad not working after 'Save Snapshot' was used to create a new
   image.

 - Fixed a problem with selecting identically named files: now, if the files
   are found to be in two different directories, the new selection is
   accepted.

 - Remapped the '\' key of the CPC keyboard to the right Alt key of the PC
   keyboard. The PC's right Shift key is back to being the right Shift key of
   the CPC. Let me know if _this_ layout causes any problems...

 - Johnny Olson pointed out that the AMSDOS ROM included with v1.01 was
   incomplete - the portion used by DR Logo was missing. The ROM file has now
   been replaced with a good copy.

..........................................................................

v1.01
June 25, 1999

 - fixed the sound code to work with SB DSP versions below 4.00

..........................................................................

v1.00
June 24, 1999

Overall:

 - maximum number of entries in file selector can now be specified in .CFG
   file (default is 1000, up from 256)
 - ZIP file processing has been reworked; does no longer uncompress unless a
   file within the ZIP is selected
 - temporary files created during ZIP file handling are now properly
   disposed of
 - added a function to display error messages in a uniform way (pops up a
   message box)
 - multiple language support for the emulator interface
 - SNApshots now load/save via the file selector, and a QuickLoad/Save
   option simplifies usage
 - support for all available VESA graphics modes, from the lowly 320x200 up
   to whatever your card can handle!
 - file selector adapts to variable screen sizes
 - added an alternate font for low resolution modes
 - file selector allows insertion of blank disks in Data, System or custom
   formats
 - changes to a DSK can now be written back to the file
 - added a write protect toggle to the file selector
 - added a delete file option to the file selector
 - added analog joystick support, as well as the option of using a digital
   joystick (Atari or Genesis style) via the printer port
 - fixed the BMP screen dump routine and added RLE compression -
   dramatically reduces the file size of screen captures!
 - mapped the CPC's backslash to the PC's right SHIFT key (works better with
   pinball games, at least on US keyboards)
 - improved the accuracy of the in/out timing - vertical colour bars now
   appear in the correct locations (99% of the time at least)
 - improved F12 key function: now always toggles between full-speed and
   realtime (with or without VSYNC active)
 - complete rewrite of PSG code which greatly improved accuracy - playback
   of sampled sound and speech is now possible!
 - fully functional options menu
 - added green monitor colour scheme
 - added the option to double display vertically without scanlines -
   the performance hit turns out to be less than I had anticipated!
 - configuration file is now automatically maintained and updated with
   changes made in the emulator
 - fixed the annoying keyboard bugs in 'Trakers', 'Matchday 2', and
   'Gremlins'
 - complete documentation in all supported languages

FDC:

 - complete overhaul of the FDC code, which fixed a bunch of bugs and
   boosted the speed
 - implemented the Write Data and Write ID (format) commands
 - changed the activity indicator to show reads & writes instead of the
   motor on/off state
 - fixed the generation of 'random DE' sectors
 - fixed the crash on a CAT of 'Double Dragon (original)'
 - fixed the hang on loading 'Shadow of the Beast' or 'Ninja Spirit'

..........................................................................

v0.05b
November 30, 1998

 - much more accurate AY-3-8912 sound emulation
 - support for up to 251 expansion ROMs
 - splash screen can be turned off :)

..........................................................................

v0.04b
November 2, 1998

 - AY-3-8912 sound emulation
 - new UI graphics + splash screen
 - better error handling during initialization
 - a switch to UNZIP32.EXE for ZIP archive decompression
 - keyboard LED usage is now configurable
 - preliminary drive B support
 - fixed second side check for DSK images (Divine Megademo)
 - multiple VSYNCs per frame (Thunder Blade, Q10, Paradise Demo, etc.)
 - CRTC register 8 emulation (BSC Megademo - Crazy Scroll part)
 - fixed BMP screen dump routine (broke in v0.03b)

..........................................................................

v0.03b
October 13, 1998

 - correct H&VSYNC emulation; fixed screen centering
 - preliminary ZIP support for DSK images
 - modified VESA code to accommodate Matrox video cards
 - expanded colour palette to include the first 16 VGA colours
 - fixed drive letter assignment in file selector

..........................................................................

v0.02b
October 5, 1998

 By now you will have noticed the name change. Too many people thought/
 assumed that CPE32 was a continuation or port of CPE. Since that is not the
 case, I have decided to rename my emulator to CaPriCe32. There's no real
 deeper meaning behind the choice, other than that it sounds nice, and
 contains the letters CPC "purely" by chance.. =)

 The CRTC video emulation has undergone a complete rewrite, since
 discussions with Kevin Thacker yielded new information about this chip. As
 a result, much more software runs without video problems. To name just a
 few:

 DragonBall Demo by Mage - second part did not work
 Into the Eagles Nest - corrupted score display
 Saboteur 2 - lockup on game start
 Terrific Demo by Cadjo Clan - lockup on menu part
 The Living Daylights - screen layout messed up
 Voyage 1993 - repainting of messages visible on bouncing intro
 Zap'T'Balls Advanced Edition - screen layout messed up

 I also did some more work on the UI, which is noticeable in the now more
 eye-pleasing file selector.

..........................................................................

v0.01b
September 28, 1998

 CPE32 is released to the public.
