What's New
----------

- 1.4, 1.5 (June 98)

  - re-arranged open_dsp(), auto-calabrates /dev/dsp frames and fragments.

  - reworked dsp_mixxer.c a bit to improve 8 bit play, master volume is
    now post processed (slower but better).

  - added a patch provided by Eero Tammerin that added scandinavian keys.

  - changed hex2..() suite in funkgold.c. caused problems when getting
    ffffffff numbers.

  - tied up code a little bit (moved some variabled from dsp_mixxer.c to
    funk_info struct)

  - tied up file handling in funkmisc.c

  - fixed a small bug in play_song()

  - rearranged a few things to make it easier to integrate playback
    routines into Nighthawk (a game i'm re-releasing with sound and music)

- 1.3 (Apr 98)

  - fixed a bug in pe_delete_slot(). A bit of a doozy. I don't know how i
    could have missed it all the way from 0.0 (maybe i accidently added
    it somewhere along the line?). This bug will shift upwards other slots
    of other contingous patterns.

  - did some minor adjustments to DSPi_volume_convert(). We develop a bit
    of a bandwidth problem when faced with 3 types of volume control and
    echo mixxing down a 16 and 8 bit channel ;), so i've mixxed master
    volume and balance as 16 position values, giving real volume a little
    bit more room.

  - i added an adjuster in the playback module so that you can variably
    change the master volume while a song is playing (mainly to test the
    master volume feature out and confirm the change in bullet 2).


- 1.2 (Feb 98)

 - Fixed numerous small bugs

 - Enhanced playback screen, and changed a few keys around.

 - added 'J' goto pattern dailog in pattern editor

 - added colour

 - fixed up a small display size bug.

 - added display rate setting on command line (see switch "-uxxxx")

 - In the sequence editor, you could set a loopback point, but you
   couldn't turn a looped module back to a none-looped module. by pressing
   the 'N' key, it will do this. You can also set the loopback poit to
   anywhere, regardless if it's blank or not.

 - Would cause a core dump:

   Seq  Pt
    00  00
    01  --
    02 *--

   I only found this out when i recently tracked a tune.. fixed.


- 1.1 (Jan 98)

 - tidyed code up a bit
 - added pthread mechanics, mixing is now done preemptively.
 - fixed a small bug in the pe_edit_slot_sam() routine that
   cleared the command nibble when a sample no was modified.


****************
* 1.0 (Aug 96) *
****************

 - Added module 8 bit <=> 16 bit module converter.
 - Added N track to N tracker converter
 - Added module Optimiser on menu.
 - Added Command assistant (hit shift M in pattern editor screen).
 - Settings in options.h file are now configurable on command line
 - Added 'Set song directory' menu item.
 - Added Micheal Wills adjustable Y screen size code
 - Enhanced sample loader screen so that samples can be resampled,played,
& renamed.
 - added tracking stopwatch.
 - File finder remembers last bar position when re-reading directory.
 - Added MOD saver.
 - Added the BPM capability.
 - 16 bit Module support enabled.
 - added DIGITAL_ECHOING option in the options.h file (for slow machines
that can't keep up).
 - Bug Fix in funkgold.c ("pe_edit_slot_com" subroutine)- slot would clear
when deleting a command. Fixed. Will now delete the command only and not
the whole slot.
 - Added MOD loader.
 - Bug Fix in funktracker.c. Play a song with no samples (sample table with 
NULL ptrs), and it pops a segmentation fault. Fixed.


****************
* 0.1 (May 96) *  (BETA)
****************

 - Brian Nielsen's FreeBSD port.


****************
* 0.0 (May 96) *  (BETA VERSION)
****************

 - Initial curses version developed in Linux 1.2.13, XFree86 3.1.2, gcc
2.6.3 and a brain damaged version of xxgdb. 

 - Full Multi channel support added (DOS32 Funktracker didn't implement
the full specification)

 - funk_type (or LZH_check_sum as it used to be called) now saves "F2**" 
signatures to indicate a slight command set amendment. files saved with
the ".Funk" extension. 

 - frequency adjustment has been ditched. it's obsolete as we have real
echo/reverb processing. 

 - Commands a,b,c,o4,o5 (frequency modifiers) have been revised. Porting
under Funktracker revision 1 was too slow. Amendments make porting much
more faster. Also, the speed parameter of commands a,b & c have been
removed. 

 - amplitudes of vibrato cmds d,e,f have been increased.
 - cmd O0E Fine channel pann Left has replaced Snap to log Porting.
 - cmd O0F Fine channel pann right has replaced Snap to Line Porting.
 - cmd O2 Note delay has replaced Real Frequency Adjust (obsolete)
 - cmd O9 Set channel Echo Feedback Gain has replaced Volume Trough (never used)
 - cmd OB Set channel Echo Delay has replaced Expand Loop (useless cmd)
 - cmd OC Set channel Echo Decay has replaced Collapse Loop (ditto)

 cmd O0D is now not in use. It used to be Invert Funkctrl, which would 
XOR the looping bit, causing looping samples to stop looping.

 - in function "com_null_ctrl", the original Funktracker would run O2
command, and then run CARD_convert_volume instead of CARD_convert_freq. 

 - In function "comi_decode()", the original Funktracker code reset the
note control system whenever a sample only slot had an "i" command in it.
This conflicted with the definition of a "sample only" slot. sample only
slots cannot effect any existing running systems. In the same routine, if 
a RLO was executed, volume porting wouldn't work. Therefore i have modified
the code to comply with the definition. 

 - In function "com_miscrtl", invert funk XOR inverter sets the first byte
of funk_chan[].start to 0. I wouldn't know how it got here. it should be
here. 



                                 ooo0ooo
