Item: 111 by _davemarsh at hpcvbbs.UUCP Author: [DAVID J. MARSH] Subj: Library object transfer from ROM Keyw: rom library Date: Mon Sep 17 1990 19:37 Lines: 41 This Program may be used to combine 4 32K ROM cards into 1 128K RAM card, thus enabling all of them to be used at once. Also, you may take sections of code from ROM cards (Individual Library objects) and store them in RAM. The FIN library from the equation card comes to mind... To use the program, simply download it into your 48 in binary mode, recall the library object to the stack, and store it in PORT 0. Turn the calculator off then on, and the library will attach itself. Go to the Library menu and select LIBXT:. Three labeled keys will appear. the first is the copyright and shareware($15) notice. The second is ROM->. When this key is pressed, the user will be prompted for the source port- the default is PORT 2. After entering the port#, the stack display will reappear containing the extracted libraries!. the menu then changes to a selection of options for each library. you may store each of them in ports 1,2, or 0. the SIZE key will show a byte count for each library. The normal stack functions are active at this point, and the unwanted libraries may simply be dropped. A couple of hints- if flag 1 is set during execution, the user will see a binary integer displayed on the screen as the ROM is searched. The calculator will beep each time it finds a library, and a list of those addresses will be stored in a global variable 'ADLST'. This is for the more adventurous who might find these things interesting... if flag 6 is set after the initial execution of the program, it is possible to suppress the input of a source PORT#. The program will simply look at the value of the global 'PORT' variable and use it. this is useful if you know you will always be using PORT 2, for example. The program will abort if it finds that things are not set up as it expects- various error messages are provided. Please, please remember that this program is shareware, and that I would like to recieve at least a small compensation for my efforts... I may be reached at (714)568-5315 in the evenings if there are any questions, comments, etc. Enjoy! Dave Marsh. Two cautions about this program- always be sure to back up your machine before trying out any extracted objects- It always gets them out of ROM correctly, but some of the library objects (notably the HP FIN library from the EQ card) are sensitive to where they reside in RAM- There seems to be no problem when the libraries are used from a RAM card, or when using a merged card with more than 32K of data in your machine. (After 32K, the objects get pushed into the merged card.) Many of the libraries that I have tested this with work just fine in port 0, but just to be sure, be cautious. fair warning- I have a friend whose machine crashed HARD on the finance library in PORT 0. second caution- The HP41 emulator ROM so far WILL NOT WORK when it's extracted into RAM- it is apparently VERY sensitive to address positioning. I'm talking to ZenGrange about it, and expect to have a solution soon... [Dirty Laundry Department: LIBXT was posted on the HP BBS for only a day or two, until HP noticed it, and they immediately purged it and all notes about it, and called Dave to tell him that they don't want software on their board that compromises the security of ROM-developers' code. Ha! They then added injury to insult by anonymously releasing "under the table" a three-SYSEVAL routine (!!!) that instantly recalls a port's contents to the stack, thus making Dave's hard work obsolete. This seems to me to be proof that they are not REALLY concerned with ROM-developers' code security; they merely want to APPEAR concerned. In any case, they probably would never have released this gem of privacy-busting software had Dave not sweated over his library extractor, so we all owe Dave a big "Thanx!" All of the above is my opinion, which in my humility I equate with Truth. You can find the "anonymous" port recaller in the IO2 directory on this disk. -jkh-]