                    Changelog for SIDPLAY/Windows
                    -----------------------------

February 10:
/***********************************************************
 * Major release - emulation improvements and playlist(beta)
 **********************************************************/

Changes in the emulation engine (1.21.5 to 1.22.2):

+ Optional full 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.

+ 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. Accessing the RAM under the I/O
  area requires the usage of fully valid bank-select values, too.
  This should be the default.

+ 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 the speed of the virtual fourth digi channel in case of SPEED=1.
  By accident it was processing samples at NTSC clock speed, but should have
  been PAL clock speed. Thanks to Dennis Lindroos for reporting this bug.

* Changed the NTSC-speed mode to a prefered behaviour:
     50 Hz VBI (PAL)      =>  60 Hz VBI (NTSC)
     CIA 1 Timer A (PAL)  =>  CIA 1 Timer A (NTSC)

* Changes in the digi emulation to simulate PlaySID's behaviour
  in a special case.

+ Implemented Asger Alstrup Nielsen's noise algorithm. Removed the old
  white-noise frequency-shifting approach. Takes more CPU power for sidtunes
  that use the noise waveform very much !


Changes in the Windows port / user interface:

+ Playlist implemented.

* Subsong selection now with a scrollbar. Drag the scroll box to the selected
  subsong and release to start playing or press the arrow keys for the same behaviour
  as the plus and minus buttons in the last version.

* Removed minimizing capabilities of dirui and filter window

* Changed/added some hotkeys: Alt+Up and Alt+Down is now next/previous subsong,
  Alt+Left and Alt+Right is now next/previous list entry

+ Added global hotkeys (i.e. works even when another program is in the foreground):
  The Control+Alt+arrow keys globally has the same function as Alt+arrow keys has
  when SIDPLAY/Windows is in the foreground.

* Fixed the volume restoring upon exit.

* Fixed a bug in the (unreleased :) Win95 version where the filter values would
 change slightly from time to time.



January 8:
/*
 * New this time is the Windows 95 version.
 */

v1.21.5 of the emulation engine by Michael Schwendt incorporated, which
fixes a few problems and uses a little less CPU.

Fixed crash when the number of buffers was changed during play.

Now maintains the user-selected frequency value even when not used.

Added delete file option in the directory window. Simply press delete
(you'll be asked for confirmation before the file is deleted).

The Directory window now keeps focus when you switch between musplayer and
ordinary files (which makes the main window resize).

Upon exiting, the main volume is now restored to the level it was when
SIDPLAY/Windows was started.

Windows 95 version has the following differences from the old one:
* Multithreaded playback. The thread that handles the actual playing has a
  little higher priority which should fix some glitches.
* The main volume control updates itself if another program changes the wave
  volume. The mixer API is used. Please report troubles with the volume control!
* Faster. It's compiled using a compiler that produces faster code.


November 3:

v1.19.18.1 of the emulation engine by Michael Schwendt incorporated, which
fixes a few emulation bugs.

Fixed bug where the main volume wouldn't get set until the mixer was opened

Minor bug fixes.


October 4:

/*
 * Due to the very limited time I have this fall, no big changes has been
 * made. The emulation engine update makes this release worthwhile though.
 */

v1.19.16 of the emulation engine by Michael Schwendt incorporated, which
has the following changes from the 1.17.3 version:

* Rewrote the support for some file formats. Now are supposed to be safe
	against any access violations and segmentation faults.

* Fixed ``fast forward'' replay. This didn't work with tunes which wrote values
	to the CIA timer. The fast-forward immediately jumped back to normal mode.

* Changed the triangle-pulse waveform combination.

+ Adjustable volume envelope processing frequency. Might decrease the
	envelope quality for very low frequencies, but could gain a few more
	percent of less cpu usage.
(SIDPLAY/Windows: Currently not used)

+ 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'' !)

+ In search for speed ... small optimizations.

(SIDPLAY/Windows: only the 32-bit version benefits from these optimizations)

Added a Save as option. Now you can save the current sid file as a
PlaySID, SID info or C64 data file as well as WAV.

Added the Settings|Extensions dialog to allow the default file extensions to
be modified. One could for example have all PlaySID files named .PSD instead
of .dat.

Added a check for available diskspace before saving WAV file.

Widened the main window a bit.


September 5:

Fixed the bug introduced in the September 3 version, where the mixer
settings sometimes wasn't saved properly.


September 3:

/*
 * No great new features this time, just some bugfixes and usability
 * improvements.
 */

Changed info box list order to load, init, play and fixed mix-up of init
and play addresses.

Added a cancel button to the save as wav progression dialog box.

Removed the Exit button from the main window and made it more compact.

