                          README for Everest

Copyright 1998

Author:   Mark Lakata, MTL Software

Web site: http://home.att.net/~lakata/everest.html

Email:    mtlsoftware@kagi.com
          lakata@att.net

Conditions of Use and Copying: This program is a shareware demo.  It may be 
          freely copied and distributed, as long as all files are intact
          and unmodified.  All features except for Saving of Banks
          are enabled.  There is no expiration date for this demo.  
          Registration of the program enables the Saving of Banks feature.
          MTL Software is not responsible for any results of this program. Use
          at your own risk.


-------------------------------------------------------------------------------

Introduction:

Everest is a shareware patch editor for the Kurzweil MA-1 chip. The software is freely distributable,
but requires registration to remove the nag screens and to have save ability.

Read this file for installation instructions. Read REGISTER.TXT for registration instructions.
Run Everest and select the Help menu for more help.  Visit the web site for useful links,
including a discussion site and sound banks.

-------------------------------------------------------------------------------

Documentation:

The bulk of the documentation is stored in the online Help.  Press F1 for context sensitive 
help.  This README is just for getting started.


Announcement List:

Request to be on the email announcement list for notification of new versions and bug fixes.
Send request to mtlsoftware@kagi.com.

--------------------------------------------------------------------------------
Requirements:

(1) Win95 or Win NT (Win95 recommended)
(2) One of the following
     Turtle Beach Multisound Pinnacle
	 Turtle Beach Pinnacle Project Studio
	 AVM Apex
	 AVM Apex Pro
	 AVM Summit (have not verified this)


Highly Recommended:

(1) External MIDI keyboard connected to pinnacle via MPU401 (external MIDI port on
    back of sound card). Without an external keyboard,   you won't be able to tweak
	and play at the same time.  That would be really annoying.  You will also need a 
	special MPU401 (big D-style connector) to DIN (round 5-pin) connector to plug them
	together.  I got mine bundled with a Cakewalk  demo for $25 at CompUSA.
(2) >=24MB RAM on your computer motherboard.
(3) 800x600 video mode or higher. The bigger the better. Some windows will not fit on 640x480.
(4) SIMM memory for your soundcard.  Both Apex and Pinnacle favor one sided memory, otherwise
    they won't fit right.  I had trouble with 8MB modules in both, but supposedly they work
    in the Pinnacle. I suggest 4MB or 16MB single-sided	(chips all glued to just one side) 
    FPM or EDO memory modules. Turtle Beach recommends against EDO memory.  48MB is overkill.
    I think 8MB is enough, and 16MB plenty.  The General Midi (GM) ROM set is only 2MB, so let that
    be a guide.  You can probably buy 2 4MB simms for $10 secondhand.
(5) 206K of PRAM.  This is available in the form of the Apex Pro, and a future upgrade for
    the Pinnacle.  12K is just not enough for hardcore users.

(6) A wave editor.  Pick one in File|Properties|Misc
    * VAudioEdit.exe (Voyetra AudioView32)
	   pro: it saves original note information and loop points
	   con: ? it crashes on my machine
    * Goldwave 3.24:
	   pro: lots of features
	   con: doesn't save original note information, loop points hard/impossible to set (?)

-----------------------------------------------------------------------------------

Installation:

(1) First you must verify that your sound card is installed properly.  You should play a MIDI
sequence. Use the windows program "Media Player" and open one of the .mid files from 
C:\Windows\Media.  If this doesn't work, then double click the Everest.hlp file and select
the "Troubleshooting" item.  Old drivers are known to cause problems.


(2) Installation is simple. Simply put the executable file (patcher.EXE) where ever you want.
For consistency, we suggest "C:\Program Files\Everest".  You may want to make a link to the
executable on the Start menu. (Go to Start->Settings->Taskbar, Start Menu Programs->Add)

(3) If you have registered Everest before and you have installed the updated Everest.exe file in
the old directory, your registration should still be valid.  Otherwise, copy the Everest.ini 
file from the previous installation into the new directory.  This will preserve all the
settings from your previous session.


(4) Try running the program. If there are complaints of missing DLL's, visit the Everest web site
and download the necessary DLL's.  The safest method, to avoid conflicts with other software,
is to just copy these to the Everest directory.  You may also copy them to C:\Windows\System if
you like. Most people will not need these DLL's, since they are shipped with nearly every major 
piece of current software.


(5) If Everest complains about "No response from MA-1 synth, Abort, Retry, Ignore", then most 
likely your drivers are either incorrectly installed or have been corrupted while in memory.
Double click the Everest.hlp file and select the "Troubleshooting" item.



