A58 ==== What do you mean by arbitrarily dated skies? That you can specify the date and time? Bhuvanesh. ==== I would jump for joy if we got a silver edition TI-89 and TI-92+ (well, hopefully they won't be silver-colored... I mean basically a hardware upgrade). I would say that the EQW is a very good example of the kind of software we would like to create. Some things like arbitrary-precision arithmetic and support for special functions must be integrated into the system, otherwise we would have to write an entire new CAS to take advantage of them. However, there are a lot of things we *can* develop. These things unfortunately probably won't be integrated into the CAS, but they will be very useful nevertheless. Some examples of user-written programs are at: http://triton.towson.edu/users/bbhatt1/ti/beta/MPL.htm The Master Program List (MPL) is an index of useful programs. The MPL version currently on the website is a beta, and probably has less than a fifth of the programs we would like to index. Even a lot of my own programs are missing from the beta; you can find those at my main page: http://triton.towson.edu/users/bbhatt1/ti/ The good websites links from my page also lead to some very good calculator software and resources. Even though it might not be integrated into the system, a port of the GNU multiple-precision library (and possibly some other well-known libraries like NTL) might be interesting. I would also like to see programs for function minimization (using simulated annealing, for example), numerical PDE solving, symbolic Laurent series (I implemented numerical series), hypergeometric and other generalized functions, and some programs for physics. E.W., the author of EQW, has indicated that he will continue to develop software for the 68k calculators, and that is very good news for us. Bhuvanesh. ==== Yes. ==== ---snipped rest--- Mwahahahaha! You can't get rid of incompatible bugs. The keep returnig ;-) ROFLOL :D Greetings, Nick. ==== I know who you mean ;-) Greetings, Nick. ==== Wouldn't any skymap program allow the date and time to be specified? Bhuvanesh. -0600) ==== Don't forget that many of us get paid by the hour, so the faster we work, the less money we make, and it's good to be waiting on a machine's output instead, to prove that we ourselves are going at maximum efficiency :) If this becomes too well known, employers and contractors are liable to ruin everything, by paying per the number of answers instead of time, forcing us to try again to grind out answers as fast as electrons can go :) And that also means: No rubber keys!!! [r->] [OFF] -0600) ==== Written: And isn't it the case on 48/49 that the hourglass has a minimum on time, just to make sure that you see it? This is a bit like a visual keyclick, after all! [r->] [OFF] ==== Wow! Just tried it, it works. And the fine thing is the for example the variable TS in bold, is not the same as variable TS in regular font. Imagine the possibilities.! I also put a bold font variable in an algebraic. You can see there the extraneous chars for the bold type face. This machine is still good for surprices :-) Greetings, Nick ==== The mother of the above is the mother of the 49: the 48+MK Its original ROM doesn't allow names as 5A: that's the reason you does. The same we can say about styles... ==== The TI-89/92+ is too! :-) I got one many months back when I discovered by accident that it is possible to store things to strange variable names like '@'. Also, E.W. informed me that TI-Basic extensions (created with the SDK) get their arguments in external form (i.e. unsimplified!) There are always so many things we don't know... Bhuvanesh. ==== (SNIP) Yes! Sorry for the typo. Hope this doesn't affect the file uploaded to hpcalc.org. If so I'm going to re-upload the package. Bye, Kickaha ==== Huh? Do you mean, you don't post here again? Please say that I got you wrong! Frustrated Beeeeeeeeep! Nick ==== wrong! Please, lower the frequency, Nick! This means that A) I will be on-line much more than before my spare (parts:) PC is finally working C) D) DROP the DROP_ from my address before your ==== http://www.geocities.com/SiliconValley/1061/mk-98.htm http://www.taswegian.com/MOSCOW/mk-98.html Display: 240 x 128 (super twist) RAM: 128 KBytes. ROM: 128 KBytes. Processor: 80C86 compatible Features: Assembler, tracer, system and application software, file system. The calculator is not made yet serially. The experimental batch is released only. Development year: 1998. That's pretty much all known about this calculator. All that mysterious, yeah. Well, it does Basic and has sound too. Slightly remindes of a TI-92 (big, that is). There's also a manual (in russian). However, I find it strange 'cause I've never heard of this one. Any comments? ==== :: NULL$ ID AMENU %1 xCHOOSE %0= ?SEMI NULL$SWAP %1 xCHOOSE %0= ?SEMI DUPTYPEREAL? COLAITE xMENU xEVAL ; ...is much better ==== It won't work. i copy it into home. then i press var. then i press the babl4 button. Babl49 apperes on the screen. then i press enter. 'Library 1033: Babal49 beta .1 by..' apperes. When i trie to press enter again, it does the N2 ==== You probably need to store the lib in port 0: If it still works the same as on a 48GX do: 1.put the lib on the stack -> press right shift + var button containing the lib: [->][babal]. Stack 1: 'Library bla bla 1033: blabla' 2.asign port -> press right shift + plus button [->][+]. Stack 1: :: 3.assign port -> Stack 1: :0:1033 4. press [STO] 5. turn calculator off and on 6. press [->][2] you should see the lib installed in port 0. Arjan ==== You have to store that thing on the stack in a port by pressing for example: 2 (number of the port) STO Then go to the library menu, locate the library in the soft menu, press that soft menu button, and then you see the commands of the library in the menu. You can use those commands like the buit-in commands in programms, etc. Greetings, Nick. ==== Babal 2.0 works just fine in port 2. ==== Ok. I'm a completly idiot using my hp 49g. I don't know anything about moving files an were i can run them. Please explain it to me. What buttons i have to press and what happens if i do so. I want to understand what i do. n2 ==== OK. Starting at the beginning, these are the exact steps necessary: 1. download the babal zipball (hee) from hpcalc.org 2. extract the babal library from the aforementioned 3. transfer the babal library to your calculator 4. you should see a variable that contains the babal library. press the function key associated with this variable in the menu 5. you should see a library on the stack. press the '2' key on your HP49G keyboard 6. press the STO button 7. now press ON-C (to others: I realize that this is unnecessary), that is, press the 'ON' key and the 'C' key (AKA F3) on your HP49G calculator at the same time 8. you should have just seen your calc warmboot, with flickering messages et cetera. Now press the LIB key on your HP49G keyboard 9. Your menu should now show libraries that you have, and three final entries for your three ports. Press the function key associated with the 'directory' named BABAL 10. You should now see two or three variables. One is named BABAL. Press the function key associated with the variable named BABAL to play the game 11. Having pressed ON to get out of the game, you will now want to change the keys to something reasonable. One of the other variables does this. Actually, they aren't variables. They're visible commands from the library. Actually, what I describe won't work the same way if you're not in RPN mode. ==== As a library you have to install it first, just can't just run it. If you are in RPN mode, once you have the 'Library 1033: Babal49...' on the stack, select a port and then STO (to install it on port 2, you type 2 STO). Once the library is copied hit ON 'F3', after the warmsstart you'll be able to play. You can access your installed libraries with RS 2. Babal will be there. Hope it helps. Diego ==== Would it be possible to explain why and when i have to do this. and why does the hp 49g need this procedure with some and not with the others. n2 ==== (You're welcome.) I think this is the basic process you use for every library. Some of what you get off hpcalc is a directory or program/code/etc object, and these you deal with differently. Some libraries are packed in self-installing programs (like ePack), which are different still and, I *thought*, a little silly. ==== So what is the differenc between a file i donwload on the hp49g and a lib that i have to produce. How can i access(delete) the lib files. N2 ==== You delete them just like any other file. Use the filer. ==== Could you please post the equation that you wanted to plot? Greetings, Nick. ==== It's a simple circle. C1(X;Y)=x^2+y^2-9 The cricle dosn#t touch the x-axel Than you n2 ==== C1(x;Y)=X^2+Y^2-9 A simple circle with a radius of 3 but it doesn't touch the x-axel N2 ==== Ah, I see! You can make it a little better, if you adjust a better resolution. Press blue-shift and at the same time F2 to get the PLOT WINDOW - CONIC screen. Go to input field labeled STEP and enter a 1. Check the option _PIXELS and draw again. Not perfect but better. Conical plots just behave this way. There is always a gap between the positiv and negativ branch of the plot, which depending on resolution and plot ranges can be bigger or smaller. Wish I had better news. Greetings, Nick. ==== Is Debug2 available for hp48? If not, what good SysRPL debuggers can I use for hp48? Mith. ==== Unless it was farmerk@pacbell.net, which was a work address. I am always reachable via deoradh@geocities.com, though I maintain my confusion, my apologies but thanks for the attempt nonetheless. No worries -- I'll write it up to an ESL prob. It *could* have been written better; as I understand from Carsten, he thinks it's slow for some reason he and I can't figure out. Perhaps you have some cunning tricks to improve its performance? I'm guessing the bottleneck involves list-processing. I'm planning to have it check only for defined messages: the internal ACO-created messages (APPS, GAMES, HELP, etc), the romid, and a user-defined list ( { { messages that use list } { messages that use meta } }, to allow for future expansion. Think that'll be safe enough? Keith ==== your library L1791 by Keith Farmer, farmerk@pacbell.net And it came back. I couldn't find any references to the other addresses you've mentionned. ==== To all of you all of me!? www.hpcalc.org I wish everybody could check they addresses there... My biggest disappointment with the site is the URL list. Too any of them are obsolete... ==== I'm not very happy with that HALT isn't anymore visible in the Emacs appl-menu but moved to leftshift CmdMd now. HALT is (at least for me) one the most important options in the menu. Now I have to learn by heart were the HALT is :-) I expected that EDOB would temporarely inflate a BZ-string just for visiting its content, to extract someting from it, etc. This seems to be be better since in many SysRPL programs BZ-strings occur *inside* the program. The decompresson capability of RPLED is IMHO dispensable because people often working with BZ probably have the OT49 BZ-toggler x~ on a suitable key - not even necessary because you can toggle x~ directly with ALPHA rightshift 1 and ENTER ! If EDOB will do the job it seems that recompression will be dispensable; just keep the BZ-string in a local variable :-) - Wolfgang ==== Unit Nick sends message to master 49-borg Rcobo. ;-) Acoustical announciator of start message - end message. Or just crazyness ;-) Greetings, Nick ==== Beeep! Message Retransmission - Connection troubles Dismiss any double messages - Beep Totally ;-) [Data altered - Info not altered] Kind of mixture ... HuBORG ;-) [Data altered - Info not altered] A little bit perhaps. But the plan of 49 master borg Rcobo was to inject me in the BORG collective. Since we are connected directly mind to mind, I can spread RPN in the ALG-domain, only by thinking of it. [Data altered - Info not altered] Almost correct. You couldn't have known about the secret plans and espionage under cover missions, but now you do. So you have 2 choises. Join us or join us. ;-) Retransmission end - Beeep, laser flash and greetings, Nick. ==== Check user flag no. 15 ==== if something didn't tickle you, you wouldn't scratch. if something were too easy, you would take if for granted. you learn more from a worked and wrong answer than from a free and good one. because the way is more important than the end. ==== Xcuse me, news friends, but I think that having to learn math because of limitations (not to mention bugs errors) of a calc, is not the only way. And it can be actually dangerous. Imagine what happens, if you get the false answer, but you don't notice it, which can happen faster than you think, if a certain grade of complexity in calculations is reached. Of course, one has to be careful using any CAS, but if the reasons for learning math are in the bugs of a CAS, then we should pray that all published CAS are as buggy as possible. ;-) Greetings, Nick. P.S. Despite all imperfectness, the 49G *is* a great machine. ==== On 8 Dec 2001 06:14:02 -0800, nk@imos-consulting.com (Nick Karagiaouroglou) Aye, and what's worse! is that the calc doesn't have MAX and MIN and such functions in its plotter: I had to learn what an extrenum was (actually I already knew; I just hadn't connected the EXTR function to it) just to find a MIN and a MAX, which is the terms my precalc teacher gave in her questions! All those math students, being told to find a MAX and instead having to think in extrenums! Oh, won't anybody PLEASE think of the children? ==== I understand. But then it is very very interesting, if not even amazing that we somehow manage to choose some way to start transforming some expression, out of a huge number of possibilities, in order to simplify it. Intuition? And if so, then what is intuition? A couple of algorithms based on experience? More? Less? Excuse me for going so far, I seem to just can't put two things together without contradictions in my head. I am able to somehow decide what I have to do, in order to get some result, but I can't describe how I do it and why. Brains seem to keep much more secrets, than we think they do. Unit Nick thinks about itself and comes to an endless loop. ;-) Looping greetings, Nick. ==== Now, now, Julian! Every system has its naming conventions. It is mathematical terminology speaking about extrema of functions. Don't rely on the labels of buttons of calculators or other machines, don't believe that mathematics speak exactly the same language. For the funny point of view, just imagine what happens, if calcs adopt the greek terminology, in order to be used in greek schools. (Which will happen perhaps in the year 50000 ;-) ) They then should replace MAX with MEG (MEGiston=Maximum in greek) and MIN with ELA (ELAchiston=Minimum in greek). Sounds funny, doesn't it? :-) MAX greetings, from MIN Nick. ==== the problem is: when i turn off the calculator and i try to turn on in a few minutes it doesn«t do it. i have to spend a lote of time trying to turn it on doing whatever i can do and the most the times nothing work. If any know something about this please let me know and sorry for my english!. ==== Did not think of that. Good idea. ==== instead of .333333. Please help thanks ==== you need the ->Q function right arrow Q hit the cat button it is near the bottom of the list. I assign the ->Q function to enter key because its inverse is there right shifted. ==== What is the difference between ->Q and XQ ? ==== cat xq help or tries to convert approx. reals to exact formulas XQ(0.5) = 1/2 see XNUM ==== Yes, I know what XQ does -- but you haven't answered my question. ==== Try the command XQ Diego ==== Scott Guth sent an example some time ago: http://groups.google.com/groups?q=xq&hl=en&group=comp.sys.hp48&rnum=1&selm=u TBS0bgA%24GA.238%40cpmsnbbsa03 You will need to copy and paste the long link where it breaks at end of line. In short XQ can return square roots and expressions involving pi. It is similar to the 49g's ->Qpi (pi is greek symbol), but ->Qpi does not automatically switch out of approximate mode and XQ does. Tom -- (What is the difference between ->Q and XQ ?) ==== I saw some intressting pages about connecting a hp48 to a modem and communicationprogramms for internet (ftp). Anyone know anything if it would be possible to make a http-browser for 48/49, or a wap-browser? Maybe someone has made one alredy? /Kaj Silander ==== Sorry for the tease. There is a new HP calculator available at the Cal State LA book store and they named it HP-65. Those idiots! Jim Klein ==== Huh? Details? Who is 'they'? What is the calculator really? simul8.demon.co.uk:212.228.120.103 ==== Typo for the 6S, maybe? James ==== Integration is a Reimann summ. That is if you are talking about definite. Integrating is letting 'n' goto infinity. I don't know why you would need a program to do this. Why would you want to constantly specify a number for 'n'? The smaller the number for 'n' when finding areas/volumes the greater the error. Maybe I missed the point. You can find approximations with the 49g. Hold right shift and then press ENTER. Switch to approx mode and integrate. Micah integrals, to 49 but and (I mind, ==== I understand that it is pointless to use a method that is inherently erroneous. The main purpose of these programs is to check answers in class. As I said in my 1st message, my class is still studying Riemann sums, and thus, finding exact integrals is not on any tests or homework yet. Jerrod a greater that one seconds... ==== Set your calc in aproximation mode, and you'll get the definite integral (number, sometimes aprox). Just curiosity: Does the calc use Simpson's method to find areas when unable to calculate the indefinite integral? Ricardo -- http://193.145.89.239/~rblasco/ Un222os, hermanos linuxeros 640 Kb de memoria son m207s que suficientes (IBM AT Designers - 1982) Bueno, espero que esto no aparezca en la versi227n final (Bill Gates en la presentaci227n de Windows Crash Debug '98) ==== That's interetesting that your class has spent enough time to prompt you to write a program to check your work. When I was in Calc 1 I think we spent about 1 hour on Reimann summs then moved right into letting n goto infinity. At any rate, I'm sure writing the program was a good learning experience. Micah class. definite. need for press shocked the a easy SumMa, efficiency, not. ==== When I get home in a couple days (I don't feel like installing the emulator on my buddy's machine at the moment). I'll have to remember how to do all this. Or I just do them all as bints, maybe -- we'll see if JYA has a routine or two up his sleeve that'll do it rediculously fast. Keith ==== This is just to continue in page 1, till somebody asks my stupid questions ==== Is it possible to create a secondary associated with a menu, such that when a button in the menu is pressed the secondary will be evaluated? Examples of what I'm thinking of being able to write: :: { { ID 1 %2 } { ID 2 %3 } } xMENU :: ... ; ; :: ' :: ... ; { { ID 1 %2 } { ID 2 %3 } } xMENU ; where the elipsis stands for code that would be called as I describe. I realize that something other than xMENU would probably be used for this, but I don't know what. Is there a built-in entry that provides this funcionality, or some simple way I can implement/mimic it? What I *don't* want to do if I can help it, is write code like the following: :: { { ID 1 :: %2 ... ; } { ID 2 :: %3 ... ; } } xMENU ; whether the elipsis be a program created for the sole purpose of handling this menu or a secondary pulled from somewhere to do the same. For large menus, this method is larger and harder to deal with than what I show in the first two code examples. ==== Well, { { DOIT NO DON'T } } stored in CST will display as DOIT and put NO DON'T on the stack. { { DOIT Ē RCLKEYS Č } } will display as DOIT and execute RCLKEYS. Is that what you mean? -- Thierry Morissette 3c122aa5.4331928@nntp1.onemain.com... ==== On Sat, 8 Dec 2001 11:06:01 -0500, T. Morissette No. My last example does just this; what I want to do is avoid having to repeat << RCLKEYS >> given different arguments that come from entries in a menu. Also, I meant to say TMENU and not MENU. Sorry. Maybe this will clarify my point: When you use a CHOOSE, you give lists of what you want displayed paired want to be pushed on the stack. After you make or fail to make a selection, control passes to the code after the CHOOSE, which handles what CHOOSE left on the stack. You can't do the same thing with a menu, because the user can do all *kinds* of non-your-program stuff while leaving the menu up -- the program that creates the menu doesn't hang around for a selection to be made. What I want is a kind of callback, that is associated with a menu and which runs whenever a selection is made from a menu. In this way I can make more friendly programs without having to write redundant code wherein each entry of a menu calls a given function. The problem gets worse when you talk about automatically created menus -- say if I want to create a menu on the fly from a list of values: with my current understanding, in order to get a program run whenever a selection is made from the menu I will have to walk the list of values and do other nasty stuff instead of just using the list like I would with CHOOSE. ==== Have you ever tried CONT as the last command in your TMENU programs... X ==== Unit Nick no more alone, with sub-unit HP49G always connectable to the web and irc :-) Greetings, Nick. ==== Great! And by the way: That is the advantage of the 49G. It can be programmed to do almost anything. :-) Greetings, Nick. ==== Sorry, but I simply can't believe it. If you were running 1.19-5 and above, running the Port0 erase program would have put your calculator in a totally unusable state (as the boot sector would have been missing). So removing the battery or not would have made no difference until you reflash your calculator... So far, I've never seen a case where you couldn't restart a HP49 without removing the battery. But the world being as it is, you never know :) ==== I have not find ->NUM description on the Advanced User Guide. Can someone told me why two results ? -- ================================================ BELLANTONE MAURIZIO ================================================ ==== It doesn't when I use it. Please show where you get 2 results. ==== I use my HP49 on Ofshore oil rigs where sometimes you are at the mercy of the elements. There is always the danger that water from rain or otherwise might be splattered on it. So far I've been lucky but I wonder if there is some sort of protection underneath the keyboard which might protect the internals from getting wet. Luis ==== Oh, this might be a good time to ask my own question: Is there supposed to be a cover for the serial port on the HP49G? I recieved mine from my father, in California, and there wasn't any kind of cover for it, which bothers me :-/ (Yes, I ought to be able to just call him up and ask. Sorry.) Luis: I'm pretty sure that water would be bad, as A) the internals of the calc are very exposed through the serial port, and B) if *dust* can get behind the screen, surely water could, too! Best bet I think would be to get a really good case for your HP49G -- and then use it under cover, if that's possible. Good luck! ==== there is no protection. you may have to be carefull with the water. (specially with the top funtion keys, where the connector is) just curious, how long have you used it in harsh enviroment? PD: you could make your own protection by inserting a plastic cover between the keyboard and the motherboard. i would wait till warranty expires for this. Horszowski says... ==== What about the feature that turns lists to matrices? I mean AXL. Try: { { { 'X^2' 1 0 } { 'COS(X)' 'Y' 8 } } { { 3 1 'INT(X^2,X,X' } { 'SIN(X)' 'X' 10 } } } AXL. You get a matrix whose elements are vectors. This can be interpreted as a 3-dimensional matrix. DUP it and try * + or something else. It works. You can even take this matrix to the matrix editor (only for viewing). Greetings, Nick. ==== If I were you I would try to forget that episode =:o Tom <3C115C7A.47354F22@jps.net> ==== More precisely, HP48 and HP49 built-in functions do not support more than two dimensions (the decompiler cowardly refuses to display a five-dimensional matrix), but the object types themselves do. The HP49 symbolic matrix does, because it's a list-of-lists format, and the plain array type does too. Its format is: prolog, size, type of elements, number of dimensions, size in dimension 1, .., size in dimension n, element 0, .., element m Nothing prevents the users (us) from creating programs that handle hypermatrices. David Haguenauer ==== On Sat, 8 Dec 2001 19:40:50 +0100, David Haguenauer Um, it doesn't look very good, but MATRIX MATRIX MATRIX MATRIX MATRIX %1 %2 %3 ; ; ; ; ; compiles and displays just fine. Or do I misunderstand? ==== The matrix commands work with only TWO dimensions!! ==== On Sun, 2 Dec 2001 21:12:37 +0100, Marco Salvagno << -95. DUP FS? ::CF ::SF IFTE >> is probably best, for pure UserRPL. ==== Or Ē DUP IF FC?C THEN SF ELSE DROP END Č -- Thierry Morissette 3c123062.5801913@nntp1.onemain.com... ==== On Sat, 8 Dec 2001 11:10:20 -0500, T. Morissette No, that's worse! =) FC? is slower than FS?, but with FC?C you're clearing the flag -- and then possibly setting it again. IF ELSE THEN makes for larger code than {} {} IFTE... and anyway we're talking about a specific flag. If you want to move into SysRPL, better would be :: CKREAL COERCE DUP SysITE ClrSysFlag SetSysFlag ; :: BINT95 DUP SysITE ClrSysFlag SetSysFlag ; ==== Do I have to put :: (whatever) ; between WHILE and REPEAT in a BEGIN-WHILE-REPEAT loop? I thought, I didn't have to, but I'm getting different results (btw, both of them different from what I expected) depending on it. Mithrandir. ==== Here are two enlightening code examples: :: BEGIN %1 %2 FALSE WHILE %3 %4 AGAIN ; :: BEGIN %1 %2 FALSE WHILE %3 %4 %5 AGAIN ; :: BEGIN %1 %2 FALSE WHILE :: %3 %4 %5 ; AGAIN ; The first and third leave %1 %2 on the stack. The second one leaves %1 %2 %5 on the stack. Hmm! I note that in the entry database, WHILE is described as: ( flag -> ) If TRUE does nothing, otherwise RDROP then 2SKIP. and the 2SKIP evidently is meant to skip a secondary and AGAIN. ==== :: :: any number of steps ; is regarded as one step so in any selection structures that you need a single step (or command) :: ; pair is used to close in several steps into one only ; ==== The current version of StarMaHP (not related to the PC software SkyMap or the TI version of whatever its called) does indeed provide ability to display the RA, declination, azimuth, elevation of sun, moon and planets. Corrections for the aberration, parallax and the efffects of light time can be made by setting the appropriate flags (what is it with HP users and flags anyway!) Phase of the moon is included. It also has a zoom feature which allows the user to study eclipses, occultations, and conjunctions. The current version has a catalog of about 650 stars from all 88 constellations. Many of these stars are of magnitude 5 or less, and are included to provide more background to help identify the asterisms associated with the constellation. It does indeed take about 2 min to calculate the position and plot that many stars; it can be configured to plot stars of only brighter magnitude, again, this is configurable by the user. For example, plotting stars of only magnitude 3 and brighter takes about 45 seconds. An earlier version with about 200 stars took 30 seconds to plot the evening sky. Greenwich hour angle, distance from the sun, etc. are used internally but there is not a convenient way for the user to access this info right now other than a local variable dump feature which I included for the adventurous/curious. StarMaHP was designed for the astronomical tinkerer, for fun what if scenarios and to help with the identification of constellations. During the day, of course :) The Urania plotter is considerably faster than this as I recall, and includes the ability to locate a star on the sky map just plotted, and locate information on the star in a built in catalog. In addition it is a (complete?) implementation of the reference Astronomical Algorithms by Jean Meeus. It has an outstanding number of features and uses: for comet work, etc. Truly a remarkable project. Should be the choice of the serious astronomer. With infinite memory for his HP :) Dennis Read: SkyMap takes about 12 seconds for bright stars, and about 35 seconds for the most stars possible. The StarMaHP documentation says that it takes nearly 2 minutes to plot a map of the evening sky; is this correct? SkyMap calculates and shows on a sky map the positions of the sun, moon, planets and stars. It has RA, declination, azimuth, altitude, visual magnitude, Greenwich hour angle, and a few other things. It has corrections for things like parallax, aberration, refraction, and light time. For the sun, moon, and planets, it also provides location in ecliptic coordinates, distance from Earth, distance from Sun, elongation, phase angle, phase, and visual magnitude. Bhuvanesh. ==== Well, what is it? SSchmidt@nospam.dk appears to be false, but it's even given on hpcalc.org -- I'd like to ask him a question about one of his libraries. ==== mistake I made was to type the sample problem exactly as shown in ALG Mode without enclosing it in << >>. After enclosing the program in << If the << >> are neglected in ALG Mode, the program runs just fine when you press enter but there are problems saving it. I had resorted to changing to RPL Mode putting the ALG Mode BASIC program in level one and storing it as usual which I now know is not neccessary to do. ==== need! This makes an excellent supplement to the users' manual. Let the marathon begin, and of course to be a real marathon we'll need a NICK'S TRIG MARATHON T-shirt! dan ==== schrieb in im Newsbeitrag: 7UjQ7.53996$xS6.88737@www.newsranger.com... Nick, I'm your father. Come and join me in the dark side!!!. :-D Maybe it's no good for you to keep on this side. Look you forgot some signs in there, the real answer is 1-2*(COS(x))^2 = 2*(SIN(X))^2-1 I'm warning you!. You should join us before is too late... 8-D Aaah! What a delight to see that you really were careful and noticed the errata built-in to test your awareness. ;-) Seriously, thanks a lot for this, you are right. I'll start each new ==== http://perso.wanadoo.fr/pierre.g/index.html ==== You're wellcome (and should perhaps include Carsten in thanks who initiated the project expansion). Here a simple example of customizing the TIME choose box which in default looks as follows: 1. Browse alarms 2. Set alarm 3. Set time, date.. 4. Tools .. Tools means here the menu of clock and alarm commands which is also on the rightshift-hold TIME key and hence dispensable. Perhaps more urgent is a ADJ command instead which adjusts the clock after getting a real in seconds, not in ticks. Very easily realized. Just store in APAR6 { 1 2 3 { ADJ << 8192 * CLKADJ >> } } (numbers are reals or zints) Then the TIME looks like 1. Browse alarms 2. Set alarm 3. Set time, date.. 4. ADJ If the real or zint 3 is on the stack and you press ADJ the clock gains 3 seconds. If no real is in level 1 you get the error message * Error: Too Few Arguments. More pleasant would be simply Error: Too Few Arguments, or Error: Bad Argument type if Level 1 contains a complex number, say, with a completely preserved stack. Easily realized by replacing the UsrRPL program in the above list by the SysRPL program :: CK1NOLASTWD CKREAL 8192 UNCOERCE %* CLLADJ* ; Clearly, one can refine all this. For instance, by making Set time, date.. the first item in the TIME choose box or by adding to it commands for calibrating the clock :-) - Wolfgang ==== X True?! ...fact that HP won't make any more calculators Do you have *anything* official from HP to back this up?! ==== To execute a list of commands: EVAL to convert list->program A) << is the program delimiter ->STR << SWAP 2 OVER SIZE 1 - SUB + STR-> B) with the hack library: COMP-> ->PRG and you won't have the << delimiters >> but it's still a UserRPL program Veli-Pekka ==== OT49 does the trick, IIRC. Greetings, Marco ==== That sounds like a really good idea. If you need help or details on how to do some stuff, don't hesitate to send it to me. I can review your documents too if you want. While debugging ML, there are some tricks you need to know, especially while debugging without interrupt some ==== X it is usable everywhere A) directly callable from another TI-BASIC program Ask Veli-Pekka, confused ==== The answer to question A - D is yes. ==== Well, then I'm gonna try it once again with the emulator that I successfully downloaded with Netscape 6.2 :-) Veli-Pekka Nousiainen PS: I'm still waiting for a formal announcement from HP about the future of HP calculators (with real keys, not PDA) ==== Or get the latest ROM 1.19-6 where you won't see such behavior ==== or This is not an issue, just upgrade to 1.19-6 which solves the aforementioned problem (and also has loads of goodies, definitely worth trying). If you want to stay with 1.18 for some obscure reason, take a look at this page first: http://www.hpcalc.org/hp49/utils/time/ where you can find several time-related utilities including of course some which handle the julian date (but I'm unsure about modified julian). Also, there is plenty of stopwatches. To manage key assignments, fetch Keyman by Wolfie, it's top notch stuff: just in case you don't have it yet :) http://www.hpcalc.org/details.php?id=3392 Also on: http://www.math.fu-berlin.de/~raut/ Stop complaining, fire up your browser :) Greetings, Marco ==== That's a rather....ahem....old picture ;-) No pun intended Wolfgang ;-) ==== Maybe you should have used that money on something more useful for you then? You could also upgrade your ROM as have been suggested numerous times - you won't have to complain anymore then :-) ==== I thought the source code was already available Nice to see that I've been able to convert somebody to the HP49SDK. A pity that not more people are using it, it's the best development tool available for the HP49/HP40 for sure it this I thought the source code was already available on his web site ? ==== available The main obstacle is the missing documentation. :( Next thing I'll have to figure out is the IFB editor. If anyone knows a good reference for that I'll appreciate it. I'm still wading through the related c.s.hp48 posts right now... Well, the 1.5.136 package on Cyrille's site and on hpcalc.org contains no sources, and the source package available there is labelled as 1.5.128, with the last changelog entry dating back to 26/10/99. I haven't been able to locate more recent sources. Can anyone help? TIA, Albert -- Dr. Albert Graef, Dept. of Music-Informatics Johannes Gutenberg University Mainz, Germany Dr.Graef@t-online.de, ag@muwiinfa.geschichte.uni-mainz.de http://www.musikwissenschaft.uni-mainz.de/~ag ==== I'll Ok, next time (probably this week-end if the weather is not nice as I definitely want to try my brand new VFR800 2002) I will post another quick tutorial on how to create an input form box with the editor. About the SDK text editor, personally I hate it. I prefer UltraEdit, it keeps my TABS (the SDK editor replaces all of them with spaces and it keeps crashing). ==== Same with me. keeps Can UltraEdit be plugged into the SDK instead of the edit control? Or do you need the control as stdout, or for breakpoints ? Raymond ==== That would be great! keeps Agreed. I only use the SDK editor as a source viewer while stepping through a program. For editing, I use XEmacs. Albert -- Dr. Albert Graef, Dept. of Music-Informatics Johannes Gutenberg University Mainz, Germany Dr.Graef@t-online.de, ag@muwiinfa.geschichte.uni-mainz.de http://www.musikwissenschaft.uni-mainz.de/~ag ==== ^_^): conNAME. support ??? Doesn't support anymore Appears in CASDIR after the user protects the path and flags using PUSH at the beginning of the program now you are free to dwell THEN at the end, just POP @ This was discussed when the 39/40 commands @ (using almost the same source) in It says how many digits should be used for the calculations of the LongReal/LongComplex (infinite is not an option :) they Well, boys'n'girls Any contributions to get your name in the Hall of Fame !! Veli-Pekka NOUSIAINEN ==== Well It's an easy answer. The HP48GX is NOT IrDA compliant. When have you read such thing ? ==== | It's an easy answer. The HP48GX is NOT IrDA compliant. | When have you read such thing ? | I believe that is what I was saying in my post. I have been trying to find a way to use the 82440B with microcomputers via a serial port for a long time now. I would like to find a way to do this. Some of the posting here concerning the SiPix printer SEEMED to imply that the 48GX IR port could drive the printer. I was pretty sure that the 48GX port WAS NOT IrDA compliant, hence the post. Sorry for the confusion. Vic ________________________________________________________ Victor Fraenckel - The Windman vfraenc1@nycap.rr.com KC2GUI www.windsway.com Home of the WindReader Electronic Theodolite Read the WIND | Well | | It's an easy answer. The HP48GX is NOT IrDA compliant. | When have you read such thing ? | | | > I am not convinced that the 48G/GX IR port is IrDA complient at least when | > communicating with the Redeye (HP82440B I think is the model) printer. Is | > there any documentation that SPECIFICALLY states that the IR port IS IrDA | > compliant when talking to the Redeye printer? I believe that the IrDA | > protocol did not even exist when that printer first came on the market. If | > the printer was compliant, I would be very happy. | | | ==== I have read that many people have asked about how to access the internal browser through assembly. Has anybody got any ideas? What are in the in and outs and how do I setup to use the browser? ==== enclosed in << >> which the sample program I was working on did not Santos Lucero ĄProblemas con las news? Webnews, el acceso m207s r207pido y fiable http://webnews.aforo.com User IP: 207.212.230.72 ==== I have learned: using the filer to create filenames like 1A boldB, is a feature, that should not be used. ..Heiko ==== On Tue, 11 Dec 2001 18:49:50 +0100, Heiko Arnemann Oh? Why not? ==== You could take a look at the ML part of entries.srt especially the I/O part -- This message was written with 100% recycled electrons Pivo <3C15DB58.9CEB42D6@student.tnw.tudelft.nl> ==== And also the 49 RAM map, rammap.a. It's on hpcalc, but I'm afraid I don't know the name of the zip any more. Thomas -- Thomas Rast If you cannot convince them, t.rast@iname.com confuse them. ==== Nick Karagiaouroglou a 216crit : Don't remember to have read that anywhere. But thank's for this precious information!! - Denis. ==== Ray ==== Now I know the reason for my faster-than-light-reply mode3 Too much exposure to gamma radiation!!! I may turn into a Hulk ??? Well, I'm not easy to piss off, so I'm relatively safe - right? What's left? E=mc^2 What's out! Don't X-ray or gamma your HP 49G at home!!! Too much gamma radiation may turn it to a TI 92 !!! Avoid even using the GAMMA function in your calc. Also PSI and Psi might be dangerous... vpN the irradiate for a process. know indicate was etc. for ==== So much shit, to make a calculator? Boy, they must be eating a cow every day! ;-) Greetings, Nick. ==== I just got, from Amazon, a copy of Tips and Programs for the HP-32S by W.A.C. Mier-Jedrzejowicz. (the most complicated solved a 3x3 linear system of equations), and looked on the net for books on it. I found the Tips book listed on Amazon, but not currently available, so I ordered it. book. I always said yes. Finally, it came. Amazing! Now, if only I could get a 42S! Martin Cohen ==== How can I convert a String in a algebraic expression(equ). Excuse for my bad english. Regadrs. ==== Check the two commands STR-> and OBJ-> (where -> is the arrow character). Thomas -- Thomas Rast If you cannot convince them, t.rast@iname.com confuse them. ==== Interesting information. Shouldn't we then modify the BZ-compressor such that it *always* yields an odd-nibble-length string by default? That would solve all problems. Who does it, Detlev, Jurjen ... ??? I don't understand the grammar of as it can be recompiled It cannot be recompiled if an even-nibble-length string, perhaps because a BZ-string always contains the null-character :-) believe that there will ever be a new HP-calculator with at least the capabilities of the HP49 based on the Saturn? - Wolfgang ==== X case Certainly someone :-D Veli <3C120F02.C76B192B@math.fu-berlin.de> <3C14A8FE.FED42B84@math.fu-berlin.de> <3C15D078.CA4FADC4@math.fu-berlin.de> 06:07:37 -0600) ==== I regret to say that odd-length BZ strings have their own other problems, which are that either editing or transmitting the string (I/O, via ascii Kermit at least, not sure of other combinations) will drop the last nibble, which can be fatal to any subsequent re-expansion attempt! [based on various HP48 experiences, not all re-tested on HP49] Therefore I have always made sure that I instead *round*up* any BZ strings to an *even* nibble length instead (which means just to a whole number of characters, without a half-byte left over). It would be nice if things could be so arranged that different purposes would not conflict with one another, or that editing and I/O would have padded a nibble instead of truncating, but things don't always fall into place so perfectly, alas. Related (the first two contain SysRPL and UserRPL programs): http://groups.google.com/groups?selm=8okpp7%24cnd%241%40nnrp1.deja.com http://groups.google.com/groups?selm=6lqki4%24sdr%241%40news.iastate.edu http://groups.google.com/groups?selm=6k7igq%244on%241%40news.iastate.edu [r->] [OFF] <3C120F02.C76B192B@math.fu-berlin.de> <3C14A8FE.FED42B84@math.fu-berlin.de> <3C15D078.CA4FADC4@math.fu-berlin.de> <3C15F9E0.E79C66DC@miu.edu> 06:31:54 -0600) ==== A *caution* about the previously referenced UserRPL program for expanding a string to a whole number of bytes: The addresses of entry points are different in the HP49; do not use HP48 SYSEVAL addresses in the HP49! (the HP48 program was posted before the HP49 existed, so these incompatibilities were not then predictable :) SysRPL: :: CK1NOLASTWD CK&DISPATCH1 THREE :: DUP LENHXS ONE #AND #0=?SEMI ONE EXPAND ; ; User-RPL: << DUP TYPE 2 == OVER BYTES SWAP DROP FP AND @ Odd-length string? { ONE SYSEVAL EXPAND SYSEVAL } IFT >> HP48G HP49G ENTRY POINT NAME ----- ----- ---------------- 03FF9 33111 ONE #1h 61C1C 34C82 EXPAND [r->] [OFF] ==== The new Emu48 DLL SP29 is now available on my homepage http://privat.swol.de/ChristophGiesselink/ for download. Christoph the then in just type stop it, out I'm could would ==== That is probably open to discussion, but for the general public it is not that important. Only small procent of the owners will ever use third party software (don't count games) or devote time to learn anything beyond UserRPL. Therefore what is in the package by default makes most of the buyers to choose the package. Toshiba Libretto is far superior to HP49 if you consider third party software :-) To the contrary. I (for example) wouldnt even consider HP49 if it wouldn't be RPN algebraic calculator. Same applies to TI89/92. That is what make them different from traditional graphing calculators or palmtops. It's fine and dandy, except RPN is so much faster in typing at the time of programming :-) and many little pieces instead of one simple program clutter directory which make them little inconvienient because of truckload of junk names in the directory that make a mess which make difficult to find variables, etc. I know it can be solved with subdirectories or other similar tricks, but that makes then programing a little more difficult. Sure, but then TI Basic becomes far superior. If somebody end up doing libraries for everday programs, then I rather advise to use TI-Basic. It just a better tool for the job. It is self describing. Jack ==== Please: Direct URL to screenshots which show how the TI 89 EQW can have a pretty-print subexpression selected and a custom-menu command applied to the highlighted selection. Maybe I'll get a brand new HW2 TI 89 ? expressions ==== X Aha! So one can write useful TI-BASIC programs that expand the usual set of commands and thus can be used directly in other TI-BASIC programs as well as build-in functions? AND also these TI-BASIC user-functions can be applied to any selected (valid) subexpression in the TI EQW. ??? I think I'm gonna buy a brand new TI 89 after all.. OR TI-BASIC and the TI OS just sucks??! ==== Veli-Pekka Nousiainen skrev i en nyhedsmeddelelse:9v4dud$k10$1@nyytiset.pp.htv.fi... You can find some screen-shots at the EQW's home site, which shows the process of entering an expression: http://triton.towson.edu/users/bbhatt1/ti/eqw.htm To figure out how to build a custom-menu for use in the EQW you will have to study the EQW documentation. ==== the ti-89 does have a rom call to store stuff to the history but ti has not documented it yet in thier sdk and ti barely uses it in the rom and never uses it in any of the supposedly wonderful flash apps that they are making. instead ti will make you go through the pain of picking a folder and typing a variable name when saving stuff. This is why I like my 49g a lot but it is not yet my test taking calc. Anyways here is my download page: http://www.geocities.com/sstear70/ there you can find a program called copyto_h that will let basic programs store stuff to the stack. -Samuel ==== to Now, where's the emulator?? ==== Veli-Pekka Nousiainen skrev i en nyhedsmeddelelse:9v55v1$uk5$1@nyytiset.pp.htv.fi... have The emulator: http://www.ticalc.org/archives/files/fileinfo/84/8442.html You will have to download the OS/AMS for the emu from the site of TI http://epsstore.ti.com/webs/catlist.asp?deptid=159&catid=514&typeid=21&nav=p rod ==== Veli-Pekka Nousiainen schrieb in im Newsbeitrag: 9v4fm4$km5$1@nyytiset.pp.htv.fi... Well yes, what were you thinking? ==== One thing that MAY make your HP49 run faster is the old trick of gamma photocharging the CPU. You may have read about this a few years ago in the Journal of Accelerator and Solid State Physics. The trick was to irradiate the CPU and indeed the entire calculator with gamma photons above 3 MeV for a total dosage of at least 0.1 RAD. Although there was never a complete explanation of exactly what went on, it was believed that the irradiation caused a shallowing of the electron wells (kind of like partially filling a water well with sand to about the half way point). This allowed the wells to be filled more quickly, thus speeding up the entire computation process. Although few of us have an accelerator lab at our disposal, many of us know dentists or have access to hospitals' X-Ray machines. Calculations indicate that a 36 hour exposure to 100 KeV X-radiation to have approximately the same effect as the much shorter gamma exposure. Why, you may ask, don't HP and the other manufacturers use this technique? Well, until recently, all of this was classified by the government. It was only with recent revelations on the innards of the F-117 (Wobbly Goblin) that any of this came to light. For what it's worth ;-}... Bob It a ==== dtd schrieb im Newsbeitrag Derek, I suggest to update your rom first: Type VERSION EVAL to find out what you are using Try this link: http://www.epita.fr/~avenar_j/hp/49.html to get 1.19-6 ..Heiko ==== hi folks, i have been using my HP49G in my electrical circuits class, and i have to say that it beats the TIs in speed at any time and with large margin. the reason why is not in the execution time, but in the entry of operations (RPN). everybody in the class got used to me solving all computations (the HP49G was the king!).i don't write fast either. i write at a steady pace to avoid mistakes. only myself and other class mate had HP49Gs. the rest TIs 89s and TI92s! I don't used it in my math class, but i surely do in my engineering classes (requires a lot of computations). so, they can make the TIs as fast as they want, i bet you i go there 20 years from now and the HP49G makes them eat dust. ==== So rediculous I doubt your account of it =) But the only two ROMs I've used were 1.16 and 1.19-6 ==== ME: 75.4 (pause) TEACHER (to B, who has a TI89): Is that correct? B (who had just started typing): (looks around, shrugs his shoulders) B: Sure, OK. ==== empty cover) 1.18 had a problem with garbage collection when clock was displayed, if this is the case, it may be solved by turning off the clock display or by upgrading to 1.19. Greetings, Marco ==== I've been told that you can adjust the amount of time the 49g waits before it evaluates keypresses. Apparently the default value is quite high, which can make the calculator seems slow. Try something like 150 -> KEYTIME Glen Henshaw Space Systems Laboratory University of Maryland ==== Hummm. I do have the clock display on. Will turn it off and see if I Santos Lucero ĄProblemas con las news? Webnews, el acceso m207s r207pido y fiable http://webnews.aforo.com User IP: 207.212.230.68 ==== Because JYA make some advertisement in another posting thread for the new DLL, I decided two publish it. The new Emu48 DLL SP29 is now available on my homepage at http://privat.swol.de/ChristophGiesselink/ for download. Christoph Christoph Giesselink schrieb im Newsbeitrag see, hopefully far) to ==== Until the day I came she wanted to add, but she didn't. ;-) She has worked hard to modernize the company's culture. Overstrike modernize and add devastate right after, then you get the picture. Leadership, she says, is a performance art. Change has to be led from the top, she said. People have to understand what you are trying to do and buy it. Yes, Margaret, errh, I mean Curly. You decide, the company *has to* obey. She reorganized to shear away layers of bureaucracy. And she engineered a new marketing campaign with a simplified hp logo, dropping the family names. And soon we'll have the new logo: CF ! Melding the personal computer operations of both companies, Ms. Fiorina said, will give the combined company the economies of scale it needs to better compete against the industry leader, Dell Computer. Both companies, she added, have sizable positions in the market for the larger computers that are the engines of corporate office networks and the Internet. Greater size, she said, will give the new Hewlett-Packard more influence with corporate customers against rivals like I.B.M. and Sun Microsystems. What an analytic brain! This is yet another example of someone who postulates what has never been prooved, and does then, as if this is the truth! As Mr. Hackborn envisioned it, corporate customers want companies that can offer them technology solutions complete with hardware, software and services to business problems, not just pieces of equipment. Compaq, Mr. Hackborn said, improves Hewlett-Packard's chances of becoming just such a supplier, more like I.B.M. ==== has anyone been able to transfer data with Hyperlink on Windows using Xmodem to the 48. ? ==== Yes, I've used Xmodem w/ Hyperlink in WinNT4.0 to transfer MK2.29 to my HP48GX. All you have to do is turn off flow control and it works great. Stephen Xmodem to ==== There seems to be a certain marketing push to unify products eg; phone + pda TV + internet browser Fridge + internet computer. It was (deservedly) a notorious failure. I am not entirely convinced that this attempt at unification will work. If you look at the requirements for each they are so disparate that it is unlikely that it would ever be a success. I have both a pocket PC (Jornada 548) and a calculator (HP of course) and carry them with me in my brief case most of the time. I have the 48G emulator on my pocket PC but it is dreadful to use. On the other hand I have played with scheduling, note taking etc. on the calculator. Difficult to the point of impossible. Until the FTL neural interface is perfected I suspect that most of us who use both will have two devices. ==== ;-) Who knows, it's like when I searched avenard and linux in google and J.Manrique CdU de la ETSIG ==== I agree with the MS part; though believe it or not, for some obscure reason, HP has opted to use WindowsCE on their PDAs, weird enough. I would not think of any other company but HP to pick up such a project. OT: Isn't LINUX now available for Jornadas? Thyl ==== While 49g prices are falling down, PDA stuff stay overpriced: market is a fashion victim. Greetings, Marco ==== Look at http://www.hpmuseum.com/ . The classified section William schreef in bericht ==== Does the 49G have an equivalent to the 48GX's MSOLVR? ==== On Wed, 12 Dec 2001 10:31:41 +1000, news.bigpond.com Well, you neglect to explain what the MSOLVR is; it'd probably be better to ask a more general question like Hey, can the 49G solve multiple equations? If you had asked this question, I might've answered Yes! Now read the documentation! Anyway, the 49G actually has an MSOLVR command, which may be what you're thinking of (but then, you didn't say that MSOLVR is a *command*). I also note that RSH+7 has a MSLV option. 20:15:07 -0600) ==== Oh, why not give a poor fellow a break for trying to transcribe as best he can from calc screen to a post? Encourage beginners; otherwise no one will ever become skilled ;) Algebraic mode, please: Right-shift ->NUM generates ->NUM(ANS(1)) on the edit line, yes? Even though ->NUM is not a function, and is not really valid in a symbolic expression, but what we are editing is a `` (back-quoted) HP Basic expression, not a '' (regular-quoted) algebraic expression, right? Now try to generate COS(->NUM(ANS(1))) I.e. try to insert right-shift ->NUM into COS() Even if you press right-shift ENTRY to first turn on the PRG indicator (which should prevent immediate execution, no?), any attempt of mine just complains of Invalid Syntax (but I have not even pressed ENTER yet, have I?) Is that a bug in the Algebraic mode, or just a feature to encourage people not to use the Algebraic mode, anyway? Oh, also try inserting ->NUM into a program [in Algebraic mode], and see what happens! I admit I am a rank beginner in this mode, so I'm ready to receive help and patient understanding (but should I ask an SS man for it? :) [r->] [OFF] 01:37:11 -0600) ==== Come to think of it, why does this happen? All other functions/commands named xxxx just insert xxxx() in the editor; why does ->NUM also insert ANS(1) as its argument? Perhaps this peculiarity is related to why you can't insert ->NUM into any existing edit line; it appears that ->NUM can be entered only as the *first* thing that starts the editor, otherwise it tries to act as if ENTER were pressed first! [r->] [OFF] ==== It's similar to the behavior of ->NUM in input forms. For example in the PLOT WINDOW input forms, anything that you enter for, say, the x-minimum value, will be first accumulated in the command line. Pressing ->NUM doesn't! It evaluates what you have input until now to a number (if possible) and enters it in the current input field. Wha the special behavior? Was it made that way, to enable the automatic insertion of ANS(1) in algebraic mode? :-/ Numerical greetings, Nick. ==== I'm new to HP calcs. I try using 49g emulator in order to choose a CAS-capable calcs to buy (I'm trying also the Ti-89 emulator and the HP 40g emulator). I had not find references to complex results both in 'User Guide' either in Advanced UG. I have ignored Pocket Guide because I thought, erroneously, that it was a sunto of the other two manuals. -- ================================================ BELLANTONE MAURIZIO ================================================ John H Meyers ha scritto nel messaggio ==== http://www.hpcalc.org/details.php?id=3937 40g in ==== I just located and posted some libs I'd made for the 48 way-back-when (pre-1997), which someone might find useful (or at least amusing) whenever Eric gets around to updating the site. I'll post them on my website (http://www.thuban.org/projects) sometime, too. Ephem -- an astronomy lib. Not nearly as accurate as Zotti's Urania, but made when I didn't have the memory to run it, either. SymVec -- symbolic vector operations, senses mode, and supports othogonal curvilinear coordinates QPhys -- updated version. Saved my hide in a few classes, doing LS coupling, Paschen-Bach and Hartree calculations, etc. Wish I could located the Linear Regression with errors lib I made... Keith Farmer ==== Could anyone recommend a program for plotting 3 variable function such as spheres and cylinders ? (I got one calles Curv but I don«t know how to use it because the manual wan«t very good)... /Dan ==== Through parametric surface plot mode and with a lot of patience you could graph such things without additional programs. A Sphere for example could be plotted with the folowing EQ = {'COS(x)*SIN(Y)' 'SIN(X)*SIN(Y)' 'COS(Y)'} VPAR = { -2.046875 2.046875 -1 1 -1 1 -3.1416 3.1416 0 3.1416 0 -3 0 8 8} PPAR = {(-6.5,-3.1) (6.5,3.2) X 0 (0,0) PARSURFACE Y} My HP48 takes about 1'25 graphing that sphere, but it looks pretty cool. You always get the same response from people when you show it whoa, a 48 can do that! ;-D cybernesto <9v5noi$6e2$1@news.rz.uni-karlsruhe.de> ==== ok, but I am looking for a program with which I can easily plot something like x^2+y^2+z^2=R^2, isn«t there any program like that ? /D ==== I accidently ran my header-toggler, :: BINT3 GetHeader #- SetHeader ; (to toggle between one and two lines), when I had a header of zero lines =) So I just declared that I had 3 lines of header, right? So the sky should actually fall, right? Well, this didn't happen! As subsequent experimentation evidenced, SetHeader does some obscure bitwise thing (0h -> no header, 1h -> one line, 2h -> two lines, 3h -> no lines, FFFFFh -> two lines!? -- does anyone know how this works?) and thus accepts any BINT. Just FYI. ==== A new unofficial update (Service Pack 29) of Emu48 for Win32 is available at http://privat.swol.de/ChristophGiesselink/ for download. I don't provide any versions for WinCE. This version can emulate a HP38G, HP39G, HP40G, HP48SX, HP48GX and HP49G. Changes to SP28 - main menu commands don't close the debugger window any more - Backup Save/Restore now can work on ASM opcode level (inside debugger) Christoph Gie§elink ==== This has application in the APPS menu: given a stack of: 2: bint n 1: list for example: 2: BINT0 1: {{FOO}{BAR}} where list's elements are all { string ... }, and the list is not null, find the fastest way to append numbers to the string, in order, starting with (#n+#1). I'm curious -- is it faster to use list-processing, or to INNERCOMP the list and use meta object operations? Here's a start, which outputs the results as if level 2 were the end of a meta ( eg 2: BINT3, 1: {{FOO}{BAR}} -> 3: {4.FOO}, 2: {5.BAR}, 1: BINT5 ) :: INNERCOMP reversym DUP #2+PICK #1+ 2DUP#+ SWAP DO pull DUP CARCOMP INDEX@ #>$ tok. !append$SWAP !append$ SWAPONE SWAP PUTLIST ONE psh& LOOP DROP ; --- Keith Farmer ==== list List processing internally will explode the list then will rebuild it. So I guess using meta object will be faster. You can try using the HP49 entry points that will run a program on each element of the meta. ==== And which are those? I haven't seen any listed. Keith ==== be so kind to tell us the names of entry points which run programs on each element of a meta. And perhaps give us some hints regarding a) does the pointer correctly build the resulting meta (which, for instance, may be the null meta if the program displays all elements of the argument meta) ? b) do the pointer run inside an outer NULLLAM environement and is the program allowed to contain NULLLAMS? Wolfgang <76ea4fd3.0112101005.2e9833fa@posting.google.com> ==== wow, thorough work, thank you very much. So producing the interactive command mode has at least reached one goal: Someone starts using the macro stuff. First remark: Since we are using the same command table for the macro language and for the CmdMd, it is quite obvious that some commands which are useful in macros are not so useful in the interactive mode and vice versa. JF> 1. 'J' macro insufficient for noninteractive use. JF> This is simple: try to devise a macro that selects a syntatic unit. JF> I'd suggest 'J' and 'j' for beginning/end of a syntatic unit. JF> Actually, it may be unintentional that 'J' is useful at all for JF> dealing with syntatic units; I notice that the documentation omits JF> its behavior. Use it inside ::/; Yes, I thought about putting these at two different keys. Right now they are both at J since I considered them useful mostly for interactive use, when you know if you have a selection or not, and if you are on a delimiter or not. Maybe these two should be split -I'll think about it. JF> 2. macro interference with style. JF> Given A B where A has style and the cursor is at A, use the JF> 'U' macro. Apparently 'U' removes the style terminator after A. Emacs is not aware of styles in general. Several of its commands will not do the right thing if different styles are in the region being worked on. I'll see if I can fix this case, but in general we will not put in full style support. JF> 3. flag-related fuzzy selection. JF> When system flag 69 is set, the arrow keys can be used to move the JF> cursor beyond the 'physical' boundaries of a string, which is JF> convenient in some ways. Too see the bug, JF> 1. set flag -69 JF> 2. edit the null string JF> 3. press the right arrow key twice JF> 4. use the '-' macro (to start a selection) JF> 5. type anything JF> 6. use the '+' macro (to end a selection) JF> Notice then that the two spaces, *before* the start of the selection, JF> are part of the selection. This is not a bug. When you move the cursor off the string in this way, the current position is the last valid position in the current line. You can get the same behavior by just using BEGIN and END instead of the macro stuff. JF> 4. macro 'C' leaves garbage character. JF> Given A B and the cursor after B, the 'C' macro places a JF> character of value 5 after B. Yup, this is a bug, we need to check for the end of the file. JF> The following two only happen when using longpress-CmdMd: JF> 5. Display not refreshing. JF> Edit JF> A JF> B JF> and, with the cursor on the middle line, use the 'X' macro. JF> Notice that you see two instances of the first line, only the JF> second being real. Apparently Emacs waits for CmdMd to end JF> before refreshing -- which makes sense, when you're not longpressing JF> CmdMd. This is related to the problem you reported yesterday (with folding). The CmdMd loop intercepts keypresses and executes them. Then it used DispCommandLine to refresh the command line, which works if the whole area available for the command line is filled with commandline contents. However, for very small files, the commandline uses only part of the available space. When it (shrinks), than DispCommandLine does update the display, but it does not erase the parts of the screen which used to be command line, but now are no more. I have not been able to figure out how to do this. The normal system display does it, but when I use SysDisplay, then the invisible stack is displayed briefly - ugly. Any hint how to solfve this would JF> 6. Wierd garbage displayed. JF> I think this was fallout from immediately prior crashes and JF> worse dealings on the calc -- I can't repeat it, or remember JF> exactly what I did. What happened is that, when in CmdMd, a JF> certain macro when used caused a garbage line to appear at the JF> top of the screen -- more pressings leading to more garbage. Yes, this problem is known and has nothing to do with Emacs. JF> 7. '*' macro doesn't work interactively JF> It inserts what looks like a paragraph symbol, character value 182, and JF> when the 'macro' ends (when I press ON to leave CmdMd) my cursor doesn't JF> go to the point. This isn't really important :-) Would you find it useful if this macro would work in the interactive mode? It could be implemented. It would still insert the special character, but when exiting CmdMd it would return to this position and remove the marker. Frankly, I don't think this is useful in interactive mode. I should mention it in the Docs, probably. JF> The '@' macro also doesn't work; trying to use it exits CmdMd -- JF> but this appears to be the act of pressing ENTER. If you need a pause in the interactive mode to look at things, just stop typing for a moment. :-) for the next version. - Carsten ==== I think the only things that matters here is the order in which you redisplay. If less lines are now visible in the command line, you have to mark the Stack Display (2a) to be invalid and it will automatically be redisplayed. <76ea4fd3.0112101005.2e9833fa@posting.google.com> ==== JA> I think the only things that matters here is the order in which you JA> redisplay. JA> If less lines are now visible in the command line, you have to mark the JA> Stack Display (2a) to be invalid and it will automatically be redisplayed. No that does not work. I am intercepting keypresses in a loop, and the normal redisplay never happens. I have to redisplay things by hand. For the command line, ?DispCommandLine after each executed command (in my loop) works perfectly. But there is this region above the command line which is not updated with this command. Normally, if the command line fills the whole screen, there is no problem at all. But if it does not fill the screen then there is the empty region between header (if any) and the command line. If I do DispStack, then the stack is displayed. I think what is needed is something similar to DispILPrompt, which checks for the heights of command line and stack. I just tried, the following dirty hack seems to work (most of it is just to get an empty string into 4GETLAM which is accessed by DispILPrompt). NULL$ FOUR NDUPN DROP 4NULLLAM{} BIND DispILPrompt ABND Is there an easier way to get this effect, i.e. to clear the stack area of the display? What is the stack diagram of nDISPSTACK? - Carsten ==== But that is perfectly normal. You're using the components to display the stack outside the Input Mode. There's no component that will work by default for you, so you have to do a bit of a hack. DispCommandLine display the command line, and only the command line. If it become smaller, it's up to the StackDisplay component to redisplay its part. Where you're in INPUT mode, there's no stack, so you have to use something else like: :: ?DispCommandLine ?DispStatus ( if the status area is invalid... ) ( ...then display the system status ) DISP_STACK? DispILPrompt ?DispMenu ClrDAsOK ( reset display areas OK assertions ) ; DISP_STACK? will run the following command if the display status require it. DispILPrompt is an entry point that will access the current local variable that contain the default prompt. It's an empty string by default. It's something like: NAMELESS DispILPrompt :: StackLineHeight ( recall the number of lines available for the stack ) CommandLineHeight ( recall the number of lines used by the Command Line ) #> IT :: ILPrompt@ StackLineHeight ( recall the number of lines available for the stack ) CommandLineHeight ( recall the number of lines used by the Command Line ) #- ( number of lines available for the prompt display ) CODEM GOSBVL =SAVPTR GOSBVL =GET_HEADER GOVLNG =PUSH#ALOOP ENDCODE TrueTrue CHECK_SCAN_FONT nDISPSTACK ; SetDA2aValid ; So just replace the ILPrompt@ with NULL$ CHECK_SCAN_FONT will make sure the fonts are searched in memory That should answer your question <3BE89812.AB352522@home.com> <9sa6bd$8gd$1@news.kolumbus.fi> <8hLG7.28712$8x1.5582@newsfeeds.bigpond.com> <7osoutkted5698d1ici0n2lbpotqk8mdme@4ax.com> <3BF6EF64.7A04165C@home.com> <2953da04.0111240234.1d84794f@posting.google.com> <3C0001B9.3DBB8A43@home.com> <3C00480A.ED7335D2@miu.edu> <3C05FDB4.3860FC8A@miu.edu> <3C06D413.93F95047@home.com> <3C12BF13.B4EB7CA3@miu.edu> <3C13FBF0.653DA865@home.com> 00:28:58 -0600) ==== For those unfamiliar with a slide rule, peek here first: http://www.hpmuseum.org/sliderul.htm [very basic] http://www.hpmuseum.org/srinst.htm [deeper] http://www.hpmuseum.org/beginner.jpg [photo] The act of reading output (or setting input values) is equivalent to A<->D [Analog<->Decimal] conversion; after all, the results are entered by the operator on an analog scale, but from original *digital* sources, then operated upon in an analog fashion, of course, but final results are always, once again, written down *digitally* The whole point of the slide rule is to perform digital computations (generally multiplication/division/exponentiation), albeit using a simple analog device, which, just like digital voltmeters, has a limited accuracy of just a few significant digits (rules with longer scales, of course, enable more precise readings, with some clever cylindrical or spiral constructions enabling scales of 60 inches or longer to be compacted into a much smaller package). The base in which the digital original input and final output are presented is very important to the accuracy of the whole process, because the basic device is made from a scale which is just long enough so that exactly one decade of values (assuming a decimal slide rule) is represented, so that any (decimal) mantissa whatsoever can be found on the scale. Another way to say it is that the linear *log* (L) scale of a slide rule goes from 0 to 1, end to end, representing the entire range of *normalized* mantissas which are appropriate to the number base being used. The C and D scales then display 10^L (on a decimal rule); any higher values then wrap around (start at 1 again) corresponding again to the left end of the same scale; thus, the scale deals only with the mantissa portion of the result, while the operator is left to deal himself with the exponent Simple picture of the C and D scales on a decimal slide rule: http://www.hpmuseum.org/oughtred.gif A real product merely adds more detailed markings to the scales: http://www.hpmuseum.org/beginner.jpg If we were to construct a binary-base slide rule, the L scale of our rule would still go from exactly 0 to exactly 1, but the C and D scales would then go only from 1 to 2, rather than from 1 to ten. Another way to look at this is that the portion of your traditional decimal slide rule that lies just between the left edge (1) and the value 2 would be stretched out instead to cover the whole length of the original scale; is it clear that this would improve the accuracy of setting or reading out results, to exactly the same degree as magnifying our whole original decimal slide rule scale (and total length) by exactly that same factor [log base 2 of ten]? Just as we said at the beginning, the physically larger the scales, the greater the precision of the slide rule, and by using the binary system instead of decimal, on a slide rule of equal total length, we effectively stretch the scale out, so that the interval from 1 to 2 occupies as much space as originally did 1 to ten (and the infinite continuation of these scales is just by repetition of the same basic mantissa scale again, for each higher or lower exponent). If we do build ourselves a binary slide rule, however, then we'll probably also experience that it's going to be mighty hard to design scale markings so that we can set and read out the values without heaps of confusion, because our clunky old decimal system does have the virtue of having so many more symbols in it that it makes our slide rule scale much easier to mark clearly and to interpolate (not to mention needing so many fewer digits to be written down); just start making yourself a binary slide rule scale, and you'll soon see what I mean! Anyway, a binary-base slide rule would be in theory truly more accurate (by a factor of log base 2 of ten) than a decimal slide rule of the same length, even though in practice its scales would also be a corresponding pain in the *** to use. Aren't you also glad that history did not lead us to have to make Babylonian slide rules with a base of 60, which would have been mighty low in accuracy and high on eyestrain, given how much greater a range of mantissas they would have had to span? [and what cluttered scales they would have had, too!] In some sense, then, our most familiar number base is actually pretty optimal for our organic brains to deal with, having a range of not too few and not too many symbols to have to process in that peculiar grey matter of ours, regardless of the different efficiencies to be realized in silicon alone :) Q.E.D. [Quite Educational, Don't you think?] ==== X X Hmm.... me thought the length of the slide rule rules here. (counting out slack, misreading, etc.) Rule 1: The longer the slide rule the more accuracy Comments 05:25:15 -0600) ==== As an aside, see A diversion on the subject of accuracy here: http://dspace.dial.pipex.com/nib/slides.htm It doesn't consider binary scales, but explains the precision concept, as you have summarized it above. Your general rule above, however, assumes that all the scales being compared are similar C/D scales of decimal-base slide rules, but what I am exploring here is outside of that box :) Perhaps it will be clearer to think of the single end-to-end C or D scale as just one piece of a vastly long scale of floating-point numbers, say a piece of the entire range 1E-499 to 1E499 of our HP calcs; this complete scale simply repeats the same (decimal) *mantissa* range over and over, for each different value of (decimal) floating-point exponent, although the fact that the mantissas repeat is what enables us to effectively possess this entire gigantic range, just by folding up all 998 of these identical-looking ranges upon themselves, sort of like a carpenter's folding rule, (thereby losing track of which piece we're in, which is the same as forgetting the EXPON part of the float), to create the collapsed instrument which we usually carry around. Now, by repeating 998 of our basic original scales, end to end, we have made a much *longer* scale, but have we made our slide rule any more precise? Certainly not! -- it remains exactly the same, precision-wise, as was any *one* of the original 998 segments! What really matters, for precision's sake, is the relative *magnification* of our scale -- how far apart are the consecutive absolute integers 1 and 2, for example. If we engraved on the opposite side of our original decimal slide rule a scale representing one full range of all possible binary mantissas, rather than of decimal mantissas, the absolute integers 1 and 2 would be found farther apart, at the very ends of the scale, rather than the shorter distance apart at which they are found on a decimal slide rule, so that would make our scale more magnified, hence more precise. Yet another way to think of it: Thinking again of our slide rule as sort of a carpenter's folding rule of many segments (repeating mantissas but higher exponents), which can be unfolded out to its full length (equal to the range of our HP calc), when we unfold our decimal scale to cover the range of the calculator, it is a 998-segment long total scale, while when we unfold our binary scale, it turns out that we can unfold about 3315 segments before arriving at the equivalent end values, so the true total length of our *complete* scale is much longer if each of its segments is engraved more expansively, to cover one binary mantissa range (1-2), than if it is engraved with closer-spaced markings, to cover one whole decimal mantissa range (1-ten)! If none of these different perspectives brings the picture into focus yet, then seek a better optometrist! Another nice site: ==== True, but that only proves an upper-bound. It remains to show that it's Bank 0 was designed to replace the boot code in case there is any major bug. So if your bank 0 is ever seriously corrupted, it might refuse to boot. So you really have to do: SUM(X=0,1,QUOTE(COMB(...)) 'E(X=0.,1.,COMB(500.,X)*.001^X*.999^(500.-X))' where E is SUMMATTORY 'GS(X=0.,1.,COMB(500.,X)*.001^X*.999^(500.-X))' EVAL ==== but has anyone written a program to simulate its function? I have a little program that just isn't the same without it. Also, is there a sysRPL programming manual similar to James Donnelly's AnIntroductionToHP48SystemRPLandAssemblyLanguageProgramming *whew!* ? Something that lists the commands and gives at least a brief explanation and stack diagram would be nice so I could see what's new and what's different and (unfortunately) what's gone. ==== Yep, that would be fun :-) Ja sou, Bhuvanesh. ==== Is there a document that lists or describes various important memory locations for ML programming? For instance, the Introduction to Saturn Assembly Language, 2nd ed has an example for the HP48GX where setting a bit at a certain location turns an annunciator on. I've not been having good luck with NOSYing my way through SysRPL entry points, so it'd be cool if someone else has preceeded me. ==== This week playing with my 49 i discover a strange behavior using truth function. I wanted to reproduce the examples using TEACH on my 48gx. When i try to draw the truth function on my 49, only one vertical line of two are drawed!!! (1,3,5, 7 ...etc) So i ask what append? what i have missed ? or is it (an already) related bug ? Here is the Equation (from TEACH/PLOT example of the 48): '(X^2+Y^3) MOD 4.<2.' and the PPAR (plot parameters) { (-6.5, -3.1) (6.5,3.2) X 0 { (0., 0.) { 10. 10. } } TRUTH Y } optionaly here is my flags { #788003840D010FF0h #0 #10012002024058h #0h } I'am using rom 1.19-6 Can anybody reproduce that ? - Denis. ==== It's because the default resolution of the 49 is 2 pixels but the default resolution of the 48 is 1 pixel. The 49 plots every second pixels per default. You should go to the PLOT WINDOW - TRUTH screen, and enter 1 at the input field Step: and also check the option _Pixels. Greetings, Nick. <9ur74b$3ng$1@pinco.nettuno.it> ==== The same happened to me too. But I guess I'll try to keep the library (and back up the memory more often), since it's so nice to have a sheet for euro conversions. Ville Koskinen ==== I need to know if the HP-19BII can solve systems of n equations and n unknowns. And if it can, please tell me how. Ray ==== HP-19B II Systems? In one step? No way! Sorry! ==== Well, it depends on what n is. Just kidding :) The 19BII has, and this is if my memory is working properly, a feature called HPSolve. It would find the zero (or zeros) of f(x). I'm not sure how it did it but it was an iterative algorithm that would, no pun intended, zero in upon the root of the function. You would enter the function, give a high and low estimate of the root, start the routine, and the calculator would give you an answer. That's the basics of it. So, to answer your question, no. I hope this helps you. Robert Pecherek De Kalb, IL ==== Don't say shit, say bio-material that can be recycled. ;-) Greetings, Nick. ==== TIs are made of shit shit shit shit shit shit. ==== The problem is that Jazz doesn't seem to support the new data types introduced with the 49, thus it will display Invalid object whenever one object of these types is put on the stack... Greetings, Marco ==== I'll fix that one. It was the address I used from my previous-to-last employer. Sorry about the mess! Keith ==== Checking hpcalc.org shows deoradh@geocities.com; I don't know when this was updated from the pacbell address. <3c115086.71551468@nntp1.onemain.com> ==== JF> At first the window annoyed me, but then I accidently longpressed an JF> 'appointment' entry to Organizer. I suspect now that a better solution JF> would be compiling on doubleclick, but I'm going to stick with the JF> current configuration for a while. This is very useful, still. JF> (But something occured to me... Why have a Yes/No selection? Why not JF> say I'm going to compile this now, haha! with just an OK selection, JF> and you can hit cancel if it bothers you?) It works both ways: Long Enter can be used to compile a string being edited, or to not compile an object being edited. And if you pressed Long by mistake, you can correct. If you really hate it, just hack the library (romptr RPLED1, I think) - Carsten <3C120F02.C76B192B@math.fu-berlin.de> ==== WR> I'm not very happy with that HALT isn't anymore visible in WR> the Emacs appl-menu but moved to leftshift CmdMd now. HALT is WR> (at least for me) one the most important options in the menu. WR> Now I have to learn by heart were the HALT is :-) Hmm, I'll consider moving it back - but I use CmdMd much more often. Any other opinions on this issue? WR> I expected that EDOB would temporarely inflate a BZ-string just WR> for visiting its content, MASD still has problems with compiling decompiled BZ strings. Try a file which contains different styles and fonts, compress it, decompile and compile the string. So decompiling an object containing a BZ string is not very useful. Forthermore it would be hard to find the boundaries of a string in the editor. WR> to extract someting from it, etc. This seems to be be better since WR> in many SysRPL programs BZ-strings occur *inside* the program. The WR> decompresson capability of RPLED is IMHO dispensable because WR> people often working with BZ probably have the OT49 BZ-toggler x~ WR> on a suitable key - not even necessary because you can toggle x~ WR> directly with ALPHA rightshift 1 and ENTER ! Still it is a lot easier if you can just edit it, I'd say. In particular since it also works for the self-decompressing programs created by OT49, so you don't have to go through the compress-and-make-a-program procedure each time you change the program. More important for me is that it works with EDOB on variables containing compressed strings. The Emacs sources are now compressed more than 40kB. I have a list of the 15 or so variables which contain all the code. So I edit this list with EDOB, and then I can visit any of these compressed variables and change their contents. WR> If EDOB will do the job it seems that recompression will be WR> dispensable; just keep the BZ-string in a local variable :-) This is done, if you exit RPLED with CANCEL, the object will not be recompressed, but the old object will be restored. Only if you exit with ENTER, compression happens again. - Carsten WR> - Wolfgang <3c115086.71551468@nntp1.onemain.com> ==== JF> The paragraphing function of this has already been quite useful to me. JF> I like the speed and power it gives -- and if you extend it a little more, JF> you'll have something akin to VI, if you don't already have it. =) Feel free to suggest missing editing commands you'd like to see. - Carsten <3c115086.71551468@nntp1.onemain.com> ==== JF> At first the window annoyed me, but then I accidently longpressed an JF> 'appointment' entry to Organizer. I suspect now that a better solution JF> would be compiling on doubleclick, but I'm going to stick with the JF> current configuration for a while. This is very useful, still. JF> (But something occured to me... Why have a Yes/No selection? Why not JF> say I'm going to compile this now, haha! with just an OK selection, JF> and you can hit cancel if it bothers you?) CD> It works both ways: Long Enter can be used to compile a string being CD> edited, or to not compile an object being edited. And if you pressed CD> Long by mistake, you can correct. Actually, this was the wrong answer. You are right, a single OK selection would suffice. But the SystemRPL entry AskQuestion is the easiest way to put a question to the user, and that does Yes/No. It actually works to press CANCL, which is equivalent to selecting NO. - Carsten ==== In ROM 19.6 (and maybe before) there is a simple criterion which BZ-strings are recompiled by MASD after decompiling: The BZ-string must appear in SysRPL stack view as NIBBHEX in Level 2 or in the interactive stack or inside another SysRPL-object. I don't know why certain BZ-strings are not correctly treated by MASD. IMHO, this should be fixed. Unfortunately, even if MASD recompiles after decompressing and Emacs edits the content of a BZ-string, the recompilation may not be the same as it was before. This happens in particular if your code contained stable pointers to binaries outsite standard range 0 - 131 and distinct from a few other named binaries. The same with stable pointers to reals distinct from -%9 ... +%9 and a few constants. This makes recompilation and recompression larger. Emacs (as well as many of my tools) make essential use of stable (though unsupported) pointers from areas communicated to as by JYA. - Wolfgang ==== An extra keypress and a little remembrance (or the HELP button) for a rarely-used feature isn't a big deal to me -- and I also use CmdMd much more often. ==== No. A string will appear as NIBBHEX in the stack if it's lenght is odd (e.g if you do a BYTES) on it, you will get something like xxx.5 Otherwise, it will be decompiled as a normal string (with ) as it can be recompiled. Well, they are unsupported, and therefore shouldn't be used (that's in case another HP calculator based on a saturn CPU will ever be released) ==== On Win32, how do I load .hpbackup files into emu49? I've tried the various Object | ... commands, but they fail. Keith, wanting to fix L1791 ==== ==== These weeks I have been doing some classes to teach some basic use of hp49 calc in some university schools here, using emu48 and 1.19-6 ROM (to show the benefits over 1.18 ROM that are installed in most of the calcs), and I have notice a strange behaviour.. The second time I use emu48 the EXP feature of 1.19-6 don't work, (appears EXP() instead e^)... Any suggest? J.Manrique CdU de la ETSIG ==== could you be more precise, please. What flag settings do you have? What do you excatly typing? So that I can enter it on a real HP49 and on Emu48 to see the difference. Opcode emulation bugs are extremely rare (but of course not impossible), mostly your described behavior is a result of using different flag settings. Christoph Lopez de la Fuente, Jose Manri schrieb ==== Yes. Intuition, trial and error, experience, the bag of tricks we learned in school. The processing power of the brain is simply amazing. The incompleteness theorem at work again. :) -- Dr. Albert Graef, Dept. of Music-Informatics Johannes Gutenberg University Mainz, Germany Dr.Graef@t-online.de, ag@muwiinfa.geschichte.uni-mainz.de http://www.musikwissenschaft.uni-mainz.de/~ag ==== Yes, so it seems to be everywhere. Rats! ;-) Greetings, Nick. -- it's so hard to stay together passing through revolving doors we need someone to talk to and someone to sweep the floors incomplete, incomplete ==== ich trenne mich von meinem brandneuen Ersatz-HP49. Hoffe mein 49 macht nie schlapp :-) chinesische Seriennummer CN130... -> gute Tastatur, Displayabdeckung! http://cgi.ebay.de/aw-cgi/eBayISAPI.dll?ViewItem&item=1307648601 Greetings from Cologne Peter -- Great HP48/49 links: http://www.hpcalc.org http://move.to/hpkb to find *old* postings search: http://groups.google.com/advanced_group_search ==== XQ will do what ->Qpi does, but will set the mode to exact after. ==== In order to use Debug2, the best would be to have your source code using the HPTools syntax. You can use MASD, but there are some things you need to know like: ?A=C.A -> { blahblah } is not valid under the HPTools It must be ->{ (the arrow is adjacent to the bracket) It's quite simple to make a program and debug a program really. Let's try this... Open Debug2 In Emulator, select Emu49 (if you have the SP29 new DLL) or YorkeM if you don't. In previous version of the DLL, if you loaded an object, it would disable the debugger. Press Ctrl-P (for Project -> View Project) Save your project under a new name, let say my project Enter the various information like Title, ROMID In the Config field you put the name of the label that will contain your $CONFIG for the library. Let's put here PRGCONF. Now go into the Files, and select Project -> New file Put the name try.s for example. A window will open with this : RPL ( Ensure RPLCOMP and the syntax highlighter are in RPL mode ) ( E:HP49SdkRomRamprojecttry.s, part of the myproject.hpp project, created by <> on 11/12/2001 ) INCLUDE myproject.H Let's add this new text: EXTERNAL SUBPROGRAM ASSEMBLE CON(1) 8 RPL xNAME MYTRY :: CK1&Dispatch ZERO :: ( Calling a sub-program ) SUBPROGRAM Well Done %1 xDISP %7 xFREEZE ; ; NULLNAME SUBPROGRAM :: % 500 % .05 xBEEP ; NAMELESS PRGCONF :: # 400 TOSRRP ; I've chosen # 400 as the library's number Now press F9 in the editor window to build the object. You will see that the library is loaded into the debugger and that a small RPL program is run that will delete the library if it existed and will then store it in Port0 and attach the library. Then the menu is set-up to the library menu. If for whatever reason, the RPL program is not run automatically, you will have to run it then go into the Project Window, and select Debug Info . Click on the Search button, this will search for the library's address in memory. Opps, it seems that there's a bug in the last version posted of the debugger. The address is truncated. Ok. What you have to do is on the hp49, put the library on the stack, and do ->A to get the address of the library. Put the address in the field just above the search button. In my case it's FFE80. Let's give it a go... (it needs a dumb argument on the stack). Now, let's try to debug it: Open in the main debugger window the RPL debugger. You can select which field you want to display by right-clicking and choosing your option. In the main debugger window, select break-point (or press Ctrl-B) Once the library is loaded (this is important), in the Address field, type the name of your main entry, or any label's name. Here it will be either xMYTRY or SUBPROGRAM. Hopefully, the address will be automatically calculated. You have to tick to specify that it's a RPL breakpoint and not a ML breakpoint Run the program on the calculator, you will see that the debugger will stop on your entry point Then you have to either press Step-In or Step-Over. It's possible to add an entry in a list, so it will never do Step-In on it, only step-over. If you press Right-Click in the Rpl Debugging window, you can select to view the Step-Over list, and simply add your entry in it. If you ever modify your library and its structure, you will have to delete all the breakpoint and re-create them. As the debugger is not able to recalculate all the break-points. For ML breakpoint it's the same kind of procedure. Once you're used to all the flaws of the debugger and it's tiny problems, it's a fantastic tools. Hope this help PS: I will post this message in c.s.hp48, it will help others I believe ----- Original Message ----- any be really ==== There *is* RPN for the TI-89: http://www.perez-franco.com/symbulator/download/index.html Bhuvanesh. ==== If you can get an RPN emulator for a TI, why bother with the HP49G since HP is getting out of the business? Really, HP hasn't been able to compete against TI for a long while. I have a HP49 and I don't think that it is a good calculator, it's too slow and is still using very old proprietry technology ( Saturn processor ). Don't buy an HP48! ==== You could download the emulators and try them first In spite of the bashing here I think the 49G is superior in so many ways that it clearly outperforms TI 89 I had the TI 89 for almost a year and I really tried to work with it. The only thing that is better in the TI 89 is the speed of symbolic Integration. It's slow in some factorization and than matrix numeric routines are not optimized. Also the HP 49G has a lot more symbolic Matrix operations already build-in. The RPL language in the HP is user expandable. Well, I could go on forever, but my personal opinion is: If you want to learn math instead of getting a brain replacement then buy the HP 49G. It's simply the best! PS: Also you get a whole lotta support here!! message HP ==== Oh please. Stop that!. I think this is the most nonsense phrase I have ever heard in my whole life (boy and how easy is to hear it). No CAS or computer, or calculator can be a brain replacement. If a calc (be 49, or 89) is able to solve something is because there is a method that you can learn to obtain the same result. But learning math is NOT about learning solving methods, but learning concepts. No calculator will avoid you to learn concepts, because there is no sense in getting results whithout knowing what they mean. Your post would be correct if you only said Thats ok. Is your personal opinion. But stop saying that your calc makes you 'smarter'. Because it doesn't. cybernesto ==== Andrew Maclean skrev i en nyhedsmeddelelse:9v1ib1$t1t$1@spacebar.ucc.usyd.edu.au... HP RPN for the TI-89/TI-92 is not an emulator, it is an interface like the user interface of the HP calculators. The TI RPN interface is often faster than the normal algebraic interface, because it does not have to do the algebraic->RPN and RPN->algebraic conversions. TI-89/TI-92 are *RPN* calculators and not algebraic calculators. ==== At the local office depot 49gs are going for $108 cheaper than an 89 or an 83+. -Samuel ==== ever computer, obtain you Yes, but dummier can it you make! Yoda ==== This is an interesting thing to just declare. Now back it up. ==== I think what he means is that internally the TI-89/TI-92(P) interpret expressions via RPN. It takes the algebraic input, parses it onto a stack, and then evaluates. Details of this process can be found in the Developer Guide. In fact, though, I expect nearly all of the graphing calculators from any company function on this principle. The two questions are: 1) Whether there's an algebraic interpreter on top of this stack based core. 2) Whether the user can input directly via RPN if they feel so inclined. On the older HP calculators, only #2 was true, on the older TI's, only #1. Comparing the HP 49G and TI-89 (89 requires a small program), they're pretty much similar on both counts. -Dan Englender ==== As for the EQW, the TI-89 has a mode that can be set so that expressions are displayed on the stack the way they'd look on paper, and besides, the EQW is already an algebraic entry application. But, expressions have to be edited on the command line with the TI-89. It works pretty well though. As for the RPN interface, I don't really see the need for it but it would be interesting to see. I kept the RPN Primer (I think that's what it was called) on my HP-41 CV and the string for the user keys that I could restore with the STOKEY (I think) command from the X-Functions module. It was cool just to show friends how RPN works. I like RPN better but the stack and the command line on the TI-89 work really well. It's not like the old AOS and I didn't have hardly any trouble getting used to it, and that's after using nothing but HPs for 20 years. I wouldn't mind checking out the RPN interface just for the hell of it. I guess it makes more sense than HP making their top line machine default to algebraic mode anyway. Let us know where these applications are available. Robert Pecherek De Kalb, IL ==== Like, a big whopping 'Duh'? Like, this is how every sensible system works, that needs to evaluate arbitrarily nested algebraic expressions? There's more to being an RPN calc than having a stack buried deep inside the OS. Actually, I figured he meant this too, but I was giving him a chance. ==== There are several reasons to buy HP over TI. First, TI BASIC simply stinks ! If potentaial user is thinking to write and use large number of numerical programs, that use long loops, matrix operations, etc. HP is much better (read faster) choice. It not only runs programs faster but also allows the output of the program to be used immidietly because it produces output data directly into the stack. This is far superior to the TI especially when HP is used in RPN mode (otherwise using HP makes little sense anyway IMHO). It allows to easily extend calculator built in functionality by user own programs operating directly from the menu on the stack with single key stroke. Second reason is, that writing User RPN program for short, but otherwise cumbersome set of operations is generally faster and easier on HP using UserRPN than on TI89/92 TI Basic simply because UserRPN mimics pretty much natural set of operations performed by the user when using calculator manually without memorizing and using programming language that differs from everyday operartions. It is especially simple when such program operates on the data from stack and displays data to the stack. On the other hand UserRPN becomes harder to read and edit for large applications even by the creator especially when it uses stack as input and output. (I own HP49 and TI92) Jack ==== Well, you still have superior software, superior operating system, superior third-party programs, and superior development options. Gosh, why would anyone want to use the HP49G? =) I think one of the problems with these conversations is that people tend to focus on algebraic/RPN, which is a relatively small part of the picture. Giving a TI calc RPN doesn't make it an RPN calc, until you've entirely remapped the keys to be more amenable to RPN, and fitted in an operating system replete with commands supporting or dealing better with a stack. Even if this happens, the TI calc still doesn't have RPL -- but I'll leave that discussion to someone else; RPL is more than SysRPL or UserRPL or any of the software written in these on the Saturn processor. The Forth problem, made worse by general inability to format code in ways that hold special information from the creator and made *much* worse by the general lack of tied documentation with source. I'd suggest only ever writing small single-purpose programs in UserRPL (Not RPN!), and splitting larger programs into discrete units of the same. Libraries are good for the last, and even better because you can tie documentation to commands, layer your code into a system/user dichotomy, and do extra special stuff with $EXTPRG and $CONFIG. ==== works, What is special about a RPN calc? ;).I didn't know that the stack was buried deep inside the OS especially not in RPN! ;) ==== Interesting.... an expert! ;) ==== with it are is edited on be called) the show line on hardly 20 available. ==== X are is edited on X It's awful compared to the direct subexpression selection of the pretty-print HP 49G EQW with Custom Menus and all... IMNVHO ==== Veli-Pekka Nousiainen skrev i en nyhedsmeddelelse:9v3m0n$bil$1@nyytiset.pp.htv.fi... EQW That is not the EQW. It is the normal TI entry-line ;) ==== I have an HP49G. It seems awfully slow to me. Using RPN I get very long lag times for simple addition, subtraction, multiplication, etc. It almost always accepts my keystrokes, it just doesn't show anything for a while and then all of the sudden the calculations are done. I am wondering if it is some setting? I know there have been some discussions here about speed, but I would think simple calculations would be fast. thanks. --derek X-Comment-To: dtd ==== Do you have latest rom? if no, you should upgrade your calc. ==== That will only slow it down further. The later ROMs have slower CAS than the earlier ones ==== I'm inclined to simple scoff at this rediculous claim, but instead I'll give a silly answer and then go off on a tangent: maybe you've hardware damage? Look at ON-D. Tangent: what's with all this talk about the 49G's slowness, recently? I count three in the last week, all of them silly. Is there some new meme I didn't catch going through usenet? Is this an astroturfing operation from TI groups? I'm familiar with mysterious waves of similar talk on the internet, but I always hope to get some clue as to what causes them... (wave-causers: How about a bunch of new discussion on the inadequacies of the HP49G keyboard? Some oldtimer HP user who comes in and announces his disatisfaction? That'd be cool. And then -- the IR!) ==== What is so silly about the slowness of the HP49? I have a brand new one and it acts exactly as dtd says it does. I believe it is called garbage collecting. It would be ok if these lapses in which you press a key and the HP49 stops for 4-5 seconds to do something would happen once in a great while but doing this every few minutes even when the stack is empty is ridiculous. I find nothing else (except the keys and the screen cover) that I dislike as much as this garbage collecting. Exceptional machine but new software in old hardware must lead to some compromises. Santos Lucero ĄProblemas con las news? Webnews, el acceso m207s r207pido y fiable http://webnews.aforo.com User IP: 207.212.230.68 ==== There are two models of the HP 6S. One of them is blue. Sounds like that one. I doubt very much that it says HP-65, since HP hasn't been using dashes in the model numbers for more than five years now. ==== URL?? ==== May I assume that we have yet another member in the super calc dreamers club? ;-) *That* would be interesting. If only to see them wrestling for RPN or ALG. Which team would hire Bill Goldberg? ;-) | OO (<-Nick's key finger) Hopefully not only memories but also material calcs. Greetings, Nick. ==== Well, as far as I can see the foundation doesn't do any projects themselves, it is a philantropic organization which provides grants exlusively to nonprofit organizations (see http://www.packard.org/). And the Hewlett family is mostly concerned about the printer and high-end server business. No talk about any of the old product lines that once made HP famous. AFAICS, TI is mostly a DSP company these days. I don't think that HP would want to get involved with that, given that they just spun off their own lab stuff business. [Yes], but even if the HP+Compaq merger fails, that won't make the good ol' times come back again. I guess that the most that we can hope for is that, when HP runs out of Yorkes, the 49 firmware will be emulated on a standard handheld device inside a 49G case (kind of 49GII). But even that is not likely to happen unless the 49G would suddenly generate enormous sales like the 12C. :( Albert -- Dr. Albert Graef, Dept. of Music-Informatics Johannes Gutenberg University Mainz, Germany Dr.Graef@t-online.de, ag@muwiinfa.geschichte.uni-mainz.de http://www.musikwissenschaft.uni-mainz.de/~ag 12:20:31 -0600) ==== Carly replies: http://dailynews.yahoo.com/h/nyt/20011210/ts/hewlett_chief_battles_for_her_d eal_and_her_career_1.html [r->] [OFF] ==== Xpander is a lot different from a HP 28 style design. X Do you have a direct link to any HP official announcement that claims this ??? ==== This is probably not correct. Have you had a look at the Fellowes website? This is a case with an attached keyboard, which doubles as cover. It is a plug on device, no hardware revision is required. And concerning the hack of the operating system, if the PocketPC is any similar to the PalmOS, its a matter of one driver. IT has been done also for PocketPCs, look at the Targus Stowaway keyboard for iPaq. An emulator already exists, called emu48, iirc. Thyl ==== If I got it right, this was a monolithic design; while what I suggested, is a simple add on device with very little own electronics in it. Have a look at www.fellowes.com (look for PDA keyboard cases) Thyl ==== Well no; but anyway, I still like the idea even if they continue to develop calculators; it would be a nice and relatively cheap expansion to those people which generally want a PDA, but from time to time, also want a powerful calculator, including a nice set of buttons (a notorious deficit with PDAs) Thyl ==== we are getting closer and closer they don't know, but i am sending telephatical waves to their brains all we have to do is keep waiting http://www.infosatellite.com/news/2001/09/a250901panasonic_toughbook01.html ==== X develop X ok, how much would you pay for a CAS/Calc system with a (cheap) slide-in keyboard? 100._Euro ?? ==== On Sun, 9 Dec 2001 18:14:53 +0100, thyl.engelhardt@t-online.de (Thyl Personally I do not want a calculator emulator in a PDA. I would like a calculator that DOES NOT USE MICROSOFT CODE of any kind. I have enough trouble using Microsoft stuff on my computer, I don't need it in a calculator. Software emulation usually means slower. If I need a PDA I will buy a PDA. If I need a calculator I will buy a calculator. In order to combine both in one platform means making compromises, that in my opinion ,make neither run under optimum conditions. Harold A. Climer Dept. of Physics,Geology and Astronomy U. Tennessee at Chattanooga ==== Hehe, how about this? ;) http://www.seiko-austin.com/ Just as good ( or better ) IMO without the price. ( and bulkiness ) Acer also makes some thumbpads but they're bulky ( they hang off the bottom of the unit instead of sliding over the Graffiti area thereby making the PDA significantly longer ) and have less keys : http://www.acercm.com/keyboard/index.html Anyway, with the Seiko models the PDA-keyboard combination is actually *smaller* than a 48/49 and has *more* keys. :D We're getting close indeed. :) ---------------------------------------------------------------------------- --- Jonathan Busby - before replying. ==== says... hell, we can get also something like this: http://www.etmag.com/issue0110/txt/221.htm (you can use it as weapon too) says... ==== The keyboard addon alone costs 50-100 Euros: http://www.fellowes.com/store/index.cfm?selectProductCategory=194,1,105&pCat =194 I guess this was your point..? Greetings, Marco ==== Yep! http://www.fellowes.com/store/index.cfm?selectProductCategory=194,1,105&pCat ==== I agree with Harold. What I need is a calculator, not a Pocket PC. PC are great in the office, but you can't do quick and dirty calculations in the field on a 5 pound brick slung over your back. What we seem to be having is a disagreement between those of us that live in the real world of engineering & science and those living in the fantasy world of I must have more, more, more, no matter the cost or usefulness of it. of HP48 and be ==== On Mon, 10 Dec 2001 17:36:12 -0600, Richard Garner And don't forget these other practical considerations: 1. how much continual energy will this cost, vs. the HP49G? 2. what happens when I *drop* this cute folding case? Everybody start saving your spare change! ==== No, Romberg integration: http://groups.google.com/groups?selm=5m6evd%24o93%244%40news.iastate.edu&out put=gplain Werner Huysegoms xwerner_huysegoms@freegates.bex (delete the leading and trailing x) ==== the lack of TTRM's on the emulator, it appears to function correctly. This is a preliminary fix, and responds only to the stock messages; I plan to make more extensive changes later (suggestions, Wolfgang, Carsten, etc?) I will update the file on hpcalc.org, and it is also available at http://www.thuban.org/projects. Keith ==== I'm looking for an Hewlett Packard calculator HP 41 CV or CX. Can you help me please? ==== Welcome to our second part of the marathon, which will start with the errata of the last part. One of the things that should be shown was: 4 4 2 2 SIN(X) - COS(X) = 2*COS(X) - 1 = 1 - 2*SIN(X) This is not correct as Cybernesto has pointed out. It should be: 4 4 2 2 SIN(X) - COS(X) = 1 - 2*COS(X) = 2*SIN(X) - 1 ---------------------Errata corrections end------------------------ You perhaps think that I start with the errata because it is better to correct them before telling more. Well, yes this is also a reason. But there is another reason which has to do with monsters. 263Errata resembles the greek word 263Terata which means monsters. Keep on reading to find out what monsters have to do with out marathon. :-) In the last part we had much fun using TRIG, TRIGSIN, TRIGCOS, TAN2SC, and TRIGTAN. There are a lot more trigonometric commands but letĪs first do an excursion to a place where there are no similar commands. Our marathonal journey doesnĪt introduce new built-in trig commands of the 49G today, but weĪll see how we can make our own! You remember that: 2 2 COS(X) = 1 - SIN(X) (3) which give us a possibility to express the cosine as a function of the sine: ____________ | 2 COS(X) = s1*|1 - SIN(X) (7) where s1 is an arbitrary sign of + or - . There is no command for this on the 49G . Of course you could first enter COS(X), square it, use TRIGSIN and then take the square root. But this would be cumbersome and also dangerous in expressions with many sines and arbitrary signs of the sines. (Signs of sines...how poetical ;-) What can we do about it? Well, it seems that if we could somehow substitute the SQRT(1-SIN(X)^2) for COS(X), we would have what we want. LetĪs try it: << ' ____________ ' | 2 COS(X)=s1*|1 - SIN(X) SUBST Store this in C->S , enter ĪCOS(X)Ī and press the soft key for C->S. It takes half a century but at the end we have what we wanted. But wait! What happens if we have ĪCOS(Y)Ī instead of ĪCOS(X)Ī? Will the cosine of Y also be substituted with SQRT(1-SIN(Y)^2) ? LetĪs try it: Enter 'COS(Y)' and press the soft key for C->S. Again after half a century you can see that you waited for nothing. No substition took place, because the substitution rule was made for X, not for Y. We need a way for doing this for arbitrary names or even expressions like COS(A+B)=SQRT(1-SIN(A+B)^2). So SUBST doesnĪt fit our needs. Another disadvantage of SUBST for this purpose is, that not only sub-expressions of the form SIN(something) will be substituted. Try the following: Enter 'COS(X)/SIN(X)' and press the soft key for C->S. While the 49G is working (close to one century), you may think that you will get: ____________ | 2 s1*|1 - SIN(X) ------------------ SIN(X) But you donĪt get this result. You get an ugly thing with many sub-expressions and wonder how could this ever be calculated. The reason is the way that SUBST works in this case. It seems to first solve: ____________ | 2 COS(X)=s1*|1 - SIN(X) for X and use the found solution to substitute not every occurence of 'COS(X)', but every occurence of 'X'. The following example also shows this. Enter 'SIN(X)+COS(X)' , then enter 'SIN(X)=1/Y' and then press SUBST. The result is not '1/Y+COS(X)' but '1/Y+COS(ASIN(1/Y))' which shows that the 'X' in COS(X) has been replaced by the solution X=ASIN(1/Y) of the equation SIN(X)=1/Y . Here comes one of the secret weapons of the HP49G, one of the most neglected commands, one of my favorites. :-) It is the command MATCH in its two variations ^MATCH and vMATCH (where ^ is the arrow up and v is the arrow down). This command searches patterns and replaces them, with no further algebraic manipulations. It takes an expression from stack level 2 and a list from stack level 1. The list contains two items. The first is the expression that must be replaced and the second is the expression with which the first expression must be replaced. Enter: 'COS(X)' then enter { 'COS(X)' 's1*SQRT(1 - SIN(X)^2)' } and then press vMATCH. Very quickly you get the desired result and a 1 on stack level 1, which shows that a replacement occured. You would see a 0 there if no replacement were possible. This is an indicator which you can use in your programs, to make decisions what should happen, if a replacement took place or if it didnĪt. But what can we do if we have 'COS(Y)' or even 'COS(A+B)' instead of 'COS(X)'? Can we somehow tell the HP49G that the name of the argument for COS doesnĪt matter? Oh yes, we can. Instead of using the list { ĪCOS(X)Ī s1*SQRT(1 - SIN(X)^2) } we use the list: { ĪCOS(&A)Ī s1*SQRT(1 - SIN(&A)^2) } The ampersand before the name A makes this to a special argument. It is not only 'COS(&A)' that will be replaced, but also 'COS(X)' , 'COS(Y)' or even 'COS(A+B)'. Any pattern of the form COS(something) will be replaced by the pattern s1*SQRT(1-COS(something)^2) . So this is exactly what we need. Note also that this substitution introduces a new variable s1 (the sign) which was not in the expression. This variable doesnĪt belong to any replacements that use the ampersand, but we can freely mix up the two types. To see how powerful this command is, use vMATCH with the arguments: 'SIN(A+B)' { 'SIN(&A+&B)' 'COS(&B)*SIN(&A)+SIN(&B)*COS(&A)' } Here we have two variables for pattern replacement. There is no limit to the number of such 263general variable names. So let us make a small program for the replacement of 'COS(X)' through 'SQRT(1-SIN(X)^2)'. Enter: << { 'COS(&X)' 's1*SQRT(1-SIN(&X)^2)' } ^MATCH DROP and STOre this in ^C->S. (^ is the arrow up because we use here the command ^MATCH.) Note again that &X is only a placeholder for any argument of COS. LetĪs try it: Enter: 'COS(X^2-a)' and press the soft key for ^C->S. Fine! Now, in SIN(X) TAN(X) = -------- COS(X) we can replace COS(X) with s1*SQRT(1-SIN(X)^2) and we have: SIN(X) TAN(X) = ----------------- (8) ---------- s1 * | 2 |1-SIN(X) so that we can also express TAN as a function of SIN. LetĪs make a new command for this replacement. Enter: << { 'TAN(&X)' 'SIN(&X)/(s1*SQRT(1-SIN(&X)^2))' } ^MATCH DROP and STOre this in ^T->S. Note also that this time the argument &X appears in two places in the replacement. Nice, isnĪt it? LetĪs give it a try. Enter: 'COS(X)*TAN(X)' , press the soft key for ^C->S and then press the soft key for ^T->S to replace both COS and TAN with functions of SIN. But the command MATCH has even more power. Consider for example the following replacement list. { '&A+&B' 'S' } which would replace any sum of two arguments with the variable SAB. If you apply this replacement to the expression: 'SIN(A+B)+SIN(&C+&D)' then it is not clear what should be replaced. Did you mean the arguments A+B and C+D of the two sines, or did you mean the whole expression, which is also a sum of two things. Or did you mean everything? Well, MATCH in its two variations allows any of these cases. ^MATCH starts searching from the innermost sub-expressions. In the example above it would return 'SIN(S)+SIN(S)' The opposite does vMATCH. It starts at the outermost sub-expressions. In the example above it returns S. And what can we do if we want that all occurences of a pattern at any level in the algebraic object, are to be replaced with some other pattern? Well, there comes the indicator for a successful matching, that MATCH also return. Consider the following: << DO { replacementList } ^MATCH UNTIL NOT END Everytime ^MATCH runs it returns a 1 or a 0. When a replacement takes places a 1 is returned, which NOT makes to a 0, so that the loop runs again. But when no replacement takes place, that means that we canĪt do anything more. ^MATCH returns 0, which NOT turn to a 1 that terminates the loop. All possible replacements of the type { replacementList } are done and afterwards the program ends. Perfect! Now, if I tell you that MATCH has even more power, youĪll say that I am crazy. But it does. (And I am indeed crazy! ;-) ) LetĪs find it out using an example. Enter: COS(X)^4 - COS(X)^2 and press the soft key for ^C->S. Press EXPAND to expand this. The result contains many occurences of s1 which is the arbitrary sign. All occurences are raised to an even power so they should be replaced by a 1. But the HP49 doesnĪt know that s1 is 1 or -1 and so it canĪt replace all s1^evenPoewer with a 1. We could of course make a replacement program for this, but then we couldĪt use it for the cases when s1 is raised to an odd power. So what can we do. There cometh MATCH again. The replacement list can contain also 3 items. The first two are the items that we already know. The third is a condition. If it evaluated to true, then the replacement will be done. If it evaluates to false, then no replacement will be done. We must check that s1 is raised to an even power, so the condition could be: [Hyphen]FP(power)/2==0.Ī Note that we use here not the normal equals 263= but the test function 263is equal to? which on the 49G is 263==. Note also that we must write the zero in the condition as 0. (real) and not 0 (integer) because it doesnĪt work with 0 as integer. (Though it should, because testing 0.==0 evaluates to true, but thatĪs another story.) Enter: << { 's1^&n' 1 'FP(&n/2)==0.' ^MATCH DROP and STOre this in '^s1even->1' Now with the last expression (the one with many s1 occurences) on stack level 1, press the soft key for ^s1even->1 and EXPAND. Nice! Note also that we used s1 and not &somevar in the replacement, because we donĪt want everything raised to some even power to be replaced by a 1. This limits us to the use of s1 as a sign variable, but if we use this convention throughout all other replacements, then everything will work fine. If you have time you could also make such replacement programs for the following relations. ____________ | 2 SIN(X) = s1*|1 - COS(X) (9) ---------- s1 * | 2 |1-COS(X) TAN(X) = ----------------- (10) COS(X) 1 COS(X) = ----------------- (11) ---------- s1 * | 2 |1-TAN(X) TAN(X) SIN(X) = ----------------- (12) ---------- s1 * | 2 |1-TAN(X) and a replacement program that turns s1^oddPower to a -1. The very interested user could also wrap all these replacement commands to a new library, so that they are available from everywhere. (though John H. Meyers will say: 263Put it in the HOME directory where they are also availabe from everywhere. Well, do as you like. All ways are open. ItĪs time now to tell the story about the monsters and the relation of Scottland to Greece. You all know about Nessy at Loch Ness, donĪt you? Well, there is a lake at Marathon in Greece, and at the early 80s, Nessy decided to have a give extraordinary concerts at the lake of Marathon, where it was much wormer than in cold Scottland. All headbangers went there and had a good time. The first to see Nessy was the witness Charalambos Trabakoulas, a shepard, who was interviewed after NessyĪs first appearance: TV-Man holding the microphone directly at CharalambosĪ mouth: Mr. Trabakoulas, tell us what you saw! Charalambos: My son, I was over there with the sheep, when I from eye to eye directly with my eyes saw the monster! TV-Man: Did you see the whole monster? Charalambos: Oh no, only the head, my son, take that thing away (the microphone ) and put it where you know (What does he mean here? ) TV-Man: You mean, you saw the monster as it came out of the water? Charalambos: Oh, no! It had already drunk the whole lake! Which is the reason why there is not much water in Athens in summer, and the people donĪt have anything better to do, than finding trigonometric relations! End for today. Next time weĪll see how the past and the future relate with each other in periodic functions, and learn about some new commands. And have some exercises. And have fun. And...about the advebtures of Charalambos with the extra-terrestrials. Always yours, greetings from me and Charalambos. (And of course the sheep... Meeeeehhh Beeeep, Meeeeehhhh, Beeeep!) Nick. ==== Perhaps it would be useful to put all of this great info into an .html document and post it on hpcalc.org. Does anyone else think this is a good idea? I think you can save formulas to .gif imaging in StarOffice. Just a thought. It is a whole lot of good information maybe you could throw something together when everyone starts asking about Trig next semester. Micah ==== X What if s1 is +1 instead of -1? Think again, Nick! AND Please don't mix work and fun. I'm saving the trig posts and sending them to some friends but the fun stories get translated into finnish (when possible) and then printed out. WORK: FUN: X ==== --- trig and monsters blah, blah snipped away.----- Well, your idea is good, but my problem is that there are only these two parts yet. I thought that it would be better to post them part by part here, let people find errors and mistakes, correct each part, and then putting them all together and posting the whole thing to hpcalc. If I first wait until everything is correct, then it will be like my other project, which takes such a long time, and noone has seen anything yet. But generally speaking, hpcalc sounds good to me. Greetings, Nick. ==== is your real name NKrroz? Karagiaouroglou says... ==== Excellent! The readers pay attention. :-) This was intended as an additional point to think about, when we have odd powers of s1. Solution comes in the next part, but here you have an idea already: The function IFTE can be in algebraics. So the replacement can be made so that it returns: IFTE(s1==1.,1*blah,blah) . This idea can be also used for symbolic powers, if one wants to. Or even for omitting the condition from the replacement list and putting IFTE in the result instead. Please be patient, it all comes in the next part. Why when possible? Any difficulties/impossiblilities in the translation? NK. Why? It is not my picture of the world, dividing in non-existing categories like work, fun and who knows what else. That was one of the main reasons that I didn't want to live in Germany any more. Funny working greetings, Nick. ==== ROFLOL!!! As if my real name weren't difficult enough already. :-D Greetings, Nick. ---snipped trig blah, blah---- ==== Small addition to my last reply about s1 replacement. ( Before you repeat the think again story ;-) ) Next part also includes the case where s1 is without any exponent, and also all cases wrapped in a single program. Thoughful greetings, Nick. ==== Hast ja noch den 48er;-) Raymond ==== ANSWERS: ------- 1. Who suggested to Henry Horn (HP Key Notes Editor) a competition to name the HP-41C programming language? Dr. ROGER D. METCALF (Arlington, Texas). Ref: June-August 1982 issue of HP Key Notes, V6N3, page 16. '49G Basic language? :-) DON MACKENROTH Programmable Calculators (November 1976, V28N3, page 8). Wesley Publishing Company, HP Press Series) 3. Who founded the HPCC (formerly PPC-UK)? DAVID M. BURCH Many references, for example: HP Key Notes March-May 1982 issue, V6N2, page 15. It says PPC-GB. In the next issue (August 1982, page 9), the name was PPC-UK. The club was renamed to HPCC in about 1984. an HP-35? STANLEY KUBRICK Ref: The HP Personal Calculator Digest, volume 2 (1977), page 6. (Read more in the next Datafile). 5. Whose was the idea of hiding an Easter egg in the HP48G command RULES? DIANA K. BYRNE's Ref: A post to this newsgroup by Dave Arnett, on March 31, 1997. He Near the end of the GX project, Diana Byrne remembered her old keyword and apparently considered removing it. She surprised all of us on the design team when she announced she had created an Easter Egg instead. http://groups.google.com/groups?hl=en&selm=333FEEBF.1831%40vcd.hp.com And the magazine goes to... JONATHAN BUSBY who answered four questions correctly. Many thanks for your entry, Jonathan. Enjoy the prize! I'm a bit concerned about the number of entries (one :-) Maybe the questions were just too hard? Good-bye, until I see you again. Whether you ever get this letter or not is point of little importance, as I write altogether for my own amusement. I shall cork the MS. up in a bottle, however, and throw it into the sea. Mellonta Tauta - Edgar Allan Poe. Bye. HPCC member #1046 - 12:41:31 -0600) ==== And then she left and went to TI; is she still there? Here's Diana checking up on ACO for TI: http://groups.google.com/groups?selm=35F93AE1.6146%40waterw.com More about Diana: http://groups.google.com/groups?q=diana+byrne+group:comp.sys.hp48 [r->] [OFF] ==== WOW!! Blast from the Past!! Yeah, that was me, almost 20 YEARS ago!! I was thinking about something like Forth IV or something clever like that, but, whatever it is, I still think this language needs a good name....(and thanks for remembering....) Roger Arlington, TX ==== ALGCAL ALGebraic CAlculator Language? :) name was but, thanks ==== information! ==== calcs---at our local Academy Sporting Goods store they have a Smart Rig case for GPS units that perfectly fits the 48/49 as well....even has a zippered pocket in front for batteries, etc. Of course, it's in camo color.... Happy Holidays, Roger Arlington, Texas disclaimer: The University of Texas does not necessarily represent my views about anything. ==== with different contents, so there is always a new fresh message. ;-) *If* you read this, don't get angry, I'm joking. Greetings, Nick. ==== I see many similar posts from WR in my NR and there is no problem : I read them all! ==== WR> Examples: MENUCHOOSE? and MENUCHOOSE. On these the WR> Emacs command SDIAG answers Not Found :-) Did you try ^MENUCHOOSE?, or just MENUCHOOSE. You need the ^. Both commands are in the current version of SDIAG (1.08). - Carsten ==== I still don't get it. Shouldn't it work the following way? BEGIN test clause WHILE action REPEAT The test clause is evaluated, if false, the program continues after REPEAT, if true, action is executed and test clause is evaluated again. And I still don't get why it's giving differen't results when I put action between :: and ; (doesn't the compiler insert them automatically?). And Julian, I dont understand why your examples work the way you say (didn't test them on the HP, I believed what you said). Can anyone please explain any of these? Mithrandir. ==== No, the MASD compiler compiles SysRPL as it is written (in contrast to the UsrRPL compiler on the ENTER key). And between WHILE and REPEAT only *one* object is allowed in the runstream. Anything else does not do what you want. - Wolfgang ==== The single object between WHILE and REPEAT is not necessarily a program (i.e., surrounded by :: and ;). It can be *amy* object. - Wolfgang <92e02401.0112100826.2237d1f4@posting.google.com> ==== No, it doesn't. BEGIN ... AGAIN set up an infinite loop - basically you could also use :: ... AGAIN *if* the DOCOL wasn't an object prologue. IIRC the actions are as follows: BEGIN: Pushes the current position in runstream to the RPL return stack. AGAIN: Reads the address of the upper runstream, and jumps there. WHILE: According to Julian, RDROP 2SKIP. RDROP drops the address pushed by BEGIN. 2SKIP skips an object and the following AGAIN. The compiler doesn't insert the :: ; automatically because the three entries are addresses like all the others, not compiler-side control structures as in higher level languages. It's just that do some tricks with the return stack. HTH, and hope that's all correct ... :-/ Thomas -- Thomas Rast If you cannot convince them, t.rast@iname.com confuse them. ==== Addendum to the Addendum Between WHILE and REPEAT *any* single object is allowed which doesn't alter the Return stack or at least restores it after execution. For instance, it must not be the single command BEGIN or COLA :-) - Wolfgang ==== I simply re-edit a UserRPL program or download it again (in text format) to make any changed numbers to work. This I found out by sending some programs between the 48 & 49 in binary format... Take care! X ==== Yes... this is what I mean: re-edit or better, transfering between two virtual calculators (Emu48) in text format (->S2 copy string and paste string ASM). I have make some tests, and it works: but there are MANY transfers for doing... I would like some information before doing it, because if somebody say to me Erable 3.1 is less stable than 3.2, I won't change. ==== Of course... when in my post I said I'd get some asks I wanted to say some answers Sorry ==== Thomas Rast schrieb im Newsbeitrag Sorry that's not fully correct, the actual Emu48 Win32 version don't support gray scale graphics, only the beta version for the Mac from Pierre Tardy. I worked on a gray scale implementation for the Win32 version, but I wasn't satisfied with the result (sometimes bad flickering in games/viewers and in rare situations snow in the display at garbage collection). The reason for this are synchronizing problems between timer2 and display update. That's also the reason why Pierre Emu48 has a gray scale graphic but also a very inaccurate timer2 (and so also the date/time clock). But I decided to give the public a temporary look into. You find a Emu48 player version with my basic gray scale implemetation at http://privat.swol.de/ChristophGiesselink/beta/e48ply28.zip. I publish it as it is and don't support this version in any way. So please no questions, improvement suggestions or anything else in this direction. But your welcome to solve the display flickering problems. :) Christoph ==== ==== I'll follow this up later with the other bugs (macro stuff), as I don't have time to give details on everything. Flags: { #B980008685014FF0h #DBE900000h #819010420E180838h #0 } ::x ; @ where x is the cursor location, pressing LSH+{<-->} (to fold) results in ::yy; @ where y is character value 29. If you press enter here, and then re-edit the string, so you have the the above with the cursor at the beginning of the string, and then press RSH+{<-->} (to unfold), you get this: :: visible on the screen, where the cursor is at the beginning. The rest of the string is still *there*, you just can't see it, or scroll down to it. Using keys like LSH-Downarrow to go to the end of the string will give you a nice warmboot. Using the '>' macro with CmdMd will, at least the one time I did it, darken the screen in a very disturbing way and appears to freeze it -- I warmbooted the calc myself after a second of this. ==== Yup, confirmed. Seems to have to do with Display update. The operation changes the number of lines to be displayed without telling the redisplay engine about it. I have had several such problems in the past, but I don't know how to solve them. I would need an entry which redisplays the command line in the same way as it is done initially when entering the editor, thus re-calculating the size of the command line on the screen etc. I don't know such an entry point, unfortunately. I believe this problem does not happen if the remaining (unfolded) part of the program is more than 8 lines (depending on font size.). - Carsten JF> I'll follow this up later with the other bugs (macro stuff), JF> as I don't have time to give details on everything. JF> Flags: { #B980008685014FF0h #DBE900000h #819010420E180838h #0 } JF> ::x JF> ; JF> @ JF> where x is the cursor location, pressing LSH+{<-->} (to fold) JF> results in JF> ::yy; JF> @ JF> where y is character value 29. If you press enter here, and JF> then re-edit the string, so you have the the above with the JF> cursor at the beginning of the string, and then press RSH+{<-->} JF> (to unfold), you get this: JF> :: JF> JF> visible on the screen, where the cursor is at the beginning. JF> The rest of the string is still *there*, you just can't see it, JF> or scroll down to it. Using keys like LSH-Downarrow to go to JF> the end of the string will give you a nice warmboot. Using the JF> '>' macro with CmdMd will, at least the one time I did it, darken JF> the screen in a very disturbing way and appears to freeze it JF> -- I warmbooted the calc myself after a second of this. ==== All of these are macro-related, and the first one isn't really a bug. 1. 'J' macro insufficient for noninteractive use. This is simple: try to devise a macro that selects a syntatic unit. I'd suggest 'J' and 'j' for beginning/end of a syntatic unit. Actually, it may be unintentional that 'J' is useful at all for dealing with syntatic units; I notice that the documentation omits its behavior. Use it inside ::/; 2. macro interference with style. Given A B where A has style and the cursor is at A, use the 'U' macro. Apparently 'U' removes the style terminator after A. 3. flag-related fuzzy selection. When system flag 69 is set, the arrow keys can be used to move the cursor beyond the 'physical' boundaries of a string, which is convenient in some ways. Too see the bug, 1. set flag -69 2. edit the null string 3. press the right arrow key twice 4. use the '-' macro (to start a selection) 5. type anything 6. use the '+' macro (to end a selection) Notice then that the two spaces, *before* the start of the selection, are part of the selection. 4. macro 'C' leaves garbage character. Given A B and the cursor after B, the 'C' macro places a character of value 5 after B. The following two only happen when using longpress-CmdMd: 5. Display not refreshing. Edit A B and, with the cursor on the middle line, use the 'X' macro. Notice that you see two instances of the first line, only the second being real. Apparently Emacs waits for CmdMd to end before refreshing -- which makes sense, when you're not longpressing CmdMd. 6. Wierd garbage displayed. Time problems, once again, so I'll get to this one later. ==== I think this was fallout from immediately prior crashes and worse dealings on the calc -- I can't repeat it, or remember exactly what I did. What happened is that, when in CmdMd, a certain macro when used caused a garbage line to appear at the top of the screen -- more pressings leading to more garbage. 7. '*' macro doesn't work interactively It inserts what looks like a paragraph symbol, character value 182, and when the 'macro' ends (when I press ON to leave CmdMd) my cursor doesn't go to the point. This isn't really important :-) The '@' macro also doesn't work; trying to use it exits CmdMd -- but this appears to be the act of pressing ENTER. ==== Well. As president Clinton used to say, it depends on the definition of the word ... slowed down. You can easily find out, that most of the CPU's that are today on the market (and TI89/92 M86K for that matter too) are many times faster for binary calculations, that BCD. The only time when the opposite is true is when the machine is forced to display the number to the user which is only part of the CPU work load. So in effect you do have to make engineering choice, what exactly is faster, binary calculations with conversion for display or BCD all the way. The reasonable choice is to make BCD native when the internal calculations are short, and external display used often. The aditional advantage is, that short calculations guarantee that greater loss of accuracy due to the BCD coding is also not that important, because error build up has not enough iterations to show up. When you think about it, the dumb calculator perfectly fits this choice. It saves time and memory needed otherwise for software conversion. On the other hand, when internal calculations are long, probably the opposite makes sense with the exception of exoctic special cases of financial calculations for banks. So looking at this from the engineering standpoint so called advanced calculators of HP48/49 and TI89/92 were in effect thought by their creators to be mostly used as dumb calculators. Generally that is probably the right thinking of the corporations creating calculators. Most users will never or rarely use their machines beyond simple hand calculations. In fact the interface and light programming language actually discourage any serious caluclations. But here, where I differ from the mainstream. IMHO the era of the old style calculator is coming to an end at least in the advanced calculator arena. When I but advanced calculator I expect performance in the programms to be not much worse than at least palmtops. This is clearly not true in HP48/49 or TI89/92 models, but at least TI89/92 would come closer if it would use binary as internal floating point. Otherwise why bother with buying advanced calculator ? with the exception of having CAS, but CAS is not really related to choosen coding. What that has to do with subject ? It's rather problem with software, that with numerical coding. TI calcs use BCD internally. Think about it. It is you in the end who suffer :-) You can always take your RAM with you when you quit ! But the machine is analog !!! Slide rule is an analog machine with decimal gauge for reading the output. Jack