
                     LOANSMGR for Mac OS X, v2.5a
                    Brought to You by CampbellWare
                          1986-1994-2005-2007


1.0  Introduction

     1.1 Program Description

     LoansMgr for Mac OS X is a powerful but easy to use loan management
     program intended for standard compound interest loans.  Common
     examples of such loans are car loans and mortgages. Given any three
     of the four components of the basic compound interest equation
     (Loan size, Payment Size, Interest Rate, and Number of Payments),
     LoansMgr will solve for the remaining one, allowing the user to run
     an unlimited number of "what if" scenarios.

     In addition, LoansMgr will generate and maintain amortization
     schedules, handle variable payment intervals (in units of weeks and
     months), handle variable interest compounding periods per year, and
     handle regularly scheduled additional principal payments. LoansMgr
     also allows all data related to a given loan to be saved in a "loan
     profile" file, and easily reloaded at a future date.

     1.2 System Requirements
     
     LoansMgr is an ncurses based program. As such, it places almost
     no requirements on the host system, other than the support of 
     ncurses.

     The  executable  included  in  the  LoansMgr distribution is a PPC G5
     program  compiled  and  linked  under  Mac OS X Tiger v10.4.8. This 
     version of LoansMgr has been released for and extensively verified on
     a number of Linux distributions running on an x86 PC. These include 
     Mandrake Linux 10.1, SuSE Linux 9.0, SuSE Linux 9.3 and Yoper 2.1. No
     guarantees  are made for other versions of Linux, although LoansMgr
     is known to work correctly on Debian Linux 3.1. 


2.0  Acknowledgements

     The author would like to acknowledge the contributions of Philip A.
     Campbell, for inspiring many of LoansMgr's advanced features, and
     for acting as beta tester, and to Graeme B. Boyd for 'artistic
     inspiration'.


3.0  Legal Information

3.1  Introduction

     PLEASE READ THIS  INFORMATION  CAREFULLY  BEFORE USING THE LOANSMGR
     SOFTWARE  FOR ANY  CALCULATIONS.  BY  USING  THE SOFTWARE,  YOU
     ARE  AGREEING  TO BE  BOUND  BY THE  TERMS PRESENTED HEREIN.

     The first version of LoansMgr was written in 1985, and the author
     has been using it ever since to assist in simple financial
     decisions, such as what the payments should be on new car loan,
     whether it makes sense to refinance a mortgage, and so on. The
     author has always found it to be very helpful in arriving at these
     decisions. However, LoansMgr is not a certified financial program
     of any sort. The author is an engineer, not a financier, and so
     there is no guarantee that the data LoansMgr generates is
     unconditionally correct. 

     Please understand that you use LoansMgr at your own risk. Please
     do not make financial decisions of ANY nature based solely on data
     generated by LoansMgr. The author is not aware of any bugs in
     LoansMgr's financial calculation software, but that does not mean
     that there are none there. As a result of this simple observation,
     what follows is a fair amount of "legal-ese" intended to say, in
     hopefully proper legal terminology, that the author and
     CampbellWare cannot be held liable for any erroneous data that
     LoansMgr may generate. Please read this information carefully. 


3.2  Legal Disclaimer

     BY USING  LOANSMGR,  YOU ARE  AGREEING  TO BE BOUND BY THE TERMS
     PRESENTED BELOW:

     You  expressly  acknowledge  and  agree  that  use  of the LoansMgr
     software   (hereafter   referred   to  as  'the Software')  is at
     your sole  risk.  The  Software  and the related  documentation are
     provided  AS IS  and  without warranty of any kind, express or
     implied,  including,  but not limited to, the implied warranties of
     merchantability and fitness for a particular purpose.

     Under  no  circumstances,   including   negligence,  shall the author
     or CampbellWare be liable for any incidental,  special or consequential
     damages   that  result  from  the  use  or inability  to use the
     Software or related  documentation, even if advised of the
     possibility of such damages.


4.0  LoansMgr Terminology

4.1  Introduction

     LoansMgr views a loan as a logically related set of numerous
     variables, referred to collectively as a "loan profile". This
     section describes all of the elements of a loan profile, and what
     each means and is used for. It also describes the concept of
     saving and reloading loan profiles.

4.2  Basic Loan Parameters

     The major elements of a loan profile are the four basic components
     of the compound interest equation:

     L - The loan size, in dollars (no distinction between $US and $CDN).

     P - The per period payment size, again in dollars.

     I - The quoted interest rate, in percentage.

     N - The number of payment periods over which the loan is amortized.

4.3  Advanced Loan Parameters

     In addition to the above, LoansMgr includes the following in the loan
     profile:

     C   - Compounding Periods. This is the number of interest compounding
           periods per year. Generally, this is 12 for US loans and
           mortgages, 2 for Canadian mortgages, and 1 for most car loans.

     PI  - Payment Interval, expressed in other months or weeks. This is the
           units in which the N variable (number of payments) is calibrated.
           The payment interval can be any of:

           a) 1.00 month
           b) 0.50 months
           c) 0.25 months

           d) 4.00 weeks
           e) 2.00 weeks
           f) 1.00 week

     APA - Additional Principal Amount, expressed in dollars. This is the
           amount of any regularly scheduled additional principal payments
           that may be made on the loan.

     APP - Additional Principal Period, expressed in number of payment
           intervals. This is the interval between regularly scheduled
           additional principle payments.

