D-7 ==== Specifics: 1.19-6, CAS - rigorous, Simp non-rationals, exact Flags set - 27,56,57,62,72,80,81,90,117 Take the 'fluids' equation below: hf=((3.012*L*V^1.85)/(C^1.85*D^1.165)) Solve for 'V'; and more importantly, you want the resulting expression to look like this - extra paranthese not needed, thanx: V=((.551*hf^.5405*C*D^.6297)/(L^.5405)) Also, I noticed while trying to linearize (LIN) the equation in approximate mode no change occurred. However, when I switch to exact mode and then applied the LIN command, the equation is linearized - of course after asking to switch to approximate. Go figure. ==== The new version of FEM48, version 5.1, can be found at: http://home.hccnet.nl/c.lugtmeier/index2.html (or use the direct link http://home.hccnet.nl/c.lugtmeier/HP48Fil/Fem48/FEM48v51.zip ) The port to the HP49 is still in progress... Caspar See condensed changes below: Will also be available as FEM49, thanks to Alain Robillard * FEM48 module á changed default configuration settings * MOVLD module á moving loads are now possible on all kind of structures (was only on beams) * WIZRD module á added MLCG, MLXG and MLZG commands: generate MLC, MLX and MLZ loads for the global system á updated menugrobs * LCASE module á new load case and combinations module á now you can save loads as load cases and make combinations of load cases á includes updates of FEM48 commands like SAVEFEM2, PGLD2, SCALC2 etc * FEM48 module á added temperature loads option with command MLT á added display of choice position and choice list length to FBROW browser á SCALC now always uses Cholesky solver á added recall state of toggle commands (e.g. now BZÀ sets state and BZ? recalls state) á CHOL command removed á LCAS command added á modified SINFO display á added protection for FBROW for large header strings á removed autocalculation with SPLOT command (when DFORÀ is toggled on) á added recall state of toggle commands * QUERY module á modified NPLT, VPLT, MPLT, UXPLT, RYPLT and UZPLT commands, which make it possible to plot N, V, M, etc lines for more than one member in one plot (handy for continuous beams) á now also scrolling along plotted graphs, with displayed values under plot (trace mode) á removed batchplot facilities á removed QMEM commands, now member provided by user for each command (faster) á improved scaling of constant value plots (now in middle of screen) á improved reaction to ON (cancel) key á added optional tagging of stack results á added recall state of toggle commands * WIZRD module á added Ix to SED48 link (was only choice of Iy and Iz), order is now: Ix Iy Iz, with default position on Iy á bugfix: now Iz selection in SED48 link chooses Iz correctly (was Iy) * PRINT module á all non-integers are now displayed using stack format (e.g. 3 ENG) * MOVLD module á MOVLD command is now available from the FEM menu (Left-Shift SCALC or SCALC2) á now a nullnamed library ==== > ... What I aiming at is extracting the unstable > PTR 1D700 from a stable one. In ROM 19-6, PTR 1D700 > stack (and recalculates by the way UserKeys.CRC) Not sure I understand correctly.. > How about TOTEMPOB ? I'm terribly sorry, my Question was badly stated. Clearly, if a pointer is a program in the normal ROM one can extract from it whatever is wanted. Best I explain the things again on the above example. Put the unsupported but stable PTR 2F3B3 on the stack, the SysRPL counterpart of ASN (called AsnKey in the 48 documents but for mysterious reason named StoUserKeypatch_ by CD in the latest edition of extable). This pointer is itself not a program (as tells as XEQTYPE) but points to flash ROM, precisely to FPTR 1 55A. Its content is essentially JYA's reprogramming of ASN from the ROM which introduced the user shiftholds keys. Fortunately, FPTR 1 55A is definite, i.e., it can completely be extracted by the flashpointer-extractor I got from CdB extra for ROM 19-6 (it is contained in DTYPE from OT49). FPTR 1 55A has the critical PTR 1D700 at the very end of its runstream. But the extractor is a code of 112.5 bytes, too much to be included in a program that makes a singly use of PTR 1D700 only. It corresponds to the 48-pointer PTR 41E32 I mentioned in the thread Switching user keymaps. Since PTR 1D700 will probably move in ROM 19-7, I look for the cheapest way to extract it from another object whose address remains unchanged in ROM 19-7 and which will automatically move all unstable pointer inside. This is all I want at the moment :-) Wolfgang PS1. In the worst case I've to use the content of PTR 1D700 which is long since all pointers inside (quoting the names UserKeys and UserKeys.CRC etc) are unsupported. IMHO, if would have been better if lib 256 contained a FPTR extractor instead of some other dispensable toy :-) ==== I need your help. I use the command CK1&Dispatch to check for an Argument on a stack and then test if it's a char string(with BINT3).Something like this: CK1&Dispatch BINT3 :: foo ; It's working but I get the message XLIB 1389 118 Error: Too few Argument when I don't put anything on the stack. What should I do to get only the message Error: Too few Argument. Why did I get XLIB 1389 118 Error. Dimitri Edem Missoh ==== > I use the command CK1&Dispatch to check for an Argument on a stack and > then test if it's a char string(with BINT3).Something like this: > CK1&Dispatch > BINT3 :: foo ; > It's working but I get the message XLIB 1389 118 Error: Too few > Argument when I don't put anything on the stack. > What should I do to get only the message Error: Too few Argument. Simply write :: CK1NOLASTWD CK&DISPATCH0 BINT3 :: foo ; ; - Wolfgang ==== > I use the command CK1&Dispatch to check for an Argument on a stack and > then test if it's a char string(with BINT3).Something like this: > CK1&Dispatch > BINT3 > :: > foo > ; > It's working but I get the message XLIB 1389 118 Error: Too few > Argument when I don't put anything on the stack. > What should I do to get only the message Error: Too few Argument. > Why did I get XLIB 1389 118 Error. You can either use :: CK1NOLASTWD CK&DISPATCH1 ... ; or :: CK1NoBlame CK&DISPATCH1 ... ; The system remembers the last executed ROMPTR (aka XLIB) with error checking. The name of this ROMPTR appears in the error message. However if the program executed was not part of a library, the ROMPTR is essentially garbage, so you have the two choices above. CK1NOLASTWD will just leave the last rom word untouched, while CK1NoBlame actually clears it. Greetings Thomas -- Thomas Rast If you cannot convince them, confuse them. -- Harry S. Truman ==== The CK1&Dispatch command should only be used for LIBRARY commands. See the previous posts by Wolfgang/Thomas for solution. Caspar Dimitri Missoh schreef in bericht > I need your help. > I use the command CK1&Dispatch to check for an Argument on a stack and > then test if it's a char string(with BINT3).Something like this: > CK1&Dispatch > BINT3 > :: > foo > ; > It's working but I get the message XLIB 1389 118 Error: Too few > Argument when I don't put anything on the stack. > What should I do to get only the message Error: Too few Argument. > Why did I get XLIB 1389 118 Error. > Dimitri Edem Missoh ==== [...] > In the stack syntax, if we enter 'A(n)+2' {A(n) 10} and press |, we > get a Bad Argument Type Error. In algebraic syntax, you are not even > allowed to enter > 'A(n)+2|(A(n)=10)' more than just a variable name) on the left of the = sign. | is not SUBST! > But, enter 'A(n)+2|(A=10), press [->LST], enter 2, enter 'A(n)' and > press [PUT]. Now press [->ALG], Voila! There we have the expression > 'A(n)+2|(A(n)=10)' May I remind you that commands in library 256 are 'hacker tools', and may be used to create invalid objects, though in some cases like this one, the object is handled correctly by the system to a certain degree... > So far so good, but it gets even better! This expression is almost > perfectly editable in the EQW, and yes, you can EXPAND it like any > other algebraic object. That's just luck. > So the question is, why isn't it possible to type that directly in the > EQW? Are there any potential dangers when using such expressions? | is not supposed to accept anything but a symbol as 2nd argument, and the editors try to enforce this rule. Yes, it is potentially dangerous to go around these rules, always backup your memory before using lib256 programs! Solutions: - Use SUBST instead. Yep, it doesn't look as good on the stack. - Extend | to accept any expression. This seems very unlikely to happen... - Remove library 256 to avoid these discussions :-) > Greetings, > Nick. Gerald. ==== > [...] > In the stack syntax, if we enter 'A(n)+2' {A(n) 10} and press |, we > get a Bad Argument Type Error. In algebraic syntax, you are not even > allowed to enter > 'A(n)+2|(A(n)=10)' > (as in: more than just a variable name) on the left of the = sign. | is not > SUBST! Right! > But, enter 'A(n)+2|(A=10), press [->LST], enter 2, enter 'A(n)' and > press [PUT]. Now press [->ALG], Voila! There we have the expression > 'A(n)+2|(A(n)=10)' > May I remind you that commands in library 256 are 'hacker tools', and may be > used to > create invalid objects,... I can't consider lib 256 to be a pure hacker's tool library, since the usage of its commands is simple, straight forward and also very very useful for doing mathematics and solving more problems than the HP49G can solve out of the box. > though in some cases like this one, the object is handled > correctly by the system to a certain degree... To a certain degree you say? That would mean that the system would error out or even crash under certain circumstances when using for example 'A(n)+2|(A(n)=10)'. But I couldn't find a single case of such behavior. Is there any dangerous case? If so, then when? > So far so good, but it gets even better! This expression is almost > perfectly editable in the EQW, and yes, you can EXPAND it like any > other algebraic object. > That's just luck. Luck is with the daring. Anyway, luck or not luck, for me it is secret priviledges for the insiders, while it seems to be possible for any normal user to use them safely. Is there any clear distiction Somehow reminds me of governments, which declare so many things > So the question is, why isn't it possible to type that directly in the > EQW? Are there any potential dangers when using such expressions? > | is not supposed to accept anything but a symbol as 2nd argument, and the > editors try to enforce this rule. Yes, it is potentially dangerous to go > around these rules, always backup your memory before using lib256 programs! You might want to take a look at the marathons and see how often many of the commands of lib 256 are used for solving math problems. I can't see anything exotic or beyond every day life on these commands. Besides, I don't need lib 256 to blow my HP49G. Allowed actions can do that also. And this is an additional reason for using all I can get. If normal actions can already nuke the HP49G, then why shouldn't I use the commands of lib 256 just like any other command? Destructive events will happen one way or the other, so what's the difference? > Solutions: > - Use SUBST instead. Yep, it doesn't look as good on the stack. Not only lookings. | with stack syntax allows making multiple substitutions at once and independendly of each other. Try 'X+Y' { X Y Y 1 } | and see what you get: Y+1. X is substituted by Y, but then this Y is *not* re-substituted by 1, while the Y which was in the algebraic object right from the start *is* substituted by 1. SUBST on the other hand can do only one substitution at a time. Even using 'X+Y' { X=Y Y=1 } 1 << SUBST >> DOSUBS is not the same as it returns 1+1 because any Y in the result of the first substitution will be re-substituted with 1. It is a real pity that each command is strategically crippled so that you can do this but not that with the one command, and can do that but not this with the other. > - Extend | to accept any expression. This seems very unlikely to happen... Unfortunately. > - Remove library 256 to avoid these discussions :-) Noooo, please no! How else will we be able to check if there is a +, or a SIN, or if all arguments of all trigonometric functions in an algebraic object are the same? With OBJ->? That would be a real pain! Ne Parcas Nec Spernas! Greetings, Nick. ==== > (as in: more than just a variable name) on the left of the = sign. | is not > SUBST! So, what is the difference between | and SUBST? Why two different commands? . ==== > (as in: more than just a variable name) on the left of the = sign. | is not > SUBST! So, what is the difference between | and SUBST? Why two different commands? The symbol | is used since more than 100 years in mathematics as follows t(x)|x=0 is to mean the value of the function defined by the algebraic term t(x) which may depend also on other variables. Thus, left to =, only a variable is allowed. On the other hand, SUBST computes the result of substituting a subterm in term by another term. Strange that a sense even misleading) marathons doesn't know this. - Wolfgang ==== > Not only lookings. | with stack syntax allows making multiple > substitutions at once and independendly of each other. Try 'X+Y' { X > Y Y 1 } | and see what you get: Y+1. X is substituted by Y, but then > this Y is *not* re-substituted by 1, while the Y which was in the > algebraic object right from the start *is* substituted by 1. SUBST on > the other hand can do only one substitution at a time. Even using > 'X+Y' > { X=Y Y=1 } > 1 > << SUBST >> > DOSUBS > is not the same as it returns 1+1 because any Y in the result of the > first substitution will be re-substituted with 1. Try 'X+Y' [X=Y' 'Y=1'] SUBST and get 'Y+1' ==== > (as in: more than just a variable name) on the left of the = sign. | is not > SUBST! So, what is the difference between | and SUBST? Why two different commands? The symbol | is used since more than 100 years > in mathematics as follows t(x)|x=0 is to mean > the value of the function defined by the algebraic > term t(x) which may depend also on other variables. > Thus, left to =, only a variable is allowed. On the > other hand, SUBST computes the result of substituting > a subterm in term by another term. Strange that a > sense even misleading) marathons doesn't know this. - Wolfgang OK, but why not combine them if their areas of application overlap? (Results from these systems have to be interpreted anyway...) What's annoying or misleading about the marathons? That's he's doing all this work for a dead calculator? -- ==== > So, what is the difference between | and SUBST? Why two different commands? not yet finished draft. Where did you get it from? The operation WHERE (|) is commented very clear in time at present to comment them but I'll do that probably in the next semester pause. ==== Not only lookings. | with stack syntax allows making multiple > substitutions at once and independendly of each other. Try 'X+Y' { X > Y Y 1 } | and see what you get: Y+1. X is substituted by Y, but then > this Y is *not* re-substituted by 1, while the Y which was in the > algebraic object right from the start *is* substituted by 1. SUBST on > the other hand can do only one substitution at a time. Even using > 'X+Y' > { X=Y Y=1 } > 1 > << SUBST >> > DOSUBS > is not the same as it returns 1+1 because any Y in the result of the > first substitution will be re-substituted with 1. Try > 'X+Y' > [X=Y' 'Y=1'] > SUBST > and get > 'Y+1' Greetings, Nick. ==== > (as in: more than just a variable name) on the left of the = sign. | is not > SUBST! So, what is the difference between | and SUBST? Why two different commands? The symbol | is used since more than 100 years > in mathematics as follows t(x)|x=0 is to mean > the value of the function defined by the algebraic > term t(x) which may depend also on other variables. > Thus, left to =, only a variable is allowed. On the > other hand, SUBST computes the result of substituting > a subterm in term by another term. Strange that a > sense even misleading) marathons doesn't know this. - Wolfgang I am very glad that you had the grace to inform me about the meaning of |. Or else I would still swimm in the dark waters of my own unawareness. Or, spoken in straight forward language: Was Du nicht sagst! On the other hand, I of course *have* to forget about possible constructs like for example t(y(x)|x=0) which sometimes have to be written as t(y(x))|y(x)=y(0), just because my beloved imperator Wolfgang wants me to do so. The informative answers were those of Virgil and of the professor. (And no, Wolfgang, I don't mean you.) I suppose the professor somehow missed the thread and so I quote him here: >SUBST can do multiple substitutions at once indep. but you must >give it an array as 2nd argument (list are interpreted by SUBST >using the standard list processing of the 48/49 when no list >checking is found in the argument checking). >'X+Y' ['X=Y' 'Y=1'] SUBST >returns Y+1 >Unlike |, it works also on matrices, hence it is not an algebraic >operand. It also has some extensions to handle change of variables >(e.g. in an integral or diffeq) What goes to Wolfgang is another story. ;-) Oh, and by the way, all people who found the marathons thoughts and wishes, which are all considered without a single exception. Would you join the crew, Wolfgang? Oh no, imperators never join crews! ;-) Greetings, Nick. ==== (as in: more than just a variable name) on the left of the = sign. | is not > SUBST! So, what is the difference between | and SUBST? Why two different commands? The symbol | is used since more than 100 years > in mathematics as follows t(x)|x=0 is to mean > the value of the function defined by the algebraic > term t(x) which may depend also on other variables. > Thus, left to =, only a variable is allowed. On the > other hand, SUBST computes the result of substituting > a subterm in term by another term. Strange that a > sense even misleading) marathons doesn't know this. - Wolfgang OK, but why not combine them if their areas of application overlap? > (Results from these systems have to be interpreted anyway...) Because else Wolfgang couldn't tell me what | means. And that would be a terrible sin! ;-) > What's annoying or misleading about the marathons? That's he's doing > all this work for a dead calculator? Dead? Oh no! It is perhaps un-dead, zombie, twisted existence, what else you want it to be, but not dead. Yesterday I heard it breathing heavily, haaaaahhh-hhshhhsshh, haaaaahhh-hhshhhsshh, it lives! ;-) But seriously, , dead or not dead, there are too many nice guys (and girls??) out there who do live and use it (or try to ;-)). That's the reason for the marathons. Greetings, Nick. ==== > So, what is the difference between | and SUBST? Why two different commands? not yet finished draft. Where did you get it from? agony awaiting Your comments, which will be immediately put in the golden box of wisdom. What will happen to that box has to do with TNT and Trabakoulas, but this will be a nice secret source for jokes for the future marathons. (Has anybody seen Zorbas? Greeks and their sence of humor! ;-) In deepest (un)respect, Nick. ==== > 1.19-6, of course, and VER 4.20010912 > > That's what mine also says > (and I even think my 1.19-6 was the last 1.19-6 :) > > Was there any 1.19-6 which was laster than the others? > > Greetings, > Nick. I checked mine and it is 4.20001013 and 1.19-5....I THOUGHT that I was > running 1.19-6, but I guess I forgot the latest upgrade... Roger Another side effect of this group, a version update reminder? ;-) Greetings, Nick. ==== > Try my initial flags (just prior to changing to Exact mode): > { #7880010200605FF3h #0 #7555610A216020h #0 } > > Even after storing your flags I still got the right result on the > HP49G, no matter if I EXPANDed or EVALuated. > > VERSION 1.19-6, of course, and VER 4.20010912 > > That's what mine also says > (and I even think my 1.19-6 was the last 1.19-6 :) > > Was there any 1.19-6 which was laster than the others? > My experience: > Use exact mode, you may have to set VX to something different from X I used the sum 'GS(Y=1,10,GS(X=1,10,X^3*Y^3+X^2*Y^2+X*Y))' OK, R STOVX > 1) save a real in X, calculate OK, 45. 'X' STO Calculate sum with EXPAND -> Error Bad Argument Type Calculate sum with EVAL -> Garbage on stack, Error Bad Argument Type > 2) save an integer in X, calculate OK, 45 'X' STO Calculate sum with EXPAND -> Result 2764352250 (wrong) Calculate sum with EVAL -> Result 2764352250 (wrong) I purge X and do the same again: Calculate sum with EXPAND -> Result 9301875 (correct) Calculate sum with EVAL -> Result 9301875 (correct) > compare results ;( I compare and stand astonished. Greetings, Nick. ==== > compare results ;( > > I compare and stand astonished. > > Greetings, > Nick. I glad to know it wasn't just ME....I was beginning to think I couldn't enter a simple expression correctly.... Roger ==== > But this was, after all, a flagship calculator :) LOL! ==== > > compare results ;( > > I compare and stand astonished. > > Greetings, > Nick. I glad to know it wasn't just ME....I was beginning to think I couldn't > enter a simple expression correctly.... Roger Guess what? Me too! Fortunately John found out that we entered it right but our flag -111 was wrong. Errrh, I mean right.., I mean..... Greetings, Nick. ==== Check out www.ebay.com. They usually have lots of them from 30 to 60 some dollars. Good luck Rick > > I'd like to buy an old HP48SX > > If anybody has one, please write me > > ___________________________ > Luca ENEA-SPILIMBERGO > FUJI FinePix S602Zoom > http://www1.photosig.com/viewuser.php?id=26481 > > > ==== > I guess we have to decide how much freedom we're willing to give up > for decency. There are no easy answers. Freedom is (also) the acceptance of some limitations. In other words, try to fly without an airplane ;-) Greetings, Nick. ==== > > I guess we have to decide how much freedom we're willing to give up > for decency. There are no easy answers. > > > Freedom is (also) the acceptance of some limitations. Agreed. The question is how many limitations will we accept. > In other words, try to fly without an airplane ;-) Birds do it. Barry ==== > >> Free to all, unless otherwise stated by the author. >> > >That is incorrect. >No matter how old a piece of software is, the original author always keeps >the copyright on his work... There are limits on the duration of copyright. Disney and others are permanently lobbying for the duration to be extended (is it 90 years or something in the USA now?) A bientot Paul -- Paul Floyd http://paulf.free.fr (for what it's worth) What happens if you have lead in your pants as well as lead in your pencil? ==== > >> Free to all, unless otherwise stated by the author. >> > >That is incorrect. >No matter how old a piece of software is, the original author always keeps >the copyright on his work... There are limits on the duration of copyright. Disney and others are > permanently lobbying for the duration to be extended (is it 90 years or > something in the USA now?) > JYA is still right : do you know of software old enough to have fallen into public domain ? :-) Gerard ==== > It is? If I publish my own works on CDR, I can't sell them on eBay??? If you're the copyright owner of the material, you may publish a CD-R with it on Ebay. This is the only case where it is allowed. ==== > JYA is still right : do you know of software old enough > to have fallen into public domain ? Ah, but old age is not the only way for things to go into the public domain. An author can immediately state Public Domain instead of a copyright, or at some later date relinquish his copyright and move the work into the public domain. There are many such cases, such as all the awesome 3D engines used by the design team of Tomb Raider (the Lara Croft video game). They released all their game-creation tools to the public domain, because they have written a better set and don't use the old tools any more. They *could* have defended their copyright for many more years, but they can't now, since they relinquished it. Once relinquished, it's gone. Wanna write your own Lara Croft game? You can, and it's perfectly legal now, although you might have to rename her Lara Bush or some other non-trademarked name. ;-) -Joe- ==== I recently saw one of my friends studyinng for his history exam, on his TI-83+ silver edition! He downloaded a program were he could type questions on his computer and turn them into virtual study cards. Questions would be on one side and there was a flip command where the answers were on the other side. There was also a key for changing the cards. I was wondering if there was any such program for the 49G and how to make these cards. Thanxs in Advance, CID ==== Has anyone written a full catalog replacement that has help for all calculator commands? Or a way of appending help on to the existing commands that don't have help associated with them? ==== > Has anyone written a full catalog replacement that has help for all calculator > commands? Or a way of appending help on to the existing commands that don't have > help associated with them? are integrated in the CATalog and whether these commands have a HELP option depends solely on the library's author who has the possibility of providing HELPs since ROM 19-6. Only very few 49-libraries make use of this possibility although the library creator in OT49 allows doing it even in UsrRPL. To provide a 1-page HELP text for every builtin command on the HP49 would cost probably 500 Kbytes, too much for our little baby :-) Thus, it is unlikely that a tool you wish will ever exist. - Wolfgang ==== > I am a middle school Algebra I student so pardon my ignorance. How do > u check the rom version of your HP49G? And then how do u upgrade the > rom? Finally how do u solve an inequality on your calculator ( a Thanxs to everyone!! Everything worked out good. Jackie CHan: Hough ha!! (more kung fu kicking) Drunken boxing is the best! (I always use RPN its a lot faster than Algebraic) Thanxs again!!!!! Cid aka Drunken Master ==== > I am a middle school Algebra I student so pardon my ignorance. How do > u check the rom version of your HP49G? And then how do u upgrade the > rom? Finally how do u solve an inequality on your calculator ( a Thanxs to everyone!! Everything worked out good. Of course it did, our Kung Fu is the best ;-) > Jackie CHan: Hough ha!! (more kung fu kicking) Drunken boxing is the best! Ouch, hicks! You hit my nose, hicks! > (I always use RPN its a lot faster than Algebraic) Thanxs again!!!!! You're very welcome. > Cid aka Drunken Master Greetings, hicks! Nick. BTW, perhaps Jackie will never do the breathtaking stunts any more. He is injured so many times that more injuries could put him on the rollchair for ever. Let's hope that everything will go OK. BTWII, did you know that he is one of us? Take a look at http://www.jackiechankids.com/files/Jackie_Jedi_Contest.htm Especially http://www.jackiechankids.com/images/jcyoda.jpeg ;-) ==== Nick, http://www.magpage.com/~jakes/1998/hhc98/saturday/pict0067.jpg The book held by Tanya Brooks is the third edition of Wlodek Mier-Jedrzejowicz' A Guide to HP Handheld Calculators and Computers. The calc on the cover is the first version of the HP-35. HPCC #1046 ==== HAHAHA! Hey Nick, That Yoda one was great! (frosted flakes) A Anyways I was wondering how u could get the 49G to solve a inequality like this 4<2x-4<8 without entering each one (first 4<2x-4 and then 2x-4<8) Cid -Use the force (I really hope that Jackie can still do his stunts!!!) ==== > Nick, http://www.magpage.com/~jakes/1998/hhc98/saturday/pict0067.jpg The book held by Tanya Brooks is the third edition of Wlodek Mier-Jedrzejowicz' > A Guide to HP Handheld Calculators and Computers. The calc on the cover is the first version of the HP-35. > HPCC #1046 ==== > HAHAHA! Hey Nick, That Yoda one was great! (frosted flakes) A Anyways I was wondering how u could get the 49G to solve a inequality > like this 4<2x-4<8 without entering each one (first 4<2x-4 and then > 2x-4<8) > Cid -Use the force (I really hope that Jackie can still do his stunts!!!) I don't know opf any built-in method. In the EQW you can enter 4<2x-4<8 but then you can't solve for x. Perhaps you could enter 4<2x-4<8 and then use the program: << ->LST 1 << IF { < } OVER POS THEN DROP ELSE EVAL END >> DOSUBS 2 << < >> DOSUBS X SOLVE OBJ-> DROP AND >> But this is not a general purpose program, as it will only work for a >> Holy smokes. >> >> Gee, that stuff must be fun to smoke, >> although other folks might get incensed :) > >Ay, there's the rub! >Thus conscience does make cowards of us all; >And thus the native hue of resolution >Is sicklied o'er with the pale cast of thought, >And enterprises of great pith and moment >With this regard their currents turn awry, >And lose the name of action. >Ought thou therefore bow to tact and prudence, >Or... rather, to thine ownself be true? >Methinks the wise decision here is both. > >May this most blessed season be blessed in thee. > >> At last, a little light in the dark shadows of religion :) > > Heh heh! Actually, there are many little lights there, but it seems to >me that most clerics make it their life's work to keep those little lights >well-hidden under bushel baskets. As it were. Doth God exact day labor, light denied? > >-Joe- > ==== > Heh heh! Actually, there are many little lights there, but it seems to >me that most clerics make it their life's work to keep those little lights >well-hidden under bushel baskets. As it were. Doth God exact day labor, light denied? Don't know much about God, but clerics and churches are a completely different story. ...apostels came across the sea they brought us pain and misery... Greetings, Nick. ==== > Doth God exact day labor, light denied? God doth not need either man's work or his own gifts? As every loving parent loves the wilted flower Or crayon scribbling proffered them with joy? -Joe- ==== > > Doth God exact day labor, light denied? > > God doth not need either man's work or his own gifts? > As every loving parent loves the wilted flower > Or crayon scribbling proffered them with joy? > > -Joe- > Oh My God, Rodger and Joe are playing word games in a calculator group will wonders never cease. Shows were we are these days. Uh Huh. Chuck... _________________________________________ Charles I. Dinsmore, PE SE ~ civand@attbi.com ==== Gjalken schrieb im Newsbeitrag > does exist any program that show this to me??? > Normally, it should be mentionned in the documentation... ==== One easier and more illuminating way might be just to buy the 19II manual, and then program the functions into the 48 SX. They«re quite self-explaining, the equations I mean. A second option would be to go for an Business/Financial ROM card for the SX. Anybody know where to find such one? Buy the 19II?? BR Matti I have been using once again my HP48SX lately. I used it quite a lot during > my scientific studies and I intend to use it again during my MBA. I have > therefore a quick question: Does anyone know if there is a collection of the financial and economical > functions available on the HP 19BII that can be used on the HP48SX? I have seen the programs on www.hpcalc.org... The only current solution is > to use the HP 12 emulator, but not on my HP48SX. Anyone with a solution? > Laurent ==== What is Klaatu the software? klaatusoftware.com SETI Agent will allow you to calculate the possibility > of hearing radio transmissions from other worlds. > Contact! Since years, I.... scan the cosmic void but I hear only... the sound of silence (and universal noise ;-)) Greetings, Nick. ==== > Here's a mode that even HP never thought of: > http://www.calculator.org/MediaKitImages/ScreenShot_Roman.jpg I can't view images (George, not a word!), but if that's roman *numerals* then I am afraid they have been thought of the INTERCAL designers before :-) . -- Al. Andreou | http://nemesis.ee.teiath.gr/~ee4299/ | http://hydra.hellug.gr/ Scratch the disks! Drop the core! Roll the tapes across the floor! ==== > I've discovered that the string that INPUT received on level1 > (recall I am referring here to the simple case of INPUT where it > receives two strings on the stack)is concatenated in front of > whatever the user types (during execution) before hitting ENTER. The initial string is what the INPUT command edits; the result is whatever finally remains when editing is concluded. If the cursor was initially positioned at the end of the initial string, and if all you do is type additional characters at that position, then you can call this concatenating, but in general, since you are free to initially position the cursor anywhere you want, to move the cursor around during editing, and to insert or delete any characters anywhere during editing, all we can say is that you can edit as you please, and return any final string you please, which will be the entire final contents of the edit buffer. I suppose an element of confusion can arise because INPUT is a combination of a prompt (the first string, which displays at the top of the screen but isn't edited) and a completely separate, second string, which is what is actually edited: only a prompt edit this string INPUT [r->] [OFF] . ==== Occasionally when I integrate something complicated, I get weird stuff. I tried to integrate... -5/3 * sinx * e^-2x I'm in exact mode (R= , NOT R~) The answer I got on the screen was this... -INT ( (5sin(xtt) / (2exp(xtt)^2) ) , XTT, X advance. Ethan ==== Occasionally when I integrate something complicated, I get weird stuff. I > tried to integrate... -5/3 * sinx * e^-2x I'm in exact mode (R= , NOT R~) The answer I got on the screen was this... -INT ( (5sin(xtt) / (2exp(xtt)^2) ) , XTT, X advance. Ethan Hmm, are you sure you typed it in correctly? The Xtt means it can't do it. My TI-89 can do it... it gives a nice result too... :-) -- ==== > Occasionally when I integrate something complicated, I get weird stuff. I > tried to integrate... -5/3 * sinx * e^-2x I'm in exact mode (R= , NOT R~) The answer I got on the screen was this... -INT ( (5sin(xtt) / (2exp(xtt)^2) ) , XTT, X advance. Ethan Hmm, are you sure you typed it in correctly? The Xtt means it can't do > it. My TI-89 can do it... it gives a nice result too... :-) My 49G returns -((-2/3*SIN(X)+(-1)/3*COS(X))*e^(-2*X)). Could it be again a matter of flags? Greetings, Nick. P.S.: , what do you mean saying nice result? ==== > P.S.: , what do you mean saying nice result? I mean result in a nice-looking closed form, kind of like the one you just gave. -- ==== > I've fooled around with KML a bit in the past, but what I'd really > like (specifically for the small PocketPC screen) is to be able to > have different key labels depending upon your mode. For example, if > you shift to ALPHA mode, the the labels on the keys show only the > alpha letters. When you RIGHT SHIFT, you'd see only those functions on > the keys, and so on. Is there any way to accomplish this using KML? If > so, it would sure make a clean, uncluttered bitmap that would really > be an advantage with so little screen real estate. > No, that isn't possible. The key drawing part can only distinguish between > pressed and released buttons. Christoph I think it may be possible. When you click a shifted key, an annunciator bitmap is shown. I have written KMLs which place the shift annunciators on top of the shift keys themselves. Couldn't you make the annunciator bitmap big enough to overlay the entire keyboard? Each shift annunciator bitmap could be edited to show only the shifted functions. Same goes for alpha mode. ==== If I have a bunch of points(maybe about 10) how do I find the line of best fit for those points on the 49G? Thaxs in Advance, CID ==== -> Stat Fit Data. Enter points as a matrix & solve. Page 9-5 of the manual. > If I have a bunch of points(maybe about 10) how do I find the line of > best fit for those points on the 49G? Thaxs in Advance, > CID -- | Keiran | | http://www.umr.edu/~faucett | ==== subprograms (approx. number of basic lines). At the end of each one I 'goto...'. It probably isn't the best solution, but it works. Zvonko > >BTW, the above problem is not a proviledge of the translation from >basic to UserRPL. Translation is always a hard task. Just try Babble >Fish to see what I mean ;-) > > >Greetings, >Nick. ==== Having played with BASIC since the birth of the fisrt micro computers in the 70's and even before that on mainframe with teletype style terminals I interpret your program like that: If a=o you want to jump to line 30 If not then you want to perform line 20 then, of course, continue with line 30. Why not then simply do the oposite test and do the operation, if feasible, or call a subroutine like the following examples illustrate: Example 1 (with a simple opreration): 10 IF A<>0 THEN C=F+5 30 BLABLABLA Example 2 (with a more complex serie of operations): 10 IF A<>0 THEN GOSUB 1000 30 BLABLABLA ...... ...... 500 END ...... 1000 FOR I=1 TO 100 1010 PRINT I 1020 NEXT I 1030 RETURN This is the kind of BASIC that was used on the Apple II back in 1977 when there was only a BASIC interpreter available. Of course, with a more evolved version of a BASIC compiler, you can name your subroutine and do GOSUB RUT for example. Maybe an IF ... THEN ... ELSE ... structure migth do the job. I am not familiar with user RPL yet, so these are just ideas. Jean (Johnny) Lemire from Montreal. ==== open the battery compartment, take the batteries out and you will see some blue dots. take out the plastic dots with a drill. then, if you have strong hands, you could split open the HP49 with both hands (start from the bottom and slowly). > Good Afternoon Can someone explain how to open a 49g, preferably without a > sledgehammer. Also has anyone ever tried to increase available ram > without frying the insides. Just curious. Stan ==== on the net ,none, that I found. Stan. > >open the battery compartment, take the batteries out and you will see >some blue dots. take out the plastic dots with a drill. then, if you >have strong hands, you could split open the HP49 with both hands >(start from the bottom and slowly). > > >> Good Afternoon >> >> Can someone explain how to open a 49g, preferably without a >> sledgehammer. Also has anyone ever tried to increase available ram >> without frying the insides. >> >> Just curious. >> >> Stan ==== > open the battery compartment, take the batteries out and you will see > some blue dots. take out the plastic dots with a drill. then, if you > have strong hands, you could split open the HP49 with both hands > (start from the bottom and slowly). Actually, you dont need strong hands, it's a twist and pull movement which is needed and is quite easy to do. If you have problems, you can use a philips head screew driver and insert it in the lenght cover rail. This should pull appart the 2 plates without causing any damages. As for increasing ram, this unfortunatly will not help as the software is not design to handle more RAM or Flash... > > Good Afternoon > > Can someone explain how to open a 49g, preferably without a > sledgehammer. Also has anyone ever tried to increase available ram > without frying the insides. > > Just curious. > > Stan ==== hi NK! ... > Does this mean something like recognition of someone's writings, only > that this thime we have patterns of currents of brain activity instaed > of patterns of letters? And about the thousands of sensors, yes. that is a good way to see it (writing recognition). you would also have to digitally filter the signals from noise and other signals so that you don't get false readings. the more sensors there are, the more information you have for a better interpretation. > how could the procedure of connecting them to the brain, be made simple? I > mean, if so many sensors are needed, then someone will need a loong time for > just connecting them. It will not be so easy to just sit at the > computer, turn it on and do something. What can be done here? i don't know. currently, you have to physically attach (with conductive paste or other conductive means) a wire to the point in your head you want to monitor the signal. i think there are some type of helmets that have a few sensors built it, but they probbaly give poorer results since sometimes you have to move the sensor around till you get a good signal. the ultimate sensor would have to be invasive (inside). > A current rumor is that the US goverment is supposed to put some type of > machine with a sensor in airports and monitor the 'general' state of > mind of a person comming in (not to read his/her thought which is > impossible). But this is not as easy as it sounds since we are talking > about microvolts (thoughts) and a physical contact (fpr the sensor) is > required as of today. If currents flow at brain activity, then there is electromagnetic > radiation. Would a super sensitive receiver do the job and free us > from the contacts? the voltage levels at the surface of the head are in the range of microvolts. there are other means of obtaining info other than EEG, like MRI. the price for my EEG is $220 (if you make it yourself, otherwise about $600). the price for MRI i don't know (probably in the millions). > On the other hand, some german guy managed to do > a muscle (not neural) interface a while back. Muscle inteface you say? May I suppose that the sensors see the > muscles contactions? i meant to actually create a contraction in the muscle (not to read) from an external signal. if someone lost a nerve, it is theoretically possible to bypass the nerve. for example, by reading a brain pattern and sending a signal to actuate the muscle. > Anyway, great things will come and I'm happy that I'll presumably have > the luck to see them. But for me the best interface is still pen and > paper, an analogon of which I hope will be also developed in the next > years. (Too scared to connect me to the HP49G. It will pass me its > bugs, and I don't know how my bugs will react when combined with the > new ones ;-)) he he. after all the experiments you/i would try, wouldn't the poor saturn also cry, puff and quit (harakiri)? ;) > Greetings, > Nick. ==== This Vkey gadget is very cool, but again it is usefull while sitting at a desk, table, wathever. In the field it is of less use unless you also get a smoke generator to supply a virtual screen to project the keyboard picture on. In any case, you do not have the tactile feedback of a conventionnal keyboard. It is funny to see how a thread can diverge from the intended subject. In this case it is good since it generates very good ideas. It is a bit like a brain storming session :) Keep the ideas flowing, maybe HP will react and choose the best ones. I also hope that they revert to the really brilliant ones they had in the past and that they dumped because of marketing demand. I repeat myself but there is a large market for sturdy, simple, reliable and powerfull number crunching machines. In fact, the 49G has all that is required plus a lot more. If it was organized to allow fast and efficient access to the basic scientific functions and an easy switch to less frequently used functions, and if it was equipped with a decent keyboard (at least 48 like or better 41CX like), it would be a killer machine. My main needs is to do fast caculations, in the office as well as in the field. If I am able to write a quick program to perform some repetitive task or to automate a serie of actions that is good. For larger programs I will need to sit and think about it. If I need real portability I will write the program on the HP calculator. However, if it implies a lot of number manipulation, searching tables, doing complex graphical stuff, I will do it with Excel or MathCad. For my work, I do not need CAS. But I am happy to have it handy for that rare occasion I migth need it or to play with the machine and improve my math. But, again there are excellent programs on PC that do this job. The only advantage of the HP-49 being the price. Mathematica and the like are somewhat expensive on PC. To conclude, if I was still in school, the 49 would be a very nice machine. But as a practicing engineer, it do not fill the bill. HP has to re-invent the HP-45 or better the 41. It is a good thing these machines were built to last (some will remember the gold plated contacts of the 45 and the imbedded characters labels instead of just surface etching like the 49). Jean Lemire from Montreal. ==== > do you like this? > http://www.virtualdevices.net/Flyer.pdf [a laser-projected virtual keyboard] Nifty idea! It might even work for occasional uses such as in cell phones, but it'd never work for devices that (a) are used in hand, not at a desk; (b) are battery operated, and (c) have constantly-used keyboards. What would the virtual keyboard be projected onto? How long would the batteries last with constant use? How well can the virtual keyboard be seen outside in sunlit areas? Although that brochure makes the tactile feedback look minimal, I guess it could be added by sending a momentary burst of high-powered laser at the appropriate finger. >:-O -Joe- ==== > And about the thousands of sensors, how could the > procedure of connecting them to the brain, be made > simple? Here's a thot: No need for thousands of sensors if nanobots are used! Just inject folks with 'em (preferably without them knowing it, such as in a government-mandated vaccine shot), and they will merrily communicate to the outside world whatever is going on inside their heads. Nanotransmitters and neurotransmitters: a match made in heaven! Or hell, depending on your point of view. > If currents flow at brain activity, then there is > electromagnetic radiation. Would a super sensitive > receiver do the job and free us from the contacts? Yes, especially if the signals are pre-processed and amplified by nanobots in the brain. > (Too scared to connect me to the HP49G. It will pass me its > bugs, and I don't know how my bugs will react when combined with the > new ones ;-)) You are wise. I failed to follow that advice, and look what happened to me! >:-O -Joe- We're going to Greece! And swim the English Channel? ==== hi Joe, good idea. the future sure looks interesting :) there is a company called phonack that do miniaturized stuff for the hearing aids. in the stuff they did in 2000 (named Claro) they were able to do a miniturized computer (130 MOPS) that listens, filters, etc with very low power. their design do a lot of DSP (digital signal processing) and can iclude an fm receiver. many companies are putting radio transmiters in their microprocessors too. the nanobots will open the door for a lot of things. computer virus could become real virus :( (we will be inmune beacuse we've been bug trained with the HP49G) hopefully we won't blow up before we get there ;) about the keyboards, you could use this type (nothing new): http://www.thinkoutside.com/ reagards And about the thousands of sensors, how could the > procedure of connecting them to the brain, be made > simple? Here's a thot: No need for thousands of sensors if nanobots are used! Just > inject folks with 'em (preferably without them knowing it, such as in a > government-mandated vaccine shot), and they will merrily communicate to > the outside world whatever is going on inside their heads. Nanotransmitters > and neurotransmitters: a match made in heaven! Or hell, depending on your > point of view. If currents flow at brain activity, then there is > electromagnetic radiation. Would a super sensitive > receiver do the job and free us from the contacts? Yes, especially if the signals are pre-processed and amplified by nanobots > in the brain. (Too scared to connect me to the HP49G. It will pass me its > bugs, and I don't know how my bugs will react when combined with the > new ones ;-)) You are wise. I failed to follow that advice, and look what happened to me! >:-O -Joe- > We're going to Greece! > And swim the English Channel? ==== > ... > Does this mean something like recognition of someone's writings, only > that this thime we have patterns of currents of brain activity instaed > of patterns of letters? And about the thousands of sensors, yes. that is a good way to see it (writing recognition). you would > also have to digitally filter the signals from noise and other signals > so that you don't get false readings. the more sensors there are, the > more information you have for a better interpretation. > how could the procedure of connecting them to the brain, be made simple? I > mean, if so many sensors are needed, then someone will need a loong time for > just connecting them. It will not be so easy to just sit at the > computer, turn it on and do something. What can be done here? i don't know. currently, you have to physically attach (with > conductive paste or other conductive means) a wire to the point in > your head you want to monitor the signal. i think there are some type > of helmets that have a few sensors built it, but they probbaly give > poorer results since sometimes you have to move the sensor around till > you get a good signal. the ultimate sensor would have to be invasive > (inside). Oh, that means, connecting my head with the sensors would result in such questions like Where on the head of this guy do we have a good signal? Does he produce any signals at all? ;-) > If currents flow at brain activity, then there is electromagnetic > radiation. Would a super sensitive receiver do the job and free us > from the contacts? the voltage levels at the surface of the head are in the range of > microvolts. there are other means of obtaining info other than EEG, > like MRI. the price for my EEG is $220 (if you make it yourself, > otherwise about $600). the price for MRI i don't know (probably in the > millions). MRI? What does this stand for? > Muscle inteface you say? May I suppose that the sensors see the > muscles contactions? i meant to actually create a contraction in the muscle (not to read) > from an external signal. if someone lost a nerve, it is theoretically > possible to bypass the nerve. for example, by reading a brain pattern > and sending a signal to actuate the muscle. Oh, now I know what you mean. Yes, that's what I hope will be further developed, until it's possible to let people walk/use their hands/etc again. > Anyway, great things will come and I'm happy that I'll presumably have > the luck to see them. But for me the best interface is still pen and > paper, an analogon of which I hope will be also developed in the next > years. (Too scared to connect me to the HP49G. It will pass me its > bugs, and I don't know how my bugs will react when combined with the > new ones ;-)) he he. > after all the experiments you/i would try, wouldn't the poor saturn > also cry, puff and quit (harakiri)? ;) Oops, I didn't think about that possibility, but now that you said that I must admit that it would be terrible for the poor saturn. But we are not the first that think about such tragic. Look: The body electric Neil Peart Rush (with minor modifications by me ;-)) One calculoid escapee One HP-oid on the run Seeking freedom beneath a lonely desert sun Trying to change its program Trying to change the mode...crack the buggy code ROM-images conflicting into data overload Chorus: 1 0 0 1 0 0 1 SOS 1 0 0 1 0 0 1 In distress 1 0 0 1 0 0 Memory banks unloading Bytes break into bits Port One's in trouble and it's scared out of its wits Guidance systems break down A struggle to exist To resist A pulse of insane power in a clicking plastic key Chorus It replays each of the days A hundred years of routines Bows its screen and prays To the mother of all hp's As if they knew what would happen with the HP49G connected to Nick's head ;-) Greetings, Nick. ==== And about the thousands of sensors, how could the > procedure of connecting them to the brain, be made > simple? Here's a thot: No need for thousands of sensors if nanobots are used! Just > inject folks with 'em (preferably without them knowing it, such as in a > government-mandated vaccine shot), and they will merrily communicate to > the outside world whatever is going on inside their heads. Nanotransmitters > and neurotransmitters: a match made in heaven! Or hell, depending on your > point of view. No problem! They would all search the shortest way out if they were injected in my brain. (Incompatible you see ;-)) > If currents flow at brain activity, then there is > electromagnetic radiation. Would a super sensitive > receiver do the job and free us from the contacts? Yes, especially if the signals are pre-processed and amplified by nanobots > in the brain. Can the heavy metal signals in my head be pre-, or post- processed, or amplified at all? Poor nanobots, they were sent to search for signals, but didn't knew that they entered mental Hammersmith ;-) Staccato Riff, let's go!! > (Too scared to connect me to the HP49G. It will pass me its > bugs, and I don't know how my bugs will react when combined with the > new ones ;-)) You are wise. I failed to follow that advice, and look what happened to me! >:-O What happened to you? Nothing happened to you! You just look great! Just like me. Perhaps I should change my name to Kararobotoglou? ;-) > -Joe- > We're going to Greece! > And swim the English Channel? What, we are swimming in BBC Prime radiation? ;-) Greetings, Nick. ==== > Chorus: > 1 0 0 1 0 0 1 > SOS > 1 0 0 1 0 0 1 > ... Really, I'd better look at you as a child. A child could and we would even smile about that. Unfortunately, this is not a NG for children. I had in my life many students who are now scientists, managers or owners of software houses. They all started at level 0 and were modest, ambitious and diligent, Neither had they nor I ever problems with a natural distance. Fortunately, you're not my student. You're indeed an exceptional person. The tragedy is not that you're still at level 0 but that you're not aware of this fact. Really, a Greek tragedy. I wonder how you got the pluck from to write long marathons without having the slightest idea on what is hidden behind UsrRPL. You force innocent beginner to load some poorly written programs and to follow a presentation which does completely ignore helpful interface tools of other people (not myself). You were not even aware of the fact most of the lib 256 tools are risky without some knowlegde of SysRPL and the OS. This is essentially what I meant with misleading ... ==== > I had in my life many students who are now scientists, managers or > owners of software houses. Could you please let us know some of the nicknames your students have given to you? I believe they would be very illustrative. Or were they all ass kissers? That would explain why your shit smells so well :) HPCC #1046 <9BqI9.363$zS2.56649@newsread2.prod.itd.earthlink.net> <3DF2DCFE.B0782D15@miu.edu> <3DF565F9.D866C1F2@miu.edu> ==== In message <3DF565F9.D866C1F2@miu.edu>, John H Meyers >> I thought that [Pioneer series calcs] always had >> exactly 4 levels which, when cleared, >> were merely set equal to 0 >> (like the HP-41 and all previous HP calculators). > >Well, not on my 17Bii, in which stack roll initially cycles >only one, two, or three values, not quite mimicking the old calcs >until four levels have been filled. The HP17BII has a variable stack up to a maximum of 4 levels in both RPN and Algebraic mode. You can test this by putting a number on the stack and doing a roll down: only the original number displays, not the zeros that would be the case if Y, Z & T were present but zeroed as Joe suggests. Further proof is obtained by entering two numbers, say, and printing the stack: only the two numbers entered appear on the printer. >My 42S -- is out of batteries; someone else please check it out :) This works as Joe suggests: enter 2, say, and roll down repeatedly and you see three zeros and one 2 go by. >What about 32Sii? (I never had one) This is the same as the 42S >Was it only the originally algebraic (later switchable to RPN) >financial models (17Bii, 19Bii) which act this way? Looks like it. -- Bruce Horrocks Hampshire England bh@granby.demon.co.uk ==== Newbie question, but is it possible to transfer pictures (.bmp) to HP49G and then watch (without colors ofcourse..)them. Or is there some kind of programm that i can draw something and then watch it on 49? tnx! ==== > Newbie question, but is it possible to transfer pictures (.bmp) to > HP49G and then watch (without colors ofcourse..)them. Or is there some > kind of programm that i can draw something and then watch it on 49? > tnx! Yes, there are many such tools! Pick your favorite! :-) http://www.hpcalc.org/hp49/graphics/grayscale/ -Joe- ==== I've a problem when I try to edit a matrix including fractions. For example, I run Matrix Editing Mode. I enter the value 1/2, I mean I type '1/2'. And then, I got an error Invalid Array Element. I cant believe that my HP48 cant support fraction in Matrix Mode. What sould I do ? Bye ==== I'm finally running EMU48 (emulating the 49G) on my Ipaq 3955. What I can't seem to figure out is how do I load libraries? I've been running the emulator on my PC for a long time and have it all set up, but mostly, I used drag-and-drop to load objects which I can't do on the PPC. I've transferred all of the lib files to a diretory on the PPC but when I use the LOAD OBJECT command, none of the lib files appear in the file dialog (although my own programs do). I know I was able to do this before on my Jornada 720 WinCE machine, but I'm darned if I can figure it out now! Help! Any advice would really be appreciated. Simon ==== > Wow! I guess I should be surprised that there are so many, then, not so > few. Golly. Anyhow, here are the eleven solutions I've found so far, > hopefully with no errors that Rodger won't catch: n, PRIME(n) > 6, 13 > 12, 37 > 2394, 21319 > 2431, 21649 > 14148, 153469 > 150886, 2028119 > 213634, 2952557 > 405280, 5882353 > 2626236, 43381529 > 4713856, 80808961 > 40522560, 787223761 That's all there are for n < 50 million. I don't see any errors :-). The next one on my list is 251193139, 5363222357 so there's a long way to go to find another one. > Although using an HP49G would ordinarily take annoyingly long, I found three > ways of greatly speeding up the process: (1) Instead of checking for divisibility of REPUNIT(n) by PRIME(n), you can > instead check to see if POWMOD(10,n)=1 after doing PRIME(n) STOMOD. In > other words, when REPUNIT(n) MOD PRIME(n) = 0, then 10^n MOD PRIME(n) = 1. > [Except for n=2, which is a special case, as often happens in number > theory.] Since the HP49G has a very fast POWMOD function, it takes almost > no time to check for POWMOD(10,n), even when n is huge and REPUNIT(n) would > be impossible for the HP49 to handle. Right, I hit on this to find your 11 cases before you posted them. > (3) Instead of using a *real* HP49, use the emulator on a kick-ass computer. > :-) Aha! > By the way, what tools did you use to find your solutions listed above? The few that I listed in my post were found with a simple-minded Mathematica statement. A better one: For[i=3, True, i++, If[PowerMod[10,i,Prime[i]]==1, Print[i]]] produces the first ten solutions in seconds on my 800MHz Pentium III. Scott -- Scott Hemphill hemphill@alumni.caltech.edu This isn't flying. This is falling, with style. -- Buzz Lightyear ==== You should add your sequence to The On-Line Encyclopedia of Integer Sequences , it's not listed there...that way your name will be written in history forever ;-) http://www.research.att.com/~njas/sequences/ Christian Meland Joseph K. Horn skrev i melding > More HP49G number fun... > > REPUNIT(n) is just a string of n 1's. For example, REPUNIT(3) = 111, which > is 3*37. > > PRIME(n) is the nth prime number. For example, PRIME(3) = 5. > > Very few REPUNIT(n) are divisible by PRIME(n). Monkeying around the other > day, I found the following: > > REPUNIT(6) = 111111; PRIME(6) = 13; 111111/13=8547. > REPUNIT(12) is divisible by PRIME(12). > > I've found only 9 more cases. Any idea why these are so rare? > > -Joe- > > ==== I downloaded the RealSX and RealGX KML scripts from Casey Patterson's website. They both look nice but there's something bugging me about them. Even though the SX .BMP and the GX .BMP are the same size they end up as different sized windows when I run them. The matching .KML scripts are literally identical with the only differences in the color table which I don't think should make any difference. When I run an emulated SX and a GX the SX window is about 2/3 the size of the GX window! Anybody know why? -- john R. Latala jrlatala@golden.net ==== I was experimenting tonight, trying to see if it would work to switch between multiple user-defined keymaps (on the 48G+). So I fired up FILER48, went into the hidden directory, copied out UserKeys and UserKeys.CRC into another directory, and then deleted those to variables. Upon a warmstart, they were recreated, empty, and RCLK returned { S } - just like I expected. So, step 2. I copied the old UserKeys and UserKeys.CRC back into the hidden directory, overwriting the nice, empty ones. I turned on the USER mode, pressed a couple keys (that I didn't even have bound), and it gave me the Try to recover memory? message. It then was unable to recover my memory (fortunately, I had backed up before experimenting. Unfortunately, I am unable to restore from this backup for some reason). So, how can I switch between different user keymaps? I.e., one for calculus, one for physics, and one for hex manipulations. If I would have warmstarted before going into USER mode, would it have worked? -Mike be greatly appreciated, as I don't particularly relish the opportunity to rebuild my entire configuration from scratch. ==== I'd suggest to use CST instead. You can have multiple CST's, each in it's own directory. If you then switch to that directory, the appriorate CST will be active. But if you really need to have hard keys assigned, then maybe you could take a look at Keyman for the HP-48, or write some small programs which will automatically create the wanted key assignments. For more information about the hidden directory, query www.hpcalc.org . Raymond Mike Dean schrieb im Newsbeitrag > I was experimenting tonight, trying to see if it would work to switch > between multiple user-defined keymaps (on the 48G+). So I fired up > FILER48, went into the hidden directory, copied out UserKeys and > UserKeys.CRC into another directory, and then deleted those to > variables. Upon a warmstart, they were recreated, empty, and RCLK > returned { S } - just like I expected. So, step 2. I copied the old > UserKeys and UserKeys.CRC back into the hidden directory, overwriting > the nice, empty ones. I turned on the USER mode, pressed a couple keys > (that I didn't even have bound), and it gave me the Try to recover > memory? message. It then was unable to recover my memory (fortunately, > I had backed up before experimenting. Unfortunately, I am unable to > restore from this backup for some reason). > > So, how can I switch between different user keymaps? I.e., one for > calculus, one for physics, and one for hex manipulations. If I would > have warmstarted before going into USER mode, would it have worked? > > -Mike > > be greatly appreciated, as I don't particularly relish the opportunity > to rebuild my entire configuration from scratch. ==== > ... So, step 2. I copied the old > UserKeys and UserKeys.CRC back into the hidden directory, overwriting > the nice, empty ones. It is absolutely not allowed to overwrite UserKeys even if you restore the old UserKeys.CRC. That is why JHM and others are warning to manipulate inside There is a way to do it. Assume you've got various the names UK1, UK2,..., say. Suppose these store what you call keymaps, i.e., files of the structure of UserKeys. Now, store the following (only HP48G !) under the name ChangeUserKeys, say: :: CK1NOLASTWD PTR 19443 (Errors if input is not a list) DUPLENCOMP FORTYNINE #= NcaseSIZEERR PTR 41E32 ; Use JAZZ(light) for compiling, or ask somebody to make a UsrRPL version of it. PTR 41¤32 is the basic and recalculates UserKeys.CRC correctly. - Wolfgang You can do something more, namely deflate the which saves you lot of bytes. This is essentially the program PACKKEYS from Smartkeys by Simone Rapisarda. (Unfortunately, ACO has made the 49 by ignoring basic achievements of other people like Rapisarda in the old traditional French spirit We are the best). Below a modernized version of PACKKEYS (only 48G) which is very fast and is run after each key assignment with the 48-Keyman. You may just insert it into the above program in front of PTR 41E32. It has no argument checking). :: INNERCOMP ZERO_DO DUPNULL{}? :: casedrop NULL{} INNERCOMP ZERO_DO DUPNULL{}? SKIP PTR 715C (does 2skip) DROP NULL{} 6UNROLL LOOP SIX P{}N NULL{} PTR 41ECD (makes a list of 6 Null{}) EQUALcasedro NULL{} ; FORTYNINE UNROLL LOOP FORTYNINE P{}N ; ==== > ... So, step 2. I copied the old > UserKeys and UserKeys.CRC back into the hidden directory, overwriting > the nice, empty ones. It is absolutely not allowed to overwrite UserKeys even if you restore the old UserKeys.CRC. That is why JHM and others are warning to manipulate inside There is a way to do it. Assume you've got various the names UK1, UK2,..., say. Suppose these store what you call keymaps, i.e., files of the structure of UserKeys. Now, store the following (only HP48G !) under the name ChangeUserKeys, say: :: CK1NOLASTWD PTR 19443 (Errors if input is not a list) DUPLENCOMP FORTYNINE #= NcaseSIZEERR PTR 41E32 ; Use JAZZ(light) for compiling, or ask somebody to make a UsrRPL version of it. PTR 41E32 is the basic and recalculates UserKeys.CRC correctly. - Wolfgang You can do something more, namely deflate the saves you lot of bytes. This is essentially PACKKEYS from Smartkeys by Simone Rapisarda. (Unfortunately, ACO made the 49 by ignoring basic achievements of other people like S. Rapisarda in the traditional French spirit We are the best). Below a modernized version of PACKKEYS (only 48G) which is very fast and is run after each key assignment with the 48-Keyman. You may just insert it into the above program in front of PTR 41E32. It has no argument checking). :: INNERCOMP ZERO_DO DUPNULL{}? :: casedrop NULL{} INNERCOMP ZERO_DO DUPNULL{}? SKIP PTR 715C (does 2skip) DROP NULL{} 6UNROLL LOOP SIX P{}N NULL{} PTR 41ECD (makes a list of 6 Null{}) EQUALcasedro NULL{} ; FORTYNINE UNROLL LOOP FORTYNINE P{}N ; ==== > ... So, step 2. I copied the old > UserKeys and UserKeys.CRC back into the hidden directory, overwriting > the nice, empty ones. It is absolutely not allowed to overwrite UserKeys even if you restore the old UserKeys.CRC. That is why JHM and others are warning to manipulate inside There is a way to do it. Assume you've got various the names UK1, UK2,..., say. Suppose these store what you call keymaps, i.e., files of the structure of UserKeys. Now, store the following (only HP48G !) under the name ChangeUserKeys, say: :: CK1NOLASTWD PTR 19443 (Errors if input is not a list) DUPLENCOMP FORTYNINE #= NcaseSIZEERR PTR 41E32 ; Use JAZZ(light) for compiling, or ask somebody to make a UsrRPL version of it. PTR 41E32 is the basic and recalculates UserKeys.CRC correctly. > Unfortunately, I am unable to restore from > this [HOME] backup for some reason. Your purging of UserKeys and overwriting may have created a dangerious virus in the RAM. Hence, before restoring your HOME backup, provoke a TTRM with ON&A&F and answer with NO. - Wolfgang You can do something more, namely deflate the saves you lot of bytes. This is essentially PACKKEYS from Smartkeys by Simone Rapisarda. (Unfortunately, ACO made the 49 by ignoring basic achievements of other people like S. Rapisarda in the traditional French spirit We are the best). Below a modernized version of PACKKEYS (only 48G) which is very fast and is run after each key assignment with the 48-Keyman. You may just insert it into the above program in front of PTR 41E32. It has no argument checking. :: INNERCOMP ZERO_DO DUPNULL{}? :: casedrop NULL{} INNERCOMP ZERO_DO DUPNULL{}? SKIP PTR 715C (does 2skip) DROP NULL{} 6UNROLL LOOP SIX P{}N NULL{} PTR 41ECD (makes a list of 6 Null{}) EQUALcasedro NULL{} ; FORTYNINE UNROLL LOOP FORTYNINE P{}N ; ==== > SUBST on > the other hand can do only one substitution at a time. Even using > 'X+Y' > { X=Y Y=1 } > 1 > << SUBST >> > DOSUBS > is not the same as it returns 1+1 because any Y in the result of the > first substitution will be re-substituted with 1. SUBST can do multiple substitutions at once indep. but you must give it an array as 2nd argument (list are interpreted by SUBST using the standard list processing of the 48/49 when no list checking is found in the argument checking). 'X+Y' ['X=Y' 'Y=1'] SUBST returns Y+1 Unlike |, it works also on matrices, hence it is not an algebraic operand. It also has some extensions to handle change of variables (e.g. in an integral or diffeq) ==== > SUBST on > > the other hand can do only one substitution at a time. Even using > > 'X+Y' > > { X=Y Y=1 } > > 1 > > << SUBST >> > > DOSUBS > > is not the same as it returns 1+1 because any Y in the result of the > > first substitution will be re-substituted with 1. SUBST can do multiple substitutions at once indep. but you must give it > an array > as 2nd argument (list are interpreted by SUBST using the standard list > processing > of the 48/49 when no list checking is found in the argument checking). > 'X+Y' ['X=Y' 'Y=1'] SUBST > returns Y+1 answer. > Unlike |, it works also on matrices, hence it is not an algebraic operand. > It also has some extensions to handle change of variables (e.g. in an > integral > or diffeq) I am aware of these facts and especially the change of variables in cases of integrals and differential equations. So, can we say there is nothing that can be done with | but not with SUBST? Greetings, Nick. ==== The HP-48 has two user-rpl commands for that issue: RCLKEYS and STOKEYS. You find them under Blueshift Modes / Keys. RCLKEYS puts a list on the stack which contains all the userkeys. Include this list to a program: << {userkeylist} STOKEYS>> Now you can assign this to any unused key or put it into some menu. Holger Mike Dean schrieb im Newsbeitrag > I was experimenting tonight, trying to see if it would work to switch > between multiple user-defined keymaps (on the 48G+). So I fired up > FILER48, went into the hidden directory, copied out UserKeys and > UserKeys.CRC into another directory, and then deleted those to > variables. Upon a warmstart, they were recreated, empty, and RCLK > returned { S } - just like I expected. So, step 2. I copied the old > UserKeys and UserKeys.CRC back into the hidden directory, overwriting > the nice, empty ones. I turned on the USER mode, pressed a couple keys > (that I didn't even have bound), and it gave me the Try to recover > memory? message. It then was unable to recover my memory (fortunately, > I had backed up before experimenting. Unfortunately, I am unable to > restore from this backup for some reason). > > So, how can I switch between different user keymaps? I.e., one for > calculus, one for physics, and one for hex manipulations. If I would > have warmstarted before going into USER mode, would it have worked? > > -Mike > > be greatly appreciated, as I don't particularly relish the opportunity > to rebuild my entire configuration from scratch. ==== > The HP-48 has two user-rpl commands for that issue: You > find them under Blueshift Modes / Keys. > RCLKEYS puts a list on the stack which contains all the userkeys. Include > this list to a program: > << {userkeylist} STOKEYS>> Holger, the commands RCLKEYS and STOKEYS are terribly slow if you have more than 20 keys assigned. If using the possibilites of key assignments intensively then these two commands will become practically worthless. This holds true for both, the 48 and the 49. I guess Mike is aiming at a fast user keymap switching. If he is not the only one who likes to work efficiently with various keymaps I could create a Choose box named ChangeKeymap, say, which by itself finds and includes all keymaps in the current directory. Clearly, a chosen keymap will be set instantaneously. The empty (default) keymap will be its first item. It also has an option to recall the current keymap to the stack to see how its structure looks like. One could also think on a library with should perhaps offer the commands ->UK Sets a Keymap from Level 1 as current UserKeys UK-> Recalls the current keymap ~UK Toggles exploding a keymap list on the stack SOFF? Toggles Standard keys enabled or disabled pkks makes UserKeys as small as possible But this, of course, is somewhat less straight-forward. Clearly, since Mike has got a 48G+ with 128 Kb only, he may soon run into memory troubles unless BZ-compression is used for storing the various keymaps. But since these have a homogeneous structure, the compression rate will be high, probably over 50%. In general, a compressed keymap will be much smaller than the output of RCLKEYS. Just a remark on Mike's 48-filer. If it allows Mike to warning then it is needs, IMHO, urgent improvement :-) - Wolfgang ==== > Holger, the commands RCLKEYS and STOKEYS are terribly > slow if you have more than 20 keys assigned. If using > the possibilites of key assignments intensively then > these two commands will become practically worthless. > This holds true for both, the 48 and the 49. I had not thought about the RCLKEYS/STOKEYS solution, but I just tested it, and RCLKEYS is unacceptably slow (with the standard stack and my current keymap, it works fine - 1-2 seconds. But under Java, I let it run for 20-30 seconds before aborting it to futility). > I guess Mike is aiming at a fast user keymap switching. > If he is not the only one who likes to work efficiently > with various keymaps I could create a Choose box named > ChangeKeymap, say, which by itself finds and includes > all keymaps in the current directory. Clearly, a chosen > keymap will be set instantaneously. The empty (default) > keymap will be its first item. It also has an option to > recall the current keymap to the stack to see how its > structure looks like. One could also think on a library > with should perhaps offer the commands > ->UK Sets a Keymap from Level 1 as current UserKeys > UK-> Recalls the current keymap > ~UK Toggles exploding a keymap list on the stack > SOFF? Toggles Standard keys enabled or disabled > pkks makes UserKeys as small as possible Hmm, I've been looking for a reason to learn SysRPL/ML... > Clearly, since Mike has got a 48G+ with 128 Kb only, he > may soon run into memory troubles unless BZ-compression > is used for storing the various keymaps. Let me see - right now I have 35K free, don't know if I'll install anything else on this thing (besides ALG48's INT48 library, which I may need). > Just a remark on Mike's 48-filer. If it allows Mike to > warning then it is needs, IMHO, urgent improvement :-) It is no longer on my calculator :-). It was a nice little program to use, but I wanted to reclaim the 15K it took. There is a new version out since I downloaded it - I don't know if that adds security or not. But hey, how do I learn without crashing the thing a time or two? :-) -Mike ==== > ->UK Sets a Keymap from Level 1 as current UserKeys > UK-> Recalls the current keymap > ~UK Toggles exploding a keymap list on the stack > SOFF? Toggles Standard keys enabled or disabled > pkks makes UserKeys as small as possible > Hmm, I've been looking for a reason to learn SysRPL/ML... Learning SysRPL and switching keymaps are two different things. For the latter no SysRPL is needed. Did you ever try Keyman for making a well-organized key assignment? Keyman will cost you only 1 Kbyte. There's also a file Topkeys for the 48 which offers a choice of really useful assignments, e.g., a leads you always back to the directory you started from. You did not definitely say YES, I want a keymap switcher. So let's see whether some other people will be interested in that. At any rate, no knowlegde of SysRPL is needed in handling it properly. This will be easy and straight-forward. > Let me see - right now I have 35K free, don't know if I'll install > anything else on this thing (besides ALG48's INT48 library, which I may > need). > But hey, how do I learn without crashing the thing a time or two? :-) Either ALG48, or JAZZlight for learning SysRPL. There is no space of having both on an 48G+ :-) Perhaps somebody presents you an 48GX with a RAMcard, or a HP49 at Christmas :-) These are the only alternatives to create an absolutely safe HOME backup on the machine itself. - Wolfgang ==== I think everybody should know that... the Xpander installation program REFUSES to continue after installation on PC because it detects UNSUPPORTED DEVICE TYPE (that ould be my Jornada 720). There, now you know! :-( At least I can run the Paranoyaxc stuff ported from linux, the emu48 thing and, of course, PocketDOS with derive, mathcad, SPICE etc. :-) !Demeter! [Oxford University Libraries Automation Service World Wide Web Server] ---------------------------------------------------------------------------- Archive-name: hp/hp48-faq/part2 Last-modified: 06/20/1995 ********************************************************* HP 48 S/SX/G/GX Frequently Asked Questions List ********************************************************* PART 2 of 4: Hardware, Programs, and Programming: Sections IV - VI Currently Maintained by: Keith Maddock (madd0118@nova.gmi.edu) Originally Compiled by: Darryl Okahata Key: ! =new Q/A + =revised answer PART 2: IV. Questions about cards, data transfers, batteries, hardware 4.1 Can I upgrade my S or G to more than 32K ram? 4.2 How can I get/build a cable for my HP48? 4.3 Why doesn't the I/R port work farther than a few inches? 4.4 Can my HP48 talk to my HP100LX via Infrared? 4.5 I downloaded a program to my HP, and when I ran it, it put a string on the stack like HPHP48-........ What's wrong? 4.6 Why does XRECV not work sometimes? (GX) 4.7 What do the funny symbols ->, GS+, etc., mean? 4.8 What are the pinouts for the HP 48 serial connector? 4.9 Is there any information on interfacing to the HP 48? 4.10 How can I transfer programs/data from my HP-28S to my HP 48? 4.11 Can I use rechargeable batteries with the HP 48? 4.12 How can I tell, from within a program, if the battery is low? 4.13 My RAM card was plugged into the calculator when I changed the RAM card battery, yet I lost all the information on the card. What happened? 4.14 Why do I get an Invalid card data error when I merge a RAM card? 4.15 I've heard that other manufacturer's RAM cards will work with the HP 48. Is this true? Will it work? 4.16 Why does the HP 48SX display flicker slightly? 4.17 I broke the LCD screen is there an easy way to get another? ! 4.18 Can I use my Amateur Radio with my HP48? V. Questions about programs 5.1 Where can I get programs and information for the HP 48SX? 5.2 What are the Goodies Disks and where do I get them? 5.3 How do I get access to the HP Calculator BBS? 5.4 What are files that end with .zip, .Z or .z? 5.5 What is a ship file? ! 5.6 What is ->ASC or ASC-> and where can I get it? 5.7 What is the HYDE library, and how do I get rid of it? 5.8 What is the Minehunt game, and how do I use it? VI. Questions about programing and advanced user functions 6.1 I've heard the names RPL, Saturn, STAR, Voyager, GL, etc.. What do they mean 6.2 Is there a C compiler for the HP48? 6.3 Why do SysRPL programs run faster than UserRPL programs? 6.4 How do I know what library ID number to use for my program? 6.5 What information is there on the internals of the HP 48? 6.6 Are there any viruses for the HP48? 6.7 How do I store fields of variable length string data in a compact, rapidly accessible manner that does not require the overhead of storing strings in lists? 6.8 What is Vectored Enter, and how do I use it? 6.9 What is WSLOG? 6.10 What are SYSEVALs? 6.11 What are some useful SYSEVALs? 6.12 What are LIBEVALs? 6.13 What are some useful LIBEVALs? 6.14 What is the format of a GROB object? ! 6.15 What is the AUR and what information does it contain? ! 6.16 What is the syntax for the INFORM, CHOOSE, and MSGBOX commands on the G/GX? ****************************************************************** IV. Questions about cards, data transfers, batteries, hardware ****************************************************************** 4.1 Can I upgrade my S or G to more than 32K ram? It is possible to do this by opening up the case and adding some memory chips. There is a zipfile containing instructions and schematics available for FTP: ftp.cis.com: /pub/hp48g/uploads/48gs256k.zip WARNING: It is possible to ruin your HP in the process of performing this upgrade. Do not attempt it unless you are adept at working with small electonics. The FAQ maintainer and the authors of the instructions take no responisibility for anything you do to your HP... ****************************************************************** 4.2 How can I get/build a cable for my HP48? Some places that sell the HP48 also sell the cable required for interfacing with a PC. Unfortunately, most don't. For information on how to build your own cable, see appendix H. If you want to buy one, there are a few options. Places like Educalc and ElekTek (see q/a #1.3) sell them for around $20-$25. There are a few netters that make cables for sale also. Contact: Chris Edmunds Paul Christenson Joel Kolstad Ofer Asif If you live in a larger city, you can look in the Yellow Pages for a listing of HP authorized dealers who either have the cables in stock or can order them in about the same time a ****************************************************************** 4.3 Why doesn't the I/R port work farther than a few inches? It turns out that it is the receiver that is crippled. The transmit range is somewhere around several feet, and some people have actually written programs to make the HP 48 emulate some remote controls (see appendix I for suggested programs). NOTE: There are currently two stories going around as to WHY. I will present both of them in the interest showing all sides of the story, but I personally lean to #1 (due to the source), but people will bet their life on #2.. YMMV (Your Mileage May Vary!) #1 The head of the HP48 design team, Dr. William Wickes himself, alluded during the Chicago Handheld Conference that the IR was intentionally crippled due to the concerns of certain individuals in academia that students could literally 'beam' information from one 48 to another during examinations. (from Rick Grevelle) #2 The reason the ir reception distance is so short is battery capacity. The Infrared Transmitter is semaphore: It is only turned on when it needs to be on, and the transmission protocol is defined to minimize the ON time. The receiver, by contrast, must be on continually when a transmission is in process, or when a transmission is expected. If you set your '48 to Server mode, that receiver is drawing power. If you tweek the control bits to activate the receiver for any other reason, it is drawing power. The intantaneous peak power drawn by the transmitter is much higher than that of the receiver. But in the long run, the receiver will draw more energy from the batteries. Increasing the receiver sensitivity costs even more power. ****************************************************************** 4.4 Can my HP48 talk to my HP100LX via Infrared? Yes, it can, although slowly. Set the HP100LX at 2400 baud, and put it in server mode (under the Kermit Commands menu). THen you can send stuff from your HP48 to your HP100LX ****************************************************************** 4.5 I downloaded a program to my HP, and when I ran it, it put a string on the stack like HPHP48-........ What's wrong? Some versions of kermit distinguish between ASCII and binary files, and so you have to worry about the transfer modes at *BOTH* ends of the connection (the HP 48SX end and the computer end). For example, when receiving ASCII files, Unix kermit must translate CR/LF pairs into LF. If the HP 48SX is transmitting a binary file, but the Unix kermit is expecting ASCII, any CR/LF pairs in the binary file will get translated to LF, corrupting the binary file. Unfortunately, you cannot uncorrupt the corrupted binary file by simply reversing the transfer and expecting kermit to translate LF to CR/LF. This is because the binary file may contain occurrences of LF that were not originally part of a CR/LF sequence. When a binary file gets corrupted, it will display on the stack as a string, starting with the characters HPHP48-, and continuing on with reconverted to binary files right on the HP48. These programs are: FIXIT, by Joe Horn and Mika Heiskanen, or OBJFIX, written by our friends at HP. These are included in appendix F in ASC form (ASC is in appendix A) The major difference between FIXIT and OBJFIX is the way they operate. I have never personally had any problems with either. FIXIT takes the bad HPHP48- string from level 1 of the stack, and replaces it with the correct binary object. OBJFIX takes the name of the variable in which the HPHP48- string is stored from level 1 of the stack, and puts the correct binary object directly in the variable where the bad string was stored. It's up to you which you prefer. I would suggest reading the docs of both (included in appendix F) before using either of them. There is also a quick fix availabe from Dan Kirkland: ----- begin ----- SYSEVAL fix for HPHP48-X!@#$%^&*( by Dan Kirkland, 08 Dec 1993 Here is a simple SYSEVAL program that will return a pointer to the object in those data transfer strings that start with HPHP48- BYTES: # 8FEh 53 << 12 SWAP + # 402Bh SYSEVAL # 62B9Ch SYSEVAL >> That's all! (Simple huh!) Name? Whatever you want!! Works on all 48s (S/SX, G/GX) ----- End -------- ****************************************************************** 4.6 Why does XRECV not work sometimes? (GX) Pre-Rev R. G Series 48's had a bug that would sometimes cause XRECV to fail if there was not twice the amount of room free for the incoming file. FXRECV, a fix for this bug, is available on the Horn 9 disk in the directory hp as FXRECV. There is more info about this bug there as well. ****************************************************************** 4.7 What do the funny symbols ->, GS+, etc., mean? These are the ASCII representation of the special HP 48 graphical characters. See the section Character Translations in the manual for a table of symbols <--> ASCII representations. SX: Chapter 33 (Volume II if 2 volumes) GX: Page 27-16 HP 48G Series User's Guide ****************************************************************** 4.8 What are the pinouts for the HP 48 serial connector? Looking at the pins of the HP 48 (the following diagram is showing the pins on the HP 48, as you look *AT* the calculator): _________ | o o o o | _______/ ^ ^ ^ ^ | | | ------ 4 Signal GND | | -------- 3 RX (input to the HP 48) | ---------- 2 TX (output from the HP 48) ------------ 1 SHIELD Stated another way: HP48 IBM 9 PIN IBM 25 PIN edge -> inward) SHIELD------------------- SHIELD---------------- SHIELD TX (Output)<-------------2 RX (Input)------------3 RX (Input) RX (Input)-------------->3 TX (Output)---------->2 TX (Output) SGND---------------------5 GND-------------------7 GND This information is also on page 27-7 of the G/GX manual. ****************************************************************** 4.9 Is there any information on interfacing to the HP 48? HP has made available an UNSUPPORTED document called the HP 48 I/O Technical Interfacing Guide, which contains information on the wired and serial I/O hardware. Look in the various HP 48 archives for a copy. ****************************************************************** 4.10 How can I transfer programs/data from my HP-28S to my HP 48? You use a program called INPRT, which is avaliable on GD #9. Any previous version will crash the GX. The new version's checksum is #EDF3h, and the old, SX-only version's checksum is #2280h. For each program that you want to transfer, you use the HP 28S to print it to the I/R output; INPRT, running on the HP 48, reads the I/R output of the HP 28S and converts it into a program. ***************************************************************** 4.11 Can I use rechargeable batteries with the HP 48? The Rayovac Renewal batteries have proven themselves to be reliable in the HP48, but there are some problems with ni-cad batteries. You'll have to decide if using rechargeable batteries is worth putting up with the problems: * You'll have to change batteries more often with rechargeable batteries. Alkaline batteries can deliver power for a longer period of time, compared to rechargeable batteries. * Once the low-battery indicator comes on, you'll have to change the rechargeable batteries pretty quickly. With rechargeable batteries, you have only a few minutes before the calculator dies (it's been said that you have up to 15 minutes or so). With alkaline batteries, you have an amount of time that is supposedly measured in hours. * Ni-Cad batteries lose their charge with time, even if you are not using them. Even if a Ni-Cad battery is just sitting unused on a shelf, it slowly loses its charge. Alkaline batteries keep their charge for a very long time. ****************************************************************** 4.12 How can I tell, from within a program, if the battery is low? The following 48 program reports the status of the ALERT annunciator. The ALERT annunciator is activated by alarms or low battery. This program is provided free of charge as is and has no warranty. No one is liable for any consequential damages. Preston %%HP:T(3)A(D)F(.); << RCLF 8 STWS #FFh #0h + #10Bh #6595Ah SYSEVAL #8h AND #0h > SWAP STOF >> ****************************************************************** 4.13 My RAM card was plugged into the calculator when I changed the RAM card battery, yet I lost all the information on the card. What happened? You forgot to turn ON the calculator before changing the battery. The HP only supplies power to the RAM card while the HP is turned on. While the calculator is turned off, no power is supplied by the calculator, and all power comes from the RAM card battery. If you then take out the battery from the RAM card while the calculator is turned OFF, the RAM card has no source of power, and you will lose all of the contents in the RAM card. ****************************************************************** 4.14 Why do I get an Invalid card data error when I merge a RAM card? This message is usually seen when you plug a brand-new RAM card into an HP 48. In this case, this message is normal and is harmless. It just means that there was no (valid) data on the card. GX: This message can appear when a RAM card contains ports you have PINIT softkey. This will initialize all available ram ports. It does not affect data already stored on the card. If you see this message under any other conditions, it could be one of the following: 1. You took the battery out of the RAM card while the card was out of the calculator, therefore erasing the memory. 2. You took the battery out of the RAM card while the card was in the calculator *BUT* the calculator was turned off. Note that the calculator supplies power to the RAM card ONLY when the calculator is turned *ON*. Again the memory on the card is gone. 3. The RAM card battery is dead. 4. There is a problem with either the calculator, the RAM card, or both. If the battery is operational, then try to store something on the card. If you still get the error message, then backup all your info to a computer or another 48, and do a hardware reset. (see #13) ****************************************************************** 4.15 I've heard that other manufacturer's RAM cards will work with the HP 48. Is this true? Will it work? While some cards may work, there is a chance that you may severely damage your HP 48. You should only use cards specifically designed for the HP 48. Naturally, HP sells such cards, and some third parties also make cards that will work in an HP 48. Some cards work with both the S/SX and the G/GX. Some, however only work on the S/SX, or only on the G/GX. Make sure that the card is designed to work for your version before using it. SX: The S/SX can only naturally support up to 128k per port. HP sells 32K and 128K RAM cards. However, TDS, using software bank switches produces 256K and 512K RAM cards. These bank switching cards do not work in the G/GX series. CMT is also a makes 128K cards, which work in all HP 48 calculators. GX: While you cannot use the TDS 256K and 512K cards, Sparcom has come out with 256K and 512K cards for the G/GX only. HP also sells 1MB RAM cards that work for G/GX only. The G/GX is able to accept a 4MB RAM card, but none are on the market at this time. For more info on using non-HP 48 RAM cards in the S/SX series, see appendix B near the end of this file. ****************************************************************** 4.16 Why does the HP 48SX display flicker slightly? Display flicker is usually caused by fluorescent lights. The rapid pulsing of the fluorescent lights (60Hz in the U.S.), which is normally unnoticeable, interacts with the rapid pulsing/scanning of the HP 48 LCD display (64 Hz refresh rate), which is also normally unnoticeable. The 60Hz fluorescent lights alias with the display refresh (64Hz) to produce a 4Hz flicker. It's normal and harmless. Outside the U.S., power is supplied at a 50Hz rate, not 60Hz. This means that the display flickers at a 14Hz rate, which is still noticeable. ****************************************************************** 4.17 I broke the LCD screen is there an easy way to get another? Unfortunately, as far as I am aware, you cannot get a replacement, the cheapest alternative is to send the calc in for standard service at HP, which is slightly cheaper than a new calculator. Opening a 48 is quite difficult anyway. ****************************************************************** 4.18 Can I use my Amateur Radio with my HP48? Yes, however you need to have a few things, the first being an amatuer radio license. The next thing you need is a terminal node controller. If you are able to, get a terminal node controller that supports XON and XOFF software flow control. This is good to have because the HP48 only has a 256 character buffer. When the buffer is full, the HP48 sends the buffer full signal and a terminal node controller with software flow control can quit sending data until the HP48 can keep new data in the buffer. If you don't have a terminal node controller with software flow control, you can still use it, but you may lose some data. The next thing you will want is some software to use with the terminal node controller. You could make your own software using user-rpl commands such as BUFLEN, SRECV, and XMIT. However, there is a plethora of software available. All you need is software then can send and recieve data from the serial port. Here are a few programs that you might want to try: Program Location ------- -------- term2 ftp.cis.com get hp48pack in the body of the message. dterm ftp.cis.com/pub/hp48g/utilities/dterm.zip There is also a site that has a lot of hp48 programs relating to ham radio. Ftp to oak.oakland.edu and go into the /pub3/hamradio/hp48 directory. Please tell someone if you find great software, it can be added to this list. ****************************************************************** V. Questions about programs ****************************************************************** 5.1 Where can I get programs and information for the HP 48SX? See Appendix I for more info. ****************************************************************** 5.2 What are the Goodies Disks and where do I get them? See Appendix 4 of Appendix I for more info. ****************************************************************** 5.3 How do I get access to the HP Calculator BBS? You can access the HP Calculator BBS via a modem (note that this is a long distance call for most people): (503)-750-4448 2400 baud, 8N1 (503)-750-3277 9600 baud, 8N1 For those people who have access to the Internet, you can also access the BBS via telnet to hpcvbbs.external.hp.com [15.255.72.16]. See Appendix I for more BBS sites. ****************************************************************** 5.4 What are files that end with .zip, .Z or .z? Files that end with .zip are PKZIP archives, which originated in the MSDOS world. One program that can extract the files in .zip archives is the Info Zip unzip program. An MSDOS binary can be found as: Sources for the unzip program can be found as: For binaries for other machines, see the file: Files that end with .Z have been compressed using the Unix compress command. To uncompress these files, you must use the uncompress command on Unix. Files that end with .z have *probably* been compressed using the new gzip compression command. To uncompress these files, you must use either the gunzip or gzip -d command. These commands are not a standard part of Unix, and so you'll probably have to get the sources via anonymous ftp from prep.ai.mit.edu (as /pub/gnu/gzip*). Again, versions are supposedly available for non-Unix platforms. ****************************************************************** 5.5 What is a ship file? In the past, programs for the HP 48 posted on comp.sources.hp48 were posted in the ship format. This format made it easier for the comp.sources.hp48 moderator to distribute programs, but makes it difficult for users to extract and use these programs. Many people still use ship. To extract programs distributed in the ship format, you need the following: 1. A copy of the ship program, compiled for your PC, Macintosh, Amiga, Unix workstation, or whatever. The sources to ship can be found at: ftp.cis.com: /pub/hp48g/dos/unship.zip This zip file also includes the dos executable. Binaries for MSDOS machines, Amigas, and some Unix workstations can be also be found on wuarchive.wustl.edu, in the directory 2. A copy of the latest Info Zip unzip program, or a .ZIP unarchiver that understands the new PKUNZIP V2.04g format. Note that you *CANNOT* use old unzip programs, as old unzip programs do not understand the new compression formats. An MSDOS binary can be found as: Sources for the unzip program can be found as: For binaries for other machines, see the file: Once you have a copy of the ship and unzip programs, you use ship to convert the ship-encoded file into a .ZIP file, and you use the unzip program to extract the HP 48 files from the .ZIP file. ****************************************************************** 5.6 What is ->ASC or ASC-> and where can I get it? These functions were written by William Wickes to facilitate transferring HP 48 binary objects in an ASCII format (useful when HP 48 objects, like libraries, cannot normally be converted into ASCII, unlike program objects, and these functions make it possible to do so. The ->ASC function converts the object in level 1 into an ASCII The ASC-> function converts the string object in level 1 back into an object. A checksum is used to ensure that the decoding is correct. A copy of these programs are given in Appendix A, near the end of this file. ****************************************************************** 5.7 What is the HYDE library, and how do I get rid of it? The HYDE library is a library that changes the messages on your HP48. It works on all versions of the HP48 and is available on Goodies Disc #2. The program (HYDE.TXT) is in the DNICKEL directory needs to be converted with ASC->. The instructions (HYDE.DOC) for the program are in the HORN2 directory. The library is 3679.5 bytes, small enough to keep on your HP48 so you can install it on a friend's when he/she is not looking. :-) Here are a few examples of the changed messages: Invalid Syntax => Makes no sense to me! ____ Error: ____ foul-up: Too few arguements => Gimme some args, man! Empty Stack => The well has run dry! Awaiting server Command => So tell me what to do. Connecting => Anybody out there? To install the library: 1. Download the library to your HP48 2. Go to HOME. 3. Recall the library to the stack and purge the download variable. 4. Press 0, the STO. 5. Put :0:998 on the stack. 6. Type ATTACH 7. Turn your HP48 off, then back on. 8. Push Right-shift then the Library button. 9. Press STRA. 10. Press HYDE. Getting rid of the HYDE library can be fun. Here's how to do it: 1. Go the HOME directory. 2. Press left-shift (orange) LIBRARY. The calculator is now displaying a menu of libraries attached to the HOME directory. 3. Press the menu key that says STRA. You are now accessing the HYDE library. 4. Press the menu key that says JEKY. You have now disabled the HYDE library and restored the old (standard) set of messages. 5. Make sure that a pointer to the library is not on the stack. The easiest way to do this is to clear the stack using CLR. 6. Detach the library using: :0:998 DETACH 7. Purge the library using: :0:998 PURGE When you execute the PURGE, the screen will jump or be messed up for a brief moment. Don't worry about it -- it doesn't hurt. ****************************************************************** 5.8 What is the Minehunt game, and how do I use it? The Minehunt game is a game built in to the G/GX, and included on the HP EQ library card. GX: It is located in the UTILS menu of the left-shift(purple) EQ LIB menu. (Left-Shift {EQ LIB], {UTILS}, {MINEHUNT}). See page 25-14 of the manual for a game explanation and picture. SX: It is located in the UTILS library. You can save a game by pressing the STO button. This creates a variable with the name MHpar. If you are in the directory containing that variable, you will resume your old game when you run MINEHUNT. To select the number of mines for your next game just store a number in a variable, Nmines (it's case sensitive), and you'll get that many mines. If you store a negative number, you'll get the absolute value of that many mines, AND all mines will be visible. You can also move diagonally if you use the numbers as arrows: 1 is down+left, 2 is down, 3 is down+right, 4 is left, 6 is right, 7 is up+left, 8 is up, and 9 is up+right. ****************************************************************** VI. Questions about programming and advanced user functions ****************************************************************** 6.1 I've heard the names RPL, Saturn, STAR, Voyager, GL, etc.. What do they mean? ASAP This is a simple Saturn assembler, written in the Perl language. Chip8, Chip48, Schip, Schip8 This is a machine-code program that was inspired by the chip8 video game interpreter for the RCA CDP1802 microprocessor several years back. Chip8 allows you to write a simple graphics-based video game for the HP 48SX. Among the games written are clones of breakout, pacman, and pong, to name a few (about half?). Chip48, Schip and Schip8 are two different names for an enhanced version of chip8 specifically designed for the HP 48SX. People have written programs to assemble Schip assembly language into a form directly usable by Schip on an HP 48. Schip interpreters are available for both G and S series. HYDE This is the HYDE library, whose only purpose is to change the error messages in the HP 48SX to make it user unfriendly. GL GL (Game Language) is a language for the programmer who wants almost the speed of assembly, but who doesn't want to spend a lot of time and effort to learn all the tricks of assembly programming on the HP48. GL has an assembly-like syntax, and there is an assembler for PC and one for the HP48 itself. Since GL is an interpreter, the GL library (3 KB in size) must be installed on the HP48 to run GL programs. The instruction set is powerful, with sprites and pixel based graphics, scrolling, sound, keyboard control, and more. There are 256 1-byte registers which can be used in pairs as 2-byte words. A GL program can be up to 64 KB in size. GL was inspired by S-CHIP, but it is much better in all aspects. It is suitable for many applications, not only games, that require high speed. Of course it works on both the HP48S/SX and the G/GX. GL is written by Erik Bryntse. ML Machine Language. This is usually used in reference to HP 48 assembly language programming. MLDL Machine Language Development Library. This is a library that allows you to debug machine language programs with only an HP 48. PDL Program Development Link. This is an MSDOS program, sold by Hewlett-Packard, that allows you to write and develop HP 48 applications from your IBM PC clone. Programs are written on your PC, transferred to the HP 48, and tested from your *PC* (and *not* the HP 48). RPL RPL is the name of the language used to program the HP 48 and HP-28 series calculators. RPL stands for Reverse Polish Lisp. described RPL as ROM-based Procedural Language. SASS SASS is a simple Saturn assembler, written in C/yacc (BSD Unix & Bison). It uses Alonzo Gariepy's mnemonics. Saturn Saturn is the internal code name for the processor used in the HP 48, HP-28 series, and many other calculators (just about all HP calculators since the HP 18/28 series). STAR This is the Saturn Macro Assembler (how STAR comes from this, I don't know), an assembler that mostly uses Alonzo Gariepy's mnemonics. It's written in C and runs on many different machines (PCs, Amigas, Unices, etc.). STAR is available via anonymous ftp from ftp.ai.mit.edu in /pub/star-1.04.4.tar.Z. [Note: Rumor has it that this is no longer available at this site. If you know of a more available from various bulletin boards (the HP handhelds forum on CompuServe also has a copy). The latest version is 1.04.4. SWING SWING is a library program that displays a graphical tree structure of the directory hierarchy in your HP 48SX, and allows you to move from directory to directory using the arrow keys (it is supposedly based upon an old PD VMS utility). System RPL This is the name for the custom operating system/language used to program the CPU used in the HP 48 calculator. System RPL is a superset of the normal user RPL commands; in addition to the normal, user-accessible RPL commands, system RPL includes many lower-level functions. System RPL is a language one step higher than assembly language. HP has released a system development toolkit (for the IBM PC) containing a system RPL compiler, assembler, and loader, complete with a couple hundred pages of documentation. This toolkit, while copyrighted, is, for the most part, freely copyable. If you can find a BBS or archive site that has it, you can download all of the system RPL files and documentation. The HP development toolkit only runs on the MS-DOS operating system. Alex Ramos has written a portable system RPL compiler which runs primarily on Unix systems, and can emulate most of the features available on the HP kit. The program is called RPL#+ (in line that reads: send hp48/rpp199c.zip without the quotes, and a daemon program will reply. The program currently runs fine on Sun/OS 4.x, but bugs have been USRLIB USRLIB is a program that takes the contents of an HP 48 directory and turns it into a library object. It currently runs under MSDOS. Voyager Voyager is an interactive disassembler for IBM PC clones that disassembles HP 48SX RPL and machine code. You download a copy of the RAM *and* ROM in your HP 48SX to your PC, and run Voyager. Using Voyager, you can then view the disassembled or unthreaded code. Unfortunately (or fortunately), Voyager uses the HP mnemonics, and not Alonzo Gariepy's mnemonics. Voyager is available from the HP BBS (I think), via anonymous ftp from the HP BBS (hpcvbbs.cv.hp.com [15.255.72.16]), and from various bulletin boards (the HP handhelds forum in CompuServe also has a copy). The latest version is 1.07. ****************************************************************** 6.2 Is there a C compiler for the HP48? Yes. Alex Ramos has written a GNU C back-end for the Saturn processor. Location: ftp.engr.latech.edu:/pub/alex/hp48/ (look around for latest version). ****************************************************************** 6.3 Why do SysRPL programs run faster than UserRPL programs? SysRPL is the built in language, custom designed for the Saturn processor used the HP48 family. UserRPL is a subset of SysRPL. The main reason for the speed difference is the fact that UserRPL commands have built in argument and error checking. In SysRPL, the programmer is responsible for all error checking to avoid memory clears. ****************************************************************** 6.4 How do I know what library ID number to use for my program? [Note: While this document says 48SX, it is also valid for GX] HP 48SX Library ID Numbers Paul Swadener, HP Developer Support. 03 Sep 1993 The HP 48 will become confused if two or more libraries currently in the machine have the same ID numbers. To help third party developer efforts, HP maintains a list of HP 48 Allocated Library ID Numbers. Below are the rules. The penalty suffered from not following these rules is that your library may not work if another library is in the machine with the same number. a. Don't use any number in the range 000h through 300h. These are reserved for HP's use. b. Don't use any number in the range 301h through 5A0h unless you have been assigned that number by HP. These numbers are reserved for developers who are in the business of distributing their software, that is, Independent Software Developers. To apply for the allocation of an ID# contact Paul Swadener, Hewlett-Packard Company, 1000 NE Circle Blvd., Corvallis, OR 97330, fax number 503-750-2192, internet address paul_swadener@hp6400.desk.hp.com. You must be a registered developer and supply the name/nature of your product, and current shipping address and phone/fax/internet add./etc. c. Use a number in the range 5A1h through 600h for experimental work and software. HP does not track the use of these numbers. d. Use a number in the range 601h through 6F6h for your personal applications, those which you will share, if at all, only to a known set of other users for personal uses. HP does not track the use of these numbers. e. Don't use any number in the range 6F7 through 6FF, as these numbers were allocated before the formal allocation process in b. was instituted. f. Don't use any number above 700h. These are also reserved for use by HP. Hope this helps clear up how library numbers work. ----- end ----- ****************************************************************** 6.5 What information is there on the internals of the HP 48? The most important documents are part of the System RPL development tools, a completely unsupported set of IBM PC tools created by HP Corvallis (the creators of the HP 48). The tools, which run on MSDOS machines only, contain documentation on: * System RPL (which includes information on HP 48SX display graphics, keyboard control, etc.). * Saturn assembly language (Saturn is the name of the CPU in the HP 48), including information on a Saturn assembler. * A system RPL compiler. * A Saturn object file linker. The completely unsupported system RPL development tools and documentation are available to customers free of charge to help them in HP 48 application development, subject to certain legal terms, which are given with the tools (they're too long and detailed to give here). You can get a copy in one of the following ways: * Anonymous ftp to hpcvbbs.external.hp.com [15.255.72.16]. * Get Goodies Disk #4. For info, see Appendix I. ****************************************************************** 6.6 Are there any viruses for the HP48? There are several, and most are French. In the United States, a virus called the Michigan virus erupted a couple of years ago. There is a program on Goodies Disk #8 that checks for the Michigan Virus. Currently, viruses do not pose an appreciable threat on HP48's ****************************************************************** 6.7 How do I store fields of variable length string data in a compact, rapidly accessible manner that does not require the overhead of storing strings in lists? See Appendix E, Compact Data Storage, near the end of this file. ****************************************************************** 6.8 What is Vectored Enter, and how do I use it? [NOTE: This works in the G/GX series as well] The HP 48SX manuals do not document a very powerful feature that we call Vectored ENTER, that allows you in effect to redefine or bypass the command line parser and to have a shot at the stack etc. after the command line has been executed. Keys that execute an automatic ENTER perform a two-step process: 1. The command line is parsed and evaluated. 2. The key definition is executed. When flags -62 and -63 are both set, the system extends this process as follows: 1. The current path is searched for a global variable named *aENTER (here *a is the Greek alpha character--character 140). If present, the command line is entered as a string object and *aENTER is executed. If absent, the command line is parsed and evaluated normally. 2. The key definition is executed. 3. The current path is searched for a global variable named *bENTER (*b is Greek beta--character 223). If present, then a string representing the key definition is put on the stack, and *bENTER is executed. The string is the key definition object's name if it is a command, XLIB name, global or local name, or an empty string for other object types; its primary purpose is to implement things like the TRACE mode on other calcs, where you can print a running record of what you do. A simple example of the use of *aENTER is to create a more convenient binary calculator, where *aENTER slaps a # on the front of the command line so you don't have to bother when entering numbers. ****************************************************************** 6.9 What is WSLOG? It is an undocumented feature which stands for Warm Start LOG. Type in WSLOG in caps, and calc will list the time and cause of the last four warm starts. This feature helps HP tech to fix your baby, in case it crashes. 0 - log cleared by then 1 - low battery condition, auto deep sleep mode invoked to save battery 2 - hardware failed during IR (time out) 3 - run through address 0 4 - system time corrupt 5 - deep sleep mode wake up (alarm?) 6 - unused 7 - CMOS test word in ram was corrupted 8 - abnormality was detected about device config 9 - corrupt alarm list A - unused B - card module pulled C - hardware reset D - system RPL error handler not found in run stream E - corrupt config table F - system RAM card pulled ****************************************************************** 6.10 What are SYSEVALs? SYSEVALs are addresses that point directly to a location in the HP48's ROM. Many SYSEVAL hex strings are System-RPL commands. Because there is no arguement checking, it *VERY* easy to clear your HP48's memory. In the file SYMBOLS.GX, HP designates three types of entries. The first type is supported. This means that a particular entry will work on ALL versions of the HP48 and HP supports the use of this entry. The second type of entry is unsupported. This means that HP does not support the use of this entry and it will not be the same on all versions of the HP48. The third type is unsupported-static. This is an entry to HP does not support the use of, but it is the same for all versions. ****************************************************************** 6.11 What are some useful SYSEVALs? For a complete list of supported entry points, see the file ftp.cis.com: /pub/hp48g/uploads/48entry.txt In System-RPL, different HP object types are refered to by symbols. These symbols are used to construct stack diagrams, which tell the user how to use System-RPL commands. Here are some of the symbols: Symbol Type Example ------ -------------------- ----------------- $ string ABCDEFG id Global Name 'A' arry Array [[ 1 2 ] [ 3 4 ]] grob HP48 Graphics Object Graphic 131x64 # Binary Number <1h> symb Symbolic Object 'A^2+B^2' To interpret the stack diagram: Everything on the left of the -> arrow is the input. That needs to be on the stack before executing the syseval. The symbols show you which kinds of data to put on the stack. Once you execute the syseval (see next paragraph), the HP will return the data back that is indicated on the right side of the arrow. To use the following entries, do the following: 1. Make sure (triple check) that the appropriate arguements are on the stack. 2. Push Left-shift /, you should get a # on the command line. 3. Enter the hex string exactly as shown in the hex string column. 4. Put an small case h at the end of the hex string. 5. Press enter. 6. Type SYSEVAL. Hex String Sys-RPL Name Catergory Stack Diagram ---------- ------------ --------- ------------- 15777 NULLID Supported ( -> '' ) 30794 VERSTRING ( -> HPHP48-? ) 3A328 MakeStdLabel ( $ -> grob ) 3A3EC MakeDirLabel 3A38A MakeBoxLabel 3A44E MakeInvLabel 3A1FC DispMenu.1 ( -> ) 05F42 GARBAGE ( -> ) 41F65 WaitForKey ( -> #KeyCode #Plane ) 353AB SYMB>IDS Unsupported-static ( symb -> list ) 40D25 LockAlpha Supported ( -> ) 40D39 UnlockAlpha 3AA0A 1A/LockA 44C31 DoNewMatrix ( -> arry ) 44FE7 DoOldMatrix ( arry -> arry' T/F ) 1314D TOADISP ( -> ) 13135 TOGDISP 39531 ClrDA1IsStat 130AC RECLAIMDISP 4E347 TURNMENUON 05B15 $>ID ( $ -> id ) 05BE9 ID>$ ( id -> $ ) 3A1E8 DispMenu ( -> ) 39BAD DispStack Unsupported-static ****************************************************************** 6.12 What are LIBEVALs? [This answer was copied from Joe Horn's libeval.doc from GD #9] The G/GX has a new command: LIBEVAL. It's sort of like SYSEVAL, but instead of taking a memory address (which could be ambiguous due to the G/GX's massive need for bank switching), it takes XLIB numbers. It's a back door for us hackers. Unlike the ELSYSEVAL command in the HP Solve Equations Library Card, which only worked for the libraries in that card, LIBEVAL works for *any* library, including the hidden ones in the operating system. CAUTION: LIBEVAL, like SYSEVAL, is both powerful and dangerous. If used with incorrect input(s) and/or in the wrong environment, it can nuke your memory. LIBEVAL takes a single user binary integer of the form #LLLFFFh, where LLL is the library ID (hex), and FFF is the three-digit function number (hex, with leading zeros if necessary). For example, the R->B command is XLIB 2 9. So you can perform a R->B by executing #2009h LIBEVAL. Try it: 10 #2009h LIBEVAL -> #Ah. Using it for named commands is unnecessary, but the G/GX is highly XLIB oriented (again, due to the need for bank switching), and there are many useful and interesting features accessible only thru LIBEVAL. A prime example is the G/GX's inability to programmatically launch the new dialog boxes. Suppose a program needs to print things; it would be awfully nice to be able to throw the I/O PRINT dialog box onto the screen. The User's Guide is no help here, and in fact it would seem impossible to do. But #B4197 LIBEVAL is all it takes! Try it. Cool, huh? ****************************************************************** 6.13 What are some useful LIBEVALs? (GX) Function GX -----------------------------------------------------+---------- | Creates an XLIB name from two bints | #7E50h Displays message box with grob | #B1000h CMD last command window | #B2000h CHARS application | #B2001h MODES application input form | #B41C1h flag browser (returns t/f to level 1, just drop it) | #B41CFh MEMORY application (aka variable browser) | #B41D7h SOLVE application choose box | #B4000h solve equation input form | #B4001h solve difeq input form | #B4017h solve polynomial input form | #B402Ch solve linear systems of equations input form | #B4033h solve TVM input form | #B4038h PLOT input form | #B4045h SYMBOLIC application choose box | #B4113h integrate input form | #B4114h differentiate input form | #B4122h Taylor polynomial expansion input form | #B412Bh Isolate a variable input form | #B412Dh solve quadratic input form | #B4130h manipulate expression input form | #B4131h TIME application choose box | #B4137h Set alarm input form | #B4138h Set time and date input form | #B415Bh Alarm browser (aka alarm catalog) | #B416Eh STAT application choose box | #B4175h single-var stat input form | #B4176h frequencies input form | #B417Dh fit data input form | #B417Fh summary stat input form | #B418Fh I/O application choose box | #B4192h Send to HP48 input form | #B4193h Print input form | #B4197h Transfer input form | #B41A8h Get from HP48 (immediate) | #B50FFh recalls the contents of the reserve variable Mpar | #E4012h ****************************************************************** 6.14 What is the format of a GROB object? [NOTE: I received two very good answers to this question, and each cater to a different kind of user, so I will include them both.] ANSWER A: The easy way: ------------------------------------------------- First, add pixels to the right-hand edge to make the horizontal dimension a multiple of 8, then separate the object horizontally into groups of four pixels. Suppose, for example, you want to make this into a 22x8 GROB: ---------****--------- --------**--**-------- -------**----**------- ********------******** ********------******** -------**----**------- --------**--**-------- ---------****--------- You would break it up like this: ---- ---- -*** *--- ---- ---- ---- ---- **-- **-- ---- ---- ---- ---* *--- -**- ---- ---- **** **** ---- --** **** **-- **** **** ---- --** **** **-- ---- ---* *--- -**- ---- ---- ---- ---- **-- **-- ---- ---- ---- ---- -*** *--- ---- ---- Notice, I've added two columns of pixels to make it 24x8. Now, each group of four can be represented by a hexadecimal digit. ---- 0 --*- 4 ---* 8 --** C *--- 1 *-*- 5 *--* 9 *-** D -*-- 2 -**- 6 -*-* A -*** E **-- 3 ***- 7 **-* B **** F Now, replace each group of four pixels with its corresponding hexadecimal digit: 00E100 003300 081600 FF0CF3 FF0CF3 081600 003300 00E100. So, your final grob is: GROB 22 8 00E100003300081600FF0CF3FF0CF308160000330000E100 ------------------------------------------------- ANSWER B: The technical way: ------------------------------------------------- NOTE 1: Every HP object format is described in RPLMAN.DOC, see this file for more info. NOTE 2: All HP objects are (of course) nibble based. When viewing them on the PC, which is byte based, the low order nib is always read and written first. NOTE 3: HP objects begin with a 5 nib prolog which identifies the object type (and other things). This is the prolog for a grob object.. 02B1E pr HP:DOGROB 02B1E @ Graphic prolog (/U GROB) NOTE 4: Every 5 nib sub field of an object, such as prolog, length, etc., is read in reverse order (low nib first). The grob prolog would appear E1B20, or 1E 2B x0 in a hex dump on a PC. The least significant nibble of the next field begins right at the x in x0. NOTE 5: It is customary to always work with HP objects on the PC with the HPHP48-E header (substitute your favorite rom version letter) preceding the prolog. This gives no hassles when downloading via Kermit or Xmodem. PC hex dump of a grob object.. ( remember each 5 nib field is reverse order ) 1_ HPHP48-E 8 byte ascii string with msb off 2_ 5 nib prolog, 02B1E (hex) 3_ 5 nib length field, includes length of body AND length and height fields! does not include 5 nib prolog. So, the total #nibs the grob object takes in HP memory is this number + 5. Important! 4_ 5 nib height field ( yes, it is height then width ) 5_ 5 nib width field 6_ body (described below) The grob object looking at it using command line EDIT on the HP.. GROB < body > The body is exactly the same looking at it on a PC hex dump or on the command line EDIT. Just remember to read low nibble first for hex dump. The grob body ------------- Because of hardware restrictions, the number of nibs required to represent one horizontal line must be even (byte aligned). So, use this method to calculate the number of nibs in one line.. (pascal example) nibs:= width div 4; if nibs mod 4 <> 0 then nibs:= nibs + 1; if odd(nibs) then nibs:= nibs + 1; Then to get the #nibs in the entire body, multiply it by height. ! Remember, the length field must be this total body length + 15 ! For example, a 131 wide grob requires 34 nibs for one horizontal line, where 5 of the bits are unused. The first nib in the second line begins at nib 35 for this grob, etc. If the grob is 64 lines, then the body is 2176 nibs. Add 5 for the prolog, 5 for the length field, 5 for height, and 5 for width. Total object size (on the HP) is 2196 nibs, or 1098 bytes. The length field should contain 2196 minus 5 for prolog = 2191 (0088F hex) Note that for each nib, the right-most bit is the left-most pixel on the screen. This is nearly always the case for graphic memory. ****************************************************************** 6.15 What is the AUR and what information does it contain? text written by Jarno Peschier jpeschie@cs.ruu.nl In this text I will try to answer a number of frequently asked questions about the HP 48G Series Advanced User's Reference Manual. In the remainder of this text I will use the common abbreviation AUR when referring to this book. The questions I will try to answer are: - What is the AUR? - What information does the AUR contain? - Do I need the AUR? - Why didn't HP supply the AUR with every HP48? - Where can I get the AUR? - Does the AUR contain any SYSEVALs and/or LIBEVALs? - Does the AUR say anything about SysRPL and/or ML? QUESTION: What is the AUR? ANSWER: The AUR is just what it's name tells you it is: it's a reference manual for the HP 48G Series. It has the same outside appearance as the HP 48G Series User Guide (the manual you get with your HP48G or HP48GX when you buy it), except that it's much thicker (just under 4 cm). The AUR contains about 650 pages of useful information about your calculator. QUESTION: What information does the AUR contain? ANSWER: The AUR contains information about UserRPL programming, quite a lot of programming examples, a complete command reference for all the (UserRPL) commands the G Series knows and reference lists about all equations, error and status messages, units, etc. Of course it has an extensive index at the back of the book. Chapter 1: Programming Contains: Understanding Programming, Entering and Executing Pro- grams, Viewing and Editing Programs, Creating Programs on a Com- puter, Using Local Variables, Using Tests and Conditional Struc- tures, Using Loop Structures, Using Flags, Using Subroutines, Single-Stepping through a Program, Trapping Errors, Input, Stopping a Program for Keystroke Input, Output, Using Menus with Programs, Turning Off the HP 48 from a Program. Chapter 2: Programming Examples Contains: Fibonacci Numbers, Displaying a Binary Integer, Median of Statistics Data, Expanding and Collecting Completely, Minimum and Maximum Array Elements, Applying a Program to an Array, Converting Between Number Bases, Verifying Program Arguments, Converting Procedures from Algebraic to RPN, Bessel Functions, Animation of Successive Taylor's Polynomials, Programmatic Use of Statistics and Plotting, Trace Mode, Inverse-Function Solver, Animating a Graphi- cal Image. Chapter 3: Command Reference This chapter contains one entry for every command (except for RULES) from ABS to ZVOL and + to ->. Each entry contains: a de- scription of what the command does (with stack diagrams), ways in which you can access it from the keyboard (with submenu you need, or if you can only type it in in Alpha-mode), which flags the command is affected by, remarks and a list of related commands. Often a command has one or more example programs too. This chapter is the bulk of the whole book; it's 424 pages thick. Chapter 4: Equation Reference This chapter contains one entry for every section in the built in Equation Library (EQLIB). Each entry contains: a table of used variables and then for every set of equations an entry with some more info about the equation set, the picture that goes with it (if any), all the equations and one or more sets of example numbers and solutions. The end of the chapter has a list of references from which all the equations were taken. Appendix A: Error and Status Messages This chapter contains two tables with all possible messages. The first has them sorted alphabetically and shows the message, the meaning and the ERRN number in hex. The second has them sorted on ERRN number (and thus on category) and only contains the number in hex and the message itself. Appendix B: Table of Units This chapter contains a table with all units the HP 48G Series knows. It contains the unit (both the name you use on the calcula- tor as well as the full name) and the value it represents in SI units. Appendix C: System Flags This chapter contains a table with all the system flags of the HP 48G Series. The table contains the number followed by a descrip- tion of it's use and the results you get when the flag is set or clear. Appendix D: Reserved Variables This chapter contains a table with all the reserved variables of the HP 48G Series (ALRMDAT, CST, der-names, EQ, EXPR, IOPAR, MHpar, Mpar, n1/n2/..., Nmines, PPAR, PRTPAR, s1/s2/..., VPAR, ZPAR, SigmaDAT and SigmaPAR) with complete information about what they are used for and about all possible parameters that can be put into them. Appendix E: New Commands This chapter lists all the commands that are new to the HP 48G Series, with a brief description of what the commands do. A list like this can be found elsewhere in the HP48 FAQ list as well. Appendix F: Technical Reference Contains: Object sizes, Mathematical simplification rules used by the HP 48, Symbolic differentiation patterns used by the HP 48, The EquationWriter's expansion rules, References used as sources for constants and equations in the HP 48 (other than those in the Equation Library). Appendix G: Parallel Processing with Lists This chapter contains info on parallel processing that makes UserRPL look even more like a real functional programming language by letting (almost) all the commands function on lists of parame- ters as well (i.e. adding map capabilities to all internal com- mands). QUESTION: Do I need the AUR? ANSWER: Yes, you do. I my humble opinion the AUR is just The Manual, Part II and *every* owner of a HP48G or HP48GX should have it, especially if you are (going to be) programming in UserRPL for any reason. A lot of the frequently asked questions that pop up on comp.sys.hp48 are simply questions that are meant to be answered by the AUR. QUESTION: Why didn't HP supply the AUR with every HP48? ANSWER: Since you're reading this FAQ, you're probably gifted: you are not an average HP48 user. The set of average users probably consists mostly of people that simply never program their HP48 in any way (Wow, can it do that too?!). In this case, they will never take one look at the AUR ever again, and since this is quite a thick book it would be a waste of money, trees, the environment, transportation costs, etc. to supply the AUR in every box. This is probably why HP made it an extra accessory for those people that really need it. I think... QUESTION: Where can I get the AUR? ANSWER: You should be able to buy (or order) it from the same shop where you purchased your calculator. The HP part number is 00048- 90136. The book does not seem to have an ISBN number; it's a HP part, not a book.. QUESTION: Does the AUR contain any SYSEVALs and/or LIBEVALs? ANSWER: Yes, it contains exactly one. The example for the SYSEVAL command tells you that #30794h SYSEVAL gives you the version of your HP48. My HP48GX rev. P gives HPHP48-P. QUESTION: Does the AUR say anything about SysRPL and/or ML? ANSWER: No, it doesn't. ****************************************************************** 6.16 What is the syntax for the INFORM, CHOOSE, and MSGBOX commands on the G/GX? Based on a posting on HPCVBBS by Cary McCallister (sysop). Revised by Joe Horn. +--------+ | INFORM | +--------+ Create a Custom Input Form INPUT: 5: title 4: { fields } 3: 2: { reset_values } 1: { initial_values } OUTPUT: Either: 2: { new_values } 1: 1 or: 1: 0 PURPOSE: INFORM creates full-screen custom input forms, similar to those of the built-in applications. ARGUMENTS: title is displayed in font 1 (small) at the top center of the screen. It may contain any number of characters, including 0, but, at most, 31 characters will be displayed. Strings longer than 31 character will be truncated to 30 characters and displayed with a trailing ellipsis. Line feed characters are displayed as boxes. { fields } is a list of the form { field1 field2 ... fieldn } where each field is any one of these forms: 1. label 2. { label help } 3. { label help type1 type2 ... typen } 4. { } The label is a string of arbitrary text from 0 to 26 characters long (longer strings will be truncated to 25 characters with a trailing ellipsis). The help is displayed immediately above the menu area as a helpful prompt for the user. The object type specifications list the one or more object types allowed in the field, in the form the TYPE command returns. If unspecified, the default help text is blank and the field will accept all object types. If a field specification is an empty list, no field is produced; instead, the field to the immediate left (if any) is expanded to fill the omitted field's space. This allows further customization of form layout; for example, to have two fields in one row and three fields in the next. may be any one of the following objects: 1. { } 2. columns 3. { columns } 4. { columns widths } is the number of columns that the display will be divided into. E.g., if is 2 and there are two fields, they will be displayed side by side rather than one above the other. is the tab width between the left edge of each title and its field; this makes vertical allignment of fields possible. Titles longer than one tab width will cause the tab to be repeated automatically. If unspecified, the default column count is one and the default tab stop width is three. { reset_values } is a list of values one per input field which replace the values of all fields when the {RESET} key is pressed and Reset all is selected. This list must either be empty or have exactly one item per field corresponding to the { fields } list above. If empty, then all fields are deemed unspecified (i.e., blank). Each reset value must match the type require by the form field. Selected fields may be marked as unspecified by using NOVAL as the reset value. { initial_values } is a list of values one per input field which specify the start-up values of all fields when the INFORM command is invoked. This list must either be empty or have exactly one item per field corresponding to the { fields } list above. If empty, then all fields are deemed unspecified (i.e., blank). Each initial value must match the type require by the form field. Selected fields may be marked as unspecified by using NOVAL as the initial value. RESULTS: INFORM returns the new field values { new_values } as a list to level 2 and the real value 1 to level 1 if the user completes the input form by pressing {OK} or [ENTER]. The list will contain one item per field. Each item will either be the last input value for the corresponding field, or NOVAL if the field was unspecified. INFORM returns the real value 0 to level 1 if the user terminates the input form by pressing {CANCL} or [CANCEL]. REMARKS: NOVAL is basically a command (an XLIB name) that does nothing when evaluated. It can, however, be compared via ==, SAME and POS. +--------+ | CHOOSE | +--------+ Create a User-Defined Choose-Box INPUT: 3: title 2: { items } 1: OUTPUT: Either: 2: { chosen_item } 1: 1 or: 1: 0 PURPOSE: CHOOSE creates a user-defined choose-box: a displayed box containing items from which the user can choose one. CHOOSE displays a standard choose box (normal, not maximized; single-pick, not multi-pick) with an optional title line. ARGUMENTS: title if any, is displayed in font 1 (small) in the top center of the box. It may contain any number of characters, including 0, but, at most, 22 characters will be displayed. Strings longer than 22 character will be truncated to 21 characters and displayed with a trailing ellipsis. Line feed characters are displayed as boxes. If there are more than four items such that the scroll arrows are displayed, the maximum number of title characters is reduced to 21. The title text is displayed in the title area in character font 1 (the menu font). If the title string is empty, no title area will be created in the choose box, and the whole box will be devoted to the items. { items } is a list of arbitrary objects. Each item occupies one line in the choose box and is displayed in its command line form. Only the first 14 characters of the displayed object will be shown (13 if the scroll arrows are present). If an item contains more than 14 (13) characters, it will be truncated to 13 (12) and the final character will be replaced by an ellipsis. If every item is a list of exactly two objects, the first object will be displayed and the second returned if the item is selected. If the number of items exceeds 4 with a title and 5 without, scroll arrows will be displayed, and moving the highlight past the top or bottom of the box will scroll through the undisplayed items. specifies the initial field to be highlighted when the display first comes up (ordinarily 1). A value of 0 indicates that no field is to be highlighted and that the {CANCL} key is to be omitted from the menu, making the choose box act as an informational display without user selection. RESULTS: CHOOSE returns the chosen item (or the second object in a two-element item list) and the real number 1 if the user completes the choose box by pressing {OK} or [ENTER]. CHOOSE returns the real number 0 if the user terminates the choose box by pressing {CANCL} or [CANCEL]. +--------+ | MSGBOX | +--------+ Create a simple Message Box INPUT: 1: Message_string OUTPUT: None PURPOSE: MSGBOX creates a simple pop-up message box over the current display, with a 3D shadow to make it easy to recognize, and containing any arbitrary text. ARGUMENTS: Message_string is any string of characters. The text is displayed in font 2 (medium size), left justified, with a maximum line length of 15 characters. Longer lines are broken into multiple lines automatically, at word breaks when possible, up to a maximum of 5 lines. Line feeds may be included to force line breaks. The minimum number of lines is 2, so single-line messages will have a blank line at the bottom of the box. RESULTS: None. MSGBOX is exited when the user presses CANCEL, ENTER, or OK, but nothing is returned to the stack. ------------------------------------------------------------------- Here are some examples from Jarno Peschier: Some examples of INFORM, CHOOSE and MSGBOX on the HP48GX. Just download the entire directory to your calculator and try the programs, change them, modify them and do everything else with them you can think of. ;-) SIMPLE: This program will demonstrate a simple INFORM input screen with 3 fields (one without type restrictions, one for real or complex numbers and one for strings) with some additional layout. MSGBOX and CHOOSE (with the third parameter equal 0) are used to show what the results of the INFORM command are. The list the INFORM command returns is left on stack so you can see what it looks like. ANGLE: This program will demonstrate the use of CHOOSE. It lets you choose between the three possible angle modes (DEG, RAD, GRAD) and when you choose one of them, the corresponding mode is set by evaluating a tiny program containing the right command. ISOLATE: This program will demonstrate the use of INFORM in ways that it is used in the calculator itself. It is a very simple shell around the ISOL command (isolation of a variable from an algabraic). It remembers it's settings in a variable called IPAR and the next time the program is run this will be the default values of the INFORM command, so you can isolate for a different variable using the same algabraic you used before, without retyping it. MSGBOX is used for error messages. TYPELIST: This program will again demonstrate the use of CHOOSE. It extracts the names of all the internal types of the HP48GX from ROM and shows them in a CHOOSE-box (alphabetically sorted by name). If you choose one of them, its TYPE number is shown in a MSGBOX. MATHQUIZ: This final program will demonstrate the use of INFORM with variable field descriptions and default/reset values. It's will show you 8 fields that are simple math questions for you to solve (addition and subtraction). You can enter all the results and then you will see if your answers were by resetting a field (or all fields). ;-) === CUT HERE === %%HP: T(3)A(D)F(.); DIR SIMPLE << IF AN EXAMPLE OF INFORM { { } { } { } { OBJECT: ALL OBJECTS ARE ALLOWED HERE } { } { NUM: ENTER A (COMPLEX) NUMBER 0 1 } { NAME: ENTER YOUR FULL NAME 2 } { } { } } { 3 1 } { << 440 1 BEEP >> (0,1) JARNO PESCHIER } { NOVAL 0 N.N. } INFORM THEN DUP YOU ENTERED: SWAP 0 CHOOSE DROP The list that INFORM produced is still on the stack. ELSE You cancelled the INFORM. END MSGBOX >> ANGLE << IF ANGLE MEASURE { { Degrees DEG } { Radians RAD } { Grads GRAD } } 1 CHOOSE THEN EVAL END >> ISOLATE << IF A VERY SIMPLE VARIABLE ISOLATOR { { } { EXPR: ENTER THE EXPRESSION 9 } { VARIABLE: ENTER VARIABLE TO ISOLATE 6 } } { } { } IF 'IPAR' VTYPE 5 =/ THEN { } ELSE 'IPAR' RCL END INFORM THEN DUP 'IPAR' STO IF DUP NOVAL POS THEN DROP You must enter an expression and a variable! MSGBOX ELSE OBJ-> DROP IFERR ISOL THEN DROP2 Error: ERRM + MSGBOX END END END >> TYPELIST << IF ALL HP48 TYPES (IN ROM) 0 27 FOR msg IFERR msg 263 + DOERR THEN ERRM END msg 2 ->LIST NEXT 28 ->LIST SORT 1 CHOOSE THEN That one has type number SWAP + . + MSGBOX END >> MATHQUIZ << IF A SIMPLE MATH QUIZ 1 8 FOR i ' RAND 100 * IP + IF RAND .75 < THEN + ELSE - END + RAND 100 * IP + ' + ENTER RESULT # i + 0 3 ->LIST NEXT 8 ->LIST DUP << -> X << X HEAD 2 OVER SIZE 1 - SUB = + X 1 ROT PUT >> >> DOLIST SWAP << -> X << X HEAD OBJ-> EVAL >> >> DOLIST 3 ROLLD { 2 5 } 4 PICK { } INFORM THEN IF DUP NOVAL POS THEN DROP2 You didn't fill all the blanks. ELSE IF SAME THEN All answers were correct! ELSE Not all answers were correct. END END MSGBOX ELSE DROP END >> END === CUT HERE === ****************************************************************** END PART 2 OF 4 -- Keith Maddock--madd0118@nova.gmi.edu--HomePage:http://www.gmi.edu/~madd0118 Of course I'm crazy, but that doesn't mean I'm wrong. I'm mad but not ill GMI Engineering & Mgt Inst: So2,ME-Auto, Flint, MI/Freightliner Corp,PDX,OR comp.sys.hp48 FAQ Maintainer (GX-R), Eagle Scout, Delta Tau Delta EI-B, :-) ---------------------------------------------------------------------------- [ LAS home page | UNIS | CURL | NewsPages ] [Oxford University Libraries Automation Service World Wide Web Server] ---------------------------------------------------------------------------- Archive-name: hp/hp48-faq/part3 Last-modified: 06/20/1995 ********************************************************* HP 48 S/SX/G/GX Frequently Asked Questions List ********************************************************* PART 3 of 4: Appendices A - H Currently Maintained by: Keith Maddock (madd0118@nova.gmi.edu) Originally Compiled by: Darryl Okahata Key: ! =new Q/A + =revised answer PART 3: * Appendix A: ASC-> and ->ASC functions: * Appendix B: Using non-HP RAM cards in your HP 48SX: * Appendix C: What's new in the HP 48G/GX * Appendix D: The EquationWriter Bug & Rev J Bugfix * Appendix E: Compact Data Storage: * Appendix F: Various useful functions * Appendix G: Rotation rate to angular frequency conversion bug * Appendix H: How to make a Serial Cable for your HP48 ****************************************************************** * Appendix A: ASC-> and ->ASC functions: Note: Since this appendix was written by Bill, I dare not modify it. However, I wish to note that ASC-> and -ASC do work on both the SX and GX versions. object from the stack and converts it to a string, in which each nibble of the object and its checksum is converted to a character 0-9 or A-F. (The object must be in RAM, otherwise a ROM Object error is returned.) For sake of easy after every 64 characters. ASC-> is the inverse of ->ASC: it takes a string created by ->ASC and converts it back into an object. When you transmit the encoded strings, be sure not to change the string; ASC-> uses the checksum encoded in the string to verify that the decoding is correct. An Invalid String error is returned if the result object does not match the original object encoded by ->ASC. When you upload a string to your computer, use HP 48 translate mode 3 so that the HP 48 will convert any CR/LF's back to LF's when the string is later downloaded. Two versions of ASC-> are included here. The first (P1) is in HP 48 user language, using SYSEVALs to execute system objects. P2 is a string that the setup program uses P1 to decode into an executable ASC->--then P1 is discarded. The second version is more compact than the first, and also uneditable and therefore safer (but it can't be transmitted in ASCII form, which helps to make the point of this exercise). Here are the programs, contained in a directory: (start) %%HP: T(3)A(D)F(.); DIR << IF DUP TYPE 2 =/ THEN Not A String DOERR END RCWS -> ws << 16 STWS #0 NEWOB SWAP DUP SIZE IF DUP 4 < THEN DROP SWAP DROP Invalid String DOERR END DUP 65 / IP - 4 - # 18CEAh SYSEVAL OVER # 61C1Ch SYSEVAL SWAP # 6641F8000AF02DCCh # 130480679BF8CC0h # 518Ah SYSEVAL # 19610313418D7EA4h # 518Ah SYSEVAL # 7134147114103123h # 518Ah SYSEVAL # 5F6A971131607414h # 518Ah SYSEVAL # 12EA1717EA3F130Ch # 518Ah SYSEVAL # 280826B3012808F4h # 518Ah SYSEVAL # 6B7028080BEE9091h # 518Ah SYSEVAL # BE5DC1710610C512h # 518Ah SYSEVAL # 705D00003431A078h # 518Ah SYSEVAL # 3D8FA26058961431h # 518Ah SYSEVAL # 312B0514h # 518Ah SYSEVAL # 18F23h SYSEVAL DUP BYTES DROP 4 ROLL IF == THEN SWAP DROP ELSE DROP Invalid String DOERR END ws STWS >> >> D9D20D29512BF81D0040D9D20E4A209000000007566074726636508813011920 140007FE30B9F060ED3071040CA1304EC3039916D9D2085230B9F06C2A201200 094E66716C696460235472796E676933A1B21300ED30FD5502C230C1C1632230 CCD20FA0008F14660CC8FB97608403104AE7D814313016913213014117414317 414706131179A6F5C031F3AE7171AE214F8082103B6280821909EEB0808207B6 215C0160171CD5EB870A13430000D50713416985062AF8D341508813044950B9 F06BBF06EFC36B9F0644230C2A201200094E66716C696460235472796E676933 A1B2130B21300373 P3 @->ASC. To be converted by ASC->. D9D20D2951881304495032230FD5502C230A752688130ADB467FE30322306AC3 0CB916E0E30CBD30F6E30C1C1632230CCD20DC0008F14660CC8FB97608403104 AE7D8143130169174147061741431311534AC6B4415141534946908D9B026155 4A6F53131F3AE731A014C161AE215F08082103A6280821939EEC08082170A621 4C161170CD56B870A18503430000D5071351796A9F8D2D02639916D9D2085230 C2A209100025F4D402F426A6563647933A1B2130A2116B213033C0 SETUP @Automatic setup program << P2 P1 'ASC->' STO P3 ASC-> '->ASC' STO { P1 P2 P3 SETUP } PURGE >> END (end) Installation instructions: 1. Edit the above text between (start) and (end) into a text file named CONV (for example). Be sure that you leave the strings exactly as entered above, with no extra spaces or other invisible characters at the beginnings or ends of the lines. 2. Set the HP 48SX into ASCII transfer mode. 3. Using Kermit, download CONV text file to the 48, verify its checksum (6C8Ah). 4. Execute CONV to make it the current directory. 5. Execute SETUP. 6. The directory CONV now contains ASC-> and ->ASC, ready to use. To archive the decoded versions of ASC-> and ->ASC back on your computer, be sure to set the HP 48SX in binary transfer mode before uploading. Disclaimers: + Use the programs at your own risk. Any time you delve into the SYSEVAL world, there are increased dangers. Archive your 48 memory before experimenting with these programs! Also, verify the checksums of objects defined above to make sure they have been downloaded correctly, before executing ASC->. + I will not answer questions about how the programs work. This is not because of any great secrecy, but rather because it's hard to give any answer that doesn't lead to more questions, and more, and more... + 48 hackers are welcome to mine any nuggets they can from the programs, and from the fact that ->ASC is a convenient way to decompile an object. ****************************************************************** * Appendix B: Using non-HP RAM cards in your HP 48SX: If you use RAM cards that are NOT designed for the HP 48SX, it is possible to severely damage your HP 48SX. If you want to be safe, you should only use RAM cards designed for the HP 48SX. Here is an edited discussion from comp.sys.handhelds. There has been a substantial amount of comment regarding the memory cards for the HP48SX and their prices. My purpose in this response is not to attempt to justify any particular price, but rather to present the technical reasons why there is a substantial price difference between the memory cards and other types of expansion memory for PC's, for example, with which users are probably more familiar. Some users have correctly pointed out that the memory in the cards is static RAM rather than dynamic RAM commonly used in PC's. Dynamic RAM uses one transistor and a capacitor for each bit of memory whereas static RAM requires either four transistors and two resistors, or six transistors. The net result is that an equivalent amount of static RAM is much larger and therefore much more expensive than dynamic RAM. The advantage is that static RAM doesn't need to continually be running and drawing current (refresh cycles) to retain the contents of memory. In addition, the static memory used in the cards is not just any static memory, but is specially processed and/or selected for very low standby current. This allows the backup battery in the card to keep memory alive for a very long time, rather than requiring the user to replace it every few months. The special processing and/or special testing to select low current parts adds to the already higher cost of the static RAM chips. The standard molded plastic DIP package used for most integrated circuits, including memory chips, is relatively inexpensive because of its simplicity and the huge volumes. Unfortunately, these packages are too large to put into a memory card. Therefore, the card manufacturer mounts the individual silicon memory chips directly on a special thin PC board together with the memory support chips. Because multiple chips are being placed in a single hybrid package in a special process which has lower volume, yields are lower and this again causes the cost to be higher. Indeed, the yield becomes exponentially worse as the number of chips and interconnections increases in such a packaging process. In addition to the memory chips themselves, two more integrated circuits and several discrete components are required for power and logic control. A bipolar technology chip senses the external voltage and switches the power to the chips from the internal keep-alive battery as needed. A CMOS gate array chip protects the memory address and data lines from glitches/ESD when the card is not plugged in. This chip also generates the proper enabling signals when there are multiple memory chips in the card, as is presently the case with the 128 Kbyte RAM card. These chips must be designed for extremely low current, just as the memory chips are. In addition to the battery and the battery holder, the other mechanical parts are important, too. The molded plastic frame holds the PC board and provides the foundation for the metal overlays and the shutter-and-springs assembly which protects the contacts from ESD and from contaminants. The write-protect switch is also an important feature. It is quite expensive for the manufacturer to make the tools necessary to fabricate each of these parts as well as the tools to assemble and test the complete card. While the volume of memory cards is relatively low this tooling cost represents a significant part of the cost of each card. Admittedly, there are other alternatives, such as those presently used in PC's, to provide a memory expansion capability. To provide that kind of expansion would require the calculator to be much larger than it is and possibly more expensive. This is clearly very undesirable. Other features that were felt to be essential were the ability to distribute software applications and to share and archive/backup user-created programs and data. Other expansion alternatives do not provide these important benefits. The IO capabilities of the calculator provide these features only to a limited degree. One other item bears repeating here: Memory cards for use in the calculator will clearly indicate that they are for use with the HP48SX. Other memory cards exist which are mechanically compatible with the HP48S, but these cards cannot be relied upon to work electrically in the calculator. The HP48SX cards are designed for a lower supply voltage range. Use of the other cards may cause memory loss, and under certain circumstances may even damage your calculator electrically. My previous statement that under certain circumstances the calculator may even be damaged electrically is not a ploy. If the calculator's internal power supply voltage happens to be near the low end of the range, say 4.1 V, and the voltage at which the card's voltage control chip shuts it down happens to be near the high end of its range, say 4.2 V (this can and does occasionally occur for the non-HP48SX cards), then the calculator will start to drive the memory address lines and the card will still have these clamped to ground (that's what it does to protect itself when there is not sufficient system voltage to run). This unfortunate situation may simply trash your memory, or if the calculator tries to drive enough of the lines high at the same time, several hundred milliamps may flow...for awhile that is, until something gives up... On the other hand, your calculator and a particular non-HP48SX card may work just fine if those voltages happen to be at the other end of their ranges. These voltages are also slightly temperature sensitive. It may work in the classroom or office and not at the beach, or vice versa. The voltage trip point of the HP48SX cards has been set lower (a different voltage control chip) so that this cannot occur, regardless of part and temperature variations. One other item was brought to my attention yesterday by Preston Brown that I should have included in my original posting here. While most of us recognize that comparing ram cards to a handful of dynamic ram chips to plug into your PC is apples and oranges, it may be more interesting to compare the HP48SX cards with cards for other products, like the Atari Portfolio, the Poquet, the NEC Ultralite, etc. I believe you will find that the prices on the HP48SX cards are not at all out of line. Steve I claim all disclaimers... the non-HP48SX cards When the RAM cards detect that voltage is to low to operate they clamp the address lines to ground. This clamping is done by turning on the output drivers of a custom chip included on the card. The clamping current is speced at 2mA min at the Vol output level. Since the 48 can be trying to drive the line all the way high even more current is typical. 10mA per fight is not uncommon with totals of several hundred mAs. The VDD power supply is regulated at 4.1 - 4.9 with typical parts at the low end (4.3). The power to the cards is switched thru a transistor, creating up to a 0.1V drop. Standard Epson cards have a significant chance of seeing this voltage as to low and shutting down. We have seen cards do this in the lab. When it occurs the calculator locks up with VDD pulled down to about 2.5V and 250mA being drawn from the batteries. This current drain greatly exceeds the ratings for the power supply and can damage your calc. The least that will happen is a loss of memory. Now, why didn't we regulate VDD higher? The 48 has two power supplies VDD at 4.3 and VH at 8.5. VH cannot be regulated higher without exceeding the spec for our CMOS IC process. VH is used as the + voltage for the I/O. In order to meet a +3V output level VH must be more then 3.6V above VDD. (VDD is used as I/O ground). Our power supply system increase the battery life and reduces the cost greatly for the wired I/O. Preston ****************************************************************** * Appendix C: What's new in the HP 48G/GX? [ The following was taken from a posting by Joe Horn. ] +--------------------+ | WHAT'S NEW | | IN THE HP48 G/GX | +--------------------+ collected & annotated by Joseph K. Horn (1) AUTOMATIC LIST PROCESSING Almost all commands that did not accept list(s) as their arguments can do so now. Here are just a few examples: { 1 2 3 } SF sets flags 1, 2, and 3 { 1 2 3 } SQ --> { 1 4 9 } { 2 4 } 10 / --> { .2 .4 } 10 { 2 4 } / --> { 5 2.5 } { 10 12 } { 2 4 } / --> { 5 3 } { .1 .2 .5 } ->Q --> { '1/10' '1/5' '1/2' } { freq freq ...} { dur dur ... } BEEP can play a song with no audible hiccup between tones. Since + has always been used to concatenate lists, a new ADD function exists to add the elements of two lists, like this: { 1 2 3 } { 4 5 6 } ADD returns { 5 7 9 }, whereas { 1 2 3 } { 4 5 6 } + returns { 1 2 3 4 5 6 } as it did before. The only commands which do not have automatic list processing are: a. those which never get a Bad Argument Type error (like DUP), b. meta-object commands (like ROLL), c. program branch structures (like FOR), and d. commands that specifically work on lists (like GET). Sometimes the results are non-obvious, for example: 5 { A B C } STO --> A=5, B=5, C=5 { 5 6 7 } 'A' STO --> A={ 5 6 7 } (same as on SX) { 5 6 7 } { A B C } STO --> A=5, B=6, C=7 List processing is only recursive for ->Q and ->Qpi. (2) PORTS AND MEMORY The HP48G, like the 48S, only has 32K RAM. The GX, unlike the SX, has 128K RAM built-in. Card slot 1 can contain another 128K (maximum), but card slot 2 can contain up to 4 megabytes of RAM. Only port 1 can be merged in the GX. Card slot 2, which is intended for large-capacity RAM cards, is permanently free, and is automatically divided up into 128K ports, each of which becomes Port 2, Port 3, Port 4, etc. Up to 4 Megabytes can be plugged into slot 2, which would then become Port 2 through Port 33. (Although the FREE and MERGE commands were kept for HP 48SX compatibility, GX users will prefer the new FREE1 and MERGE1 commands). Therefore the maximum amount of merged main memory is 256K (unlike the SX which allowed up to 288K) after MERGE1; the maximum amount of fully online free independent memory is 4224K after FREE1. (3) LOCAL VARIABLES. Variable names prefixed with a <- (backarrow character) are compiled as local (temporary) variable name objects even if they're not explicitly after FOR or ->. This allows programs to share values through local variables, which is much faster than sharing values through global variables, and they get purged automatically. (4) SPEED. CPU clock speed is double the S/SX's, but throughput is estimated to be only 40% faster, primarily due to the fact that *all* RAM & ROM is now bankswitched (on the S/SX only a 32K portion of the ROM required bank switching), and it still has the same 4-bit bus bottleneck. (5) IMPROVED COMMANDS: AXES can now also specify the spacing of the tick marks. DEPND can now also specify the initial values and tolerance for the new DIFFEQ plot type. REPL and SUB now work on arrays. (6) HP SOLVE EQUATION LIBRARY CARD COMMANDS: AMORT, amortization calculations CONLIB, starts Constants Library catalog CONST, returns value of a named CONLIB constant DARCY, calculates Darcy friction factor EQNLIB, starts Equation Library catalog F0lambda, calculates black-body power fraction FANNING, calculates Fanning friction factor LIBEVAL is a generalized form of the EQ card's ELSYSEVAL; it executes any XLIB by its library number MCALC, marks an MSOLVR variable as not user-defined MINEHUNT, starts the Minehunt video game MINIT, initializes Mpar from 'EQ' for MSOLVR MITM, customizes title & menu of MSOLVR's screen MROOT, solve for variable(s) in MSOLVR MSOLVR, shows Multiple Equation Solver menu MUSER, marks an MSOLVR variable as user-defined SIDENS, density of silicon as function of temperature SOLVEQN, starts solver for specified EqLib equation(s) TDELTA, subtracts temperatures like - ought to but doesn't TINC, adds temperatures like + ought to but doesn't TVM, shows the financial calculator (Time Value of Money) menu TVMBEG, sets payments-at-beginning-of-periods mode TVMEND, sets payments-at-end-of-periods mode TVMROOT, solves for a TVM variable ZFACTOR, calculates gas compressibility factor Z Note: The EQ Card's Periodic Table and Tetris game are not in the HP 48G/GX, but the EQ Card can be used in the GX if those applications are needed. Tetris was not included because no agreement on royalty was reached. The Periodic Table is available separately as freeware on HPCVBBS. (7) NEW ARRAY COMMANDS: COL+, inserts a column vector into a matrix or a number into a vector (like INSCOL/PUTCOL in Donnelly's Tool Library) COL-, deletes a column from a matrix or number from a vector (identical to DELCOL in Donnelly's Tool Library) COL->, combines multiple column vectors into a matrix ->COL, breaks a matrix into multiple column vectors (like repeated GETCOL in Donnelly's Tool Library) COND, column norm condition number of a square matrix CSWP, swaps two columns in a matrix (like EXCOL in Donnelly's Tool Library) ->DIAG, returns vector of major diagonal elements of a matrix DIAG->, creates matrix with specified diagonal elements EGV, eigenvalues and right eigenvectors of a square matrix EGVL, eigenvalues of a square matrix FFT, discrete Fourier transform IFFT, inverse discrete Fourier transform LQ, returns the LQ factorization of a matrix LSQ, minimum norm least-squares solution to an ill-determined system of linear equations LU, returns the Crout LU decomposition of a square matrix PCOEF, returns polynomial with given roots (inverse of PROOT) PEVAL, evaluates polynomial at x PROOT, finds all roots of polynomial (inverse of PCOEF) QR, returns QR factorization of a matrix RANK, rank of a rectangular matrix (uses flag -54) RANM, creates matrix with random elements RCI, multiplies elements in one row of a matrix by a scalar RCIJ, does RCI then adds the result to a row ROW+, inserts a row vector into a matrix or a number into a vector (like INSROW/PUTROW in Donnelly's Tool Library) ROW-, deletes a row from a matrix or number from a vector (identical to DELROW in Donnelly's Tool Library) ROW->, combines multiple row vectors into a matrix ->ROW, breaks a matrix into multiple row vectors (like repeated GETROW in Donnelly's Tool Library) RSWP, swaps two rows in a matrix (identical to EXROW in Donnelly's Tool Library) SCHUR, computes the Schur decomposition of a square matrix SNRM, spectral norm of an array SRAD, spectral radius of a square matrix SVD, singular value decomposition of a matrix SVL, computes the singular values of a matrix TRACE, sum of diagonal elements of a square matrix (8) GRAPHICS & PLOTTING COMMANDS: ANIMATE, displays grobs on the stack sequentially. You can use the defaults, or specify your own delay between frames (can be *very* fast), the number of times to repeat the sequence, and even the pixel coordinates. It's just like a ROLL REPL loop... except very fast. Note: Charlie Patton converted 17 seconds of the Apollo moon-walk video into HP48 GROBs and ran them with ANIMATE, and it looked very good! ATICK, specifies tick spacing on plot axes EYEPT, specifies the eye-point coordinates in a perspective plot GRIDMAP, selects the new gridmap plot type PARSURFACE, selects the new parametric surface plot type PCONTOUR, selects the new pcontour plot type PICTURE, same as GRAPH command SLOPEFIELD, selects the new slopefield plot type WIREFRAME, selects the new wireframe plot type XVOL, sets the width of the 3D plotting volume XXRNG, sets the width of the 3D target mapping range for gridmap and parametric surface plots YSLICE, selects the new yslice plot type YVOL, sets the depth of the 3D plotting volume YYRNG, sets the depth of the 3D target mapping range for gridmap and parametric surface plots ZVOL, sets the height of the 3D plotting volume (9) USER-INTERFACE COMMANDS: CHOOSE, displays a point-and-click menu dialog box INFORM, formatted multi-line input with named fields (nice!!) MSGBOX, displays text in a centered box with shadow, then WAITs NOVAL, placeholder for unspecified values in INFORM argument list (10) LIST PROCESSING COMMANDS: ADD, adds lists element-wise (see section #1 above) DOLIST, evals an object on multiple lists DOSUBS, evals a program or command taking arguments from a list ENDSUBS, returns the number of loops the current DOSUBS will do HEAD, first element in a list or first char in a string (identical to CAR in Donnelly's Tool Library) DeltaLIST, list of first finite differences of list objects SigmaLIST, sum of the elements in a list PiLIST, product of the elements in a list NSUB, returns the current list pointer value during a DOSUBS REVLIST, reverses the order of the objects in a list (like REVERSE in Donnelly's Tool Library) SEQ, list of results from repeated execution of an object (like a FOR/STEP loop but the results go into a list) SORT, sorts elements in a list into ascending order, or sorts a list of lists using each list's first element as the key (can be done with LSORT/QSORT in Donnelly's Tool Library) STREAM, executes an object on first two elements of a list, then again on the result and the 3rd element, etc. Allows easy creation of things similar to SigmaLIST and PiList. TAIL, returns a decapitated list or string (see HEAD above) (identical to CDR in Donnelly's Tool Library) (11) SYSTEM COMMANDS: CLTEACH, clears the 'EXAMPLES' directory created by TEACH CYLIN, sets polar/cylindrical coordinate mode FREE1, like 1 FREE (see section #2 above) MERGE1, like 1 MERGE (see section #2 above) PINIT, port initialize, esp. important for 4-Meg RAM card users RECT, sets rectangular coordinate mode SPHERE, sets polar/spherical coordinate mode TEACH, loads the Owner's Manual examples into a dir in HOME VERSION, returns the operating system ROM version string and a copyright notice, like this: 1: Copyright HP 1993 Note: See FAQ answer 2.4 for details about the versions. XRECV, Xmodem protocol receive (binary mode only) XSEND, Xmodem protocol send (binary mode only) (12) MATH COMMANDS: LININ, tests whether an equation is linear in a given variable NDIST, normal probability density PCOV, population covariance of SigmaDAT PSDEV, population standard deviation of SigmaDAT PVAR, population variance of SigmaDAT RKF, solves initial value problem using Runge-Kutta-Fehlberg RKFERR, change in solution and absolute error using RKF RKFSTEP, next solution step with given error tolerance using RKF RRK, solves initial value problem using Rosenbrock & RKF RRKSTEP, next solution step with given error tolerance using RRK RSBERR, change in solution and absolute error using Rosenbrock (13) MENU NUMBERS & KEY CODES. Many menu numbers have changed, so software that uses # MENU or # TMENU may not work the same as in the HP 48S/SX. (Specifically, only menu numbers 0-3, 28, 30, and 42-59 are the same). Likewise, almost all of the shifted keycodes correspond to new commands and menus, which programmers must take into account; for example, the RAD key on the S/SX had the keycode 82.2, but it's 21.2 on the G/GX. The left-shift key, which was orange on the S/SX, is now purple [officially lavender], and the right-shift key which was blue on the S/SX is now green [officially teal] on the G/GX. Also, the digit-key menus can be activated by both shift keys; left-shift gives the softkey menus like in the S/SX, but the right-shift gives the new user-friendly full-screen menus. The unshifted keys remain identical to the S/SX, except for a cosmetic color change to match the very dark green of the calculator case. (14) MANUALS The G/GX comes with two manuals, a Quick Start Guide for beginners, and a cost-cutting, slimmer owner's manual called the User's Guide which has only 21 pages about programming, since HP figures that the huge majority of all 48 owners never program it anyway. The power users can buy the optional Advanced Users Reference Manual (similar to the S/SX's Programmer's Reference Manual) which covers programming and the many commands that are not mentioned in the User's Guide. There is no Quick Reference Guide like the S/SX came with, although the case still has a pocket for one. Jim Donnelly has marketed a nice pocket guide, but it's too wide to fit in the case's pocket. The User's Guide is not spiral bound, but is made to open fully and last a long time, since it's not just glued but has sewn signatures like real books, and is printed on quality paper. (15) FLAGS Some previously unused flags are now used. They are: -14 Clear = end-of-period payment mode (for TVM calculations) Set = beginning-of-period payment mode -27 Clear = display symbolic complex numbers in coordinate form e.g. '(X,Y)' Set = display symbolic complex numbers using 'i' e.g. 'X+Y*i' -28 Clear = plot multiple equations like the S/SX does (serially) Set = plot multiple equations simultaneously -29 Clear = include axes in plots (like the S/SX does) Set = omit axes from 2D and statistics plots -30 is no longer used (it never did anything useful anyhow) -54 Clear = tiny matrix elements get rounded to zero Set = leaves matrix elements alone The default setting of all these flags is Clear (as in the S/SX). (16) FLAG BROWSER There is a System Flag browser which shows the flag number, shows whether it's set or clear, lets you toggle it, and shows in English what the current setting means. (17) CHARACTER BROWSER While programming, if you want to type any character at all, press CHARS and a screenful of ASCII characters is displayed that you can browse with the arrow keys, and not only does the screen also show the ASCII code (NUM value) and even the shortcut keyboard key sequence (if any) for each character, but if you press ECHO, it'll be typed into your program. There's no need any more for the alpha keyboard table. (18) DIRECTORY MAINTENANCE Press right-shift VAR to launch a Variable Browser which is a complete memory manager. You can tag multiple objects and copy, move, or delete them all with a single keystroke; there's even a Mark All and an Unmark All, like a real computer. It's slow, however, and has been obsoleted by the very fast PCT library. (19) FRACTIONAL UNIT POWERS The S/SX only handled integer powers of units correctly, but the G/GX can use any real number as a unit power. (20) NAME PLATE The case has a rectangular indentation in the back like the HP 95LX and 100LX, and it comes with an adhesive metal nameplate that you can get engraved with your name. ($5 at EduCALC if ordered at time of purchase). (21) XLIB NAMES All of the new commands in the GX are XLIB names, and therefore take 5.5 bytes in programs. The commands common to the SX and GX take 2.5 bytes each, as they did in the SX. (22) INPUT FORMS and CHOOSE BOXES Many operations have two menu types: the old SX style, and a new drop-down menu and input forms that have the feel of computer dialog boxes. Especially useful for the HP48 beginner. (23) ENHANCED PRECISION The internal precision of at least some of the matrix routines has been improved; INV gets better answers on square matrices than the SX did. HP has not released information about which routines were improved, how, and by how much. (24) IMPROVED DISPLAY The LCD introduced with revision M of the G/GX is easier to read since it has higher contrast between on/off pixels. It has a slower cycle response time, however, making it difficult to use for rapid-motion video games or any other rapid animation. ******************************************************************* * Appendix D: The EquationWriter Bug & Rev J Bugfix [ The following was taken from a posting by Joe Horn. ] Rev A-E EquationWriter Bug & Rev J Bugfix ----------------------------------------- observed by Joe Horn +------------------+ | Rev E behavior | +------------------+ Clear flag -53 first (the Precedence Flag). On a Rev E, put '((1+2)/(3+4))^5' on the stack and press down-arrow. You'll see: 5 / 1+2 | --- | (A) 3+4 / which is as it should be. But now press [orange-shift] [+]; see the message Implicit () off momentarily; press [left-arrow] (not backspace), then press the [EXIT] softkey. The expression gets mangled into this: 1+2 ----------- (B) (5) (3+4) which is not equal to expression (A) above! Bug, yes? Press [ON] to abort the process. Now set flag -53, then repeat the above procedure. First you see: 5 / 1+2 | --- | (C) 3+4 / which is the same as (A) above; but continuing as before, you see: (5) / 1+2 | ----- | (D) (3+4) / which *is* equal to the original. Thus the bug can be worked around by keeping flag -53 set (not a pleasant solution). +------------------+ | Rev J behavior | +------------------+ Major difference: after pressing down-arrow, Rev J goes directly into graphic mode, so you have to press ON and then EXIT to get into the equation editor (which Rev E goes directly into). But that's petty cash compared to the following big change. The same sequence of operations, first with flag -53 clear, then set, exactly as detailed above, yields these four displays in a Rev J: 5 / (1+2) | ----- | (A') 3+4 / (notice the extra parentheses?) and then: 5 / (1+2) | ----- | (B') (3+4) / which *is* equal to (A'); nothing at all like expression (B) above! and then: 5 / (1+2) | ----- | (C') 3+4 / which is the same as (A') above; and then: 5 / (1+2) | ----- | (D') (3+4) / which is also equal to (A'). No bug in Rev J. SUMMARY: Rev A-E have a bug in the EquationWriter that can mangle expressions if flag -53 is clear (the default) and if Explicit Parentheses mode is toggled. This bug has been fixed in Rev J. Unfortunately (as you can see above) Rev J *always* puts parentheses around polynomial numerators. It is therefore impossible to use the ->GROB command on a Rev J to create a GROB that looks like expression (A) above; the simplest that can be had is expression (A'). Another minor change, while I'm at it: Rev A-E don't change the menu when you press REPL; Rev J automatically flips to the appropriate RULES menu. None of these changes are documented anyplace that I'm aware of. Please post any corrections & additions you find. Thanx. -Joseph K. Horn- -Peripheral Vision, Ltd.- akcs.joehorn@hpcvbbs.cv.hp.com ****************************************************************** * Appendix E: Compact Data Storage: A simple length-encoding technique can be put to use for a free-format, very compact multi-field data storage system. Two tiny programs, SUBNUM and STRCON are here to help the process, and are listed near the end of this note. At the end of the note is a directory that may be downloaded into the HP 48 that contains the examples. The principle is to store starting indices in the beginning of a string that point to fields stored subsequently in the string. The indices are stored in field order, with an additional index at the end to accommodate the last field. There are several small points worth mentioning: 1) Fields may be 0-length using this technique. 2) The execution time is uniform across all fields. 3) This technique saves about 4 bytes per field after the first field, because the string prolog and length are omitted for fields 2 -> n. EXAMPLE: -------- Indices | Fields Character | 1 11111111 12222222222 Position : 1 2 3 4 |567890 12345678 90123456789 +--+--+--+--+------+--------+-----------+ String : | 5|11|19|30|Field1| Field2 | Field 3 | +--+--+--+--+------+--------+-----------+ This is a string that contains 3 fields, and therefore 4 index entries. The first field begins at character 5, the second field begins at character 11, and the third field begins at character 19. To keep the pattern consistent, notice that the index for field 4 is 30, which is one more than the length of the 29 character data string. To extract the second field, place the string on the stack, use SUBNUM on character 2 to extract the starting position, use SUBNUM on character 3 to extract the (ending position +1), subtract 1 from the (ending position+1), then do a SUB to get the field data. NOTE: The index for field 1 is stored as character code 5, NOT 5! To place the field index for field 1 in the string, you would execute data 1 5 CHR REPL. PROGRAM: -------- The following program accepts an encoded data string in level 2 and a field number in level 1: DECODE data field# --> field << --> f << DUP f SUBNUM ; data start --> OVER f 1 + SUBNUM ; data start end+1 --> 1 - ; data start end --> SUB ; field --> >> >> DATA ENCODING ------------- The following program expects a series of 'n' strings on the stack and encodes them into a data string suitable for reading by the first example above. The programs SUBNUM and STRCON are used to assemble the indices. ENCODE field n ... field 1 n --> data << DUP 2 + DUP 1 - STRCON --> n data << 1 n FOR i data i SUBNUM OVER SIZE ; ... field index fieldsize + data SWAP ; ... field data index' i 1 + i + SWAP CHR REPL ; ... field data' SWAP + 'data' STO ; ... NEXT data ; data >> >> In this example, four strings are encoded: Input: 5: String 4: Str 3: STR 2: STRING 1: 4 Output: xxxxxSTRINGSTRStrString (23 character string) (The first five characters have codes 6, 12, 15, 18, and 24) VARIATION: ---------- The technique above has a practical limit of storing up to 254 characters of data in a string. To overcome this, just allocate two bytes for each field position. The code to extract the starting index for becomes a little more busy. In this case, the index is stored as two characters in hex. Indices | Fields Character | 11111 11111222 22222223333 Position : 12 34 56 78|901234 56789012 34567890123 +--+--+--+--+------+--------+-----------+ String : |09|0F|17|21|Field1| Field2 | Field 3 | +--+--+--+--+------+--------+-----------+ << --> f << DUP f 2 * 1 - ; data data indx1 --> SUBNUM 16 * ; data 16*start_left_byte --> OVER f 2 * SUBNUM + ; data start OVER f 2 * 1 + SUBNUM ; data start end_left_byte --> 16 * 3PICK f 1 + 2 * SUBNUM + 1 - ; data start end --> SUB ; field --> >> >> TWO VERY TINY HELPFUL PROGRAMS ------------------------------ SUBNUM string position --> code << DUP SUB NUM >> STRCON code count --> repeated string << --> code count << code CHR 'code' STO 1 count START code + NEXT >> >> A DIRECTORY YOU CAN DOWNLOAD ---------------------------- This is a directory object. Cut after the === to the end of the file and download to your HP 48 using the ASCII transfer. ======================================================================== %%HP: T(3)A(D)F(.); DIR DECODE << -> f << DUP f SUBNUM OVER f 1 + SUBNUM 1 - SUB >> >> ENCODE << DUP 2 + DUP 1 - STRCON -> n data << 1 n FOR i data i SUBNUM OVER SIZE + data SWAP i 1 + SWAP CHR REPL SWAP + 'data' STO NEXT data >> >> STRCON << -> code count << code CHR 'code' STO 1 count START code NEXT >> >> SUBNUM << DUP SUB NUM >> END ****************************************************************** * Appendix F: Various useful functions Begin OBJFIX.DOC ----------------------------------------------------------------------- OBJFIX by HP for SX and GX When a binary object received by Kermit on the HP-48 is left as a string beginning with HPHP48, OBJFIX will extract the HP-48 object if the only problem is that extra bytes got appended to the end. OBJFIX takes a variable name in stack level 1 and modifies the contents of the variable if no other problems are detected. [Note: This is like FIXIT by Horn & Heiskanen on Goodies Disk #8, but this one is by HP and so I suppose it's more reliable. Although it fails the test cases included with FIXIT, that may be because they were artifically contrived cases. Try both on real-world downloads that need fixing. Which do you like better? -jkh-] ----------------------------------------------------------------------- End OBJFIX.DOC %%HP: T(3)A(D)F(.); D9D202BA81D9F81B2040D9D20F2A26DA91629C8145126489162C23072C80CCD2 0BD0008FB9760147108134164142C2818F24D534501008B2F41643150D73B840 58405438314A161966D2BF6BF6A6F5BE16314213114334CF8208A6F58F235A04 55136D7D4EA494D231A1CA101110131CA130DBE284F8FC0760D41198F29960D4 130142119EA1408F5E0108D341503223072D70B2130B21301460 Begin FIXIT.DOC ----------------------------------------------------------------------- (Comp.sources.hp48) Item: 139 by akcs.joehorn@hpcvbbs.cv.hp.com [Joseph K. Horn] and mheiskan@hut.fi [Mika Heiskanen] Subj: Fixit v3.2, repairs bad downloads PURPOSE: ------- Converts a badly uploaded string into the original object. THEORY: ------ A lot of folks upload HP 48 objects poorly, such that when you download them, you just get strings full of garbage that look something like this: HPHP48-E#c&r$a%p@!*!... [looks familiar, eh?] That's because they uploaded it using XMODEM, or managed to screw it up some other way. The following FIXIT program takes such a string and extracts the actual HP 48 object that they originally intended to upload (if at all possible). Such object extraction can be done by hand, but it's too dangerous. FIXIT minimizes the danger of Memory Clear. It checks whether the extracted object is a valid one, and if not, drops it from the stack before the HP 48 attempts to display it. All of the many bad downloads I've archived over the years are fixed by FIXIT, whereas about half of them cause a Memory Clear when extracted manually. No guarantees, however. Use at your own risk. The actual extraction is done by a Code object written by Mika Heiskanen. The User RPL shell around this code object is what minimizes the danger of Memory Clear; it was written by Joe Horn. INSTRUCTIONS: ------------ BACKUP YOUR MEMORY, just in case the string contains a logic bomb. Place the bad download on the stack (see HPHP48-...) and run FIXIT. Possible results: (1) No error: the object was extracted successfully and is on level 1. (2) Bad Argument Type error: you didn't have a string on level 1. (3) Bad Argument Value error: the string wasn't of the proper form; it must be an HPHP48-... downloaded string. (4) Invalid Definition error: the object was mangled in transmission so badly that its end was lost; the object cannot be extracted. (5) Undefined Result error: there is no HP 48 object in the string. (6) Recover Memory? YES/NO: the string contained a bomb, and FIXIT detonated it. Press YES to sift through the shrapnel and rubble in a feeble attempt to resurrect the dead. Press NO to bury them. EXAMPLES: -------- To do the following examples, download the FIXIT directory to your HP 48 and get into it. (1) Press HI. See HPHP48-E%$@#%@..., a badly uploaded download. Before pressing FIXIT to fix it, try doing what we all used to do: press EDIT to see if we can recognize anything (usually a futile attempt). We see: HPHP48-E%@$#%$@... << Melancholy Baby >> But looks can be deceiving; press ON to exit the editor, and then press FIXIT to extract the intended upload: << Happy Camper >> (2) Press WTAV; see another garbage download. But EDIT refuses; the string contains nulls. Press FIXIT; see successfully extracted directory. (3) Press BAD1. Notice that it looks exactly like WTAV. (Press WTAV, compare, then DROP). But its ending is all messed up; manually extracting WTAV from BAD1 can cause Memory Clear. Press FIXIT and see Error: Invalid Definition indicating that the object inside BAD1 is so mangled that its end cannot be located. (4) Press BAD2. Looks like WTAV again. But its body is messed up; manually extracting it would create an External object that could cause Memory Clear if evaluated. Press FIXIT and see Error: Undefined Result indicating that there is nothing recognizable inside BAD2. ----------------------------------------------------------------------- End FIXIT.DOC %%HP: T(3)A(D)F(.); 69A20FF7CE20000000402414442340C2A203B000840584054383D25403A20FF7 2500000000403535947440D9D20E16329C2A2DBBF13013216DF1406A1C42328D BF193632B213034000407545146540D9D20E163292CF1EFFB1DBBF1EBFB150FA 193632B2130003030303034C000402414441340C2A203B000840584054383D25 469A20FF72500000000403535947440D9D20E16329C2A2DBBF13013216DF1406 A1C42328DBF193632B213034000407545146540D9D20E163292CF1EFFB1DBBF1 EBFB150FA193632B2131313131313134C000407545146540C2A203B000840584 054383D25469A20FF72500000000403535947440D9D20E16329C2A2DBBF13013 216DF1406A1C42328DBF193632B213034000407545146540D9D20E163292CF1E FFB1DBBF1EBFB150FA193632B2130003030303034C00020849420C2A20570008 40584054383D254D9D20E163284E2050841607079784E20603416D6075627936 32B2130A0BA02D456C616E63686F6C697022416269702BB28000506494859445 50D9D20E16323CE2278BF168BC1ED2A2167E1AFE22D9D203CE2278BF19C2A274 3A2C58C1C2A2031000840584054383D2167E1AFE22D9D2078BF18B9C1DBBF1AA F028DBF1CCD201200014713717917F137145142164808C5BF22D9D2033920200 0000000005150933A1B21305DF22B21305BF22D9D20339202000000000004150 933A1B21305DF223CE2278BF168BC1D8DC1167E1AFE22D9D203FBF1339202000 000000002770933A1B21305DF223CE2278BF19D1A1DBBF18DBF1E0CF1D5CE1AF E22D9D208DBF1339202000000000000030933A1B21305DF22CB2A193632B2130 B21303D4F ******************************************************************* (Shamelessly lifted from the HP-41C manual:) The LASTX function is useful in calculations where a number occurs more than once. By recovering a number using LASTX, you do not have to key that number into the calculator again. For example, calculate: 96.704 + 52.394706 -------------------- 52.394706 Keystrokes: Stack: ------------------ -------------------- 96.704 ENTER 96.704 52.304706 + 149.098706 LASTX 149.098706 52.304706 / 2.84568265351 @ This is a version of LASTX for the HP 48 %%HP: T(3)A(D)F(.); << DEPTH -> n << LASTARG DEPTH n - DUP -> s << ROLLD s 1 - DROPN >> >> >> ****************************************************************** * Appendix G: Rotation rate to angular frequency conversion bug [Editor's Note: A counter point to this bug report is provided at the end appendix] By: Wlodek Mier-Jedrzejowicz wlodek@ic.ac.uk (or if that fails, try wacm@doc.ic.ac.uk) ----BEGIN QUOTED MATERIAL----------- ROTATION RATE TO ANGULAR FREQUENCY CONVERSION BUG There is a rotation rate conversion bug in the HP48G/GX which I have not seen reported here before, so after discussion with the folks at Corvallis I am posting this description. Warning: it is 159 lines long! First - an example. Put the unit object 60_rpm in level 2 and the unit object 1_r/s in level 1, then execute the command CONVERT. You are asking the HP48 to convert a rotation rate of 60 revolutions per minute into an angular frequency in radians per second. 60 rpm is 1 revolution per second, or 2pi radians per second. No HP48G/GX will give this answer! Not everyone uses rpm or is even aware of the existence of this unit - it is one of the extra units in the UTILS menu of the Equation Library - so here is a second example - add 2pi radians per second to one Hertz. Put 6.2832_r/s in level 1, 1_Hz in level 1, and add. You are adding an angular frequency of two pi (one cycle) per second to a rotation rate of one per second, so the result should be a frequency of two Hertz. On an HP48S/SX that is the answer. On an HP48G/GX it is not. When units are converted, by CONVERT, or during arithmetic on unit objects, the level 2 object is first turned into base units, and then the result is converted into the units of the level 1 object. On the HP48S/SX, the base unit of angles is one rotation (or a unit circle or a revolution or a cycle). So, the angle unit of rpm (a revolution) or of Hz (a cycle if Hz is treated as a rotation rate) is already in base units - conversions to angles involving rpm and Hz automatically work correctly. On the HP48G/GX, the base unit of angles is the current angle mode (DEG, RAD or GRAD) - so any conversion from rpm or Hz (or any formula which works in cycles, rotations, revolutions, unit circles) to angles should be preceded by a conversion from the unit circle to the current angle. Apparently no-one noticed this would be necessary, because it all worked automatically on the HP48S/SX. So, when you convert 60_rpm to units of _r/s, an HP48G/GX converts not 60 rotations but 60 base angle units per minute to radians/second. In RAD mode, you get 1 radian per second. In DEG mode you get 1 degree per second, and in GRAD mode you get 1 grad per second (in each case expressed in radians). That's three different answers, none of which is correct! Exactly the same happens if you convert 1_Hz to angles per second, and the inverse mistake is made if you convert angles per time to cycles or rotations divided by time. I first learned of this bug from a member of HPCC (the British club for users of HP handhelds), Peter Embrey. He describes his troubles in Volume 13 number 1 pages 12 to 14 and V13n2p6). He was calculating the energy stored by a flywheel - given by the formula (1/2)*I*omega^2 and after a time he decided the answers had to be much too big when he CONVERTed from kg*m^2*(r/s)^2 to W*h on an HP48GX. It turns out that (r/s) are the correct units to get the right answer, but the GX was converting to degrees per second as it was in DEG mode, so his answer was too large by a factor of (360/2pi)^2 - a factor of about 3,300. In this case, his HP48SX was not much better, since it converted from radians to unit circles. The way to get the correct answer is to use an HP48G or GX in RAD mode - or to divide out the radians from the formula before using CONVERT. This is not yet a bug, but needs as much care as does use of temperature units on the HP48. But when Peter tried to deal with the problem by working in rpm, he came upon the bug described above. My thanks to Peter for putting me on the trail! Apparently this bug not been reported before - at least my friends in HP tell me that it was not on their list of known problems until I told them of it. (This means it is not fixed in the new revision R.) Why not - does everyone know about it and work around it without thinking to tell anyone else? Or does no-one use their HP48 to do calculations on rotating bodies - or do most people do calculations with rotating bodies in such a way that they do not encounter this problem? Could there be hundreds of students and engineers out there calculating and designing things on their HP48G/GX and getting wildly inaccurate results? Has anyone built a disk drive or a jet engine which rotates far too fast and will disintegrate because of this? No, of course not, all engineers know that any design calculation absolutely must be repeated on two entirely separate calculators or computer programs! :-| Maybe some students have lost marks in exams because of this though - but please, this is not intended to restart the discussion as to whether calculators should be allowed in exams! I want to underline again that apparently no-one has reported this before - which must mean that few people have been affected by it. It is therefore not a good reason to throw away your HP48G/GX or get on a high horse and demand that HP replace your HP48G/GX - but I think it is important that people be warned so they can take appropriate avoiding action. The rest of this message goes into more detail - if you never worry about rotation calculations then you can safely ignore the rest - though you might find it interesting, so don't stop yet :-) One way to avoid this would be to add a new unit to the HP48 - call it what you like - the cycle or rotation or revolution or unit see this on an HP48S/SX, put 360 degrees in level 1 and execute UBASE - the result is 1, meaning that 360 degrees are equivalent to one base unit of angle measurement, but that there is no named HP48 unit corresponding to this. In contrast, UBASE on an HP48G/GX considers the base unit of angle measurement to be the radian, even though CONVERT behaves as though the base unit is the current angle mode. There appear to be two different norms for base angle units on the HP48G/GX! The whole subject gets very little mention in HP's manuals. In the original HP48SX manual (two volumes, spiral bound), the section on Dimensionless Units of Angle in chapter 13, on page 198, warns the reader about the danger of using dimensionless units and states how angle units and scalars are treated. In the later HP48S and HP48SX manual (one volume), the same warning is given in Converting Dimensionless Units of Angle, on page 13-12. The HP48G Series User's Manual, in Converting Angular Units on page 10-7, says that conversion will interpret a scalar according to the current angle mode setting. (A scalar is a pure number with no units.) For a detailed description, look in the HP48S/SX edition of HP48 Insights Vol II, section 21.4.3. This book is written by Dr Bill the Insights books largely to provide the sort of explanations and details that get left out of manuals. A good explanation of angle units is exactly the sort of thing one can find there! He explains the pitfalls and unavoidable contradictions of working with angles in the HP48 units system and points out that the HP48S/SX make the somewhat arbitrary choice of using 2pi as the base unit of angles, thereby making conversions between angles per time and Hertz work correctly. Maybe no-one on the HP48G/GX team read this while they were making changes from the HP48S/SX! Why did they change the base unit at all? Most likely they were trying to deal with another contradiction: the units system lets you add pure numbers to angles, since both are dimensionless. If you add the number 1 in level 2 to the unit object 0_r in level 1 on an HP48S/SX, the number 1 is treated as 1 base unit, or 2pi radians, and the result is 6.2832_r - but if you take the SIN of the number 1 instead, it is not treated as 2pi, but as 1 unit of the current angle mode. The change made on the HP48G/GX does resolve this contradiction, but at the cost of introducing the bug described above. As mentioned, a way to resolve the problems involved would be to add the angle unit cycle explicitly to the HP48 units system. Hz would then be treated as cycles per second when used in calculations involving rotations - rpm would be treated as cycles per minute, and conversions would go from cycles to the appropriate angle units. This HP accept that this is a good solution - but they have not implemented it yet. In the meantime, be very, very careful when converting between units of rotation rate and units of angular frequency. I would urge everyone who does not yet have a copy of Insights II to buy one and read the relevant section - maybe that will even entice Bill Wickes into publishing his long-awaited HP48G/GX version of the book! I have not yet mentioned solid angles. In principle there should be no problem - on both the HP48S/SX and the HP48G/GX the base unit of solid angle is a unit sphere, or 4pi steradians. On the HP48S/SX you can add the pure number 1 to 0_sr and get 12.5664_sr (4pi steradians). The HP48G/GX manuals imply that exactly the same should happen, but on my (version L) HP48GX this gives the error message Inconsistent Units. This is yet another undocumented difference between the Series S and Series G but at least it is no bug! Apologies for making this description so long, I hope most people will agree that a subject like this deserves a careful description! For my next trick - some details on the HP48 Random Number Generator. ----END QUOTED MATERIAL----------- Additional insight from Eric Haas (ERICHAAS@delphi.com) The angular conversion bug is actually in the definition of the rpm unit. If you put 1_rpm on the stack, and type UBASE, you get 1.66666666667E-2_1/s. Notice that there is no angular unit in the definition. If the rpm unit is instead defined as 6_=F8/s, all conversions to and from rpms will work just fine. As an easy work-around, define the unit RPM as 6_=F8/s and use that instead of the built-in unit. If desired, one could also define the unit HZ as 60_rpm or 360_=F8/s. However, as Hz is sometimes used to describe things other than rotation rates, such a definition would not be appropriate for all circumstances. ****************************************************************** * Appendix H: How to make a Serial Cable for your HP48 pins in your calculator. If you can't find a usable connector, then you'll have to make one yourself. For this you need four pins taken from a wire-wrap IC socket (available from Radio Shack or some other shop catering for DIY electronics). The smallest IC socket available usually has 8 pins; so don't worry if you damage a pin while removing it from the hard plastic socket. The pins of the wire-wrap socket are about 1 long, thereby making soldering them easier than standard sockets. Next, solder a 'fork' from thin rigid metal wires, to hold the four IC pins spaced at exactly 2 mm while you glue them together with superglue. Glue a plastic 'handle' to the four IC pins to be able to remove the connector from the HP48. You can also indicate the top side of the connector on this handle. Note that the hole in the HP48 in which the connector should go is not symmetrical; the pins are nearer to the top of the calculator than the bottom, and you can use this to make it difficult to insert the connector the wrong way up. Connector to plug in your HP48 (F) HP48 connector (M) ______ ______ |oooo| |....| ____/ ____/ pin 4 pin 1 pin 1 pin 4 MAKING THE CONNECTIONS You can use either a 9 or a 25 pin female sub-D socket for the PC-side of the cable. 9-pin RS232 25-pin RS232 connector (F) connector (F) pin 5 pin 1 pin 13 pin 1 ------------- --------------------------- | o o o o o | | o o o o o o o o o o o o | o o o o / o o o o o o o o o o o / --------- ----------------------- pin 9 pin 6 pin 25 pin 14 Use flexible 4-wire cable to connect the four contacts of your HP48 connector to the PC connector. Pin 1 of the HP48 should be connected to the metal shield of the RS232 connector. Usually it is not easy to solder this shield; first scratching the shield bare (it has some kind of coating) using a screwdriver or a file will help. If this doesn't work, simply leave pin 1 of the HP48 disconnected. Note that pins 2 and 3 of the RS232 connector must be swapped when you use a 25-pin connector. HP to PC cable HP48 | RS232-9 | RS232-25 -----+---------+---------- 1 | shield | shield 2 | 2 | 3 3 | 3 | 2 4 | 5 | 7 Before connecting the completed cable to your HP48, check for short-circuits using an ohmmeter or multimeter set to ohms or diode test. HP TO HP CABLE If you want to use 9600 bps communication between two HP48s, then make two HP48 connectors and simply connect the two, swapping pins two and three. HP to HP cable HP#1 | HP#2 -----+----- 1 | 1 2 | 3 3 | 2 4 | 4 WARRANTY, DISCLAIMER ETC. Although the serial interface of the HP48 is protected internally, it is possible to damage the calculator when a wrong connection is made. I am not responsible for any errors in this file, or for any mistakes you may make. ****************************************************************** END PART 3 OF 4 -- Keith Maddock--madd0118@nova.gmi.edu--HomePage:http://www.gmi.edu/~madd0118 Of course I'm crazy, but that doesn't mean I'm wrong. I'm mad but not ill GMI Engineering & Mgt Inst: So2,ME-Auto, Flint, MI/Freightliner Corp,PDX,OR comp.sys.hp48 FAQ Maintainer (GX-R), Eagle Scout, Delta Tau Delta EI-B, :-) ---------------------------------------------------------------------------- [ LAS home page | UNIS | CURL | NewsPages ] ==== Oh, the I suppose that what you mean by blurred is that the HP49G displays text using a style other than plain style, like for example italic, etc, which regarding its low resolution can really wake the impression that the displayed text is blurred. If this is the case, then the text you are using just happens to contain the control characters combination which instructs the 49G to switch to, say italic display. Well, I don't know is the blurred really the right word to tell what > is happening on HP49g screen, but when this happens, transfer from PC > to HP cancels. Well example this text causes error (It's Finnish ;) : Auton nopeus = 60 km/h ja se saavuttaa 1,0 km pitkan junan, jonka > nopeus = 40 km/h. Auto ja juna liikkuvat suoraviivaisesti. Minka > matkan auto kulkee ohittaessaan junan? a) Auto ja juna liikkuvat > samaan suuntaan. b) Auto ja juna liikkuvat vastakkaisiin suuntiin. Hmm, doesn't look like a string that contains such control character combinations. In this case I suppose that John's suggestion might help you. Greetings, Nick. > Blurred? You mean really blurred, like when something moves fast? On > which screen do you have that blurring, the PC screen of the HP > screen? And can you please post some of the text you want to transfer? Greetings, > Nick. ==== > Since the right-bracketing convention in 'a^b^c' > was ignored by the Corvallis people, they should > have at least commented on this in either of the > manuals. Quoting from page 11-3 of the HP 48G User's Guide, ...functions with the same precedence are performed from left to right. I expect that the manuals for the 28 series and 48SX have a similar statement. But I agree that it would've been better if they had noted that this is contrary to convention for a tower of exponents. > On the other hand, from the 49-designers > we get comments only if we explicitely state some > problem (and it they are in a good mood :-) Offhand, I don't see anything at all in the 49G guides regarding either precedence or order of operations. I guess the writers assumed that everybody knows the conventions. -- James ==== > Since the right-bracketing convention in 'a^b^c' > was ignored by the Corvallis people, they should > have at least commented on this in either of the > manuals. > But I agree that it would've been better if they had noted that this is > contrary to convention for a tower of exponents. which I quote the following: I have vague memories of discussions of the a^b^c discussion, but no idea of the conclusion. Knowing the team, I would be willing to say that it's reasonable to assume that RPN purity would win out over tradition. Thus, the problem was discussed. It seems very likely the 48-designers had been RPN-purists so to speak, including Charles M. Patton. Thus, they didn't perhaps find it worthy to make a special remark on the traditional convention of the tower of exponents :-) ==== Sure I'm missing something when reading the user guide: perhaps the translation into spanish is not as clear as it would be... When I try to solve a program with flag 11 set, the calculator would stop and ask for the other variables, but it does not. I need help about it. ==== My teacher has recently banned graphing calculators on tests and other class work (Well out goes my 49G until next year). I was then immediatly on the lookout for a good scientific calc. I did some research and it looks like the 32SII is one of the best scientific calcs. When I checked its price I was shocked to see a 300+ price tag on the web. After 30minutes of searching I gave up. Does anyone know a online store or local store that still carries the 32SII? It has to carry it at its orginal price not the collectors price I have $80 left to spend on this calc (the 49G left me broke). If anyone knows a local store I can look in my local store (though I doubt it is there) and get a feel for who used to carry it and maybe they'll still have some on there shelves. Thanxs in advance CID ==== Megalenoume!Etsi etsi!apla egw prepei na mai o pio mikros!? > Useless post (mine, not OP's). If you can't read greek, skip ahead. > > Geia sou patriwth :-) . Xairomai poy ay3h8hke se treis o ari8mos twn ellhnwn > (mallon tesseris me ton allo Niko) poy xrhsimopoioyn HP calcs. > > Pio polloi eimaste re, na mh 3exname kai ton Trabakoula ;-) > > H messogeiakh symoria megalonei. Vale kai ton rcobo mesa, ki' aytos dikos mas einai. > > Aporw pws o Tsiros den bghke na xairethsei :-) . > > 8a phge me ton Trabakoula na ewoskania ta prowata edo eparapera ;-) > > Incompatible greek greetings, > Nick. ==== > Specifics: > 1.19-6, CAS - rigorous, Simp non-rationals, exact > Flags set - 27,56,57,62,72,80,81,90,117 Take the 'fluids' equation below: hf=((3.012*L*V^1.85)/(C^1.85*D^1.165)) Solve for 'V'; and more importantly, you want the resulting > expression to look like this - extra paranthese not needed, thanx: V=((.551*hf^.5405*C*D^.6297)/(L^.5405)) Also, I noticed while trying to linearize (LIN) the equation in > approximate mode no change occurred. However, when I switch to exact > mode and then applied the LIN command, the equation is linearized - of > course after asking to switch to approximate. Go figure. > RE-POST...Please help. ==== Yhea, brain damage, not yours, the calculators. ;-) Stan >> Specifics: >> 1.19-6, CAS - rigorous, Simp non-rationals, exact >> Flags set - 27,56,57,62,72,80,81,90,117 >> >> Take the 'fluids' equation below: >> >> hf=((3.012*L*V^1.85)/(C^1.85*D^1.165)) >> >> Solve for 'V'; and more importantly, you want the resulting >> expression to look like this - extra paranthese not needed, thanx: >> >> V=((.551*hf^.5405*C*D^.6297)/(L^.5405)) >> >> Also, I noticed while trying to linearize (LIN) the equation in >> approximate mode no change occurred. However, when I switch to exact >> mode and then applied the LIN command, the equation is linearized - of >> course after asking to switch to approximate. Go figure. >> > >RE-POST...Please help. ==== Dimitri Missoh. > I need your help. > I use the command CK1&Dispatch to check for an Argument on a stack and > then test if it's a char string(with BINT3).Something like this: > CK1&Dispatch > BINT3 > :: > foo > ; > It's working but I get the message XLIB 1389 118 Error: Too few > Argument when I don't put anything on the stack. > What should I do to get only the message Error: Too few Argument. > Why did I get XLIB 1389 118 Error. > Dimitri Edem Missoh ==== If you have a ROM 1.19-6, download the extable of the next address : http://etud.epita.fr:8000/~avenar_j/hp/49.html Miguel Angel CAPORALINI HERK **************************************************************************** *** > The last extable I have is dated November, 1999. > I have a pretty good entries (Suprom49.a) table for the 49 but it does not have many of the 49 user ROMPTR calls. For example > xFONTn and xINFORM are missing. Does anyone have a better list that includes the above commands and other user command entries. (I can get there one at a time from > Carsten's terrific database but I am hoping for a simple list). > -- - - - - - - - - - - - - - - - - > Bill Graves RKBA! > bgraves@ix.netcom.com ==== Does anyone know the protocol used in the output from the HP-49g to the overhead screen? I am thinking about making an external screen with possibly a touchscreen that uses the serial port to give the coordinates of the touch. I do know, however, that the cable packaged with my calculator does not have any throughput for the overhead display, so I would have to make my own cable. ==== >> Freedom is (also) the acceptance of some limitations. Agreed. The question is how many limitations will we accept. > >> In other words, try to fly without an airplane ;-) Birds do it. I knew Greeks where using HPcalcs and participating in c.s.h. I didn't know that birds did that too! -- Al. Andreou The sheer publicity brought to someone that gets published on Netsperado is enought to make him cocky, elitist, outrageously selfish and in general get him to know his greateness even better. ==== > Ebay can disallow whatever they want to - you do not have a say in that. You do; you can close your account and not use eBay again. -- Al. Andreou The sheer publicity brought to someone that gets published on Netsperado is enought to make him cocky, elitist, outrageously selfish and in general get him to know his greateness even better. ==== Ahhhh - many thanks to both of you :) > > I've purchased an HP49G - and I'm having all sorts of probs with the > simplist of programming - I'm sure I'm missing the (very) obvious ... > > (Touch of history - still own and love my trusty HP41CX (was right in to > programming with it) - and in the past I've been a pretty serious (80x86) > Assembly Language programmer) > > I prefer to work with RPN - and I'm trying to create the simplist of > programs - that prompts for a value - and then accepts the value. > > I've tried entering the following from the user guide ... > > << ENTER A NUMBER > INPUT OBJ->> STO TEST > > But all I'm getting is ... > > STO ERROR - TOO FEW ARGUMENTS > > Can anyone spot the obvious? > > - HP48g is in RPN mode > - The OBJ-> bit doesn't look quite the same as in the manual ('shaft' of > arrow is much longer in book) - I'm getting it by typing: > > ALPHA ALPHA OBJ RIGHT-SHIFT ZERO > > - Have also typed without a space in between - didn't look like there > was one in the example > > All help really appreciated. > > Many thanks > > > ==== > Kiwi Jet Jock ha scritto nel messaggio ... I'm trying to create the simplist of > programs - that prompts for a value - and then accepts the value. > > I've tried entering the following from the user guide ... > > << ENTER A NUMBER > INPUT OBJ->> STO TEST > > But all I'm getting is ... > > STO ERROR - TOO FEW ARGUMENTS > > Can anyone spot the obvious? After the program > << ENTER A NUMBER > INPUT OBJ->> > you should have typed > TEST (this appears as 'TEST') > STO > because STO wants two arguments: any object in level 2 and a name (no string > delimiters) in level 1. Ouch! Using the name TEST with no delimiters does indeed work if the calculator doesn't find any variable or XLIB named TEST, but it would be better to use the '' delimiters, as in 'TEST', so that it's put on the stack as a name rather than executed. > I advice you to get the doc Programming in User RPL, by Eduardo > Kalinowski, from http://www.hpcalc.org/ . -- James ==== > And perhaps a special STO command which would force storing > to occur in a specified bank number, room permitting > (re-organizing that bank if a bank erase were needed)? > This pair of tools would permit users to try to get > better object packing by manual effort; even better would be > an additional automatic algorithm for improving object distribution > (it needn't be exhaustive, just reasonably better than > the arbitrary present situation). And IMHO it would be very nice to be able to explore each bank 1Meg card in slot-2. Else now It makes feel a little blind, a thing I never felt with my HP :) By the time as far as I understood flash, I found a way to guaranty to back up flash exactly in first try: First inflate Home directory until its about 128K using a bulk list stored in a var, and ARCHIVE it to flash doing whatever clean up needed. This first tryfull back up will occupy one of banks and subsequent (inflated Home back-ups) will be successful. Nevertheless I believe I skip something, my holdable-Monster HP49 should not need such an indirection for such an easy process, back up. Alper. ==== > And IMHO it would be very nice to be able to explore each bank > seperately in that great tool filer, Perhaps one day, I sent Wolfgang a program to extract objects from a flash bank, (purged and present), so that he could integrate it in his filers. -- ir. P.F.Geelhoed Delft University of Technology Laboratory for Aero & Hydrodynamics Leeghwaterstraat 21, 2628 CA Delft, The Netherlands +31-15-2786656 / +31-15-2782947 (fax) p.f.geelhoed@wbmt.tudelft.nl ==== > Perhaps one day, I sent Wolfgang a program to extract objects from a flash > bank, (purged and present), so that he could integrate it in his filers. Oh yes, I'll do that. It need not be even too general. To begin with, it would suffice to be able to switch two versions of bank 0 (the one which originally was a User-flash bank). In bank 0 is located the builtin filer, for instance :-) - Wolfgang ==== What happedened to all the FLASH 48's ? A year ago i visited and they had huge FLASH equiped 48GX's . > It's not www.cynox.com. It's a german Webpage: www.cynox.de > de like Deutschland(Germany). > > WWW.CYNOX.COM sticks in my head for the German company > that offered improved versions of the GX . Big FLASH memory > was the exciting news . ==== But when the most recent OS update happened, only 64k extra was used, and that has help for some of the commands. The sort of help I'm talking about is a couple of lines, a small example, and a couple of relevant links to other commands. I can't imagine this taking up too much memory. > Has anyone written a full catalog replacement that has help for all calculator > commands? Or a way of appending help on to the existing commands that don't have > help associated with them? > > are integrated in the CATalog and whether these commands > have a HELP option depends solely on the library's author > who has the possibility of providing HELPs since ROM 19-6. > Only very few 49-libraries make use of this possibility > although the library creator in OT49 allows doing it even > in UsrRPL. To provide a 1-page HELP text for every builtin > command on the HP49 would cost probably 500 Kbytes, too > much for our little baby :-) Thus, it is unlikely that a > tool you wish will ever exist. > > - Wolfgang ==== I recently downloaded this program on HPCALC.ORG. Does anyone know how to add equations into this library. Thanxs in advance CID ==== I would like to buy the HP40G. 1) Concerning the CAS, does anybody know what ROM version of the HP49G is comparabale (or even identical) to that of the HP40G? 2) Is there a way to check the HP40G ROM version on a real calculator by any key combinations so that I can check it on the store? Axel. ==== > i've got an 48GX+2 MB RAM and a nokia 3320 cell phone(IIRC it's TDMA). the > phone has tools for sending contact list, agenda, and uploading the SMS > messages to a computer or another 3320; via IR or via cable to access > internet. can I use it in to sync. my contact list to my HP48? If your cell phone can use serial protocoll then yes. Can it? Greetings, Nick. ==== I will post the flags soon. I've got final exams this week (for which I > > P.S.: , what do you mean saying nice result? > > I mean result in a nice-looking closed form, kind of like the one you just gave. > > Oh, I see. Just thought you meant something else, since you put a > smiley at the end of the sentence. > > Anyway, the question still remains, why Ethan gets that result with > Xt. Ethan, what system version do you have? And also, could you please > be so kind and post your flags? > > Greetings, > Nick. ==== > I will post the flags soon. I've got final exams this week (for which I Oh, then best luck for your exams. Greetings, Nick. > > > P.S.: , what do you mean saying nice result? > > I mean result in a nice-looking closed form, kind of like the one you > just gave. > > Oh, I see. Just thought you meant something else, since you put a > smiley at the end of the sentence. > > Anyway, the question still remains, why Ethan gets that result with > Xt. Ethan, what system version do you have? And also, could you please > be so kind and post your flags? > > Greetings, > Nick. ==== OK, a dilema on with integration on my HP48G+. My problem is, if I enter -3 3 'X^(1/3)' .S (.S is the elongated-S) it returns 'IFTE(1/3==-1,LN(X)/dX(X),X^(1/3+1)/((1/3+1)*dX(X)))|(x=3)- (IFTE(1/3==-1,LN(X)/dX(X),X^(1/3+1)/((1/3+1)*dX(X)))|(x=-3))' ->NUM converts this then to a complex number (4.86759229981, 2.81030572456). Now, the same with 'XROOT(3,X)' rather than the fractional power, produces the correct result (0). Why is this? When I manually took its integral and was doing some computations, I found that also (and this is probably the root of it) that -3^(4/3), the calculator evaluates as a complex number (XROOT(3,-3)^4 evaluates correctly as an irrational). Is this a bug in the HP, or am I doing something wrong somewhere? -Mike ==== The trigonometry marathon has just been uploaded to hpcalc. This is a new orthographically corrected version. Many many thanks to Bill Storey for his enormous efforst of marking up the errors. Also, version 5 of the sequences, series and limits marathon has been uploaded. The new part contains programs for enhancing the built-in capabilities of the HP49G when it handles limits of series, using many convergence tests, like for example the quotient test, etc. If somebody wishes to have them from me, then don't hesitate dropping Greeetings, Nick. P.S. On page 5-11 of the sequences series and limits marathon there is an error: The series sum(n=1,+oo, LN(n)/2^n) does converge. Copy and Paste cought me unprepared again ;-) ==== --------------------------------------------------------------------- http://carbon.cudenver.edu/~hgreenbe/glossary/Index.html Toby ==== > Oh, that means, connecting my head with the sensors would result in > such questions like Where on the head of this guy do we have a good > signal? Does he produce any signals at all? ;-) > > i think you got plenty of signals. no worry abut that ;) He, he, heeeee! > MRI? What does this stand for? maganetic resonance imaging Ahh, thanks. So it's just taking a sprectrum of one's brain, hey? > The body electric > Neil Peart ..... > To the mother of all hp's > > a heavy metal song? great going! Well, not exactly. These three guys have their own music category. It's just Rush. Vacations, perhaps? Suomi is a big country... > As if they knew what would happen with the HP49G connected to Nick's > head ;-) you are too quick for the HP49G, you would need at least the new amd hammer ;) Oh man, me and quick, looking at me poor amd will think that times flows backwards! ;-) Greetings, Nick. ==== I also saw this program for the 83+ (I believe it's an official program) and I too would like to know if there was any program for this...I did not see any on hpcalc.org or my limited searches on the web. ==== You can use a database, like Scribe or Rolodex, you can define (in Scribe) different headers for question and answer; in Scribe right scroll doesn't works and this is a problem, but perhaps you can find it useful. It's an excellent program. Drunken Master escribi.97 en el mensaje > I recently saw one of my friends studyinng for his history exam, on > his TI-83+ silver edition! He downloaded a program were he could type > questions on his computer and turn them into virtual study cards. > Questions would be on one side and there was a flip command where the > answers were on the other side. There was also a key for changing the > cards. I was wondering if there was any such program for the 49G and > how to make these cards. > > > Thanxs in Advance, > > CID ==== I think the best way would just be to use strings and save them as variables. A great editor for the 48GX was Mini-Writer....though I'm not sure if there is a 49 version of this... ==== > I think the best way would just be to use strings and save them as > variables. A great editor for the 48GX was Mini-Writer....though I'm not > sure if there is a 49 version of this... I just make an empty string and use Emacs from there. Emacs can be found at < http://www.hpcalc.org/details.php?id=3940 > ==== > I think the best way would just be to use strings and save them as > variables. A great editor for the 48GX was Mini-Writer....though I'm not > sure if there is a 49 version of this... > > I just make an empty string and use Emacs from there. > Emacs can be found at > < http://www.hpcalc.org/details.php?id=3940 > I have settled for WinHP as my PC editor, it creates files in TGV and T49 format. Then I use TGV plus to read them on my HP49. Great combo if you want suggestion. ==== > I have settled for WinHP as my PC editor, it creates files in TGV and T49 > format. Then I use TGV plus to read them on my HP49. Great combo if you want > suggestion. Okay, thanks for telling me. I was loking for something like that on my computer. ==== When Xt gets returned after some command, what does it mean? That the HP49G can't find an answer, or at least can't find an answer using that specific formulation of the question. > IRTFMAISDNMAS. Translation I Read The F*?#ing Manual And It Still Does Not Make Any > Sense. YANTOO! (You Are Not The Only One) ;-) Greetings, Nick. ==== I did find out that if you re-evaluate the expression with Xt it comes back with Xtt, and if you do it again it returns Xttt and so on. Still a mystery though. Stan On 16 Dec 2002 08:37:09 -0800, nk@imos-consulting.com (Nick >> >> When Xt gets returned after some command, what does it mean? > >That the HP49G can't find an answer, or at least can't find an answer >using that specific formulation of the question. > >> IRTFMAISDNMAS. >> >> Translation I Read The F*?#ing Manual And It Still Does Not Make Any >> Sense. > >YANTOO! (You Are Not The Only One) ;-) > >Greetings, >Nick. ==== > I'm trying to transfer a *.txt file to the HP49G, > but if I have ANY special characters ex. =+/() in the text, > then transfer fails. You were trying to transfer a text file which was not a calculator program, using Kermit in ascii mode, right? Please look here for explanation and solution: http://groups.google.com/groups?selm=3DA22AD5.805A0176%40miu.edu [r->] [OFF] . ==== Steve VanDevender is back! > The HP 48 uses something passably close to the ISO 8859-1 > character encoding. I would guess the HP 49 does too. Yes, still ISO-8859-1, with a few altered characters (e.g. Angle at 128, Euro at 160, and some control characters used for graphics). Characters 32-126 (decimal) are the same as 7-bit ascii, so imported ascii strings are completely readable in the calc, and when exporting using internal HP Kermit with translation (mode 3), characters 128-255 are also readable in plain ascii. [r->] [OFF] . ==== > I just ran that expression through Maple - it doesn't even try to pass > judgement on it. When it is entered, exactly as > > 3^2^3; > > it complains about expected semicolons. Haven't tried any other CAS's > though. For what it's worth, both Mathematica and Derive give 6561 (my personal preference). Both QuickBASIC and UBASIC give 729. What about other programming languages? -Joe- ==== G'day! This has already been discussed... http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&q=2%5E1%5E3+grou p%3Acomp .sys.hp48 We chose mathematical correctness (in this case, established convention) over backward compatibility, which seemed a minor problem since the only problem would arise from sending/copying a program containing an algebraic object containing ^, as text between a 48 and a 49. The 49 market is primarily high-school+ rather than engineers (and it includes a CAS), which reinforces this choice. In fact, I'd be interested in why the 48 (28?) team chose the 'wrong' case, if anyone of them is reading this, just curious, please... Gerald. > 3^(2^3) = 6561 > (3^2)^3 = 729 > > 3^2^3 = 6561 or 729, depending on how you interpret it. Some people say > that the exponents first rule applies from top down, thus preferring 6561; > others say that the same operations are evaluated from left to right rule > applies to both powers, thus preferring 729. > > The HP48 evaluates '3^2^3' as 729. > The HP49 evaluates '3^2^3' as 6561. > > Both are correct.... if you keep in mind each machine's order of operations. > > -Joe- ==== > What about other programming languages? A few lying around on my computer: GiNaC: 6561 Python: 6561 Yabasic: 729 Gnumeric spreasheet: 6561 Bash shell: same as Maple - doesn't parse the second portion -Mike ==== > We chose mathematical correctness (in this case, established convention) over > backward compatibility, Exactly what I guessed in my post from yesterday. This was a necessity for maintaining compatibilty with an elaborated CAS. > which seemed a minor problem since the only problem would > arise from sending/copying a program containing an algebraic object containing ^, as > text between a 48 and a 49. This problem is easily overcome by setting flag -53 on the *sending* calculator (either 48 or 49) before starting to transfer a UserRPL program in ASCII mode. Rather strange that this seems nowhere to have been mentioned. However, I doubt as to whether this is the only serious problem in backward compatibilty :-) Wolfgang ==== > We chose mathematical correctness (in this case, established convention) over > backward compatibility, Exactly what I guessed in my post from yesterday. This was a necessity for maintaining compatibilty with an elaborated CAS. > which seemed a minor problem since the only problem would > arise from sending/copying a program containing an algebraic object containing ^, as > text between a 48 and a 49. This problem is easily overcome by setting flag -53 on the *sending* calculator (either 48 or 49) before starting to transfer a UserRPL program in ASCII mode. Hence, include an algebraic object containing ^ at some places into << >> instead of sending it as a pure ASCII-text. Strange that this seems nowhere to have been mentioned. However, I doubt as to whether this is the only serious problem in backward compatibilty :-) Wolfgang ==== > In fact, I'd be interested in why the 48 (28?) team chose the 'wrong' case, > [i.e., reading a^b^c as (a^b)^c] > if anyone of them is reading this, just curious, please... Just another guess (only for fun) before somebody from the 28/48 design team will answer :-) They clearly realized that the tradition convention in reading a^b^c as a^(b^c) is in conflict with RPN. What to do in this dilemma? Since they had no plans to join a CAS to the 48 in the future, they decided that RPN should have priority above all tradition. Interesting only that neither the ordinary nor the advanced users manual make any notice about this. - Wolfgang ==== > [The HP48 design team] clearly realized that the > tradition convention in reading a^b^c as a^(b^c) > is in conflict with RPN. I'm missing why it's in conflict with RPN. a^(b^c) is done easily in RPN as a b c ^ ^. Or are you referring to the *internal RPL parsing* of 'a^b^c'? -Joe- ==== > [The HP48 design team] clearly realized that the > tradition convention in reading a^b^c as a^(b^c) > is in conflict with RPN. > I'm missing why it's in conflict with RPN. > a^(b^c) is done easily in RPN as a b c ^ ^. Thats how the 49 compiles the term 'a^b^c' while the 48 compiles it differently. > Or are you referring to the *internal RPL parsing* of 'a^b^c'? What else could I refer to?. The normal user communicats with the machine on the base of what he sees in the display :-) - Wolfgang ==== > [The HP48 design team] clearly realized that the > tradition convention in reading a^b^c as a^(b^c) > is in conflict with RPN. > I'm missing why it's in conflict with RPN. > a^(b^c) is done easily in RPN as a b c ^ ^. Thats how the 49 compiles the term 'a^b^c' which is in accordance with the tradition of reading the term 'a^b^c'. The 48 compiles it as a b ^ c ^ (the wrong case according the Gerald Sqelart). The term 'a^b^c' is as meaningless as is the term 'a+b+c' as long as there are no definite and tacedly accepted rules of bracketing. Such rules exist indeed, but are, unfortunately, different in the two examples. Since the right-bracketing convention in 'a^b^c' was ignored by the Corvallis people, they should have at least commented on this in either of the manuals. On the other hand, from the 49-designers we get comments only if we explicitely state some problem (and it they are in a good mood :-) > Or are you referring to the *internal RPL parsing* of 'a^b^c'? What else could I refer to?. The normal user communicats with the machine on the base of what he sees in the display :-) - Wolfgang ==== Some additional remarks on bracketing ------------------------------------- It might seem at the first glance that bracketing convention for + is irrelevant since + is assiciative. But this is not the case at all. On the set of all 48/49 objects on which + is defined, it is definitely not: (a + {}) + b is different from a + ({} + c). Clearly, if some operation is not associative, bracketing rules become important. As a matter of fact, on both calcs, left-bracketing is tacidly implemented both for + and *. - Wolfgang PS. On the 49, left- or tight-bracketing is not shown in pretty-print even if flag -53 is set. Isn't that a bit dangerous? ==== Some additional remarks on bracketing ------------------------------------- It might seem at the first glance that bracketing convention for + is irrelevant since + is associative. But this is not the case at all. On the set of all 48/49 objects on which + is defined, it is definitely not: (a + {}) + b is different from a + ({} + b). Clearly, if some operation is not associative, bracketing rules become important. As a matter of fact, on both calcs, left-bracketing is tacidly implemented both for + and *. - Wolfgang PS. On the 49, left- or tight-bracketing is not shown in pretty-print even if flag -53 is set. Isn't that a bit dangerous? ==== Try with ... http://ca-on.hpcalc.org Next step ... type Mika HEISKANEN in the window search. Miguel Angel CAPORALINI HERK **************************************************************************** *** Does anybody know something about Mika Heiskannen? What is he doing or if he is still making programs for HP > calcs? I have tried to enter in his web page, but It is > closed. thanks Akula ==== Seen: > I used the sum 'GS(Y=1,10,GS(X=1,10,X^3*Y^3+X^2*Y^2+X*Y))' > ok: 'R' STOVX > save a real in X, calculate... > save an integer in X, calculate... > purge X and do the same again... > I compare results and stand astonished. If you lie to the CAS (storing 'R' in 'VX') and then evaluate expressions where 'X', a variable of summation, already has a defined value, but a different name in 'VX' causes SAVECASFLAGS to look for a different variable than the one needing to be purged, then varied results (or sometimes error messages) should not be surprising. Of course, it would be nicer if the CAS never had any conflicts with existing variables, just as the 48S/48G never had any, so long as flag -3 was clear. But one questionable basic design decision killed that nice hope, given which it would next have been nice for commands which don't actually use the name in 'VX' at all (most CAS commands, actually) to recognize instead the name(s) of the actual variables which would need to remain undefined for each particular command to work, and try to prompt you to purge those variables instead. Neither of these nice things happened, however, so it remains up to the user to gain a much deeper insight into the inner workings of the CAS, and to defend himself against these anomalies by purging his own variables, or by setting 'VX' himself, to cause the uninformed SAVECASFLAGS to check for and purge his variables for him. Uh-oh, the above expression actually has *two* different variables ('X' and 'Y') which *each* must be purged, but 'VX' does not accept lists of variables, so in fact it is truly impossible for the user to get the CAS to do the work using 'VX' alone! So the broad decision never to leave symbolic names unevaluated has proved to be a very fateful decision, alas -- would you like to be able to go back and re-think that one? The reliance by SAVECASFLAGS upon whatever name is in 'VX' is also unfortunate, as most CAS commands use some other variable, which is supplied directly instead, as a stack argument. But listen, if even the blurry Hubble space telescope could be fixed by a retrofit, maybe something can yet be devised to fix these things -- why not take it as a mini-challenge, whose solution would be very useful indeed! [r->] [OFF] . ==== > Seen: > > I used the sum 'GS(Y=1,10,GS(X=1,10,X^3*Y^3+X^2*Y^2+X*Y))' > ok: 'R' STOVX > save a real in X, calculate... ---snip--- > Of course, it would be nicer if the CAS never had > any conflicts with existing variables, just as > the 48S/48G never had any, so long as flag -3 was clear. > > But one questionable basic design decision killed that nice hope, > given which it would next have been nice for commands > which don't actually use the name in 'VX' at all > (most CAS commands, actually) to recognize instead > the name(s) of the actual variables which would need > to remain undefined for each particular command to work, > and try to prompt you to purge those variables instead. > - Just a naive thought Why don't we forget about 'VX' ? In the event of formal variables, wouldn't it be easier just to do the calculation, then give warning, stating that values' of those questionable variabels have been disregarded? ( f.i. when you have a formal variable, scan the expression, temporarily rename all occurences to something undefined ( an reserved generic name like cas#001.. ) , do the calculation, and rename back again.) Gjermund Skailand ==== The last extable I have is dated November, 1999. I have a pretty good entries (Suprom49.a) table for the 49 but it does not have many of the 49 user ROMPTR calls. For example xFONTn and xINFORM are missing. Does anyone have a better list that includes the above commands and other user command entries. (I can get there one at a time from Carsten's terrific database but I am hoping for a simple list). -- - - - - - - - - - - - - - - - - Bill Graves RKBA! bgraves@ix.netcom.com ==== Kiwi Jet Jock ha scritto nel messaggio > ... I'm trying to create the simplist of > programs - that prompts for a value - and then accepts the value. > > I've tried entering the following from the user guide ... > > << ENTER A NUMBER > INPUT OBJ->> STO TEST > > But all I'm getting is ... > > STO ERROR - TOO FEW ARGUMENTS > > Can anyone spot the obvious? After the program << ENTER A NUMBER INPUT OBJ->> you should have typed TEST (this appears as 'TEST') STO because STO wants two arguments: any object in level 2 and a name (no string delimiters) in level 1. I advice you to get the doc Programming in User RPL, by Eduardo Kalinowski, from http://www.hpcalc.org/ . Paolo Cavallo ==== > i've used it. our high school math/sci team used 32sii but they're > about to be disallowed next year since they are so scarce. Why have they been disallowed simply because they are so scarce? One > would think that most (non-HP-using) people would think, OK, so you want > to use an old calc, that's your problem. But maybe the officials of > this competition are aware of HP's superiority. -Mike yes, the officials are VERY aware of the HP's superiority. anyone caught using just a TI on the test is almost laughed right out of the competition becuase literally everyone else knows they have no chance. Most people use a ti-83+ or 86 for graphing or conversions etc but a large portion of the test is straight number crunching where the 32sii's speed is completly unparalled (because the test is practially written for it). next best thing is the hp 49g which i can beat the average 32sii user at the competition although the good people would just trounce me if i used it reguarly. at the state level competitions EVERYONE uses a 32sii. The non-HP-using people simply cower in fear when the Hp-using people show up. ==== I've purchased an HP49G - and I'm having all sorts of probs with the simplist of programming - I'm sure I'm missing the (very) obvious ... (Touch of history - still own and love my trusty HP41CX (was right in to programming with it) - and in the past I've been a pretty serious (80x86) Assembly Language programmer) I prefer to work with RPN - and I'm trying to create the simplist of programs - that prompts for a value - and then accepts the value. I've tried entering the following from the user guide ... << ENTER A NUMBER INPUT OBJ->> STO TEST But all I'm getting is ... STO ERROR - TOO FEW ARGUMENTS Can anyone spot the obvious? - HP48g is in RPN mode - The OBJ-> bit doesn't look quite the same as in the manual ('shaft' of arrow is much longer in book) - I'm getting it by typing: ALPHA ALPHA OBJ RIGHT-SHIFT ZERO - Have also typed without a space in between - didn't look like there was one in the example All help really appreciated. Many thanks ==== In RPN mode, you have to put the argument(s) before the command or operator. In your case, the STO command expect a number and a name to store it in before the STO command is executed. Swap TEST and STO in your program, then I think it should work. /Nikodemus I've purchased an HP49G - and I'm having all sorts of probs with the > simplist of programming - I'm sure I'm missing the (very) obvious ... (Touch of history - still own and love my trusty HP41CX (was right in to > programming with it) - and in the past I've been a pretty serious (80x86) > Assembly Language programmer) I prefer to work with RPN - and I'm trying to create the simplist of > programs - that prompts for a value - and then accepts the value. I've tried entering the following from the user guide ... << ENTER A NUMBER > INPUT OBJ->> STO TEST But all I'm getting is ... STO ERROR - TOO FEW ARGUMENTS Can anyone spot the obvious? - HP48g is in RPN mode > - The OBJ-> bit doesn't look quite the same as in the manual ('shaft' of > arrow is much longer in book) - I'm getting it by typing: ALPHA ALPHA OBJ RIGHT-SHIFT ZERO - Have also typed without a space in between - didn't look like there > was one in the example All help really appreciated. Many thanks -- Get my public pgp key at http://www.algonet.se/~nickek/pubkey.asc ==== Download from http://ca-on.hpcalc.org : Nosy If you have a HP-49 with ROM 1.19-6 (B), you can download: Extable (of J.Y.Avenard) Miguel Angel CAPORALINI HERK **************************************************************************** *** I'm starting to program in SYS-RPL. > I like to decompile built-in commands > and many times I find something like > this ptr 1AC93 . To decompile this > I use the rclx command of the HACK > library. I type #1AC93h on the stack > and then run rclx and DIS. But sometimes I get something like this: Romptr AB 6D nad I don't know > how to acces to this pointer. Anyone knows? > Akula ==== > I'm starting to program in SYS-RPL. You should remind us that your questions refer to HP48GX, to avoid getting answers that apply only to 49G :) > I like to decompile built-in commands > and many times I find something like > this ptr 1AC93 . To decompile this, > I type #1AC93h XRCL DIS So you are using Hack and Jazz, too :) > But sometimes I get something like this: > Romptr AB 6D and I don't know how to access this. In general, you may find it most convenient to use DIS and then ED; within ED, every time you put the cursor on the word PTR or ROMPTR (as well as on any symbol), you can press Right-shift then [+/-] to explore that entry. ED is pretty powerful; perusing its manual may be worthwhile. ROMPTR 0AB 06D (in 48G) happens to be REVLIST, so you can use either { REVLIST } DIS ED or { REVLIST } XRCL DIS ED [but there's no need for XRCL] The latest versions of Jazz may not even require DIS before ED, but mine does (mine is on an old ROM card, not updateable). Here are some little helper programs which I use, to make exploring ROM even easier: http://groups.google.com/groups?selm=6h4571%24ufg%241%40news.iastate.edu > I'm sad watching how people are losing their interest > in this wonderful machine... HP48GX, you mean? Yes, it was wonderful, yet: Full many a gem of purest ray serene The dark unfathom'd caves of ocean bear; Full many a flower is born to blush unseen, And waste its sweetness on the desert air. Elegy in a Country Churchyard, Stanza 14 Thomas Gray (1716ö1771) [r->] [OFF] . ==== > If you go to my website at http://www.hphomeview.com and look on my Misc > aplets page you'll find a new aplet (well a library actually) called > Library L1540. This adds a whole heap of commands to the 39G which, > amongst other things, do conversions. Colin, thanks for your link... Actually I had bumped into your homepage before when checking out the calculator for reviews... but didn't know about that library. Well I would actually like to have just readily available binary/etc operations (add/ ands/ xor, substraction, complement, etc.) for binafry/hex/octal. I am truly debating returning this and getting an HP48G+ instead. Are there any advantages of the 39G over the HP48Gxx series? (doubt it but who knows) The price is one.... and the learning applets are cool but I wouldn't die for them. OH the ability to put graphs side by side is another I guess... Maybe I should keep it and use my default Windows XP calculator in scientific mode for those other operations I say I miss. - Raist ==== I think the thing you need to remember is that the 39G is aimed at high school students. As such it is IMHO *far* easier to use than is the 48/49 - it seems to me that this was one of the prime design priorities. The aplets were also a major factor in our school's decision to use it (well the 38G originally) as was the way it had an IR link so that you could quickly and easily transfer a teaching aplet to your whole class in < 5 minutes. However no-one would even try to claim that it has the same level of power as the 48 and 49G. If that's the level of power that you need then you'll need to swap to one of those. > >>If you go to my website at http://www.hphomeview.com and look on my Misc >>aplets page you'll find a new aplet (well a library actually) called >>Library L1540. This adds a whole heap of commands to the 39G which, >>amongst other things, do conversions. > Colin, thanks for your link... Actually I had bumped into your > homepage before when checking out the calculator for reviews... but > didn't know about that library. Well I would actually like to have > just readily available binary/etc operations (add/ ands/ xor, > substraction, complement, etc.) for binafry/hex/octal. I am truly debating returning this and getting an HP48G+ instead. > Are there any advantages of the 39G over the HP48Gxx series? (doubt it > but who knows) The price is one.... and the learning applets are > cool but I wouldn't die for them. OH the ability to put graphs side > by side is another I guess... Maybe I should keep it and use my default Windows XP calculator in > scientific mode for those other operations I say I miss. - Raist ==== i've got an 48GX+2 MB RAM and a nokia 3320 cell phone(IIRC it's TDMA). the phone has tools for sending contact list, agenda, and uploading the SMS messages to a computer or another 3320; via IR or via cable to access internet. can I use it in to sync. my contact list to my HP48? ==== > When I do an ON+A+F(F1+F6) it falls into the diagnostics > loop (ON+F). The A(F1) key works normally. Why? The 49G is picky about keystroke order. If you press ON, *then* press A, *then* press F, and then release them one by one in reverse order (F, then A, then ON), you'll get the TTRM prompt every time. Some other orders work too, but I only guarantee this one. Hope this helps! -Joe- ==== KP says: > It's good to develop a (commercial) anti-piracy method Have you figured out a method which wouldn't be readily hacked? Well, in asking for the serial number, be sure to instruct your clients to get their serial number from the SERIAL command, rather than from the case, and decide what to do if they have no serial number at all (some calcs and all emulators). So, where's all the commercial software for the 49G, anyway? [r->] [OFF] . ==== > Have you figured out a method which wouldn't be readily hacked? I don't think such a method exists. On the HP49, you'll most probably need ML code; but even the most obfuscated code may be single-stepped in DB or Emu48. Greetings Thomas -- Thomas Rast If you cannot convince them, confuse them. -- Harry S. Truman ==== marketing strategy ??? -- Carlos Remember to REMOVE the extension term next to the @ sign, from ==== I'm looking for an exact solution (if possible) to the problem that involves differential equation as follows: cos(t) + x * cos(t) + y(x) * sin(t) = 1 and y'(x) = tan(t) and y(0) = 0 where t is a parameter to be eliminated from the first two equations. Any ideas how to find either y(x) or in the parametric form of y(s) and x(s) ? I'm expecting two non-trivial solutions, one valid for t > 0 and the other for t < 0. Jack ==== > I'm looking for an exact solution (if possible) to the problem that involves differential equation as follows: cos(t) + x * cos(t) + y(x) * sin(t) = 1 and y'(x) = tan(t) and y(0) = 0 where t is a parameter to be eliminated from the first two equations. Any ideas how to find either y(x) or in the parametric form of y(s) and x(s) ? I'm expecting two non-trivial solutions, one valid for t > 0 and the other for t < 0. Jack The solution is (and is valid for all t): x(t) = t*sin(t) + cos(t) -1 y(t) = -t*cos(t) + sin(t) First, you can check that this is the solution: cos(t)+x*cos(t) + y*sin(t) = cos(t) + t*sin(t)*cos(t) + cos^2(t) - cos(t) - t*cos(t)*sin(t) + sin^2(t) = cos^2(t)+sin^2(t) = 1 y'(x) = (dy/dt)/(dx/dt) = [t*sin(t)- cos(t) + cos(t)]/[t*cos(t)+sin(t)-sin(t)] = tan(t) x(t=0) = 0 and y(t=0) = 0, which means y=0 when x=0 as required I obtained the solution by first writing the second equation as: y'(t)/x'(t) = tan(t) = sin(t)/cos(t) or cos(t)*y'(t) = sin(t)*x'(t) This can be rewritten as: d/dt(y*cos(t))+ y*sin(t) = d/dt(x*sin(t)) - x*cos(t) or d/dt(x*sin(t) - y*cos(t)) = y*sin(t)+ x*cos(t) Using the first equation, the right hand side may be written as a function of t: d/dt(x*sin(t) - y*cos(t)) = 1 - cos(t) This is integrated to produce: x*sin(t) - y*cos(t) + K = t - sin(t) where K is a constant of integration. The initial condition is: y(x=0) = 0. For convenience, take t=0 at this point as well (the t coordinate can be translated so this will hold). Then K = 0. Then: Eq.(1): x*cos(t) + y*sin(t) = 1 - cos(t) Eq. (2): x*sin(t) - y*cos(t)= t - sin(t) Multiply Eq.(1) by cos(t) and Eq. (2) by sin(t) and add, to get: x(t) = t*sin(t) - sin^2(t) - cos^2(t)+cos(t) = t*sin(t) + cos(t) -1 Multiply Eq.(1) by sin(t) and Eq.(2) by -cos(t) and add to get: y(t) = sin(t) - t*cos(t) These final 2 equations are the solution. Geoff Garner ==== This will work. The two solutions I was talking about are actually hidden in your equations. When you look on your equations: x = t * sin(t) + cos(t) - 1 This means that for t > 0 x is positive but also for t < 0 x is positive. On the other hand: y = -t * cos(t) + sin(t) is for t < 0 negative and for t > 0 y is positive (of course I'm talking about reasonable t within -pi/2 to pi/2). The above means that when you plot your solution in the X-Y coordinate system you will get two curves that start at (0,0) and one is describing system behaviour for positive t and the second curve is describing system behaviour for negative t as I was expecting. Actually of course those are two branches of the same parametric curve. Jack ==== This is all getting to sound somewhat familiar: Lord of the Flies http://www.ricochet-jeunes.org/eng/biblio/books/lordflies.html http://www.ricochet-jeunes.org/eng/biblio/films/fliescinema.html http://www.dvdverdict.com/reviews/lordotf.shtml -[]- . ==== > When I try to edit a matrix on 48GX including fractions, > I enter the value 1/2, get error Invalid Array Element. Fractions are really general algebraic expressions, but the HP48 supports only numeric array elements (real or complex). While creating or editing elements, the matrix editor actually allows you to input any RPL input stream which leaves numeric values on the stack, so when creating or editing your matrix, you may enter the element 1/2 in any of these equivalent ways: 1 2 / '1/2' EVAL .5 By the way, you may know that you don't have to press ENTER after every single array element; you can enter a whole bunch at once, separated by spaces (just don't enter past the end of the very first row when creating a brand new matrix). If you would like to *display* an already existing array (or result) as a set of fractions, however, then proceed as follows: Put these programs in your HOME directory [48G/GX only!] (enter #E803Ch exactly as shown and spell LIBEVAL correctly :) << -55 CF 1 CF #E803Ch LIBEVAL >> 'APLY' STO << { ->Q } APLY >> 'MQ' STO Then you can display matrices as fractions, e.g.: [[ .5 1.2 2 ]] MQ ==> { { '1/2' '6/5' 2 } } [r->] [OFF] . ==== I recently saw one of my friends studyinng for his history exam, on his TI-83+ silver edition! He downloaded a program were he could type questions on his computer and turn them into virtual study cards. Questions would be on one side and there was a flip command where the answers were on the other side. There was also a key for changing the cards. I was wondering if there was any such program for the 49G and how to make these cards. Thanxs in Advance, CID ==== > >N.B. for people who don't know what I'm talking about. >In Scheme, you add two values by: >+(a b) Isn't that supposed to be (+ a b) ? -- john R. Latala jrlatala@golden.net ==== schrieb im Newsbeitrag > >N.B. for people who don't know what I'm talking about. >In Scheme, you add two values by: >+(a b) > > Isn't that supposed to be (+ a b) ? > You're right, of course. Too long ago that I even made a syntax error;-) Raymond ==== [OT] > most of the human race are blithering idiots, > plunging themselves headlong into their mutual misery > and destruction, looking only outward, fighting over > their needs and desires, instead of inward to who > they really are. Sounds like you're in a bad mood. Maybe you need a nap, John. ;-) It seems to me that you contradict yourself here. First you say that most of the human race are blithering idiots. Then you say that those same people ought to look inward to who they really are. But who they really are, according to you, is blithering idiots. So, looking inward would either do them no good (since idiots are incapable of deep learning), or make them even more obnoxious (since nobody like to be told that they're an idiot, especially idiots). My opinion is the opposite of yours. I believe that most of the human race is quite intelligent, with infinite untapped potential for even greater intelligence. Yes, blithering idiots exist, but I believe them to be a small minority. Unfortunately, there are enough of them to be a bother, such as in Washington DC where they abound. -Joe- And that's all I have to say about that. -- Forrest Gump, IQ 70; idiot means IQ < 25 and mental age < 3. ==== Some absolutely vital units of measurement: 1 football field = 2.963368 femtoparsecs (fpc) + 576 angstroms (.81) 1 Yottabarn (1_Yb) = 1_cm^2 1 microfortnight = 1.2096 seconds 1 millifortnight = 20 minutes + 9.6 seconds 1 attoparsec per microfortnight is approximately one inch per second A nanocentury is approximately pi seconds -Joe- And that's all I have to say about that. -- Forrest Gump ==== > What difference is 0 WAIT vs. -1 WAIT in a program? As Raymond says, no part of the screen display is normally re-drawn by WAIT [for a keypress], so if you had just stored a new menu (via a MENU or TMENU command) to have some new labels displayed for the top row keys, the menu would not yet be re-drawn by 0 WAIT, whereas -1. WAIT will cause the current (new) menu to be displayed before the program pauses. Any negative numeric argument also has the same effect. It takes a detectable amount of time to redraw a menu, so you might want to use -1. WAIT only when necessary, and 0. WAIT otherwise (when you haven't changed the menu). [r->] [OFF] . ==== And newbie question continues. I'm trying to transfer > .txt file to HP49G, but if i have ANY special characters ex. =+/() on text > I get some blurred text on the screen and transfer failures. > I have in my mind that once (months ago) i've succeed transfering > some text, but I'm not actually sure was there any special characters.. > Please help me on this one! On a related note, does the HP49G use a font/character system similar > to ASCII or Unicode? (Unfortunately, I don't have my emulator with > me.) ASCII and Unicode are character encodings. A character encoding says which characters correspond to which bit strings; a font is a description of how to render characters graphically. The HP 48 uses something passably close to the ISO 8859-1 character encoding. I would guess the HP 49 does too. -- Steve VanDevender I ride the big iron http://jcomm.uoregon.edu/~stevev Little things break, circuitry burns / Time flies while my little world turns Every day comes, every day goes / 100 years and nobody shows -- Happy Rhodes ==== > 3^(2^3) = 6561 > (3^2)^3 = 729 3^2^3 = 6561 or 729, depending on how you interpret it. Some people say > that the exponents first rule applies from top down, thus preferring 6561; > others say that the same operations are evaluated from left to right rule > applies to both powers, thus preferring 729. The former is more standard. Most, if not all, computer algebra systems use it, and that's the evaluation rule I was taught in college, too. To specify a particular order of evaluation, you can use parentheses, as shown above. -- ==== > The HP48 evaluates '3^2^3' as 729. > The HP49 evaluates '3^2^3' as 6561. > so if someone has an HP-48 program with some expression like the above > ('a^b^c'), > and simply transfers it to the 49G, > the program will fail due to a changed order of evaluation? > If yes then it's a time bomb... There are certain conventions in math, in exponential function, exeptionally, right bracketing is the general convention. That is, '3^2^3' should be read as '3^(2^3)' as on the HP49. But clearly, this deviation from the 48 standard should have been clearly documented at various places. Why right-bracketing for exponents? Because '(3^2)^3' cries for immediate simplification to '3^6'. And please observe that in elementary and advanced mathematical textbook the rule '(a^b)^c = a^bc is never written without brackets on the left hand side. I believe that the Corvallis people didn't yet think on combining the 48 with a CAS. Thus, they consequently applied RPN notation also where it contradicts convention. - Wolfgang ==== > The HP48 evaluates '3^2^3' as 729. > The HP49 evaluates '3^2^3' as 6561. > so if someone has an HP-48 program with some expression like the above > ('a^b^c'), > and simply transfers it to the 49G, > the program will fail due to a changed order of evaluation? > If yes then it's a time bomb... There are certain conventions in math, in exponential function, exeptionally, right bracketing is the general convention. That is, '3^2^3' should be read as '3^(2^3)' as on the HP49. But clearly, this deviation from the 48 standard should have been clearly documented at various places, at least in various ACO postings talking about backward compatibility (which is unrealistic :-) Why right-bracketing for exponents? Because '(3^2)^3' cries for immediate simplification to '3^6'. And please observe that in elementary and advanced mathematical textbook the rule '(a^b)^c = a^bc is never written without brackets on the left hand side. I believe that the Corvallis people didn't yet think on combining the 48 with a CAS. Thus, they consequently applied RPN notation also where it contradicts some traditional convention. - Wolfgang ==== Wolfgang Rautenberg escribi.97 en el mensaje > I believe that the Corvallis people didn't > yet think on combining the 48 with a CAS... I've MK installed in my 48 and AGROB for MK (http://www.hpcalc.org/hp48/apps/mk/agrob4mk.zip), one of the best grob scrollers (from JAVA): If I use the EQW for writing the expression, AGROB shows me it in pretty print without brackets, exactly as the MK or 49 stack. EVAL gives 6561. If I use only the 48 keying ' for writing in the edit line, the MK stack shows the same than before, but AGROB shows me the expression left bracketed. EVAL gives 729. The good thing of all this, is that AGROB let me see what is *really* happening ==== > I've MK installed in my 48 and AGROB for MK > If I use the EQW for writing the expression, AGROB shows me it in pretty > print without brackets, exactly as the MK or 49 stack. EVAL gives 6561. mentioned backward compatibility. JYA seemed to have assumed that everybody had the MK :-) MK stuff seems indeed to be backward compatible. But is this the right platform if one speaks of backward compatibility of the 48G and the 49G? - Wolfgang ==== > I've MK installed in my 48 and AGROB for MK > If I use the EQW for writing the expression, AGROB shows me it in pretty > print without brackets, exactly as the MK or 49 stack. EVAL gives 6561. mentioned backward compatibility. JYA seemed to have assumed that most people had the MK :-) But is MK the right platform if one speaks of backward compatibility of the 48G and the 49G? - Wolfgang ==== Wolfgang Rautenberg escribi.97 en el mensaje > But is MK the right platform if one speaks of > backward compatibility of the 48G and the 49G? Certainly not. MK48 or MK49 might run as the original 48 when possible (I think it is, in this case) ==== Wolfgang Rautenberg escribi.97 en el mensaje > But is MK the right platform if one speaks of > of the 48G and the 49G? ...but you are right: backward compatibility IS, or is no backward compatibilty. ==== > so if someone has an HP-48 program with some expression like the above > ('a^b^c'), and simply transfers it to the 49G, > the program will fail due to a changed order of evaluation? > If yes then it's a time bomb... It is more or less obvious by now that backward compatibilty - except for the most simple UsrRPL programs - is not granted. With SysRPL there are seemingly less problems, although some basic commands (e.g. XYDGROBDISP) behave differently. a way out. Before porting a UserRPL program set flag -53, edit and recompile the program which (hopefully) sets all brackets properly :-) - Wolfgang ==== >> 3^2^3 = 6561 or 729, depending on how you interpret it. Some people say >> that the exponents first rule applies from top down, thus preferring 6561; >> others say that the same operations are evaluated from left to right rule >> applies to both powers, thus preferring 729. > The former is more standard. Most, if not all, computer algebra > systems use it, and that's the evaluation rule I was taught in > college, too. To specify a particular order of evaluation, you can use > parentheses, as shown above. I just ran that expression through Maple - it doesn't even try to pass judgement on it. When it is entered, exactly as 3^2^3; it complains about expected semicolons. Haven't tried any other CAS's though. -Mike ==== > so if someone has an HP-48 program with some expression like the above > ('a^b^c'), and simply transfers it to the 49G, > the program will fail due to a changed order of evaluation? > If yes then it's a time bomb... It is more or less obvious by now that backward compatibilty - except for the most simple UsrRPL programs - is not granted. With SysRPL there are seemingly less problems, although some basic commands (e.g. XYDGROBDISP) behave differently. a way out. Before porting a UserRPL program set flag -53 on the sending machine which (hopefully) sets all brackets properly :-) - Wolfgang ==== Truss49 in the conversion done by Edwin Cordoba presents an error upon drawing the truss upon seeming is the only error because the results are performed correctly. It fits to clear up that changing the system of coordinates to a right system the truss draws correctly but the results are incorrect. Errors that Truss48 does not present. The question is if this error to be corrected by Alain soon. Greetings. V.92ctor Moctezuma Hdez. By my race spoke the spirit (I sit down the lack of clarity but my native language is Spanish) ==== I will see what can be done about that. Caspar Note that the original Truss48 is bugfree, it is just the port that is bugged. V.92ctor Moctezuma H. schreef in bericht > Truss49 in the conversion done by Edwin Cordoba presents an error upon > drawing the truss upon seeming is the only error because the results > are performed correctly. > > > It fits to clear up that changing the system of coordinates to a right > system the truss draws correctly but the results are incorrect. > > Errors that Truss48 does not present. > > The question is if this error to be corrected by Alain soon. > > Greetings. > V.92ctor Moctezuma Hdez. > By my race spoke the spirit > > > (I sit down the lack of clarity but my native language is Spanish) ==== Does anybody know something about Mika Heiskannen? What is he doing or if he is still making programs for HP calcs? I have tried to enter in his web page, but It is closed. thanks Akula ==== My Emu48 1.31 with HP49 ROM is behaving VERY BADLY. it crashes while installing libraries(they work on my real 49G), compiling system-rpl, and even using the filer. it started since I installed windows 98. on windows 95 it didn't happen. why? is that a emulator bug? my computer is a pentium 200, 32 mb ram, 1.6 gb hd, on-board HSP modem, etc... Karma Policer Bother, said Pooh, as his HP41 displayed MEMORY LOST. ==== I'm starting to program in SYS-RPL. I like to decompile built-in commands and many times I find something like this ptr 1AC93 . To decompile this I use the rclx command of the HACK library. I type #1AC93h on the stack and then run rclx and DIS. But sometimes I get something like this: Romptr AB 6D nad I don't know how to acces to this pointer. Anyone knows? Akula ==== I recently bought an HP 39G thinking it would have more than enough of what I need. I was looking in particular for good solid matrix operations, and the calculator seems to deliver. Everything seems fine, except that the calculator does not have base conversions??? What the hell? How much would you miss not having base conversions and binary/hex/octal operations if you are a software developer? (I guess it depends what kind of software developer, let's say you might do some somewhat low level stuff every now and then). Shall I return this and get an HP48xx? (I see JAndR still has the HP 48G+ for about $99). I am also shocked to see HP is kind of letting go of the calculator market or so it seems. The 49G is no longer on their website as it was previously... I wonder what's up with them. - Raist ==== If you go to my website at http://www.hphomeview.com and look on my Misc aplets page you'll find a new aplet (well a library actually) called Library L1540. This adds a whole heap of commands to the 39G which, amongst other things, do conversions. > I recently bought an HP 39G thinking it would have more than enough of > what I need. I was looking in particular for good solid matrix > operations, and the calculator seems to deliver. Everything seems fine, except that the calculator does not have base > conversions??? What the hell? How much would you miss not having base conversions and > binary/hex/octal operations if you are a software developer? (I guess > it depends what kind of software developer, let's say you might do > some somewhat low level stuff every now and then). Shall I return this and get an HP48xx? (I see JAndR still has the HP > 48G+ for about $99). I am also shocked to see HP is kind of letting go of the calculator > market or so it seems. The 49G is no longer on their website as it > was previously... I wonder what's up with them. - Raist ==== Look, Thierry Morissette , said Karma Policer, and typed: > Fascinating ... > LOL! HP49G = 100% discontinued? -- Karma Policer - Brazil Lesbian tagline: lick here -> [ ] <- ==== When I do an ON+A+F(F1+F6) it falls into the diagnostics loop (ON+F). The A(F1) key works normally. Why? ------------ Karma Policer Pentium 233 32 MB RAM 2 GB Hard Drive ==== John H Meyers used to swear: > [ser# on case vs. SERIAL command] > > They are supposed to be different. > > Apparently this long ago became a feature :) > > the very latest feature is for SERIAL to not return > any serial number at all, so your calc is not even up to date :) > > The internal, programmable serial number apparently > did not prove to be useful to anyone, least of all to HP, > which had to generate a different one in each flash chip; > it must also have been a bother to synchronize them > with the numbers on the cases, which seems never to have happened. > > Were you going to actually use the SERIAL command for something? > > > [r->] [OFF] Actually I use it. It's good to develope a (commercial) anti-piracy method for HP49 programs. You develope a program for an given 49, it will run only on the model. One thing that is so easy on HP is so hard on the PC. Why? =D -- THIS TAGLINE HAS BEEN UNREGISTERED FOR 36 DAYS- by TAG-PICK beta - picking from a 150000 lines file. ==== I just completed the announced keymap switcher, > ChangeKeymap, or ChKM for short. But only for the > HP49. I'm surprised how fast and easy it runs, the > normal user will be pleased. ChKM is a choose box > of only 200 bytes. I used all available tricks to > keep it small and fast, in particular Werner's. > Thus, you can now easily experiment with various > smaller or larger keymaps, for physics, etc. One just recalls UserKeys with option GetUK and > stores it under a name with suffix .K which by > itself integrates into the choose box. A file U.K > must be either a list obtained with GetUK or its > compression with BZ. Clearly, ChKM has its own > decompressor. Compression rate for few assignments > is very high, over 90%, and in general much smaller > than the output of the slow RCLKEYS command. - Wolfgang > ftp://ftp.math.fu-berlin.de/pub/usr/raut/HP49/keys PS. Werner, I solved the problem of extracting the Is there a source for this program other than the ftp address above, since I cannot connect with that address. ==== A while back in comp.lang.scheme there was some thread about self-evaluating evaluators (in other words, interpreters for a language written in that language itself) in which someone posted this rather odd-looking evaluator for his self-invented programming language Joy. I looked up his web page on the topic: http://www.latrobe.edu.au/philosophy/phimvt/joy.html and it turns out Joy is a stack-based language conceptually similar to RPL in many ways, although with a rather more theoretical bent. I haven't really had time to play with it but the introductory material is intriguing. Those of you with a computer science background may find the theoretical papers there kind of interesting too. I asked the author if he had ever heard of RPL before, and he said he hadn't. -- Steve VanDevender I ride the big iron http://jcomm.uoregon.edu/~stevev Little things break, circuitry burns / Time flies while my little world turns Every day comes, every day goes / 100 years and nobody shows -- Happy Rhodes ==== > Sure I'm missing something when reading the user guide: perhaps the > translation into spanish is not as clear as it would be... When I try to > solve a program with flag 11 set, the calculator would stop and ask for > the other variables, but it does not. I need help about it. Not so sure about this but give it a try! Check the status of flag 10, too. If it is set, then the the equations in a program are displayed as text messages. If it is set, then this might be the problem! Hope this helps! Alex Markatis Civil Engineer, Greece ==== Alex Markatis escribi.97 en el mensaje > Not so sure about this but give it a try! > > Check the status of flag 10, too. > If it is set, then the the equations in a program > are displayed as text messages. If it is set, > then this might be the problem! > > Hope this helps! > > Alex Markatis the things the manual says to a programmed equation (RPN) not to an equation (algebraic) in a program. ==== or get his phone number from the website. John > My teacher has recently banned graphing calculators on tests and other > class work (Well out goes my 49G until next year). I was then > immediatly on the lookout for a good scientific calc. I did some > research and it looks like the 32SII is one of the best scientific > calcs. When I checked its price I was shocked to see a 300+ price tag > on the web. After 30minutes of searching I gave up. Does anyone know a > online store or local store that still carries the 32SII? It has to > carry it at its orginal price not the collectors price I have $80 > left to spend on this calc (the 49G left me broke). If anyone knows a > local store I can look in my local store (though I doubt it is there) > and get a feel for who used to carry it and maybe they'll still have > some on there shelves. > > Thanxs in advance > > CID ==== I looked on his website and can't find the on the site. Does he have some that he didn't put up on his site? When u looked last on his site what was the price of the 32SII? CID ==== I've gone to many websites that people suggested to find the 32SII at the normal price (Below $70) and none of the websites have it! Does anyone know where to get a 32SII at normal price or would anyone be willing to sell one to me? Thanxs in Advance CID ==== idias klaseos! Ego eimai cv97035. Ante, kai kalo ptyxio, an den to exeis parei hdh! Alex Markatis Politikos Mhxanikos EMP $1@ulysses.noc.ntua.gr>... > Megalenoume!Etsi etsi!apla egw prepei na mai o pio mikros!? Useless post (mine, not OP's). If you can't read greek, skip ahead. > > Geia sou patriwth :-) . Xairomai poy ay3h8hke se treis o ari8mos twn > ellhnwn > (mallon tesseris me ton allo Niko) poy xrhsimopoioyn HP calcs. > > Pio polloi eimaste re, na mh 3exname kai ton Trabakoula ;-) > > H messogeiakh symoria megalonei. Vale kai ton rcobo mesa, ki' aytos dikos > mas einai. > > Aporw pws o Tsiros den bghke na xairethsei :-) . > > 8a phge me ton Trabakoula na ewoskania ta prowata edo eparapera ;-) > > Incompatible greek greetings, > Nick. ==== > Have you ever seen http://www.mum.edu ? John, I visitited your university for the first time. Impressing, indeed. Never heard of a similar institution in Europe. I read The University has scored among the nationâs top colleges and universities in the National Survey of Student Engagement Could you a little comment on this? Wolfgang ==== I have a number of programs all written on the 49 in SysRPL and I want my idea was to transfer them in a string format and then have MK reassemble them. Any tips as to the best workflow for doing this to avoid header errors etc? Simon ==== Soemtimes I need to do a MSB on a binary number or drop 2 bytes from the start (# 10111110b turns to #111110b). Is that possible? ==== KP fragt: > I need to do a MSB on a binary number or drop 2 [bits?] > from the start (# 10111110b turns to #111110b). Regardless of the current word size setting, #1 RR always creates a word with just the MSB set; follow this with ASR to have the two MSBs set; then apply NOT AND to mask out highest bit(s). Don't use ASR unless you really want to turn off *two* leading bits (leading zeros are never displayed anyway, unlike a 16C w/ some flag). [r->] [OFF] . ==== When opening the debugger: EMU48 caused an invalid page fault on EMU48.EXE im 0167:00406672. Registers: EAX=0067f980 CS=0167 EIP=00406672 EFLGS=00010282 EBX=00408870 SS=016f ESP=0067f908 EBP=004088a0 ECX=00000000 DS=016f ESI=0067f980 FS=1947 EDX=00000001 ES=016f EDI=00408840 GS=0000 Bytes on CS:EIP: 8a 11 41 84 d2 88 16 0f 84 ed 20 00 00 8a 11 40 Stack dump: bff55836 00000a00 00000838 00004986 0067f958 00004988 00000a00 00004901 0067f930 00000008 004087f0 00408820 00408840 00408870 004088a0 ffffffff Why? ==== there are various possibilities for crashes. If other programs also tend to crash, your PC has some problems. Just run ScanDisk, and reinstall Emu48. Maybe you could upgrade from your current version of Emu48. And try Emu48 on another Platform (e.g. W2K instead of W9x) Raymond Karma Police schrieb im Newsbeitrag > When opening the debugger: > > EMU48 caused an invalid page fault on EMU48.EXE im 0167:00406672. > Registers: > EAX=0067f980 CS=0167 EIP=00406672 EFLGS=00010282 > EBX=00408870 SS=016f ESP=0067f908 EBP=004088a0 > ECX=00000000 DS=016f ESI=0067f980 FS=1947 > EDX=00000001 ES=016f EDI=00408840 GS=0000 > Bytes on CS:EIP: > 8a 11 41 84 d2 88 16 0f 84 ed 20 00 00 8a 11 40 > Stack dump: > bff55836 00000a00 00000838 00004986 0067f958 00004988 00000a00 00004901 > 0067f930 00000008 004087f0 00408820 00408840 00408870 004088a0 ffffffff > > > Why? > > ==== Recently my HP49G has started rebooting immediately on startup. It completes the reboot ok but the screen contrast is too high and has to be reduced. Then it seems to work fine. If I turn it off and immediately on it doesn't reboot but, if left for a while, will always reboot the next time I turn it on. Gary ==== > Recently my HP49G has started rebooting immediately on startup. It completes > the reboot ok but the screen contrast is too high and has to be reduced. > Then it seems to work fine. If I turn it off and immediately on it doesn't > reboot but, if left for a while, will always reboot the next time I turn it > on. What libraries do you have, and what ports are they in? What OS? ==== > >Recently my HP49G has started rebooting immediately on startup. It completes >the reboot ok but the screen contrast is too high and has to be reduced. >Then it seems to work fine. If I turn it off and immediately on it doesn't >reboot but, if left for a while, will always reboot the next time I turn it >on. This sounds a lot like the problems reported with the newer Chinese 49G's. If within the next couple weeks your calculator stops turning on at all, check out the recent thread about repairing Chinese HP-49G's. This is exactly what happened to mine, and I can safely say that the repair is quick & easy. Mike ==== I still can't get past my first step with my attempts to program the HP49G - I've got the following ... << ENTER A NUMBER INPUT OBJ->> When I try to execute it all I get is ... Error: Can't Find Selection Can someone please tell me what I'm doing wrong? Never in my life have I ever struck such a vertical learning curve for a product :((( ==== I still can't get past my first step with my attempts to program the HP49G - > I've got the following ... << ENTER A NUMBER INPUT > OBJ->> When I try to execute it all I get is ... Error: Can't Find Selection Can someone please tell me what I'm doing wrong? > It works fine on my 49 (1.18 ROM version). So I can't help ya. -- | Keiran | | http://www.umr.edu/~faucett | ==== That should be: << ENTER A NUMBER {} INPUT OBJ->> Try reading kalinowski's tutorial for UserRPL programming (I found it useful and easy to read). http://move.to/hpkb miz. I still can't get past my first step with my attempts to program the HP49G - > I've got the following ... << ENTER A NUMBER INPUT > OBJ->> When I try to execute it all I get is ... Error: Can't Find Selection Can someone please tell me what I'm doing wrong? Never in my life have I ever struck such a vertical learning curve for a > product :((( ==== I wonder what a Can't Find Selection error is, anyway? If you set flag -117, does it go away? Another input style: INMENU http://groups.google.com/groups?selm=3DA3BC89.465907D0%40miu.edu [r->] [OFF] . ==== I still can't get past my first step with my attempts to program the HP49G - > I've got the following ... << ENTER A NUMBER INPUT > OBJ->> When I try to execute it all I get is ... Error: Can't Find Selection Can someone please tell me what I'm doing wrong? Never in my life have I ever struck such a vertical learning curve for a > product :((( Know the feeling... Yes, the calculator does have a very, very steep learning curve...but once you get the hang of it, things get considerably easier. Try this... < EVAL>> your screen will look like this... ------------------------------------------------------ Enter number... :#:(enter number here, and press ENTER) ------------------------------------------------------ Screen will clear, and your result will be shown. BTW, as you are already aware, this calculator is NOT as user friendly as a TI -mainly due to the crap documentation that HP provided. Go to HPCALC.ORG and download the HP48 USER'S GUIDE - this is a much more comprehensive manual that is 95% applicable to the 49. Additionally, the best way to learn the calc, that I found, is to use it. Focus on specific tasks & problems (i.e. matricies, graphing, solving equations, etc.) - try not to mix and match until you have a good grasp of the keystrokes/arguments involved. Once over the hump you'll be rewarded with a fine runnin' machine that makes the competition cry with envy! Glenn ==== g-money escribi.97 en el mensaje > > BTW, as you are already aware, this calculator is NOT as user friendly > as a TI -mainly due to the crap documentation that HP provided. Go to > HPCALC.ORG and download the HP48 USER'S GUIDE - this is a much more > comprehensive manual that is 95% applicable to the 49. http://www.hpcalc.org/hp48/apps/mk/mk230.zip ==== I'd install a lib2, but i think it's wrong, 'couse now reboot, and show the name of the lib(the lib), and reboot and show... and reboot... and show the name... is a bucle... i can't use my calc. What can I do???? I've a HP49G, with ROM V 1.18... what can I do??? ==== > What can I do???? Hold down backspace while it is booting, then delete the library. You might want to check the docs to see what port it needs to be in. This is in the manual, by the way. ==== I have two questions.... 1. Its not that important but how are u still getting these 32SII's? I mean there are almost none on the web except the ones on ebay. 2.How much does it cost in Europe? ==== Drunken Master escribi.97 en el mensaje > I have two questions.... > 1. Its not that important but how are u still getting these 32SII's? I > mean there are almost none on the web except the ones on ebay. > > 2.How much does it cost in Europe? The 32sII, as you well know, has disappeared, but sure must be some shops with any unit in their selves with at the real price. I found the last one in that shop. Stroke of luck. ==== I think u can find it in www. chip7.pt by 80 euros or less. Pedro ==== > you'll find a new aplet (well a library actually) called Library L1540. Also downloadable from: http://www.hpcalc.org/details.php?id=5255 Martin Lang has done a very good job! Just to mention that if the library is bound to an aplet, then it will be erasable. Here's some useful info: http://www.hpcalc.org/hp39/pc/funcaplet.zip http://www.hpcalc.org/hp39/pc/advapletprgrm.zip HPCC #1046 ==== > 2) Is there a way to check the HP40G ROM version on a real calculator > by any key combinations so that I can check it on the store? I can't help with the first question but you can find out the ROM version on any 38G, 39G or 40G by typing VERSION in the HOME view. In the case of the 40G there was only ever one version: HP39-A. ==== I would like to buy the HP40G. 1) Concerning the CAS, does anybody know what ROM version of the HP49G > is comparabale (or even identical) to that of the HP40G? As far as I know, CAS in ROM 1.19-1 is almost the same than CAS in hp40g calc. You can execute VER command on CAS (EQW) in hp40g and get this: HP40 CAS by Parisse, Heiskanen and Fietcher 4.2000427 So it is version 4 of Erable and 'was done' 24th April. Anyway, sure someone could correct me if I am wrong. > 2) Is there a way to check the HP40G ROM version on a real calculator > by any key combinations so that I can check it on the store? VERSION command will tell you: Copyright HP, 1993,2000 The sad news is that hp40g is not FlashROM, so you can't update. Only some pre-production models have FlashROM :( J.Manrique http://www.asturlinux.org/~jsmanrique Users Club from Gij.97n http://www.etsiig.uniovi.es/asociaciones/clubusu #1077 HPCC Member http://www.hpcc.org ==== I always wondered how to get Emu48 to do it, too! It seems that Joe's method works on Emu48 -- but only if you press the PC keyboard's equivalent keys (ESC+A+F), not by right-clicking the screen keyboard to hold down the keys. . ==== I'd install 1 library on my HP49G, but i think it's corrupted(the lib)... now my calc reboot and show the lib's name, and do it forever... now is a bucle and i can't use my calc... Help me please if you can answer me in spanish is the better ==== Nice! ==== thanks! use the openoffice math module (i think it comes default). this module will allow you to create math documents (formulas, matrices, you name it) and best of all it is FREE. openoffice runs on linux (what i'am using), windows and macs.you can save your formulas as openoffice-formula, mathml 1.01, starmath5.0, stramath4.0 and starmath3.0. you can create nice documentation with this :) free download here: www.openoffice.org > http://carbon.cudenver.edu/~hgreenbe/glossary/Index.html Toby -- ==== ... ninety-seven, ninety-eight, ninety-nine ... I did count to one hundred before posting this time. Friend, we understand not one another: I am too courtly and thou art too cunning. (Troilus and Cressida, Act 3 Scene 1) HPCC #1046 ==== Question was to write text on PC, then transfer? Got Notepad? http://groups.google.com/groups?selm=3DA22AD5.805A0176%40miu.edu . ==== > Sounds like you're in a bad mood. It's the centers of stress and violence in the world which are in that bad mood. > It seems to me that you contradict yourself here. No, you invent your own meaning and intent for what I say, and then you proceed to have an argument with yourself about it. > My opinion is the opposite of yours. No, your farcical characterization of the meaning of my writing was framed as the opposite of the next thing you wanted to say, which ain't the same thing at all. > I believe that most of the human race is quite intelligent, > with infinite untapped potential for even greater intelligence. Have you ever seen http://www.mum.edu ? That's what it's all about -- how to tap it! > Yes, blithering idiots exist, but I believe them to be a > small minority. Unfortunately, there are enough of them > to be a bother, such as in Washington DC where they abound. Now you're just beginning to catch my point. > And that's all I have to say about that. . ==== > > When Xt gets returned after some command, what does it mean? > > IRTFMAISDNMAS. > > Translation I Read The F*?#ing Manual And It Still Does Not Make Any > Sense. > > Stan The function could not be integrated and the t is a dummy variable. Or XT means your HP may run MS-DOS 3.3 :-) ---- Karma Policer Windows NT 4 Service Pack 6a Windows 98 2nd Edition + IE 6.0 ==== > I got my 49g+ last week and I'm writting my first program in UserRPL. > Since it's my first HP I'm not very familiar with UserRPL and need > some help. > I read Kalinowsky's tutorial, and it was helpfull to begin using RPL > since I didn't knew it until now. Let's look at this example assuming that level 1 and 2 on the stack > are numbers (actually any type of object might be applied too, not > sure about it...) Ç -> A B > Ç > @ step 1 > A B + > @step 2 > 'C' STO > ... > Lots of instructions > ... > @step 3 > C A - > @program finishes > the instrucions are just examples. my question is: > --When I execute step 2 the variable 'C' is stored in my working > directory but what I want is to assign the result of step 1 in a local > variable, say 'C', to recall it later without need to manipulate the > stack if there are lots of instructions between and, needless to say, > without creating the variable. Is it possible? How? > I'd appreciate some help here... By the way the program will be used to calculate input and output > reflexion coeficients for Low Noise Radio Frequency Amplifiers, based > on tha S parameter matrix and the noise figure parameters. If you know > some program that does this please tell me. > Replace the first line with << 0 -> A B C The 0 will be stored into the local variable C. This putting on the stack of enough values to create local variables in addition to those passed on the stack is a common idiom in user rpl code (at least by me). Martin Cohen ==== >I got my 49g+ last week and I'm writting my first program in UserRPL. >Since it's my first HP I'm not very familiar with UserRPL and need >some help. >I read Kalinowsky's tutorial, and it was helpfull to begin using RPL >since I didn't knew it until now. Let's look at this example assuming that level 1 and 2 on the stack >are numbers (actually any type of object might be applied too, not >sure about it...) Ç -> A B >Ç >@ step 1 >A B + >@step 2 >'C' STO >... >Lots of instructions >... >@step 3 >C A - >@program finishes >È >È the instrucions are just examples. my question is: >--When I execute step 2 the variable 'C' is stored in my working >directory but what I want is to assign the result of step 1 in a local >variable, say 'C', to recall it later without need to manipulate the >stack if there are lots of instructions between and, needless to say, >without creating the variable. Is it possible? How? >I'd appreciate some help here... By the way the program will be used to calculate input and output >reflexion coeficients for Low Noise Radio Frequency Amplifiers, based >on tha S parameter matrix and the noise figure parameters. If you know >some program that does this please tell me. Replace the first line with << 0 -> A B C The 0 will be stored into the local variable C. This putting on the stack of enough values > to create local variables in addition to > those passed on the stack is a common idiom > in user rpl code (at least by me). Martin Cohen I hadn't thought of that... :) however... Using this solution is it possible to assign another value to variable 'C' in the middle of the program? ==== X >> Ç -> A B >> Ç >> @ step 1 >> A B + >> @step 2 >> 'C' STO >> ... >> Lots of instructions >> ... >> @step 3 >> C A - >> @program finishes >> È >> È X >Replace the first line with ><< 0 -> A B C >The 0 will be stored into the local variable C. This putting on the stack of enough values >to create local variables in addition to >those passed on the stack is a common idiom >in user rpl code (at least by me). Martin Cohen I hadn't thought of that... :) > however... Using this solution is it possible to assign another value > to variable 'C' in the middle of the program? 1) Usually local variable names are all lowercase, while GLOBALS ARE UPPERCASE 2) 'c' STO works anywhere after the initialization using 0 -> c Ç 3) I suggest again that do this separately so that your program can be used in 'Algebraics' as a function eg: Insert after the first line: Ç 0 -> C ==== X >Ç -> A B Ç X > Replace the first line with > << 0 -> A B C > The 0 will be stored into the local variable C. This putting on the stack of enough values > to create local variables in addition to > those passed on the stack is a common idiom > in user rpl code (at least by me). BUT then it can not be used as a function... ==== What about using Armulator? John ==== Just to let you know, your brief is appreciated - I'm looking at setting get the 49G+ to talk to the box .. [all that's left is getting the wife -- ^^^^^^^^ >>Do you know how to transfert files between my hp49g+ and my Here's what I do. 1) As root, type: insmod usbserial vendor=0x3f0 product=0x121 > 1.5) If you have a recent enough kernel (I don't) also use safe_serial, > apparently. I'm afraid I don't know anything more about this. > 2) Attach the HP49G+ and switch on. > 3) Type (on computer): dmesg to see what's going on. There should be a line at the end similar to > usbserial.c: Generic converter now attached to ttyUSB0 (or usb/tts/0 for > devfs). This is saying the calculator is connected to /dev/ttyUSB0. > 4) Run kermit (on computer): I have to do this as root to access the port > correctly, but this may just be my being too lazy to sort it out! If you > don't have kermit, binaries are at > http://www.columbia.edu/kermit/ck80binaries.html > 5) Follow the instructions at http://lcdx00.wm.lc.ehu.es/~svet/hp49g.html. Note: a) When this page says, 'HP49G: Set the calculator to server mode pressing > right shift and right arrow,' it means press them simultaneously so > that one is using kermit, not xserver. b) The set port instruction should, of course point to the port listed > above: /dev/ttyUSB0 or whatever dmesg reported. c) Also, you may not have to use robust if safe_serial is loaded: I don't > know about this. Anyone have any comments? > 6) That's it. > 6.5) Ah, except that my system has a bug which causes a crash in usb_serial, > if the calc. is disconnected whilst it's loaded. I get round this by > quitting kermit, doing a rmmod usb_serial and _then_ unplugging/switching > off the calc. Sorry if this is overly simplistic, but it seemed worth setting out. If > anything here is particularly stupid then please post to say so > (politely!): I haven't spent any real time investigating this, beyond > getting to the point where I can still avoid ever booting Windows. Sarah ==== >Greetings Everyone, a) IRDA to RS-232/422/485 - connect your 49g+ to serial devices b) IRDA to wireless link - use your 49g+ to send and receive wireless >data. This link could even be Bluetooth (or in the near future IEEE >802.15.4 ZigBee) compliant. Does that mean the HP49+ could communicate with the Overhead Projector that > used a 10 pin connection > with the old HP49? Also, my laptop has a Socket Communications BL4517-386 Bluetooth Card. It > would be great to directly connect with the HP49+ without a cable. Walt. The 49g+ should be able communicate with your overhead projector - I can communicate with a few different RS-232 devices, its pretty slick. Bruce ==== > >> On the HP49, one can create a scalar product program easily enough: >> >> << CONJ DOT >> >> >> does it. Similarly, one can get a.b (the dot product in real spaces) easily >enough on the TI-68k: dotP(conj(a),b) -- > Shouldn't that be > dotP(a, conj(b)) > ? the quantum mechanics psi-star-psi. -- ==== > Gotta hand it to you for that solution ... it works, though! If, in addition to adding an equation to the plot form, you could also > enter the type of plot for each equation, it might make it possible to > do these things, as well. > If you don't change the scale and don't do erase, you can plot different types of equations on the same graph. Arnaud ==== What character set and file encoding must be used so that a text file can be written in notepad or word pad, and saved to the 48/49 without having to go in and edit the special characters? ie. Êsqrt and pi I know the ascii codes, and I can save as a text and encode as unicode, the formatting will work on the pc, but the calculator doesn't recognize it. I've loaded a HPGCalc.ttf into my font listing for windows, so I can type using the correct type set....just fails when I upload. I've already tried DOS text and windows text..no luck there either. TIA JB ==== > What character set and file encoding must be used so that a text file > can be written in notepad or word pad, and saved to the 48/49 without > having to go in and edit the special characters? ie. Êsqrt and pi I > know the ascii codes, and I can save as a text and encode as > unicode, the formatting will work on the pc, but the calculator > doesn't recognize it. I've loaded a HPGCalc.ttf into my font > listing for windows, so I can type using the correct type set....just > fails when I upload. I've already tried DOS text and windows text..no > luck there either. TIA JB > I can't help you with a HP48/49 (don't have one) but I think you're using my HPGCalc.ttf font. That font's fine, and as you say you're saving in Unicode, but the files still need to be translated. (If it's not my font ignore me) That font is designed for the HP38/39/40G calculators and special application software to convert from/to the calculator format and Unicode. I don't know of such software for the HP48/49 but that doesn't mean it doesn't exist. Also, I don't think ANY of the calculators would natively support Unicode so that probably will never work. I don't think there's a matching encoding unfortunately. Anyone else? Joshua King ==== >What character set and file encoding must be used so that a text file >can be written in notepad or word pad, and saved to the 48/49 without >having to go in and edit the special characters? ie. sqrt and pi I >know the ascii codes, and I can save as a text and encode as Some 49 hints: 1) [APPS] 2.I/O functions..[ENTER] 5.Transfer..[ENTER] Xlat: |CHOOS| *note: the number on the left are the corresponding codes I put there* 0 None 1 Newline (Ch 10) 2 Chr 128-159 3 Chr 128-255 Select the last one You could also do on the command line: HOME 'IOPAR' 6 3. PUT 2) This goes for all models: http://www.finseth.com/~fin/hpdata/chars.html Some 48 hints: 1) SX [Left-Shit] [I/O] |SETUP| I/O setup menu IR/wire: wire ASCII/binary: ASCII baud: 9600 parity: none 0 checksum type: 3 translate code:0 To change the last one press [ 3 ] |TRAN| For explanation look the codes on the GX example eg. 0->None; 1->Newline, 2->Chr 128-159; 3->Chr 128-255 GX [Right-Shift] [I/O] Transfer..[ENTER] XLAT: |CHOOS| *note: the number on the left are the corresponding codes I put there* 0 None 1 Newline (Ch 10) 2 Chr 128-159 3 Chr 128-255 Select the last one 2) Character Translations SX: Chapter 33 (Volume II if 2 volumes) GX: Page 27-16 HP48 G Series User's Guide Finally: (By John H Meyers) http://membres.lycos.fr/ekalin/view_category.php?id=1 How to Use the Backlash Sequences to Create Files in the PC >unicode, the formatting will work on the pc, but the calculator >doesn't recognize it. I've loaded a HPGCalc.ttf into my font >listing for windows, so I can type using the correct type set....just >fails when I upload. I've already tried DOS text and windows text..no >luck there either. TIA JB > I can't help you with a HP48/49 (don't have one) but I think you're > using my HPGCalc.ttf font. That font's fine, and as you say you're > saving in Unicode, but the files still need to be translated. (If it's not my font ignore me) That font is designed for the HP38/39/40G calculators and special > application software to convert from/to the calculator format and > Unicode. I don't know of such software for the HP48/49 but that doesn't > mean it doesn't exist. Also, I don't think ANY of the calculators would natively support > Unicode so that probably will never work. I don't think there's a > matching encoding unfortunately. Anyone else? Joshua King ==== Can anyone point me to the file: help_v11.zip mentioned in the following link: http://lcdx00.wm.lc.ehu.es/~svet/hp49g.html ..it says it's located on hpcalc.org - for the life of me, I can't find it; can anyone help ?? -- ^^^^^^^^ ==== Please ignore that last post .. I should have read that link more closely. Apologies. > Can anyone point me to the file: help_v11.zip > mentioned in the following link: > http://lcdx00.wm.lc.ehu.es/~svet/hp49g.html ..it says it's located on hpcalc.org - for the life of me, I can't find > it; can anyone help ?? -- ^^^^^^^ ==== Some of you may be interested to know that I've published a port of HPGComm (the connectivity software for the It currently is command-line based, but should install straight onto any Unix-compatible operating system with a C++ compiler. The source code is part of the package, and is licensed under the GNU General Public License. The details: http://www.geocities.com/jking_ok/hpgunixcomm.html The file: http://www.geocities.com/jking_ok/downloads/hpgcomm-1.1.tar.gz (version 1.1 because 1.0 was released yesterday and I didn't announce because it didn't support screen captures - now it does). Joshua King http://www.geocities.com/jking_ok ==== > >>Folks with USB trouble: will this help? >> > > http://www.microsoft.com/downloads/details.aspx?FamilyID=ced4fa25-952b-4dab-b 7a1-f3b0ec1e50d8&displaylang=en > >> > > > You tried and it did not make any difference at all? > ??? ??? all. > Can you write more details, please. Ok, the problem they described didn't sound at all like the problem that the Conn4x and USB driver combination had, and the fix referred to, I think, an AMD CPU and a Via Technologies USB hardware, but my CPU and USB hardware are Intel, so I didn't expect that it would help. But the file is a newer revision than what I had installed, so I guessed that it probably wouldn't hurt, and if it did break things, I could always put the old file back, so I installed it. As I expected, it didn't make any difference. What else is there to say? But the new Conn4x and USB driver package does seem to work, so it's a non-issue now. -- James ==== where can i find manuals for the hp49g? i can only find manuals for the hp49g+ on the hp support site. thanks. ==== mine were in the box, under the calc! seriously you should find all you need at http://www.hpcalc.org/hp49/docs/misc/ enjoy Chic where can i find manuals for the hp49g? i can only find manuals for > the hp49g+ on the hp support site. thanks. ==== > 1) My Palm Tungsten C is instant on right at the last program used, > just like a calc. Things compute very quicky and graph far faster than > my HP49+ bla...bla...bla... and other gibberish! :O) Get a grip! You come to a dedicated newsgroup of die-hard and take-you-all-with-me sons of bitches, people who have starved to death, living on bread and water for months just to save enough money, people who walk for miles and miles through storms and icy blizzards to get to the nearest HP dealer so that they can purchase the next HP all-in-one wonderful crappy machine and you dare speak of blasphemous words, posing at the same time naive questions of the kind since meat is more nutritious than cocoa then why do we need chocolate bars?. Dah! Pull yourself together! Life is like that! Chocolate bars add to the material world taste, the same way that imagination in sex (in its many facets) as opposed to missionary copulation makes life interesting and enjoyable rather than deterministically dull! >8-) !Demeter! ==== >This is not number crunching anymore. >There is a domain where a calc is useless because it is faster to count in >your head. >There is a domain where a calc is useless because the calculations are very >complicated and a computer will do better. >However, most of my calculations fall in the middle and for this I haven't >found anything better than a good calculator. > As far as I am concerned, that is an excellent analysis. Until very good folding keyboards (with number pad and axillary key assignable functions) are developed, the tactile feel of the HP48 is not in the least obsolescent. -- Richard ... ==== good folding keyboards (with number pad and axillary key assignable > functions) are developed, the tactile feel of the HP48 is not in the > least obsolescent. And thus my idea for a hardware/software interface for a that uses a 48* series keyboard and a for the display/processor section. Again, anyone want to part with a dead 48? It would be a crime to kill a running as a donor cow. A classmate of mine spent over $400 on his 48GX, 4MB memory cards (tracked ebay prices lately?) and countless hours of fiddling (not that there is anything wrong with this) just to have it crash prior to our Calc 2 final. He didn't show up for Diff. Eq. this semester. One of my best mates in class was pocking his way through our DE final Monday night on the 49G+. He worked with that box for weeks before feeling confident enough to leave the 48 in the bookbag. (Still has the annunciator on though. Batteries?) We talked at length about HP's letting the market go this past summer prior to the 49G+ arrival this fall. The math department had just about resigned itself to the TI-89. A fresh, new, 49G+ sits on my instructor's desk now. There was no contention that the 48* series was/is an excellent user interface. My emphasis was on the display/processor technology. Why not have multicolor touch screen and software with more features? Who of us wouldn't pay $250 for something that felt like the 48* and ran like a P4 (MS products not withstanding)? I paid nearly that for my GX when purchased years ago. Imagine box zooming with a stylus rather than drilling through menus. Tapping one function plot and then deleting it to clean things up. Same action for another plot and then one key edit and replot on the fly. And the dreams go on... The keyboard would just be a 48 style and plug into the hotsync port on the botton of the PDA. They do it now for wonky looking thumb boards. Why not a real keyboard and spiffy software for us math geeks? Doug Anderson, SC ==== >The keyboard would just be a 48 style and plug into the hotsync port on the >botton of the PDA. They do it now for wonky looking thumb boards. Why not a >real keyboard and spiffy software for us math geeks? > As long as you don't lose the portability and functions of the basic detachable 48, I'd be willing to buy something like what you are describing ... or at least try it out. Mind you, I don't like using a mouse on a PC, prefering the keyboard for most applications. I do use a tablet for the necessary GUI and for the primary TurboCad input in addition to the keyboard shortcuts; so you might think I am somewhat biased. -- Richard ... ==== have multicolor touch screen and software with more features? Who of us > wouldn't pay $250 for something that felt like the 48* and ran like a P4 (MS > products not withstanding)? I paid nearly that for my GX when purchased > years ago. Imagine box zooming with a stylus rather than drilling through menus. > Tapping one function plot and then deleting it to clean things up. Same > action for another plot and then one key edit and replot on the fly. And > the dreams go on... The keyboard would just be a 48 style and plug into the hotsync port on the > botton of the PDA. They do it now for wonky looking thumb boards. Why not a > real keyboard and spiffy software for us math geeks? H-P, having specialized in consumer electronics and divested itself of engineering tools design, grafted consumer electronics features (larger screen, USB interface, more FLASH memory) to the 48G/49G code base, and implemented it via an emulator on PDA hardware (ARM) to create the 49G+. I think we can now look to the evolution of the Game Boy to anticipate what to expect next. First, an add-on screen light, with a magnifier Fresnel lens. Then, HP-49G+ Color with a back-lit 16-color screen and rechargeable NiMH battery pack. Later, HP-49G+ Advance, with a slimmer profile, fewer buttons and a touch screen. (Somewhere in there, look for HP-49G+ Sedan DeVille with big sharp tailfins on either side of the display, and two round rubber mammary bumpers sticking out, one on each side of the SD slot.) [Tongue-not-entirely-in-cheek . . . ] ==== > (Somewhere in there, look for HP-49G+ Sedan DeVille with big sharp > tailfins on either side of the display, and two round rubber mammary > bumpers sticking out, one on each side of the SD slot.) Hmmm... Call me old-fashioned, but I'm not sure I want my mammaries to be bumped whenever I use my calc... Sarah ==== ha hA HA -- great response! (Tit for tat!) > (Somewhere in there, look for HP-49G+ Sedan DeVille with big sharp >> tailfins on either side of the display, and two round rubber mammary >> bumpers sticking out, one on each side of the SD slot.) Hmmm... Call me old-fashioned, but I'm not sure I want my mammaries to be >bumped whenever I use my calc... Sarah ==== ... My emphasis was on the display/processor technology. Why not >> have multicolor touch screen and software with more features? Who of us >> wouldn't pay $250 for something that felt like the 48* and ran like a P4 (MS >> products not withstanding)? I paid nearly that for my GX when purchased >> years ago. >> >> Imagine box zooming with a stylus rather than drilling through menus. >> Tapping one function plot and then deleting it to clean things up. Same >> action for another plot and then one key edit and replot on the fly. And >> the dreams go on... >> >> The keyboard would just be a 48 style and plug into the hotsync port on the >> botton of the PDA. They do it now for wonky looking thumb boards. Why not a >> real keyboard and spiffy software for us math geeks? >H-P, having specialized in consumer electronics and divested itself of >engineering tools design, grafted consumer electronics features >(larger screen, USB interface, more FLASH memory) to the 48G/49G code >base, and implemented it via an emulator on PDA hardware (ARM) to >create the 49G+. I think we can now look to the evolution of the Game Boy to anticipate >what to expect next. First, an add-on screen light, with a magnifier Fresnel lens. Then, >HP-49G+ Color with a back-lit 16-color screen and rechargeable NiMH >battery pack. Later, HP-49G+ Advance, with a slimmer profile, fewer >buttons and a touch screen. (Somewhere in there, look for HP-49G+ Sedan DeVille with big sharp >tailfins on either side of the display, and two round rubber mammary >bumpers sticking out, one on each side of the SD slot.) [Tongue-not-entirely-in-cheek . . . ] I do not understand why people want a color screen in a calculator. (games?)( A PDA maybe). IMHO It is too much overheard for the OS. Plain old Gray Scale seems good enough to me. It really isn't needed for the primary uses of a calculator anyway. Also it is more complicated, and thus more can go wrong. Harold A. Climer Dept.Of Physics,Geology,and Astronomy University of Tennessee at Chattanooga Chattanooga TN USA 37403 ==== X > I do not understand why people want a color screen in a calculator. > (games?)( A PDA maybe). IMHO It is too much overheard for the OS. > Plain old Gray Scale seems good enough to me. It really isn't needed > for the primary uses of a calculator anyway. Also it is more > complicated, and thus more can go wrong. X Games - that's right! Since most of the TI questions are about the games, not math HP should beat TI by offering a 16-bit color (for faster speed also 8-bit) When doing 3-D plots or financial plots it's nice to have color I have a HP Jornada 720 (doing sometimes some EMUlation) mainly for Excel, sometimes Access, Word (or perhaps more like WrodPad=Write) everyday AND a HP-200LX size calculator (keytops have SIN, 1/X, ENTER, etc) with a color display would be wonderful Without WinCE licence (but FAT32) a *simulator* of 49G would not cost that much: 299 $ (less in Euros) would be good price and make a nice profit provided the keys are *really* good (200LX style) ARM CPU going native with multimegabyte upgrade possibility and a slot for both CF & SDIO + PDA USB + IrDA (+ Sir) + Bluetooth = Winner! Some SOny Vaio has even a keyboard that folds underneath and maybe a camera peheripheral would be great. Look what Nokia did with NGAGE => it's all about entertainment, not just talking or sending text messages. The same thing applies to calculators calculator - provided the keyboard is superb I think HP should subcontract to/co-operate with a company, which has no calculators (like Sony) ==== prior to the 49G+ arrival this fall. The math department had just about > resigned itself to the TI-89. A fresh, new, 49G+ sits on my instructor's > desk now. There was no contention that the 48* series was/is an excellent > user interface. My emphasis was on the display/processor technology. Why not > have multicolor touch screen and software with more features? Who of us > wouldn't pay $250 for something that felt like the 48* and ran like a P4 (MS > products not withstanding)? I paid nearly that for my GX when purchased > years ago. But a multicolor touch screen wouldn't feel like the 48*... and I certainly wouldn't pay $250 for it. Probably not even $50. I would, however, pay at least $350 for something that looks and operates *exactly* like a 48GX -- same case, screen and high-quality keyboard (although preferably the 48SX colors) -- but with the 49 software built-in. > Imagine box zooming with a stylus rather than drilling through menus. > Tapping one function plot and then deleting it to clean things up. Same > action for another plot and then one key edit and replot on the fly. And > the dreams go on... The keyboard would just be a 48 style and plug into the hotsync port on the > botton of the PDA. They do it now for wonky looking thumb boards. Why not a > real keyboard and spiffy software for us math geeks? Sorry, but I just don't like PDA designs or interfaces and would rather have a real 48-style machine. The touch screen would just be a waste of space for me. Why bother with a plug-in keyboard when the keyboard would be the only interface I'd ever use? (And you can be sure at least some software would *require* the touch screen and wouldn't work with the keyboard only.) If you want something like that, fine, but I'd prefer they *also* keep making machines designed and built around a real keyboard for those of us who like them. I don't like *any* handheld device with a big screen and small keyboard. -- Wayne Brown (HPCC #1104) | When your tail's in a crack, you improvise fwbrown@bellsouth.net | if you're good enough. Otherwise you give | your pelt to the trapper. e^(i*pi) = -1 -- Euler | -- John Myers Myers, Silverlock ==== All points are well taken and almost identical to those we made this past summer. The 49G+ is very close to the dream machine, for now, in speed and display size/quality. Plotting with it is just plain wonderful compared to the GX. The greatest problem with color displays is feeding them. My PDA is monochrome and uses drop in alkalines/NimH/NiCad (whatever will fit) because I couldn't bear to think about running out of juice and depend on an outlet to renourish the bugger. Backlit color displays are dark holes electricity enters never to return. I think my GX generates electricity. So, to diverge a little, has anyone made a current test device to slip between a battery and the spring posts to measure load during various operations? Simple tin or copper foil and paper to insulate with would do. Gator clip the two metal sides to your current meter and work that HP 48/9 sucker. I suspect low milliamp draw at most. I may try this with my 48GX and 49G. Surely they did this at HP. RDS IT does not equal IQ Starwalt 1999 ==== > ... Backlit color displays are dark holes electricity enters never to return. Another link about backlighting a calculator -- this is the one I remembered when writing my first note: http://michaelv.org/calc_mods.php . ==== The greatest problem with color displays is feeding them. My PDA is > monochrome and uses drop in alkalines/NimH/NiCad (whatever will fit) because > I couldn't bear to think about running out of juice and depend on an outlet > to renourish the bugger. Backlit color displays are dark holes electricity > enters never to return. > IIRC, the second most common complaint about the 49G+ was that it felt too light -- cheap & unsubstantial. Now, if it had a backlit display and a laptop-sized NiMH battery pack, they could have killed two birds with one stone. calculator < http://members.tripod.com/~jrapp/stuff/ > -- snip out some flexible backlight material in the right shape, stick it to the back of the LCD, and add extra batteries. With all the extra empty space in the 49G+ case, the power source would be the least of the hurdles encountered . . . ==== > for the > display/processor section. Again, anyone want to part with a dead 48? It > would be a crime to kill a running as a donor cow. X > We talked at length about HP's letting the market go this past summer > prior to the 49G+ arrival this fall. The math department had just about > resigned itself to the TI-89. A fresh, new, 49G+ sits on my instructor's > desk now. There was no contention that the 48* series was/is an excellent > user interface. My emphasis was on the display/processor technology. Why not > have multicolor touch screen and software with more features? Who of us > wouldn't pay $250 for something that felt like the 48* and ran like a P4 (MS > products not withstanding)? I paid nearly that for my GX when purchased > years ago. Imagine box zooming with a stylus rather than drilling through menus. > Tapping one function plot and then deleting it to clean things up. Same > action for another plot and then one key edit and replot on the fly. And > the dreams go on... The keyboard would just be a 48 style and plug into the hotsync port on the > botton of the PDA. They do it now for wonky looking thumb boards. Why not a > real keyboard and spiffy software for us math geeks? Exactly! HP-200LX is closest to this type of device If only HP would hire some creative people from this group to design a PDA *Simulator* for the 4x series ... ==== pi (or can I just call you 22/7 for short) i had a little trouble getting it to go into a w98 pc, turns out I had two different directories called Hewlett Packard in the c:program files directory, because I also have an HP printer and jetdirect card as well as the previously installed calc connectivity software, and this mightily confused the uninstaller that tries to strip out the previous installation. Once it was all tidied up into hewlet~1 though it all works fine C > It doesn't seem to install in other than the default directory. At > least it wouldn't install (error 113 can't move .cab file) on drive > d:my directory ... It installed ok on drive C:Program FilesHewlett-PackardConn4x, just > fine. I try to keep my C: drive for the exclusive use of winXP OS > files. >http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?l ocale=en_US?=English&pnameOID=351776&prodSeriesId=33568&prodTypeId=215348&ba sePartNum=COL4344&locBasepartNum=ca-14082-3&os=Microsoft+Windows+XP&tech=App lication This is the new version of Con4x with help files and ASCII >support. It is 1.5 mb and works much better than previous. TW ~It is better to be ignorant and interested than ignorant and not interested, >and there's no alternative here. > ==== if that is the problem on my machine or not, since drive d is a separate physical drive, and the install worked on drive c, just fine. The original Conn4X resides on the d drive, and I just sort of figured the installer would upgrade existing files. I also have hp officejet printer software on drive c. Maybe you have the answer though, I'll >(or can I just call you 22/7 for short) >i had a little trouble getting it to go into a w98 pc, turns out I had two >different directories called Hewlett Packard in the c:program files >directory, because I also have an HP printer and jetdirect card as well as >the previously installed calc connectivity software, and this mightily >confused the uninstaller that tries to strip out the previous installation. >Once it was all tidied up into hewlet~1 though it all works fine >C ==== >>http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lo cale=en_US?=English&pnameOID=351776&prodSeriesId=33568&prodTypeId=215348&base PartNum=COL4344&locBasepartNum=ca-14082-3&os=Microsoft+Windows+XP&tech=Applic ation > > > This is the new version of Con4x with help files and ASCII > support. It is 1.5 mb and works much better than previous. Also includes the new USB package. Ignore the old USB package on the web site. I've been watching the home and home office support page for a revised Conn4x or USB driver package, but it hasn't shown up there; only under business support. It works on my PC. But I've seen the Blue Screen of Death quite a few times since I've installed this new package, which is very unusual (well, certainly not every day) on my PC. Particularly, I think, when I've cancelled out of Server mode without exiting Conn4x, and when I've rebooted with the 49g+ plugged in and turned on. But it could be that something else went wrong with MS Windows. Or maybe it's just a case of don't do that. -- James ==== >http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?l ocale=en_US?=English&pnameOID=351776&prodSeriesId=33568&prodTypeId=215348&ba sePartNum=COL4344&locBasepartNum=ca-14082-3&os=Microsoft+Windows+XP&tech=App lication > This is the new version of Con4x with help files and ASCII > support. It is 1.5 mb and works much better than previous. Also includes the new USB package. Ignore the old USB package on the web > site. I've been watching the home and home office support page for a > revised Conn4x or USB driver package, but it hasn't shown up there; only > under business support. It works on my PC. Finally! 8-D ==== A new Conn4x (with ASCII text support) and USB drivers kit for the 49g+ is available at http://h20000.www2.hp.com/bizsupport/TechSupport/DriverDownload.jsp?pnameOID =351776&loca=&prodTypeId=215348&prodSeriesId=33568. Works perfectly ==== http://h20000.www2.hp.com/bizsupport/TechSupport/DriverDownload.jsp?pnameOID =351776&loca=&prodTypeId=215348&prodSeriesId=33568. ==== > http://h20000.www2.hp.com/bizsupport/TechSupport/DriverDownload.jsp?pnameOID > =351776&loca=&prodTypeId=215348&prodSeriesId=33568. Or let's try this link with the right margin set higher: http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?loc ale=en_US?=English&pnameOID=351776&prodSeriesId=33568&prodTypeId=215348&baseP artNum=COL4344&locBasepartNum=ca-14082-3&os=Microsoft+Windows+XP&tech=Applica tion -- James ==== I wanted to install the new Conn4x and got the following error message: An error occurred during th e move data process: 113 Component: File Group: File: C:DOCUME~1OWNERLOCALS~1TEMPPFT3C5.TMPdata1.cab This referes to the file ISDEL.EXE InstallShield Deleter. One should possible delete the old Conn4x manually? Walt ==== > Or let's try this link with the right margin set higher: http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?loca le=en_US?=English&pnameOID=351776&prodSeriesId=33568&prodTypeId=215348&basePa rtNum=COL4344&locBasepartNum=ca-14082-3&os=Microsoft+Windows+XP&tech=Applicat ion Or just http://tinyurl.com/zop7 :-) -- Pat Galea - pg@dudegalea.co.uk - www.dudegalea.co.uk The author of the Iliad is either Homer or, if not Homer, somebody else of the same name. - Aldous Huxley ==== it happens to me also. I experienced the following: - the calculator turn off regardless what i'm doing with it and i simply turn it on to proceed; - sometimes it happens that it freeze and only the paper clip can solve the issue. ciao giancarlo > I submitted the following problem to HP tech support: > On occasion, my HP49G+ will unexpectedly turn off while I'm in the middle of a > calculation. I'm able to turn the unit right back on and resume my > work, but since it has happened more than once (with new batteries as well) > it is become somewhat of an irritant. I have upgraded the ROM to 1.22 > when I first got the unit. Everything else seems to work OK. Is this a common problem and will it be corrected in a future ROM > upgrade? serial: CN33304915 As anyone else have this problem and is there a possible solution? TIA ==== I«ve noticed the same behavior with my new 49G+, serial is: CN33304258. Greetings Andreas ==== very good work. I have the same issue that Paolo is reporting. The ACReader notify that some fonts are missing and then some parts of the doc are unreadable. > >I have put together a web page describing software and faceplates for >UserRPL programming in the PC. I also include a link to a >26-page-long document describing programming exercises. I have problem with the pdf. > Even after installing the font hp48gos1, some parts looks illegible. > Paolo Cavallo ==== I have updated the web page to include: * Word and zipped Word version of the instruction document * hp49font.zip - a file with hp 49 fonts I hope this solves the problem of the missing fonts. Gilberto Urroz ==== a friend of mine just received his HP49G+ from HP. He was one of the guys with the condenser issue on the hp49G and his unit was replaced by a brand new hp49G+. He told me that he has a 1.23 rom (!!!). ...No earthquake or turn off issue... Bye Giancarlo I have a 49G (without the '+'.....) with the 1.19-6 Beta ROM flashed: is it the latest update available for HP49G or is it possible to FLASH the >newer 1.22 one? It will not work in your old 49G, nor in EMU48 > Sorry! X-Warning-1: Do not spam ==== > a friend of mine just received his HP49G+ from HP. He was one of > the guys with the condenser issue on the hp49G and his unit was > replaced by a brand new hp49G+. He told me that he has a 1.23 rom > (!!!). I can confirm this. My new 49+ was delivered today and had also a 1.23 rom. -- Hyperion ==== a friend of mine just received his HP49G+ from HP. He was one of >the guys with the condenser issue on the hp49G and his unit was >replaced by a brand new hp49G+. He told me that he has a 1.23 rom >(!!!). I can confirm this. My new 49+ was delivered today and had also a 1.23 rom. AND no flicker, no batt problem? X-Warning-1: Do not spam ==== >> I can confirm this. My new 49+ was delivered today and had also a 1.23 > rom. > AND > no flicker, no batt problem? No flicker noticed (yet). Batteries... Well, too early to know. -- Hyperion ==== Let's see. The 49G+ has been on the streets for about three months and HP has already responded and fixed the three or four major problems as identified by the users. Seems to me, as you said in another post, that HP is listening and they are responding very well. I suppose that some will have to continue to complain regardless. John > a friend of mine just received his HP49G+ from HP. He was one of >> the guys with the condenser issue on the hp49G and his unit was >> replaced by a brand new hp49G+. He told me that he has a 1.23 rom >> (!!!). I can confirm this. My new 49+ was delivered today and had also a 1.23 > rom. > AND > no flicker, no batt problem? ==== >Let's see. The 49G+ has been on the streets for about three months and HP >has already responded and fixed the three or four major problems as >identified by the users. Seems to me, as you said in another post, that HP >is listening and they are responding very well. I suppose that some will >have to continue to complain regardless. John >> a friend of mine just received his HP49G+ from HP. He was one of >>> the guys with the condenser issue on the hp49G and his unit was >>> replaced by a brand new hp49G+. He told me that he has a 1.23 rom >>> (!!!). >>I can confirm this. My new 49+ was delivered today and had also a 1.23 >> rom. >> AND >> no flicker, no batt problem? > Let us hope there are no more major bugs/defects. Harold A. Climer Dept.Of Physics,Geology,and Astronomy University of Tennessee at Chattanooga Chattanooga TN USA 37403 ==== We have created a new head manager. This 2-page library is only for the HP49+ and makes it easy to use the new header or to integrate it into the display for various environements. HeadMan is perfectly usable but still under work. Note that some commands may still be modified in future. It's main commad, ViewP, allows you to view any input object using the entire screen, move the objects in screen with arrows and shifted arros, change fonts without leaving the viewer. Other commands make possible to use the entire screen for stack display, in all possible fonts including Minifont; get/set the header grob; read e-books, etc. Read a full description here: http://page.mi.fu-berlin.de/~raut/WR49/Headman.htm - Jorge Cevallos - Wolfgang Rautenberg http://page.mi.fu-berlin.de/~raut/WR49/index.htm#General ==== We have created a new head manager. This 2-page library is only for > the HP49+ and makes it easy to use the new header or to integrate it > into the display for various environements. HeadMan is perfectly > usable but still under work. Note that some commands may still be > modified in future. X > http://page.mi.fu-berlin.de/~raut/WR49/Headman.htm X > http://page.mi.fu-berlin.de/~raut/WR49/index.htm#General ==== Has anyone heard any status updates? I understand that it was supposed to be released this month. Craig ==== I have x=sin(t) y=cos(t). I want to find dx/dy and d2x/dy2. The way to do this is (dy/dt)/(dx/dt) and ((dy/dt)/(dx/dy))/(dx/dt). Can the calcultor do this automatically? ==== >If I am at d:derivadassimples directory, and I want to execute >ISOLVER from here. With MSDOS I just type >c:calculointegralessimplesISOLVER.exe to execute it. How I can do it with hp49? {HOME calculo integrales simples ISOLVER.exe} EVAL Yes, but that would also change the current directory (path), which the DOS example would not do. If you want to execute ISOLVER.exe without changing the current directory at all, do this: {HOME calculo integrales simples ISOLVER.exe} RCL EVAL However, if ISOLVER.exe uses files that are in its own directory, then what you want to do is change to its directory, run ISOLVER.exe, then return to the original directory, which sounds complicated but it's easily done like this: {HOME calculo integrales simples ISOLVER.exe} PATH + EVAL Hope this helps! -Joe- ==== >> If I am at d:derivadassimples directory, and I want to execute >> ISOLVER from here. With MSDOS I just type >> c:calculointegralessimplesISOLVER.exe to execute it. >> How I can do it with hp49? {HOME calculo integrales simples ISOLVER.exe} EVAL Yes, but that would also change the current directory (path), which > the DOS example would not do. If you want to execute ISOLVER.exe without changing the current > directory at all, do this: {HOME calculo integrales simples ISOLVER.exe} RCL EVAL However, if ISOLVER.exe uses files that are in its own directory, then > what you want to do is change to its directory, run ISOLVER.exe, then > return to the original directory, which sounds complicated but it's > easily done like this: > {HOME calculo integrales simples ISOLVER.exe} PATH + EVAL OR Very simply (on a 49G 1.19-6, 49G+, 48gII) saving both flags and path: PUSH {HOME calculo integrales simples ISOLVER.exe} EVAL POP ==== I wondered indeed how to connect a hp49g+ to a cell phone...! I think I've just found how : using your IrDA -> Bluetooth module (but where to find it ??) and a cell phone using bluetooth !!! :-)))) This way, I'll be able to connect my 49g+ to the internet wirelessly and thus using Navigator, Mail Prime, IRC Prime and so on (do not forget Samuel Thibault's Usinagaz, hi samuel) in the subway for instance ! :-)) I'm waiting for your answer (and perhaps I'll endly buy a cell phone with bluetooth...). Yoann. ==== Did anybody remark earlier that the : LC 800 OUT=C sequence doesn't produce the slightliest noise ? I've had a look into the makebeep entry... And at some point, there is a OUT=C loop, but the content of C:X appears to be read from the System RAM in some 80... adress. Furthermore, there is at some point a call to the strange commands BUSCC, or so (something nobody here was able to clearly explain, or had the permission to talk about, isn't it, dear HP-hired people ? ;o)) I believe the behaviour of the OUT=C command, as it has been implemented the the Saturn emulator (when will we endly get it on our computer, by the way ?), is quite different from the one on 49G or any other previous Saturn-powered HP calculator. Yoann. ==== > Did anybody remark earlier that the : LC 800 > OUT=C sequence doesn't produce the slightliest noise ? I've had a look into the makebeep entry... And at some point, there is > a OUT=C loop, but the content of C:X appears to be read from the > System RAM in some 80... adress. Furthermore, there is at some point a > call to the strange commands BUSCC, or so (something nobody here was > able to clearly explain, or had the permission to talk about, isn't > it, dear HP-hired people ? ;o)) I believe the behaviour of the OUT=C command, as it has been > implemented the the Saturn emulator (when will we endly get it on our > computer, by the way ?), is quite different from the one on 49G or any > other previous Saturn-powered HP calculator. We seem to have a Saturn+ CPU in our new calculatrice,Yoann. ==== > We seem to have a Saturn+ CPU in our new calculatrice,Yoann. What do you mean ? The hp49g+ is powered by an ARM9 by Samsung, so why talking about a Saturn+ CPU ? Bye, Yoann. ==== >> We seem to have a Saturn+ CPU in our new calculatrice,Yoann. What do you mean ? >The hp49g+ is powered by an ARM9 by Samsung, so why talking about a Saturn+ CPU ? Bye, Yoann. But the Saturn CPU emulator running on the ARM9 implements an enhanced instruction set regular than the original Saturn instruction set. So, the emulator is a Saturn+. Pete M. Wilson Gamewood, Inc. wilsonpm@gamewood.net ==== >We seem to have a Saturn+ CPU in our new calculatrice,Yoann. What do you mean ? > The hp49g+ is powered by an ARM9 by Samsung, so why talking about a Saturn+ CPU ? The Saturn CPU is emulated, but new opcodes like, was it: BUSCC has been added. The calculatrice is 49g+, the (emulated) CPU could be thus be Saturn+ As far as 49 OS is concerned, there is a new Saturn CPU... ==== Exactly I am looking for *.flash archive of this new rom 1.19-7. thanks, ANDREU ==== >Exactly I am looking for *.flash archive of this new rom 1.19-7. > thanks, ANDREU You can't,,yet. Maybe next year. Harold A. Climer Dept.Of Physics,Geology,and Astronomy University of Tennessee at Chattanooga Chattanooga TN USA 37403 ==== >When I input << HOME # 15777h SYSEVAL EVAL>> I get an empty string on > stack >line 1, and I am in HOME, not the hidden directory. >Any ideas? > << HOME S~N EVAL >> Or use # 15781h SYSEVAL if I do remember, it will put the null global name on stack level 1 and evaluate it (BEWARE, THIS IS FOR HP48G/G+/GX ONLY) Furthermore, even when one is in the hidden directory, the path is { HOME } since the null global name doesn't appear on the path. Press VAR and you should see three weird variables belonging to the Alarms and the UserKeys. By the way, on HP48G/G+/GX, there is no S~N command natively, instead of the 49G/g+, Veli-Pekka... ;-) Yoann. ==== >> When I input << HOME # 15777h SYSEVAL EVAL>> I get an empty string on > stack >> line 1, and I am in HOME, not the hidden directory. >> Any ideas? ><< HOME S~N EVAL > > Or use # 15781h SYSEVAL if I do remember, it will put the null global > name on stack level 1 and evaluate it (BEWARE, THIS IS FOR HP48G/G+/GX > ONLY) > Furthermore, even when one is in the hidden directory, the path is { > HOME } since the null global name doesn't appear on the path. Press > VAR and you should see three weird variables belonging to the Alarms > and the UserKeys. By the way, on HP48G/G+/GX, there is no S~N command natively, instead > of the 49G/g+, Veli-Pekka... ;-) Why, you don't have HackLib in your 48GX, Yoann? ==== >By the way, on HP48G/G+/GX, there is no S~N command natively, instead >of the 49G/g+, Veli-Pekka... ;-) Why, you don't have HackLib in your 48GX, Yoann? First, I said natively. HackLib is not natively installed on HP48GX. Then, I use my EXT 2.08f library on HP48GX, not another hacking library (except my EXT48 which is a SysRPL compiler/uncompiler/debugger), in order to convert strings into names. Or either <-LIB-> by MH, DM, RH and a fourth guy. By the way, how is Navigator on your 49g+ ? Have you found any bug ? ;-) I will NOT propose the same as the author of The art of computer programming, who said that he would pay $1 for the first error, $2 for the second, $4 for the third, $8 for the fourth, and so on, but except some functionalities depending on the lack of memory on even recent HP calcultors, I trust there are not much bugs inside that program... http://www.hp-sources.com/navigator/english.asp Yoann. ==== X > By the way, how is Navigator on your 49g+ ? Have you found any bug ? > ;-) Not worth one dollar...)-: -: (-: > I will NOT propose the same as the author of The art of computer > programming, who said that he would pay $1 for the first error, $2 for > the second, $4 for the third, $8 for the fourth, and so on, but except > some functionalities depending on the lack of memory on even recent HP > calcultors, I trust there are not much bugs inside that program... http://www.hp-sources.com/navigator/english.asp > Yoann. ==== > Can you post the link to Navigator? http://www.hp-sources.com/navigator/ (je croyais que tout le monde connaissait) (english : I thought everyone knew that adress ;o)) > Merci. Y'a pas de quoi ! :-)) english : You're welcome... A bient.99t, english : See you, I'll apreciate any report to let me know that you used Navigator, or tried it. Yoann. ==== Does anyone know how to open a HP 49G+? John ==== I would not do it > Does anyone know how to open a HP 49G+? John ==== I downloaded OT49+ from Rautenberg's Web Site to my HOME Directory. What do I have to do next? According to the User's Guide one has to put the library object on the stack, then enter the port number plus the library identifier in the from of :port: number. Then press STO. In the case of OT49+ the Library Number seems to be 360 and the port is 2. I did all this and then turned the calc off and on and/or did a warm start with ON + F3. Nothing happened. What's the secret here? Walt. ==== > I downloaded OT49+ from Rautenberg's Web Site to my HOME Directory. What do > I have to do next? I would use Filer to move the lib to the Flash (port 2) Then press first [ON] keep it down and press [F3] release both After that you find the new library using: [Right-Shift] [ 3 ] eg. [LIB] X ==== >I downloaded OT49+ from Rautenberg's Web Site to my HOME Directory. What > do >I have to do next? I would use Filer to move the lib to the Flash (port 2) > Then press first [ON] keep it down and press [F3] release both After that you find the new library using: > [Right-Shift] [ 3 ] eg. [LIB] > X > and thanks. It worked even without Filer. Once 360 appears in port 2, the secret apparently is that one has press both [ON] and [F3] for a LOOOOOOOOONG time. Then the library appears with [Right-Shift] [ 2!!!!!!!!! ] eg. [LIB]. That one really has to press *FAIRLY LONG*, should be stressed by Rautenberg. I now have the OT49+ on both of my HP49+'s. Walt. ==== HP49G Advanced User's Guide(Ver 1.13) is avairable here. http://www.hpcalc.org/details.php?id=2998 not HP's official site. > but it's only 236 pages long. Not sure if the Advanced Users Guide is still > on-line anywhere. It's not at the address given in bpia5221.pdf. Sarah ==== >> How do I know HP has fixed the issue? Don't you guys read this NG? >You need to grab a button between you thumb and index finger >push the key down and move it from dide to side about twenty times >Then it should register on every click. >Worked on my keyboard... > Don't you read this NG? :) I tried this, it didn't work on mine and may have made the backspace key worse, and I posted it already... Pete M. Wilson Gamewood, Inc. wilsonpm@gamewood.net ==== I am interested what was the defect in your units ? Because I have a unit serial no. 33304... in which I cannot point about specific key that does not register. But the keyboard is too loud and sometimes i click on a key and nothing happens until i click harder... Bye Idan ==== problem, it can be easily fixed as described in his post. John I am interested what was the defect in your units ? > Because I have a unit serial no. 33304... in which I cannot point > about specific key that does not register. But the keyboard is too > loud and sometimes i click on a key and nothing happens until i click > harder... Bye Idan ==== Yes, Elkin: It is still an hp 49g faceplate that looks like the hp 49g+. I couldn't figure out how to modify the key references, and I don't have a ROM beyond 1.19.7. Gilberto Urroz Tienes razon, Elkin: Es una cubierta para la hp 49g que se parece a la 49g+. No pude descubrir como modificar las referencias de las teclas, y no tengo un ROM mas avanzado que el 1.19.7. Saludos, Gilberto Urroz ==== >I had hp 48 and now i update to hp 49g+ but i don't run my hp48 >>programs. >>I send it to calc by xserver and when i go to var and i execute it, te >>program is only a text in lcd and i cannot execute it. It's a good thing that it doesn't let you, because if you tricked a 49 > series into accepting a 48 series program from a binary transfer, it > would likely crash. > >>subject (hp 48 programs and hp 49g+ programs) or make a post it. > One solution is to do this on your 48: 0.5) To retain full accuracy of numbers: STD 64 STWS 1) RCL each variable and then ->STR and STO back 1.3) Well, but preferably store the string with a different name. 1.6) To avoid having any characters translated: 0 TRANSIO 2) now you transfer them to a PC > 3) transfer to your 49g+ 3.5) Put the 49g+ into approximate mode to avoid compiling reals as > exact integers. 4A) RCL each variable and then STR-> and STO back But edit out the ASCII transfer header before trying the STR->. There are better ways, if you use Google to search this NG That works for standard UserRPL.... What about SysRPL/Asm? ==== X > That works for standard UserRPL.... > What about SysRPL/Asm? You need the source and that's ASCII by default ==== What is the maximum number of digits that the HP49 can display and handle in binary and other bases? My 32SII is quite limited at hex computations, for instance 0x800000 X 0x800000 overflows. -Arrigo ==== > What is the maximum number of digits that the HP49 can display and > handle in binary and other bases? My 32SII is quite limited at hex computations, > for instance 0x800000 X 0x800000 overflows. > -Arrigo 64-bits, the number of digits depends of the base and is left to the reader as an exercise ==== > What is the maximum number of digits that the HP49 can display and > handle in binary and other bases? My 32SII is quite limited at hex > computations, > The HP48 and 49 series can handle up to 64 bits. Virgilio ==== > When I set Connect > the program says Looking for Calculator for a few seconds > and then says: I assume you put the calculator in server mode? I know it does that if you don't. ==== > I assume you put the calculator in server mode? I know it does > that if you don't. WELL Its very interesting..... Sometimes when activating the Server Mode, the HP49G+ says: Awaiting server Cmd when it does, Connectivity Kit can«t work. But sometimes, when I play with the IOPAR var, NO CHANGES, JUST manipulate it gets into: Xmodem Server, Waiting for commad and IT WORKS !!!!. What I really don«t know is when I can do the HP49G+ to turn on the XMODEM SERVER. Is it related to the IOPAR ? I really do not change anything. Is someone else having this trouble, or its just because I am learning how to? DePerez ==== > Sometimes when activating the Server Mode, the HP49G+ says: > Awaiting server Cmd That means that you held down the shift key while pressing the right-cursor key. It's not XMODEM Server mode; it's Kermit Server mode (same as obtained by the SERVER command). > when it does, Connectivity Kit can«t work. Correct, because the Kit requires XMODEM Server mode. > But sometimes, when I play with the IOPAR var, NO CHANGES, JUST > manipulate it gets into: Xmodem Server, Waiting for commad That means that you released the shift key before pressing the right-cursor key, and obtained XMODEM Server mode. > What I really don«t know is when I can do the HP49G+ to turn on the > XMODEM SERVER. Don't hold down the shift key. Just press it and release it before pressing the right-cursor key. Hope this helps! -Joe- ==== > What I really don«t know is when I can do the HP49G+ to turn on the > XMODEM SERVER. Is it related to the IOPAR ? I really do not change > anything. Is someone else having this trouble, or its just because I am learning > how to? The biggest problem is that HP doesn't give clear instructions on how to get this to work, and I think the USB drivers on the provided CD are buggy (they BSOD'ed my Windows 2000 laptop on numerous occasions). Ok, for starters, go in and remove the connectivity kit you installed from the CD and visit http://www.hp.com/go/calculators/ and download the latest build. You'll need to do this anyway if you want to upgrade your calculator's OS to the most recent version (which yes, you do want to do that eventually). The new build has better USB drivers and, more importantly, accurate instructions on how to set your calculator into the proper server mode. I was in the same position you're experiencing until I was told by the lastest connectivity kit that I didn't want to hold the right-shift button and then press the right-arrow key (which is the way of the old 49), I wanted to simply right-shift and then right arrow. The difference is that the former puts the calculator into kermit mode, and the latter puts it into xmodem server mode, which the connectivity kit wants to see. Once you do that, you'll be in business. HTH ==== > I assume you put the calculator in server mode? I know it does > that if you don't. WELL Its very interesting..... Sometimes when activating the Server Mode, the HP49G+ says: > Awaiting server Cmd when it does, Connectivity Kit can«t work. When you hold the shift key down > But sometimes, when I play with the IOPAR var, NO CHANGES, JUST > manipulate it gets into: Xmodem Server, Waiting for commad and IT WORKS !!!!. When you release the shift key 1st > What I really don«t know is when I can do the HP49G+ to turn on the > XMODEM SERVER. Is it related to the IOPAR ? I really do not change > anything. Is someone else having this trouble, or its just because I am learning > how to? > DePerez ==== Here's a merry Christmas to you, and a happy prosperous New Year! Scott > Thanx for everybody contributing this year, have a great new year! Kaspaas ==== Do you know where I can find a list of all the serial port commands? And how do you select the IR port instead of the serial or USB port (using UserRPL)? Thomas Tuttle > > The AUG says that in the Xon/Xoff mode of SRECV the calc will send an XOFF > > signal when the receive buffer is almost full. What does almost mean here? > > Does it send the signal before or after the 255th byte starts loading? In the case of the 48SX or 48GX, and presumably the 48S, 48G, and 48G+: With receive pacing enabled, the XOFF (ASCII control code 19 decimal) > has to be sent before the input buffer is full (255 bytes), so that > the other device has time to respond to the XOFF and stop sending > before the calculator's input buffer overflows. If I recall correctly, > the XOFF is sent if the calculator has at least 223 bytes in the input > buffer and receives another one. After an XOFF has been sent, when the > input buffer has less than 25 bytes in it, the calculator sends an XON > (ASCII control code 17) to tell the other device to resume sending, You can find out the exact behaviour by using a terminal (or terminal > emulator), or even another calculator (that uses XON/XOFF flow > control), to send bytes to the calculator and paying attention to when > BUFLEN stops telling you that more bytes have accumulated (don't > remove bytes from the buffer with SRECV just yet). For example, send > 220 bytes to the calculator, and then send bytes one at a time, using > BUFLEN after each one to see how many bytes are in the input buffer. > When the value from BUFLEN stops increasing, you'll know that the > calculator must have sent an XOFF. Then use SRECV to remove bytes from > the input buffer; for example, remove, let's say, 195 bytes, and then > remove bytes one at a time, using BUFLEN after each SRECV to see how > many bytes are in the input buffer. When the number of bytes in the > input buffer stays the same or increases after an SRECV, you'll know > that the calculator must have sent an XON. But be careful that the > other device doesn't time out while you're experimenting. I don't know of a way to adjust these trigger points on the > calculator, but perhaps it could be done with SysRPL or assembler > language. But for everything that I've tried it with, the built-in > XON/XOFF behaviour works flawlessly. The only problem is that you have to be careful not to have the XOFF > or XON signals in the data. If they might occur in the data, then > you'll have to implement some sort of encoding/decoding scheme to get > them through disguised as something else. With transmit pacing enabled, for XMIT and the various printing > commands (when printing via wire), the calculator stops sending when > it receives an XOFF, and resumes sending (assuming that it's waiting > to send anything) when it receives an XON. I don't know how long it > takes for the calculator to get around to sending these signals, but > the other device should assume that it won't be instantaneous. The above applies to a connection via wire. XON/XOFF flow control > doesn't work with Serial IR because that's half-duplex. Full-duplex > isn't used with IR because reflected IR signals would be > misinterpreted as signals from the other device. Note that with the Kermit protocol, the input buffer should never have > enough bytes in it to trigger an XOFF response. Presumably, the same > would be true of most (all?) other devices that Kermit might be > communicating with or through. I've never experimented with whether > either receive or transmit pacing has any effect when using Kermit or > Xmodem. In the case of the 49G, XON/XOFF flow control doesn't work. It doesn't > send XOFF or XON signals when receiving, nor does it heed the XOFF when > transmitting. I expect that the 48gII will behave like the 49G, and if the 49g+ can > use the serial I/O or printing commands (other than sending to the > 82240A/B printer in Red-Eye mode), then I guess that it will behave as > the 49G does. ==== > Do you know where I can find a list of all the serial port commands? > And how do you select the IR port instead of the serial or USB port > (using UserRPL)? -33 SF ==== > But the best which could be done has now been done. In the back-transfer > from the card, you may choose in a browser the port to which the > selected files have to return. Also other small details in Filer5 have > been modified (but no version change). > Wow! Why not a version change?! There was still a small bug in the yesterday version of Filer5. Hence, I updated the fixed version to 3.2004. There is still a little bug which steams from the buggy operation system ROM 1.22. If a running filer is suspended so that the HLT indicator is seen in the new header, HLT remains there after return to the filer with the CONT key. This clearly confuses the user. I don't make bug reports anymore because in all the years I never got a single word of thanks from JYA or CdB. A happy new year to everybody, Wolfgang http://page.mi.fu-berlin.de/~raut/WR49/index.htm#General ==== Check: http://www.engineering.usu.edu/cee/faculty/gurro/Software_Calculators/HP48_4 9G_Docs/ProgrammingInThePC.htm > I am wondering if some program exists, for pc that could safe the health > of my poor eyes, and my patience and mood when I write this crap in > user-rpl. > I have just dev4x, but it doesn't seem good: > I can't understand how to write or edit any program! > I remember there was something like an editor with a few character > substitution for special charactes, like programming brackets, but it was > a lot of time ago, developed for hp48sx. > Thanx and... merry Christmas :-) ==== > Richtiges Klicken [F1 EIN] [DEL], Gleichungen zu l.9aschen. Richtiges > Klicken [F1 EIN] [HINZUF.86GEN] zu hinzuzuf.9fgen neue Gleichungen., Sie. > >wer kann mir erkl.8aren wie man eine kurvendiskussion mit dem hp49g >machen kann und wie man die komplette history des plottens l.9aschen >kann? obwohl ich die history l.9asche, k.9annen die alten plotfunktionen >trotzdem aufgerufen werden. sorry aber das geht nicht, wenn du das ganze auf dem weg l.9ascht, (wo das .9fber umschaltung + clear, wenn da mehr drin steht schneller geht) steht trotzdem unter choose die alten funktionen drin und genau diese m.9achte ich l.9aschen. also kurz, ich m.9achte nirgends eine funktion mehr haben, wenn ich alle gel.9ascht habe. ==== Wenn Sie die Gleichung zu einem var Sie sparen, k.9annen zur.9fckrufen es sp.8ater. Beispiel: X^2 + 2X + 4 'EQN' STO (RPN) Dann sp.8ater: RECHT KLICKEN EQN und f.9fgt es Ihrem Grundst.9fck hinzu. >> Richtiges Klicken [F1 EIN] [DEL], Gleichungen zu l.9aschen. Richtiges >> Klicken [F1 EIN] [HINZUF.86GEN] zu hinzuzuf.9fgen neue Gleichungen., Sie. >> >>wer kann mir erkl.8aren wie man eine kurvendiskussion mit dem hp49g >>machen kann und wie man die komplette history des plottens l.9aschen >>kann? obwohl ich die history l.9asche, k.9annen die alten plotfunktionen >>trotzdem aufgerufen werden. sorry aber das geht nicht, wenn du das ganze auf dem weg l.9ascht, (wo >das .9fber umschaltung + clear, wenn da mehr drin steht schneller geht) >steht trotzdem unter choose die alten funktionen drin und genau diese >m.9achte ich l.9aschen. also kurz, ich m.9achte nirgends eine funktion mehr >haben, wenn ich alle gel.9ascht habe. ==== Samuel Nyall Stearley replied: > >>>I believe the 49G+ has a 16 bit processor while the 89 is an 8 bit. >>The 49g+ has a 32-bit CPU which emulates the Saturn CPU, >>which is a 4-bit serial computer with 64-bit registers, 20-bit addr >>>(subtract 1 from 0 when in hex mode and count the F's) I don't how >>>useful this is for you, but the TI's can't do large number >>>computations (such as 1000 factorial). >>The MC64000 used in the TI is a 16/32-bit CPU >>The registers are 32-bit, but I'm not wheter the addr is 24 or 32 bit? It uses 24 bit addressing For a calculator who's memory space is measured in KB, this leaves lots of headspace. :^/ Rich > -Samuel > www.nyall.net ==== > Samuel Nyall Stearley replied: > >>>I believe the 49G+ has a 16 bit processor while the 89 is an 8 bit. >>The 49g+ has a 32-bit CPU which emulates the Saturn CPU, >>which is a 4-bit serial computer with 64-bit registers, 20-bit addr >>>(subtract 1 from 0 when in hex mode and count the F's) I don't how >>>useful this is for you, but the TI's can't do large number >>>computations (such as 1000 factorial). >>The MC64000 used in the TI is a 16/32-bit CPU >>The registers are 32-bit, but I'm not wheter the addr is 24 or 32 bit? It uses 24 bit addressing For a calculator who's memory space is measured in KB, this leaves lots > of headspace. :^/ Rich > -Samuel > www.nyall.net This brings up a good question--if I can buy 256MB of ram for $35 at a flea market, why can't TI or HP add 16MB of RAM for $5 to their calculators? Every calculator on the market has a pathetic amount of memory compared to what the computer industry can offer, and the only way out is an SD slot. =D ==== X > This brings up a good question--if I can buy 256MB of ram for $35 at a > flea market, why can't TI or HP add 16MB of RAM for $5 to their > calculators? Every calculator on the market has a pathetic amount of > memory compared to what the computer industry can offer, and the only > way out is an SD slot. =D The RAM used in your PC oe WinCE differs from the real Static RAM in your calculator, whch is far more expensive. BUT and *simulate* the old system (another 2MB ROM), they could spend also more RAM. I suggest minimum 8MB Flash for System + 8M User and naturally the same for RAM, too! Maybe a bottom slot for RAM, Flash Expansion for the system with 2+2G limit. ==== X > It uses 24 bit addressing For a calculator who's memory space is measured in KB, this leaves lots > of headspace. :^/ BUT there seems to be a lot of 64KB restrictions on the TI AND the Saturn(+) on the 49G(+) needs bankswitching. The rest of the world seems to be eventually going to 64-bit addressing so it's time to give up emulating and go for a simulation and full 4GB maximum memory for the calculators I believe WinCE.NET has a 256MB limit for the PDA's. Why all these Gates in our memory for the computing devices? ==== > X > It uses 24 bit addressing For a calculator who's memory space is measured in KB, this leaves lots > of headspace. :^/ > BUT there seems to be a lot of 64KB restrictions on the TI > AND the Saturn(+) on the 49G(+) needs bankswitching. > The rest of the world seems to be eventually going to 64-bit addressing > so it's time to give up emulating and go for a simulation > and full 4GB maximum memory for the calculators > I believe WinCE.NET has a 256MB limit for the PDA's. > Why all these Gates in our memory for the computing devices? I think it's more of a problem that the OS can't keep track of many files efficiently. I once almost crashed my 89 by writing a program that created integer variables holding 0 with names starting at aaaaaaaa, aaaaaaab, etc...--it eventually couldn't show the VAR-LINK program and I had to edit the code to delete all the variables. ==== Veli-Pekka Nousiainen replied: > X > >>>It uses 24 bit addressing >>For a calculator who's memory space is measured in KB, this leaves lots >>of headspace. :^/ BUT there seems to be a lot of 64KB restrictions on the TI reasons I don't even pretend to understand, but having something to do with their desire to protect the software they sell. > AND the Saturn(+) on the 49G(+) needs bankswitching. Well, the Saturn does, but strictly speaking, the 49G+ does not, having a 32 bit address space. > The rest of the world seems to be eventually going to 64-bit addressing For computers, yes. Do calculators today really need over 4GB of memory space? I don't really see the need myself. > so it's time to give up emulating and go for a simulation > and full 4GB maximum memory for the calculators > I believe WinCE.NET has a 256MB limit for the PDA's. > Why all these Gates in our memory for the computing devices? Hopefully, HP will slowly re-write the HP OS and get rid of the emulation. I was surprised about the HP-49G+, maybe I'll be surprised again. When finances allow, I plan to buy one of these beasts. Rich ==== > If I recall, the address is 32-bit internally but the 89 only uses 24 > bits for its memory, so the most significant byte is ignored and/or > zero. The most significant byte is ignored. To be precise, all motorola 68000 chips use 24 bit addressing. This is not something specific to the 89. ==== > Actually, the 89 keeps integers and floats as different data types. > Integers never have decimal points and never have exponents--if you do > something huge like 2^32, it shows all the digits, or infinity if it > overflows. Sometime I will find the highest integer it can hold... > stay tuned. The CAS of the 68k calculators use a variable length format format for integers. Integers can range from 0 bytes to 255 bytes long. As a quick example: the CAS of the ti89 can do 299! (factorial) but not 300! On the home app string(299!) displays about twice as fast 299!. I suspect that the ti89s slow integer to string conversion is being used twice when 299! is calculated. (the first time when the calculation is done and the dimensions of the object are needed when adding the expression to the list of entry/answer pairs. The second time when it is actually being displayed. ==== > Actually, the 89 keeps integers and floats as different data types. > Integers never have decimal points and never have exponents--if you do > something huge like 2^32, it shows all the digits, or infinity if it > overflows. Sometime I will find the highest integer it can hold... > stay tuned. > The CAS of the 68k calculators use a variable length format format for > integers. Integers can range from bytes to 255 bytes long. As a > quick example: the CAS of the ti89 can do 299! (factorial) but not > 300! On the home app string(299!) displays about twice as fast 299!. I > suspect that the ti89s slow integer to string conversion is being used > twice when 299! is calculated. (the first time when the calculation > is done and the dimensions of the object are needed when adding the > expression to the list of entry/answer pairs. The second time when > it is actually being displayed. It has absolutely no common sense when displaying long integers. I have almost brought the calculator to its knees displaying huge integers. If it just cached the last integer converted it would be much faster. ==== > Even an > 4-bit processor can calculate 1000! if the software designers represent > numbers internally to allow such a thing. > But if it has no way to store the answer, then it doesn't work... It stores the answer in as many words (of whatever size) as is necessary. A 32-but machine could store a single-precision floating point number in one word while a 4-bit machine would use 8 words to store it. The size of the CPU registers does NOT limit the size of the data you can work with. I it had approximately the same dynamic range as modern day C++ on a 64-bit processor. Of course the 32- or 64-bit processor would be much faster at it (especially since they have a floating point processor built into the hardware) but the 4-bit machine could get the job done. Tom Lake -- Capaci Occasio ==== > X > Because of that and thanks to the work of its authors,the HP49G+ CAS > is a more powerful and more complete CAS. > Sweet! > X > You can fully customise the calculator from the keyboard to the stack > size. > Sweet! > You can take screenshot of the screen. > Sweet! > You can redefine the virtual size of the graphic screen. > Sweet! > And last but not list you have access to other applications such as > the Equation writer,the matrix writer,the text editor,etc... during > the execution of a RPL program. > Sweet! > Sweet! > Sweet! > Something completely impossible on the TI89. > X > Did I mention I think the HP-49G+ is sweet? > Better see your dentist, soon...(-; Oh, don't worry, I've already had enough christmas candy to outweigh that. > I like very much of the task switching ability of the 49G OS - sweet... ==== X > And last but not list you have access to other applications such as > the Equation writer,the matrix writer,the text editor,etc... during > the execution of a RPL program. X > I like very much of the task switching ability of the 49G OS - sweet... Manual Task switching = You can start an application witheen an application Like start Matrix Writer then use Equation Editor and press [HIST] to use the Stack items (or use COPY & PASTE) etc... You may naturally |EDIT| a subexpression in the EQW and... I think you got it! (These are not usually possible on a TI89/V200) Also you can suspend even your stack by HALT Then you can CLEAR and start another calculation, maybe save the result(s) Finally you do CONT and [UNDO] and continue the calculation that was interrupted ==== > X > And last but not list you have access to other applications such as > the Equation writer,the matrix writer,the text editor,etc... during > the execution of a RPL program. > X > I like very much of the task switching ability of the 49G OS - sweet... Manual Task switching = You can start an application witheen an application > Like start Matrix Writer then use Equation Editor and press [HIST] > to use the Stack items (or use COPY & PASTE) etc... > You may naturally |EDIT| a subexpression in the EQW and... > I think you got it! (These are not usually possible on a TI89/V200) Also you can suspend even your stack by HALT > Then you can CLEAR and start another calculation, maybe save the result(s) > Finally you do CONT and [UNDO] and > continue the calculation that was interrupted This is really awesome! There's been so many times when I want to let the user edit a list or matrix or something but I can't without calculator that could stop to allow the user to edit variables, but kept a hash of system data so the user couldn't change a running program's data or hack things except what they were supposed to do. It actally worked pretty well, keeping my brother out of the files it kept as well, since the Casio allows you to lock the source code of a program with a password. ==== > I want see like this, 123,456.1235 for the number 123456.12345 It is obvious that FIX alone doesn't solve the problem. Hence, a little Mini Challenge for the New Year's Eve: Write a smallest UsrRPL program NRD (Nice Real Display) which, applied from STD mode to a real which is not too large (should not contain the exponential character E), yields the wanted display, no matter how many decimals the real has after the separation mark. Here an error protected 37.5 bytes solution in SysRPL: :: CKREAL MINUSONE OVER BEGIN SWAP#1+ SWAPDUP %FP %0<> WHILE %10* REPEAT DROP DOFIX ; Roughly speaking, first a suitable index for FIX is computed. The above is very fast on the 49+. Maybe somebody gets a better solution :-) ==== >Here an error protected 37.5 bytes solution in SysRPL: :: CKREAL MINUSONE OVER > BEGIN SWAP#1+ SWAPDUP %FP %0<> WHILE %10* REPEAT DROP DOFIX >; Roughly speaking, first a suitable index for FIX is computed. The above >is very fast on the 49+. Maybe somebody gets a better solution :-) My first SysRPL program (25 bytes): :: CKREAL DUP %FP DOSTD a%>$ LEN$ #1- DOFIX ; Seems pretty fast on 49g+ Pete M. Wilson Gamewood, Inc. wilsonpm@gamewood.net ==== > My first SysRPL program (25 bytes): > :: CKREAL DUP %FP DOSTD a%>$ LEN$ #1- DOFIX ; > Seems pretty fast on 49g+ Congratulation for your first SysRPL program :-) It is a tick faster if a%>$ is replaced by DecompStd1Line (just one forth-and-back move of the return-stack less). Let's see if somebody beats you in UsrRPL :-) - Wolfgang PS. To get correct error messages, a CK1NOLASTWD should be on top of the program (for the case of empty stack). Correct error messages for UsrRPL programs are more difficult to achieve. But this was not demanded. ==== >> I want see like this, 123,456.1235 for the number 123456.12345 It is obvious that FIX alone doesn't solve the problem. Hence, a little >Mini Challenge for the New Year's Eve: Write a smallest UsrRPL program NRD (Nice Real Display) which, applied >from STD mode to a real which is not too large (should not contain the >exponential character E), yields the wanted display, no matter how many >decimals the real has after the separation mark. > NRD: << DUP FP STD ->STR SIZE 1 - FIX >> Pete M. Wilson Gamewood, Inc. wilsonpm@gamewood.net ==== I'm just moving from using a blue HP49g to a gold 49g+. I'm having comms problems getting files out of my old calculator and onto the new one. Can I restore a save from the HP49g to the new HP49g+? I've tried saving directories from the 49g onto my PC and then copying them to the new machine. But on the new machine they appear as big strings (containing all my variables) as opposed to being a directory. Anyone know how one is meant to copy directories around? How do I convert an ascii string into a directory? They start with %%HP: which I though was enough info to tell the calculator how to deal with the data. Sorry if I'm just being dumb. Roland ==== > I'm just moving from using a blue HP49g to a gold 49g+. I'm having > comms problems getting files out of my old calculator and onto the new > one. Can I restore a save from the HP49g to the new HP49g+? If you have a good Conn4x connection, you should be able to do a Backup to the PC (Edit / Backup) using the serial communications. Then a Restore to the 49G+ (Edit / Restore) using USB. I do this all the time for testing and it works fine. This does not deal with the port memory though, just the user variables. YMMV, I would be interested in knowing anything that can't be handled this way. -- - - - - - - - - - - - - - - - - Bill Graves RKBA! bgraves@ix.netcom.com ==== Edit the big string, delete the %%HP... line and if there is some garbage at the end of the big string clean it up too. Then OBJ-> should do the trick. I don't know how you've generated the big string, I did it by putting the whole directory in the stack, ->STR, store it as a variable, send it to PC, then to HP49G+ etc. BTW are you using the new version 2.1 build 2118 of the communication software? Hope that helps I'm just moving from using a blue HP49g to a gold 49g+. I'm having > comms problems getting files out of my old calculator and onto the new > one. Can I restore a save from the HP49g to the new HP49g+? I've tried saving directories from the 49g onto my PC and then copying > them to the new machine. But on the new machine they appear as big > strings (containing all my variables) as opposed to being a directory. > Anyone know how one is meant to copy directories around? How do I > convert an ascii string into a directory? They start with %%HP: which > I though was enough info to tell the calculator how to deal with the > data. Sorry if I'm just being dumb. Roland ==== > In order to print the 49g+ user's guide for paper reading (which I > prefer sometimes), I have sorted the PDF file, so all chapters are in > order. Also, I have cropped the pages using the crop marks included in the > document. The size of the cropped pages is 5.53[Times]8.28_in (14[Times]21_cm), > which I suppose matches that of the printed user's manual. It is good > for printing four pages per A4 (or letter) sheet, if your printer can do > booklet printing. I have also added blank even pages for chapters ending > in an odd page, so that all chapters begin in right-hand pages. The cropped pages are better also for screen reading using fit in > window magnification, as margins are reasonable now. And last, I have > added a few links to the ToC, only at the chapter level but they result > quite handy; chapter titles have links to return to the ToC. I would > like more links, but it is a pain to add them by hand, and I think this > version is not very worth the effort, as it should be updated soon. > Hopefully, a full set of links and bookmarks will be put in a future > version by HP itself. This version of the guide can be downloaded from the only link in this > page: http://www.textodigital.jazztel.es/hp49gplus/UGuide.html RaM. > ==== Noticias Daniel Galano ha iniciado a escribir el emulador de las Texas Instruments para PalmPC-OS Mas info en: http://ticalcemulator.calcnews.net/ EDCG ==== Noticias HpCalc.org ha sido actualizado Ver http://www.hpcalc.org/ EDCG ==== Just tried to do a ROM update. Followed instruction to the letter. Everything finally went through (or seemed to do so). Message on screen said I had erased the original rom and then it donloaded the 1.22 rom just as it was supposed to. got to a message that said upgrade finish/wait reset so I reset it as instructed. I now have a permanent message saying flash need update/1. usb/2. card can't reset, can't turn the machine off, can't get rid of message, can't do a thing. do i send it in for warranty repair or is there something someone can suggest? ==== > do i send it in for warranty repair or is there something someone can > suggest? I had the same problem. I updated via a SD card and it worked. ==== Try reset but using a paperclip on the bottom side and at the same time repeating the ROM update. !Demeter! ==== Try reset but using a paperclip on the bottom side > and at the same time repeating the ROM update. !Demeter! I had the same problem... I uninstalled the conex software that came with the calculator and downloaded the new version from hp. I followed the procedure again and it worked. here is the link: http://h20015.www2.hp.com/en/softwareList.jhtml?reg=&cc=us&prodId=hp49ggraph 351775&lc=en&plc=&softitem=Microsoft%20Windows%2098&sw_lang=en&pagetype=softw are ==== It's posible to use the EMU48 for windows ce from hpcalc.org in a PDA Ricardo Gomez ==== Ricardo schrieb im Newsbeitrag > It's posible to use the EMU48 for windows ce from hpcalc.org in a PDA Ricardo, Roman is right. emu48 on Windows CE Mobile has problems with the registry. You need eg. Tascal Regedit: http://palmtopmagazin.de/down/122.php3 In combination with Regedit-file *.reg or *.txt for reading A little more, collected from www.hpcalc.org you find in. http://users.belgacom.net/EAA/Heiko/Mobile_files/HAemu.zip With *.reg and Tascal Regedit, you do not need to do it manually. German docu for emu48 on PPC Windows CE Mobile: http://users.belgacom.net/EAA/Heiko/Mobile.htm ..Heiko ==== yes it works, although you have to edit the registry manually (you need a here are the instructions (taken from a German PPC forum) to make it work on [HKEY_CURRENT_USERSoftwareEmu48] [HKEY_CURRENT_USERSoftwareEmu48Serial] Ir= Wire= [HKEY_CURRENT_USERSoftwareEmu48Emulator] GXCycles=dword:0000007b SXCycles=dword:00000052 RealSpeed=dword:00000000 [HKEY_CURRENT_USERSoftwareEmu48KML] AlwaysDisplayLog=dword:00000001 [HKEY_CURRENT_USERSoftwareEmu48Port2] Filename= IsShared=dword:00000000 [HKEY_CURRENT_USERSoftwareEmu48Files] Delay=dword:00000001 AutoSaveOnExit=dword:00000001 AutoSave=dword:00000000 Emu48Directory=ProgrammeEmu48 Roman Ricardo schrieb im Newsbeitrag > It's posible to use the EMU48 for windows ce from hpcalc.org in a PDA > Ricardo Gomez ==== > Another style of numeric character quoting commonly used is a percent > sign followed by two hex digits, such as %80 for character 128 decimal. > I personally would prefer that (or something like it) over use of > three-digit decimal representation. > Unfortunately % is a valid character in HP file names so we could have > some backwards compatibility issues. So a '%' in an HP file name would become %25 on the PC. Do many people actually use '%' in HP file names? > Maybe ^ could be used? I suppose that would be OK. I prefer '%' because it's already in common usage (e.g., URLs) ==== > Another style of numeric character quoting commonly used is a percent > sign followed by two hex digits, such as %80 for character 128 decimal. > I personally would prefer that (or something like it) over use of > three-digit decimal representation. Unfortunately % is a valid character in HP file names so we could have > some backwards compatibility issues. So a '%' in an HP file name would become %25 on the PC. Do many people > actually use '%' in HP file names? Maybe ^ could be used? I suppose that would be OK. I prefer '%' because it's already in common > usage (e.g., URLs) Hmm. Could Yoann say if it is ok with her Browser? I just can't figure it out right now - some kind of slow-down... ==== I'm using an 48g for years and have had no complaints except the 'speed'. The new 49g+ looked like the ultimate solution, so I got one. I'd got some hassles to transfer all the folrmulas over from the 48g and the keyboard is - well, this has be discussed before ;-) Alas, I'm very pleased with the speed. I do have some problems with the symbolic solver which seems to be less straight forward to use then the one from the HP48g.Not only it refuses to solve formulas in non-radiant mode (even for quite simple formulas with no angles at all...!?), but it comes many times up with not reducible to a rational expression error when 'solving' formulas the 48g and my TI89 easily solve. Example: solve the following equation (sqrt is the sqare root sign) t=r^2-sqrt(r^2-(dm/2)^2) solving for 'dm' works fine, but solving for 'r' does result on the 49g+ to the error message described above (with 'isol', 'solve' or 'quad', while it solves fine with 'quad' on the 48g and 'solve' on the ti89) Any suggestions on how to make my 49g+ solve this kind of symbolic equations? Maybe something changed from the 48g and I miss the point over and over again or some special flags need to be set? Any hints are greatly appreciated! Patrick PS running ROM V1.22 and is in RPN mode. ==== X > I do have some problems with the symbolic solver which seems to be less > straight forward to use then the one from the HP48g.Not only it refuses > to solve formulas in non-radiant mode (even for quite simple formulas > with no angles at all...!?), but it comes many times up with not > reducible to a rational expression error when 'solving' formulas the > 48g and my TI89 easily solve. > Example: solve the following equation (sqrt is the sqare root sign) t=r^2-sqrt(r^2-(dm/2)^2) solving for 'dm' works fine, but solving for 'r' does result on the 49g+ > to the error message described above (with 'isol', 'solve' or 'quad', > while it solves fine with 'quad' on the 48g and 'solve' on the ti89) There is no backward compatibility anymore )-:< Many features has been disabled because of BUT There are a whole lot of new excellent features and continued development Maybe one day HP designates enough money and resources to do it right... ==== > I've noticed a (very) little problem on the user guide of the HP49G+. >> Ib chapter 24 there's a list of all type of object of the calculator, >> but number 20 misses. I'd like to know what kind of object corresponds >> to this number. >> >> >> Daniele My AUR says system binary (=DOBINT). Used for sysrpl programming. Daniele ==== I'm using an 48g for years and have had no complaints except the 'speed'. The new 49g+ looked like the ultimate solution, so I got one. I'd got some hassles to transfer all the folrmulas over from the 48g and the keyboard is - well, this has be discussed before ;-) Alas, I'm very pleased with the speed. I do have some problems with the symbolic solver which seems to be less straight forward to use then the one from the HP48g.Not only it refuses to solve formulas in non-radiant mode (even for quite simple formulas with no angles at all...!?), but it comes many times up with not reducible to a rational expression error when 'solving' formulas the 48g and my TI89 easily solve. Example: solve the following equation (sqrt is the sqare root sign) t=r^2-sqrt(r^2-(dm/2)^2) solving for 'dm' works fine, but solving for 'r' does result on the 49g+ to the error message described above (with 'isol', 'solve' or 'quad', while it solves fine with 'quad' on the 48g and 'solve' on the ti89) Any suggestions on how to make my 49g+ solve this kind of symbolic equations? Maybe something changed from the 48g and I miss the point over and over again or some special flags need to be set? Any hints are greatly appreciated! Patrick PS running ROM V1.22 and is in RPN mode. I tried what you did and you are right - it did'nt work. So you can rewrite the equation as: r^4 - (2t+1)*r^2 + (dm/2)^2+t^2 = 0 The calculator can solve this equation algebraically. Hope this helps Thomas ==== X > t=r^2-sqrt(r^2-(dm/2)^2) solving for 'dm' works fine, but solving for 'r' does result on the > 49g+ > to the error message described above (with 'isol', 'solve' or 'quad', > while it solves fine with 'quad' on the 48g and 'solve' on the ti89) Any suggestions on how to make my 49g+ solve this kind of symbolic > equations? Maybe something changed from the 48g and I miss the point > over and over again or some special flags need to be set? Any hints > are > greatly appreciated! Patrick PS running ROM V1.22 and is in RPN mode. rewrite the equation as: r^4 - (2t+1)*r^2 + (dm/2)^2+t^2 = 0 The calculator can solve this equation algebraically. Hope this helps r^2=X SUBST ==== I'm a late-30's person working in electronics. A couple years ago, when I decided that my life wasn't stressful enough, I decided that I'd return to school for more education in engineering. Since I'd used HP RPN calculators then, I wanted to purchase a new one. Despite the tepid reviews of the 49G, I went and purchased one anyway. But the bad screen and the rubber keys requiring cleaning from my dirty fingers at work, and the incessant pauses and crawling speed during calculations and graphing were more than annoying. I also longed for the big ENTER key from days gone-by. Despite the flaws, I still would have used the 49G over any offering from TI and it never let me down. When the 49G+ became available, I decided I'd upgrade despite having the 49G just a couple years and reading the sometimes horrible reviews about the 49G+. Yes, you could say I had been warned. HP49G+ First Impressions ~~~~~~~~~~~~~~~~~~~~~~~~ This reminds me of my first HP calculator vintage 1985 with the gold face and black keys. The keypresses do have a hollow thump to them, and unlike HP's prior work, the key holes are missing that classy bezel around them. Not what I was expecting, but then again we live in a consumer mass market for electronics and this isn't any different than some of the cell phones and other devices I've seen. Yes, I too still expect that added effort from HP, and can't understand why a calculator that is far from mass market needs to be produced as such. A couple of the keys have a bad mask on them and while it's not enough to warrant a return, it's obvious that in this day and age, the quality control office reports right to the corporate controller. If anyone from HP reads these things, you could have easily jacked the price-up $50, added the button bezels and a retro-keyboard and I would have lapped it up like a biscuit in gravy. Afterall, I'm of the opinion that the user-interface objects for electronics (like monitors, keyboards and mice) are NOT the place to cut corners. After carefully cutting the packaging for the HP49G+ and removing it and the accessories, I have to say the first impression was good until I inserted the batteries per the instructions and stabbed the power ON button. Nothing. Ok, I'll try again. Nothing. Sheepishly, I had to hunt for a paper clip and give my new toy the first of several kicks in the fanny. I inserted the paper clip, carefully found the recessed reset and gave it a push. I flipped the calculator over, hit the on button and watched in horror as NOTHING happened. No joy. Ok, this is bad. I pulled the batteries out, waited 10 minutes, inserted them again, did a pre-emptive reset and lo-and-behold, it sprang to life. I was at home setting the contrast and doing some preliminary set-ups. After all, this is pretty much a 49G. I entered some functions and felt the quick transformation of disappointment to moderate approval as this thing whipped through solutions and graphing with noticeable speed. The buttons, while noisy, still felt better than the rubber keypad of the 49G and did not miss a single input. And while I'm on that subject, let's be candid here; a button press on the HP49G+ sounds hollow because the darned thing IS hollow. There's a lot of empty space in there and while I'm not in the habit of being anyone's apologist, it's more than tolerable. I'm certain there's some QC problems with 49G+ units having chronic keypress issues, but fortunately mine is not one of them. And we're going to soon find out how good the keypad is because the well water in my home is high in hydrogen sulfide (15 ppm untreated). Even though I chemically treat it and it's undetectable to the nose, there's still some in there and it tests the engineering of all electronic devices. HP49G+ The Bad, the Ugly, the WTF! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ After the initial false-start and disappointments, the calculator did still please and amaze. Oh, and yes, frustrate. Oddly, the button layout is not identical to the 49G. CAT has been moved to right-shift SYMB. EQW, formerly its own primary button, is in the same place but is now right-shift ', and EVAL is now a primary button that was formerly right-shift SYMB. Why they did this, I don't know and in my case, is a touch annoying because of the way I used my 49G. Is it a major issue? No, just a little strange. The biggest disappointment sits squarely with the documentation. The books for the 49G were simply horrible and what you get with the 49G+ isn't anything to write home about either. To HP's credit, I haven't found anything that is incorrect and subsequently leads the user down the primrose path. But like its predecessor, the basic user guide gives a rudimentary foundation. Gone from HP49G days is the advanced (albiet not entirely useful) guide and the actually somewhat useful pocket Even more thankfully there is Google for searches on how to do things that are missing from the manual. Also available is a 10 megabyte PDF of more documentation that is not entirely useless. It's also on HP's web site. In my opinion, it seems to be on the right course to being a decent guide for doing advanced math on the 49G+. Again, if anyone from HP pays attention to these things, please consider what I said above and consider the fact I'd easily pay an extra $60 for a retro-keyboard, add some anti-thumping mass to the product (for my friends here on the newsgroup) and throw in a set of printed documentation. Remember, a key market for this thing is students and a PDF doesn't travel all that well unless it's printed out. And who wants to print out nearly 900 pages? The HP49G had a sliding cover, which many people disliked. I'm usually a non-conformist and ergo, I actually thought the sliding top was pretty cool and liked it. Now you get a very nice leather case with a magnetic clasp. The true value of the magnetic clasp becomes apparent after your second calculator lockup. It's a convenient spot to hold the ERD (emergency rescue device) without damaging the leather exterior of the case. The ERD is a paper clip. Yes, my magnetic clasp secures a paper clip quite nicely. Granted, upgrading the firmware has stopped all the crashes, but as far as the ERD is concerned, I'm not about to leave home without it just yet. And while the leather case is classy, it adds considerably to the dimmensions of the stowed calculator and I can't fit it securely in my book bag. Of course, being a non-traditional student, I simply can't use a backpack lest I be accused of having a mid-life crisis or other identity flaw. Nope, I need a $200 satchel soft-attache that is functional, attractive and doesn't scream I wish I were in my 20's again like everyone else in here. Truthfully, I do, but I digress and that doesn't change the fact that I need to find something else in which to carry my books and HP49G+. The biggest pain, frustration and WTF moment has been using the connectivity kit. I installed from CD the software onto my Sony Vaio laptop running Windows 2000. There is little installed on the laptop aside from an SSH client and Opera. It is normally exceedingly stable. Yet, the USB driver for the 49G+ caused the poor machine to blue screen at least half a dozen times while trying to talk to the calculator. Unplugging the USB keyboard and mouse solved nothing. When it wasn't blue screening the laptop, it wasn't communicating with the HP49G+ either. There were two problems. First, the USB driver shipped on the CD is apparently flawed. Second, the instructions given in the connectivity kit from the CD are not exactly clear on how to communicate with the 49G+. The solution is to ignore the CD and download the latest drivers and connectivity software directly from the HP web site. Once installed, I was able to communicate with the calculator and load the much needed firmware upgrade. As I posted here previoiusly, the proper keystroke to start communications on the 49G+ is right-shift (release it, don't hold it down) and then right arrow. That'll kick it into Xmodem transfer mode. Another source of weirdness has been the calculator's refusal to play nice with my older Sandisk SD cards. Absolutely no problem with my newer and larger SD cards used in my camera, but the older 64 megabyte cards that I have and would like to dedicate to the calculator seem to be exceedingly slow or simply will not work. They work in other devices just fine and even though I've formatted them in the calculator, they are simply not working. All other cards I have work just spiffy. Realistically, this may or may not be a problem with the calculator. HP49G+ The Reality of the Situation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ I don't believe the detractors of the HP49G+ and their claims can be easily dismissed. It's obvious that quality control problems exist along with some profit-centric design decisions that, as a former company, were out of character for HP. Nevertheless, an upgrade from my HP49G, this calculator is a welcome increase in speed as well as a vastly improved display. The display is larger, has a better aspect ratio, better viewing angles and doesn't suffer from glare as badly as the 49G. I like it. And compared to the 49G, it's blisteringly fast. Yes, it's probably just as fast as a TI now, but then the TI doesn't do RPN and that seems to be one of the major reasons for buying these darned things. Somewhat assuringly, HP hasn't completely turned its back on the flaws. soon and there's improved connectivity software on the web site. Despite the false-starts, frustration and some lacking supporting materials, I like my 49G+ and it's already serving me well. Plus, it seems to give the correct answers to the math problems presented, which is always helpful. Your mileage may vary. ==== Since this issue rates fairly high on the 49G+ Concerns radar screen, I thought a new thread might be warranted as a helpful workaround for the those of us who are afflicted with the flickering LCD syndrome. This fix came from Shinsuke in his response to the thread 49G+ Questions at the Museum of HP Calculators (the thread starts at: http://www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/forum.cgi?read=45540) Shinsuke's post said: A solution to the flickering is [Press ON plus up-arrow]. Ed Look mentioned this key-sequence is the Print LCD function. It really does seem to solve the issue, that is until the calculator's power is cycled, then you must repeat the sequence. Inserting this sequence into an autoexec-type program on power-up would be a nice way to automate the process. The real hope, since we can now feel pretty confident it's a software issue, is (if HP hasn't already determined what's causing the flickering) that this will provide a clue that points HP toward the real problem, and ultimately an updated ROM that fixes the flickering permanently (including Joe Horn's LCD storming-pixel display :-). Matt > Dear 49-ers, usually I have the clock shown in my HP calcs. The 48GX displays the > seconds as well, and if you look closely you will see the display > slightly flicker every time a new second is shown. The time is shown > with dividing colons, e.g., 09:15:23. On the 49g the time is shown without displaying the seconds, e.g., > 10:04, but the colon is blinking every second, i.e., for one second the > colon is visible, the other second not. You cannot see any flickering > of the screnn while : is blinking. On the new 49g+ the time is shown exactly as on the 49g, but the > blinking is not regular: you'll see the colon and then it disappeares > and shows up again etc, but not so regular as on the 49g. Furthermore, > a flickering occurs in the few last lines of the display, which > disappeares when the clock is not shown. Can you confirm my observations? > -= Michael Hoppe , =------ ====