Library Data toggler for the HP49G/HP49G+

Some games and even some built-in commands create files which appear as Library Data in the stack and are unreadable with normal means. The small tool LDAT~ toggles it with its readable content. In the general case, this is a list in SysRPL which is completely readable only if library extable is on board. The general structure of a Library Data object  is { bint data } where bint is a system binary, the library ID of the library to which the Library Data belongs to, and a data tail, a collection of data used by some commands of this library as long as the Library Data file exist.

It is best to explain this by an example. Assume the equation library EQL+ is on your 49 or 49+. If you press SOLV on the Mass-Spring system in Oscillations, a special menu for multi-equation solving is set, and if VAR is hit you see in the current directory among other new variables also the reserved Mpar. This is a Library Data object. Put it on the stack and press LDAT~ on it. You now see a list whose head is the bint 228d (in DEC mode). This means that the tail of this list contains data for library 228, the internal multi-equation solver library. The data tail contains besides the 3 equations of the Mass-Spring system also the list of all variables occurring in the equations. If LDat~  is pressed again on this list, Library Data reappears on the stack (and inside Mpar) and is in fact the original object provided nothing else has been modified.

Actually, a modification is possible only at the SysRPL level. For instance, you may change the default title "EQ" in solving a self-made equation system with EQL+ SOLV from the NUM.SLV browser on RS [7] as follows: Open Mpar with LDAT~, explode it with 3tog from OT49+ and replace "EQ" by your title. Then apply 3tog again for rebuilding, and LDAT~ for turning it into the required Library Data.

Wolfgang Rautenberg
raut@math.fu-berlin.de    www.math.fu-berlin.de/usr/raut