home *** CD-ROM | disk | FTP | other *** search
- From: akcs.levenson@hpcvbbs.cv.hp.com (william j. levenson)
- Date: Tue, 17 Nov 1992 01:40:03 GMT
- Subject: Re: Emulating a keypress in sys_RPL???
- Message-ID: <2b08485b.2181.1comp.sys.hp48.1@hpcvbbs.cv.hp.com>
- Path: sparky!uunet!wupost!sdd.hp.com!hp-cv!hp-pcd!hpcvra!rnews!hpcvbbs!akcs.levenson
- Newsgroups: comp.sys.hp48
- References: <1992Nov16.090229.12183@waikato.ac.nz>
- Lines: 55
-
- Hi Conan!
-
- Have you seen the entries lists that were posted by Mika Heiskenan to
- seq.uncwil.edu in the hp48/Uploads directory? These lists contain many
- commented entry, both supported and unsupported (by hP, that is). These
- "entries" lists are a valuable tool for exploring the various
- undocumented sys-RPL commands. For example, entries.3+ (I think this is
- the latest, although I think Mika has made one in entries.a format for
- use with the RPL tools) has the entry at 40828 (PTR 40828) described as:
-
- :: TakeOverGETPORC
- @ get object bound to menu key (key number follows)
-
- The (::) in the above example indicates that the entrie is an RPL
- program and the name (TakeOverGETPROC) was made up by whoever discovered
- this particular entry, I guess. The (@) indicates that the following is
- a comment regarding the function of the address. Many, many entries are
- covered in these lists (Thanks, Mika!) to varying degrees of
- thouroughness. Some are left to you to decipher.
-
- This can be done using the <-RPL-> library for RPL routines and MLDL for
- machine code routines (at least that's how I've been doing it). To use
- the rpl library, let's take PTR 40828 as an example.
-
- 1: "PTR 40828" ->RPL ---> 1: "82840"
-
- where ->RPL is in the <-RPL-> library. "82840" is merely the address of
- the pointer in a string and reversed. So, you can type the string in
- directly if you like. Next,
-
- $-> ---> 1: External External
-
- where $-> is a command in the RPL library. What has just happened is
- that the $-> routine has just put whatever is at the address in the
- string (backwards, that is) on the stack. Now, you can decompile that
- with the RPL-> command to get
-
- 1: " :: TakeOver 'R GETPROC ; "
-
- Now you may have to dig deeper to figure out GETPROC, but that's the fun.
- Eventually, all the commands lead to machine language routines and
- that's another story. But, usually you can figure out what is going on
- before you run into ML. If not, try MLDL for some more fun!
-
- Combining all the above tools, you can learn a lot about this machine and
- how HP programmers think. Keep in mind, I am NOT an expert at this. In
- fact, when I started playing with this stuff about six months ago, I
- didn't even know what machine language was! I am just an ignorant
- aerospace engineer who didn't get enough comp sci in school. But, I have
- learned plenty from this machine. Primarily, I've learned how little I
- know. But I am having fun!
-
- I hope all this helps. Let me know
-
- Bill Levenson
-
-