Restructured the menu.

Disabled the main window controls and some menu items when no file is loaded.

Fixed bug where SIDPLAY couldn't be restored from the task bar if it had been
closed during minimized state.

Added saving of filter and mixer window positions to the SIDPLAYW.INI file.

Added saving of main volume to the SIDPLAYW.INI file.

Added keeping track of which windows that were open when the program was
closed, and opening them the next time it is run.

If you try to start SIDPLAY when another instance is running, it will
switch to the running SIDPLAY, and if a tune was given on the command line,
start playing it.

Removed all command line options except for filename and song number.


August 5:

/*
 * Huge filter-emulation improvements and a nice mixer-window.
 */

v1.17.3 of the emulation engine by Michael Schwendt incorporated, which
has major improvements of the filter emulation.

New mixer window, a single one instead of the previous mess.

Filter window for controlling some parameters of the adjustable filter.
Also nice little graph to look at :)

Moved the mixing mode control to the mixer window and the filter emulation
toggle to the filter control window.

Save to Wav progression dialog


July 10:
/*
 * Some bugfixes from Michael. Again released because I wanted to have
 * the latest possible version on the 2nd High Voltage C64 CD-ROM.
 */

v1.15.4 of the emulation engine by Michael Schwendt incorporated, which has
* fixed sample emulation reset
* fixed problems when info strings in .sid files were over 31 characters long


July 7:
/*
 * No major changes, only a few bugfixes. Released because I wanted to have
 * the latest possible version on the 2nd High Voltage C64 CD-ROM...
 */

v1.15.3 of the emulation engine by Michael Schwendt incorporated, which
fixes a sample resetting bug.

Changed the shortcut keys to not clash with the Windows standard
(for instance, Ctrl+S is for save and Ctrl+P is printing). Now all shortcuts
have the Alt prefix. For File|Open, both Alt+O and Ctrl+O will do the job.

Fixed bug where you might end up in a totally different dir in the
directory window if you've opened a file with File|Open in between.

Fixed handling of filenames on the command line in Windows 95. Long
filenames work as well.


June 30:

v1.15.2 of the emulation engine by Michael Schwendt incorporated, which has
* fixed major bugs in the 6510-interpreter
* fixed some clicks and the notch filter
+ switchable filter emulation
+ internal changes, which makes the next feature possible

The music no longer stops when the conversion dialog is opened

Added "Delete source file" checkbox in the conversion dialog, which causes
the source file to be deleted after a successful conversion, if checked.
Be careful with this one! Keep a backup copy around.

Added option to convert to sid+dat files in one pass, instead of having to
convert to sid files first, then dat files.

Changed the "Files to convert" default radiobutton to "selected"

Fixed display of the ampersand character (&) in song titles, etc

Added option in the emulation dialog for the filter emulation

Changed the relation between the directory window and the main window;
they now show as a common entry in the Alt+Tab list, but the directory window
is always on top of the main window. I think this is better than before, but
please tell me which way you prefer!

Added more support for keys in the Conversion and Dir-based UI
directory listboxes. Pressing backspace will take you up one directory,
like double-clicking [..], pressing enter will "double-click" the current
entry.


June 16:

Added saving of mixing mode and settings

Fixed wrong volume level at startup

New icon, thanks to Jonathan Hunt's artistic skills

File conversion dialog added. Use this one to convert whole directories
of sid files to chosen format. For example, suppose you've got a dir full
of sid files in DAT+SID format. Use the filter to show all *.dat files,
set destination directory to the same as the source, convert all files
with the overwrite option, making the PSID files (.dat) overwrite the old
.dat files, remove all .sid files and you've replaced all DAT+SID files
with a corresponding DAT file in PSID format. Be a little careful with
the overwriting though, make sure you have a backup if something goes wrong.


June 10:

v1.14.4 of the emulation engine by Michael Schwendt incorporated, which has
- fixed the 64KB memory leak (again!)
- fixed the 16-bit mixing in the 16-bit version, finally.
- new and better synchronization
- added channel muting and stereo panning support
- added option to save audio data and/or info (not used in this version)

Fixed problem with iconizing the program

Removed the Maximize button and the resizeable border

Added saving of window position to the SIDPLAYW.INI file

New directory-oriented file selection added. Double-click on a file to
play it, on a directory or drive to change to it. Much like the DOS version.

Added a volume control. Pretty crude, but there usually comes a separate
mixer-program with the soundcard. This one fits the basic needs.

Added mixing mode option to the Emulation dialog.

Added two new menu items, Settings - Voices and Settings - Panning,
for controlling the voice volumes and panning.