The program will automatically make a .ini file in the same directory in which the executable
resides. There are no changes to the registry.

Please let me know if there are any DLL's needed.  I will post them on the web site.

-------------------------------------------------------------------------------------

Uninstallation:

(1) Simply delete the entire Everest folder and all its contents.  If you are planning on 
installing Everest again, be sure that you keep a copy of the Registration Key. This is
stored in Everest.ini, so make a backup of this for safe keeping.

(2) Remove any links you made in the Start menu. 
(Go to Start->Settings->Taskbar, Start Menu Programs->Remove)

(3) No changes are made to the registry, as far as I know.  If Windows sneaks a change, its
not my fault.

-------------------------------------------------------------------------------------

Feedback::

Send comments and bug reports to mtlsoftware@kagi.com

Topics that I would like your opinion on:
(1) What is the most annoying thing about Everest?
(2) What is the most annoying thing about the Kurzweil synth?
(3) Would you rather have an application that saves information in the Registry or not.
(4) Would you rather have a 6MB InstallShield installation that takes forever to
   download, install, etc, or my stripped down distribution (1/2MB) that you install by hand?


Please send me as much information as you want or have time for.  You can not
send too many suggestions/complaints/bug reports.  If a bug can not be reproduced, then
please mention it. If you can reproduce a bug (or crash), please tell me exactly
how, so I can reproduce it.  Send the report to mtlsoftware@kagi.com
If you think that the problem may be due to a system problem (i.e. drivers), please 
send me a description of your system.


------------------------------------------------------------------------------------------

Features available in this release

 Sample uploading
 Sample (header) editor
 Keymap editor
 Drum Kit Wizard
 Global Tuning and Pitch bend setting
 property sheets/ options
 delete samples, keymaps
 right click in modulator editor on lfo/fun/env
 maintain loop points from file
 stereo samples (currently, stereo samples are merged into mono, giving a phaser effect)
 Shareware Registration
 Wavefile merging, for faster upload
 Bank Editor, to merge banks
 Cakewalk instrument file export
 Online Help
 Kurzweil (.krz) file import of keymaps and samples. (Note the MA-1 synth is not
   capable of emulating the K2000 synth.If you heard otherwise, you were lied to.)
 Tonal Program Wizard
 Soundfount2 (.sf2) import


Future features ??

 Better keymap editor
 Better .sf2 and .krz import
 Wavefront (.wfp) import

------------------------------------------------------------------------------

Notes on MA-1 Weirdness
------------------------

(1) Samples played above 44KHz are played too loud and distorted.  Lowering levels does not solve
the problem.  Reducing the wave data by 50% gets rid of the distortion, but then you lose dynamic
range and the samples are still played too loud.  There is a feature in Everest to do this
automatically in the Properties|Bank. And the Tonal Program Wizard allows you to not transpose up.

(2) The SCALE FUN scales input (A) to be between (B) and (C), that is when A is -1, then the output
is B and when A is +1, then the output is C.  However, it appears to only work when
B and C are positive values, otherwise it doesn't follow any intelligible pattern.

(3) There is a small phase error between layers, making stereo samples "sound" slightly panned
    to the left. This is not due to a volume difference!  By detuning the fine pitch control to
	+1 for the second layer, this effect is not so audible.

(5) quantize FUN:
  B=124-127  1 step
    120-123  2 steps
    116-119  4 steps
    112-115  8 steps
    108-111 16 steps
    104-107 32 steps

(6) Pitch bend range settings are sometimes reset if you make a modification to the program!

(7) Channel 10 is hardwired to play patch 130, the GM Drum Kit. You can not assign a new program
channel ten, and you can not overwrite patch 130 with your custom kit. You can, however,
change some of the samples in the keymap editor, as long as you don't add any new layers. I don't
understand this. This has nothing to do with Everest, it is the way the MA-1 works.

(9) Sometimes after making a significant change, nothing makes any sound. Hitting the panic button
solves this problem in many cases. I think this is related to problem (8).




----------
History:
Version 1.47:
* new feature: options to change program numbering style in Properties|Misc.
* improvement: ENV editors don't blink anymore, constrain mouse, does more intelligent scrolling,
               natural envelope handles display values when clicked rather than "R5"
			   (this is a bug in the VisualC++ optimizer!),
			   and other minor fixes. LFO Display doesn't blink any more either.
