                        ┌┬────────────────────────┬┐                          
                        ││ FM-Edit: General usage ││                          
                        └┴────────────────────────┴┘                          
 ┌──────────────┐                                                             
 │ Introduction │                                                             
 └──────────────┘                                                             
                                                                              
 FM-Edit is a parameter editing program for one or more IBM Music Feature     
 cards (MFC) or Yamaha FB-01 FM Sound Generators.  The MFC uses as its basic  
 sound processor the FB-01 synthesizer chip, so with some minor exceptions,   
 they are functionally equivalent.  The synthesizer is capable of sounding 8  
 simultaneous notes, allocated among up to 8 instruments, each of which may   
 be assigned to a different MIDI channel.  It contains 7 banks of 48 voices,  
 any one of which may be selected for each instrument.  Two MFC's may be in   
 use in a single machine.  When using at least one MFC, up to 14 additional   
 MFC's or FB-01's may be accessed remotely via MIDI.  When using a MIDI       
 interface other than the Music Feature, up to 16 remote units may be         
 accessed.  FM-Edit can be used to select and update any connected unit.      
                                                                              
 There are four basic screens: Configurations, Voice selection, Voice         
 parameters, and General setup.  The Configurations screen sets various       
 operational parameters and configures the individual instruments.  Up to 16  
 different user configurations are maintained on the card at one time,        
 although only one may be the current configuration.  Voice selection allows  
 each of the voice banks to be viewed and a voice chosen for the current      
 instrument.  The Voice parameters screen allows creation of new instrument   
 voices, or modification of existing ones.  The General setup screen defines  
 common program information and allows selection of the current synthesizer   
 node.  The basic relationships of the main screens are shown below:          
                                                                              
                    ┌──────────────────┐                                      
                    │  Configurations  │                                      
                    │  (Main screen)   ──────────────┐                       
                    └─────────────────┘       (F2)   │                       
                         (F6)│                        │                       
                             │                        │                       
                    ┌────────────────┐         ┌──────────┐                 
                    │      Voice      │         │   Setup   │                 
                    │    Selection    ───────── (Options) │                 
                    │     (Banks)     │   (F2)  └──────────┘                 
                    └───┬────────────┘               │                       
                  <Ret> │         │ (F6)              │                       
                        │         │                   │                       
                    ┌────────────┴───┐               │                       
                    │      Voice      │        (F2)   │                       
                    │    Parameters   ───────────────┘                       
                    └─────────────────┘                                       
                                                                              
 --------------------------------------------------------------------------   
                                                                              
 ┌──────────────┐                                                             
 │ Command line │                                                             
 └──────────────┘                                                             
                                                                              
 The following options may be added to the FM-Edit command line when running  
 the program:                                                                 
                                                                              
 <-options> may be any of the following:                                      
                                                                              
 -d  Selects the MIDI interface to use if more than one is present in the     
     system:                                                                  
                                                                              
              -dmfc      selects IBM Music Feature                            
              -dmpu      selects MPU-401 compatible                           
              -dmidiator selects MIDIator                                     
              -dsbmidi   selects Sound Blaster MIDI                           
                                                                              
              (The first 3 letters of the device name are sufficient.)        
                                                                              
     The MIDIator cannot be detected automatically and the -dmid option       
     must always be specified if one is in use.                               
                                                                              
     Non-standard IRQ and I/O port address information can be added following 
     the device id if necessary:                                              
                                                                              
              -dxxx:<irq>:<ioaddr>                                            
                                                                              
     For example, to define an MPU-compatible interface using IRQ 5 and I/O   
     address 332 (hex), use:                                                  
                                                                              
              -dMPU:5:332                                                     
                                                                              
     If only the I/O address is required but the default IRQ is alright,      
     use -dMPU::332.                                                          
                                                                              
     The irq and ioaddr are not relevant to the MIDIator, though the first    
     option number can be given to indicate use of the com port 2 instead of  
     the default com 1.  (ex: -dmid:2)                                        
                                                                              
 -i  Try to determine the IRQ in use automatically (MPU and MFC only).        
                                                                              
 -v  List the type of interface actually selected before starting.            
                                                                              
 -s  Increase the size of the MIDI input buffer.  May be necessary to avoid   
     data overruns on slower systems.                                         
                                                                              
 -k  forces keyboard mode if a mouse is present.                              
                                                                              
 -m  forces monochrome mode (mono mode is automatically detected).            
                                                                              
 -b  selects BIOS writes to the screen, instead of the default direct         
     output mode.  This slows screen updating substantially, but may be       
     necessary for proper operation on certain systems.                       
                                                                              
  Separate all options with at least one space.                               
                                                                              
                                                                              
 ┌─────────┐                                                                  
 │ Editing │                                                                  
 └─────────┘                                                                  
                                                                              
 The editor screens are cell oriented, much like common spreadsheet programs. 
 Use the arrow keys to move from one cell to another.  The current cell is    
 shown as a highlighted block.  Below the screen's main data area is an input 
 and message area.  The contents of the current cell may be changed by typing 
 a new value (which will first appear on the input line), and pressing        
 Return. A prompting message is always displayed immediately above the input  
 line, describing allowable values.  If an entry was valid, it will appear in 
 the cell;  otherwise, an error message is displayed and the entry may be     
 corrected.  The following keys may be used when entering or editing a cell   
 value:                                                                       
                                                                              
         BackSpace  -  Delete the character to the left of the cursor.        
         Del        -  Delete the character at the cursor.                    
         Insert     -  Switches between insert and replace modes.             
         Home       -  Move cursor to beginning of entry.                     
         End        -  Move cursor to end of entry.                           
         Left, right                                                          
           arrows   -  Move the cursor left or right on the input line.       
         Esc        -  Cancel the entry.                                      
                                                                              
 To edit an existing cell value, press Return after the cell is selected and  
 the current value will be placed in the input area for editing.              
                                                                              
 Certain action keys, such as function keys, up and down arrows, and PgUp and 
 PgDn, will end an entry as if Return had been pressed.  If there was no      
 error, the particular function is performed after the cell value has been    
 updated.  For example, pressing the down arrow will enter the value into the 
 cell and move to the next cell below (if there was no error).  Pressing the  
 right arrow at the end of an entry will move right to the next cell.  These  
 are convenient for entering values in rows and columns quickly.              
                                                                              
 Most cells may be modified via the F9 (Decrease) and F10 (Increase) keys. A  
 numeric cell will be changed to the previous or next value in sequence.  For 
 multiple-choice cells, the possible values will also be stepped through in   
 sequence.                                                                    
                                                                              
 Multiple-choice cell values can be entered by typing only the number of      
 characters which will uniquely identify the selection.  For example, "sq"    
 for "Square".  Case is not significant.                                      
                                                                              
 There is a short cut for setting all the values in a row or column to the    
 same value.  Select a cell in the row or column to be changed.  Enter its    
 value, if necessary, and then press Alt-C to set the other values in the     
 column, or Alt-R to set the other values in the row.  Only cells of the same 
 type and range can be set in this way.                                       
                                                                              
 When reading help text such as this, the optional search field may be used   
 to scan for a particular string.  Type a string and press return.  The line  
 containing the string is displayed as the top line of the page.  The search  
 string will remain active so that pressing Return subsequently will locate   
 additional occurrences.  Press Esc to clear the search string.  If the       
 search field is blank, pressing Return will recall the most recently entered 
 string.                                                                      
                                                                              
 ┌─────────────┐                                                              
 │ Mouse usage │                                                              
 └─────────────┘                                                              
                                                                              
 When a Microsoft-compatible mouse is available and the mouse driver software 
 properly loaded, operations using the mouse will be enabled.  The mouse may  
 be used to select an input cell on the screen by positioning the small mouse 
 cursor on the cell and single clicking either button.  The cell will be      
 highlighted, just as if the cell had been selected using the arrow keys.     
                                                                              
 Any cell which can be changed using the F10/F9 keys to increment/decrement,  
 may be changed in a similar manner using the mouse.  Once a cell is selected 
 by clicking on it, subsequent clicking of the left button will decrement the 
 cell value, and clicking of the right button will increment it.              
                                                                              
 In mouse mode, the function key designations normally displayed at the       
 bottom of the screen are changed to selector blocks for each available       
 function.  Clicking on a block will perform the indicated function.  All     
 functions may still be invoked via the normal keyboard equivalents.          
                                                                              
 ┌────────────────────┐                                                       
 │ Auditioning sounds │                                                       
 └────────────────────┘                                                       
                                                                              
 There are three ways to listen to the sound of instrument voices as          
 configuration and voice parameters are changed.  The most basic way is to    
 use the F7 key, which will play a single note using the currently selected   
 (highlighted) instrument on the configuration screen.  F8 will stop sounding 
 the note.  These will work from any screen except help.  The note played is  
 half way between the low and high note limits selected for the instrument.   
                                                                              
 The second way is to play a MIDI controller (keyboard, etc.) connected to    
 the computer's MIDI IN.  Incoming MIDI is passed on to the synth to be       
 played.  Whether the data is actually sent is determined by the "MIDI thru"  
 setting which can be toggled by pressing Alt-F2.  See also the help text for 
 the Configuration and Setup screens for further information on thru          
 operations.                                                                  
                                                                              
 The third way to listen to instruments is by playing a standard MIDI file. A 
 test file, TEST.MFF, is provided with this program.  A MIDI file may be      
 loaded and then played in the background while you go about editing the      
 synth parameters.  Pressing Alt-F7 will initiate a MIDI file load.  Type the 
 name of the file and press return.  After the file is loaded, the functions  
 of F7 and F8 change.  F7 will begin playing the file.  F8 will pause.  If    
 paused, F7 will resume playing.  If already playing, F7 will restart from    
 the beginning of the file.                                                   
                                                                              
 It is also possible to select a position within the file to begin playing.   
 This is done by pressing Alt-F8.  The program will prompt for a starting     
 time in minutes and seconds (mm:ss).  Enter a time and press return.  There  
 may be a delay while scanning for the start time.  The time may also be      
 entered without the colon, in which case the number is taken to mean         
 seconds. The elapsed time is always displayed at the top left of the  screen 
 while playing is in progress.  Alt-F8 may be used either while playing or    
 when stopped.  Pressing Alt-F8 subsequently will enter the previous search   
 time in the input area.  To use the same time, just press return; otherwise, 
 edit the time to change it.                                                  
                                                                              
 To clear the current MIDI file and return to single note mode for F7, enter  
 Alt-F7, esc (to blank the name), and return.                                 
                                                                              
 ┌────────────────┐                                                           
 │ File selection │                                                           
 └────────────────┘                                                           
                                                                              
 Wherever a file name is requested -- bank, configuration, MIDI file -- a     
 directory search may be initiated to assist in locating the desired file.    
 If the file name is entered with wildcard characters (* or ?), a file list   
 will be displayed for all matching files.  For example, when loading a bank, 
 typing "*.BNK" will display a list of all files in the data directory ending 
 in ".BNK".  The same rules used in DOS for file matching apply.              
                                                                              
 On the file display screen, you may select a file by moving the cursor to it 
 and pressing return (or clicking on it with a mouse).  That will select the  
 highlighted file and continue the load operation.  Moving to a file and      
 typing a new name will rename the file on disk.  Changing the file           
 specification at the top of the screen will display a new file list          
 according to the new specification.                                          
                                                                              
 ┌───────────┐                                                                
 │ Problems? │                                                                
 └───────────┘                                                                
                                                                              
 The most common problem is a remote FB-01 (or MFC) not responding.  Be sure  
 that the "node" or "system channel number" matches that set for the current  
 unit.  Use the Setup screen to set this, and then save the setup to a file   
 to avoid having to set it the next time the program is run.  Be sure also,   
 for a FB-01, that its MIDI OUT connects to the computer's MIDI IN, and that  
 its MIDI IN connects to the computer's MIDI OUT.  There must be a path back  
 to the computer to receive acknowledgements.  Note the unit number in the    
 upper right corner of every screen.  If it indicates "Inactive", the unit    
 did not answer when the program tried to communicate with it -- check the    
 cabling and system channel numbers.  The requirement that the remote module  
 be able to send back data can be relaxed by setting "Require                 
 acknowledgement" to "Off" on the setup screen.                               
                                                                              
 On any data screen, pressing F7 will play a note on the current MIDI         
 channel.  This should work independently of any system channel number        
 settings, and may aid in diagnosing a problem.  If no sound is heard, try    
 checking the equipment with a known MIDI source, such as a keyboard.  Also   
 check the output levels selectable on the Setup and Configurations screens   
 to make sure they are at maximum.                                            
                                                                              
 If delays of several seconds or more are noticed during operation (except    
 bank loads/stores, which are normally slow), communications may have been    
 disrupted.  For example, changing the system channel number manually from    
 the front panel of a FB-01 will cause delays as the program tries several    
 times for a response.  In certain severe cases, the program will terminate.  
                                                                              
 On slower machines, it may be necessary to use a larger MIDI input buffer to 
 assure that no data is lost when receiving bank dumps.  Use the -s command   
 line option to indicate use of a large buffer.  Try this if the message      
 "Unable to access synth" occurs.  That message usually indicates a setup     
 problem, but if everything else checks out, there may be an input overflow   
 situation.                                                                   
                                                                              
 If you are attempting to play a MIDI file and the counter is moving, but no  
 sound is heard, make sure that the MIDI channels for the desired voices are  
 set to match those in the song file.  If the Play program or any general-    
 purpose sequencer is available, use it to determine the channel utilization. 
 The Play program generates auxiliary .PLA files which are used automatically 
 by FM-Edit if present to redirect output channels.                           
                                                                              
 Note that the display of operating parameters and voice data does not        
 guarantee that everything is working.  FM-Edit will run in a demo mode       
 without a MIDI interface present, obtaining standard data from accompanying  
 disk files.  Only if a unit shows "Active" on the Setup screen is FM-Edit    
 able to communicate with it.                                                 
                                                                              
                                                                              
 ┌────────────────────────────────────────────────────────────────────────┐   
 │ Refer to Help for the individual screens for further usage information.│   
 │                                                                        │   
 │ Additional technical information is available in the "IBM PC Music     │   
 │ Feature Technical Reference" (SA23-1035).                              │   
 └────────────────────────────────────────────────────────────────────────┘   
                                                                              
