SID2MIDI changes from 0.9:

* Included SIDPLAY emulator engine 1.30-pl6, which affects the ADSR
  volume envelope (only mode -env). Some notes were dropped.

* Fixed bug in mode -env, which cut some notes lengths
  (e.g. Rob Hubbard's "Delta").

* Options "-ppq" and "-bpm" were registered-only by accident.
  Moved option "-ifreq" and "-iwave" and "-t" to registered-only.
  Option "-ps" no longer registered-only. Too many soundcard can't
  handle the default pitchbend range of 8 octaves !
  Changed default time to 120 seconds.


SID2MIDI changes from 0.8.7:

* Recompiled the entire source code because of a strange stack overflow.


SID2MIDI changes from 0.8.6b:

* SID2MIDI 0.8.7 contains SIDPLAY emulator engine 1.23.

> Emulator engine changes:

*****************
*** IMPORTANT ***
*****************

  The changes in the 6510-interpreter strictly require any sidtune to use
  bank-switching prior to accessing certain memory regions. Without, the code
  might receive false input data and will most likely calculate unpredictable
  or corrupted output data. In the worst case, this might lead to a deadlock.
  This is necessary to be able to correctly determine whether ROM or RAM
  should be accessed. Else, music player machine code and added code fragments
  might jump wildly into undetermined memory contents.

  *** In SID2MIDI the "transparent ROM" mode is the default ***

  To temporarily avoid such cases, try enabling the "transparent ROM" mode.
  It requires less bank-switching than the normal operation mode and provides
  a similar memory environment as previous versions of SIDPLAY. A sidtune that
  either doesn't sound or doesn't sound correctly should be fixed.

  Any sidtune that requires the "PlaySID-mode" to work, should be fixed to
  use bank-switching instead.

  Please take into account, that certain ripped sidtunes require the normal
  and more powerful normal emulation mode (or at least the "transparent ROM"
  mode) to work correctly.

  The High Voltage SID Collection will contain fully working versions of
  those sidtunes: http://www.dhp.com/~shark/c64music/
---
+ New (correct) bank-switching support. Special thanks to Wilfred Bos for
  reminding me of the true $01-behaviour. In previous versions the
  bank-switching was only partially implemented.

   - the bank-select value #$?4 was necessary to switch off Basic & Kernal;
     this also turns of the I/O on a real C64; now it is the correct #$?5;
	 any tunes still using the wrong value #$?4 will not be able to access
	 the SID chip anymore
   - the Basic-ROM and Kernal-ROM were transparent and in case of a read
     access returned the RAM value
   - code branches into the Kernal-ROM address space were intercepted
     by checking the bank-select register whether Kernal=ON
   + any jump into the Basic-ROM, I/O, Kernal-ROM is considered an RTS

+ Due to compatibility concerns the extra "transparent ROM" mode was added.
  If this mode is enabled, the Basic/Kernal-ROM address space is transparent
  to load/store instructions. Still, Kernal-jumps are intercepted by checking
  the bank-select register whether Kernal=ON.

+ New and improved INFO file support based on Peter Kunath's source code
  example. This one checks a constant Magic Number and Version Number and
  correctly parses the file up to possible tooltype strings. This code
  does not require the default tool to serve as a constant Id by containing
  "SID:PlaySID".

* Improved the MUS file support to not turn mad in case of corrupt files.
  The parser was able to run into a deadlock.

* Fixed a bug in the 6510-interpreter (indirect JMP).

* Fixed a bug in the sidtune-class to not cause a segmentation fault
  upon trying to copy oversized sidtune data.

* Fixed a bug in the file format support to handle a special case of MUS data
  encapsulation, where no parameters are specified. The Sidplayer songs in
  Deadman's Collection now work.

+ Added temporary code to return random values upon reading D011/12, DC04/05.


SID2MIDI changes from 0.8.5.1:

  + Added command line option "-bpm" to set the song tempo.
  + Added command line option "-ppq" to set the song timebase.
  - Dropped command line option "-ppq384".
  * Changed command line option "-ifreq" to be registered-only.
  * SID2MIDI 0.8.6b contains SIDPLAY emulator engine 1.19.18.2.


SID2MIDI changes from 0.8.5:

  * A bug in the interpretation of a rare 6510-illegal instruction was found.


SID2MIDI changes from 0.8.3:

** This is only a short excerpt from the list of changes made to the
** main emulator engine and the rest of the SIDPLAY sourcecode.

> sidtune loader:
  * too big input files produced a segmentation fault and didn't return the
    appropriate error string correctly

* Andreas Varga found major bugs in 6510-interpreter - now fixed !

* Kimmo Veijalainen pointed out bugs in the "stdinconstructor" (Unix).
  This also affected the music data file caching. It was loaded two times.

+ Added 6510-emulation support for the illegal instructions part 3.
  The implementation is considered to be only partially working due to
  inconsistencies in the available documentation.
  (Fixes Anthony Crowther's ``Beverly Hills Cop'' !)

* Fixed the grammatical error in: ``Did not >found< the corresponding ...''.
  Reported by Christian Janoff.

* Fixed a memory conflict: reset2.o, 6581_.o
  This probably lead to speed/timing related problems !

* Fixed one illegal instruction in the 6510-interpreter.

* Changed the INFO file support to skip unidentified tooltype information.

* Fixed note processor to not generate C-1 accidentally.

* SB AWE32: ROM MIDI-instrument #87 (8 Lead Bass) bugs in octave 5. You can verify this by
  trying Last Ninja song #11 (Anthony Lees) with other instruments than the default one #87.
  Others work fine ! Therefore changed the default instrument to #99 (Atmosphere).

+ Added option "-sam<num>" to capture sample events. I will probably change this to try to
  generate different notes for different sample periods. The problems is, that neither
  the sample frequency nor the desired note is known or can be determined.


SID2MIDI changes from 0.7.1.1:

** This is only a short excerpt from the list of changes made to the
** main emulator engine and the rest of the SIDPLAY sourcecode.

> SID-emulator engine changes:
  * fixed type-error in song number conversion (SONG= field);
    all songs from sidtunes with more than 11 songs didn't work
  * fixes in 6510-interpreter (ADC and CMP), jeff-2/Camelot now works
  + ported the old linear envelope emulation method from SIDPLAY/DOS 1.04b
    and fixed another tiny bug in the envelope emulation routines
  * changes in envelope emulation (big improvement)
    (thanks to all bug reporters who stated sidtunes, which were
    superb for testing the changes)
  * Fixed TXS-instruction in 6510-interpreter
  * some bank-switching and PlaySID-compatibility fixes
  * Added hidden command line argument -n (force NTSC speed)
  + envelope emulator now accepting dynamic ADSR changes

> PowerPacker decompression:
  + now decompressing entirely from an external memory buffer instead of
    loading in small chunks from disk

> File Format support:
  * Fixed sidtune error message when no description file was found
    (was 'Could not find corresponding description file', should be
    'Could not determine file format')
  + Added evaluation of SIDF_SIDSONG flag (PSID-header v2)
  + added .SID file support to the sidtune-class
  + added .INFO file support to the sidtune-class