4.4  Loan Schedule Files

     LoansMgr can generate an amortization schedule for a given loan
     profile, which includes one entry for each payment, consisting of:

     a) Payment number
     b) Payment date
     c) Payment size
     d) Principal portion of the payment
     e) Interest portion of the payment
     f) Total principal paid to date
     g) Total interest paid to date
     h) Balance after the payment is applied

     These schedules are generated into a user-specified file, which may
     then be directly viewed from within LoansMgr, or may be viewed,
     printed etc., after LoansMgr has been exited.

     Loan schedule files are standard ASCII text files, and so, may be
     browsed at any time with your favorite ASCII text viewer, editor,
     word processor, etc.

4.5  Loan Profile Files

     LoansMgr will allow you to save all of the data related to a loan
     in a "loan profile file", which you can then reload at a later
     date. This allows you to work with a given loan over a long period
     of time, without having to laboriously re-enter all of the
     parameters of its profile.

     Loan Profile Files are binary files, and cannot be meaningfully viewed
     except via LoansMgr.


5.0  LoansMgr User Interface

5.1  Introduction

     LoansMgr uses a full screen user interface, consisting of "hot key"
     driven menus, and pop up information windows. LoansMgr does not
     require or support mouse driven operations. This section describes
     the two major elements of the user interface: menus and popups.

5.2  Menus

     5.2.1 Menu Overview

     LoansMgr's full screen menus look similar to the text depiction shown 
     below:

     +---------------------------------------------------------------------+
     |                             Menu Title                              |
     +---------------------------------------------------------------------+
     |                                                                     |
     |                                                                     |
     |  A - First  Selection Description        Selection Data (Optional)  |
     |                                                                     |
     |  B - Second Selection Description        Selection Data (Optional)  |
     |                                                                     |
     |  C - Third  Selection Description        Selection Data (Optional)  |
     |                                                                     |
     |  D - Fourth Selection Description        Selection Data (Optional)  |
     |                                                                     |
     |  .              .                                  .                |
     |                                                                     |
     |  .              .                                  .                |
     |                                                                     |
     |  .              .                                  .                |
     |                                                                     |
     +---------------------------------------------------------------------+
     | Command:                                                            |
     +---------------------------------------------------------------------+
     | Prompt/Response:                                                    |
     +---------------------------------------------------------------------+


     The screen is divided into three major areas:

     a) The Title Bar
     b) The Menu Item Area
     c) The I/O Area

     The title bar and I/O areas are referred to collectively as the
     "Menu Outline Area". It will be helpful to remember the names of
     these areas, as LoansMgr allows you to configure the display colors
     used in them, via the .lm.ini file.

     5.2.2 Title Bar

     The Title Bar presents the title of the menu being displayed.

     5.2.3 Menu Item Area

     The User Menu Area presents a set of "hot key" selections,
     consisting of a key to press to make the selection, a description
     of the what the selection is for, and optionally, data currently
     associated with the selection. When the selection key is pressed,
     it is not echoed to the screen, and LoansMgr takes action on it
     immediately. This is why it is referred to as a "hot key" menu
     system.

     5.2.4 I/O Area

     The I/O Area provides an area in which LoansMgr can provide status
     information, and calculation results, and an area in which the user
     can enter loan profile data, and file names, as needed. In general,
     LoansMgr reads user input from the command line, and provides
     responses to the user on the Prompt/Response line. As the name
     indicates, LoansMgr may also prompt for more data on this line.

5.3  Pop Up Windows

     The user menu display areas, and the general I/O area are
     sufficient for most of the LoansMgr - user interactions. However,
     on occasion, LoansMgr needs to display a large volume of
     information (for example, help information, or complete loan
     profiles). When this type of need arises, LoansMgr presents a pop
     up window with the required information. The window remains
     displayed until the users hits any one key, indicating that the
     information displayed has been "absorbed", and is no longer
     needed. At that time, the window is removed.

     The only operations possible on popup windows is to cause them
     to be displayed, and to remove them by striking a key. Popups
     cannot be moved, resized, or otherwise manipulated.


6.0  Common Menu Behavior

6.1  Introduction

     Not suprisingly, all of LoansMgr's menus share some identical
     behavioral characteristics. This section describes elements that
     are common to all menus.

6.2  "Hot Key" Operation

     All of LoansMgr's menus are "hot key" menus. This simply means that
     when a selection is made, by pressing the single key associated with
     that selection, LoansMgr does not echo the selection. Instead, it
     acts on it immediately, and the output resulting from the action
     taken acts as the "echo" to the key press.

6.3  Redraw Screen

     In the unlikely event that LoansMgr should mess up the screen
     display (this is a *bug* if it happens - please let me know!), it can
     be redrawn by hitting the "`" key, which generally is the key to the
     left of the "1" key.

6.4  The "<" and ">" Characters

     LoansMgr has a limited amount of space in which to display large
     data items, such as filenames. In the event that a filename will
     not fit in the available display area, LoansMgr will display
     characters up to the maximum display width available, and then
     output a "<" character, which indicates that there are undisplayed
     characters to the left, or a ">" character, which indicates that
     there are undisplayed characters to the right.

