Post Reply 
Help in choosing a new calculator
10-12-2016, 02:41 PM
Post: #26
RE: Help in choosing a new calculator
Hello,

the solver from the MLP does this.
[Image: mlp_solver1_germanw6s0w.jpg]

Pressing [VIEW] ( = [ZEIGE] in the German version ) also shows the fields content.
[Image: mlp_solver2_german70s3u.jpg]

These are the (most important) choices for the solver.
[Image: mlp_solver3_englishy7sxx.jpg]

HTH,
Andreas



Here is the readme for the solver.
--------------------------------

These are the differences to the built-in GUI-Solver:

0. For speed reasons the library should be stored in Port 0.

1. Only the current directory is searched for 'EQ'.

2. 'EQ' may contain a single equation (Example: 'A+B=C'). If the equation contains built-in constants they will be filtered out.

3. 'EQ' may contain a list which contains the equation (Example: { 'A+B=C' }). If the equation contains built-in constants they will be filtered out.

4. 'EQ' may contain a list which contains the equation and a string that will be used as the title of the input form (Example: { 'A+B=C' "optional title string" }). If the equation contains built-in constants they will be filtered out and the string will be used for the title of the input form.

5. 'EQ' may contain a list which contains the equation and the list of variables that will be shown (Example: { 'A+B=C' { B C } }). The embedded list of the variables will be used for what will be shown by the GUI-Solver.

6. 'EQ' may contain a list which contains the equation and the list of variables that will be shown and a string that will be used as the title of the input form (Example: { 'A+B=C' { B C } "optional title string" }). The embedded list of the variables will be used for what will be shown by the GUI-Solver and the string will be used for the title of the input form.

7. If a list of variables is used to specify the variables no recursive search is done on them. Only the content of each variable is checked and if it is invalid a blank field is displayed. If no list of variables is used to specify the variables than a recursive search will be done on the variables of the equation and if a variable is invalid a blank field is displayed.

8. If a list of variables is used to specify the variables but it is an empty list ( { } ) or contains invalid arguments (only global names are allowed) than built-in constants are not filtered out and a recursive search will be done for the variables of the equation.

9. If 'EQ' contains something else (or does not exist) the standard behavior of the GUI-Solver is executed.

10. If 'EQ' contains the arguments described above then the cursor is placed into the second field so that you are ready to start entering data without moving the cursor.

11. Multiple arguments are allowed on the command line, so you may enter more than one value for rapid data input and the fields are filled with the values. (Example: Press 1 2 3 [ENTER] to fill the fields with 1 then 2 then 3 assuming that an equation with three variables is stored in 'EQ').

12. The softmenu key [PURGE] will delete the variables created by the GUI-Solver and thus allowing a "clean" exit from the GUI-Solver. Additionally all shown variables are reset to zero but attached units are respected.

13. Support for the whole screen of the HP 49G+ / HP 50G.

14. Right arrow executes the selected entry in the reset choose box.

15. If a field contains a unit this is preserved when new data is entered. To get rid of a unit one has to use the "Delete value" function of the reset function. Except when in the Equation Field this function is also mapped to [right shift] [CLEAR]. ToDo: Add checks if this may be supported in a later ROM update.

16. The following keys may be used to maximize the fields and labels shown on the display:
HardKey [EVAL] - evaluates right side of the first equation if a command line is not present and if the cursor is not in the Equation Field
Hardkey [SYMB] - toggle EquationField ( UserFlag 72 ) if a command line is not present and if the cursor is not in the Equation Field
Hardkey [ <- ] - toggle Title ( UserFlag 71 ) if a command line is not present and if the cursor is not in the Equation Field
HardKey [ X ] - toggle ExtraLine ( UserFlag 73 ) if a command line is not present and if the cursor is not in the Equation Field
Hardkey [+/- ] - pops up a choose box to change between the built-in fonts if a command line is not present and if the cursor is not in the Equation Field
Note: this affects the current calculator settings and will change them.

17. Re-mapped hardkeys are only available if the cursor is *not* in the Equation Field and if a command line is *not* present.

18. The fields are shown in the current font or in the minifont depending on system flag -73. If user flag 73 is set the space of the help line will be used for the form.

19. UserFlag 74 controls whether numbers are shown in standard format or if the display settings are respected. If user flag 74 is clear then numbers are shown in standard format. If user flag 74 is set then numbers are shown according to the display settings.

20. If the font is changed while GUISLV is already running (through the [MODE] screen or the [HALT] environment, for example) the variables of the current page will not be saved and the form will restart with the first page shown.

