@@NO HELP
 No help is available for this selection.  Please
 refer to the TimeStack User's Guide for
 additional help

@@File
 The File menu lets you manipulate all files in
 TimeStack.  This includes loading the hex file,
 saving and restoring the node list, and getting
 and putting the configuration to disk.

@@File Load
 This prompts the name of the hex file.  The hex
 file is given a default extension of .HEX if no
 extension is entered.  If an extension is not
 desired then enter the name as NAME. with a
 period on the end.

 The hex file may be Motorola or Intel hex format.

 The hex file is automatically loaded if a
 configuration file is loaded and there is a hex
 filename specified in its configuration.

@@File Save
 This name is used to write out the special node
 list file.  The node list filename entered here
 is the same name used in the menu File | Restore.

 The node list file is given a default extension
 of .NOD if no extension is entered.  If an
 extension is not desired then enter the name
 as NAME. with a period on the end.

 The node list file is automatically loaded if a
 configuration file is loaded and there is a node
 list filename specified.

@@File Restore
 The node list filename is entered here.  This
 name is used to read in the special node list
 file.  Any name entered here will also be used
 by the menu File | Save.

 The node list file is given a default extension
 of .NOD if no extension is entered.  If an
 extension is not desired then enter the name
 as NAME. with a period on the end.

 The node list file is automatically loaded if a
 configuration file is loaded and there is a node
 list filename specified.

@@File Get
 The configuration of TimeStack is read in from
 here.  Any name entered here will also be used
 by the menu File | Put.

 The configuration file is given a default
 extension of .CFG if no extension is entered.
 If an extension is not desired then enter the
 name as NAME. with a period on the end.

 If the configuration file xxxxxx.CFG, where
 xxxxxx is the name of the program, is found
 when TimeStack starts up, that configuration
 is loaded.

@@File Put
 The current TimeStack configuration is saved in
 this file.  The configuration filename entered
 here is the same name used in the menu
 File | Get.

 The configuration file is given a default
 extension of .CFG if no extension is entered.
 If an extension is not desired then enter the
 name as NAME. with a period on the end.

@@Analysis
 The start and stop addresses of the analysis to
 be done are entered here.  The cursor starts out
 on the top line which is the start address.  The
 hexadecimal start address obtained from a
 program listing is entered here.

 Pressing ENTER moves to the stop address on
 the next line.  A hexadecimal stop address
 determined by inspecting the program listing
 is entered.

 If the analysis is on a procedure that finishes
 with a return from subroutine instruction, enter
 a hexadecimal value that contains all F's such
 as FFFF.  The analysis will automatically stop
 when it finds a return from subroutine instruction.

 Pressing ESC from this line restores the
 previous value and moves the cursor back up
 to the start address line.

@@Analysis Abort Yes
 The analysis may be aborted by pressing ESC
 while it is running.

 Choosing 'Yes' at this time will stop the
 analysis from completing.

@@Analysis Abort No
 The analysis may be aborted by pressing ESC
 while it is running.

 Choosing 'No' at this time will allow the
 analysis to continue running.

@@Edit
 Edit the instruction at the address entered.
 The instruction must be a conditional branch,
 a jump to subroutine, an indexed jump, or
 an indexed jump to subroutine.  The type of
 instruction will determine which menu is
 displayed.

@@Edit Take
 The choices for conditional branches are Take,
 Fall, Normal, or Clear.

 This selection asks how many times to take the
 conditional branch before it is allowed to
 fall through.

 A value of zero indicates that the branch should
 always be taken (ie. it never falls through).

 Example:
	    LDAA   #5
    LOOP:   NOP
	    DECA
	    BNE    LOOP       ; TAKE 4
	    RTS

 In this example, it is correct for the conditional
 branch BNE to be set to TAKE 4 times.  The fifth
 time through the loop it falls through.

@@Edit Fall
 The choices for conditional branches are Take,
 Fall, Normal, or Clear.

 This selection asks how many times to fall through
 the conditional branch before it is allowed to
 be taken.

 A value of zero indicates that the branch should
 always fall through (ie. it is never taken).

 Example:
	    LDAA   #6
    LOOP:   DECA
	    BEQ    DONE       ; FALL 5
	    NOP
	    BRA    LOOP
    DONE:   RTS

 In this example, it is correct for the conditional
 branch BEQ to be set to FALL 5 times.  The sixth
 time through the loop it is taken.