6.5  Esc and F1

     All LoansMgr menus have "Quit" and "Help" commands. In the PC world,
     the Esc and F1 keys have become defacto standards for these functions.
     As such, the Esc key may be used in place of the "Q" command, and the
     F1 key can be used in place of the "H" command. Both variants of
     each command operate identically. Note that there may be a short pause
     after pressing the ESC key, due to the ncurses timing mechanism 
     associated with differentiation of ESC key presses from ESC sequences
     generated by keypad keys.

6.6  Error Feedback

     LoansMgr reacts to invalid menu selections with a message to that
     effect, in the response line, and, optionally, an audible beeping
     sound.

6.7  "Sanity Checking"

     LoansMgr does not "sanity check" the data you enter on a given menu
     until you ask it to undertake some operation with that data. At
     that time, the data is checked, and the operation only undertaken
     if it is "sensible". So, for example, LoansMgr will happily allow
     you to enter interest rates greater than 100%, payment values that
     are greater than the loan value, etc., and will only complain when
     asked to compute some value using the data. At that time, LoansMgr
     will present a detailed message, explaining what issue it has
     detected with the data it is being asked to operate on.

     There are two exceptions to the above. The first of these is that
     LoansMgr will reject any numbers which exceed 999999999999.99, as
     these are clearly not "sane" values for the function that LoansMgr
     was written to perform. The second is that LoansMgr will reject all
     negative numbers, as these lie outside the range of meaningful
     numbers for the function LoansMgr was written to perform.



7.0  Main Menu

7.1  Introduction

     When LoansMgr is first started, it presents the Main Menu. This
     section describes all of the Main Menu selections.

7.2  Selections

     L - Loan Size. This selection brings up the Loan Size Menu, which
         allows you to compute the size of the loan which results from
         the P, I, C, and N parameters you enter.

     P - Payment Size. This selection brings up the Payment Size Menu,
         which allows you to compute the payment size needed for a loan
         whose L, I, C, and N parameters you enter.

     I - Interest Rate. This selection brings up the Interest Rate Menu,
         which allows you to compute the interest rate for a loan whose
         L, P, C, and N parameters you enter.

     N - Number of Payments. This selection brings up the Num Payments
         Menu, which allows you to calculate the number of payments
         needed for a loan whose L, P, I, and C parameters you enter.

     S - Schedule. This selection brings up the Schedule Menu, which
         allows you to generate loan payment schedule files for loans
         whose L, P, I, and C parameters you enter.

     F - File. This selection brings up the proFile Menu, which allows
         you to view the current loan profile, save it to a file, or
         load a new profile from a previously saved profile file.

     A - About LoansMgr. This selection brings up the About Menu, which
         allows you to view general information about LoansMgr, view an
         abbreviated version of the legal disclaimers presented above,
         and review the Distribution Agreement associated with use of the
         program. Finally, this menu presents information on how to
         contact the author, should this need arise.

     H - Help. This selection brings up a popup window containing help
         for the Main Menu.

     O - OS Shell. This selections allows you to shell out to the OS. In
         order for this to work, the SHELL environment variable must
         be set. LoansMgr will inform you of this, if it is not.

     Q - Quit. This selection quits LoansMgr, and returns to Mac OS X. Note
         that LoansMgr will not prompt you to save the loan profile, if
         it has changed!

7.3  Notes

     None


8.0  Loan Size Menu

8.1  Introduction

     The Loan Size Menu allows you to compute the size of loan that
     will result from the P, I, C, and N values you enter via this
     menu, or that this menu inherits from either the loan profile,
     or the corresponding values entered on another menu. This section
     describes all of the selections for the Loan Size Menu.

8.2  Selections

     P - Payment Size. This selection will cause LoansMgr to prompt
         for the desired payment size. The value entered will be
         displayed in the User Menu Area data field associated with
         this selection.

     I - Interest Rate. This selection will cause LoansMgr to prompt for
         the desired interest rate.  The value entered will be displayed
         in the User Menu Area data field associated with this
         selection.

     C - Compounding Periods. This selection will cause LoansMgr to
         prompt for the number of interest compounding periods per year.
         Generally, this is 12 for most US mortgages and loans, 2 for
         most Canadian mortgages, and 1 for most car loans.

     N - Number of Payments. This selection will cause LoansMgr to
         prompt for the desired number of payments. The value entered
         will be displayed in the User Menu Area data field associated
         with this selection.

     S - Solve. This selection will cause LoansMgr to solve for the loan
         size, and display it on the Response Line. Other menus that
         require Loan Size as a parameter will inherit the value
         computed by this menu, as a starting point.

     O - OS Shell. This selections allows you to shell out to Mac OS X. In
         order for this to work, the SHELL environment variable must
         be set. LoansMgr will inform you of this, if it is not.

     H - Help. This selection brings up a popup window containing help
         for the Loan Size Menu.

     Q - Quit. This selection quits this menu, and returns to the Main
         Menu. All L, P, I, C, and N values entered or computed on this
         menu will be inherited by all other menus.

8.3  Notes

     None


9.0  Payment Size Menu

9.1  Introduction

     The Payment Size Menu allows you to compute the payment size needed
     for a loan whose L, I, C, and N values you enter via this menu,
     or that this menu inherits from either the loan profile, or the
     corresponding values entered on another menu. This section
     describes all of the selections for the Payment Size Menu.

