A619 === Subject: Re: Complete RPL object type table The coast looks clear (but perhaps JYA can give you the best info). In original HP48, no prologs were located below PRLG=028FC, so any that are now below this are for newer object types. The prologs and names for 48 series are listed as (all these symbols remain valid in 49/50 series) 028FC PRLG 02911 DOBINT 02933 DOREAL 02955 DOEREL (Long Real) 02977 DOCMP (Complex) 0299D DOECMP (Long Complex) 029BF DOCHAR 029E8 DOARRY 02A0A DOLNKARRY 02A2C DOCSTR 02A4E DOHXS 02A74 DOLIST 02A96 DORRP 02AB8 DOSYMB 02ADA DOEXT (Unit) 02AFC DOTAG 02B1E DOGROB 02B40 DOLIB 02B62 DOBAK 02B88 DOEXT0 (Library Data) 02BAA DOACPTR 02BCC DOEXT2 (now Font) 02BEE DOEXT3 (apparently still unused in 49/50) 02C10 DOEXT4 (apparently still unused in 49/50) 02D9D DOCOL (Program) 02DCC DOCODE 02E48 DOIDNT 02E92 DOROMP What's new in 49/50 series (but missing above); note that even the basic \extable\ contains these symbols: 02614 DOINT (Integer, a/k/a type 28) 0263A DOLNGREAL (*not* the \long\ real above!) 02660 DOLNGCMP (*not* the \long\ complex above!) 02686 DOMATRIX (symbolic matrix, a/k/a type 29) 026AC DOFLASHP (\type\ still returns 27) 026D5 DOAPLET (not used in 49/50 series) 026FE DOMINIFONT (\type\ still returns 27) Are some of the above (e.g. DOAPLET) found only in 39G etc.? (its prolog appears to go to address 00000 in 49/50) DOLNGREAL and DOLNCMP prologs, as seen by Nosy, are just the same as for other objects which are simply put on the stack when encountered in runstream: D=D-1 A HST=00 GOC xxxxx D1-5 DAT1=A A A=DAT0 A D0+5 PC=(A) Has anyone an idea of object structure for these, and what dispatch code, if any, they might match? (if none, then they are objects which can not be acted upon by HP49/50 series, although they can just sit there and bask in the sun :) === Subject: Re: Complete RPL object type table Natively, yes, but the 49/50 *can* have Aplet objects on the stack and stored in variables, and they are correctly identified as such. The 49/50 can't *run* them, though. Although HP allocated 20 bits for the DIGITS setting, they never implemented any code to deal with longfloats. The \LongFloat\ library limits the DIGITS setting to 9999 (same as Mika's original longfloat library for the HP-48), and uses its own internal format for the longfloat numbers, which is these nibbles in this order: A3620 - object header nnnnn - length of mantissa and its sign + 5 ddddddd....ddddddddd - mantissa digits (as many as DIGITS specifies) s - mantissa sign (0=pos, 9=neg) nnnnn - length of exponent and its sign + 5 xxx...xxx - exponent e - exponent sign (0=pos, 9=neg) Example: pi with DIGITS set to 10 is shown as 3141592654.E-9 and internally is: A3620 010004562951413 0 70000 9 9 -1/3 with DIGITS set to 18 is shown as -333333333333333333.E-18 and internally is: A3620 81000 333333333333333333 9 80000 81 9 Finally, 2E8/3 with DIGITS set to 5 is shown as 66666.E3 and internally is: A3620 B0000 76666 0 70000 3 0 Whether or not this internal format is what HP would have used (had they implemented longfloats), I do not know. It's a good scheme, though, since it allows the mantissa AND exponent to be of variable length. An oddity of this format is that the \mantissa\ is NOT a number between 1 and 10, as HP mantissas usually are; it's instead always an INTEGER, with the exponent doing all the work of placing the \decimal point\ in the right place. Only 0 (the \any object\ code). Although the DISPATCH words cannot identify longfloats, you can always do a simple CK1 followed by an explicit type check. That's how the LongFloat library handles 'em, I'd guess. -Joe- === Subject: Re: Complete RPL object type table I forgot to mention that these type checks are supported in the HP49/50: TYPELNGREAL? and DUPTYPELNGREAL? TYPELNGCMP? and DUPTYPELNGCMP? Also, you asked about the dispatch type of flashpointers. There isn't any, but there ARE these supported type checks: TYPEFLASHPTR? and DUPTYPEFLASHPTR? TYPEAPLET? and DUPTYPEAPLET? are even available, though they're probably unused by anybody in HP49/50 programs. -Joe- === Subject: Re: Complete RPL object type table Hmm.. there's no more room in ROM, but it's got extra stuff for non-use. Just let Raymond loose on it; it will come back smaller and faster (or else with all that stuff finished :) === Subject: Re: Complete RPL object type table 02BEE prologue is used for assembly unit using by MASD. They are link C object, allowing to be linked to other MASD objects, code is compiled but it still contains symbolic references to labels etc.. Exactly like a .o in C. 02C10 is unused as far as I know JY === Subject: Re: Complete RPL object type table How about the result of the TYPE command? Dispatch code for SysRPL? Description from HP49 series message table? What do \gets them right\ and \everything else misidentifies\ mean? Note that some of the lines refer to objects that I didn't know to exist in HP48/49/50 series: EREAL, ECPLX, EXTER, AUNIT, EXT1[?] Where can you find the object structure for those types? I use this program for displaying an HP48/49/50 series object's type description, using the internal messages: And this program for displaying SysRPL object dispatch codes (this is simply a text message for display; by the way, does FPTR have a dispatch code of its own?): \\<< \ Object Dispatch Type Codes 2 C% 8 ::; E UNIT 5F L[] BF ACP 3 $ 9 ALG 0F ROMP 6F CHR CF FON 4 [] A SYC 1F # 7F COD DF MFO 5 {} B HXS 2F RRP 8F LIB EF EX4 === Subject: Re: Complete RPL object type table The names that Conn4x calls them are correct; they are, in fact, EXT3 and EXT4 objects. Everything else (in context meaning the filer, MASD, and User RPL) calls them something that they in fact are not (see the table). The internal structures for all object types has been written up over the years by HP (HP-71 IDS), Derek Nickel (Voyager), Rick Grevelle, and other intrepid hackers. WHERE can these documents be found in ONE PLACE now? Heh heh! That's why I made that table! It's NOT all in one place! It's found in quickly-evaporating puddles in the footprints left by the giants of yore. ;-) Actually, a Google search of this newsgroup is an amazingly fertile source of goodies like these. It's like a wine-tasting party, while blindfolded, while floating in a swimming pool: For every taste of Good Stuff, you must endure the taste of a lot of lukewarm bathwater shared by hundreds of others. :-b No. Your dispatch table is complete. -Joe- === Subject: Re: Getting STARTUP to run On Fri, 18 May 2007 07:13:40 -0500: Perhaps you didn't keep the calc OFF (and avoid hitting ON) while replacing them, or took too much time to replace, and/or coin cell needs replacing too? Normally, turning ON does not execute STARTUP, and manually turning OFF does not execute STARTOFF, either. Yes, if you store your display program in STARTOFF (be sure to insert an OFF command at the beginning of that program), *and* (to be effective on manual OFF, as well as timed power off) make a user key assignment (including \TakeOver\) of that program to the OFF key (101.3), and of course finish STARTUP by calling STARTOFF :) Your program should also leave the stack unaltered after execution, so that it will not interfere with whatever is suspended when turning OFF. Another way is to run a program manually when you want to turn off, which first turns off and then displays your name when turned back on; I use such a program, which uses INPUT to present long, scrollable information, including my address, email, phone number, reward, etc., and ends by saying \Press ENTER when done\ (which then turns back off). I also put that inside an endless IFERR loop which simply turns back off and then repeats when turned back on; the only way to break out of that loop from within INPUT is to press CANCEL *once* and then type a short \password\ which is then returned by INPUT as its result, which then tells the program to stop looping. Of course, ON+C will also break out of this, but my STARTUP ends by calling it again, so most people who might find the calculator will just get the repeating display loop forever (if I remembered to start the program before putting the calc away :) === Subject: Re: Getting STARTUP to run Could you post the program here. I lost my 49 and would have liked to have had that running on it. === Subject: Re: Getting STARTUP to run [about a program to display owner info repeatedly, until a \password\ is entered] Below. If the program is also called at the end of STARTUP, then ON+C will also return to it -- you can also HALT it (TOOL NXT NXT HALT), then use the calc, then CONTinue it (note that KILL also just continues it). To enter the password, press CANCEL *once* (which clears the entire buffer being edited by INPUT), then type the password, then press ENTER. but since there's no STARTUP in old 48 series, resumption upon ON+C is not as easily arranged. %%HP: T(3); @ Header for ascii file transfer only \\<< -55 CF DO IFERR IFERR { 1 } + \\ SWAP INPUT \I belong to: Alfred E Neuman 4000 Warner Blvd. Burbank CA 91522 Scroll \\|^\\|v for more \\|v Email: aeneuman@dccomics.con Toll free phone: 1-800-555-8355 \\|v Reward for return: Absolutely free, autographed photo of me. Press ENTER when done \ 'Owner' STO @ End of transferable file === Subject: Re: 48gx love affair You're not trying very hard. I found dozens of them within two seconds. http://www.amazon.com/gp/product/B00004TFKZ/?tag=unmatprice-20 http://cgi.ebay.com/HP-48GX-CALCULATOR-HP-48-GX-CALCULATRICE-HP48GX_W0QQitem\ Z180119304710QQihZ008QQcategoryZ58039QQssPageNameZWDVWQQrdZ1QQcmdZViewItem === Subject: Re: 48gx love affair format=flowed; reply-type=original I don't understand. Why to buy an older calculator less powerful and a lot more expensive? At the same price you can buy two 50g. Perhaps a 48 can be useful if you need to run older software that isn't available to the newer machines but I think it is more a collector item now. MS === Subject: Re: 48gx love affair It's because some of us don't like the 50G. I don't think HP's made any good calculators since the 48GX; that's why I've bought four of them (three of them were second-hand units from eBay) over the last decade. Also, I really like the fact that HP didn't get a dime of the money from the sales of the used units. -- \[CapitalThorn]\.bes ofereode, \[CapitalYAcute]isses swa m\.beg. (\That \ passed away, this also can.\) from \Deor,\ in the Exeter Book (folios 100r-100v) === Subject: Re: 48gx love affair The best one is a 48SX with double clock rate. :-) Ups, you win. I have only three SX. (At home, at work, one spare part) Of course! Olaf === Subject: Re: 48gx love affair format=flowed; reply-type=original I understand that HP-50g is not of the same quality of my HP-34C (for example) and that the enter key is small and in the wrong place but the power of 48 is ridicolous compared to 50g. The display is worst, too. My collector side is fascinated from the 48 but the user side found a lot more \ useful the 50g. Anyway... it is a love affairs! MS === Subject: Re: 48gx love affair The keyboard layout alone is enough reason to rule out the 50g. Unless you're doing symbolic math, the 48sx/gx is faster than you can key. === Subject: Re: 48gx love affair format=flowed; reply-type=original But the speed is important if you run programs, too! I own a 48SX (and a 28S) and I found the 50g far more superior. You get used at the keyboard layout (but I admit that the first 30 minutes are about pure panic) and, as \ already told, with the price of a 48g you can buy 2 (two) 50g. Or a 50g and \ a 33s and save money. Or you can buy a 50g and a TI-89 Titanium to prepare for a new world without HP! ;-) BTW I don't sell my 28S and 48SX because I'm in love with them. But I use the 50g. === Subject: Re: 48gx love affair I use a 48GX every day and it has plenty of power for me. There's nothing I need a calculator to do that it can't do. Unlike a lot of people, I'm not constantly looking for something \better;\ I'm content to find something \good enough\ and stop looking for anything else. It would be silly for me to accept the drawbacks of a 50G in order to get \power\ I don't want or need. (Of course, I don't use a \bare\ 48. It has Meta-Kernel, Erable and Alg48 installed, along with lots of other stuff.) -- \[CapitalThorn]\.bes ofereode, \[CapitalYAcute]isses swa m\.beg. (\That \ passed away, this also can.\) from \Deor,\ in the Exeter Book (folios 100r-100v) === Subject: Solving EQ.Lib Using units I'm using an HP50g (rom v.92) and I'm trying to solve the EQ.Lib using RPN mode (flag 117 is set as it should) WITH UNITS. When trying to solve any variable I get the \Bad Guess(es)\ message. I've been trying to find how to solve this but I couldn't. Using this with Algebraic mode works fine and dissabling units too. Thanx a lot. === Subject: Re: Debug4x, Demo and missing entries ? It works ... === Subject: Autoscale Function? I have a HP-48GX and I want to make a program to draw phasor diagrams. I am \ using the line command to accomplish this and so far it works fine. But when I enter in values larger than a the window everything becomes messed up. Anyways, does anyone know how to autoscale a window so that all of the phasors will fit in the same window? Any help would be appreciated. === Subject: Re: Autoscale Function? IIRC, only points that fall within the current (or default) dimensions of PICT & PPAR are set, cleared, or toggled. AFAIK, \autoscale\ is automated only for built-in plot types, not for low-level LINE commands, so determining the extremes of your coordinates and dimensioning to fit (without scrolling?) is then up to you. If you collect a list or array of your points, before drawing any lines, you can then find the MIN and MAX of X and Y coordinates, and set your graph ranges accordingly. Or if you have a fixed range to use all the time, then set it first, before starting to draw lines. === Subject: Re: Bye bye 49g+! Hello 50g! Massimo, How long had you owned your 49G+? I have a 49G+; after about 6 months I could tell that two keys were starting to get \soft,\, so I called HP. They said since the keys still worked that they would not replace the calculator, but they made a note of it for future reference. Last week, about 2.5 years into its life, the ENTER key came loose (but still usable). I called HP and a 'supervisor' told me that if it had been less than 2 years since purchase (which I couldn't remember at the time, I looked it up later), they would replace the calculator. Anyway, I appear to be out of luck. I wish I had used it more and made it break sooner! Just curious about your experience. Tom Dickens On Thu, 17 May 2007 19:35:23 +0200, \Massimo Santin \\(at GMail\\)\ === Subject: Re: Bye bye 49g+! Hello 50g! My first \Spice\ series calc (HP-31E through HP-38C) had the horrible, short-life keyboard. I kept fixing it myself, past the one year warranty, then I sent it to HP for service, expecting to be charged a \repair\ fee, but pointing out that it was still working (just), with my own repairs. I was very pleasantly surprised when it came back, not only with an all-new *long* life keyboard (still good, more than 20 years later), but with no charge, accompanied by a letter saying that HP had recognized the defective design, re-designed the keyboards, and extended the courtesy of free replacement to all original keyboards sent in for repair. Thus encouraged, I went out and bought another \Spice\ calc (on \closeout sale,\ cheaper than ordering a spare AC adaptor from HP for my original calc :) That calc had the same, original keyboard type, pre-destined by genetic defects to have a life cut short, so I operated it for a few weeks, then returned it to HP, announcing that the keyboard had failed. Well, it was with certainty *going* to fail, so why wait? (look what happened to Dave's buddy after putting back an antenna that was only going to fail anyway, once HAL9000 had pre-determined its demise :) If anyone has a still in-warranty 49G+ with old type keyboard (assume from the above that the warranty is now voluntarily extended by HP to two years), I would ring up HP post-haste, and tell them that a broken keyboard is on the way. HP 49G+ keyboard answers [by Eric] Is my HP49G+ from a \good\ batch?? (asked by Thomas Dickens!) This Good was once Bad and Ugly: http://www.hpmuseum.org/tech30.htm [Spice series] Dave and HAL (don't miss this!) http://www.kubrick2001.com === Subject: Re: Bye bye 49g+! Hello 50g! format=flowed; reply-type=original Only 3 months! It was the last item in the stock of an electronics distributor. The keyboard begin to give some errors during use. It wasn't a continuos but \ a \statistic\ behaviour. I note it especially after long usage. By the way \ I bought a 50g for my company and this hasn't the same behaviuor. I called the \ support number and I explained the problem. I told him that I upgraded the operative system, that I played with KEYTIME parameter, that with the 50g I \ don't have problems, etc. The guy (very nice and polite) ask me for the serial number (CNA5... old series with keyboard problems). After few seconds \ he told me that they will send me an 50g (without cables, CD or manuals) in \ substitution and that I need to returns the 49g+ using a envelope that cames \ with the substitution calc. I received the 50g (S/N CNA7...) last week and I \ will return the 49g+ tomorrow morning. Probably they have a S/N database of \bad\ calculators because the \ proposal of substition cames few seconds after I told them the S/N. MS === Subject: Re: Bye bye 49g+! Hello 50g! I know for a fact that the 49g+ had two single little plastic connectors. I haven't yet had a reason to pull apart a 50, but shining a flashlight down the key it appears that there are now 3 plastic arms. I could be wrong though. When in doubt, just add more! :-) TW === Subject: Vista x64 drivers for HP50g? When the x64 drivers will come out?