@@Edit Normal
 Treat the conditional branch as you would a normal
 forward branch.  Both paths of the branch are
 analyzed.

@@Edit Delete
 Delete the branch from the special node list.

@@Edit JMP IND
 The menu for jumps indirect first displays the
 option to handle the jump indirect exactly as it
 would a return from subroutine instruction.  If
 this is not chosen then the address that should
 be jumped to is requested.

@@Edit Clear JSR
 The time and stack that was entered for this
 jump subroutine may be cleared.

 Yes - clears this information.

 No - leaves the information.

@@Clear
 It is possible to clear nodes in the Special
 Nodes window one at a time using the Edit menu
 but this is time consuming.  This option allows
 clearing all nodes from the given starting
 address through the given ending address,
 inclusive.

@@Disasm
 The Disassembly window needs to know where to
 start when it disassembles a portion of the
 program.  Enter the starting address for
 disassembly here.

@@Options
 There are many different options available so
 that TimeStack may be customized.

 Look at each option individually to find out
 more about it.

@@Options Type
 The type of processor can have an effect on what
 opcodes are illegal and how many clock cycles an
 opcode uses.  Some processor families have a
 large number of choices.  This may mean a
 difference in timing characteristics or it may
 just allow that specific name to be chosen for
 display purposes.

 Any time a processor is picked, the clock divisor
 value is reset to a default value for that
 processor.

@@Options Clock
 This is used to specify the clock rate of the
 processor.  It is used to calculate how many
 microseconds the maximum and minimum execution
 times are in the Analysis Results window.

 The number entered is in megahertz.  It must be
 between 0 and 200 MHz.  It is a floating point
 number with at least five digits of accuracy.
 It may be entered as a regular number or using
 scientific notation.

@@Options Divisor
 Every processor has a factor that the external
 clock input is divided by.  The external clock
 is divided by this value to obtain an internal
 clock that is referred to as the cycle time.

 Most processors have a fixed value for this
 internal divisor but it may be changed here.

 The number entered must be between 0 and 256.
 It is a floating point number with at least
 five digits of accuracy.  It may be entered as
 a regular number of using scientific notation.

@@Options Get
 Gets additional information on the current state
 of TimeStack.

 This includes filenames, current processor type,
 clock rate, clock divisor, and memory available.

@@Options Config Auto
 This allows the configuration to automatically be
 saved when Quiting.

 Yes - sets up TimeStack to automatically save the
       configuration when Quiting.

 No -  does not allow automatic saving of the
       configuration when Quiting.

@@Options Node Auto
 This allows the node list to automatically be
 saved when Quiting.

 Yes - sets up TimeStack to automatically save the
       node list when Quiting.

 No -  does not allow automatic saving of the
       node list when Quiting.

@@Print
 The information obtained from the analysis may be
 saved in a file on disk or sent to a printer.

@@Print Comments
 A line at the top of the printed information may
 optionally contain a comment.  That line is
 entered here and remains until replaced with
 another line.

@@Print Save
 Outputs the current analysis results to a file.

 This file is usually saved for printing later.

@@Print Output
 Outputs the current analysis results to a printer.
 The output is sent to the DOS print device PRN.

 Be sure the printer is turned on, loaded with
 paper, and on-line.

@@Print Opening
 There is a problem opening this file for printing.

@@Print Error
 There is a problem trying to communicate with
 the printer.  This could be caused by a couple
 of different things.

 1. Be sure the printer is plugged in and turned
    on.  Make sure all of the printer cables are
    connected correctly.

 2. Check that it has not run out of paper.

 3. Look to see that is it on-line.

@@Quit
 Quit the TimeStack program.  If the Special Nodes
 have been modified in any way and the 'save
 special nodes automatically' feature is not active,
 a prompt is given to ask if the information should
 really be saved.

 If the special nodes are to be saved and no
 filename has been entered then it will be prompted.