9.2  Selections

     L - Loan Size. This selection will cause LoansMgr to prompt
         for the desired loan size. The value entered will be
         displayed in the User Menu Area data field associated with
         this selection.

     N - Number of Payments. This selection will cause LoansMgr to
         prompt for the desired number of payments. The value entered
         will be displayed in the User Menu Area data field associated
         with this selection.

     I - Interest Rate. This selection will cause LoansMgr to prompt for
         the desired interest rate.  The value entered will be displayed
         in the User Menu Area data field associated with this
         selection.

     C - Compounding Periods. This selection will cause LoansMgr to
         prompt for the number of interest compounding periods per year.
         Generally, this is 12 for most US mortgages and loans, 2 for
         most Canadian mortgages, and 1 for most car loans.

     S - Solve. This selection will cause LoansMgr to solve for the
         payment size, and display it on the Response Line. Other menus
         that require Payment Size as a parameter will inherit the value
         computed by this menu, as a starting point.

     O - OS Shell. This selections allows you to shell out to Mac OS X. In
         order for this to work, the SHELL environment variable must
         be set. LoansMgr will inform you of this, if it is not.

     H - Help. This selection brings up a popup window containing help
         for the Payment Size Menu.

     Q - Quit. This selection quits this menu, and returns to the Main
         Menu. All L, P, I, C, and N values entered or computed on this
         menu will be inherited by all other menus.

9.3 Notes

    None


10.0 Interest Rate Menu

10.1 Introduction

     The Interest Rate Menu allows you to compute the interest rate
     that is needed for a loan whose L, P, C, and N parameters you
     supply, or that this menu inherits from either the loan profile,
     or the corresponding values entered on another menu. This section
     describes all of the selections for the interest rate menu.

10.2 Selections

     L - Loan Size. This selection will cause LoansMgr to prompt
         for the desired loan size. The value entered will be
         displayed in the User Menu Area data field associated with
         this selection.

     P - Payment Size. This selection will cause LoansMgr to prompt
         for the desired payment size. The value entered will be
         displayed in the User Menu Area data field associated with
         this selection.

     C - Compounding Periods. This selection will cause LoansMgr to
         prompt for the number of interest compounding periods per year.
         Generally, this is 12 for most US mortgages and loans, 2 for
         most Canadian mortgages, and 1 for most car loans.

     N - Number of Payments. This selection will cause LoansMgr to
         prompt for the desired number of payments. The value entered
         will be displayed in the User Menu Area data field associated
         with this selection.

     T - Payment Time. This selection will cause LoansMgr to prompt
         for the interval between payments. This interval may be any
         of:

           a) 1.00 Month
           b) 0.50 Months
           c) 0.25 Months

           d) 4.00 Weeks
           e) 2.00 Weeks
           f) 1.00 Week

         If you are feeling lazy, the number followed immediately by the
         first letter of the unit works as well (ex: "1m" will be
         interpreted as 1.00 Months).

     S - Solve. This selection will cause LoansMgr to solve for the
         interest rate, and display it on the Response Line. Other menus
         that require Interest Rate as a parameter will inherit the value
         computed by this menu, as a starting point.

     O - OS Shell. This selections allows you to shell out to Mac OS X. In
         order for this to work, the SHELL environment variable must
         be set. LoansMgr will inform you of this, if it is not.

     H - Help. This selection brings up a popup window containing help
         for the Interest Rate Menu.

     Q - Quit. This selection quits this menu, and returns to the Main
         Menu. All L, P, I, C, and N values entered or computed on this
         menu will be inherited by all other menus.

10.3 Notes

     o The interest rate solution algorithm is knowledgeable about
       compounding periods, and will display the correct interest rate
       for the selected number of compounding periods.

     o Due to the nature of the mathematics involved, it is not possible
       to directly solve for Interest Rate. Instead, iterative numerical
       methods must be used to achieve the answer. LoansMgr uses a
       proprietary iterative algorithm, which resolves the interest
       rate to 2 significant digits of accuracy. Because the method is
       iterative, solving for interest rate may cause an observable delay
       on older, slower machines.


11.0 Num Payments Menu

11.1 Introduction

     The Num Payments Menu allows you to compute the number of payments
     needed for a loan whose L, P, I, and C values you enter via this
     menu, or that this menu inherits from either the loan profile, or
     the corresponding values entered on another menu. The number of
     payments is displayed, as well as the time in years that this
     number of payments represents.

     This menu also allows you to introduce regularly scheduled
     principal payments, and observe the effect of these on the total
     number of payments, and the calendar duration, of the loan.
     Finally, this menu allows you to vary the payment interval, to
     determine the impact of various payments schemes (1 per month, 2
     per month, 1 per 2 weeks, etc.).

     This section describes all of the selections for the Num Payments
     Menu.