Added more shortcut keys:
Ctrl+P     = Play/Pause
Ctrl+S     = Start/Stop playing
Alt+W      = Save as Wav
Alt+D      = Show/Hide the directory window
Ctrl+Left  = Previous subsong
Ctrl+Right = Next subsong
Ctrl+Up    = Toggle playspeed x2
Ctrl+Down  = Toggle playspeed x4

Plus a few minor fixes/improvements


May 26:

v1.13 of the emulation engine by Michael Schwendt incorporated, which has
- fixed a 64KB memory leak
- fixed the emulation of ring modulation to completely use a 2nd method
- real 4 to 8-bit sample conversion of "volume samples"
- added/ported the old linear envelope emulation from SIDPLAY/DOS 1.04b
- fixed some bugs in the 6510-interpreter
- fixed bug handling sid files with more than 10 songs

Decreased stack usage when saving to WAV file.

Fixed error when dropping a file onto Sidplayw when there's no file loaded.

The selected wave device is now properly saved.

The play settings dialog now disables certain selections if the selected
device cannot handle them.

Added an icon, to maybe fix the reported trouble with minimizing the program.
This icon is only temporary because of its ugliness :) Submissions welcome!

The improved PlaySID compatibility option now defaults to OFF.

Added shortcut keys for File-Open (Ctrl+O) and File-Exit (Alt+X).

The main window now shows all 5 description rows of Sidplayer files.


April 1:
/*
 * A little less buggy version, but still worse than March 24...
 */

Fixed the .SID file support.

Readded support for the force NTSC speed (-n) (lost in previous version).

Current song speed now shows in playing window.

File format now shown in info dialog.

Increased stack space should fix some strange bugs.

Fixed error with info dialog box with no open file.


May 5:

v1.10 of the emulation engine by Michael Schwendt incorporated, which
improves the envelope emulation.

Few minor fixes: About box now modal, the window title shows song name
instead of file name, default settings for first use.


May 2:

v1.9 of the emulation engine by Michael Schwendt incorporated, which
adds speed optimizations, fixes a bug and improves the emulation.
Also fixes the 16-bit mixing in the 16-bit version(almost).


April 8:
/*
 * More changes in the emulation, a few fixes, and my being away for
 * some time after today rushed this beta to you.
 */

v1.8.1.2 of the emulation engine by Michael Schwendt incorporated, which
features 16-bit mixing, variable playing speed, data file memory cache,
and some emulation fixes.

Fast forward play (x2 and x4) is now selectable. As in the DOS version of
SIDPLAY, there is a slight delay before the change in speed has an effect.
The smaller and fewer buffers selected, the shorter this delay will be.

When 16 bits per sample is chosen, 16-bit mixing is used, but the original
waveforms are still 8 bit. 16-bit mixing sounds strange in the 16-bit version
of SIDPLAY/Windows so those using that one should choose 8 bits per sample.

Emulation settings are now in a separate dialog box (instead of different
settings for WAV and play) which also includes the following two options.

The force NTSC speed option now available from within the program.

There is an option to cache the data file instead of reloading it each time
a tune is initialized (like previous versions did). This new option shortens
the time it takes when choosing another subsong within the same SID file,
especially on big and powerpacked SID files.

The program doesn't exit if an error occurs while loading a new file.

A playing song doesn't stop anymore when the "Settings"-"Device..." dialog
is opened.


April 3:
/*
 * The last version was less buggy than I first thought, but a few small
 * changes and v1.7 of the emulation made this one...
 */

v1.7 of the emulation engine by Michael Schwendt incorporated.
It adds better emulation and corrected handling of .SID and .INF files.

Saving as WAV and typing in a name without an extension adds .WAV to the typed
name.

The Open and Save dialogs should now correctly default to the previous
directory used.

Prevents saving to WAV file without first having selected some WAV settings.

When trying to save as WAV without having loaded any SID file doesn't create
an empty file anymore.

The improved PlaySID flag now defaults to TRUE


March 31:
/*
 * Released to get the new features out.
 * Should have bugtested a lot more before relasing, but a
 * beta is a beta :)
 */

v1.6 of the emulation engine by Michael Schwendt incorporated, which means
better emulation BUT the added support for .SID and .INFO files doesn't
work reliably in this version.

Save to WAV file implemented with a separate settings dialog.
(Wow, both SIDPLAY and SID2WAV in one package! Two for the price of one.)

The "Info"-"Psidfile" and the "Settings"-"Device" dialogs
are now closeable from their system menus.

Different info dialogs for PSID and MUS files.

Drag-and-Drop implemented, plays only the first if the files dropped.

One can now start SIDPLAYW without opening a file first.

The improved Playsid compatibility option (-a) can now be changed from
the settings dialog.

