home *** CD-ROM | disk | FTP | other *** search
/ Mega CD-ROM 1 / megacd_rom_1.zip / megacd_rom_1 / PLOT / PLOT61.ZIP / PLOTTER.DOC next >
Text File  |  1990-02-14  |  34KB  |  614 lines

  1.                               Plotter Version 6.10
  2.                                by Adrian Mariano
  3.  
  4. Shareware and Support
  5.  
  6. If you have problems with PLOTTER, I will help you.  I am very interested in 
  7. hearing any comments or suggestions you should have about it, especially bugs.  
  8. If you find out about bugs, tell me about them.  They will be fixed. If you 
  9. find this program useful, PLEASE support my effort in further developing this 
  10. program and other similar programs by sending me $15 to register your copy.  If 
  11. you register, you will receive your own personal registration number (that in 
  12. itself is worth $15), my undying gratitude, and my vote for president (if you 
  13. decide to run). Feel free to distribute unmodified copies of PLOTTER with this 
  14. documentation. 
  15.  
  16.  
  17.  Send money and comments to:
  18.                            Adrian Mariano
  19.                            2729 72nd Ave. SE
  20.                            Mercer Island, WA 98040
  21.  
  22.  Or send comments to me at:
  23.                            theorem@blake.u.washington.edu
  24.     
  25.  
  26. Introduction. 
  27.  
  28.    This is a program which was written to plot functions on the infamous color 
  29. graphics adapter on IBM's or compatibles.  It requires at least a CGA and 
  30. makes use of a VGA if detected.  It requires 190k if run with a CGA and 260k 
  31. if run with a VGA.
  32.  
  33.     
  34. Operations. 
  35.             
  36.     Invoke the program by typing PLOTTER at the command line.  It will 
  37. immediately display the main function entry screen. [I never got around to 
  38. designing a cute opening screen].  You may now enter the functions you wish to 
  39. plot.  Enter each function, pressing return when done.  Hit return again when 
  40. done.  The status box, in the lower right corner, displays the domain and 
  41. range of the plot in the form of intervals, and the stepsize. 
  42.  
  43.                                     Status 
  44.                        -------------------------------- 
  45.                        |X [-20,20]                    | 
  46.                        |Y [-20,20]                    | 
  47.                        |Stepsize: 320 Steps           | 
  48.                        -------------------------------- 
  49.  
  50.     When entering functions, the default interval for the type of function 
  51. selected is printed on the right.  To change this interval, press the backtab 
  52. key.  Then enter the start of the interval, and press comma.  Type in the end 
  53. of the interval, and press enter.  Press the letter I to get an infinity 
  54. symbol.  In both cases, you may press return to keep the old value.  You will 
  55. be returned to the end of your function, and may continue entering it.  Once 
  56. all functions are entered, press the enter key again.  Plotting will proceed.  
  57. If you desire to interrupt the plotting of a specific funtion, press the ESC 
  58. key.  The program will attempt to deal with discontinuities. 
  59.     When plotting is completed, the computer will beep and wait for you to hit 
  60. a key.  If you hit the ESC key, or the RETURN key, then you will be returned to 
  61. the main menu.  If you press the * key, then the screen will be printed on an 
  62. Okidata printer.  Otherwise a set of cross hairs will appear.  A box will 
  63. appear on the right which will indicate the X and Y coordinates of the cross 
  64. hairs.  Pressing the cursor keys will move the cross hairs in the appropriate 
  65. direction.  If you wish to change the unit of movement, which is also printed 
  66. in the box on the right, use the plus and minus keys to increase or reduce it 
  67. by a factor of ten.  To exit the cross hair mode, press ESC.  If you wish to 
  68. print the screen on an Okidata printer, press * at any time during the 
  69. operation. 
  70.     If you wish to plot the same set of functions again, on a different scale, 
  71. then the rescale option may be invoked.  Locate the cross hairs at one corner 
  72. of the desired window for the replot, and hit the Ins key.  If you wish to 
  73. relocate that point, then pressing the Del key will remove it.  Once Ins has 
  74. been pressed, move the other corner of the box to the desired location, and 
  75. press Ins again (or return) to initiate the replot.  The entire set of 
  76. functions will immediately be plotted again, at the new window setting. 
  77.     If you wish to plot the same set of functions at a larger scale, invoke the 
  78. upscale option with Ctrl-PgUp.  The window will be set at an integer value 5 
  79. times larger on both sides.  The downscale, invoked with Ctrl-PgDn will plot 
  80. the same functions on a window that has sides 1/5 the current sides to the 
  81. nearest integer, with the same center as the current window. (If values are 
  82. close to zero, they are not rounded.) Ctrl-End will replot a smaller window 
  83. centered around the cross hairs.  If you wish to replot with the current window 
  84. and stepsize, then press Ctrl-Right Arrow.  This key should be used in 
  85. conjunction with Ctrl-S, Ctrl-R, and Ctrl-W which alter the stepsize, and 
  86. window without replotting.  Ctrl-Right, Ctrl-PgUp, and Ctrl-PgDn may be pressed 
  87. before plotting has concluded.
  88.  
  89.  
  90. The Grid
  91.  
  92.     Ordinarily, the functin is plotted on a bare rectangle, with only the x and 
  93. y axis.  However, if you wish, you may add hatch marks or a grid pattern. To 
  94. turn on hatch marks, wait until the function has been plotted, and press G. 
  95. Hatch marks will appear on the screen.  If you press G a second time, the hatch 
  96. marks will be erased and a grid will appear.  If you press G a third time, the 
  97. grid will be erased.  The state of the grid is remembered from plot to plot. 
  98.  
  99.  
  100. Advanced Editing features
  101.  
  102.      PLOTTER prohibits the entering of illegal functions.  It beeps if you 
  103. attempt to enter an illegal character.  The Left Arrow and Right Arrow will 
  104. move the cursor left or right.  The program will allow you to have illegal 
  105. expressions to the right of the cursor, but if you try to include illegal 
  106. characters in the function by using the Right Arrow, the program will complain. 
  107.      The Ins key will toggle insert mode.  When insert mode is on, the cursor 
  108. is half hight, and characters typed will be inserted into the function.  When 
  109. insert mode is off, each character typed will replace the character the cursor 
  110. is on.  
  111.      The Del key may be used to delete the character the cursor is on, and the 
  112. backspace key to delete the character before the cursor.  Ctrl-End will delete 
  113. everything from the cursor to the right, and ESC will delete the entire 
  114. function. Alt-N (Nuke) will delete all the functions.  The Alt-B (Backup) key 
  115. is similar to Alt-N.  It will delete all functions and return you to the 
  116. previous function plot.  This is useful if you accidentally clear a function.
  117.      The Home key will move the cursor to the first character of the function, 
  118. and the End key will move it to the last, or to the first illegal character. 
  119. Pressing Enter when you are not at the end of a function will either accept the 
  120. function, or position the cursor on the first illegal character.  If the 
  121. function contains more open parenthesis than close parenthesis, then the 
  122. necessary number of close parenthesis will be added to the right of the cursor, 
  123. with the first one on the cursor.  The computer will issue a high pitched beep 
  124. (different from the error beep) to inform you that parentheses were added.  You 
  125. may accept the parentheses by pressing enter again, or you may delete them by 
  126. pressing Ctrl-End. 
  127.      If you wish to edit functions which are on the screen, press PgUp to move 
  128. up one function and PgDn to move down one function. If the current function is 
  129. not legal, both of these will place the cursor on the first illegal character 
  130. rather than changing functions.  Pressing PgUp when on the top function will 
  131. place you on the bottom function, and pressing PgDn when on the last function 
  132. will move you to the first. 
  133.      PLOTTER keeps a list of the previous eight functions you have entered. You 
  134. may scroll through these functions by using the up and down arrows. (CED users 
  135. will find this arrangement familiar.) 
  136.      You enter the variables by pressing O, R, X, or Y.  PLOTTER determines 
  137. what kind of function is being entered by looking at the first two characters.  
  138. If the function starts with an O that is not followed by a =, then O will be 
  139. the only legal character, and the function will be r=f(Theta).  If you start 
  140. with O=, then r will be the only legal entry, and the function will be 
  141. interpreted as Theta=f(r).  If you do not start with a variable, then X will be 
  142. the only legal variable, and the function will be y=f(x).  If you enter an 
  143. illegal variable, it will be changed into the legal one. 
  144.  
  145. The following are allowed in functions:
  146.     Addition: This is denoted by a plus sign [+] between the quantities to be 
  147.               added. 
  148.     Subtraction: This is denoted by a minus sign [-] between the two involved 
  149.                  quantities 
  150.     Multiplication: This is denoted by an astrisk [*] between the two values to 
  151.                     be multiplied.  This asterisk may be omitted unless two 
  152.                     numbers are being multiplied. 
  153.     Division:  Denoted by a slash [/] between the involved numbers. 
  154.     Exponentiation (Y to the X): This is denoted by the caret symbol [^] 
  155.                                  between the involved numbers 
  156.     Roots: This is denoted by a backslash [displayed as a root symbol] between 
  157.            the involved numbers. [3\x is the cube root of x] 
  158.     The Sine function: This is denoted by an S in front of the quanitity to be 
  159.                        sined. 
  160.     The Cosine function:  This is denoted by a C        
  161.     The Tangent function:  This is denoted by a T
  162.     Hyperbolic functions are entered by hitting H after S, C, or T.
  163.     Arc functions:  The Arcsine,  Arccosine, arctangent, Arc hyperbolic sine, 
  164.                     arc hyperbolic cosine, and arc hyperbolic tangent functions 
  165.                     can be obtained by pressing A before an S, C, or T. 
  166.     The Log [base 10] function:  This is denoted by an L
  167.     The Natural log function:  This is denoted by an N
  168.     The absolute Value function is denoted by the letter V (think Value)
  169.     The greatest Integer function by the letter I (only permitted in Cartesian 
  170.                                   and polar functions) 
  171.     User defined function: This function is entered by hitting F, and can be 
  172.                            set to any combination of the above (sorry, no 
  173.                            recursive functions are allowed), and referred to 
  174.                            whenever a function is requested.  Press Ctrl-F to 
  175.                            change the user function.  It defaults to f(x)=x. 
  176.     Gamma function: Press G to get this function.  The gamma function is the 
  177.                     factorial function for real numbers. If x is a non-negative 
  178.                     integer, gamma(x+1)=x! 
  179.     Bessel functions: The bessel functions of the first and second kinds with 
  180.                       positive integer orders from 0-49 are supported.  Press 
  181.                       B, followed by J for the first kind, or Y for the second 
  182.                       kind.  Then type the order.  Follow the order with the 
  183.                       argument in parenthesis.  
  184.     Derivative: The derivative operator.  Press D, and follow it with a 
  185.                 function in parenthesis.  Underflow error precludes nesting 
  186.                 derivatives more than three times. 
  187.           
  188.  
  189.     The following constants are currently supported:
  190.           Pi-This is denoted by the letter P.
  191.           e -This is denoted by the letter E.
  192.  
  193.     The following are provided to facilitate function entry:
  194.                 F2 = ^2      Alt/Ctrl/Shift F2 = 2√      [ = (
  195.                 F3 = ^3      Alt/Ctrl/Shift F3 = 3√      ] = )
  196.                 F4 = ^4      Alt/Ctrl/Shift F4 = 4√     F1 = ^
  197.  
  198.     These operations are given the following precedence:
  199.                        F,G,Bessel : Evaluated 1st, right to left
  200.  ^, implicit * not before SCTLNIV : Evaluated 2nd, right to left
  201.                     S,C,T,L,N,I,V : Evaluated 4rd, right to left
  202.          imlicit * before SCTLNIV : Evaluated 4th, left to right
  203.                                 \ : Evaluated 5th, right to left
  204.                      explicit *,/ : Evaluated 5th, left to right
  205.                               + - : Evaluated last, left to right
  206.  
  207. The \ function is evaluated with different precedence levels on each side to 
  208. obtain meaningful interaction with the SCTLNIV functions.  Example: 
  209. Sin 2 \ Sin 3.  This is evaluated as sin (2 \ sin 3).  
  210.                     
  211. This complicated precedence system is designed to mimic standard algebraic 
  212. notation as closely as possible.  When in doubt, use parenthesis.  If no 
  213. parenthesis are used, the functions such as Sin and Cos extend until a *, /, + 
  214. ,-, or another similar function.  A root \ extends to the right until a *, /, 
  215. +, or -. A ^ extends to the right until a Sin or Cos, unless that function is 
  216. the first symbol after the ^.  Division continues to the right until a *, +, -, 
  217. or another /.  
  218.                
  219. Examples:
  220.  
  221.   Sin 2x            = Sin (2x)
  222.   Sin x^2           = Sin (x^2)
  223.   2x^2x^2x          = 2*(x^(2*(x^(2x))))
  224.   Fx^2              = (F(x))^2
  225.   Sin 2x+3          = Sin(2*x) + 3
  226.   Sin 2x*x          = Sin(2*x) * x
  227.   Sin x Cos x       = Sin(x)*Cos(x)
  228.   Sin 2\Sin x Cos x = Sin(2\(sin(x)*cos(x)))
  229.   2\3\4             = 2\(3\4)
  230.   2^2Sin x          = (2^2)*sin(x)
  231.   9/16x^2           = 9/(16*(x^2))
  232.  
  233. The plus or minus operator is also supported.  Press Alt -, or Alt = to get a 
  234. + or - symbol.  You may include as many as you like in your functions, but it 
  235. is not permitted in parametrics. 
  236.  
  237. There are four function entry modes:  Cartesian/Polar mode, Parametric mode, 
  238. Lame (with an accent on the e) mode, and Quad mode.  Cartesian/Polar mode is 
  239. the default.  If you wish to switch to a mode, you must press the appropriate 
  240. key. 
  241.                                                 
  242.                                Cartesian : Alt-C
  243.                                Parametric: Alt-P
  244.                                Lame'     : Alt-L
  245.                                Quad      : Alt-Q
  246.  
  247. If you wish to enter a Cartesian or polar equation, you just type it in.  
  248. Cartesian inequalities are supported.  Enter y>f(x), y<f(x), x>f(y) or x<f(y) 
  249. to plot inequalities.
  250.                                                  
  251. If you wish to enter a curve defined parametrically, enter Parametric mode by 
  252. pressing Alt-P.  You must now enter the X function.  All of the variable keys 
  253. will produce a t.  Once the X function is complete, press enter and key in the 
  254. Y function. 
  255.  
  256. If you wish to plot a Lame' function, press Alt-L.  Now you must enter the 
  257. appropriate constants (a,n,b, and m in that order) to fit the following: 
  258.                                      n        m
  259.                                 | x |  + | y |
  260.                                 |---|  - |---| =1
  261.                                 | a |    | b |
  262. Once you have entered a and n, the cursor will be placed on a plus sign. Press 
  263. enter to accept the plus sign, or press a minus sign to change it.  To back up 
  264. you may hit left when the cursor is already on the left of the field. You may 
  265. press return to keep defaults. 
  266.  
  267.     
  268. Quad mode is used to plot equations which fits the pattern:
  269.  
  270.    4 4    3 4    2 4     4    4    4 3    3 3    2 3     3    3    4 2    3 2
  271.  ax y + bx y + cx y + dxy + ey + fx y + gx y + hx y + ixy + jy + kx y + lx y +
  272.  
  273.    2 2     2    2    4      3      2                 4    3    2
  274.  mx y + nxy + oy + px y + qx y + rx y + sxy + ty + ux + vx + wx  + zx + C = 0
  275.  
  276. where the letters a-w, z, and C are constant coefficients.  These equations are 
  277. entered by pressing Alt-Q.  The cursor, normally a solid block, will now have a 
  278. Q in is. (Note that the cursor will always be a solid block unless it is at the 
  279. end of the function) You may enter any legal quad.  Do not enter the "=0" at 
  280. the end. You must use F2-F4 to enter the superscripts.  The standard ^ 
  281. character is illegal after variables when in Quad mode.  If you wish, you may 
  282.                                           2
  283. enter expressions such as (e^2Tan 17/2pi)x y, and these will be treated 
  284. properly.  However, the variables MUST be at the end. 
  285.  
  286. Note: It is possible to enter functions such as Theta=Tan r, and the result is 
  287. QUITE fascinating.  However, this results in a total loss of significance.  It 
  288. is not possible for an ANGLE to be infinite, so unless one is merely searching 
  289. for pretty graphs, functions that limit to infinity on the plot interval should 
  290. not be entered. 
  291.  
  292. If you use the up and down arrows to scroll through functions of different 
  293. types than the current mode, the mode will be changed to match the new function 
  294. except in the case of parametrics.  If you are in parametric mode, you will 
  295. stay in parametric mode even if you scroll to a function of a different type.  
  296. These other functions will be adjusted to fit parametric mode.  If you are not 
  297. in parametric mode and scroll to a function which is, you will be placed in 
  298. cartesian mode.  Note that if you are in parametric mode and attempt to scroll 
  299. to a Lame', you will stay in parametric mode, and a null function will be 
  300. provided instead of the Lame', and that any occurences of the Gint function in 
  301. the new expression will be deleted (since the Gint function is not permited in 
  302. parametrics). 
  303.  
  304.  
  305. Differential equations.
  306.  
  307.     To specify a differential equation of the form y'=f(x,y), start by typing 
  308. y' and then continue the function.  The boundary conditions are displayed in 
  309. the form (x,y) and default to (0,0).  To change them, press Tab.  
  310.     To specify a differential equation of the form y"=f(x,y,y') start by typing 
  311. y" and then continue the function.  The initial conditions are displayed in the 
  312. form (x,y,y') and default to (0,0,0).  Again, change them by pressing Tab.
  313. If you wish to solve a second order equation for y' press Alt-1.  A y' will 
  314. appear below the function.  If you wish to plot y", then press Alt-2.  A y" 
  315. will appear below the function.  Press Alt-0 to return to the standard mode 
  316. where y is solved for. 
  317.       
  318.  
  319. Entering constants.
  320.  
  321.      Whenever  you  need  to enter a constant,  you may use all the operations 
  322. allowed in function input.  Variables are not  allowed.  It  is  necessary  to 
  323. enter constants when changing the window size, plot interval, stepsize, and in 
  324. Lame' functions.  When entering a Lame', window size, or plot interval, 
  325. pressing left  arrow  when  on  the  first character of the number will move 
  326. you to the previous number. (So if you meant to enter -4 for the start of a 
  327. plot interval but accidentally entered -5,  you could press left arrow and fix 
  328. it.) Pressing the  space  bar  at  any time invokes the pop up calculator.  You 
  329. may enter an expression and have it evaluated for you.  (If you enter 1/0  or  
  330. 10000^10000, you  will be rewarded by "ERROR.") Press any key and enter another 
  331. expression.  Finally, press enter on a blank line, or ESC to exit. 
  332.                      
  333.  
  334. Displaying of numbers
  335.         
  336.      PLOTTER attempts to display numbers with a floating point, showing all 
  337. digits.  When this is not possible, PLOTTER reverts to scientific notation, 
  338. separating the two parts of a number with a space.  For example, "-4 22" means 
  339. -4*10^22.  When displaying the coordinates of the cross hairs, a number will 
  340. sometimes wrap around from the first line to the second.
  341.  
  342.                    
  343. Changing the plotting parameters
  344.  
  345.     Ctrl-R, at any time, resets all plotting parameters to the default. 
  346. However, if you wish to change these parameters to values other than the 
  347. default, the pop up options residing on the control keys must be used. 
  348.     To change the stepsize, press Ctrl-S and then enter the desired number of 
  349. steps.  If asymtotes were not plotted properly, or the greatest integer 
  350. function was not properly dealt with, increasing the number of steps should 
  351. solve the problem.  If the status box is not visible when Ctrl-S is pressed, it 
  352. will be displayed.  To change the window, press Ctrl-W.  You must now enter a 
  353. new domain and range.  You may use either the comma or the enter key to 
  354. separate the numbers or you may press ESC to return to where you left off.  If 
  355. you wish to go backwards, press the left arrow, and you will be permitted to 
  356. edit values you have already entered.  Note that these changes will not take 
  357. effect as soon as they are entered.  If you change the window while plotting is 
  358. already in progress, the changes will be reflected on the NEXT plot.  If you 
  359. change the stepsize, then the change will manifest on the next function 
  360. plotted.  
  361.  
  362.  
  363. Graphics
  364.  
  365.     If you wish to force CGA mode or VGA mode (overriding the autodetection), 
  366. invoke plotter with the desired mode as a parameter.  "PLOTTER cga" will run 
  367. in CGA mode even if a VGA is detected.  (This saves you 65k of RAM!).  
  368. "PLOTTER vga" will run in VGA mode even though you don't seem to have a VGA.    
  369.     If the default colors prove unsatisfactory, press Ctrl-C to rotate through 
  370. the 16 foreground colors.  If you have an EGA, press Ctrl-B to rotate through 
  371. the 16 background colors. 
  372.  
  373.  
  374. Help
  375.  
  376.     Press Ctrl-H to display a short summary of commands.  Press any of the keys 
  377. listed to obtain further information.  Press Ctrl-H again to see the original 
  378. display, or press return to exit the help.
  379.  
  380.  
  381. Error!
  382.  
  383.      Errors are unfortunately, unavoidable.  This program tries to minimize all 
  384. errors, and use convenient error handling.  However, the language I am using 
  385. does not allow decent handling of mathematical overflows.  Should an overflow 
  386. occur, an error window will open at the lower left corner of the screen and an 
  387. error message will be displayed.  You may then press a key to return to the 
  388. main screen.  Should another critical error occur, the same error box will open 
  389. and you may press a key to abort to DOS. 
  390.      When entering functions, error messages are displayed on the line where 
  391. the function was.  If, in Quad mode you enter a variable expression which is 
  392. not allowed, you will get an Illegal Variables Error.  If you enter an illegal 
  393. coefficient as in (1/0)xy then you will get a Bad Coefficient Error.  
  394.      If an error occurs when you are entering a number, then the same error box 
  395. will open, and complain about the problem.  You will be asked to press a key, 
  396. and then reenter the number.  This error will occur when you enter something 
  397. that is not a number, or when you enter an unacceptable number. 
  398.      The underflow error is yet another problem.  Unfortunately, I have no way 
  399. to detect underflow errors.  They will be evident in obviously incorrect 
  400.                          2 2
  401. graphs.  One example is x y -y+1=0.  Plot this on the normal interval and the 
  402. lower section of the graph is smooth.  Now zoom in.  Somehow, (0,0) gets into 
  403. the graph, even though it doesn't work in the equation [1=0?].  One technique 
  404. which can be effective in eliminating these errors is to increase or change the 
  405. stepsize. 
  406.  
  407.  
  408.  
  409.  
  410.                         Long and Tedious Version History
  411.  
  412. 1.00   Original version
  413. 1.10   Error checking for numerical input added
  414.        The bug with non-integer exponents was corrected
  415.        The print screen to Okidata was added
  416.        Functions can now be specified in terms of Y
  417. 1.40   The option to enter expressions for all numerical input was added
  418.        The option to plot multiple functions
  419.        The option to plot Lame' functions
  420.        Critical error handling routines added
  421.        The constants pi and e are suported
  422.        The status window is now updated when the space bar is pressed only if 
  423.           scroll lock is in the right state
  424.        The version number is now prominently displayed to avoid confusion
  425. 1.55   The status box now displays the correct value for the Y-Max
  426.        The area for the status box is no longer erased after a function plot
  427.           leaving the funny looking blank space
  428.        The corners of the plot window are displayed at the edge of the window
  429.        Functions involving e^x and a^-.5 and a^.5 will be plotted faster
  430.        When you type S, C, O, N, A, or G the full name will be displayed
  431.        Pressing the keypad keys while entering an expression no longer causes
  432.           the expression to be replaced by a single letter
  433.        If the plotting interval exceeds the windowsize, only the visible part 
  434.           will be plotted
  435. 2.00   Polar coordinates are now supported
  436.        Parametric definition is now supported
  437.        When entering expressions, illegal characters will have no effect
  438.        Sinh and Cosh and Tan are now supported
  439.        The program now will make a small beep when done plotting
  440. 2.10   The multiple function option works correctly now
  441.        You can now enter polar coordinate functions in form r=f(Theta)
  442.        ESC now exits function entering windows
  443. 3.00   Subtraction and unary negation now work properly
  444.        The plotting routine was speeded up
  445.        The 7 function buffer (obtained with the up arrow) was added
  446.        The Cross hairs to locate specific points after a plot were added
  447.        Cursor added on input
  448.        Some cosmetic improvement was made in status box
  449.        Input routines wouldn't accept some legal characters in previous versions
  450.        The Okidata screen dump was greatly speeded up and improved
  451. 3.20   A bug in parametric plotting was removed
  452.        The problem with the cross hairs was fixed
  453.        The problem with the previous function buffer was removed.
  454.        The entering of consecutive operations in functions was made illegal
  455.        The handling of function errors was improved
  456.        Error handling added for Lame' function
  457. 4.00   There is no constant plotting interval
  458.        The plot one function selection was removed
  459.        The interval may be explictly specified for each function
  460.        Function keys 1 through 5 were defined 
  461.        The []'`O and R keys were defined to simplify function entry
  462.        ESC no longer terminates.  X does instead.
  463.        Ctrl Home resets default window and stepsize values.
  464.        The main menu and function plotting submenu were switched
  465.        The Lame' function has been expanded
  466.        The rescale option was added
  467.        The status box now defaults to on 
  468. 5.00   When )- occurs in expressions it is handled properly
  469.        Up and down scaling added
  470.        Full screen editing for functions
  471.        Pop up calculator added
  472.        Infinite intervals, and entering infinity
  473.        Implied multiplication with parenthesis
  474.        The bug which occured when the stepsize was set to a number of steps 
  475.           fixed
  476.        Tanh function added
  477.        All types of functions can be mixed
  478.        The treatment of the crosshairs at the edge of the window was fixed
  479.        A same size replot was added
  480.        Implied multiplication added in front of unary functions
  481.        The intervals for functions Theta=f(r) are now clipped
  482.        Pop up stepsize adjustment 
  483.        Pop up window adjustment
  484.        All menus removed
  485.        Ctrl-X exits instead of X
  486.        It is no longer possible to specify a specific stepsize
  487.        Titles and numbers are printed with full sized lettering
  488.        The quickline facility was added
  489.        The status box was moved and is no longer optional
  490.        Ctrl-R instead of Ctrl-Home resets window and stepsize values
  491.        The extra "it" was removed from the error message
  492.        The version number was changed to 5.00
  493.        Alt-X no longer enters a - 
  494.        Interval manipulation allowed for parametrics
  495.        ESC was fixed to work properly 
  496.        Interval notation is used for inputing and displaying the window
  497.        A dot is used for *
  498.        It is no longer permitted to enter functions terminationg in an 
  499.           operation
  500.        The unary + was added
  501.        Quads were added
  502.        Exponents are displayed properly
  503.        Alt-C clears all functions
  504. 5.05   Arcsin, Arccos, and Arctan functions added
  505.        Some bugs with roots display were fixed
  506.        Alt-L no longer enters supercript 2 when in Lame' mode
  507.        Popping calculator up during function entry no longer switches out of 
  508.           Quad and parametric modes
  509.        Some bugs with interpreting Quad coefficients were removed
  510.        New error messages added for Quads
  511.        Memory use adjusted so that COMMAND.COM is no longer reloaded
  512.        Numbers are displayed differently
  513.        The default window was changed
  514.        Ctrl-R doesn't reset stepsize
  515. 5.10   Alt-O doesn't exit the program anymore
  516.        Alt-E doesn't function as Ctrl-R
  517.        Alt-I doesn't call up window alter
  518.        Alt-R doesn't change step size
  519.        F3 doesn't produce = anymore
  520.        The Arc in Arc functions is entered first
  521.        Problem with parametric toggling fixed
  522.        Binary operations after ( are no longer permitted
  523.        The display of powers was changed and is now more reliable
  524.        The calculator catches errors
  525.        An overflow error no longer results in an abort to DOS
  526. 5.20   Functions are plotted as much as 30% faster
  527.        Help screen added
  528.        The Grid and hatch marks added
  529.        Return can now be used to replot a region being inclosed with insert
  530.        Lines that contain illegal expressions are now plotted correctly
  531.        ESC must now be used to exit the Parametric, Lame', and Quad modes
  532.        You can no longer invoke Parametric mode when on the last line
  533.        The bug with Lame' and the function stack has been fixed
  534.        You can no longer get ambiguous parametric intervals
  535.        The cross hairs work properly when the range and domain are less than 
  536.           one and (0,0) is not included
  537.        When a function error occurs, the function is redisplayed so you may 
  538.           backspace instead of retyping the entire function
  539.        Typing functions like X= is no longer permitted
  540. 5.30   Precedence of evaluation changed
  541.        Roots are now entered in the standard order
  542.        Gint can no longer be specified in Parametric or Polar graphs
  543.        Some negative roots of negative numbers were improperly evaluated
  544.        A - can now directly preceed a unary operator (-Sin X)
  545.        Display of functions fixed
  546.        The bug which caused undefined functions such as ln and log to produce 
  547.           an overflow error was corrected.
  548.        Ins, End, Left and Right Arrow, Del, Home, End, and Ctrl-End support
  549.           added.
  550.        The bug which caused the help screen to be corrupted if it was invoked 
  551.           for the second time after an error was fixed.
  552.        Several bugs with input routines fixed
  553.        Improved checking for illegal characters in input
  554.        Lame' functions are cropped to specified interval
  555. 5.40   Quad mode expanded to include cubes and fourth powers
  556.        ArcSinh, ArcCosh, and ArcTanh functions added
  557.        A bug used to let you get three cursors on the screen at once
  558.        Bug occuring when combined length of functions exceeded 80 characters 
  559.           fixed                                      
  560.        Bug occuring when a Quad started with Y is fixed
  561.        Expressions such as X^2X^3 are now plotted properly
  562.        If you recall a Quad with up or down arrow while in Parametric mode, the 
  563.           superscripts will be converted to work properly in non-Quad modes.
  564.        Gint can't be included in Parametrics by up or down arrow
  565.        Arc functions were displayed with a space after the arc
  566.        Bug occuring when a Quad was of certain lengths is fixed
  567.        Decimal point before non-numerals made illegal
  568.        Extra occurences " or " when blank functions are plotted is fixed
  569.        The bug causing the last function to be placed on the stack twice if 
  570.           eight functions were entered was fixed
  571.        The F2-F4 keys will produce superscripts after X and Y in Quad mode
  572.        Ctrl-Left and Ctrl-Right changed to PgUp and PgDn respectively
  573.        The downscale (Ctrl-PgDn) will now scale below the interval [-1,1]
  574.        Enter will close any outstanding parentheses and beep rather than 
  575.           producing the "Function error" message
  576.        If you attempt to terminate a function with an operator the computer 
  577.           will beep rather than producing the "Function error" message
  578.        If you attempt to close more parenthesis than you have opened, the 
  579.           computer will beep            
  580.        ESC clears the current function when in cartesian mode
  581.        Comma can be used to separate numbers when entering intervals
  582.        The user defined function was added
  583.        The Ctrl-K color toggle was added
  584. 6.00   Alt-N clears all functions
  585.        Alt-C selects cartesian mode from any other mode
  586.        Help extended
  587.        ESC clears the current line
  588.        PgUp and PgDn are cyclic
  589.        F1 set to ^
  590.        Parametrics are surrounded by angle brackets on the display
  591.        The grid is now xored onto the function and can be removed
  592.        Added +/- operation
  593.        Added +/- option in Lame'
  594.        Changed Tab to Backtab 
  595.        Intervals can be change from from within Lame'
  596.        Lame' now plots correct graph for n<0 and m<0
  597.        Differential equations of the form y'=f(x,y) can be solved
  598.        Differential equations of the form y"=f(x,y,y') with initial conditions 
  599.           can be solved
  600.        Derivative operator added
  601.        Various I/O bugs fixed
  602.        Precedences of operations changed
  603.        Loosened restrictions on operations in functions.  
  604.        Added gamma function               
  605.        Added bessel functions of the first and second kinds
  606.        Greatest integer added to polar graphs
  607.        Added cartesian inequalities
  608.        Ctrl-End to rescale around cross-hairs
  609. 6.10   Alt-B Backup command added
  610.        Fixed bug with quads and 4th powers
  611.        Added support for VGA
  612.  
  613.  
  614.