11.2 Selections

     L - Loan Size. This selection will cause LoansMgr to prompt
         for the desired loan size. The value entered will be
         displayed in the User Menu Area data field associated with
         this selection.

     P - Payment Size. This selection will cause LoansMgr to prompt
         for the desired payment size. The value entered will be
         displayed in the User Menu Area data field associated with
         this selection.

     I - Interest Rate. This selection will cause LoansMgr to prompt for
         the desired interest rate.  The value entered will be displayed
         in the User Menu Area data field associated with this
         selection.

     C - Compounding Periods. This selection will cause LoansMgr to
         prompt for the number of interest compounding periods per year.
         Generally, this is 12 for most US mortgages and loans, 2 for
         most Canadian mortgages, and 1 for most car loans.

     T - Payment Time. This selection will cause LoansMgr to prompt
         for the interval between payments. This interval may be any
         of:

           a) 1.00 Month
           b) 0.50 Months
           c) 0.25 Months

           d) 4.00 Weeks
           e) 2.00 Weeks
           f) 1.00 Week

         If you are feeling lazy, the number followed immediately by the
         first letter of the unit works as well (ex: "1m" will be
         interpreted as 1.00 Months).

     $ - Additional Principal Amount. This selection will cause LoansMgr
         to prompt for the amount of the scheduled additional principal
         payments. See the description of the "#" selection (immediately
         below) for details on how LoansMgr uses this value. The value
         entered will be displayed in the User Menu Area data field
         associated with this selection.

     # - Additional Principal Period. This selection will cause LoansMgr
         to prompt for the period between additional principal payments.
         This period must be expressed in number of payment intervals.
         The value entered will be displayed in the User Menu Area data
         field associated with this selection.

         LoansMgr will then apply the amount specified via the "$"
         selection against the outstanding balance, as a direct
         principal injection, every 'n' payments, where 'n' is the
         number you enter via this selection.

     S - Solve. This selection will cause LoansMgr to solve for the
         number of payments, and display this on the Response line. Also
         displayed on this line is the calendar duration, in years, of
         the loan.  Other menus that require the Number of Payments as a
         parameter will inherit the value computed by this menu, as a
         starting point.

     O - OS Shell. This selections allows you to shell out to Mac OS X. In
         order for this to work, the SHELL environment variable must
         be set. LoansMgr will inform you of this, if it is not.

     H - Help. This selection brings up a popup window containing help
         for the Num Payments Menu.

     Q - Quit. This selection quits this menu, and returns to the Main
         Menu. All L, P, I, C, and N values entered or computed on this
         menu will be inherited by all other menus.

11.3 Notes

     None


12.0 Amortization Schedule Menu

12.1 Introduction

     This menu allows you to generate and view amortization schedule
     files. The selections in this menu are very similar to those in the
     Num Payments menu (but will be documented below again, for
     completeness), with the addition of a selection for entering the
     Setup Menu, which allows titling of loans, filename selection for
     schedule files, the starting date of the loan, and the number of
     lines per page within the file.  This section describes all of the
     selections available from this menu.


