A419 I have heard that the Integer is a new object type in the 49 (28 using << 1 My question is, are there any new commands that are not outlined in Eduardo Kalinowski's book Programming in SysRPL specifically for integers? Try this: put any integer on the stack before program execution (in SysRPL) :: %1+ ; with 1 NOT 1. on my stack previous to execution I get 1 + 1. = 702615.01 I know that this is because I am using %+ and of course I can get the correct answer using x+ but this is slower ( by .002 seconds to be exact: by using :: %1 %1+ ; TEVAL I get .0264 seconds and :: ZINT 1 ZINT 1 x+ ; TEVAL I get .0284 seconds I know this is only slightly slower but recently I've become keen on smaller and faster... :) Any ideas are appreciated of course. - John Mart II Eduardo Zints have a different treatment than reals, so you shouldn't execute a real-oriented command to Zints, because your result will be wrong or you could even crash your calculator. Whenever I'm in this kind of problem, I use the wonderful Nosy program. Just decompile the x+ command and you'll find that the command to add two integers is FPTR2 ^QAdd. Bye! -- Beto Just I did look at the decompiled x+ command but I was looking for 28 ( that I got with TYPE) I guess that was the wrong way to go about it. I got it now. (ROM 1.19-5) Hi there... This might sound obvious and even has been already answered... But this is one of those moments that you simply can't remember the solution... The thing is: why when I use SOLVE it asks to purge current variable? 2: 9*h+3=0 1: h SOLVE It asks to purge current variable (that is X) if it exists in the current dir. Any way to avoid this (apart from changing h for X and using SOLVEVX) ?? -Quercus- PS: By the way, I'm still trying to give the numeric solver a guess... Any ideas? It appears to me that it uses the current variable to store the result and thus, it must overwrite what is currently stored. As I recall, SOLVEVX does the same thing. Maybe store what you want in another variable for the time being? Just an idea... -- Micah === Subject: Re: (49) SOLVE help: why purging current var? or any illegal or copyrighted postings. http://www.newsfeeds.com - The #1 Newsgroup Service in the World! -----== Over 80,000 Newsgroups - 16 Different Servers! =----- === Subject: Re: (49) SOLVE help: why purging current var? or any illegal or copyrighted postings. illegal or copyrighted material through this service be tolerated!! body (DO NOT SEND ATTACHMENTS) Newsgroups. it is going to pick up the *value* of h, not the *name* 'h', no matter what you may try to do to prevent that from happening (clearing flag -3, say, which works in the HP48). So, because of this, the CAS must make you delete the variable 'h' if it already exists, or else SOLVE will be unable to proceed, despite how obvious the correct answer is to obtain, as evidenced by how easily the HP48 obtains it, and SOLVE will then return its idea of No Answer (an empty list) instead of the right answer 'h=...' The oversight here is that variables can exist in more than one directory; in particular, a variable of the same name can exist in a deep down subdirectory, and then again in the parent directory of that one, and then again in the grandparent directory, and so on, until you get all the way up to the HOME directory. When evaluating or recalling a variable name, there is an automatic upward search, starting with the current directory, so that if a variable of the desired name is not found here, then the calc automatically looks higher, until it either finally finds a variable or it searches all the way up to HOME without finding any; this has always been a fundamental design of this whole series of calculators, and it has always been useful, except when combined with this one radically new gimmick which was supposed to be good for the Algebraic mode (perhaps it was TI-like, though I really don't know how those behave). The CAS, meanwhile, assumes that if it sees *one* variable in the upward search heierarchy and persuades you to let it be purged, then all must be well; unfortunately, there are two small flaws here: o Did you know, when the CAS asks Purge current variable? that the current variable need not be in the current directory at all? For example, the current directory might be well below HOME, but if the search for your variable name goes all the way up to HOME before it finds one, then that's the one which will be purged! Thus you can have no idea which directory will be affected by several of these new HP49 commands -- thus far, this same and now I'm wondering how many other new commands might be similarly afflicted. In the HP48, the only behavior which could escape the boundaries of your current directory was the *non-destructive* behavior of *recalling* and/or *evaluating* the contents of a variable situated in a parent directory, while you were absolutely safe against purging, storing, or modifying in any way anything situated anywhere outside the scope of your current directory. In the HP49, quite a few things now, without your knowledge, can reach out and zap some formerly protected areas that you may never have intended to be modified. Why so? Because they do SysRPL STO instead of ?STO_HERE, SysRPL PURGE instead of ?PURGE_HERE, etc. (With Grandpa Wickes away, those boys do wildly play :) o There can be more than one identically named variable in the current path from HOME down to your current directory; if there is, then even when you let the CAS Purge current variable? for you, another one can still exist, in which case the command you now want to execute will still fail. What can you do about this? Well, nothing, really. Someone could now go about writing a more exhaustive searcher, which could find and ask you to purge every single variable of the same name in the current path (or not even ask you, if flag -120 and/or -123 is/are set), but this is really a very unfortunate thing to have to do, just to appease this Algebraic mode and inherited CAS peculiarity, and it may give you a real pain to have to do it. The very same thing also happens with ISOL, as I've just mentioned in another post, except that with ISOL, the CAS simply errors if the variable you want to isolate already exists, without even asking you to delete it once -- this seems slightly inconsistent with SOLVE, but many things are inconsistent these days, and it wouldn't help much to make these functions behave exactly the same, because both functions would still remain flawed, in that you can not in general do anything to *guarantee* that you can solve *any* equation algebraically, because you can not guarantee the non-existence of any other variable that just by chance could have the same name as one in which you are interested now, even if that other variable is in a totally unrelated directory, to which you never dreamed of paying any attention at this time. Clearing flag -3 was good enough to absolutely prevent this from happening in the HP48, but now, in the HP49, you are defenseless against this new Algebraic mode convention, which is the fundamental flaw that progresses on upwards into a whole set of problems, some others of which have been discussed long ago. I was thinking that there could be a simple work-around for this, since the evaluation of variables can be prevented by evaluating an expression in the hidden directory, using the SysRPL WithHidden function; unfortunately, as I just discovered with ISOL, and now again with SOLVE, evaluating either of these commands using WithHidden produces a Missing Library error in the HP49 (another thing which doesn't happen in the HP48, BTW). If there really were a Missing Library, and if there were only one such beast missing, then perhaps we could attach it to the hidden directory, but all I see with Nosy is FlashPtrs, which is not encouraging. Thus far, it looks like tough noogies, as a very well-bred girl friend used to say ;) Sorry for the rainy forecast from Lake Wobegon today, and for the fact, as Mark Twain said, that everybody talks about the weather, but nobody ever does anything about it. http://www.booksnbytes.com/dustyrhoades/columns/2001/2001_0305.html If that body of men [U.S. Congress] had been present when the Deity was at the point of saying 'Let there be Light,' then we never would have had it. - Mark Twain ----------------------------------------------------------- http://www.newsfeeds.com - The #1 Newsgroup Service in the World! -----== Over 80,000 Newsgroups - 16 Different Servers! =----- Hi John, thank you for the - as usually - deep analysis. While I have no good proposal on how to solve this problem, here is how I *deal* with it, by way of conventions I impose on my calculator. 1. I don't have simple variables in my HOME - they all have at least 3 characters (I know you have lots of 2-letter commands in your HOME, but still, probably no 1-letter ones?) 2. I do CAS calculations in a separate directory. The variables you use in the CAS are usually short, so no conflict is to be expected with HOME. 3. One could use a similar convention with upper and lower case letters: Use upper-case letters for global variables in HOME, lowercase letters for calculations. Still, I completely agree that it is dangerous that some commands can change or purge remotely. - Carsten Hi John. I still have a better not so quick quick fix downwards in this message. Here it is, the program QuickFixSolve ;-) << << eq var { aVariableWithARealWeirdName } + ^|MATCH DROP 'aVariableWithARealWeirdName' SOLVE IF DUP TYPE 5 == THEN IF DUP SIZE 0 != THEN 1 << { aVariableWithARealWeirdName } var + ^|MATCH DROP END ELSE { aVariableWithARealWeirdName } var + ^|MATCH DROP END Now, this works with the same arguments as solve and for every case. Except of cource for the case where someone stores something in variable 'aVariableWithARealWeirdName'. Can you find any flaws in this superior piece of code? ;-) If you find any cases where this program doesn't work (and prevent me again from getting the Calc Nobel Prize), then I'll upload myself to your computer, take your HP49, and put a virus on every single electron circulating in its chips. ;-) Nick quick fix Karagiaouroglou insight. Hi Carsten, I have another quick fix for SOLVE which works with the same arguments as SOLVE. Here it is: << << WHILE vnew VTYPE -1 != REPEAT END vnew SOLVE IF DUP TYPE 5 == THEN IF DUP SIZE 0 != THEN DOSUBS END ELSE END STOre this in QFSOLVE for Quick Fix SOLVE ;-) The idea is keep the old variable to solve for and to create a new variable to solve for by attaching a 1 in its name as long as there is a variable with this name in the current directory or in the current PATH. (Which VTYPE does) When we have a variable that doesn't exist, we use MATCH and SOLVE for this variable. Then we do the inverse MATCH and we are done. Hope that this helped. P.S. Still expecting the devastating comments of John ;-) === Subject: Re: (49) SOLVE help: why purging current var? or any illegal or copyrighted postings. illegal or copyrighted material through this service be tolerated!! body (DO NOT SEND ATTACHMENTS) Newsgroups. the triangle solver that I had mentioned, but this thing is still defeating any attempt that I can think of, because that solver is wholly designed around the one ISOL command that you find in the middle of it :) If anyone has the complete code for the HP48 working version of ISOL (which is also pretty much like other similar Saturn-based RPL functions that first showed up at least as far back as the HP18C), just call it ISOL48, install it, and then we're back in business :) Or, maybe just multiply the number of equations in that solver by 4-6 (to eliminate the need for ISOL by pre-solving each equation for each variable :) G'day to the folks in Australia, whose daylight is near its shortest span about now. Happy start of Winter, mates! Want some hot air from here? I've got plenty, as you can see :) --------------------------------------------- john, who can't figure out where his sig went http://www.newsfeeds.com - The #1 Newsgroup Service in the World! -----== Over 80,000 Newsgroups - 16 Different Servers! =----- Hi all. Exactly this is the problem. We know that SOLVE, ISOL and the like should be modified. But what else? That is the reason why I think that the generalization can be only achieved stepwise. The first step would be to modify the commands that are already known to cause problems. Then wait , until someone posts problems with another command. Modify this command also. Wait ... Modify... until no more postings about this problem arrive. Equations in which the variable to SOLVE for appears only in rational and no transendental functions, can be safely solved using QUOTE. Example: Suppose you have the equation X^2-3=Y+X and you want to solve for X. Suppose further something is stored in variable X. Then 'X^2-3=Y+X' 'X' SOLVE would cause the known problems. But 'QUOTE(X)^2-3=Y+QUOTE(X)' 'QUOTE(X)' SOLVE works OK, returning solutions in terms of 'QUOTE(X)', that means: { 'QUOTE(X)=blahblah1' 'QUOTE(X)=blahblah2'} Unfortunately something like 'SIN(QUOTE(X))=a' 'QUOTE(X)' SOLVE doesn't work. (Why??) This is the only case that I know, in which the HP49 solves for something different than for a variable, as the argument in level 1 is an algebraic object and not a name. Lucky guy! We have start of summer here but it is still cloudy. Let's hope that I'll have some hot air too, in the next days. ;-) Nick Hi Thomas, thank you very much for the hint. Very, very interesting... Nick Now, that's impressive!!! Yes, tell us what's going on here... Nick Hi again Carsten, and hi all. Unfortunately the code is not working perfectly. Suppose you have an equation with no occurencies of the current variable, say something like 'Y^2-Y=1'. Now suppose you want to SOLVE for Y. If the current variable (often X) exists in the current PATH then you get the well known message PURGE CURRENT VARIABLE?, even though your eq. doesn't have to do anything with the current var. (e.g. X). Now that us really silly. Why does it have to be? I must think again what can be done. I'll post any solution, if I'll find one. Sorry for eventually rising hopes. :-( Nick P.S. I do not need the devastating comments from John, I can devastate myself much better. ;-) Hi all again! I have found a solution, which might not be perfect, but it works fine if the user doesn't interrupt the solving process. Now I am going to code it. (At least for SOLVE SUBST and ISOL.) I expect to finish it in the next 2 or 3 days. Would anyone be interested to get the code for tests/suggestions? Nick -0400) All too true. The doumentation for RCLF is a rare instance of the documentation for the 49G being better than the documentation for the 28 and 48. No doubt; programming languages don't (or at least they shouldn't) leave anything to chance. Natural languages are full of ambiguities and details left unsaid in the expectation that the listener will resolve any ambiguities and fill in any ellipses based on the context. We native English speakers aren't noted for being very concerned with the fact that not everyone is fluent in English. Writing clear and comprehensive documentation is no easy task. Who is the reader? Does he have any experience with a similar product? Is he skilled in programming? Is he skilled in mathematics? Ideally, the result will be writing can't be misunderstood by anyone who has the required background knowledge. With a few notable exceptions, skilled programmers do not seem to be skilled at writing documentation, nor would I expect them to be. Also, I suspect that all too many programmers consider writing documentation for users to be a bothersome task to be gotten through as quickly as possible. The documention is an important part of any complex product, but the companies selling such products often neglect it. When the documentation has to be translated, the translator needs to have skill in writing documentation, skill in both languages, and needs to understand the subject matter. I don't know how well the translations are done. Hi James! Shouldn't we assume that HP has reasonable skilled translators? The documentation of the HP48GX that I had was in German. And it was very good, though not so good as the german documentation of the HP48SX. I observe a declining quality here and I wonder, if it is always the case for successor machines based on the same hardware. Was it that way with the first HP41 and its following successors? I mean, could it be that HP thought, Oh, users know the basics of the HP4x, why should we bother? Just a thought Nick it did 78 full pages down of numbers. amazzzing, isn't it? I did 32000! in Mathematica in around 1.6 seconds. It was only 10 pages (@1600x1200). 140000! was many pages, and took around 12 seconds with Mathematica. Steen === Subject: Re: 32000! or any illegal or copyrighted postings. illegal or copyrighted material through this service be tolerated!! body (DO NOT SEND ATTACHMENTS) Newsgroups. This might be an indicator of how far our civilization has progressed. Barry http://www.newsfeeds.com - The #1 Newsgroup Service in the World! -----== Over 80,000 Newsgroups - 16 Different Servers! =----- At the point I didn't want to count them :-) It was already a daunting task to decide how many pages Mathematica returned, when it was only 15, because the text is a continous flow (one page). Had it said in the bottom of the workspace, for example, 113 pages, I would have supplied that number, but probably like this: many pages (113). Steen Pentium III 550MHz... For what it's worth in a HP calculator related newsgroup. -- Forrest Hey! My Dick Size is 800 pages of 10293783658923940810! Stanislaw Please, for God's sake, stop; I love HPs, but I hate dick-size-wars. What's the unit? Since I am (almost) an engineer 1,000,000! 1E6 = big and LOG(big!)= big*LOG(big) so big! has about 6,000,000 numbers ( Mark #1 brain 7Hz ~5 seconds) -- This message was written entirely with recycled electrons Pivo You made a booboo because this will give much too large values let's take a look at the Stirling approximation N!=sqrt(2*pi*N)*N^N*EXP(-N+1/(12*N)+O(1/N^2)) O(1/N^2) is the order of the rest from the expansion Which has a relative error for values over 20 of 3.5*10^-7 taking the LOG LOG(N!)=1/2*LOG(2*pi*N)+N*LOG(N)+1/LOG(10)*(-N+1/(12*N)+O(1/N^2)) LOG(N!)=1/2*LOG(2*pi)+(N+1/2)*LOG(N)-N/LN(10)+1/(12*N*LN(10))+O(1/N^2) Order is not affected by 1/LN(10) Now lets estimate the values of the various terms 1/2*LOG(2*pi) = 0.399 (N+1/2)*LOG(N)= O(N*LOG(N)) -N/LN(10)= O(N) +1/(12*N*LN(10))= O(1/N) So for large N we neglect the first and last term to get and the 1/2 in the second term N*LOG(N)-N/LN(10)= N*(LOG(N)-1/LN(10)) now if LOG N is much larger than 1/LN(10)= 0.434 we can neglect the third term too and now we get N*LOG(N) ok, granted one million is not big enough to neglect the third term the number of digits with the entire stirling formula is 5565709 keeping in mind the accuracy we take this to be the correct number neglecting the first and last term we get 5565705 and neglecting all but the largest term we get 6000000 Ok now that I have spend 15 minutes on this I see that I neglected one term too many but keep in mind that I am not an engineer yet :-) -- This message was written entirely with recycled electrons Pivo You can get a better estimate with Stirling's approximation: N! ~= sqrt(2*pi*N)*e^N*N^N Taking logs and simplifying (with an HP49 of course :) you find that N! has about ((2*N+1)*LN(N)+LN(2)+LN(pi)+2*N)/(2*LN(10)) digits. For N = 1000000, this is 6434297.9. So your estimate is pretty good, too. -- Nate Eldredge neldredge@hmc.edu Correction: The program uses register 00 to calculate sinh, cosh, tanh, etc. Can I use 00 in programs, or will whatever I store in 00 be overwritten when I execute a hyperbolic function? I am writing a program for a heat transfer class which will use many variables in a particularly hairy equation. I planned (For simplicity) on using registers 00-08. The equation uses hyperbolic functions which are available to me via the Math I module. My question is: the module looks like it runs a program and uses register 06 to calculate sinh, cosh, etc. using exponential functions. Does this mean I cannot use register 06 in my program? If I cannot, are there other registers I should avoid using also? -Steven === Subject: Re: 41CV registers and ROMs special row with ON, ALPHA, USER, and POWER). It will interpret these keys as 01 through 10. So the ROM subroutine probably used R00 because: 1) They didn't know what SIZE setting the user would have the calc in 2) R00 isn't one of the shortcut registers So using R01-R10 for your own program is probably a good idea, unless you call other ROM subroutines that use them. Some people would note that it is possible with synthetic programming to do something called curtain raising, where you can temporarily move the pointer inside the HP41 that controls where R00 is in memory. Thus it is in principle possible to renumber the registers before you call the ROM subroutine so that what was R37 (to pick an arbitrary example) is now R00, and reset the curtain afterward. However, this is not easily done unless you have a PPC ROM, and may not be worth the bother in any case. Another thing you could do (but also not too convenient) is to move the contents of your R00 into another register before calling the ROM subroutine, and move it back afterward. function), and then edit it to use a different register. Or you could just write your own hyperbolic trig functions. Is a four-level stack deep enough to do it without registers? I don't remember. Good luck, Eric Netscape6/6.01 Really dumb question probably but i can't find the answer anywhere. How do I make the 48GX figure out there is a memory card so I don't get the Port not avaliable message?? also how do i merge ports 1 and 0 on a 49G? What arguement does merge take? Are you speaking about the 48 or the 49? For the 48GX, you need to buy one first (or make it) ! The command MERGE in the 49 is seemingly useless, apparently it is there just because the 48 had it.. If you disassemble xMERGE you would get :: CK1&Dispatch ; So when you execute this command it either says Bad argument type if you put something on the stack or Too few arguments if nothing is on the stack :-) Anyway, Port0 is big enough and you don't really need to merge with any thing else. (I guess things can get slow..) __ Kamel 3B137DCE.EF99740D@ic.ac.uk... take? just for a 48 with any modication. (But inverse is not always true because 49'RPN has more instructions than 48G'RPN who's more instructions than 48S'RPN)... put :-) thing Hello 48-users, since my 49-baby is sick, I'd some time for my HP48G. The new Unitman has every comfort you can imagine. It is presently available only on my ftp-site ftp://ftp.math.fu-berlin.de/pub/usr/raut/hp48/tools/ You can reorganize a single units menu, i.e., reorder and remove some builtin units in one step. The same can be done with the entire UNITS menu, e.g. you may put MONEY to the first position, renaming it at the same time to your language, etc. And what is basic and other units-tool do not offer: The 3-fold functionality of a unit key (for converting etc) applies to user-defined units as well. - Wolfgang PS. Unitman is small because it uses a lot of nowhere documented highly interesting pointers and rompointers. Its really a pleasure to surfe through the 48-ROM with JAZZlight ... Our claims made effect!!!!! Ricardo -- Linux Registered User: 202 170 Kernel 2.4.1 http://xie121.infovia.xtec.es/~rblasco Un222os, hermanos linuxeros pubnews.netcom.net.uk!diablo.netcom.net.uk!netcom.net.uk!cpk-news-hub1.bbnpl a net.com!news.gtei.net!sunqbc.risq.qc.ca!/news!news.fsu.edu!not-for-mail === Subject: [48/49]-PTRs not in Supported Entry List I am looking for the following entries to replace PTRs so that sasm will compile correctly. I could rename them to anything but why do that? PTR 5B771 PTR 00431 PTR 587FF PTR 58827 PTR 58854 PTR 58912 PTR 580C7 PTR 57E71 PTR 5FA2C PTR 49DB4 PTR 1D9D0 PTR 0077A PTR 171A2 PTR 58B9E Any help would be greatly appreciated. Jeremy comments? === Subject: Re: 49G: Transfer speed 49G to PC slow ???? or any illegal or copyrighted postings. http://www.newsfeeds.com - The #1 Newsgroup Service in the World! -----== Over 80,000 Newsgroups - 16 Different Servers! =----- server properties setup from no-reply in pseudo-address to not_at_. My error in setting up news-reader program.] I just bought the 49g and it came with rev 1.16 rom. I noticed and read the contents (superficially) of the later 1.18 rom. It mentioned a new CAS... Was this a significant upgrade for CAS? Also since having owned hp calcs over the last 22 years ... why does the update to the ROM require fresh new batteries ... after the upgrade are you current new batteries sufficiently exhausted? Frank === Subject: Re: 49g and rom 1.16 vs 1.18 -0400) Both writing to the flash memory and communicating over the serial port put a relatively high load on the batteries, so if you start out with low batteries, the ROM upgrade could fail, leaving you with a corrupt ROM. Upgrading the ROM does not exhaust a fresh set of batteries; I upgraded from 1.10 to 1.18 to 1.19-4 to 1.19-5 on the original set of batteries. Even if the batteries are too low to complete the rather lengthy ROM upgrade successfully, don't discard them, they probably still have enough power for ordinary use. I'd highly recommend to go directly to 1.19-5. Even though this is called a beta ROM, it is the best ROM to date for the HP49G. Yes. - Carsten Is there any documentation, hints or does anyone know how to calculate with the 49g a limit step wise? ie... 1/b - 1/8 lim --------- I know the answer is trivial... -1/64 but I thought that the 49g would show step by step solution. Please advise. Frank Step-by-step mode doesn't work with limits. Mihas. Could it be, that the CAS does not know how to handle Sums for differentiating and integrating? I need to do that a lot for statistical purposes, but I wont get a answer to even easy sums like: f(x) = Sum(from i=1 to n) ax^2 + b^x +x I then try to get the derivat for a all I get is: d1E(I,1,N,ax^2+bx+c) (E is the sum character) Is there any way to get derivtes of sums in the HP49G (I use ROM 1-19-5) Thanx a lot Codex Mine works fine, I get x^2*N Perhaps you have forgotten to put the * character between a and x^2? -- This message was written entirely with recycled electrons Pivo I get 'n*X^2', so you must be doing something wrong. Steen Even if you forget to put the * between a and x^2 you still get the derivative with respect to a. (Which in this case is 0, since no variable a exists in the sum.) Differentiation of sums works only if the sum can be evaluated. In this example the sum is first evaluated to N*EXP(x*LN(b))+(a*x^2+x)*N . This expression is then differentiated with respect to a. That gives N*x^2. If the sum cannot be evaluated, then the differentiation returns d1E(n,1,N,function). (Where E is the sum character.) For example try to differentiate sum(from n=1 to N, LN(n*X)). You get the d1E-stuff which can't be evaluated further. A possible way to convert the derivative of a sum to the sum of the derivatives is: STOre the following program in the variable DSUM: << { 'DERIV(E(&n=&a,&N,&F),&V)' 'E(&n=&a,&N,DERIV(&F,&V))' } |^MATCH DROP (E for sum, |^MATCH for the command upward-arrow-MATCH ) If you now put DERIV(E(n=1,N,LN(n*X)),X) on the stack and press DSUM, you get 'E(n=1,N,DERIV(LN(X),X))' which can be EVALuated to 'N/X'. Nick Oops! Last line of my message should be: 'E(n=1,N,DERIV(LN(n*X),X))' which can be EVALuated to 'N/X'. Sorry if it puzzled anyone. Nick. limits and enter them into col 1, and then sort the data by hand and enter it into the matrix behind the class it fits into. After all that I mise well just draw the histrogram by hand. Will the Hp do historgrams with unordered data and specified class width? Also is there a good manual out for the 49 yet? The user and advanced user guides are a JOKE, the manual for my 48 was 10x better than the crap HP is giving with the 49's pathetic. Also other stat functions like: Median, Mode, Midrange, Range, Weighted Mean, Quartile's etc.? All it seems to do is std. deviation, variance, mean, min/max. Sure seems sad that a little Ti83 stock will do stuff my HP 49 doesn't seem to be able to do. Todd Hi Todd, the histogram of unordered data is a built-in plot type. Just choose plot-type histogram. You can choose the column of the SIGMADAT to plot, specify axes minimum and maximum and the bar width. The first bar is plotted from the x-axis minimum to the point xmin+barwidth. It's hight is the number of data with values from xmin to xmin+barwidth. The second goes from xmin+barwidth to xmin+2*barwidth, But you can plot the axes shifted so that they apper on the plot, even numbers. The first one is the point of axes intersection. If your xmin is say 1, then set the axes intersection to (1,0) instead of (0,0). This will shift the vertical axis to x=1, so that it still appears on the plot. Unfortunately the intersection point doesn't appear on the input forms for plotting. You must either edit PPAR manually or do your own input form to manipulate the PPAR and then plot with ERASE DRAX DRAW. Did that help? Nick the col 1 entry instead of specifing it in the plot window and entering the unordered data. Here's another ?. Is it possible to plot a histogram using a class list for barwidth and a frequency table? So you know how many items fall into each class but don't have the specific data itself? Todd Hi Todd, glad that it helped! My knowledge in statistics is very limited, so I assume that a class list is a list of items that occure as often as the frequency table shows. For example the class list could be a list of years and the frequency table could then show how many people bought a car in the corresponding years. If my assumption is correct, then you could plot the frequencies the following way: Make an array with the frequency data, i.e. [ [ 10 ] [ 20 ] [ 30 ] ] and store it in SIGMADAT. (SIGMA=Summation character, greek sigma) Then choose as plot type Bar in the PLOT SETUP. Set your plotting Col. to 1(Bars with heights of the data of column 1 ). Set the horizontal and vertical tick values and go to PLOT WINDOW - BAR (blue shift - WIN). The values for the H-View and the V-View affect the part of the plot that will be visible. In our example: H-View from -1 to 10 and V-View from -10 to 35. The setting for Bar Width determine how thick each bar will be in user units. So if you give it a value of 2 then you will have the first bar from x=-1 to x=1, the second from x=1 to x=3 and the third from x=3 to x=5. Oh, hold on! What if we don't want to plot the first bar at x=-1 but say at x=1? Well, we must again edit PPAR manually or make an input form that reveals the real power of the HP49 when it comes to plot settings. (This is intented as a big question mark. Why do people make such a calc and leave its real power hidden? Why isn't there a real nice plot setup window with *all* options?) Let's do it manually now. The third parameter of PPAR is X. Replace it with { X 1. 10. }. That tells the HP49: For Plot Type=BAR, plot first bar at x=1 . (Be careful, the numbers must not be integers, they have to be reals, that means decimal point is a must.) Store the modified PPAR and type ERASE DRAX DRAW. The interection point of the axes is adjustable just as in my last message. You can even add labels, but that will be the next lesson in our must work ;-) But if you want, I can also tell you how to label plots tomorrow or after the weekend. Happy plotting, Nick questions about the 49 1. is there a manual/doc somewhere about library 256 & 257? 2. can I safely purge the HP49 demo library (size=100K) from flash memory? 3. I think ED/TED on the 48 was faster than 49 in editing text. is that true? 4. I know there are some equation library replacements around: do they have the equations in, or are they just 'containers'? -- The set of solutions is never empty. Two solutions together form a new problem. -- Mycroft Holmes Yes, look at http://www.hpcalc.org There is a reference of 256 lib and a manual for MASD. Also to use it you should install the extable library. I did it. First I saved the lib to my computer but I thing it's avaliable in hp.com or hpcalc.org as well. I can compare because I use them in my old SX. But it's possible but does ED support diferent font size? What I mean is that if I don't remember bad ED was done for write strings only and the general editor of 49 should do everything. Other point is that the keyboard (I don't want to start the war again!) maybe looks slower for a 48 user, specially at the begining. Yes there are a cople equation libraries which comes with the more of the 48 equation library data and are extensible. Look at www.hpcalc.org Hope this helps. Luis. Yes I did :-( This I knew :-) -- This message was written entirely with recycled electrons Pivo Hi Wolfgang. Do all libs behave like that, or do they have to be programed that way? I press the title key ( = soft key ???? ) of every lib I have installed and still see no icon on the header. Nick I've downloaded Libman for 48, but it hasn't been updated since 2000/05/20. Is that correct? Aren't you going to update it? Is it completely finished? Ricardo -- Linux Registered User: 202 170 Kernel 2.4.1 http://xie121.infovia.xtec.es/~rblasco Un222os, hermanos linuxeros If I may answer this one, The extprg documentation available to the programmer is limited to the newsgroup post by Cyrille and you are reccommende to read this While programming I discovered a feature of the $EXTPRG variable in libraries. The extprg program is run on various points in the OS APPS menu, STAT menu etc. but it is also run when the library softkey is pressed it works on dispatching a system binary is fed to the extprg handler to tell it which command invoked it the numbers are (from Cyrilles post) 0 APPS menu 1 Main Stat menu extention 2 hypothesis Stat menu extention 3 conf interval stat menu extention 4 Finance menu 5 Numeric solver menu so :: DUP #0= IT :: Apps Menu DISPROW1 ; ; would display APPS menu on the screen before displaying the choose list there are more numbers 8 games menu libid library menu so if you have a library with ID# 291 (libman) and you make a $extprg like this :: DUP 291 #= IT :: LibMan DISPROW1 ; ; it displays LibMan when you enter the libman menu You can also combine the functions to put it in the APPS menu and the STAT menu for example -- This message was written entirely with recycled electrons Pivo Did you know that a library can place an ikon into the Header if you press its title-key in the LIB menu? Try Libman, or my version of Mig3.2 on my site whose ikon has a musical character, of course. (nontheless my version has only 4 KB, much less then the almost 7 KB Mig on hpcalc.org). Instead of an ikon the title-key may also play a particular song or whatever you want :-) - Wolfgang obviously, a library has to be programmed for doing something if pressing its title key in the LIB menu. How can the operating system know which ikon it has to place in the Header? And there is no supply of ikons in the 49-OS as, e.g., in Windows (although much space is unused in Flashbank 0 so it would be possible to provide a large supply of standarized ikons in the HP49). To see how Libman creates its ikon simply press option C&E in the menu of the LIBs-command. That puts you the config program and the rompointer used by $EXTPRG to the stack. You'll see it after return to the stack from the LIBs choose box and setting flag -85 as follows: 2: # 123 TOSRRP 1: ROMPTR 123 7 Use the OT49-command DType to get the content of ROMPTR 123 7. It reads (with extable present) as :: # 123 OVER#= NOT?SEMI GROB 00017 70.... XYGROBDISP SETDA1NoCh ; The grob is just the Libman-ikon. This I painted by hand, using the key-assignment PicPaint from Keyman, for avoiding mistakes in the grob size and for cutting the ikon from the full screen with the SUB-function in the EDIT menu of PictPaint. Exact cutting demands the true pixel coordinates which are displayed with the (X,Y)-option in the PictPaint environement. Hope this helps - Wolfgang Hi Peter, BRAIN-1964 at 60-120 Hz ) doesn't seem to be predestined to handle such data easily. For me it is enough to know that there are libs that behave like that. So when I'll see such an icon, I won't start running with my hands up, screaming heeeelp, my HP is crazy. Nick How about: Heeeelp, Pivo and Wolfgang are crazy! Pivo because he wants to make my HP sound like a mobile phone, so that everyone in the train will wonder why I don't answer the call. And Wolfgang because he is willing to waste more than 40 library bytes - this is unerhoert and totally unprecedented! - Carsten to quote Otto (Kevin Kline)from A Fish Called Wanda DON'T!.............call me crazy! I do not want your HP to sound like anything I just like it to sound and because there are many ringtones availablea at www.mobilemelodies.com I made a NOKIA ringtone interpreter which I sent to hpcalc.org today -- This message was written entirely with recycled electrons Pivo Gee! 40 Bytes!!! Nice way to break the monotony...? But since MIG is out there (you know, the polyphonic music software for the HP49 ) I don't believe that there is any sane person in this community. ;-) So we are all unerhoert, so what? Nick Yes, yes do it! This is the ultimate purpose to use the HP49. Especially useful for playing this ringtones when travelling and watch the reactions of the travellers, when they look like frustrated fishes, taking out their mobiles and talking to the wind. (Diabolical fantasy, eh?) Well if you also could program some kind of jammer then we (I) would fell like James Bond. Nick. Don't take me serious, I just read Douglas Adams again. Up to now, Libman and Mig (the one on my site under music) are the only libs which display an ikon. I'm crazy, indeed. On the one hand, I fightened 2 days to get Mig3.2 finally down below 4 KB - the one on hpcalc.org has nearly 7 KB - on the other hand I wasted even 70 bytes to let it display a pretty ikon so that it exceeds again the 4 KB mark :-) I first was inclined to let it play b*a*c*h when pressing the key. But this stand-alone theme is too monotonic, and for playing at once the whole fugue on b*a*c*h by J. S. BACH himself (from Kunst der Fuge), I had to waste even 10 KB! - Wolfgang PS. Did you know why Donald Knuth entitled his main work The Art of Programming ? Because Bach called his last and epochal work Die Kunst der Fuge. In English The Art of Fugue. D. Knuth is, like A. Schweizer was, not only a top expert in his profession, but also an excellent organist. So we have the classic situation: You solved your problems? OK, then constract some new problems, so that you always have enough to do.. ;-) Now let's see if you can take the size of Mig with its icon under 4K. (Only kidding, its already perfect, the way it is.) So Knuth was also an excellent organist. Interesting thing to know. Could it be, that the best ones are also the craziest? It seems that the combination of sience and art in one person's abilities, gives us the best. Nick P.S. Keep on being crazy. It has perhaps some disadvantages, but it always helps to break the so called limits. set of User Key definitions. The current strategy that I am using has a minor flaw. So far, I am unable to identify the problem, but I do have some guesses. Please guide me in the right direction. I am trying to copy the functional format of the STOKEYS command. I supply a list of my desired User Keys followed by the same SysRPL commands the STOKEYS uses: :: { MyUserKeyAssignments } DUP OCRC SWAPDROP ' ID UserKeys.CRC StoHiddenVar ' ID UserKeys StoHiddenVar The UserKeys flag is then set and the program continues ; Guess A: The period in the variable name UserKeys.CRC is not standard RPL format and may be causing a problem. What is the fix? Guess B: Because I use this program as a part of a Library program built by the SDK Debug2, I need to establish the variables UserKeys.CRC and UserKeys $VARS when using USRLIB.EXE. However, I am unclear how to accomplish this same discrimination using Debug2. Is this guess even close? What happens when I run the program as written? The first run returns EXTERNAL for any key press. I do a soft reboot and restart the program; surprisingly, it works! User Keys function as assigned on the second and subsequent run. If I am using a completely wrong strategy to assign User Keys, please let me know. Respond to the board or directly to me at AccuGrowth@MindSpring.com. Hi everyone, I've recently finished work on the first beta version of PowerPlot full. My hope is that you will find this to be a good starting point for a succession of future versions with more features and fewer constraints as its predecessor. I feel fairly confident that this flavor of PowerPlot will come to be the best alternative to the built-in plotter for the HP48. For an overview of what I've done with this new version, see the PowerPlot full webpage. It contains a list of features which you should find some new items in there from the light version. I've included a link to my download page and also to the PowerPlot full information page at the end of this email. I'd like to remind those who download this, that it is still to be considered beta. I make no guarantee that it won't totally crash your calculator. That being said, the good news is that I have tested it myself, along with a couple of other individuals so hopefully most of the major stuff has been taken care of. Nevertheless, I strongly suggest you back-up anything that is irreplaceable! Feel free to email me with suggestions, comments, flames ;-) , or [hopefully not] bug reports. Also, be sure to sign the guestbook. Be warned if you leave an email address in the guestbook, you are likely to get an email from me asking if you'd like to demo future versions before I announce them here. ;-) The URL for the guestbook is: http://leviathan.orblivion.com/guestbook.html Now, the stuff that you are *really* interested in... download: http://leviathan.orblivion.com/hp48/ info & features summary: http://leviathan.orblivion.com/hp48/ppf.html Be sure to read the README included in the zip file before using this new version. Rough documentation is included in the zip file in ascii documentation). Have fun! -- Aaron. PS - If, for some reason, your DNS server can't find my host, the IP is 65.10.87.232 I've had some reports that some people's nameservers are not finding my domain name. Also, using the raw IP works, but all links in the page use the domain name as well. I'll update the page so the links will have the raw IP. Sorry for the inconvience. Here's the link to the main page with the raw ip: http://65.10.87.232/hp48/ -- Aaron. one in 40/49. I think 48's isn't intuitive at all, and not as complete as both others Ricardo -- Linux Registered User: 202 170 Kernel 2.4.1 http://xie121.infovia.xtec.es/~rblasco Un222os, hermanos linuxeros The one that comes with the Metakernel :) And there is a RainEQ in hpcalc, I haven't tried it, and I heard is kind of buggy. Bye! -- Beto Would not use RainEQ, it is not reliable (=buggy) Caspar -- of I can't install MK as mine is just 48G+ Is there any EQW reliable apart from the one in MK? -- Linux Registered User: 202 170 Kernel 2.4.1 http://xie121.infovia.xtec.es/~rblasco Un222os, hermanos linuxeros I need to connect HP [1 2 3 4] to 9 pin serial female serial plug [s 2 3 5] (s=sheild). Then check the finished product with an ohmmeter for incomplete connections. So, 1) Which is HP [1]? Is it the left or rightmost from viewing the screen when holding it? 2) Any handy tips for constructing the cable? If I remember well, HP48 pins 1 and 4 can be pluggued together to shield, as one is shield and the other is ground... on the PC DB9, 5 is ground... the last problem is between 2 and 3... (emit-receive...) I don't remember wich one is emit and wich one is receive... My guess it that you can ckeck with a voltmeter... but it may be hard... you can also try (I make a cable myself a long time ago.. and reversed by error the pins... no damage occured... so you can try both solution...) If I remember well 2 goes with 2 and 3 goes with 3, but I'm not sure... So to resume: HP48 #1 & #4 goes to PC #5 this is sure information HP #2 might go to PC #2 this is not sure... PC #3 might go to PC #3 Hope this help... CDLC the hidden dir of the calc (the one which contains alarms...) It worked perfectly until I did somenthing, because now when I execute this prog i simply get on the first level of the stack Does anyone know what happens? Regs Ricardo -- Linux Registered User: 202 170 Kernel 2.4.1 http://xie121.infovia.xtec.es/~rblasco Un222os, hermanos linuxeros Hello. Maybe you hide some variables in the HOME directory? Don't know why but this change the way nullname behave and how you enter to hidden directory. Saludos Jorge M. Valenzani Yes I did, and this was the problem. I want to hide some variables in home directory (using Wolfang's Hide) but it don't want this to mean that I can't enter the hidden dir in home, using: Ç #15781h SYSEVAL È Is there any way this can be done? Ricardo -- Linux Registered User: 202 170 Kernel 2.4.1 http://xie121.infovia.xtec.es/~rblasco Un222os, hermanos linuxeros I found it: 640BEh SYSEVAL -- Linux Registered User: 202 170 Kernel 2.4.1 http://xie121.infovia.xtec.es/~rblasco Un222os, hermanos linuxeros Ricardo, First of all, using any SYSEVAL is dangerous in your case. Simply write the program :: SetHiddenRes %2 InitMenu% ; with JAZZ (or Emacs on the 49). This enters the Hidden dir and sets its VAR-menu. Any other method, in particular manipulating the empty name, is dangerous and not recommended. Make a key-assignment on the 48 or 49 with Keyman to leftshifted UPDIR in such a way, that if UPDIR is normally pressed than you go UPDIR and if it is double-clicked (or long-hold) you enter the Hidden Dir. It can also be entered leftshift hold UPDIR. There are so many possibilities ... Try typing HOME === Subject: Re: [48] Problem accesing hiden direcotry or any illegal or copyrighted postings. illegal or copyrighted material through this service be tolerated!! body (DO NOT SEND ATTACHMENTS) Newsgroups. being used to hide variables. As to making use of the hidden directory without ever needing to enter it, see: (take note of different HP49/48 versions for the 'Hidden' program) http://www.newsfeeds.com - The #1 Newsgroup Service in the World! -----== Over 80,000 Newsgroups - 16 Different Servers! =----- Hello all, Available at http://home.hccnet.nl/c.lugtmeier/ is my personal units manager library. Originally intended for personal use only, I decided to publish it after reading some posts about Wolfgang Rautenberg's one (and him not updating his HP48 version). Caspar Lugtmeier -- Hello all, Available at http://home.hccnet.nl/c.lugtmeier/ is my personal grob viewer library. Originally intended for personal use only. It comes in two flavours, one supports the AGROB command, one supports Now you're probably thinking: Yeah right, just a grob viewer Ha, I have VV............ Think again and download my grob viewer and give it a try! It's just perfect Caspar Lugtmeier * Description: VIEW is a GROB viewer library. Depending upon it's version (see below) it commands. * Usage: - VIEW command: - Keys while VIEW is active: [ARROWS] move window on GROB (with key repeat) [RS]+[ARROWS] move to end/start of GROB [+/-] toggle speed [PRG],['],[STO],[EVAL] move window per page (with key repeat) [ENTER],[ON] quit VIEW [RS]+[ON] turn calc off - USER keys: VIEW is auto-assigned to [LS]+[LEFT-ARROW] (key+plane: 34.2) * Notes: command symbolics with units in them. Other GROB viewers for the MetaKernel that support Also, the diplayed GROB starts in the upper left corner (instead of in the middle, the bottom or whatever as some Machine Language GROB viewers do) -- Hello all, Available at http://home.hccnet.nl/c.lugtmeier/ is a coordinate transformation library. Caspar Lugtmeier XFRM version 3.2 library The XFRM v3.2 library can be used to transform coordinates from one system to another (and back again). Commands: XFRM Setup of transformation parameters: T: vector of translation N: axis of rotation (as a vector) Theta: angle of rotation These parameters will be saved in the variable 'XFRMpar' as Library Data in the current directory. new coordinate system. Level 1: [ 2 element vector ] {[x y]} or [ 3 element vector ] {[x y z]} or [[ 2 column matrix ]] {with rows as coordinate vectors} or [[ 3 column matrix ]] {with rows as coordinate vectors} or (complex number) {(x,y)} old coordinate system. Level 1: [ 2 element vector ] {[x y]} or [ 3 element vector ] {[x y z]} or [[ 2 column matrix ]] {with rows as coordinate vectors} or [[ 3 column matrix ]] {with rows as coordinate vectors} or (complex number) {(x,y)} ABOUTXFRM A simple about message -- I would to have some suggest about ramcard non-hp manufactured in Germany. Is there somebody that already uses this ones? Whot do you think about? Because i am interested to buy a 128Kb and a 1Mb card but i dont`t know about the quality!!! Acrux, Italy === Subject: [48gx] Best Way to store text information === Subject: [49] 1.19-5/CAS question Hi I just got ROM 1.19-5 from HP website and vger.flash from an ftp server. They are the same? My CAS points to version 4.20001013. Is this the latest? The York emulator (same CAS/OS) and the real calculator are different in some points: - MINEISBETTER in the EQW should give a Tetris game, but in my calc nothing happens; - Inside CAT I cannot type the entire name of the command to pinpoint direct, I have to type just the first letter. There are a couple more differences but I do not remember. Rafael (I hope that this wannabes question does not bother you guys) The latest CAS version, from Bernard Parisse's ftp site, is 4.20010314. James pubnews.netcom.net.uk!diablo.netcom.net.uk!netcom.net.uk!feed.textport.net!n e === Subject: Re: [49] 1.19-5/CAS question this is: ftp://fourier.ujf-grenoble.fr/pub/hp48/ editor i can read the files with, cause when i use note pad or word font that i need to download? also i finally got my first program to run!! :) but it looks very complicated and messy. do i have to have all the << << CLLCD a b c === Subject: Re: [49] another question from me No need to have so many nested procedures. If you really want to use a local variable c, then go ahead and create it with a dummy value (0. for example) right along with your a and b local variables. Rather than than a character string object). Then, rather than creating a new nested local variable a, store the new object in your existing local variable a by executing: 'a' STO. Actually, as I think has already been pointed out, this problem doesn't really need local variables, but it's probably a good learning exercise. Keep polishing, it gets easier with a little practice. JMP === Subject: Re: [49] another question from me -0400) as << a for displays one for you) doesn't exercise. up with invalid arguments or something, its because when i separte the equation and the varible to solve for with a commer, the calc treats it as a complex number. so my question is, how do i put a second argument in the equation writer? Hi Brian, don't press the comma-key in order to separate the second argument from the first. Press the SPC-key (Space) Comma is only for complex numbers. (As you found) Nick This is probably a stupid question, but I'll try it anyway. Im quite new to the HP49g which I recently bought. In the beginning, it asked me for my permission first whenever it wanted to go from real to complex mode and from exact to numerical mode. It has now stopped asking me. Why is that? I want to be asked! I suppose there is a flag for this somewhere that I have altered without knowing, but can anybody tell me how to fix this?? Ray Hello You Changed (or the 49g changed) the flag -120 Silent mode to ON (1). You can either: (from the stack) 120 [+/-] CF [ENTER] or (from the flags choose list) [MODE] [F1] (flags tagged key) [UP] [F3] (chk tagged key) [F6] [F6] (ok ok) This flag often changes after some operations, but I can«t say exactly which of them. Saludos Jorge M. Valenzani Saludos Jorge M. Valenzani Montevideo - Uruguay I've been trying to learn to program in assembly language with the help of the Introduction to Saturn Assembly Language book from hpcalc. I did alright with all of the examples and got them to work fine. even though the book was written for the '48... So now I'm trying to write my own simple program to see if it really is that much faster/smaller that sysrpl. I have a sys program that takes a date of the form: MM.DDYYYY and returns the first day of the month: MM.01YYYY. My sys programs ( both included below: one works on the date as a string the other does simple math manipulation ) are over 25 bytes and I think this is rather large for such a *simple* task. I want to write a program that will do argument checking in sys and then do this First Of Month routine in asm. The argument checking will be removed later when I encorporate this short code into some other program that I know will give a date on the stack. Some things to be aware of: The program will need to know if the month is 2 digits or 1. (test the 3 exponent nibbles?) I'm really new to this asm stuff so any help or ideas how this might be accomplished would be appreciated. John Mart II ************Programs********* ******Option 1: work on a string 27 bytes ****** :: DUPLEN$ #5- UNCOERCE 01 xREPL ; @ ****** Option 2: do a bit of math 35 bytes ****** :: DUP %FP %100 %* %IP %1- %.01 %* %- ; @ === Subject: Re: [49] ASM question in ML too. So if anyone can improve this, please do it, so we can learn a little more. In MASD syntax: Bytes: 35. CRC: # A7Dh SAVE C=DAT1 A D1=C D1+5 C=DAT1 W P=0 D1+1 *SIG D1+11 LA 01 DAT1=A B LOAD RPL @ Bye! -- Beto === Subject: Re: [49] ASM question P=0 GOSBVL PUSH%LOOP ENDCODE BYTES: #1E59h 23. Now I know what the P register was meant for =) Note, though, that I'm a beginner too. So maybe one of the insiders can halve the thing again. Thomas check: #E27Ah :: CK1NoBlame CK&DISPATCH1 ONE CODE GOSBVL =POP1% P=11 ?A#0.X { P=12 } LA 01 GOVLNG =PUSH%LOOP ENDCODE ; @ the code object alone is 20 bytes Werner Huysegoms xwerner_huysegoms@my-deja.comx (delete the leading and trailing x) to call to internal rom commands =POP1% etc... Where did you find these Assembly level(?) commands and how to use them? I've been looking for some good asm stuff but it's hard to find. -John Mart, II www.hpcalc.org/hp48/programming/entries/ent_srt.zip there are a lot of useful entry points. I have it as a printed manual. Bye! -- Beto Another thing you will want to do is to disassemble the ASM code. You'll need to find out a few things about the calls'; such as what registers they use - so they won't mess up your registers and how many Return Stack levels are used. To me, this was a good part of the fun. John Edry while;) But, I like doing this kind of stuff... John Mart II pubnews.netcom.net.uk!diablo.netcom.net.uk!netcom.net.uk!dispose.news.demon. n et!demon!nntp.news.xara.net!xara.net!gxn.net!server6.netnews.ja.net!server4. n etnews.ja.net!jura.cc.ic.ac.uk!not-for-mail === Subject: Re: [49] A tip for the next ROM... Or simply defaults to RPN :-) __ Kamel Would be nice to know the percentage of RPN-users, algebraic-users and the rest :-) Any idea? Count me as an RPN-user, otherwise I would have bought something different ;-) Heiko Is there any algebraic user? :) Definetly not me........ Ricardo -- Linux Registered User: 202 170 Kernel 2.4.1 http://xie121.infovia.xtec.es/~rblasco Un222os, hermanos linuxeros RPN for sure ... that's why I've been using HP exclusively for 25 years. On Sun, 27 May 2001 16:27:20 +0200, Ricardo Blasco Serrano simply use the STARTUP file. You can write your presets (eg your flag settings) in a program and store it in the file STARTUP in the HOME directory. After every soft-start (ON-C, ROM-Download etc) the calc first searches for a STARTUP file and executes this. You can get a lot of information about the HP 49G by 1. This newsgroup 2. The MetaKernel docs (on JYAs HP) 3. The new CAS docs http://www-fourier.ujf-grenoble.fr/~degraeve/usflan.pdf Hope this helped. Bye Matthias or make a ON-B-C-D faster) want: newbees. People comming from Casio, Ti, Sharp and other worlds. Some times those who used to use (?) hp38g, hp39g, and others said algebraic calculators. You are certainly one of the old hp rpn users (and adept) like many of us ;) Having done software development in Forth... the very first thing I did with my HP49G (BTW, the first HP calculator I have used) was pressing MODE and putting it in RPN mode. I think RPN is one of the greatest advantages of HP calculators. So, RPN ME COUNT Borja. I own a 40G, and of course when using it I use algebraic input. But i'd like to use RPN!! (Because of this, I use it less and less) I'm an adept, but not an old user, since I only own HP calcs since last October. But I think RPN is more efficient, faster,................................... and all you can imagine Regs -- Linux Registered User: 202 170 Kernel 2.4.1 http://xie121.infovia.xtec.es/~rblasco Un222os, hermanos linuxeros I've used my 49G for 1 year now. At the beginning, I used algebraic, but found it too slow, especially for the regular calculations. I then tried RPN and found it much faster and efficient than algebraic (don't ask me how. It just feels like that to me). And by using RPN, it's much easier to learn to start programming in UserRPL. Aaron This very right, but what about if you get a TTRM.. :-( As I'm learning programming in SysRPL, I assure you that I get TTRM at least once a day .. bad student :) and all, it's much comforting to get your calc right in RPN mode whatever happens, rather than having to switch into it! Another reason for the next *beta* rom to default to RPN is that it's not gonna be used by new users of the calculator until they get used to it..by which time they would have loved RPN :-) __ Kamel I store my STARTUP program in port 1 and when I get a TTRM I simply type :1:STARTUP EVAL and viola, all my flags are set etc... -John Mart II Why not just having a RPN ROM? ;) -- Linux Registered User: 202 170 Kernel 2.4.1 http://xie121.infovia.xtec.es/~rblasco Un222os, hermanos linuxeros === Subject: Re: [49] A tip for the next ROM... or any illegal or copyrighted postings. === Subject: Re: [49] A tip for the next ROM... 3B1287D2.D3ECA04A@no.spam... like to October. faster,................................... Yes many people think algebraic system is easier (and why not, the best one) because of habits. Most of them use computer (most common programming languages use algebraic : Pascal, BASIC, FORTRAN, C, ALGOL, Java, etc) and think algebraic notation is natural (I don't compute so on a board -with a chalk-) So they may be refractan to RPN. Of course, RPN is faster because it's the natural way the computer act (in fact, when evaluating an expression on every algebraic calculator, arguments and functions are dispatch on internal stacks... And every one know -specialy when using C- that to speed computation and have a better control, you have to use the stack and the pointers...) For human, RPN make more efficient because you perform your computation step by step (no more errors du to a bad undestanding of priors)... and faster because it requier less keystroke (so computation may follow your though, making you more and more efficient)... Long life to RPN :) Algebraic make up calculators selling. (?!?) With only RPN, do you think that HP will get more market place than TI -nowadays- ? You are right. Many people may find RPN intimidating, although most of them will convert after trying, but, as long as I can configure the calc to be in RPN mode and forget algebraic mode, it is OK for me. Being able to work in algebraic or RPN mode can only gain converts to RPN ;-) Borja. You forgot that you would be in ALG mode :) you need EVAL(:1:STARTUP) And as John H Meyers noted If you are going to restore a backup after a TTRM, your STARTUP will automatically run after RESTORE usually answer NO .. recovering a backup is faster and guaranteed :-) __ Kamel I do not own a 49g, but as soon as I see this flaw (yes, I consider having algebric calculus by default as a flaw) on a friend's, I built a little library which merely sets flags within $CONFIG, according to his wants, and stored it in flash, so that I don't expect it to be deleted until.... ? I then also did it on my 48gx, on a r/o ram card. Samuel Thibault well im glad hp put support in for algebraic mode, the 49g is my first hp calc, after upgrading from a casio 9850gb+, but after all the talk about rpn, i think ill take the time to learn how to use it over my holidays pubnews.netcom.net.uk!diablo.netcom.net.uk!netcom.net.uk!dispose.news.demon. n et!demon!grolier!rain.fr!klee.fr!lan.klee.fr!not-for-mail === Subject: Re: [49] A tip for the next ROM... 20010529150808.20348.00001886@ng-fg1.aol.com... No need. They did the hp49G new ROM and they always improve it, supporting both alg and rpn... But they of course use Saturn asm and (sys)rpl... Hum RPN is definatly the way for me.....It took me a few weeks to get used to, but now I cannot stand an algebreic calc. If I ever forget to insert parenthesis.......its just too much work, when SWAP will do the work for you. keep up the good work, Chris Holmes === Subject: Re: [49] Best way to transfer a typed program calc? Try with kermit/HP48explorer/hpkermit/hyper terminal/or whatever and when you receive your program in the calculator it is a pointer to the FAQ and you realize you have annoyed all of the regular readers of this newsgroup by asking this question for the tenth (hundredth?) time. No. HP48 faq: http://www.engr.uvic.ca/~aschoorl/faq/48faq.html -- Daniel Lidstr232m danli97(at)ite.mh.se http://www.ite.mh.se/~danli97/ 62 23' 25 N 17 15' 31 E Hello all, Edwin C227rdoba just finished porting FEM48 v4.2 (also not released yet) to the HP49. Now it needs a little bit testing (while I finish the unfinished manual :) Mail me if you are interested. You will then receive: - FEM49 v4.2 - FEM48 v4.2 - SED49 v1.2 (section database which links to FEM49) - SED48 v1.2 (section database which links to FEM48) - partly finished manual and then you are fully equiped to try the most powerfull FEA package for the HP (or any other brand) calcs. Caspar Lugtmeier NOTE: owners of both the HP48 and HP49 are very welcome since they can compare both version 1 on 1. ************************************************************* * * * FEM48/49 changes log * * * ************************************************************* * version 4.2 Released: xxxx 2001 MOVLD generator: - newly available Moving Loads Generator - define load system of an unlimited number of concentrated member loads and the interval + stepsize - outputs the NDIS REAC MFOR minimums and maximums in the current directory - when defined the user program MOVLD.USR is run after each step, so you can add your own postprocessing! - available as separate library: MOVLD with number 1604 FEM48 main library: - added optional node & member numbering in SPLOT - major change in internal file-management: more speed (thus file-format has changed!) - added cache for input check: more speed - improved code for input check routines - added custom browser for OPENFEM: more speed - added optional GAUSS solve, now you can solve bigger problems (though it is very slow compared to standard routine) - added programmable STYPE command: recalls structure type string - removed inverse status display - removed shift indicators when calculating - moved STRV commands to the PRINT module - rewritten YesNo routine, now reacts to YES/NO menulabels and ENTER/ON keys - bugfix: now NLD input is not overwritten after calculation - bugfix: now ticking clock is properly suspended for ERASEFEM command progs with FEM commands - some minor changes WIZRD module: - added Properties generator: Rectangle, Tee, Circle, Circular Ring, Numerical, SED48 Database (!) About SED48 Database link: - Get the latest SED48 **version 1.2** database library at my website - WIZRD looks for properties { A Iy E } or { A Iz E } - added Selfweight generator (!) - added Pre/Post stressing cable generators - now completely SysRPL like rest of modules QUERY module: - keypoints of 2=