Ext v1.11 for HP49G

Author : Yoann Désir
e-mail : yoanndesir@yahoo.com
URLs : http://ydesir.multimania.com/hp48gx/english.html
           http://hp49g.multimania.com/english.html

For that EXT for HP49G, I took some features of the now well-known library n°256, and put them into EXT, simply because I was used to the EXT for HP48 names for such tools.

->EXT : Converts a list of adresses into a sys-RPL program.
System binaries are represented by a real number or an integer in the list.
Binary integers are tagged with en empty tag in the list.

EXT-> : reciprocate operation for ->EXT.

->ADR : same as ->A, give the stack level 1 object adress.

ADR-> : puts on stack level 1 the object which adress is on level 1, under the form of a binary integer.

->Str : converts any object into its content, coded nibble by nibble, in a string.

Str-> : reciprocate of ->Str.

R->S : converts reals into system binaries.

S->R : converts system binaries into reals .

<--> : breaks any composed object (program, list, expression, unit object)

-><- : makes a program with n objects on stack levels 2 to n+1 and the real number n on stack level 1.

B->S : converts binary integers into system binaries.

S->B : converts system binaries into binary integers.

->XL : creates the b-th XLIB name of the a-th library, where a is a real number from stack level 2 and b a real number from stack level 1.

XL-> : breaks an XLIB name into its library number, left on level 2, and its XLIB number, left on stack level 1.

RCXL : ReCalls a XLib name present on stack level 1. It (should) also work with the two numbers (lib and XLIB numbers) of the XLIB as two real number stack entries.

PEEK : displays a string containing the memory nibbles from #a to #a+b where #a and #b are binary integers from stack level 2 (#a) and 1 (#b).

POKE : writes the string from level 1 (containing nibbles, I mean characters with 0-9 and A-F) to the ROM adress from level 2, which is supposed to be a binary integer.

SEARC : searches for n occurences of the string put on stack level 2, from adress #a to adress #b. #a and #b are two binary integers, from stack level 4 and 3, and 'n' is a real number from stack level 1.

INVI : (works only in HOME's subdirectories) hides a global name or a list of global names present on stack level 1 in the current directory.

VISI : (works only in HOME's subdirectories) makes a global name or a list of global names visible in the current directory.

TVIS : (works only in HOME's subdirectories) makes all variables of the current directory visible.

PG : Universal Purge. Erases any directory variable, library with a tagged object, or a real number (and of course an integer).

->ID : converts any string into a global name.

SV : Saves the current directory into the user flash ROM. Doesn't works with HOME.

FIXT : takes a string with a " HPHP49-C... " prefix and converts it into an object.

CREATE : Performs FIXT on the content of the first variable of the HOME directory. Presents the advantage not to need as much memory that the object takes itself.

NEW : copies an object from ROM to RAM and makes it a temporary object.

REPLA : replaces some elements with some other in the composed object from stack level 3. An element or a list of elements to be replaced must be present on stack level 2, and an other element or list of elements to replace with must be present on stack level 1.

RCFP : (ReCall Flash Pointer) Recalls the content of the Flash Pointer object from stack level 1.

OUTIN : Gets the OUT and IN codes of the key you press.

L->DIR : Uncompiles the library number n, with n assumed to be a real number or an integer at stack level 1.

Menu501 : stores in the home variable 'CST' a list of the EXT entries.
You can access it with [Left Shift] then [MODE].

That's all, folks !