12.2 Selections

     L - Loan Size. This selection will cause LoansMgr to prompt
         for the desired loan size. The value entered will be
         displayed in the User Menu Area data field associated with
         this selection.

     P - Payment Size. This selection will cause LoansMgr to prompt
         for the desired payment size. The value entered will be
         displayed in the User Menu Area data field associated with
         this selection.

     I - Interest Rate. This selection will cause LoansMgr to prompt for
         the desired interest rate.  The value entered will be displayed
         in the User Menu Area data field associated with this
         selection.

     C - Compounding Periods. This selection will cause LoansMgr to
         prompt for the number of interest compounding periods per year.
         Generally, this is 12 for most US mortgages and loans, 2 for
         most Canadian mortgages, and 1 for most car loans.

     T - Payment Time. This selection will cause LoansMgr to prompt
         for the interval between payments. This interval may be any
         of:

           a) 1.00 Month
           b) 0.50 Months
           c) 0.25 Months

           d) 4.00 Weeks
           e) 2.00 Weeks
           f) 1.00 Week

         If you are feeling lazy, the number followed immediately by the
         first letter of the unit works as well (ex: "1m" will be
         interpreted as 1.00 Months).

     $ - Additional Principal Amount. This selection will cause LoansMgr
         to prompt for the amount of the scheduled additional principal
         payments. See the description of the "#" selection (immediately
         below) for details on how LoansMgr uses this value. The value
         entered will be displayed in the User Menu Area data field
         associated with this selection.

     # - Additional Principal Period. This selection will cause LoansMgr
         to prompt for the period between additional principal payments.
         This period must be expressed in number of payment intervals.
         The value entered will be displayed in the User Menu Area data
         field associated with this selection.

         LoansMgr will then apply the amount specified via the "$"
         selection against the outstanding balance, as a direct
         principal injection, every 'n' payments, where 'n' is the
         number you enter via this selection. Each such payment shows up
         as a separate and distinctive entry in the schedule file.

     F - File Setup. This selection causes LoansMgr to display the Setup
         Menu, which allows titling of loans, amortization filename
         selection, starting date selection, and selection of the number
         of lines per page in the amortization file.

     S - Schedule. This selection will cause LoansMgr to generate the
         schedule of payments, and write this to the specified schedule
         file name.  If a file with that name already exists, LoansMgr
         will prompt regarding overwrite of this file.  The generated
         schedule may then be viewed immediately, via the "V" command
         (see below), or may be viewed, printed, etc., after LoansMgr
         has been exited.

         After the schedule file has been written, LoansMgr generates a
         popup window containing the payout summary for the loan,
         showing the total principal paid, the total interest paid, the
         total cost of the loan, and the number of payments the loan
         required. Unlike all other popups, this window remains onscreen
         until one of the parameters of the loan profile are changed, or
         the Amortization Schedule Menu is exited.  

     V - View Amortization Schedule. This selection will cause LoansMgr
         to invoke the ASCII file viewer of your choice (usually a text
         editor) on the generated schedule file, allowing you to view it
         immediately.

         To determine the file viewer to use, LoansMgr looks for an
         environment variable  called EDITOR. If found, it invokes the
         command contained within, with the name of the schedule file
         appended. For example, if the editor of choice is "ve"
         (the author's personal favorite), the EDITOR variable would be
         set to "ve", and LoansMgr would issue the command:

         "ve schedule_file_name"

         in response to a "V" selection. If the EDITOR variable does not
         exist, LoansMgr defaults to the standard unix "less" pager, which 
         is typically present on most Mac OS X installations. In this case, 
         it alerts the user to this fact, so that they can set the EDITOR 
         variable if they wish.

     O - OS Shell. This selections allows you to shell out to Mac OS X. In
         order for this to work, the SHELL environment variable must
         be set. LoansMgr will inform you of this, if it is not.

     H - Help. This selection brings up a popup window containing help
         for the Schedule Menu.

     Q - Quit. This selection quits this menu, and returns to the Main
         Menu. All L, P, I, C, and N values entered or computed on this
         menu will be inherited by all other menus.

12.3 Notes

     o The L, P, I, and C values entered in this menu may not yield a loan
       with a whole number of payments. In this case, LoansMgr will
       round the number of payments UP to the nearest integer value,
       and adjust the payment size to make up the difference. This
       creates a loan with a whole number of payments, but will result
       in a schedule that shows a slightly different payment value than
       was originally entered. If this happens, it should not be a cause
       for concern. It is "design intent".

     o LoansMgr will allow the payment interval to be set in numbers of
       weeks (0.25, 0.50, and 1.00). However, LoansMgr does not yet know
       how to translate week numbers into month and year values (the
       author hopes to add this in a later release), and so, the "Date"
       field of the schedule file shows only "--- --". Fortunately,
       every 52 weeks after the first payment is guaranteed to be one
       calendar year, and so the corresponding schedule file entry is
       correctly marked.

     o Schedule files are simple ASCII text files, and may be viewed by
       any program capable of dealing with such data.

     o I recommend giving schedule files the three letter extension
       "sch".  Consistent use of this extension has proven to be very
       beneficial for me.


13.0 Setup Menu

13.1 Introduction

     This menu allows titling of loans, amortization filename selection,
     starting date selection, and selection of the number of lines per
     page in the amortization file.

13.2 Selections

     N - Name of Loan. This selection causes LoansMgr to prompt for the 
         name of the loan. This is a user supplied string that is printed
         in the header of the amortization schedule file, allowing users
         to "title" their amortization schedules with names that are 
         meaningful to them. This lessens reliance on recall of what 
         cryptic 8 letter file names may have stood for.

     F - Filename. This selection will cause LoansMgr to prompt for the
         name of the file to which the generated amortization schedule
         will be written. The filename entered is displayed (up to the
         maximum allowable display width) in the User Menu Area data
         field associated with this selection.

     D - Date of First Payment. This selection will cause LoansMgr to
         prompt for the starting date of the first payment of the loan.
         As all entries in the generated schedule are stamped with the
         date, this information is critical. Dates can be entered only
         in the form "MMM YY", where "MMM" is the expected "Jan" through
         "Dec", and "YY" is any year from (19)70 to (20)29. Only the
         last two digits will be accepted. For example, Dec 1993 would
         be entered as "Dec 93".

     L - Lines Per Page. This selection will cause LoansMgr to prompt
         for the number of lines per page in the amortization schedule file. 
         This allows users to configure the file for the number of lines
         their printer puts out on each page. LoansMgr emits formfeeds
         to start each new page.

     H - Help. This selection brings up a popup window containing help
         for the Setup Menu.

     Q - Quit. This selection quits this level, and returns to the 
         Amortization Schedule Menu.


14.0 Profile Menu

14.1 Introduction

     This menu allows you to view the current loan profile, write it to
     the file of your choice, or reload a previously written profile file.
     This allows you to save all the parameters relevant to a given loan,
     and return to them at a later date, without having to laboriously
     re-enter them. This section details all of the selections available
     from the Profile Menu.

14.2 Selections

     F - Filename. This selection will cause LoansMgr to prompt for the
         name of the file name the loan profile will be written to, or
         read from. The filename entered is displayed (up to the maximum
         allowable display width) in the User Menu Area data field
         associated with this selection.

     C - Clear. This selection causes LoansMgr to clear the current loan
         profile to its default (start up) values.  This also has the
         effect of removing the current profile name from the title bars
         of all menus (see the Notes section, below, for more details on
         this).

     R - Read. This selection will cause LoansMgr to attempt to read a
         loan profile from the filename supplied via the "F"
         selection. If the file does not exist, or is not a loan
         profile, Loansmgr will issue an error to that effect.

     W - Write. This selection will cause LoansMgr to write the current
         loan profile to the filename indicated by the "F" selection.
         If a file with that name already exists, LoansMgr will prompt
         regarding overwrite of this file.

     V - View. This selection will cause LoansMgr to present a popup
         window containing all data that is part of the current loan
         profile. This can be used to verify a profile prior to writing,
         or to review a profile immediately after reading, to ensure
         that the correct profile has been loaded.

     O - OS Shell. This selections allows you to shell out to Mac OS X. In
         order for this to work, the SHELL environment variable must
         be set. LoansMgr will inform you of this, if it is not.

     H - Help. This selection brings up a popup window containing help
         for the Profile Menu.

     Q - Quit. This selection quits this menu, and returns to the Main
         Menu.

14.3 Notes

     o Loan profiles are small binary files, usually no larger than 0.5K
       bytes.

     o I recommend giving profile files the three letter extension "prf".
       Consistent use of this convention has proven to be very helpful 
       to me. 

     o The title bar of each menu shows the name of the currently loaded
       profile file, in parenthesis, as part of the menu title bar. If
       no profile has been loaded or saved, this shows as "()".

     o Loan profile files can be used to conserve disk space in systems
       that are low on this resource.  If you have generated a large
       schedule file (example, a 30 year mortgage - 360 entries), and
       wish to recover the disk space it occupies, but not lose the
       data, you can write the current profile out to a file. As
       mentioned above, loan profiles are small binary files, and yet
       contain all the data necessary to allow LoansMgr to regenerate the
       schedule file at any time. So, instead of keeping the large
       schedule files on disk, keep only the profile file, and
       regenerate the schedule whenever you need to view it.


15.0 About LoansMgr Menu

15.1 Introduction

     This menu provides the user with a variety of information about the
     LoansMgr program. The four categories of information provided are:

     a) General Program Information - typical "about" window stuff.

     b) Legal Information - important legal disclaimers that should be
        read and understood prior to using LoansMgr.

     c) Distribution Information - information on your obligations as a
        user of LoansMgr.

     d) Contacting The Author - information on how to contact the author
        for any reason.

     This section describes all of the selections available from the
     About LoansMgr menu.