@@Quit Node
 The current special nodes will be saved if you
 choose 'Yes' at this time.

 Any changes made to the special nodes will be
 lost if 'No' is chosen.

@@Quit Configuration
 The current configuration will be saved if you
 choose 'Yes' at this time.

 Any changes made to the configuration will be
 lost if 'No' is chosen.

@@Config Error Reading
 The configuration file that was entered was not
 found while trying to open it for the first time.

@@Config Header
 The first line of information in the configuration
 file is bad.  It probably means the file is not
 a valid TimeStack configuration file.

@@Config Version
 The configuration file version is greater than the
 program reading it.

@@Config Revision
 The configuration file revision is not the same as
 the program reading it.

@@Config Size
 The configuration file is too big.  This indicates
 some problem with the file.

@@Config Error Writing
 The configuration file that was entered had an
 error while trying to open it for writing.

@@CPU Error
 The processor type in the configuration file was
 not a valid choice for this program.  A default
 will be selected as the processor type.

@@CPU Not Found
 The processor type in the configuration file was
 not found.  A default will be selected as the
 processor type.

@@CPU Selection
 Choose one of the given processors.  These are
 the only processors this version of the program
 will recognize.

 Some of the processors may operate identically
 but have been given their own entry to allow for
 more specific documentation.

@@Error
 No help is available.  Refer to the TimeStack
 User's Guide.

@@Infinite Loops
 Infinite loops in the program will eventually
 cause the analysis to reach an internal limitation
 and stop.

 If a memory limitation is reached, it is up to
 the user to determine if or how the program entered
 into a large or infinite loop.  In general, it is
 not a good idea to try and time loops that run for
 more than a couple of hundred iterations.

 Also, it may be that one of the conditional
 branches in the program has not been set up or
 set up correctly.  It may be possible to narrow
 down the area that is the problem by changing the
 start and stop addresses to analyze a smaller
 portion.

 A solution to timing loops that run for a large
 number of times is to time the loop when it is
 taken only once.  Then time the loop when it
 is taken twice.  Calculate the difference
 between these results and you have how long each
 iteration of the loop takes.

@@Hex Files
 Some common problems with hex files are as
 follows.

 Not all address ranges are valid.  The
 given address may not exist in the hex file
 that was loaded.

@@Illegal Opcodes
 An illegal opcode means that the value in memory
 at the indicated address was not a valid
 instruction for the current processor type.

 It may be that the current processor type is set
 incorrectly or the hex file that was loaded was
 for another processor or the starting address was
 incorrectly specified or the program is in error.

@@No Time
 This opcode is not able to be included in the
 timing analysis for this program.

 For some reason, the instruction is too difficult
 to logically be analyzed by TimeStack.

@@Indirect Addressing JSR
 The cycle time and worst stack depth must be
 entered for a jump subroutine indirect instruction.

 If this information is not known then do an
 analysis of the subroutine that is to be the
 destination of this instruction.

@@Indirect Addressing JMP
 A destination address is needed for a jump
 indirect instruction.

@@Backwards Branching
 If a backwards branch is encountered it is
 possible for a loop structure to exist.

 The option to edit conditional branches is
 given at this time so that if this is part of
 a loop it can be set up.

@@Stack Mismatch
 The stack depth when this conditional branch
 is taken and when it falls through is different.

 This MIGHT indicate a path where the stack
 could become unbalanced based on the logic.

@@Difficult Structures
 Some loop structures are too difficult for
 the analysis to calculate correctly.  The
 conditional branch that should be modified
 to help the analysis out is indicated.

@@Stop Address
 The stop address that was entered for the
 analysis was never reached.  Probably the
 address entered was less than the starting
 address, or it may have been greater than
 the last return from subroutine instruction
 in the subroutine.

@@Branch Past
 A branch inside the analysis range branched
 past the specified stop address.

 This could mean the stop address indicated was
 shorter than intended.

@@Internal Error
 An internal error has occurred that should not
 have happened under normal circumstances.

 Please report this to BE, Inc.

@@Help Files
 The help files were not found in the search path.

 The search path is the current directory of the
 current drive followed by each directory in the
 PATH environment variable.