* bug fix: having a lot of RAM (ie 48MB) overflowed the "percent free" calculation.
* bug fix: corrupt WAV files with nonstandard smpl chunks were read incorrectly.
            (WAV file had no loops, but claimed there were 8 of type 0xFF)
* bug fix: extracted WAV files have loop information written correctly (still does not work for
           WAV's extracted from EMB files)
* bug fix: mono WAV files were listed as "(left)" channel in the Sample Editor
* enhancement: keymap right-click menu shows current amp adj.


Version 1.46:
* bug fix: KRZ files didn't work anymore. sorry. last minute change before I left for a
           backpacking trip, and of course, it broke.

Version 1.45:
* enhancement: buggy banks saved by PPE can be loaded. (Not my fault, the banks are
               incorrectly saved by PPE, its a bug in PPE)
* change: the Amp modulator depth can go to 127, instead of only 64. The reason I had limited it
          to 64 was because 127 seemed too loud, but if you want to fade out completely, you need
		  127. watch your ears
* change: the program numbering in the bank editor is consistent with the rest of the program.
        
* bug fix: sometimes 'smpl' chunk of WAV was not read, therefore loop parameters not read
* bug fix: adding layer with drum kit wizard cleared program editor, even though it really was 
           added (just cosmetic)
* bug fix: deleting objects (eg Edit/Purge) should be more stable. Because of the new
           delete mechanism, the "delete" button on the sample editor doesn't work anymore.
* bug fix: the bank editor didn't work with stereo objects (everything became mono)
* bug fix: the mod editor now supports stereo layers
* bug fix: pressing xfade button when no layer was selected caused crash

Version 1.44
* new feature: emb's now save in compressed format! Compression is typically 40-60%!
               Speed your network downloads by a factor of 2! WOW!
* enhancement: natural envelope handles show x and slope now
* enhancement: the "Extract button" saves stereo samples, and stereo samples are saved also
               for .pbf files (if the checkbox is selected).
* bug fix: resaving an .EMB file destroyed it, oops.
* bug fix: quiet key didn't work in drum kit wizard, caused crash
* bug fix: memory available in About wasn't always visible
* bug fix: new/delete buttons in sample editor didn't set dirty flag

Version 1.43:
* new feature: load and save EMB (Everest MA-1 Banks) which feature embedded wave data
  and also preserve stereo layers/samples/keymaps
* new feature: save .WAV files from any source bank with .pbf files (except ROM)
* bug fix: duplicate program was broken
* bug fix: using .syx files in bank editor caused crash if they were copied
* bug fix: random midi bytes were sent before each sysex message,
           sometimes causing very bad things, like volumes to change a lot, 
		   channel 2 going -64 cents out of tune, etc.
* bug fix: Tonal Program Wizard still allowed transposition of +1 semitone, even if the
           "don't tranpose up" check box was marked.
* change: loading .apex files does not extract all the .wav files automatically anymore

Version 1.42: July 16, 1998
* bug fix: .krz loading went into an infinite loop and caused a crash
* bug fix: bad comctl32.dll could cause a crash, now the error is caught
* bug fix: selecting "edit sample ..." from the keymap would not deselect other samples 
* bug fix: Register.exe  (v1.62) now works properly with Win98 (I didn't write it)
* enhancement: link from Help menu to web site

Version 1.41: July 14, 1998
* new feature: InstallShield
* new feature: drum kit wizard supports panning of samples
* new feature: copy current program has more options now
* new feature: FFT is now graphical
* new feature: Midi thru toggle
* enhancement: .apex files load correctly
* enhancement: .syx banks load correctly
* enhancement  autoplay setting in wave file dialog is now saved
* enhancement: corrupt samples are shown with a special icon
* enhancement: wavedata transfer should use less memory
* enhancement: insert new stereo layers/keymaps/samples improved
* bug fix: previewing corrupt banks with the bank file dialog caused a crash
* bug fix: file dialogs are centered on the screen if you are using low res (800x600)
* bug fix: replacing the currently selected program with the wizards caused crash
* bug fix: I finally found the infamous keymap #9 bug. It was my fault, not a bug in the MA-1
           (incidentally, it also applied to keymaps 23,30,32,33,42,57,61,62,63,73,74,75,76,79,80,83,84,85,86,87,90,91,95,99,104,110 
		    see if you can find the pattern)
* bug fix: some other memory problems
* bug fix: switching between editors won't unmaximize a window

Version 1.40  July 7, 1998:
* new feature: Microtuning Wizard
* new feature: Duplicate Keymap (similar to duplicate layer)
* new feature: LOAD AND SAVE entire banks as pure SYSEX messages (no headers)(*.syx format). 
  This allows
   (a) Embedded samples in native MA-1 format!
   (b) Embedding the sysex code inside your sequencer song.
* new feature: STEREO LAYERS/KEYMAPS/SAMPLES !
* new feature: *.apex bank format loading (From AVM's Sample Studio)
  (Apex banks have embedded samples)

* enhancement: DrumKit supports stereo samples (sorry no panning ...)
* enhancement: the position of the handles in the natural envelope are shown
* enhancement: silent keymap ranges are drawn differently
* firmware workaround: stereo samples play in phase IF you set the delay to 1 (0.6 millisec)
 (This is automatically set for SampleStore, TonalProg Wiz and Drum Kit Wiz)
  THANK YOU Paul Hemsley for figuring this out!

* bug fix: aliases were sometimes not updated
* bug fix: All options in TonalProgram wiz are now functional
   ( vibrato, tremolo, brightness, slow attack, slow release) (all didn't work before)
* bug fix: on start up there is a rare chance an external midi event could cause a crash
* bug fix: krz objects with high id's didn't work
* bug fix: auto switch and replace program in properties sheets were ignored
* bug fix: corrupt (not my fault) pbf files caused weirdness
* bug fix: "File/Save" is enabled after using Wizards
* bug fix: filter names are updated in Mod editor
* bug fix: wave audio is stopped when Open Dialog is closed
* buf fix: SampleStore chopped off the last character of program names

Version 1.13
* bug fix: the bug fix in 1.12 caused a new bug: the layer checkboxes and scroll bar didn't work

Version 1.12
* bug fix: clicking on mod button in program editor caused crash
* new feature: .wav file open dialog has preview and autoplay features
* new feature: bank file open dialog has preview feature

Version 1.11
* new feature: totally redesigned Bank editor, allows multiple drag n drops, scratch bank, resizeable panes
* new feature: midi channel toolbar: shows active channels
* new feature: Wave Editor button in sample editor. See File|Properties|Misc
* change: moved modulator editor to Program Editor (formerly known as the Layer Editor)
* bug fix: the reverb settings were wrong. "room1" was really "none", "room2" was "room1", etc.

Version 1.10
* improvement: sf2 zones are now treated as keymap zones rather than layers. This saves program memory
  and simplifies the programs. It will also allow "presets" to be loaded in the future.
* bug fix: importing banks (using the bank editor) that make use of Aliases didn't quite work 
  because of some sloppiness on my part that uncovered a funny bug in the MA-1.  All SoundFont2
  and Krz files use aliases, causing lock-ups after importing the 3rd or 4th program.
* bug fix: in rare cases, an imported program could overflow the program RAM without being noticed
* bug fix: double-clicking a sample in the Tonal Program Wiz caused a crash (I swear it worked fine in the debug version!)

Version 1.09 May 26
* new feature: tonal patch wizard!
 - similar in concept to Drum Kit Wizard
 - quickly set original note info (or use defaults from smpl or inst chunks of wave data)
 - automatic keymap layout of multisamples
 - quick setup features: vibrato, tremolo, etc
* preview: Microtuning wizard
* improvement: DK Wiz saves some settings
* new feature: DK Wiz and SampleStore can optionally replace current program rather than make new
* bug fix: if windows were maximized, then switching between them with the toolbar buttons unmaxed them
* bug fix: pan information of sf2 files was wrong
* bug fix: original note pitch information was wrong by about 1% in frequency, because of mistake in documentation
*           (note that a properly installed synth driver uses 44.1K as the default sample rate)
* firmware bug workaround: sometimes keymap 9 does not get updated, bug in synth firmware?
* firmware bug workaround: sometimes when layer is copied or deleted, program gets funny

Version 1.08 May 18, 1998

* new feature: SoundFont2 partially implemented
* bug fix: Program and Layer FUNs were swapped when creating a new instance
* bug fix: constant value of 0.0 was impossible
* bug fix: FUN 6 removed
* improvement: sample editor shows aliases
* bug fix: krz translation could crash 
* new feature: drum kit settings saved
* new feature: "quiet key" feature in drum kit
* new feature: can turn off auto program switch after drumkit or sample store
* improvement: you can resize the mod editor
* bug fix: big Windows fonts caused some text to be cut off
* improvement: right-click on browser editor works now
* improvement: export prompts for filename


Version 1.07 May 11, 1998
* bug fix: ROM keymaps and samples were accidentally uploaded, filling up the poor 12KB of ram
* improvement: 16bit sample points are listed in words rather than bytes

Version 1.06 May 10, 1998
* new feature: env presets work now in Mod Editor and Sample Editor
* new feature: context menu in object browser for rename/delete/duplicate
* improved krz import, pitches better set, ROM objects emulated, almost useable!
* improvement: drum kit has some more options: ignore loop info and ignore note off
* bug fix: if no MA-1 device was found, program crashed
* bug fix: timbre shift didn't work at all, how come no one noticed this?!?
* bug fix: sometimes program in drop down wasn't the current program
* bug fix: toolbar buttons for editors didn't work if minimized
* bug fix: bank editor can load all supported bank files, not just pbf
* bug fix: using large fonts with windows caused problems with resizeable windows
* bug fix: the horizontal scroll bar in the mod editor caused a crash if touched
           (note the scroll bar does not appear anymore, but if it does, the program
		    won't crash)

VERSION 1.05 May 5, 1998 
* improvement: layer editor can be stretched horizontally
* fixed bug: merged waves caused crash
* fixed bug: out of memory conditions not properly checked
* fixed bug: changing sound cards is handled smoother
* fixed bug: context menus were not properly updated
* improvement: layer editor can be sized in horizontal direction
* improvement: memory avail improved in status bar and About dialog
* improvement: bank editor can import ROM programs

VERSION 1.04 April 30, 1998
* fixed bug: clicking in the envelope editor windows and then somewhere else caused a crash

VERSION 1.03 April 28, 1998
* fixed bug: banks files longer than 64K were incorrectly saved
* fixed bug: delete program caused crash
* added renumber/rename program command to edit menu

VERSION 1.02 April 27, 1998
* major rewrite of window layout
-> features neato toolbars
-> Most Recently Used files
-> Save window layout from session to session
* rudimentary krz import
* layer indicator lights
* lots of bug fixes, all bugs reported have been fixed

VERSION 1.01 April 1, 1998
* last minute bugs

VERSION 1.00!
* random bugs fixed
* Drum kit improved
   can append to current program
   allows tuning of drums
* modulator editor cleaned up
* FUNs properly labelled, new icons
* LFOs have proper phase in picture
* Registration is now (slightly) hyperlinked
* new effects tab, replaces property sheet and midi window
* some nasty more nasty bugs
* cleaned up code
* help File!
* all features "working"


March 24, release 0.95-bis
* Property sheets fixed.

March 22, 1998 - beta release 0.95
* Registration mechanism ready!: see register.txt
* Bank Editor !
* Uploading is now much faster, because of sample merging.!
* Numerical Sliders show value !
* "play" button in Drum Kit to preview samples
* Drum Kit allows 128 waves now
* minor bug fixes
* LFO in color
* delete/duplicate programs
* lots of little clean-ups, some more minor features


March 1, 1998 - beta release 0.94
* more file formats supported (see below)
* loop information from .wav files is read and stored
* stereo waves are now treated correctly.
* sample store allows multiple file selection 
* sample store creates stereo programs automatically from stereo waves
* application remembers last working directory
* purge keymap/sample
* dependency checking in modulators is working better
* some improvements in Modulator window
* improvements in sample window
* bug fixes!

February 23, 1998 - Alpha Release 0.93
* a few minor asthetic bug fixes
* some major bugs fixes (see below)
* Loads pbf files with sample links (some Awave4.4 files have this apparently)
* right click on controls for more options
* mod depth is now two separate sliders, instead of a range control
* improvements on properties
* another attempt at getting Apex to work
* layers selectable for duplicate or delete edit options
* cleaned up "insert new..." commands
* "SampleStore" feature (see Edit/Insert New Program)
* loads 8-bit PCM samples

Feburary 16, 1998 - Alpha release 0.92
* a few bug fixes
* removed the status dialog, replaced with About and main editor window progress indicators.
* opens AND saves PPE6/Awave4.3 banks, format 0102
* checks for unsaved bank before quit/load/new
* simple Drum Kit Wizard implemented
* changes to sample editor (tranpose)
* infamous "Sample cutoff" problem discovered and fixed in Drum Wizard.
* undo feature for keymap range edit 
* compiled as static binary, so no need for those extra dll's

February 8, 1998  - Alpha Release 0.91
* totally redid the sample editor
* improved the modulator editor
* lots of bug fixes
* Uploads type 0102 banks
* fft analysis of RAM samples (although the numbers are not very reliable)

February 1, 1998  - Alpha Release 0.90

---------------------------------------------------------------------------------