15.2 Selections

     G - General Information. This selection causes LoansMgr to present a
         popup window with a variety of general "about" information for
         LoansMgr, including its version number, author name, program
         description, and limited acknowledgements. The window remains
         displayed until you hit any single key, at which time it is
         removed.

     L - Legal Disclaimers. This selection will cause LoansMgr to
         present a popup window containing, essentially, a disclaimer of
         all responsibility on the author's part for your use of
         LoansMgr.  This same information (and more!) is presented in
         the opening sections of this documentation, and should be read
         carefully and understood, prior to use of LoansMgr.  The window
         remains displayed until you hit any single key, at which time
         it is removed.

     D - Distribution Agreement. This selection causes LoansMgr to present
         a popup window containing information regarding the GPL
         status of LoansMgr, and your obligations regarding use and 
         distribution of the software.

     C - Contacting The Author. This selection causes Loansmgr to
         present a popup window containing information on how to reach
         the author via both electronic and surface mail. The window
         remains displayed until you hit any single key, at which time
         it is removed.

     Q - Quit. This selection quits this menu, and returns to the Main
         Menu.


16.0 Installation

     Installing  LoansMgr  is  easy. Start by expanding the distribution
     tarball. To do this, issue the command:

     tar -xvjf distribution_tarball.tar.bz2

     replacing "distribution_tarball" with the name of the file

     This will create a lm-2.5a-release directory, with the following contents:

     a) file  "lm".  This is a PPC G5 executable. It was built on Mac OS
        X  10.4.8  but  because  LoansMgr  relies only on ncurses, it is
        highly likely that it will execute directly on your system. 

     b) .lm.ini - this  is  the  ini  file, which sets colors used by
                  LoansMgr.

     c) The above three formats for the User Guide

     d) directory lm-2.5a-src. This is the source tree

     Copy  the  executable  to some directory on your PATH, and copy the
     .lm.ini  file to your home directory. LoansMgr will find it and use
     it  if  you  have  the HOME environment variable set. If you do not
     have  this  variable  set,  you  may wish to do so at this time. If
     LoansMgr  does  not  find the HOME variable, or the .lm.ini file in
     the  HOME  directory,  it  defaults  to an internally defined color
     set.

     It  is  advised  that  you  set  up  an  environment variable named
     "EDITOR",  which  contains  the  name of a console based ASCII text
     editor  capable of displaying text files. vi is a common example of
     this  class  of  editors.  If  the  HOME  variable  does not exist,
     LoansMgr  uses  the  "less"  pager to execute commands that require
     viewing  files.  The  author  of  LoansMgr  is also the author of a
     small,  fast  and  feature-rich  ncurses text editor named VE which
     you  may wish to investigate for this purpose. VE is also available
     from the CampbellWare website.

     Now, just type "lm" and you are off and running.

     If  you  are  feeling  adventurous, open and modify the contents of
     the  initialization  file  .lm.ini.  The  contents  are  quite self
     explanatory. 

     That's it!


17.0 Configuration

17.1 Introduction

     LoansMgr can be configured in two ways:

     1) Environment variables
     2) The .lm.ini file

     This section discusses how to use these two methods to configure
     LoansMgr.