21. If the help line is changed while GUISLV is already running the variables of the current page will not be saved and the form will restart with the first page shown.

22. Changes to the variables can not be made inside the solver through the variable input form. If you want to change the variables, you have to do this through the list of the variables submitted with the equation.

23. Everything time critical is done in Saturn ML and the most important routines are stored in the reserved RAM between GROBSCR2 and SystemFont. As a note to Saturn ML programmers, this means that you can not use DBUG / DBUG.TOUCHE while GUISLV is running as this overwrites the memory area of GROBSCR5.

24. The overclock feature on a HP 49G+ / HP 50G has been removed as this is already faster than the built-in ROM code.

25. Fixes the display bug if small integers ( -1E12 < ) or large integers ( > 1E12 ) are entered or are the result of a solution.

26. GUISLV should work in Algebraic Mode, however always RPN mode is used while an Editline is active but the field content is displayed in algebraic style. The command line must be handled in RPN because algparse tries to multiply the arguments with each other if there is more than one argument on the command line at command line validation and thus the rapid data entry would not work in Algebraic Mode.

27. The software should be bug free and has been tested (on ROM Version 2.09/2.15). However, using this software you agree that you are doing this entirely on your own risk and that I shall not be liable for any errors or for incidental or consequential damages in connection with the furnishing, performance, or use of this software. The software is provided "as is". I'm making no warranty of any kind with regard to this software, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. (Of course you know the usual disclaimer from the User's manual :-)


************************


GUIMES

0. For speed reasons the library should be stored in Port 0.

1. Only the current directory is searched for 'EQ' and 'Mpar'.

2. 'EQ' may contain a set of equations that can be processed by MINIT which creates 'Mpar' in the current directory. An "optional title string" and an optional { list of variables } may be stored in 'Mpar' through MITM. If necessary, consult your HP documentation about MINIT and MITM.

3. 'EQ' may contain a list which contains the equations (Example: { 'A+B=C' 'D+E=F' }). If the equations contains built-in constants they will be filtered out. If the equations in 'Mpar' differ from the ones in 'EQ' then the equations in 'Mpar' will be overwritten with the ones of 'EQ'.

4. 'EQ' may contain a list which contains the equations and a string that will be used as the title of the input form (Example: { 'A+B=C' 'D+E=F' "optional title string" }). If the equations contains built-in constants they will be filtered out and the string will be used for the title of the input form. If an "optional title string" is used then this one will be used instead of an "optional title string" stored in 'Mpar'.

5. 'EQ' may contain a list which contains the equations and the list of variables that will be shown (Example: { 'A+B=C' 'D+E=F' { B C E F } }). The list must contain only the variables that occur in the equations. You may shorten this list in case you have a user defined value for a variable all the time. In this case it is assumed that the variable exist and the variable will be treated as user defined. The embedded list of the variables will be used for what will be shown by the GUI-Solver. If a { list of variables } is used then this one will be used instead of the { list of variables } in 'Mpar'.

6. 'EQ' may contain a list which contains the equations and the list of variables that will be shown and a string that will be used as the title of the input form (Example: { 'A+B=C' 'D+E=F' { B C E F } "optional title string" }). The embedded list of the variables will be used for what will be shown by the GUI-Solver and the string will be used for the title of the input form. If an "optional title string" and a { list of variables } is used then this ones will be used instead of an "optional title string" and a { list of variables } in 'Mpar'.

7. [VIEW ] Shows content of the current field.

8. [ ALL ] Solves for all unknown variables.
Hardkey [APPS] - solves for all unknown variables
Hardkey [MODE] - undefine all variables
Hardkey [TOOL] - progress catalog

9. [MSOLV] Solves for current unknown, if necessary solving is also done for additional variables.

10. [MUSER] Sets states to user-defined for variable. Also mapped to the hardkey [VAR].

11. [MCALC] Sets states to *not* user-defined for variable. Also mapped to the hardkey [STO].

12. Status changes are done in-place to the 'Mpar' in the current directory.

13. Re-mapped hardkeys are only available if the cursor is *not* in the Equation Field and if a command line is *not* present.

14. For using MINIT and/or MITM and/or the MES consult your HP manual.


************************


Note: The localized versions need the corresponding Language Pack to show the messages localized.


************************

ToDo: optimize code.
ToDo: ensure ROM independency.
ToDo: Changing between GUISLV <-> GUIMES through a key ?

http://www.software49g.gmxhome.de
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: Help in choosing a new calculator - Software49g - 10-12-2016 02:41 PM



User(s) browsing this thread: 4 Guest(s)