LIB ID 1115 5 MAR 1996 ----- xMRGLIB ----- v4.20 S/SX/G/GX USER DEFINED EQUATION LIBRARY BROUGHT TO YOU BY: xMRG EMAIL: mgood@lonestar.utsa.edu DUTIES OF USERS This program is POSTCARD WARE. Use of this program is authorized for those that take the small amount of time and money to send me a postcard from their neck of the woods or side of the earth. Send POSTCARDS to: Merrill R. Good 7517 Mountain Oak San Antonio, Texas, USA 78233 For bug reports etc... just email me and I'll fan throught the mounds of postcards and respond if yours is found :). Just kidding, if problems arise please let me know as soon as possible. If contacting me please include you machine type S/SX/G/GX and version so I can note compatibility. Out of curiosity let me know where you are from i.e. country, province/state, it will impress my wife ( show her it was worth it ). Man the Net is big :). GENERAL INFO The current version has been tested on G/GX calculators only. However, I am almost certain that S/SX users will have no difficulty. This version of xMRGLIB uses a somewhat memory expensive display routine. I have written another display routine that allows for both small and medium font with little memory consumption but will not have the time to integrate it for quite some time. A suggestion would be to make several small equation sets out of long ones. Typically, equation sets are small but for things such as integral tables the number of equations may become enormous. Note: xMRGLIB accesses the following ROMPTRS for the G/GX: these romptrs are executed only once depending on machine type. The s/sx series uses the command DoSolvrMenu to solve multiple and single equations. (G/GX) ROMPTR AB 70 MINIT used in the multiple equation solver. (G/GX) ROMPTR AB 24 MSOLVR the multiple equation solver. Note: The [PICT] functions currently overwrites GBUFF ( picture environment ) and will erase any contents therein. All other displays are contained to ABUFF. If there are major complications or desperatly needed functions I will do my best to produce the needed additions or corrections during my off school/work time but school must come first, it costs money and defines the rest of my life :). THANKS TO: Mika Heiskanen ( aka. fin ) for JAZZ which has allowed me to enjoy the world of sysrpl on my small machine and his many utilities such as VV, ED, AGROB, and BZ which can be accessed by this program. Andy Cheung for his patience during hacking sessions. He was a major help during the brainstorming process. Al Arduengo ( aka. exal ) for his assistance and testing not to mention his excelent spread sheet :). ADVERTISEMENT: check out exal the HP48 spread sheet. those on the IRC and their wealth of information. Thanks guys. INSTRUCTIONS ^^^^^^^^^^^^^^^^ A NOTE FOR PREVIOUS USERS: A new volume structure is being used. The program called XV42.PRG will convert volumes from xMRGLIB v1.5x to the new volume structure used in v4.20. If the object to be converted is an invalid volume an error of "CONVERSION FAILED" is generated. This indicates that there is an error in the structure of the volume that was to be converted. stack diagram for XV42.PRG: ( {old volume} --> {new volume} ) CONVERSION PROCESS: 1: load XV42.PRG into your calculator. 2: Recall the contents of an old volume to the stack 3: Run XV42.PRG 4: Restore the resulting list into its appropriate name. I. USER VOLUME STRUCTURE AND REQUIREMENTS: The volumes to be accessed must exist in the current directory when running [xMRGLIB] otherwise an INPUTLINE will be displayed indicating that no volumes were found. Entering a name and pressing [OK] or [ENTER] will create a new volume and enter the xMRGLIB display. 1. Volume names: ALL volume names must fit this format: *.VOL where you can replace the * with anything. However, the .VOL extension is a must. It is the .VOL that indicates that the object stored under that name is a valid volume. This means that it is ill advised to store ony other objects/programs that have .VOL as a part of their name unless they are indeed objects that fit the described volume structure. Note: xMRGLIB will allow illeagle names. 2. Actual volume structure: This information is not necessary to use this program but is included for the curious at heart and for those who wish to create volumes outside of xMRGLIB. Example volumes are included in this package and each volume is stored in its own variable name. I keep all my volumes under one directory allowing access to all my user defined vols. GENERAL OVERALL VOLUME STRUCTURE: { { "EQ NAME 1" { "`EQ11'"..."`EQ1n'"} { "VAR11"..."VAR1n"} grob/"" } . . . { "EQ NAME n" { "`EQn1'"..."`EQnn'"} { "VARn1"..."VARnn"} grob/"" } } Each volume is a list of lists. The inner lists contain four objects each and are intended to have the following structure: GENERAL STRUCTURE OF INNER LISTS: { A B C D } A. Equation titles: A string ($) containing the name of that particular equation. B. Equations/Programs: This is a list containing one or more equations programs, and or IDs in "string form". C. Variable descriptions: A list of strings that give a description of the variables for the particular equation set. D. Grobs: Either a null string ("") or a grob. II. BZ, ED, VV, AGROB, and HPPaint SUPPORT: xMRGLIB will auto detect these programs and allow for their use. COMMANDS PROGRAM DEFINITE LOCATION HPP HPPAINT http://www.hut.fi/~mheiskan/ AGROB EQSTK http://www.hut.fi/~mheiskan/ BZ BZv1.2 http://www.hut.fi/~mheiskan/ VV -\ --> JAZZ http://www.hut.fi/~mheiskan/ ED -/ III. KEYS: 1. Keyboard: NO SHIFT [ENTER] Advances into the highlighted selection. Same as [-->]. [ --> ] Advances into the highlighted selection. Same as [ENTER]. Note: the following is the action of the [ENTER] and [ --> ] keys while in the specified screen. EQUATION SCREEN: If the highlighted object is an equation and both VV and AGROB exist they are used to display the equation ( see keys [1],[2],[3] ). If either VV or AGROB do not exist then the internal equation editor is used to display the equation. Any changes will not be saved. VARIABLE SCREEN: If ED exists the variable description is viewed using ED. If ED does not exist nothing happens. [ +/- ] Select currently highlighted object. Places an arrow on the left hand side of selected element and marks the object for an action. [ <-- ] LEFT ARROW KEY. Retreats to the previous display. [ /\ ] (up arraow) Scroll cursor up. [ \/ ] (down arrow) Scroll cursor down. [ VAR ] Displays the current equations variable descriptions. [ DEL ] Delete the highlighted selection or currently selected objects. Note: this will delete and clear any selected elements. [ <<==] BACK SPACE KEY. FIND any occurance of a sub-string. This will search the current display list for any occurance of the input string and mark the parent objects. The marked objects can then be sent to the stack or solver. Usefull for integral tables, Laplace tables, etc ... Note: this will clear any previously selected elements. [ 1 ] Selects AGROB display size of one. [ 2 ] Selects AGROB display size of two. [ 3 ] Selects AGROB display size of three. LEFT SHIFT [ +/- ] Select all objects RIGHT SHIFT [ +/- ] Un-selects all objects [ UP ] Jumps to the top of the display. [ DN ] jumps to the bottom ot the display. 2. Menu Keys: A. Screen One: VOLUMES SCREEN [ +VOL ] Adds a new volume to the current directory. You will be asked to enter the name of the new volume. NOTE: the name must include the string .VOL. Illeagle variable names are allowed. [ ->BZ ] this is a dynamic menu key. If the highlighted volume is NOT BZ compressed then the menu label is [ ->BZ ] and if pressed the volume will be BZ compressed. If the volume is compressed then the label is [ BZ-> ] pressing the key will uncompress the current volume. [ INFO ] Displays the version number, my email address, and the address to send your postcard. [ ] not assigned yet. Thus does nothing. [ ORDER] Orders the volumes in the selected order. [ QUIT ] compltely exits the program. B. Other screens: EQ NAMES, VARIABLES, EQUATIONS [SOLVE ] press this key to exit the program and enter the solving environment. Note: When in the equation name screen the entire list of associated equations are sent to the solver and exits xMRGLIB landing in the solver. When viewing the equation screen the highlighted: 1. equation is sent to the solver. 2. program will be executed. and exits xMRGLIB. UNLESS there are selected equations. If equations have been selected the selected equations are sent to the MES or DoSolvrMenu. [ EDIT ] Simply place the cursor on the element to be edited and press the [EDIT] menu key. The element selected is placed in an input line for changes pressing attn twice aborts edit. See about BZ and saving edited volumes. [LS]+[ EDIT ] if ED exists then the selection is edited using ED. [+NEW ] Insert new equation name, equation, or variable description. Puts the user in an input line environment. Pressing enter saves new object pressing on twice aborts adding procedure. Note: this will clear any selected elements. [ PICT ] Displays the picture associated with the current equation uses VV if it exists else uses HPPaint if it exists else uses xPICTURE. If no picture is associated with the current equation name then an option to create a picture is offered. Again, HPPaint will be used if exists otherwise xPICTURE is used. An option to save changes will be offered any time HPPaint or xPICTURE is used. [LS]+[ PICT ] edits/creates a grob. Note: 131x64 grobs are the only size grobs currently saved. If you desire to have smaller grobs within your volumes you must insert them into their proper position manually. I understand that this in a inconvienence and may change it later. [->STK ] Sends the currently selected object or marked objects to the stack. Note: Do not panic when exiting the program after sending an object to the stack as there may be a long delay in the display update depending on the size of the equation, string, or program that was sent. [ ORDER ] Orders the selected elements in the order they were selected. The first selection is placed at the head of the list ( top of screen ). That's all that comes to mind for now. Remember to let me know what you think about the program as I am striving for quality. If you use this program please send me a copy of any created volumes so that I can begin to archive them for my use and distribution. I have enjoyed comp.sys.hp48 and #hp48's company for the last couple of years and am glad to have something to offer. I've gotten alot from you all, Thanks! Later-Daze Snail mail POSTCARDS to: EMAIL: mgood@lonestar.utsa.edu Merrill R. Good 7517 Mountain Oak on IRC #hp48 nick San Antonio, Texas USA 78233 TEL: 210-653-5324