17.2 Environment Variables

     LoansMgr uses three environment variables, and it is recommended that
     all be set before running LoansMgr for the first time. The variables
     are:

     SHELL -   Like all other unix programs, LoansMgr uses this variable
               to invoke a secondary Mac OS X shell, when executing its
               OS CI command (available from most menus). If this
               variable is not set, this command will fail.

     EDITOR -  This variable is used by the Amortization Schedule menu
               to determine the program to invoke to view the schedule
               file. If this variable is not set, LoansMgr defaults to
               the unix "less" pager, which is available with most
               Mac OS X installations.

     HOME    - This variable is used to specify a "home" directory,
               which is generally the one in which all ".ini" type files
               reside.  If this variable is set, LoansMgr will search
               here for its .lm.ini file (see below for more details).

     Users with a unix background will recognize the unix influence in
     the existance of EDITOR and HOME variables. It will come as no
     surprise that LoansMgr started life as a unix application.


17.3 .lm.ini File

     17.3.1 Introduction

     This file allows users to configure the colors that will be used by
     LoansMgr. Colors can be specified for the Menu Outline lines, the
     Menu Item lines, the popup windows, and the screen border.

     This file is a sequence of comment lines and command lines. Comment
     lines are any lines beginning with the semicolon character ";", or
     blank lines. Command lines have the form:

     area_name color

     where "area_name" is the name of a portion of the screen, and "color"
     is the color you want to set that area to.


     17.3.2 Area Names

     The valid area names are:

     menu_outline_fg - The foreground (text) color for the outline lines
     menu_outline_bg - The background color for the outline lines

     menu_item_fg    - The foreground (text) color for the Menu Item lines
     menu_item_bg    - The background color for the Menu Item lines

     popup_fg        - The foreground (text) color for the popup windows
     popup_bg        - The background color for the popup windows

     border_color    - The color of the screen border

     These names *are* case sensitive, and must be in lower case.


     17.3.3 Color Names

     The valid colors are:

     BLACK,   BLUE,      GREEN,   CYAN,
     RED,     MAGENTA,   WHITE,   YELLOW

     Like the area names, these names are also case sensitive, and
     must be entered in upper case.

     You may specify as many or as few of these commands in the
     .lm.ini file as you wish, or you may omit this file altogether
     in which case LoansMgr uses a default set of colors. If LoanMgr
     detects any unknown area names or color names, it discards
     all user color selections, and returns to its default color set.
     An error message is presented in the Main Menu upon completion of
     initialization.


     17.3.4 How LoansMgr Looks for .lm.ini

     LoansMgr follows a simple algorithm for finding the .lm.ini file.
     It searches the following directories, in the following order:

     a) Current Directory - This is the directory the user was in when
        LoansMgr was invoked.

     b) Start Up Directory - This is the directory the LoansMgr executable
        was executed from.

     c) HOME Directory - This is the directory indicated by the HOME
        environment variable.

     If .lm.ini cannot be found in any of these locations, LoansMgr
     assumes it does not exist, and uses its internal default colors.


     17.3.5 Sample .lm.ini File

     A sample .lm.ini file is included in the LoansMgr distribution
     tarball, and is duplicated below, as an example:

     ; ---------------------------------------------------------------------------
     ; LoansMgr v2.5 Initialization File - Set colors used by LoansMgr
     ;
     ; Available colors are BLACK, WHITE, RED, BLUE, YELLOW, GREEN, CYAN, MAGENTA
     ; ---------------------------------------------------------------------------
     
     ; Note that all entries *are* case sensitive
     
     ; Set the color of the Title, Command and Response lines
     
     menu_outline_fg WHITE
     menu_outline_bg RED
     
     ; Set the color of the LoansMgr menu lines
     
     menu_item_fg    BLACK
     menu_item_bg    CYAN
     
     ; Set the colors for the pop up help and review windows
     
     popup_fg        WHITE
     popup_bg        BLUE
     
     ; Set up the screen border color - NOT USED IN Mac OS X PORT OF LOANSMGR
     
     border_color    BLUE


     ; --------------------------------------------------------------------
     ; End of LoansMgr v2.5 Initialization File
     ; --------------------------------------------------------------------


18.0 Command Line Invocation

     The full form of the LoansMgr command line is:

     loansmgr [profile_file_name]

     where the "[" and "]" characters indicate that the profile file
     name is optional. These two characters are not entered on the
     command line itself. If a profile file name is supplied, it will
     be read and loaded in the same manner as if it had been done via
     the Profile Menu. If no profile is specified, LoansMgr uses a
     default nil profile.

     Example: To invoke LoansMgr using loan profile file myprof.prf, enter:

              lm myprof.prf


     Example: To invoke LoansMgr with no profile specified, enter:

              lm


19.0 Distribution Agreement

     LoansMgr  is  distributed under the terms of the GNU Public License
     v2.  It  is  free  to  use  and redistribute, per the terms of that
     license. 


20.0 Licensing Agreement

     LoansMgr is distributed under the terms of the GNU Public License v2.


21.0 Contacting The Author

     If  you  should wish to reach the author for any reason, including,
     but not limited to: 

     a) Bug reports

     b) Requests for new features

     c) Request for modifications/additions to existing features

     d) Gratuitous praise!  :-)

     please send an email to:

           webmaster@campbell-tx.net

