A62 ==== Do you know how detecting if RAM card 2 is plugged? I would like an easy way that I can use from an User program... ==== I uploaded a program from my 49 to my PC. When I opened it in Notepad and also in Word some characters were not shown correctly. e.g the right arrow was a square and a delta was something else. How do I change or write a program for the HP 49G on my PC? 18:55:58 -0600) ==== In RPN mode type 3 TRANSIO then press ENTER; henceforth you will get readable ascii uploads from your calc, http://groups.google.com/groups?selm=8013hf%24apm%241%40nnrp1.deja.com http://groups.google.com/groups?selm=3AB195F4.6E36010D%40miu.edu [r->] [OFF] ==== I wanna put a 512k chip to my HP48G but I know that HP48G just can recognice 128k per port... How can do that with a single 512k chip, my HP48G could access all the memory? Hasta la vista ==== The solution I posted to your previous post would give you 128K main ram, 128K on port 1, and 256K on card port 2, that is: logical ports 2 and 3, this was done with a single 512K chip. Wasn't that what you wanted? Steve ==== GraphWriter 1.2 is now available. Only bug fixes this time, see src/ChangeLog for details. See http://www.musikwissenschaft.uni-mainz.de/~ag/hp49/ 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'm new to the HP49 and don't know how to calculate limits. If I do it like the handbook describes it (LIMIT((X^N-Y^N)/(X-Y), X=Y), Flag -105 unchecked, -03 unchecked), I get a LIMIT Error: Bad Argument Type. What's wrong? BTW: I'm using Rev. 1.18 so long, Andreas -- Im Auftrag ewiger Jugend und Gl237ckseligkeit. ==== i also had this problem. But when you use RPN, it works. First put in the stack x^n-y^n/x-y, then x=y. Then use LIMIT. You will get the result (n*e(n*ln(y)))/y I hope this is correct, i am also not firm with this calculator... :-) Greetings, Richard Andreas Turtschan schrieb im Newsbeitrag ==== When deciphered, it equals n*y^(n-1), which is the derivative of y^n with respect to y, which is what one should expect. Limit{x -> y} [f(x) - f(y)]/[x-y] = f'(y) ==== OK! Hbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb then? Greetings, Nick. ==== As opposed to mean machine for the HP49G? ;-) Greetings, Nick. ==== Well, in the physics lab a friend of mine dropped his rubber eraser in liquid N2, the rubber had a nailed minelayer to take it away. Everyone laugh as the rubber fell in the floor like a stone. But when he was repeating the experiment the minelayer was given off, And he thought to gather the rubber with the hand. Do not try this at home!(He tried at the lab). Of course, blackenened :) ==== More information: I have tried with IF ERR 2 PVARS THEN...ELSE...END Something smarter? R Lion escribi227 en el mensaje ==== an idea how the CAT-key assigment works. Those who don't like Keyman have to know at least some SysRPL to understand the assignment program below. It is easily made with Keyman but it can also be written on the 49-editor, then compiled with MASD and assigned to key 41.1 (CAT). What is needed at any rate are the libs extable (to compile the program), Emacs and OT49. The first two are very big :-) :: TakeOver EditExstCase xRPLCPL LockAlpha (sets ALPHA mode) # 152 JstGETTHEMSG (the builtin message CATALOG) xInL (the InList command from Ot49) CARCOMP ; I bet that everybody who uses this small assignment at the CAT key will be really happy and never purge it! The InL command simply sets an Input-Line first if not yet present. Just type 1 or 2 or 3 letters and then press the CAT key again (not in ALPHA mode). Then RPLCMP does its work, i.e., it completes or sets a choose list of completions. If you pressed CAT the second time a bit longer, RPLCMP completes to the left and the right, (more precisely, it executes the GETNEAR-command from extable). Another advantage of this assignment is that in default mode (no edit line) the selected command is simply recalled and not at once executed. This is of great advantage in RPN-mode. The noise made by the HP49-OS if aborting the InL command has been completely eliminiated in the latest version of OT49 from my site ftp://ftp.math.fu-berlin.de/pub/usr/raut/HP49/tools/ It also contains the latest Keyman version for the 49. - Wolfgang ==== fractional number. In matrix writer for example it says that it's not possible. How can I do it? Bye bye Raffaele 19:05:12 -0600) ==== http://groups.google.com/groups?selm=71qucn%244hd%243%40news.iastate.edu [r->] [OFF] ==== I have recently started using an HP-49G (I have always used a TI-89). And to my suprise when I graph y=|x| (using the abs function)I get the equivalent of y=x. What am I doing wrong? ==== Andre Cohen schrieb: You may have to check the Rigorous flag in MODE CAS. If it's disabled, the CAS will silently remove and ABS. Thomas -- Thomas Rast If you cannot convince them, t.rast@iname.com confuse them. ==== How would you compare the 89 to the 49g ? Which do you like better? ==== sets the domain of the independent variable(usually X). In other words, if you are seeing. This will set the lowest and highest domain values of the independent variable that you want plotted. I like my TI89, but I love my 49. The 49 will make you think... Do a search for Gilberto E. Urroz on the GreatUnpublished.com website and get a set of his HP49 books. If you are serious about learning the 49, they are a must have item. danny mathews ==== If I have an equation showing on my screen (as in the EQW), how do I make a grob of it? -e ==== In RPN just type: 0 ->GROB The -> means the arrow symbol.. If you would like to make a grob from a equation in minifont just check flag 81. Have fun, J.Manrique CdU de la ETSIG ==== I use the program AGROB that comes with Java Library. Don't know if you can find AGROB alone. Hope it helps Akula ==== How about if you just store the final compressed objects in several variables in a directory. Create a library from the directory and then you call the data to the stack with a XLIB, uncompress and do what you want then. The only thing I'm not sure how to do would be to make sure that the data library doesn't occur in the Library menu. You would also have to verify that the data library is there before you do anything. I wonder how Jazz does it? John Edry ==== This is even better than single objects. Suitable if the 'database' is used only as a lookup table, and the user only needs read access. You can define all XLIB names to be hidden (NULLNAMEs) by including their names in the list $HIDDEN. There are some ways to do this, one of them is to set an error trap around an XLIB name access. AFAIK in JAZZ you can define names to be hidden in the list $HIDDEN, too. Raymond ==== Al d216 Sun, 10 Feb 2002 03:33:00 +0100, Raymond Hellstern al dgeve: Well, this approach is very interesting because in this way I may use the data stored in a lot of libraries. Maybe you have noticed that I am just a novice in sysRPL programming. May you explain in detail (with an example) the situation you have just pointed out? /-----------------------/ Marco Tinarelli - Bologna - Italy tittiXXYYZZ_tt@tin.it (togliere XXYYZZ dall'indirizzo per rispondere) ==== hp41 manuals online, where to get(*** I WANT A MANUAL FOR THE ADV ROM math, conv, cx time, etc... ] ==== You can buy a CD from www.hpmuseum.org. They have a lot of manuals, and a lot of ROM manuals. I ordered the 5 CD some days ago, received them in France 1 week later -- ----- Ne sachant r216aliser un site Internet et n'ayant pas les moyens pour l'instant de le cr216er, je vous sollicite donc ma demande de pouvoir poss216der ce newsgroup tout en respectant la n216tiquette en vigueur. -+- LH in Guide du Neuneu Usenet : Possession vaut titre de neuneu -+- ==== http://library.hp41.org/HP41/LibView.cfm?Command=Document&Class=HP41&ItemID= 377 Denis HPhreacker 2002(250) a 216crit dans le a46lni$1d5brs$1@ID-88878.news.dfncis.de... ==== As I posted here a few days ago I ordered a HP 49G at www.stoffel.de via chinese model includes the PC connectivity kit. I've got an italian model. Stoffel put the kit into the package :-)) It's an indonesian model with an italian manual. Greetings, Micha. -- Wenn man Mathematikerlogik auf diese Welt anwendet, f237hrt das normalerweise unweigerlich zur Einweisung. (Peter Alves in dsrw) <3908649c.0201241141.44a5ca2@posting.google.com> <3908649c.0202080758.2bc0cf7b@posting.google.com> ==== PS: Actually, your'A2=IP(A)' DEFINE, 'A3=IP(FP(A)*100)' DEFINE, and 'A4=FP(A*100)*100' DEFINE lines are probably just fine, although 'IP(A)' EVAL 'A2' STO, 'IP(FP(A)*100' EVAL 'A3' STO, and 'FP(A*100)*100' EVAL 'A4' STO may be better. I simply didn't realize that DEFINE could be used in that way on these calculators. I learned something new. :-) But I think that 'A=ABS(A)' DEFINE and 'A=A*-1' DEFINE won't do what you intended; they store the *unevaluated* expressions, 'ABS(A)' and 'A*-1' into variable 'A'. I think that what you intended could be accomplished by 'ABS(A)' EVAL 'A' STO and 'A*-1' EVAL 'A' STO. By the way, I suspect that the Too few arguments error would be from attempting a + with only one argument on the stack. Although I usually find DBUG to be useful when I'm stuck, a careful visual examination of the program and stepping through it in my head is often an easier way to find bugs. Which calculator(s) and ROM version(s) do you intend to run your programs in? James ==== WARNING: see below. WARNING: it is dangerous to store an expression containing a name under that name, since it can cause recursion. 'ABS(A)' 'A' STO would set up just that sort of recursive situation. A recursive situation must have some kind of termination condition built in or it will try to run forever. It is so dangerous that 'A' 'A' STO is a prohibited sequence of commands in the 49. Consider the recursive factorial function created as follows: << -> X << IF 'X <= 1' THEN 1 ELSE X 1 - FACTORIAL X * END >> >> 'FACTORIAL' STO If one tries to use this on numbers larger than 1E12, it only stops because of an overflow, and for some overflow flag settings will not stop unless forcibly interrupted. ==== Strange that the sequence '' '' STO (i.e., store the empty name into itself) is not prohibited. IMHO, storing a name into itself is not really dangerous. You can abort the permanent run of such a program easily with a warmstart. No RAM is lost :-) - Wolfgang <3908649c.0201241141.44a5ca2@posting.google.com> <3908649c.0202080758.2bc0cf7b@posting.google.com> ==== Not dangerous, but useless. Depending on the calculator model, it's likely to sooner or later cause an error, return the same expression when you try to evaluate 'ABS(A)', or cause indefinite recursion that can be stopped by simply pressing the CANCEL key on a 48 series. Or until it causes an error condition, or until I use my index finger on the CANCEL key terminator, or on the 28 series the ATTN key terminator or two fingers on the ON-CursorUp keys terminator. If I'm either forgetful or extremely patient, perhaps until it shuts down because of low batteries. And on the 48 series as well. On the 28 series, it may cause an indefinite recursion that requires a warmstart to stop. Maybe it never occurred to the 28 series developers that anyone would actually do that. Well, that's a program, not an expression, and it demonstrates that recursion can be useful. And I can forcibly interrupt it simply by applying some force to the CANCEL key. I wouldn't consider an error to be dangerous; the calculator didn't allow any damage to be done; that's one of the purposes of errors. A CANCEL key press isn't dangerous either, it simply means that the user is causing an error to stop an undesired condition. For the 48 series and 49G, at worst the program might run until the batteries got too weak and turned the calc off, causing a warmstart when it was turned back on. On a 28 series a warmstart is required to stop a circular reference recursion. But what's so dangerous about a warmstart? The user variables, port objects, alarms, key assignments, and all of the flags except the user mode flag are preserved. Annoying? Yes. Dangerous? I think not. In any case, I didn't advise Tim to replace 'A=ABS(A)' DEFINE with 'ABS(A)' 'A' STO; I showed him that it would work if he replaced it with either A ABS 'A' STO or 'ABS(A)' EVAL 'A' STO, both of which work fine as long as 'A' initially evaluates to a numeric value, as it presumably would in Tim's program. Even if 'A' doesn't evaluate to a numeric value, the program doesn't recurse but nicely errors out. Tim's program, as I modified it, is not optimal but is does work; try it if you don't to accomplish his task. James ==== Recursions are not dangerous, but beautiful! Exactly! It is not the responcibility of the machine to watch what you do, when you do recursions that will never stop. Or else should it also watch and warn you when you do a loop that never ends? If so, then programs that rely on such looping constructs, would never run. This one is too obvious and in general not very useful. (?) So the machine doesn't allow this. But the more complex ones are extremely interesting, and can also be very elegant as solutions to many problems. The interesting part of such recoursions is not only if they can really run without errors on the machine but also the theoretical value that they have, that is, what are their properties on an ideal machine with infinite RAM. It is the *concept* that you can study doing such things, not only the number that you get as result. Consider the following problem: Find all sub-sets of a given set. The recoursive solution has an elegance that just can't be reached when you use other things like for example loops. No matter how slow the recoursion may run on the HP49G, having that principal possibility of recoursions, makes you (me)think about the problem, and formulate a short solution that re-uses itself, without caring for indices of loops and the like. It doesn't mean that I must use such solutions when I need a numeric answer. It's only that after building such a recoursion, I know a very short and beautiful answer to a question. This answer may not work always on the calc because of technology reasons, like the limited range of numbers that you talked about. But in my head it does work always, as it would work on an ideal machine. We get closer to mathematics that way, don't we? Greetings, nick. ==== HI folks, can anybody tell me where I can get a list of all commands and especially which is good for what operation? Are there any documentations about the usage for special problems? I just can«t learn all the commands and how to use them for complex math problems (math 1 engeneering exam in 2 days). Thanx alot!!! ==== I started at level 1 and apart from some trouble in level 6 (due to the right key problem), I coasted trough to level 11 with 23 lines left I guess I'll take the 49, to solve my keyboard problems. my hidden variables: tTRIANGLE : 13451 sTRIANGLE : #2C47h rTRIANGLE : # 1C3DFh there is no list in my hidden directory but that may be because I still have TETRI 1.2002 Wolfgang, I'll send you the screenshot of the NEW HIGHSCORE message tomorrow. The Tremendous Tiran of Tetri, Pivo ==== Your dropping speed is extremely slow, it probably took hours to to get along that far. I tried to repeat your game but didn't survive level 7 :-) probably thinking on a game-record list. That must be created by the player. One way is to dictate to your girl-friend to write down the rotation index (0, 1, 2, or 3) and the drop-column from the interval [1,...,10] or [0,...,9] each time you drop a piece. But you're clever enough to split the library, to isolate the self-decompressed code in ROMPTR 107 4 and to add to the key handler some code which adds or substracts from 2 new global variables each time you press UpArrow (rotate) or RightArrow or LeftArrow to move the piece horizontally. These globals should The game you played with a score of more than 13000 points must be reproducible. That's a condition sine qua non. As soon as I or anybody else can reproduce the game you get the HP49 :-) - Wolfgang ==== Yes, about 75 minutes and I had to stop at level 7 for a while to prevent RSI That is why I am the Terrible Tiran of Tetris how big would the list be? sum(N=1,11,2N+16)-23 = sum(N=1,11,N)+176-23 66+176-23=265 lines at 2.5 blocks per line (not counting blocks already present) and 2 bints per block gives 6625 bytes OK that can be done But I want to notice it I'm on it -- This message was written with 100% recycled electrons Pivo ==== OK, you probably deserve the title. Many people tried in vain to reach 10,000 points, serveral mathematicians among them. As soon as the game record is published and permits a reconstruction of your winning strategy, nobody else has got a chance anymore and the HP49 is yours :-) - Wolfgang ==== Could anyone point me in the right direction as to how I could open my 49 up? I'm pretty sure it's out of warranty by now, and it won't turn on at all anymore, so I was going to try and see if possibly the problem is something easy that I might be able to fix myself. ==== French text : http://www.hp-network.com/tmp/$ouvrir49fr.txt (Preview ! ) phil a 216crit dans le message de YMx98.39703$Hu6.8893352@typhoon.neo.rr.com... ==== Be sure to remove the batteries before you do this I'just stuck a small screwdriver in the cover slit at the bottom of the calc. and slightly forced the black bottom outwards, the snaps should open up pretty quickly. Do this on both sides. Then pry the Plus terminal of the batteries from its wall and slide the black bottom to the top of the calc to release the two pins at the front. -- This message was written with 100% recycled electrons Pivo ==== Coming to Chile Carsten???? I'm from Chile, Where are you going? We have like the best skies in the world to look at the stars! Bye! -- Beto <233c0280.0202101706.753073ef@posting.google.com> ==== B> Coming to Chile Carsten???? B> I'm from Chile, Where are you going? B> We have like the best skies in the world to look at the stars! I know, thats why we Europeans build all our telescopes there! I'll be at a conference in La Serena, May 10-15. - Carsten ==== I have a program to receive message from the serial port, replace the previous message and print it in the buttom of the screen. The program do the work except that it is a little slowly and I am sure that there is room for improvement. I would appreciate it if you could give me any hints to optimization. %%HP: T(3)A(D)F(.); << -> ch << 2400 BAUD 131 R->B 64 R->B BLANK PICT STO { # 0d # 0d } PVIEW OPENIO WHILE 1 REPEAT 0 WAIT DROP WHILE 2 FC?C REPEAT BUFLEN DROP DUP IF THEN SRECV DROP 'ch' SWAP STO+ ELSE DROP ch DUP DUP SIZE SWAP DUP 13 CHR 10 CHR + POS DUP @ crlf. IF THEN SWAP OVER 1 - 1 SWAP SUB PICT { # 0d # 59d } { # 130d # 63d } SUB @ scroll. PICT { # 0d # 59d } ROT GXOR 1 ->GROB PICT { # 0d # 59d } ROT GXOR 2 + SWAP SUB 'ch' STO ELSE DROP DROP DROP DROP 2 SF END END END END >> >> Tal ==== Tal schrieb: [...] [program cut] IMO, you should learn SysRPL and use its speed advance. Also, the scrolling part calls for some ML code. You might want to do something like this, provided that you keep using a 131*64 screen (Jazz syntax, substitute LINES according to the number or pixels you want to scroll up): CODE GOSBVL =SAVPTR GOSBVL =D0->Row1 D1=A LC(5) 34*LINES A=A+C A D0=A LC(5) 34*(64-LINES) GOSBVL =MOVEDOWN GOVLNG =GETPTRLOOP ENDCODE Should work, I've tested it. Maybe you could even use =$5x7 to print the text directly in ML. HTH Thomas -- Thomas Rast If you cannot convince them, t.rast@iname.com confuse them. ==== the biggest improvement will come when you use assembler, or AT LEAST do you keep ignoring me and the others who have pointed this out to you? <2953da04.0201260148.4ccbb3d1@posting.google.com> <3C528F83.DAB18C1B@math.fu-berlin.de> <2953da04.0201262049.7c911ae4@posting.google.com> <3C53E07B.F1922230@math.fu-berlin.de> <3C55E2A5.CBEAA063@miu.edu> <3C63959B.E8741920@math.fu-berlin.de> <3C63E1A1.C56263FB@math.fu-berlin.de> ==== I'm glad that it helped, but I probably would've never noticed that there was anything special about these three errors if JHM hadn't mentioned them, and even then a control alarm coming due didn't occur to me until he told me. Also Carsten gave confirming evidence that these three error numbers were checked by Sig?ErrJmp. I'd be careful about generalizing that #DFFh DOERR is the same as the 48's 0 DOERR. Control alarms (on the 49G, anyway) leave the EQW and Filer active, and if one comes due while the MatrixWriter is active, the alarm index is entered into the matrix, the alarm object is executed and the results are entered into the matrix (or it may error when it tries to enter the results), so apparently the effect is context sensitive (although the same may be true of 0 DOERR). I wonder what would happen if an input form were active. I was somewhat surprised that I'd never noticed these three error numbers; it turns out that if you CONT while in the debugger, it doesn't affect the error number, and if you KILL while in the debugger, ERRN returns #0h in the 48, and #13Fh in the 49G. So it seems that CONT and KILL are context sensitive too. I seldom use these two commands except while in the debugger, which explains why I didn't notice those two. I probably wouldn't be using ERRN or ERRM unless I was aware that some error had just occurred, which probably explains not noticing #DFFh. Nice, and it's even supported. I was thinking of assigning #DFFh DOERR to the CANCEL key, but on second thought, the action of that particular key seem to be highly context sensitive, so it's probably a bad idea. Maybe a double-clicked ON? Hey, I like blue. It's just that the lettering on the faceplate is hard to read. And the display fonts are smaller than I'd like. Maybe JYA has excellent vision but poor hearing? ;-) Way off topic, but my spell checker suggests rabbeting as a replacement for Rautenberg. But it suggests pronged for Prange, so don't feel left out. James ==== No chance to read my uep.doc then? :-( ( http://www.hpcalc.org/viewzip.php?id=4199&file=UEP.DOC ) Bye. HPCC member #1046 ==== Jordi, we (mainly Carsten Dominik and me) found and documented several stable and useful unsupported 49 SysRPL-pointera, included in Carstens docu Entries and essentially used in many of our tools. Your list contains other pointers which would clearly be useful for the 49 as well. Would be nice if you could find the corresponding 49 pointers. Shouldn't be too hard for a hacker like you :-) Only those should be listed which are stable in all 49-ROMs. As far as we were told by JYA, stable areas are 25EC - B3C7 and 25565 - 40000 but I guess more pointers are stable. - Wolfgang ==== On my HP49G ROM 1.19-6 plotting Y-X<=0 also doesn't plot anything. But Y-X<=0. works fine. (With 0 on the right hand side as real number, not as integer) So perhaps the HP49G consideres such inequations, where the right hand side is a constant but not a real number, as something special? I come to this idea because the form of assumptions like X>2 and the like, is similar. Greetings, Nick. ==== Of course! The command line amounts to a text editor, especially when you're entering a character string. Right-shifted keys on the keyboard are BEGIN and END to mark a block, COPY, CUT, and PASTE to work with the clipboard, and of course there are the cursor movement keys, backspace, DEL, all the character and command keys, menu keys,.... If you press TOOL while in the command line, you get a menu with 16 more operations particularly useful for editing. To edit an existing string on the stack, just press the CursorDown key. It's not the same as what I'm used to on my PC, but I think that it's a lot better than the DOS EDLIN that I did my first editing with. Also check www.hpcalc.org for more editors. ==== Excuse-moi, c'est la premi217re fois que j'utilise un groupe de discussion. =) Je ne le referais plus, promis. @+ ==== Does anyone have a cable that will connect a HP 49G to a USB port on a computer? --Jason ==== I think you need to get a USB to serial converter cable. You can find many different models on the Internet with varying prices, but the least expensive one I found was at Custom Sensors, Inc.: http://www.usb-port.com/uc232.html I ordered this recently and haven't tried it yet, so hopefully it will work with the HP49G (and HP48). This seems like the most economical way of connecting the calculator to portable computers that lack serial ports but have several USB ports. -- Private First Class, United States Marine Corps ==== Well, it depends on how you would like the definition. Without the (-1)^(n+1) the resulting structure is a bit different than with (-1)^(n+1). Your (very fine) idea preserves also an additional property (symmetry) for *all* cross products, the property of being parallel to an axis that is ortogonal to all other vectors in a right handed n-dimensional cartesian coordinate system. Without the factor (-1)^(n+1) the orientation of the cross product varies from case to case, as it can be parallel or anti-parallel to that axis. The question is how do we treat right and left handed n-dimensional cartesian coordinate systems. Is some special orientation that we examine, or do we want such coordinate systems to be as general as possible? All ways are open. Greetings, Nick. ==== I like my rainbow!!! (it has a HP49G on both ends) :>) K. and ==== I am needing to purchase a HP49G for classes I am taking at UNT. If anyone knows a store in the Dallas/Denton area that sells them I would really like to know. ==== anyone like Fry's Electronics in Arlington has a bunch of 49G's....(in the old Incredible Universe location near the Parks Mall....) Roger ==== ==== For: - Sales: If manufacturing is still occurring, or if the stockpile is big enough, claiming continued support is likely to increase sales. Especially when the main competitor still is developing updates. - Support: I don't see any EOL announcements on their web site, so by omission they've stated that upgrades are still being released. Which means people *will* complain about problems. Better get someone to fix them. - Existing community: A sign of quality of the HP brand will last in calculators for as long as thousands of people continue to hold on to their branded model and/or talk to others about it. A good word for HP. This will last for longer if people can update their software. sees the value of being friendly to a large group of developers _who do it for the love of it_ (or, for free, as companies might see it). A company flirting with the free software community must demonstrate its love of technology for its own sake as well as profit, and releasing elegant source is a good way to do this. - Flexibility: They already stopped and restarted development on calculators once last decade. If they're going to change their minds again, they would do good to have free help to prevent their customer base walking away in the meanwhile. Against: - Someone will look at the source and take ideas from it. Counterpoint: But, if they're really leaving the calculator business, who cares? Competition is practically non-existent in the calculator world now, which gives ample time for appropriate copying of functionality (either through ideas or accidental disassembly of elegant algorithms..). Better to delay the complete destruction of the HP calculator name with outside support. - HP wants to make money by either selling the source or destroying it (e.g. by a deal with a major competitor). HP has many alternatives to simply slapping GPL on the source, or even letting everyone see it (e.g. NDA first might be used). Such measures would fix the first Against. Out of interest, are there any petitions or the like on this issue? Or do the ex-HP-developers feel this is inappropriate? Just some thoughts, -- Tom ==== I think it would be nice to have prettyprint finished! (indefinite integrals first pop in my mind) also would like to better differentials (this is a no, i know, but still ...) and direct substutions of dx in integral for example int (p) dA substitution: dA = w*dz becomes int (p*w) dz I love my HP! K. We, Carsten Dominik and me, have essentially expanded the Appsman capabilties. The new version illustrates the enormous and unprecedented customizability of the HP49 very convincing, I think. Not only with the APPS choose box, but also with the STAT BOX and its subitems like Hypo tests and Confidence intervals you can do what you want. For instance, if you need only the second Z-Test, the first T-Test and your own statistical Hypothesis test program, HTest, say, simply store the list { 2 5 HTest } in APAR2. If you've a game on your calculator, Minehunt say, which doesn't itself create a Games item under APPS (perhaps because it was ported from the 48), simply store { Minehunt } in APAR8 :-) With Appsman, customization is widely open to *everybody*, not only to SysRPL gurus by means of $EXTPRG. It seems to be even better to make use of $EXTPRT in library creation preferably for HELP options. These are not treated by Appsman since one probably shouldn't interfere in an author's decision to deliver HELP for this but not for the other command. Unfortunately, customization of a Finance menu does not yet work. Message 4 is presently not treated by the OS as we'd expected. That's either a bug in the ROM 19-6 or a special treatment of Message 4 is needed, unknown to us. Until the new version shows up on hpcalc.org you may download it either from Carsten's or from my site. Have fun - Wolfgang PS. There is a Minehunt game on my site below which runs as pleasant as its 48-original but is 500 bytes smaller :-) ftp://ftp.math.fu-berlin.de/pub/usr/raut/HP49/games/ ==== thanks a lot! that will expand the powers of my HP49G :) i'll have a lot of fun says... ==== Cool, this sounds almost what I was asking you some time ago :-) DEFINE THANKWR :: $Wolfie xTHANK ; Greetings, Marco ==== 1A would be incompatibible. May be some other surprises and it is not well documented. ..Heiko ==== when you key in the sequence 1A (w/o ticks) on an HP-48, then press ENTER, it will result in the 1 in level 2, and the name 'A' in level 1. If you press the tick key, and then enter 1A, followed by ENTER, you'll get a syntax error. So if you can enter '1A' as a 'valid' name in the filer, there's a syntax check missing;-) Seems names should simply start with an alphanumeric character... Raymond Heiko Arnemann schrieb im Newsbeitrag ==== I post again on this thread beacuse hpcalc.org seems to be not updated from December, the 2nd (has Eric taken a break an holyday? ^_^). send them to you in few days. Kickaha Kickaha ha scritto nel messaggio (I've also please or ==== Does anybody know of any way that I could send my files on HP48 using IR or cable on Handspring Visor with PalmOS and vice versa. Greetings, Darko ==== hi Martin, i went to amazon and they had the message in red ( one more left ) so i got one too :) thanks, i was looking for this book also. boundary=------------8EA8045096560E34255B9050 ==== --------------------------------------------------------------------- Here's a blast from my perspective: (google found http://www.programmersheaven.com/zone20/cat315/4989.htm for the ship program and there's always http://www.engr.uvic.ca/~aschoorl/faq/48faq-7.html#ss7.5) (Note to BH: I did get the copy, thanks.) ------- $ ship yaht.zip s:V97-3{{8+wO{/.Ti(8e1.#5&#r&)Qn{{Qmm<@eqNg1zEun<3&Xg7x5ivsWIlu;WM@{fpjF=B'3:0Jsqg)LY%Y.DK(4kB.p D9 PAc'h$nDyGr'qkiR=Q5,KYPbA94%Lf?=BSIm=G7G.htv_LVDGx)3-/tJ3uuml# sI4?h/@J/ecf/XT+qHYaKQo-kwe>jPhM,(ni#DVmth2*xVFjU>=RpWuw0+uQD@Gb32evq&hki:g dTVlJb'NT;7bc_SNC@'Ap$.J:N(Q_Gux%iOV+2gjB-t8h4X39U))4WfH'&R85o&K2AqWe4vO9gH#9p6u$Y3BEA;+:2xApCqzmEX)zJEDMXoMq8b,KA19892ZQx?U2HcSp/?Y%spn$*:Mo)p4Qoxr&s<-X39kCMd4;CejfQU:Aqo@n fWf XN'X@2rJHX.gf<*JF-ss7(v:?6,rGzSg+g/1nLLEFC#3+79P_R#/wlw33>s$JMOCE.r'Q+Z= f (zZwOFdNi9'pWuEHYF#2)(0k)L;dKp3(NUQ;hx*X@ xXqG>;A/vEAqj94<=SRd)uD;l)N.lw=%i:hLK=lYEX+yTYpzKu9aTOMSEmm+ASLd#%*+pa_8 o if*&MIEm5k+&'*w.Djt>2X)/D32bg7vPwkrh-{({j4*ij=U4cc:mqh-tz{mJrC51'Zj)K;.m 3 CE3.L;#OL$CX.(?s%NN*5Aiy3qhdtwtV1b5w+FE:vCeU4=Efgsaj@t@7uSKDf%j98pIvZQng@+O iJig4sF6oFH:ahSC)YA1Z*GKfX'DXQYJEJU?kA*/FF=LOMhb78a_NO/H>E,_R=Y+qy(/{>+Q972VL @UA%mg_f5G7?ekTG&4R0(c:o&s36G_lre:=oSnQ,5A{optf0qH#oy/hIVzO>POqdPF4Tq2O 8X.=91J7x'#I$8LXL.O,pNxrQ(?uPT<0ueRf>f;-K:wQ4A-ay0jMo>.8ym8XeftKCrsJ%My- % W{zvFF/r;GHmerJx8AXQj$vT6v&Lm*pdbYr6@7B3;E,m_ZLi#sS(z#*A6&kN/Y&+E1_nDGo{H8b$?o=UK(;Skf@u_4mh/kGzZJww Yn'wV/aZd@>SgGkLHj4=Sc.pwy87MYIPg,jfg${3#n4P%*KyX$m);2#mrXO9&7,-{jNO8?A4'b H'ge8@NKN==cld6ccI'wK=84B+dJM:)A{fAJw=4i?._JHNt,shV%m13N>z9Dy:9&eXR,aIgmZaj WUY+J8ET0kE<3{v-k_*)/eV+wXoAm_@Z2c$DiJuD7B%R$WJA4e,ef)CCF8+'WqQwd*2Q8JH( T I{c69&4YC_o7S.ujx+S1IpMp6,Q_taJt'rv0ps,wmKkOk$sYFIkan31uHIi f0uUw$bTBn8DH:cAh1oG'ISE)KqqvB$bO/o-=kpMwf%y5*@O$btJ$JsIUWZi)MdAS8'ooD'0Q>V )4H{SR(Ue+tzkK3mxqha&X=Q2;92x{;FEV);b/N7E3lFW*&10'*dXeI7(kE7t7.Q{3P{u%mRYEYJ/Q-w:zbD92p#-{m8K5r%Wx9 lQto>rPbt>-(ecTM#grya3MY<0B56bJc@>Oa;oJqIqUu3Szu{vPD_T0':Kpj9.sHHy_h99Z& B VlK*9&YC:POV5sCzoMTQCh:gQ.&9a,j;AZC#lCY1zPzn6oPeOmN&j@$p0;R+I#Ch?5SnOV(t3< 3;+;%U0$)e5GQ7CU=qDwDDq#z4Z71.8X2maO8yyb{LX)vUO_0n+aPd>a/.m,PM*/'Q oiiQ.TebXjaaU0boKp4Q(i2yryLjhs5RYiM+bgUoRe4R3{5nkZzm>Dr{4E+N&D#hISc-t75;19 YD1*fy{=1_Wqu;DHu;VPPY_3A@X:X,'o?:r0c_;gs/HYg<<&7#+eAWd@4U//A?n#$B2q6-fGPP Je5>PaXI:RvtE5Rgfeb$dOWr4,&/@DH%4m5Xiyw,YHW*eWrtV%&iyiEd%X{432WEll)QPjc/::N cBO7;o&UW4h2?__9vG<@UC-4/GW>?BrFAe..J*5{75@0M(/'VA)Z=$r/*_V98Xn/AYWJThO:,kG a-&#:Y%mdXcI7S$YUKCAzeI/wu,96DI@m4>,%nMi'sc,WWwL)Y1eJv=& 9ZJ *$N2hIyPAh9k9fPD?+QfWyJ0_P{I*.EExMQ$Z$8yNYGvDg+<:ONt;)Xva%6%HawG4n<&=&Y< 9 .<;Y1Ae1NuN4zYZA39<#D$VHHM<)k1Qoq8FF>=k7xbuqi?;Ltf&BbhE;+wTY+'6>q4SNRjXqUk IQHaIf&,xq+'x$Fe$h&=7YRQTvf=z(HF1+e_Yg+D+YvyF.fV&#d>45m>gfW1xJn*IX{3vS#O_Ie &5s%g*Q?{G7Wb7QQ62JunV2A%0yi6M;n:;bM-.{g:5VCuMZkfcD8M7y.=2YN1/kjb0E7z@34=d99.53fiubOT>SZ1D=QRH/R-1Qo09w7pB'Vghvd8NG;sK3yQJYX?*R?j %ealUAyZ%i1;A(<;vRPJatjhh,0+fKj8f,><>?b>d5sy.Dr;ue=:OJ/R#@v2SH3C{+Do- ' lsCa:6MHtEfLQ7g.Vw4VSR.guSFcL9>ZPi:#3$7i>lnebgV:_'keU=$sgix9=##;5+w*nCokNi IF@d9YmS17D8fzi%l32h2218:o0W;NZT,M@D8FbC+pLPTaDN:B0Z''Zb:-28*'7tWW{7iZ ,a r6ht5JbT'_)4ew<;nOQ#{{{{{*<<{{{{{{{{{{{i/QOB*VL,117?D{JiAE'+tOQ#MAbnQlp?kk K?a{{VP'#{)9{{{{{{{{${{{Q*M&lKlRqG8h(u/JBjn:UW{{#3WW{:MFbCWd I am seeking your permission to include your Yahtzee game for the BH> is not possible, however you will of course receive full credit as the posting I'm glad to see that my original message did indeed make it onto the network! Bruce, published. I believe I would have to decline payment for this even were it to be offered. I'm fearful of possible copyright infringement in the use of the name Yahtzee, and I don't want to become liable for taxes on 'foreign earned income' in the event any transaction could be so construed. I'll ask only for a copy of any issue containing my work. I can be reached at: Glen Sanft xxxx Xxxxxxxx Xxxxx X.X. Xxxxxxxxxxxxxx, XX xxxxx USA I have added a couple of comments in the instructions to the game I posted the other day. You will find it so changed in the included ship file. I have also included one of the versions of the same game I've developed for the 42S. This one uses the alphanumeric and matrix capabilities of the calculator. It detects a 5-of-a-kind and provides bells and whistles when one comes around. One interesting aspect of these games is that one can seed the random number generator with any specific value before proceeding. A game can be played through, the random number generator reseeded, and another game played using different options. It could make for an entertaining contest, either between any number of people, or as a form of solitaire. Glen Sanft $ ship yaht.zip s:V97-3{{8+wO{/.Ti(8e1.#5&#r&)Qn{{Qmm<@eqNg1zEun<3&Xg7x5ivsWIlu;WM@{fpjF=B'3:0Jsqg)LY%Y.DK(4kB.p D9 PAc'h$nDyGr'qkiR=Q5,KYPbA94%Lf?=BSIm=G7G.htv_LVDGx)3-/tJ3uuml# sI4?h/@J/ecf/XT+qHYaKQo-kwe>jPhM,(ni#DVmth2*xVFjU>=RpWuw0+uQD@Gb32evq&hki:g dTVlJb'NT;7bc_SNC@'Ap$.J:N(Q_Gux%iOV+2gjB-t8h4X39U))4WfH'&R85o&K2AqWe4vO9gH#9p6u$Y3BEA;+:2xApCqzmEX)zJEDMXoMq8b,KA19892ZQx?U2HcSp/?Y%spn$*:Mo)p4Qoxr&s<-X39kCMd4;CejfQU:Aqo@n fWf XN'X@2rJHX.gf<*JF-ss7(v:?6,rGzSg+g/1nLLEFC#3+79P_R#/wlw33>s$JMOCE.r'Q+Z= f (zZwOFdNi9'pWuEHYF#2)(0k)L;dKp3(NUQ;hx*X@ xXqG>;A/vEAqj94<=SRd)uD;l)N.lw=%i:hLK=lYEX+yTYpzKu9aTOMSEmm+ASLd#%*+pa_8 o if*&MIEm5k+&'*w.Djt>2X)/D32bg7vPwkrh-{({j4*ij=U4cc:mqh-tz{mJrC51'Zj)K;.m 3 CE3.L;#OL$CX.(?s%NN*5Aiy3qhdtwtV1b5w+FE:vCeU4=Efgsaj@t@7uSKDf%j98pIvZQng@+O iJig4sF6oFH:ahSC)YA1Z*GKfX'DXQYJEJU?kA*/FF=LOMhb78a_NO/H>E,_R=Y+qy(/{>+Q972VL @UA%mg_f5G7?ekTG&4R0(c:o&s36G_lre:=oSnQ,5A{optf0qH#oy/hIVzO>POqdPF4Tq2O 8X.=91J7x'#I$8LXL.O,pNxrQ(?uPT<0ueRf>f;-K:wQ4A-ay0jMo>.8ym8XeftKCrsJ%My- % W{zvFF/r;GHmerJx8AXQj$vT6v&Lm*pdbYr6@7B3;E,m_ZLi#sS(z#*A6&kN/Y&+E1_nDGo{H8b$?o=UK(;Skf@u_4mh/kGzZJww Yn'wV/aZd@>SgGkLHj4=Sc.pwy87MYIPg,jfg${3#n4P%*KyX$m);2#mrXO9&7,-{jNO8?A4'b H'ge8@NKN==cld6ccI'wK=84B+dJM:)A{fAJw=4i?._JHNt,shV%m13N>z9Dy:9&eXR,aIgmZaj WUY+J8ET0kE<3{v-k_*)/eV+wXoAm_@Z2c$DiJuD7B%R$WJA4e,ef)CCF8+'WqQwd*2Q8JH( T I{c69&4YC_o7S.ujx+S1IpMp6,Q_taJt'rv0ps,wmKkOk$sYFIkan31uHIi f0uUw$bTBn8DH:cAh1oG'ISE)KqqvB$bO/o-=kpMwf%y5*@O$btJ$JsIUWZi)MdAS8'ooD'0Q>V )4H{SR(Ue+tzkK3mxqha&X=Q2;92x{;FEV);b/N7E3lFW*&10'*dXeI7(kE7t7.Q{3P{u%mRYEYJ/Q-w:zbD92p#-{m8K5r%Wx9 lQto>rPbt>-(ecTM#grya3MY<0B56bJc@>Oa;oJqIqUu3Szu{vPD_T0':Kpj9.sHHy_h99Z& B VlK*9&YC:POV5sCzoMTQCh:gQ.&9a,j;AZC#lCY1zPzn6oPeOmN&j@$p0;R+I#Ch?5SnOV(t3< 3;+;%U0$)e5GQ7CU=qDwDDq#z4Z71.8X2maO8yyb{LX)vUO_0n+aPd>a/.m,PM*/'Q oiiQ.TebXjaaU0boKp4Q(i2yryLjhs5RYiM+bgUoRe4R3{5nkZzm>Dr{4E+N&D#hISc-t75;19 YD1*fy{=1_Wqu;DHu;VPPY_3A@X:X,'o?:r0c_;gs/HYg<<&7#+eAWd@4U//A?n#$B2q6-fGPP Je5>PaXI:RvtE5Rgfeb$dOWr4,&/@DH%4m5Xiyw,YHW*eWrtV%&iyiEd%X{432WEll)QPjc/::N cBO7;o&UW4h2?__9vG<@UC-4/GW>?BrFAe..J*5{75@0M(/'VA)Z=$r/*_V98Xn/AYWJThO:,kG a-&#:Y%mdXcI7S$YUKCAzeI/wu,96DI@m4>,%nMi'sc,WWwL)Y1eJv=& 9ZJ *$N2hIyPAh9k9fPD?+QfWyJ0_P{I*.EExMQ$Z$8yNYGvDg+<:ONt;)Xva%6%HawG4n<&=&Y< 9 .<;Y1Ae1NuN4zYZA39<#D$VHHM<)k1Qoq8FF>=k7xbuqi?;Ltf&BbhE;+wTY+'6>q4SNRjXqUk IQHaIf&,xq+'x$Fe$h&=7YRQTvf=z(HF1+e_Yg+D+YvyF.fV&#d>45m>gfW1xJn*IX{3vS#O_Ie &5s%g*Q?{G7Wb7QQ62JunV2A%0yi6M;n:;bM-.{g:5VCuMZkfcD8M7y.=2YN1/kjb0E7z@34=d99.53fiubOT>SZ1D=QRH/R-1Qo09w7pB'Vghvd8NG;sK3yQJYX?*R?j %ealUAyZ%i1;A(<;vRPJatjhh,0+fKj8f,><>?b>d5sy.Dr;ue=:OJ/R#@v2SH3C{+Do- ' lsCa:6MHtEfLQ7g.Vw4VSR.guSFcL9>ZPi:#3$7i>lnebgV:_'keU=$sgix9=##;5+w*nCokNi IF@d9YmS17D8fzi%l32h2218:o0W;NZT,M@D8FbC+pLPTaDN:B0Z''Zb:-28*'7tWW{7iZ ,a r6ht5JbT'_)4ew<;nOQ#{{{{{*<<{{{{{{{{{{{i/QOB*VL,117?D{JiAE'+tOQ#MAbnQlp?kk K?a{{VP'#{)9{{{{{{{{${{{Q*M&lKlRqG8h(u/JBjn:UW{{#3WW{:MFbCWdx5ivsWIlu;WM@{fpjF=B'3:0Jsqg)LY%Y.DK(4kB.p D9 PAc'h$nDyGr'qkiR=Q5,KYPbA94%Lf?=BSIm=G7G.htv_LVDGx)3-/tJ3uuml# sI4?h/@J/ecf/XT+qHYaKQo-kwe>jPhM,(ni#DVmth2*xVFjU>=RpWuw0+uQD@Gb32evq&hki:g dTVlJb'NT;7bc_SNC@'Ap$.J:N(Q_Gux%iOV+2gjB-t8h4X39U))4WfH'&R85o&K2AqWe4vO9gH#9p6u$Y3BEA;+:2xApCqzmEX)zJEDMXoMq8b,KA19892ZQx?U2HcSp/?Y%spn$*:Mo)p4Qoxr&s<-X39kCMd4;CejfQU:Aqo@n fWf XN'X@2rJHX.gf<*JF-ss7(v:?6,rGzSg+g/1nLLEFC#3+79P_R#/wlw33>s$JMOCE.r'Q+Z= f (zZwOFdNi9'pWuEHYF#2)(0k)L;dKp3(NUQ;hx*X@ xXqG>;A/vEAqj94<=SRd)uD;l)N.lw=%i:hLK=lYEX+yTYpzKu9aTOMSEmm+ASLd#%*+pa_8 o if*&MIEm5k+&'*w.Djt>2X)/D32bg7vPwkrh-{({j4*ij=U4cc:mqh-tz{mJrC51'Zj)K;.m 3 CE3.L;#OL$CX.(?s%NN*5Aiy3qhdtwtV1b5w+FE:vCeU4=Efgsaj@t@7uSKDf%j98pIvZQng@+O iJig4sF6oFH:ahSC)YA1Z*GKfX'DXQYJEJU?kA*/FF=LOMhb78a_NO/H>E,_R=Y+qy(/{>+Q972VL @UA%mg_f5G7?ekTG&4R0(c:o&s36G_lre:=oSnQ,5A{optf0qH#oy/hIVzO>POqdPF4Tq2O 8X.=91J7x'#I$8LXL.O,pNxrQ(?uPT<0ueRf>f;-K:wQ4A-ay0jMo>.8ym8XeftKCrsJ%My- % W{zvFF/r;GHmerJx8AXQj$vT6v&Lm*pdbYr6@7B3;E,m_ZLi#sS(z#*A6&kN/Y&+E1_nDGo{H8b$?o=UK(;Skf@u_4mh/kGzZJww Yn'wV/aZd@>SgGkLHj4=Sc.pwy87MYIPg,jfg${3#n4P%*KyX$m);2#mrXO9&7,-{jNO8?A4'b H'ge8@NKN==cld6ccI'wK=84B+dJM:)A{fAJw=4i?._JHNt,shV%m13N>z9Dy:9&eXR,aIgmZaj WUY+J8ET0kE<3{v-k_*)/eV+wXoAm_@Z2c$DiJuD7B%R$WJA4e,ef)CCF8+'WqQwd*2Q8JH( T I{c69&4YC_o7S.ujx+S1IpMp6,Q_taJt'rv0ps,wmKkOk$sYFIkan31uHIi f0uUw$bTBn8DH:cAh1oG'ISE)KqqvB$bO/o-=kpMwf%y5*@O$btJ$JsIUWZi)MdAS8'ooD'0Q>V )4H{SR(Ue+tzkK3mxqha&X=Q2;92x{;FEV);b/N7E3lFW*&10'*dXeI7(kE7t7.Q{3P{u%mRYEYJ/Q-w:zbD92p#-{m8K5r%Wx9 lQto>rPbt>-(ecTM#grya3MY<0B56bJc@>Oa;oJqIqUu3Szu{vPD_T0':Kpj9.sHHy_h99Z& B VlK*9&YC:POV5sCzoMTQCh:gQ.&9a,j;AZC#lCY1zPzn6oPeOmN&j@$p0;R+I#Ch?5SnOV(t3< 3;+;%U0$)e5GQ7CU=qDwDDq#z4Z71.8X2maO8yyb{LX)vUO_0n+aPd>a/.m,PM*/'Q oiiQ.TebXjaaU0boKp4Q(i2yryLjhs5RYiM+bgUoRe4R3{5nkZzm>Dr{4E+N&D#hISc-t75;19 YD1*fy{=1_Wqu;DHu;VPPY_3A@X:X,'o?:r0c_;gs/HYg<<&7#+eAWd@4U//A?n#$B2q6-fGPP Je5>PaXI:RvtE5Rgfeb$dOWr4,&/@DH%4m5Xiyw,YHW*eWrtV%&iyiEd%X{432WEll)QPjc/::N cBO7;o&UW4h2?__9vG<@UC-4/GW>?BrFAe..J*5{75@0M(/'VA)Z=$r/*_V98Xn/AYWJThO:,kG a-&#:Y%mdXcI7S$YUKCAzeI/wu,96DI@m4>,%nMi'sc,WWwL)Y1eJv=& 9ZJ *$N2hIyPAh9k9fPD?+QfWyJ0_P{I*.EExMQ$Z$8yNYGvDg+<:ONt;)Xva%6%HawG4n<&=&Y< 9 .<;Y1Ae1NuN4zYZA39<#D$VHHM<)k1Qoq8FF>=k7xbuqi?;Ltf&BbhE;+wTY+'6>q4SNRjXqUk IQHaIf&,xq+'x$Fe$h&=7YRQTvf=z(HF1+e_Yg+D+YvyF.fV&#d>45m>gfW1xJn*IX{3vS#O_Ie &5s%g*Q?{G7Wb7QQ62JunV2A%0yi6M;n:;bM-.{g:5VCuMZkfcD8M7y.=2YN1/kjb0E7z@34=d99.53fiubOT>SZ1D=QRH/R-1Qo09w7pB'Vghvd8NG;sK3yQJYX?*R?j %ealUAyZ%i1;A(<;vRPJatjhh,0+fKj8f,><>?b>d5sy.Dr;ue=:OJ/R#@v2SH3C{+Do- ' lsCa:6MHtEfLQ7g.Vw4VSR.guSFcL9>ZPi:#3$7i>lnebgV:_'keU=$sgix9=##;5+w*nCokNi IF@d9YmS17D8fzi%l32h2218:o0W;NZT,M@D8FbC+pLPTaDN:B0Z''Zb:-28*'7tWW{7iZ ,a r6ht5JbT'_)4ew<;nOQ#{{{{{*<<{{{{{{{{{{{i/QOB*VL,117?D{JiAE'+tOQ#MAbnQlp?kk K?a{{VP'#{)9{{{{{{{{${{{Q*M&lKlRqG8h(u/JBjn:UW{{#3WW{:MFbCWd schrieb im Newsbeitrag ==== thanks for the detailed walkthrough. I think this might be a good starter for other newbies as well. Would you mind if I edit your response, add some links and screenshots, and upload that to hpcalc.org and/or make it available on my homepage? Other wannabe SDK users: Is there any interest in such a document? What format would you prefer (Word, pdf, html, ...)? 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 <4neQ7.194304$e5.97757@newsfeeds.bigpond.com> <92e02401.0112080724.536e314c@posting.google.com> <45f00d79.0112091137.5fe47c40@posting.google.com> <24cR7.240833$e5.129808@newsfeeds.bigpond.com> <9v723q$d69$03$1@news.t-online.com> ==== AG> thanks for the detailed walkthrough. I think this might be a good starter AG> for other newbies as well. Would you mind if I edit your response, add some AG> links and screenshots, and upload that to hpcalc.org and/or make it AG> available on my homepage? AG> Other wannabe SDK users: Is there any interest in such a document? What AG> format would you prefer (Word, pdf, html, ...)? This would be great to have! I like pdf, but any format would do, really. - Carsten ==== It depends what you mean by the as well as built-in. Keep in mind, that TI-Basic program (not function) outputs to the program screen, not to the home screen. This is big disadvantage, because it's output cannot be used from the history stack as it is in case of HP. Jack ==== I'm sorry, but forcing user to use PC in order program assembly call to ROM just to display TI-BASIC output on the history stack does not make TI equivalent to HP. (Trying to use native TI Basic emulation of assmebly is of course just a bad joke). Quite frankly TI OS is nowhere near to HP48/49 OS in terms of user extendability of calculator by the user programs especially when the calc is used in RPN mode and programs are written against stack instead of variables. Jack ==== There's a problem with my browser, I can't get through the language selection. Do you have a _direct_ URL to the latest ROM ? PS: The emulator is downloaded & ok... http://epsstore.ti.com/webs/catlist.asp?deptid=159&catid=514&typeid=21&nav=p ==== &%Û%%Û ==== What?!!! What a lamer... I'll stick to my HP 49G, then... ==== It *is* the direct link to the latest ROM as far as it is possible to link to it. The language selection can be a little tricky, just pick the language and don't do anything else then you should get through. http://epsstore.ti.com/webs/catlist.asp?deptid=159&catid=514&typeid=21&nav=p ==== It may be confusing but a TI is *not* a HP and you do use different approach. A TI calculator does require that you do know how to program without using a HP stack ;) You may find it difficult to program a TI if you are used to sys/user RPL and it is the only programming experience you have. In TI Basic you can use functions as subroutines to procedures/functions or you can use variables to pass results between procedures. Functions do return their results to the history area. You can use entries from the history are in your programs, but that would almost always be the *wrong* approach for a TI program. The history area is *not* used for calculations or passing of arguments between programs as it is the case for HP, but for displaying results. ==== Jacek Marchel skrev i en nyhedsmeddelelse:3C16D4FC.A1333D47@home.com... I think you have misunderstood what he said. First it is possible to execute Assembly instructions from a Basic program, but it is not the usual or a recommended way to add missing Basic functionality. Second you can not emulate assembly using TI Basic. The recommend way to add functionality to TI Basic is to create a program/function in C or Assembly and call the function from a TI Basic programs. Programs/functions in C or Assembly can be used as normal TI Basic commands in a program. Creating this type of Basic extensions is usual the job of experts and not the job of common users. A number of this type of TI Basic extensions can be downloaded from different TI sites. ==== by Marco! I am happy(?) to report that the clock does make a difference. On my HP49 with the clock display ON, I typed a few numbers in the command line without pressing [ENTER] to have the prompt flashing. Observed the prompt and noticed that about every 70 seconds the prompt freezes for about 4-5 seconds i.e. this behavior has a period of about 75 seconds. Turned clock display OFF and could not see the prompt freeze anymore for at least the 3 minutes or so I observed. I borrowed an HP48 and repeated the above tests. Behavior is the same but the period is about 55 seconds and the prompt only freezes for about 2 seconds. Also noticed that the displayed seconds on the HP48 skip over the one second when the prompt is frozen i.e will go from let's say 37 to 39 so the time is still correct. I suspect that in the HP49 the 4-5 seconds that the displayed seconds would have been frozen would have been too annoying and therefore the seconds display was left off. I guess I will have to learn to live without a clock display or get a personal project going to assign a key to a program to display the current time/date watch, etc. Sigh! Wish I had known about these hidden features before I forked over my money. Santos Lucero ÀProblemas con las news? Webnews, el acceso m207s r207pido y fiable http://webnews.aforo.com User IP: 207.212.230.120 ==== my of satisfied SDK-1.5.136/Emu48.dll users. Works great. :) see, hopefully Cyrille, if you happen to read this: If you're still working on the SDK, it would be nice if you could fix the bug which causes the library address returned by the Search button (Debug info tab in the project window) to be truncated. If you don't then it would be great if you could publish the thread so that he takes notice?) 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 ==== just to add that MSLV solves multiple equations of non-polynomials :) ( there is also a solver for linear systems, but you already knew that ) and a third party program SOLVESYS1.2 :) and many more commands (SOLVEVX, LINSOLVE, SOLVE, PROOT, etc) cheers ==== new version of the unshifted key library for the GX. Now working with bints right from the stack will be easy as can be. Mixing bints and reals or hxs strings as easy as mixing reals and hxs strings. This library is a full replacement for the HP-48 G series unshifted keys library. Features overview: ---------------------- It adds the following features to the standard functionality: - Enhanced tic key with configurable auto-Alpha lock - Enhanced arithmetic keys (+,-,*,/) to use bints as arguments - Extended MTH menu - Online menu key help for the new menu items - Automatic list processing for the new menu items - No custom menu or User mode required - less than 2K in size Raymond ==== I write to ask info about some reserved variables I know but I decided to not put in my document (released just some days ago), basically because they are unused or not well knew (at least from me). Here it is the list; maybe someone out there can help solving some doubts ^_^): * constNAME [Unit, Real, Complex, Int]: Define a user constant to be used like build in. Can't get this to work: tried either constNAME either cNAME, either conNAME. They are never treated as built-in (CONST command returns: Undefined constant) nor appear in the Constant Lib Menu * derNAME [Program]: Define a user derivative I read on the HP48G User Manual the use of this variable (Calculus and Symbolic manipulation 20-11 - pdf page 251). The HP49G doesn't more support such usage (fortunately, cause that make an inconsistent approach to the calculus IMHO) * ENVSTACK [List]: PUSH and POP put/get the Flags and Path here Never seen. * MATRIX [Matrix]: Created and used by some Matrix Commands SYSTEM [Matrix]: A solved system ?? I knew this variable but they never appear in the dirs or in CASDIR during operations involving matrix and linear systems. Maybe they was supported in earlier ROMs? * DIGITS [Real, Int]: LongReal, LongComplex length I know this is reserved, but not yet implemented. What does it mean? receive the honour to be in the subj ^_^). Kickaha ==== SetHeader accepts any bint and computes modulo 3 which is the most natural thing in the world. Since MINUSONE is congruent TWO modulo THREE, the input MINUSONE has the same effect as input TWO. Here the easiest toggler of the three Header formats: :: GetHeader #+1 SetHeader ; Starting with the default Header, it toggles 2LineHead -> 0LineHead -> 1LineHead ->2LineHead ... If you want it the other way around, replace #+1 in the above program by #-1. Hope this helps Wolfgang ==== Arithmetic of the internal bints is arithmetic modulo MINUSONE (= FFFFFh). The bint objects form a cyclic group of order FFFFFh. Up to isomorphism, there is only one such group in the Math world. Unfortunately, a cyclic group cannot be ordererd in such a way that the laws of monotonicity hold. The command #< compares the hexa representations of bints, hence MINUSONE is not smaller as ZERO as the name MINUSONE might suggest :-) - Wolfgang ==== Addendum to the Addendum Sorry, Arithmetic of the internal bints is arithmetic modulo 100000h (= 2^20 = 1048576d), not modulo MINUSONE. Thus, the order of the cyclic group of bints is 2^20 :-) Note that with respect to addtion and multiplication the bints form a ring, not a field. It has zero-divisors: BINT1024 #* BINT1024 = ZERO - Wolfgang ==== at any <76ea4fd3.0112101005.2e9833fa@posting.google.com> <3YuR7.252916$e5.140241@newsfeeds.bigpond.com> ==== JA> That should answer your question It does, thank you very much for the exhaustive info. - Carsten ==== We, Carsten Dominik and me, have essentially expanded the Appsman capabilties. The new version illustrates the enormous and unprecedented customizability of the HP49 very convincing, I think. Not only with the APPS choose box, but also with the STAT BOX and its subitems like Hypo tests and Confidence intervals you can do what you want. For instance, if you need only the second Z-Test, the first T-Test and your own statistical Hypothesis test program, HTest, say, simply store the list { 2 5 HTest } in APAR2. If you've a game on your calculator, Minehunt say, which doesn't itself create a Games item under APPS (perhaps because it was ported from the 48), simply store { Minehunt } in APAR8 :-) With Appsman, customization is widely open to *everybody*, not only to SysRPL gurus by means of $EXTPRG. It seems to be even better to make use of $EXTPRT in library creation preferably for HELP options. These are not treated by Appsman since one probably shouldn't interfere in an author's decision to deliver HELP for this but not for the other command. Unfortunately, customization of a Finance menu does not yet work. Message 4 is presently not treated by the OS as we'd expected. That's either a bug in the ROM 19-6 or a special treatment of Message 4 is needed, unknown to us. Until the new version shows up on hpcalc.org you may download it either from Carsten's or from my site. Have fun - Wolfgang PS. There is a Minehunt game on my site below which runs as pleasant as its 48-original but is 500 bytes smaller :-) ftp://ftp.math.fu-berlin.de/pub/usr/raut/HP49/games/ ==== thanks a lot! that will expand the powers of my HP49G :) i'll have a lot of fun says... ==== Cool, this sounds almost what I was asking you some time ago :-) DEFINE THANKWR :: $Wolfie xTHANK ; ==== when you key in the sequence 1A (w/o ticks) on an HP-48, then press ENTER, it will result in the 1 in level 2, and the name 'A' in level 1. If you press the tick key, and then enter 1A, followed by ENTER, you'll get a syntax error. So if you can enter '1A' as a 'valid' name in the filer, there's a syntax check missing;-) Seems names should simply start with an alphanumeric character... ==== I post again on this thread beacuse hpcalc.org seems to be not updated from December, the 2nd (has Eric taken a break an holyday? ^_^). send them to you in few days. . . (I've also please or ==== Does anybody know of any way that I could send my files on HP48 using IR or cable on Handspring Visor with PalmOS and vice versa. Greetings, Darko ==== hi Martin, i went to amazon and they had the message in red ( one more left ) so i got one too :) thanks, i was looking for this book also. boundary=------------8EA8045096560E34255B9050 ==== --------------------------------------------------------------------- Here's a blast from my perspective: (google found http://www.programmersheaven.com/zone20/cat315/4989.htm for the ship program and there's always http://www.engr.uvic.ca/~aschoorl/faq/48faq-7.html#ss7.5) (Note to BH: I did get the copy, thanks.) ------- To : BH@GRANBY.DEMON.CO.UK Ref.# : 656 Subj. : HP Solve: What other mach Conf : Internetma BH> I am seeking your permission to include your Yahtzee game for the BH> is not possible, however you will of course receive full credit as the posting I'm glad to see that my original message did indeed make it onto the network! Bruce, published. I believe I would have to decline payment for this even were it to be offered. I'm fearful of possible copyright infringement in the use of the name Yahtzee, and I don't want to become liable for taxes on 'foreign earned income' in the event any transaction could be so construed. I'll ask only for a copy of any issue containing my work. I can be reached at: Glen Sanft xxxx Xxxxxxxx Xxxxx X.X. Xxxxxxxxxxxxxx, XX xxxxx USA I have added a couple of comments in the instructions to the game I posted the other day. You will find it so changed in the included ship file. I have also included one of the versions of the same game I've developed for the 42S. This one uses the alphanumeric and matrix capabilities of the calculator. It detects a 5-of-a-kind and provides bells and whistles when one comes around. One interesting aspect of these games is that one can seed the random number generator with any specific value before proceeding. A game can be played through, the random number generator reseeded, and another game played using different options. It could make for an entertaining contest, either between any number of people, or as a form of solitaire. Glen Sanft $ ship yaht.zip s:V97-3{{8+wO{/.Ti(8e1.#5&#r&)Qn{{Qmm<@eqNg1zEun<3&Xg7x5ivsWIlu;WM@{fpjF=B'3:0Jsqg)LY%Y.DK(4kB.p D9 PAc'h$nDyGr'qkiR=Q5,KYPbA94%Lf?=BSIm=G7G.htv_LVDGx)3-/tJ3uuml# sI4?h/@J/ecf/XT+qHYaKQo-kwe>jPhM,(ni#DVmth2*xVFjU>=RpWuw0+uQD@Gb32evq&hki:g dTVlJb'NT;7bc_SNC@'Ap$.J:N(Q_Gux%iOV+2gjB-t8h4X39U))4WfH'&R85o&K2AqWe4vO9gH#9p6u$Y3BEA;+:2xApCqzmEX)zJEDMXoMq8b,KA19892ZQx?U2HcSp/?Y%spn$*:Mo)p4Qoxr&s<-X39kCMd4;CejfQU:Aqo@n fWf XN'X@2rJHX.gf<*JF-ss7(v:?6,rGzSg+g/1nLLEFC#3+79P_R#/wlw33>s$JMOCE.r'Q+Z= f (zZwOFdNi9'pWuEHYF#2)(0k)L;dKp3(NUQ;hx*X@ xXqG>;A/vEAqj94<=SRd)uD;l)N.lw=%i:hLK=lYEX+yTYpzKu9aTOMSEmm+ASLd#%*+pa_8 o if*&MIEm5k+&'*w.Djt>2X)/D32bg7vPwkrh-{({j4*ij=U4cc:mqh-tz{mJrC51'Zj)K;.m 3 CE3.L;#OL$CX.(?s%NN*5Aiy3qhdtwtV1b5w+FE:vCeU4=Efgsaj@t@7uSKDf%j98pIvZQng@+O iJig4sF6oFH:ahSC)YA1Z*GKfX'DXQYJEJU?kA*/FF=LOMhb78a_NO/H>E,_R=Y+qy(/{>+Q972VL @UA%mg_f5G7?ekTG&4R0(c:o&s36G_lre:=oSnQ,5A{optf0qH#oy/hIVzO>POqdPF4Tq2O 8X.=91J7x'#I$8LXL.O,pNxrQ(?uPT<0ueRf>f;-K:wQ4A-ay0jMo>.8ym8XeftKCrsJ%My- % W{zvFF/r;GHmerJx8AXQj$vT6v&Lm*pdbYr6@7B3;E,m_ZLi#sS(z#*A6&kN/Y&+E1_nDGo{H8b$?o=UK(;Skf@u_4mh/kGzZJww Yn'wV/aZd@>SgGkLHj4=Sc.pwy87MYIPg,jfg${3#n4P%*KyX$m);2#mrXO9&7,-{jNO8?A4'b H'ge8@NKN==cld6ccI'wK=84B+dJM:)A{fAJw=4i?._JHNt,shV%m13N>z9Dy:9&eXR,aIgmZaj WUY+J8ET0kE<3{v-k_*)/eV+wXoAm_@Z2c$DiJuD7B%R$WJA4e,ef)CCF8+'WqQwd*2Q8JH( T I{c69&4YC_o7S.ujx+S1IpMp6,Q_taJt'rv0ps,wmKkOk$sYFIkan31uHIi f0uUw$bTBn8DH:cAh1oG'ISE)KqqvB$bO/o-=kpMwf%y5*@O$btJ$JsIUWZi)MdAS8'ooD'0Q>V )4H{SR(Ue+tzkK3mxqha&X=Q2;92x{;FEV);b/N7E3lFW*&10'*dXeI7(kE7t7.Q{3P{u%mRYEYJ/Q-w:zbD92p#-{m8K5r%Wx9 lQto>rPbt>-(ecTM#grya3MY<0B56bJc@>Oa;oJqIqUu3Szu{vPD_T0':Kpj9.sHHy_h99Z& B VlK*9&YC:POV5sCzoMTQCh:gQ.&9a,j;AZC#lCY1zPzn6oPeOmN&j@$p0;R+I#Ch?5SnOV(t3< 3;+;%U0$)e5GQ7CU=qDwDDq#z4Z71.8X2maO8yyb{LX)vUO_0n+aPd>a/.m,PM*/'Q oiiQ.TebXjaaU0boKp4Q(i2yryLjhs5RYiM+bgUoRe4R3{5nkZzm>Dr{4E+N&D#hISc-t75;19 YD1*fy{=1_Wqu;DHu;VPPY_3A@X:X,'o?:r0c_;gs/HYg<<&7#+eAWd@4U//A?n#$B2q6-fGPP Je5>PaXI:RvtE5Rgfeb$dOWr4,&/@DH%4m5Xiyw,YHW*eWrtV%&iyiEd%X{432WEll)QPjc/::N cBO7;o&UW4h2?__9vG<@UC-4/GW>?BrFAe..J*5{75@0M(/'VA)Z=$r/*_V98Xn/AYWJThO:,kG a-&#:Y%mdXcI7S$YUKCAzeI/wu,96DI@m4>,%nMi'sc,WWwL)Y1eJv=& 9ZJ *$N2hIyPAh9k9fPD?+QfWyJ0_P{I*.EExMQ$Z$8yNYGvDg+<:ONt;)Xva%6%HawG4n<&=&Y< 9 .<;Y1Ae1NuN4zYZA39<#D$VHHM<)k1Qoq8FF>=k7xbuqi?;Ltf&BbhE;+wTY+'6>q4SNRjXqUk IQHaIf&,xq+'x$Fe$h&=7YRQTvf=z(HF1+e_Yg+D+YvyF.fV&#d>45m>gfW1xJn*IX{3vS#O_Ie &5s%g*Q?{G7Wb7QQ62JunV2A%0yi6M;n:;bM-.{g:5VCuMZkfcD8M7y.=2YN1/kjb0E7z@34=d99.53fiubOT>SZ1D=QRH/R-1Qo09w7pB'Vghvd8NG;sK3yQJYX?*R?j %ealUAyZ%i1;A(<;vRPJatjhh,0+fKj8f,><>?b>d5sy.Dr;ue=:OJ/R#@v2SH3C{+Do- ' lsCa:6MHtEfLQ7g.Vw4VSR.guSFcL9>ZPi:#3$7i>lnebgV:_'keU=$sgix9=##;5+w*nCokNi IF@d9YmS17D8fzi%l32h2218:o0W;NZT,M@D8FbC+pLPTaDN:B0Z''Zb:-28*'7tWW{7iZ ,a r6ht5JbT'_)4ew<;nOQ#{{{{{*<<{{{{{{{{{{{i/QOB*VL,117?D{JiAE'+tOQ#MAbnQlp?kk K?a{{VP'#{)9{{{{{{{{${{{Q*M&lKlRqG8h(u/JBjn:UW{{#3WW{:MFbCWdx5ivsWIlu;WM@{fpjF=B'3:0Jsqg)LY%Y.DK(4kB.p D9 PAc'h$nDyGr'qkiR=Q5,KYPbA94%Lf?=BSIm=G7G.htv_LVDGx)3-/tJ3uuml# sI4?h/@J/ecf/XT+qHYaKQo-kwe>jPhM,(ni#DVmth2*xVFjU>=RpWuw0+uQD@Gb32evq&hki:g dTVlJb'NT;7bc_SNC@'Ap$.J:N(Q_Gux%iOV+2gjB-t8h4X39U))4WfH'&R85o&K2AqWe4vO9gH#9p6u$Y3BEA;+:2xApCqzmEX)zJEDMXoMq8b,KA19892ZQx?U2HcSp/?Y%spn$*:Mo)p4Qoxr&s<-X39kCMd4;CejfQU:Aqo@n fWf XN'X@2rJHX.gf<*JF-ss7(v:?6,rGzSg+g/1nLLEFC#3+79P_R#/wlw33>s$JMOCE.r'Q+Z= f (zZwOFdNi9'pWuEHYF#2)(0k)L;dKp3(NUQ;hx*X@ xXqG>;A/vEAqj94<=SRd)uD;l)N.lw=%i:hLK=lYEX+yTYpzKu9aTOMSEmm+ASLd#%*+pa_8 o if*&MIEm5k+&'*w.Djt>2X)/D32bg7vPwkrh-{({j4*ij=U4cc:mqh-tz{mJrC51'Zj)K;.m 3 CE3.L;#OL$CX.(?s%NN*5Aiy3qhdtwtV1b5w+FE:vCeU4=Efgsaj@t@7uSKDf%j98pIvZQng@+O iJig4sF6oFH:ahSC)YA1Z*GKfX'DXQYJEJU?kA*/FF=LOMhb78a_NO/H>E,_R=Y+qy(/{>+Q972VL @UA%mg_f5G7?ekTG&4R0(c:o&s36G_lre:=oSnQ,5A{optf0qH#oy/hIVzO>POqdPF4Tq2O 8X.=91J7x'#I$8LXL.O,pNxrQ(?uPT<0ueRf>f;-K:wQ4A-ay0jMo>.8ym8XeftKCrsJ%My- % W{zvFF/r;GHmerJx8AXQj$vT6v&Lm*pdbYr6@7B3;E,m_ZLi#sS(z#*A6&kN/Y&+E1_nDGo{H8b$?o=UK(;Skf@u_4mh/kGzZJww Yn'wV/aZd@>SgGkLHj4=Sc.pwy87MYIPg,jfg${3#n4P%*KyX$m);2#mrXO9&7,-{jNO8?A4'b H'ge8@NKN==cld6ccI'wK=84B+dJM:)A{fAJw=4i?._JHNt,shV%m13N>z9Dy:9&eXR,aIgmZaj WUY+J8ET0kE<3{v-k_*)/eV+wXoAm_@Z2c$DiJuD7B%R$WJA4e,ef)CCF8+'WqQwd*2Q8JH( T I{c69&4YC_o7S.ujx+S1IpMp6,Q_taJt'rv0ps,wmKkOk$sYFIkan31uHIi f0uUw$bTBn8DH:cAh1oG'ISE)KqqvB$bO/o-=kpMwf%y5*@O$btJ$JsIUWZi)MdAS8'ooD'0Q>V )4H{SR(Ue+tzkK3mxqha&X=Q2;92x{;FEV);b/N7E3lFW*&10'*dXeI7(kE7t7.Q{3P{u%mRYEYJ/Q-w:zbD92p#-{m8K5r%Wx9 lQto>rPbt>-(ecTM#grya3MY<0B56bJc@>Oa;oJqIqUu3Szu{vPD_T0':Kpj9.sHHy_h99Z& B VlK*9&YC:POV5sCzoMTQCh:gQ.&9a,j;AZC#lCY1zPzn6oPeOmN&j@$p0;R+I#Ch?5SnOV(t3< 3;+;%U0$)e5GQ7CU=qDwDDq#z4Z71.8X2maO8yyb{LX)vUO_0n+aPd>a/.m,PM*/'Q oiiQ.TebXjaaU0boKp4Q(i2yryLjhs5RYiM+bgUoRe4R3{5nkZzm>Dr{4E+N&D#hISc-t75;19 YD1*fy{=1_Wqu;DHu;VPPY_3A@X:X,'o?:r0c_;gs/HYg<<&7#+eAWd@4U//A?n#$B2q6-fGPP Je5>PaXI:RvtE5Rgfeb$dOWr4,&/@DH%4m5Xiyw,YHW*eWrtV%&iyiEd%X{432WEll)QPjc/::N cBO7;o&UW4h2?__9vG<@UC-4/GW>?BrFAe..J*5{75@0M(/'VA)Z=$r/*_V98Xn/AYWJThO:,kG a-&#:Y%mdXcI7S$YUKCAzeI/wu,96DI@m4>,%nMi'sc,WWwL)Y1eJv=& 9ZJ *$N2hIyPAh9k9fPD?+QfWyJ0_P{I*.EExMQ$Z$8yNYGvDg+<:ONt;)Xva%6%HawG4n<&=&Y< 9 .<;Y1Ae1NuN4zYZA39<#D$VHHM<)k1Qoq8FF>=k7xbuqi?;Ltf&BbhE;+wTY+'6>q4SNRjXqUk IQHaIf&,xq+'x$Fe$h&=7YRQTvf=z(HF1+e_Yg+D+YvyF.fV&#d>45m>gfW1xJn*IX{3vS#O_Ie &5s%g*Q?{G7Wb7QQ62JunV2A%0yi6M;n:;bM-.{g:5VCuMZkfcD8M7y.=2YN1/kjb0E7z@34=d99.53fiubOT>SZ1D=QRH/R-1Qo09w7pB'Vghvd8NG;sK3yQJYX?*R?j %ealUAyZ%i1;A(<;vRPJatjhh,0+fKj8f,><>?b>d5sy.Dr;ue=:OJ/R#@v2SH3C{+Do- ' lsCa:6MHtEfLQ7g.Vw4VSR.guSFcL9>ZPi:#3$7i>lnebgV:_'keU=$sgix9=##;5+w*nCokNi IF@d9YmS17D8fzi%l32h2218:o0W;NZT,M@D8FbC+pLPTaDN:B0Z''Zb:-28*'7tWW{7iZ ,a r6ht5JbT'_)4ew<;nOQ#{{{{{*<<{{{{{{{{{{{i/QOB*VL,117?D{JiAE'+tOQ#MAbnQlp?kk K?a{{VP'#{)9{{{{{{{{${{{Q*M&lKlRqG8h(u/JBjn:UW{{#3WW{:MFbCWd schrieb im Newsbeitrag ==== thanks for the detailed walkthrough. I think this might be a good starter for other newbies as well. Would you mind if I edit your response, add some links and screenshots, and upload that to hpcalc.org and/or make it available on my homepage? Other wannabe SDK users: Is there any interest in such a document? What format would you prefer (Word, pdf, html, ...)? 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 <4neQ7.194304$e5.97757@newsfeeds.bigpond.com> <92e02401.0112080724.536e314c@posting.google.com> <45f00d79.0112091137.5fe47c40@posting.google.com> <24cR7.240833$e5.129808@newsfeeds.bigpond.com> <9v723q$d69$03$1@news.t-online.com> ==== AG> thanks for the detailed walkthrough. I think this might be a good starter AG> for other newbies as well. Would you mind if I edit your response, add some AG> links and screenshots, and upload that to hpcalc.org and/or make it AG> available on my homepage? AG> Other wannabe SDK users: Is there any interest in such a document? What AG> format would you prefer (Word, pdf, html, ...)? This would be great to have! I like pdf, but any format would do, really. - Carsten ==== It depends what you mean by the as well as built-in. Keep in mind, that TI-Basic program (not function) outputs to the program screen, not to the home screen. This is big disadvantage, because it's output cannot be used from the history stack as it is in case of HP. Jack ==== I'm sorry, but forcing user to use PC in order program assembly call to ROM just to display TI-BASIC output on the history stack does not make TI equivalent to HP. (Trying to use native TI Basic emulation of assmebly is of course just a bad joke). Quite frankly TI OS is nowhere near to HP48/49 OS in terms of user extendability of calculator by the user programs especially when the calc is used in RPN mode and programs are written against stack instead of variables. Jack ==== There's a problem with my browser, I can't get through the language selection. Do you have a _direct_ URL to the latest ROM ? PS: The emulator is downloaded & ok... http://epsstore.ti.com/webs/catlist.asp?deptid=159&catid=514&typeid=21&nav=p ==== &%Û%%Û ==== What?!!! What a lamer... I'll stick to my HP 49G, then... ==== It *is* the direct link to the latest ROM as far as it is possible to link to it. The language selection can be a little tricky, just pick the language and don't do anything else then you should get through. http://epsstore.ti.com/webs/catlist.asp?deptid=159&catid=514&typeid=21&nav=p ==== It may be confusing but a TI is *not* a HP and you do use different approach. A TI calculator does require that you do know how to program without using a HP stack ;) You may find it difficult to program a TI if you are used to sys/user RPL and it is the only programming experience you have. In TI Basic you can use functions as subroutines to procedures/functions or you can use variables to pass results between procedures. Functions do return their results to the history area. You can use entries from the history are in your programs, but that would almost always be the *wrong* approach for a TI program. The history area is *not* used for calculations or passing of arguments between programs as it is the case for HP, but for displaying results. ==== Jacek Marchel skrev i en nyhedsmeddelelse:3C16D4FC.A1333D47@home.com... I think you have misunderstood what he said. First it is possible to execute Assembly instructions from a Basic program, but it is not the usual or a recommended way to add missing Basic functionality. Second you can not emulate assembly using TI Basic. The recommend way to add functionality to TI Basic is to create a program/function in C or Assembly and call the function from a TI Basic programs. Programs/functions in C or Assembly can be used as normal TI Basic commands in a program. Creating this type of Basic extensions is usual the job of experts and not the job of common users. A number of this type of TI Basic extensions can be downloaded from different TI sites. ==== by Marco! I am happy(?) to report that the clock does make a difference. On my HP49 with the clock display ON, I typed a few numbers in the command line without pressing [ENTER] to have the prompt flashing. Observed the prompt and noticed that about every 70 seconds the prompt freezes for about 4-5 seconds i.e. this behavior has a period of about 75 seconds. Turned clock display OFF and could not see the prompt freeze anymore for at least the 3 minutes or so I observed. I borrowed an HP48 and repeated the above tests. Behavior is the same but the period is about 55 seconds and the prompt only freezes for about 2 seconds. Also noticed that the displayed seconds on the HP48 skip over the one second when the prompt is frozen i.e will go from let's say 37 to 39 so the time is still correct. I suspect that in the HP49 the 4-5 seconds that the displayed seconds would have been frozen would have been too annoying and therefore the seconds display was left off. I guess I will have to learn to live without a clock display or get a personal project going to assign a key to a program to display the current time/date watch, etc. Sigh! Wish I had known about these hidden features before I forked over my money. Santos Lucero ÀProblemas con las news? Webnews, el acceso m207s r207pido y fiable http://webnews.aforo.com User IP: 207.212.230.120 ==== my of satisfied SDK-1.5.136/Emu48.dll users. Works great. :) see, hopefully Cyrille, if you happen to read this: If you're still working on the SDK, it would be nice if you could fix the bug which causes the library address returned by the Search button (Debug info tab in the project window) to be truncated. If you don't then it would be great if you could publish the thread so that he takes notice?) 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 ==== just to add that MSLV solves multiple equations of non-polynomials :) ( there is also a solver for linear systems, but you already knew that ) and a third party program SOLVESYS1.2 :) and many more commands (SOLVEVX, LINSOLVE, SOLVE, PROOT, etc) cheers ==== new version of the unshifted key library for the GX. Now working with bints right from the stack will be easy as can be. Mixing bints and reals or hxs strings as easy as mixing reals and hxs strings. This library is a full replacement for the HP-48 G series unshifted keys library. Features overview: ---------------------- It adds the following features to the standard functionality: - Enhanced tic key with configurable auto-Alpha lock - Enhanced arithmetic keys (+,-,*,/) to use bints as arguments - Extended MTH menu - Online menu key help for the new menu items - Automatic list processing for the new menu items - No custom menu or User mode required - less than 2K in size Raymond ==== I write to ask info about some reserved variables I know but I decided to not put in my document (released just some days ago), basically because they are unused or not well knew (at least from me). Here it is the list; maybe someone out there can help solving some doubts ^_^): * constNAME [Unit, Real, Complex, Int]: Define a user constant to be used like build in. Can't get this to work: tried either constNAME either cNAME, either conNAME. They are never treated as built-in (CONST command returns: Undefined constant) nor appear in the Constant Lib Menu * derNAME [Program]: Define a user derivative I read on the HP48G User Manual the use of this variable (Calculus and Symbolic manipulation 20-11 - pdf page 251). The HP49G doesn't more support such usage (fortunately, cause that make an inconsistent approach to the calculus IMHO) * ENVSTACK [List]: PUSH and POP put/get the Flags and Path here Never seen. * MATRIX [Matrix]: Created and used by some Matrix Commands SYSTEM [Matrix]: A solved system ?? I knew this variable but they never appear in the dirs or in CASDIR during operations involving matrix and linear systems. Maybe they was supported in earlier ROMs? * DIGITS [Real, Int]: LongReal, LongComplex length I know this is reserved, but not yet implemented. What does it mean? receive the honour to be in the subj ^_^). Kickaha ==== SetHeader accepts any bint and computes modulo 3 which is the most natural thing in the world. Since MINUSONE is congruent TWO modulo THREE, the input MINUSONE has the same effect as input TWO. Here the easiest toggler of the three Header formats: :: GetHeader #+1 SetHeader ; Starting with the default Header, it toggles 2LineHead -> 0LineHead -> 1LineHead ->2LineHead ... If you want it the other way around, replace #+1 in the above program by #-1. Hope this helps Wolfgang ==== Arithmetic of the internal bints is arithmetic modulo MINUSONE (= FFFFFh). The bint objects form a cyclic group of order FFFFFh. Up to isomorphism, there is only one such group in the Math world. Unfortunately, a cyclic group cannot be ordererd in such a way that the laws of monotonicity hold. The command #< compares the hexa representations of bints, hence MINUSONE is not smaller as ZERO as the name MINUSONE might suggest :-) ==== Addendum to the Addendum Sorry, Arithmetic of the internal bints is arithmetic modulo 100000h (= 2^20 = 1048576d), not modulo MINUSONE. Thus, the order of the cyclic group of bints is 2^20 :-) Note that with respect to addtion and multiplication the bints form a ring, not a field. It has zero-divisors: BINT1024 #* BINT1024 = ZERO - Wolfgang ==== at any <76ea4fd3.0112101005.2e9833fa@posting.google.com> <3YuR7.252916$e5.140241@newsfeeds.bigpond.com> ==== JA> That should answer your question It does, thank you very much for the exhaustive info. - Carsten You mean every CPU internally speaks RPL and so it translates everything to RPL? ==== .. You are right. I only timed the code CASE ......cases END without the STO+ because I only wanted to compare the execution time of the CASE ... END structure. But the code will of course error when no case is TRUE, becuase the STO+ doesn't have any arguments then. So let's modify it without any error traps: CASE k 18 == i 90 < AND THEN 22 'i' END k 11 == j 15 > AND THEN -15 'j' END k 16 == THEN IF i 22 > j 32 < AND i 66 > j 46 == AND OR THEN -22 'i' END END k 17 == THEN IF j 17 < j 32 < i 44 > AND OR THEN 15 'j' END END 0 'i' @when nothing of the above is TRUE, give 0 and 'i' @as arguments for the following STO+ END STO+ Will that work correctly in any case? Greetings, Nick. ==== Geia sou re niko :D I am not sure. I lost my mem yesterday and i am bored to set up again to TIM the two versions... oh well, what the heck... here goes: i store 5 in I 6 in J << IF I J < THEN I 5 + ELSE J 3 - END >> MEM DROP TICKS SWAP EVAL TICKS and 'IFTE(INUM TICKS damn... algebraic is 8 ticks slower... :( it's smaller, however... ==== What he means is that every computer must know all arguments to a function before the function can be carried out. -- ==== An algebraic object, in memory, looks identical to an RPL program object with the exception of prologue and RPL program objects always contain the << >> delimiters. Here's how much of a difference there is... take the algebraic object 'sin(x)'. Rewrite the 5 nibble prologue from 0x02AB8 to 0x02D9D. Now you have the systemRPL program object: :: ID X xSIN ; which on my Java stack looks like: 1: X SIN and all I did was change the prologue. -- Aaron <3C50A678.EA4C63FD@miu.edu> 23:13:07 -0600) ==== It has nothing to do with the CAS, and here again is some more information (ever see it before?) Comparing two sample functions (and your own timings :) << -> a 'a^2.-3.+SIN(a)' >> 'P1' STO << -> a << a 2. ^ 3. - a SIN + >> >> 'P2' STO Although P1 and P2 are both the same length, their content has a few differences (you could have examined this yourself :) P1 (algebraic) P2 (RPN) :: :: x<< x<< xALG-> xRPN-> *different* LAM a LAM a SYMBOL x<< *different* LAM a LAM a %2 %2 x^ x^ %3 %3 x- x- LAM a LAM a xSIN xSIN x+ x+ ; x>>ABND *different* x>> x>> ; ; Now compare the internal function xALG-> with xRPN-> (both of which display as the same-looking -> in your calc), and also note that the embedded extra SYMBOL object (in the algebraic case) introduces an extra object and return stack level, which xALG-> has to EVAL, because it does not execute itself automatically in the runstream, as in the RPN case; xALG-> also has to do its own ABND (release the environment), since there's no ABND in-line, as there is in the RPN case. As to the RPN content *within* the algebraic computation, note that it is identical in either case, so whatever is different between the two cases has to do only with a different way of handling the temporary local variable environment between xALG-> and xRPN->, plus the need for xALG-> to create and evaluate one extra runstream level and do its own ABND, and has nothing to do with run-time compilation (all compilation occurred before you even stored these programs). We can see from this one example that there is slightly less overhead at execution time to handle a basic user local variable structure in the RPN case than in the algebraic case; when you supplied a real argument, your time difference, as posted above, was .0018 seconds -- well, I hope that this long delay does not make you grow old and gray before your time :) Other places where you could set up a program differently by using algebraic formulas vs. RPN will each have their own unique comparison, according to how they are structured; in many cases, as I said, there is this quite small extra overhead in the algebraic alternative (often saving you some programming time and effort as compensation), but always due to causes similar to what I've mentioned, since within any algebraic object at execution time, there is nothing but directly executable RPL, already created by the compiler before the program was even stored. , grobs, but I'dont know how to replace the OnKeyDown? with the counter you've mentioned since I'm not expert in assembler. Can you show me how? ==== Try to apply RANK command to this matrix: [[1 0 'a'] [1 0 'a'] [1 0 'a']] a is undefined In exact mode it gives 1 (right) In approximate mode it gives 3 (wrong...) I use ROM ver 1.19.16 CAS ver 4.20010912 /-----------------------/ Marco Tinarelli - Bologna - Italy tittiXXYYZZ_tt@tin.it (togliere XXYYZZ dall'indirizzo per rispondere) ==== dgeve: ^^^ ooooooops I meant ROM 1.19.6 Bye /-----------------------/ Marco Tinarelli - Bologna - Italy tittiXXYYZZ_tt@tin.it (togliere XXYYZZ dall'indirizzo per rispondere) ==== If you really want a Xpander, go to Computer Shop and by a Handeld PC under Win CE and download Xpander software on HP.com Eric Roger Metcalf DDS a 216crit dans le message de %Qf38.414$iG4.209019016@newssvr12.news.prodigy.com... has ==== Where exactly can I download the Xpander software? under ==== In HP.com? I haven't seen that yet.. The Advanced Math Xpander Software I know can be downloaded from: http://www.saltire.com/xpander.html And it's funny to see that Saltire company has developped other products like.. Under contract with Casio Computer Company, Saltire developed a computer algebra system which was embedded in the CFX-9970G and the CFX-9990GT calculators. Saltire has also developed for Casio the revolutionary new Algebra FX 2.0 calculator. This is the first calculator which actually teaches students how to do algebra, rather than doing it for them. Yes.. Algebra FX 2.0 .. a CASIO calculator.. It's nice surfing its web.. J.Manrique CdU de la ETSIG ==== Has manejado alguna casio Algebra FX 2.0 ?? como la comparar222as con la 49? (en l222neas b207sicas) he visto una pero no he tenido oportunidad de ponerle la mano encima Lopez de la Fuente, Jose Manri escribi227 ==== Hmmmm.....I've heard of classes where students weren't allowed to use calcs with CAS, or QWERTY keyboards, or IR ports, or even sometimes graphing calcs but this is a new one to me--I'm taking a financial accounting class where we are not allowed to use any device with a display larger than 1 inch tall! Our professor said that in the past students had been caught with wireless devices that they were using to communicate with the outside world during exams (maybe a Palm?) and others were storing too much info in their large screen devices. So we are free to use any type of calculating device that we want, as long as the display is less than an inch tall (and it also must not make noise during exams.) I'll have to go measure to be sure, but I think my 19Bii will be OK. Maybe I'll get one of those big old 9800 series desktop calculators just to mess with them. Power to the People! Roger Arlington, Texas ==== I looked at a school that had a math department that wouldn't allow ANY calculator on exams. I don't know about the rest of the world, but I don't think I would have even passed pre-algebra if I wasn't able to use a calculator of some sort. To check my work, of course! Micah calcs calcs we tall! wireless during large long will calculators ==== Roger, I work for a company which deals with customers in the financial sector (merchant banks, stockbrokers etc.) and there are industry recognised examinations which specifically require you to use a HP 19BII. This does occasionally raise objections from people because it is a relatively expensive calculator (about GBP139.00 retail). The stalwart of the financial calculator world is, of course, the HP 12C. Again it is relatively expensive, but look and feel is (IMHO) way above any others. So, I doubt that the 19B-II is a banned calculator. It is more likely to be a *required* calculator! I don't think its display is more than an inch high, but I don't own one, so I cannot be certain. However, I think it has the same clamshell as the HP-28C, and I have one of those. The screen area on that measures: 29/32 inches high by 2 and 3/4 inches wide. So you are probably clear by 3/32 inches :-) Technically speaking, I should qualify my measurement by saying that this is for the visible LCD area, and not the size of the LCD display, which probably extends a little bit outside the display cut-out in the plastic casing. But this is a technicality! Mark. calcs calcs we tall! wireless during large long will calculators ==== If you know that a GC will be needed, you can force one in your code by dropping to systemRPL and calling a GC. This way all of your pointers will be updated. I still think the best suggestion is to save your data in tempob in the form of a string object while the program is in execution. If you need to retain that data for later use of the program, then move the string object to the hidden directory before you exit the program, and reload it from the hidden directory to recover it before you start again. That way you dont have to worry about properly saving objects in stored memory and slowing down your program while in execution. -- Aaron ==== I think you give me more credit than I deserve! ;-) -- Aaron ==== I didn't mean specifically calculators here but mathematics formulation in general. But let's stay in the domain of calculators. You must have noticed that even the newest RPN calcs of HP return algebraic results in algebraic notation. Would you like to have *everything* in RPN/RPL? So for example, would you like the calculator to show 2 L SQRT / n Pi * X * L / SIN * instead of 2 / n*Pi*X ------- * SIN| ---------| ? SQRT(X) L / Seriously! I grew up with a very strong math/physics interest and though RPN/RPL is so much better for everything, I was never tought that Einstein found E m c 2 ^ * = . I never have found a book with the best formulation of the relation of a matrix A its eigenvalues E and eigenvectors C, which of course is C E * C INV * A = . And of course all universities of this world should teach their students that Schr232dinger found hbar 2 ^ 2 m * / NEG {X} Y APPLY X d X d * {X} V APPLY {X} Y APPLY * E {X} Y APPLY * = as the one-dimensional wave equation. (Not to speak about the beauty of this formulation when we extend it to three dimensions.) Could it be that we exaggerate a littel bit, when we talk about how good RPL is for *every* purpose? Greetings, Nick. ==== Nick--- [lots of convincing argument deleted] I see your point. I forget that in todays day and age, the calculator is no longer a simple computation device, but a handheld CAS. I still remember making the crack to my Calc II instructor about five years ago that my 48GX was ``Maple in the palm of my hand!''. For abstract algebraics, I can see the need for algebraic entry and display. Once I have the formula, however, plug-and-chug computation (not algebraic solution) is easier in RPN than it is in algebraic. Another thing: I find the equation editor to be difficult, if only because navigating from point to point in the equation can be such a pain. I like the TeX and LaTeX method, where hbar^2 dÓY(X) - ------ ------- + V(X)*Y(X) =E*Y(X) 2*m dXÓ Would be represented as: - { { hbar ^ 2} over { 2m } } { { d^2 Y(X) } over { dX^2 } } + V(X)Y(X) = EY(X) Difficult to read, yes, however once you learn it it's ever so easy. Henry C. Gernhardt, III remove _NOSPAM to reply directly ==== Regarding John H. Meyers fin49a.zip from 2002/01/16 (File FIN49A.BIN is an HP49G version of FIN421B [HP48G] authored by Don [MacDonald R.] Phillips) I had trouble using FIN49A.BIN. For example, the given exercise for the EQV application. My 49G kept sending me an Undefined Name Error (with an exclamation mark in a dialog box), until it crashed down. I was using the 'X' variable as in the example (and followed it thoroughly). I had read FIN421B.TXT file and (believe) I'd installed it properly. I set up my 49 as my pretty old, loved and lost RPN 48GX (which I miss so much as her button-keys). Would it be possible that I misunderstood any step in the machine setup or is it possible that there was an error in the 48-49 translation ? (I'm sure I made some mistake I can't find out, cause is very rare John Meyers makes one). Any other 49 financial user out there ? Carlos http://www.hpcalc.org/hp49/apps/misc/fin49a.zip [49G only] ... FIN49A.TXT ...it is all UserRPL, except for the six short PAD... SysRPL programs in the top-level directory, which I simply dis-assembled using Jazz on HP48G and re-assembled using MASD on HP49G, so big deal ;-) Only very *cursory* testing has been performed on FIN49A! Back up your memory before using! Please read FIN421B.TXT for complete usage instructions. Note that FIN49A.BIN is the complete package in one file; ... 19:47:59 -0600) ==== And was 'X' undefined? (no such named variable yet existing?) [some 49G CAS commands *require* that it be undefined, which can be a slightly annoying problem, especially as the variable must even be undefined in all higher directories, as well as in the current directory, which even the famous CAS delete variable dialog does not fully account for] At what point in the example do you first encounter this problem? What arguments remain on the stack when it occurs? (keep flag -55 cleared, to make sure that args are saved) I am following the example now, from FIN421B.TXT, with my calc in Approximate mode, getting through the CAS change modes dialog for SOLVE, and I am up to where the answer X: -4143.03096231 has appeared (did you get this far?) Now I've done the CPCT example, answer X: -2969.54451928 Pressing DISP, however, gives me a | Error: Bad Argument Type; perhaps the functional changes to some GX commands for the 49G CAS have introduced a problem, but as I've made no attempt as yet to study the programs, I don't yet know. I see that the SLV program (used for SOLVE) does contain 'X' ISOL, however, and ISOL is one of those commands which has been changed significantly for the 49G, becoming a more or less all-new CAS command in place of its 48 counterpart (explaining why I got the change modes dialog, for example); say, why is that variable name 'X' hard-coded into the SLV program? (if a variable 'X' exists at this time, ISOL won't work on the 49G, although there was no such problem on the 48G). Based on the above observation, try some different variable name (one which you are sure doesn't exist) and perhaps try again. Does the example work completely as shown, on the 48G? Recalling my current 49G flags, for the sake of any other dependencies: { #7881210201615FF1h #0h #5151610A216020h #0h } Why not? These applications are all Greek to me, and I don't know any Greek at all :) But curiously, I was once involved in developing a Japanese word processor, and lack of knowing any Japanese didn't seem to make any difference :) Well, there's got to be a first time :) Keep me posted, thanks! [r->] [OFF] 02:10:12 -0600) ==== This simplified example is similar in concept to a section of my program: DEG -120 SF 'X=5' 'X' 0 OVER STO DUP STOVX ISOL Result [with current version 1.19-6 from JYA, not from BP]: Although the Radian mode on? dialog box is (correctly) suppressed, the Purge current variable? dialog box still appears and must be responded to, before the result 'X=5' can be obtained. Isn't flag -120 supposed to suppress all of the CAS dialogs? The reason I'm asking is that I'm trying to hack away at the HP48 triangle solver TRI1, to try to make a 49G version possible, even though there are so many problems with the ISOL command, which in no way works like its counterpart from the HP48, that this seems an almost impossible task (and therefore almost takes a little longer, according to the Marines' credo :) I've given up on being able to hide my variables in the hidden directory, I've accepted the danger that if any of the triangle variable names also appears in a higher directory, then the CAS will unavoidably purge *those* innocent and unrelated victims of coincidence, just like the real-life results of a few misguided Marine shells (or else ISOL has to abort its mission entirely), and now I can almost get a solution to some of the most trivial cases, except for having to respond to this dialog box *three*times* for every attempt at solving one triangle, just like running a real-life gauntlet of a series of Marine checkpoints ;) By the way, I once pressed CANCEL at some dialog box question, and got an External and a Bint left on the stack. All told, playing with this machine is more fun and surprises than choosing Random Terrorist Attack from an interactive video war game, leaving Minehunt and Tetris in the dust ;) [r->] [OFF] ==== I'm finishing the adaptation of the Forbidden Love trailer on HP49. It takes 80% of the RAM, including 20 Ko of free memory needed to run the program. There are 82 pictures in 8 grey levels, animated at a speed about 3 pictures for 2 seconds. The scroll is quite slow, but you have the time to watch the pictures. All pictures are TNT-compressed, and are unpacked in realtime. Greyscale display is performed using the V'ger interruption handling, and allows multitasking with the unpacking. Watch http://hp49g.multimania.com/english.html after january the 29th, 2002 ! Yoann D216sir. ==== I always wwnted become a Jedi... but I have a 48BORG :-( Yoann D216sir escribi227 en el mensaje ==== To myself: THINK BEFORE WRITE!! To you: Sorry for mistakes in my answer... I always wanted become a Jedi... but I have a 48GX: I am a 48BORG :-( R Lion escribi227 en el mensaje ==== Yeah yeah !!! I've seen it many times in my PDA, but this would lovely.. May the force be with you.. J.Manrique CdU de la ETSIG ==== Ok, thank you for your help guys, I'll try :-) ==== When I type VERSION in my hp39g calc, it states: Copyright HP, 1993,2000 Does ne1 know what the A stands for, and why it would say 1993. thanks ==== because it was the first of the non-beta ROMs. I think the copyright 1993 would be because the ROM was largely based on the ROM of the 38G, which was copyright 1993,1995. -- Colin Croft Old mathematicians never die; they just lose some of their functions. ====================================== Applications in Mathematics ccroft@iinet.net.au http://members.iinet.net.au/~ccroft/ ====================================== ==== Has anyone used HP48 EMU, and if so, do you know how to change the calculator from the normal calculator mode to the RPN mode? ==== Just in case you haven't figured it out so far, click on MODE/H key then on F2/B (CHOOSE), on down arrow to select RPN mode and finally on F6/F (OK). Gerson. ==== I currently have the HP48G calculator. Is there any advantage to moving to the 49G? ==== I'd have to say 'Possibly'. I have both a 48G and a 49G and, while the 49G unarguably does more and has more memory, flash, etc, I still prefer the 48G for useability. My 49 has stiff keys, which really puts me off (discussions on the list seem to suggest that the Chinese manufactured 49s have a lighter touch to the keys, though I'm not sure how much better this is...ie: is it quick and light to use like the 48 or TI-89 keyboard?)...I wish that HP had left the 49 in the 48 case with the nice keys and grey casing. All that said, I like the 49G. It's powerful and has a HUGE amount of storage. I don't find the CAS too useful but it does work. You could also think about getting a GX, as I am, and a couple of memory card in port 1 with a nice big 1, 2 or 4M card in Ports2+. The best bet is, if you can, to get hold of 49G to try for a while before you buy. Well, that's my 0.02 Euro... WigglePig ==== Should I, err, help? (Using a loaded phaser ;-) ) Greetings, MacNick. ==== Stuart, As many other in this NG will doubtless echo, the HP-49G is superior in terms of the functionality it offers, and also in terms of memory which is included with the calculator. It has a flash ROM which enables you to take advantage of upgrades (although this also means that HP managed to release the calculator with what some might call an immature ROM). I have both an Indonesian and a Chinese 49G. To me, there is no noticeable improvement with the Chinese model, neither with the keys nor with the display. On my Indonesian model, I have removed the protective screen cover, which I regard as a vast improvement, but the screen is vulnerable to damage - but mine never leaves home so it is OK. I prefer the look and feel of the 48 and the docmentation from HP on the 48 is very good. Having said that, most people who are taking up HP graphing calculators for the first time will probably opt for the 49G, so new things are always happening with it - although there is a lot of software already written for the 48s, of course. There is also a pair of books written by Gilbert Urroz on the 49 (and on the 48 I think) which are excellent - I have only the first volume at the moment. These are available from greatunpublished.com. If you don't mind taking the plunge, I think the 49G is opens a lot of possibilities. Mark. ==== Nabla or grad: Just use DERIV with a function and a vector as arguments: Example: Enter: SIN(X)*SIN(Y)*SIN(Z) Enter: [ X Y Z ] DERIV returns: [ COS(X)*SIN(Y)*SIN(Z) SIN(X)*COS(Y)*SIN(Z) SIN(X)*SIN(Y)*COS(Z) ] Potential: Use the command POTENTIAL with arguments a vector field and a vector. Example: Enter: [ X^2 Y ] Enter [ X Y ] POTENTIAL returns 1/3*X^3+SQ(Y)/2 Rotational: Use command CURL with arguments a vector field and a vector. Example: Enter: [ X^2*Y Y^2*Z Z^2*X ] Enter: [ X Y Z ] CURL returns [ -Y^2 -Z^2 -X^2 ] There is also VPOTENTIAL which finds a vector potential of a field. Linear algebra: Many many many functions for linear algebra. Too many to list them all here. Tensors: Well, with all these commands available, it shouldn't be difficult to write programs for tensor algebra. Yes. The built-in functionality ;-) Greetings, Nick. ==== Make one yourself dumbass: http://www.area48.com/ -- codeZ Postulate of Universal Quantization: http://www.geocities.com/wwwwqi//uniquanta.htm ==== Back in August of 2000, HP sent me a free PC to 49G cable with an adapter to fit a 48, plus a CD, an updated Pocket Guide, and an Advanced User's Guide when I called and asked them for a ROM upgrade kit. I don't know whether HP still does this, and read that their policy on this varied depending on the country. Call the number on the inside back cover of your User's Guide, and please report the results to the newsgroup. Other than that, assuming that you don't care to make your own, try http://www.samsoncables.com/ and http://www.calcpro.com/ (both list the cable at US$19.95), or you *might* be able to get it a bit cheaper on eBay. Good luck, James ==== I just called HP yesterday (1/25/02) through the US number in the User Guide. The guy I talked to said that they don't ship out cables indiscriminately, so I explained to him I wanted to upgrade my ROM. That seemed to be a satisfactory answer and I got my free cable. ==== On Sat, 26 Jan 2002 15:50:01 -0500, Peter M Leonard Could you post the phone number for HP for those of us who don't have the User Guide readily available? J Boylan ==== What do you mean? Anything that can be put on the stack is an object. Actually, IFT will accept any object on level 1, and anything that looks like a boolean value (i.e. a real) on level 2. Inlining a program, like I did, or RCLing one, like you did, doesn't change anything (except that one of the methods is faster than the other one. Finding which one I prefer is left as an exercise to the reader :o). Did you even try? All STO-opn commands accept their arguments in any order (and, when the operation is commutative, like + is, switching arguments doesn't change the result). This is documented behavior. Other than that, I can't disagree with you. It is nothing more than a question of style. You are free to prefer the value-then-variable order. It is indeed reserved (a square root of -1), but one couldn't possibly expect the variables of the program to be global, because that is so slow, and probably a bad practice too (although talking about programming practices is usually a great way to start flame wars). Granted, I didn't explicitly state that. My sample program should be part of a bigger program, that takes care of setting local variables, most likely from stack values. Once 'i' has been declared as local, putting the 'i' variable name on the stack is straightforward. You don't need the RCL, by the way. The following program works, returning 27. << 18. 5. -> k i << k 18. == i 90. < AND << 'i' 22. STO+ >> IFT i >> >> It seems to me that the issue with the original poster's program is that it is a mix of algebraic and reverse polish notation. Switching to all-algebraic or all-RPN solves all problems. Since IFT is not a function on the HP48 (it cannot be put in an algebraic object), and the population of this newsgroup abhors the HP49 ALG mode, the only alternative was RPN. In many cases, there is a faster way than cascading tests (CASE, IF or IFTE), as was discussed lately. It involves using lists and POS. I think it is the control structure that HpMad calls speed CASE. I don't think I have ever used CASE again after I found out about POS. In other cases, at most two levels of IFTE suffice, before everything becomes unreadable. -- David Haguenauer ==== On Fri, 25 Jan 2002 12:18:43, David Haguenauer I meant only that the way it was written, (in mixed algebraic and RPL, as you note), there was no single object in level 1. Absolutely, with the proviso that if you expect a programmatic type of response, then the object must look like a program, and not like a variable. Like all items of 'style' this depends..... If you are writing in a quick and dirty style, mostly in your head (like I was doing yesterday while standing in the lineup at the bank!), using program objects helps cut the program into usable chunks. Writing in-line is faster, but without any documentation/comments, such programs can be a bastard to understand, just a few months later (especially if you have piled stuff onto the stack). Some of my early HP-67 programs took me an incredible time to port to my HP-41CV, because they had been written to squeeze the most out of every program step. Now I tend to write the other way...I am profligate in my use of physical storage resources, and I only stuff the stack where I need to keep a group of related variables available (such as setting up a program segment for use within a FOR loop). (And I have not yet explored whether in fact it would not be faster to use local variables rather than DUP'ing, ROT'ing and PICK'ing from the stack. I suspect local variables might be faster, if only because less operations are required.) Got sidetracked by the local/global 'i' problem.. You are right. It is only apparent from a careful examination of the stack diagram. (RTFM Geoff!!) As you also note, the operation must be commutative for the result to be the same with either order: STO/ is *not* commutative..the 'odd-man-out'. > Other than that, I can't disagree with you. It is nothing more than a Agreed. Yes. I have a few CASE's which are only 3 choices: IFT can work well here. I also have more than a couple of 12 -15 choice CASE's which I am in the process of changing to the use of POS. I only caught on to this use of POS a few days ago, thanks to a post here concerning the answer to a multiple-test screening program. Part of the problem/intrigue with these machines at the programming level, is that there generally at least a couple of ways of dealing with most programming problems. Part of the fun is finding the best way for your purposes. Geoff -- ==== Did you enter this into an HP49G while the calculator was in Algebraic mode, and then see the calc highlight AND, and pop up an Invalid Syntax message? If so, in 49G Algebraic (HP Basic) mode, you must stick to Algebraic syntax, e.g. (ignoring that 'i' is a reserved variable name, which you'll hear more about during execution :) IFT(k==18 AND i<90,STO+(i,22)) If you were in RPN mode all this while, however, the problem is somewhat the opposite -- the user IFT *command* takes its arguments from the *stack*, and so does the IFTE *command*, as opposed to the IFTE() algebraic *function* which you can specify within quoted algebraic expressions only. If by any chance you are related to Mikhail Tal, you're in the wrong game, playing with this calculator instead of with Bobby Fischer (if you can find him :) Oh, good Lord, there he is, behaving like a total fool, playing the wrong game himself: http://news.telegraph.co.uk/news/main.jhtml?xml=%2Fnews%2F2001%2F12%2F02%2Fw fisc02.xml [r->] [OFF] ==== I need to display a inverse funktion from: x=ln y -1/2 *ln(1+y). Does my hp 49g make those calculations and how? Thomas ==== The easiest way that I found on the 39G (which should work on the 49G) is to use parametric equations. eg. Suppose y=x^2 Enter x=t and y=t^2 as the first set to display the function. Obviously simple substitution shows that this is the same as y=x^2 but you need to ensure that the range of t is set to be the same as the range of the x axis or only part of the graph will display. To display the inverse function just reverse the roles of x and y as follows: x=t^2 and y=t. Easy! -- Colin Croft Old mathematicians never die; they just lose some of their functions. ====================================== Applications in Mathematics ccroft@iinet.net.au http://members.iinet.net.au/~ccroft/ ====================================== ==== i need the funktion y= ....! It must give an easy instruction, or not? Colin Croft schrieb in im Newsbeitrag: 3C52959E.7C26F5BA@iinet.net.au... to simple that part of follows: hp x-mac-creator=4D4F5353 ==== I don't know how to do this on my calculator (because I haven't really learned to use it yet), but just because you have a powerful calculator doesn't mean you can stop thinking. x = ln(y) - 1/2*ln(1+y) x = ln(y / sqrt(1+y)) e^x = y / sqrt(1+y) sqrt(1+y) e^x = y (1+y) e^(2x) = y^2 y^2 - y*e^(2x) - e^(2x) = 0 y = e^(2x)/2 +/- (1/2) sqrt(e^(4x) + 4e^(2x)) It turns out that by squaring the equation on the fifth line above, we've introduced a new solution for y, which doesn't necessarily correspond to the original solution for x. But graphing these two function of x shows that the positive sign is the one to use, giving: y = (1/2) * e^x * [ e^x + sqrt(e^(2x) + 4) ] What's surprising here is that I see absolutely no way to get from this back to where we started. How do you form: ln(y) - 1/2*ln(1+y) from that expression for y? I suppose, by looking at the sequence above backwards, that you have to know to square y and then add it to some constant times y to get something you can recognize, but it certainly isn't clear to me. -Doug Magnoli ==== I advice you to sell ur HP and buy a TI (texas instrument). The TI is more appropriate to simple use(I mean when we haven't to program with). That's exactly what I have done. with TI u enter the function with 1000 parametre and u have the inverse. also u enter a limit or an integral with as many parameters u want and u have the result. With Hp all u can have is a numerical result which is useless. Bye. 3c5277f6$0$13618$9b622d9e@news.freenet.de... hp ==== I think... you are VERY wrong. GHARRED Sofiene escribi227 en el mensaje ==== U made a mistake in ur resolution, we can't get the inverse fuction because x = ln(y) - 1/2*ln(1+y) is not inversible. To know if a fuction is inversible or not we have to look if it is strictly increasing or strictly decreasing. In our case the function is not strictly monotonous. (just look at the derived fucntion it's not strictly positive or negative). Consequently ur arguments graphing these two function of x shows that the positive sign is the one to use, giving: y = (1/2) * e^x * [ e^x + sqrt(e^(2x) + 4) ] is an absolute nonsense. PLease and please think before answering people. Sofiane. Centrale Paris's engineer. That lead 3C52ADD8.B6AAD06E@attbi.com... learned mean the the back constant to ---------------------------------------------------------------------------- ---------------------------------------------------------------- ==== a2ungg$nsb$1@titan.bt.es... u see u are a programer on hp. personnaly I prefer programming with C/C++ or java on a computer. just a question have u ever used TI92? ==== GHARRED Sofiene escribi227 en el mensaje No, I don't. I've seen one of a mate, but I haven't use it. That is because I said I think... ==== Also, calculators with qwerty keyboards are banned on many tests... <3C52ADD8.B6AAD06E@attbi.com> x-mac-creator=4D4F5353 ==== 1. It _is_ invertible. 2. I think what you mean here is that a function such as y=x^2 isn't invertible because if we take x=sqrt(y), we have only 1 'branch' of the function, i.e., any function where y(x1) = y(x2) isn't invertible, because when we invert, we'll get x(y) can be either x1 or x2, i.e., it's multi-valued, and therefore not a function. Good point. 3. This function is monotically increasing. Its domain, because of the properties of the log function, is (0,oo). Its derivative is: x'(y) = 1/y - 1/(2(y+1)) = 1/(2y) * (y+2) / (y+1) Since (y+2) / (y+1) is always greater than zero (on the doman (0,oo), and since 1/(2y) is always greater than zero on the same domain, the derivative is strictly positive. 4. Take a look. This function of x gives exactly the same graph as the original function of y. 5. Good idea. -Doug Magnoli <3C52ADD8.B6AAD06E@attbi.com> <3C53268E.C0AAC4EA@attbi.com> x-mac-creator=4D4F5353 ==== Oops...posted too soon. One more point. y = (1/2) e^x (e^x - sqrt(e^(2x) + 4)) Since sqrt(e^(2x) + 4) > e^x, this would result in a negative value for y, whereas it's clear from the original function that we require y>0. ==== What 1000 parameters are necessary here? And you don't on the HP? Examples please. On both the HP49G and the TI92+ you just solve for 'y', and you have the answer straight away. You know that the Hp49G does have a CAS? You seem to be on thin ice here. Numerical results are useless by the way? You do not need a calculator then - why do you participate in these discussions in that case? ==== ...and the 48 with Erable, too. I need LIN and LNCOLLECT, then SOLVE and finally, EXPAND. ==== I don't understand (and don't like) Calc Wars. I have my calc, you have the yours, let's talk for getting the best. ==== Terribly ;-) It returns (42*X^3-6*X^2-9*X-27)*XROOT(3,X-1)/140 Why? What's the problem with that integral? Greetings, Nick. P.S. Sorry for the delayed reply, network problems. ==== Oh my! In my last reply I said that the result of integration was (32*X^3-6*X^2-9*X-27)*XROOT(3,X-1)/140 But this was of course wrong. I integrated x^2*(x-1)^(1/3) and not ((x^2*(x-1))^(1/3) The HP49 can't integrate the functions which you asked about, Bhuvanesh. :-( Greetings, Nick. ==== Another one...:-( Greetings, Nick. P.S.: Aggrrrrr again ;-) ==== I have checked out Nick's example Show that SIN(ACOS(X))*COS(ASIN(X))=1-X^2 The solution I get is -(X^2-1) I appreciate that this is the same, but I wondered what I need to do to remove the - outside the brackets. I have also noticed my calculator gives a similar type solution i.e., - (...) to some of the other problems. I am enjoying the Marathon, and it is certainly showing me how to use some of the features of the HP49G. One comment, could the Marathon number be included in the title ? Aubrey ==== How about if you provide a constraint: x>=1 ? :-) All this just shows that these two calculators complement each other. Neither of them is the best. Bhuvanesh. ==== ... I don't know the answer to the original question but I can criticize. The above is a poor example because the matrix is singular. Its determinant is zero. You might say it spans two dimension. Neither the rows nor columns are linearly independent. [1 2 3] - 2[4 5 6] + [7 8 9] = [0 0 0]. Since it spans two dimensions that leaves one dimension for the nullspace. Therefore, any multiple of [-1 2 -1] is a solution. What troubles me is a nice solid systems Ax = 0 where A = [[ 1 0 ] [ 0 1 ]]. We get the solution [1 -1] or any multiple. Yet A is a nice matrix. Any ideas? Dan K. <3C4DD5AB.FAE18EC3@iname.com> <3C4E790E.A16CCC8@spam.no> <3C4F6BF3.5010401@sandia.gov> <3053eba9.0201250138.4c777daf@posting.google.com> ==== No we dont. The nullspace N(A) is {0}. If we use X = Xn = [1 -1], you get AX = [1 -1] =/= 0, since A = I. A matrix must be nonsingular to have a nullspace. A nxn matrix has rank r = n, and the dimension of the nullspace of a matrix is dim A = n - r, and thus dim A = 0 in the singular case. So a matrix has to be nonsingular to have a nullspace (other than the trivial solution X = 0). Ray <3C4DD5AB.FAE18EC3@iname.com> <3C4E790E.A16CCC8@spam.no> <3C4F6BF3.5010401@sandia.gov> <3053eba9.0201250138.4c777daf@posting.google.com> <3C512F39.9EB005A@spam.no> ==== Corrections in text. ==== Mithrandir escribi227: Sorry. Isn't there a REF or RREF or something like that in the HP48? If you have the command EGV (or a program that computes the eigenvalues/vectors) the eigenvectors associated with an eigenvalue of 0 are a base of the space of solutions. If there's not such a command either, you may make it yourself. I think it won't be difficult, and all you'll need will be DET, INV, SUB, COL-, ROW-, and the like. ==== Oops! Yes they are HP49G commands. Buy an HP49G? ;-) Greetings, Nick. ==== Oops. I sure dashed that off without thinking. Without even pre-thinking! I was vaguely envisioning X1+X2 = 0 but that doesn't get us anywhere. So in answer to the initial inquiry, If I want to solve a linear system (AáX=B) where B is all zeros, how do I find the solution. The calculator is only giving me the trivial solution (x=0)., as Ray said, A matrix must be singular to have ==== I just got a HP49 and I cant get it to display the eigen vectors. after calculating it just display {{}{}}. other matrix functions work fine though. so kindly suggenst if i must change any settings or something else. BTW this is my first graphing calculator <>. other than this prob, it seems to be everything hp says it is -simply awesome ==== I would create a random value beetween 0 and a value in A.B register. What is your best code to create that on HP49G Reagrds, Eric ==== If I understood right, the questionwas: I have a value on the stack. (The 70 inches of your example.) I wnat to find in which variable it is. (The driver licence.) Having only this value, the 70 inches, how can we know to which licence it belongs? Or is there any additional information? I understood the following: Store 70 in 2 (or more) variables. Then enter 70 on the stack. Is there any connection between the 70 of the stack, and any of the variables that contain 70, when we don't provide any other information except the 70 on the satck? Greetings, Nick. ==== No, recall it from a variable. When you recall a variable, merely a pointer to that variable is recalled to the stack (that saves memory space). You can then find out which particular variable that pointer points to. This is easy to see when using the SysRPL words EQ and EQUAL. EQUAL checks as if the two arguments are identical in their body, but EQ checks if they ARE the same object, by comparing their locations in memory (if the two pointers point to the same place, the objects are two instances of exactly the same object, not just similar in construction). ==== Sure, here's more that I sent earlier: | If there is only one variable in the current path that contains | the given object, then there is only one possibility. There are plenty more possibilities, such as that an identical object could actually be from another variable in another directory (or may be in tempob, or may even be a variable within an archive currently stored in Port 0!) And even if no variable in the current path contains this object, that doesn't exclude the possibility that the object could be in a variable in another directory, which could either be a higher directory or even a completely unrelated directory -- even the hidden directory, for example, but in all cases where the object comes from any directory whatsoever (even if saved in a non-covered port), RAM-WORDNAME locates the variable name which is adjacent to the object, using the object's *address*, rather than its content. The most obvious use of RAM-WORDNAME is actually in connection with LASTRAM-WORD and PREVRAM-WORD, to implement a more general (and extremely efficient) VARS2 command, as was done in the HP48 Hack library, and also noted here: http://groups.google.com/groups?selm=64knj9%24123%241%40news.iastate.edu But speaking of Alice's Restaurant, we're way off the topic of the original question, since it turned out that the person who posed it was, after all, interested in starting with a list of variable names and then getting their content, rather than starting with a list of objects and looking for their variable names, so the tail is still wagging the dog here :) [r->] [OFF] ==== Does anyone know the history of RPN notation? Is is copywrited by HP? What about USER and SYS RPL languages? ==== Rick--- Go to http://www.hpmuseum.org Not RPN. RPN stands for Reverse Polish Notation---more info at the link above. I believe those are copyrighted, as well as proprietary. Hope it helps, Henry C. Gernhardt, III remove _NOSPAM to reply direct ==== What I could gather from the web site ( www.hpmuseum.org)is that RPN is not property of HP, since it was derived from the work of Jan Lukasiewicz. So in theroy someone other than HP could design a calculator utilizing RPN. I would appreciate it if anyone who knows the answer to that would let me know. RIck Dyer ==== just change the name, say Object Oriented Math? <3C521B07.F9B6172C@earthlink.net> ==== What exactly is your question? RPN hasn't been invented by HP, but RPL yes. Of course someone else than HP could produce RPN calculators. In fact, I use an RPN calc on my Palm. It's not a physical calculator, but it's clearly RPN, and HP has nothing to say against this. For the RPL (language), I don't really know if HP has any patent on it, and if they have one, if they'll enforce it if someone would produce a calculator using this language (or even a software). To me, RPL is a natural extension of RPN. In fact, I'd be very happy to have an RPL/RPN calc as powerful as an HP28, but running on another device, maybe my Palm... ;) I'd be glad to write such a software... Of course, it would mimic the interface of the HP28/48/49, because I find this interface very productive, and of course it would inherit of the same language. I clearly don't know if HP would prevent this from happening, and if they would, what could be their targets (what would annoy them: interface, RPN, RPL?). -- Erwann ABALEA erwann@abalea.com ----- Je parie un poste que t'as jamais news reader dedans alors stp arrete parler d'un groupe que tu ne lis pas... Super argument ca fait vachement le debat... -+- CA in : Guide du Neuneu Usenet - Tu t'es vu quand t'as bu -+- ==== Yes, that could be done. Here's RPN for the TI-89/92+, for example: http://www.perez-franco.com/symbulator/download/rpn.html Someone's also writing an RPN app for the TI-83+ (see Xavier LaRue's entry): http://perso.wanadoo.fr/ti92-ti89.miclo/contest/contest.htm Bhuvanesh. ==== ....and I have a couple of old Novus calculators (National Semiconductor) that use RPN as well....perhaps you might like to check out the HP Museum site.... http://www.hpmuseum.org Roger Arlington, Texas ==== I know there is work on RPL for computers http://rpl2.free.fr/english.html http://freshmeat.net/projects/rpl2/ So I would suggest basing your RPL work oin this or making it compatible. As for the interface. I would suggest All display sections be optional (Kind of like how you can turn the keyboiard on and off already) with 4 Entry styles: Number Pad, alphabet, Commands, Alias (User). I would think that if you made them square you could fit maybe two on the screen at a time (or perhaps, make the Entry types Number/Command, Alphabet, and Alias) It should be easy to switch between them and turn them off (Icons in status bar?). As usualk you would have the stack at the top of the screen and if you clicked on one fo the linbes you would go into line edit mode. Pretty print for as much as possible I think is also important. Also Make it so that you can switch between grafiti letters representing symbols or letters. So that maybe an S can be an integral, d derivative, etc. I would say try and let it have as much functionality as possible, even if it all is just numeric work. I think an interface like taht would work well on how a palm works. Ed Page ==== I search for an HP28S the listing of a program call CHT Ambroise. ==== Here's a sample of a self-modifying library. It has two commands: REAL and CHREAL. REAL (Returns a real number to stack level one) :: CK0 % 0 (DO NOT WRITE %0 !!) TOTEMPOB ; CHREAL (Changes the real returned by REAL) :: CK1 CKREAL TOTEMPOB ' ID REAL (Now it's an id, but once compiled it'll be an XLIB name) ROMPTR@ DROP CODE GOSBVL =SAVPTR A=DAT1 A points to xREAL C=0 A LC(1) #F skips DOCOL, CK0 and prolog (5+5+5) A=A+C A D1=D1+ 5 C=DAT1 A points to new real (object) D1=A points to old real (data) A=0 A LA(1) 5 skips prolog C=C+A A CD0EX D0 points to new real (data) A=DAT0 W DAT1=A W Change performed. 16 nibbles, size of real GOSBVL =GETPTR LA(5) #38D This is the library romid. Here 909d GOSBVL =FROMPART A=romid -> D0=address from ROMTAB GOSBVL =TRAVERSE- D0 points to beg. of ASCIX, nnTITLEnn D0=D0- 5 points to lib length field A=DAT0 A A=A-CON A,4 A=lib size - 9 (prolog + checksum) GOSBVL =DoCRC DAT0=A 4 Library checksum updated GOVLNG =GETPTRLOOP ENDCODE 2DROP ; FROMPART and TRAVERSE- are unspported entries, but static: FROMPART #0843A (48/49) TRAVERSE- #0841E (48/49) if you want a compiled version (48/49). Use it at your own risk (just beware of where you install it!) All credits go to Richard Steventon (->FNT command in his SOL library) Bye. HPCC member #1046 - ==== And what happens when this libray is saved in Port2 of a HP49G? Christoph ==== This is a crucial question. Clearly, a general but small and fast tool for slightly self-modifying a lib would be of enormous value - no need to store overcrowded by files automatically written by libs like CQIF, Emacs, TETRI etc. Is there any builtin lib which makes use of this possibility? Lib 2 does not. Rompointers like xERRN or xERRM do not directly contain a number or a string as one might expect :-) - Wolfgang ==== Moin It doesn't works. I get only the message : DESOLVE Error: Unable to solve ODE Sandynister ==== As I said already in the thread HP49 Low Battery... STARTERR does not handle each error. E.g, pressing the UpArrow key with empty stack yields the builtin message Empty stack with the horrible traffic sign and the frightening error beep, no matter whether STARTERR exist or what it contains. Actually, you may write whatever you want in STARTERR. Even if it doesn't make sense, e.g., Go to hell. That's simply ignored and any actual error results in no error message at all - besides for errors which ignore STARTERR by their part as the above one. If you don't like the 49 warning ikon and error beep, the best solution I found to store in STARTERR :: CHR_Newline >H$ !append$ xMSGBOX ; Perhaps with xMSGBOX replaced by FlashMsg - slightly more elegant than the 48-style error message handling. The above program is not error protected, hence hide STARTERR. We mention that STARTERR is context-sensitive like PPAR, i.e., different STARTERR programs in different directories act differently. If an error trap in a program is :: ERROR! D0$EXIT ; then STARTERR does handle it! However, if the trap is :: ZERO DO#EXIT ; then STARTERR is ignored. A pitty that no official and precise HP-documentation on tools like STARTERR, STARTOFF, ... presently exist. Kickaha's file Reserved Variables on hpcalc.org does not even mention problems like the ones discussed here or in the thread Bug in STARTOFF?. - Wolfgang ==== Agreed; IMO, the lack of complete, clear, and accurate documentation is probably the worst problem with the 49G. Given that HP has seen fit to shut down ACO, I expect that we'll just have to rely on unofficial documentation from various sources or on personal experimentation for those areas where the official documentation is lacking. his document that these variables don't behave quite as one might expect with any helpful suggestions for the next release of his document. The latest address that I have for him is: kickaha@tiscalinet.it. James ==== Did you notice that Empty Stack is not a standard error display (e.g. it's not like Error: Too Few Arguments)? In this case, it appears that the Stack Browser application generates this message box itself, rather than using ERRJMP, and leaves no such last error as Empty Stack for ERRN or ERRM to retrieve; the HP48 does exactly the same, except that it displays its message in the status area itself, rather than using a message box, thus perhaps deceiving one into thinking that it was using the standard error mechanism to exit. Other form-based built-in applications (e.g. Solve Finance) do much the same, so there seems to be nothing strange about STARTERR not being invoked by those applications which pop up their own message boxes, rather than doing ERRJMP, and there is thus nothing wrong with STARTERR itself! Actually, using STARTERR to display messages in the Status Area, rather than as pop-ups, can create other problems; for example, while using STARTERR in this fashion, go into the Filer and try to rename STARTERR to STARTERR (i.e. make no change); the normal Error: Name Conflict message will then flash and disappear so fast that unless you have Stop/Rewind/Freeze-Frame buttons in your head, you probably will not be able to see the error message, whereas if you rename STARTERR to STARTERRX and then try to rename STARTERRX to STARTERRX, you will at last be able to see what the error was! [then rename STARTERRX back to STARTERR to resume your practice of reading subliminally flashed messages :] If the Status Area has been reduced to 1 line or 0 lines, you also have another little problem on the 49G, of course :) I do use STARTERR to make the 49G act more like the 48, but I then also have to put up with these new annoyances when applications like the Filer don't work well with that choice. [r->] [OFF] ==== Just execute the UsrRPL program << 0. DOERR >> which executes COERCE DO#EXIT, i.e., ZERO DO#EXIT in our case. And DO#EXIT is :: ERRORSTO AtUserSTACK ERRJMP ; In other words, the error machinery is invoked. BUT it is by no means controlled by STARTERR ! << 0 DOERR >> for itself does nothing on 48 and quitely aborts a program in which it occurs. On the 49 it aborts loudly with Interrupted (ERRN 13Fh), no matter whether STARTERR exist or what it contains. Isn't that strange? This is not actually a bug BUT it may completely change the meaning of a UsrRPL program which, IMHO, should be documented. Therefore, I would not sign the claim that a 48-UsrRPL programs runs in the same way on the 49. That is what I expected STARTERR might accomplish. But it doesn't as you see from my example with 0 DOERR :-) - Wolfgang ==== Wolfgang Rautenberg: | << 0. DOERR >> [does not invoke STARTERR | and instead displays Interrupted message box] [and even changes ERRN to #13Fh, which is worse :] 0. DOERR is equivalent to (and is even generated by) the CANCEL key, which does not display any strings in the HP48, nor does it clear and freeze the status area, so if 0. DOERR invoked STARTERR, then STARTERR would have to test specifically for ERRN returning #0 and act differently, and then some people would complain that 0. DOERR should then *not* call STARTERR in this special case, so you can't please everybody :) At any rate, within ErrorHandled? <2F1A1> is where SysErrorTrap <2EE5E> decides to treat error #0 in a special way (as did the HP48, in its own unique way), so if you want to research changing that code, just patch your Emu48 ROM a bit and see what happens, then perhaps you can make your own .flash file with your own patch built into it, and you'll be free at last from the horrible traffic sign and the frightening error beep (you could of course turn off frightening beeps with flag -56, and you could even turn the screen off if its scenes are too horrible :) Quite a few classic MS-DOS programs don't work in an MS-DOS window on MS Windows, but most do, so what should we do -- demand a full disclosure statement listing every exception? OTOH, here's actual package text from the Planters/Nabisco Flamin' Cajun Crunch (snack food) which I just swallowed: Allergy Information: This product is produced in a facility that also produces peanut products. May contain peanuts. There; they've done their CYA bit, so just ask Carly to write one for the late, great 49G, and let's all find something else greater to do :) [r->] [OFF] ==== John, we are talking here on the 49! This is obvious because STARTERR isn't a reserved variable on the 48. On the 49, <<0. DOERR>> is obviously *not* equivalent to the CANCEL key as on the 48 (stated in the 48 AUR). Hence, IMHO, a documentation of the 49-DOERR command should mention that (if there is any :-) As far as I can see, STARTERR gets into action only if the error handler deals with 2 strings. This also holds if we run << Sorry DOERR >> on the 49 which is handled by STARTERR ! Here the level 1 argument string for STARTERR is just the empty string. A SysRPL programmer has to know that an existing STARTERR is not handled for n Do#Exit if and only if n=ZERO. And Do$Exit handles STARTERR unlimited. Knowing this, we may probably close this thread :-) - Wolfgang 09:25:18 -0600) ==== There once was an HP48 general Triangle solver called TRI1: http://groups.google.com/groups?threadm=6mkt26%2424u%241%40news.iastate.edu http://www.hpcalc.org/hp48/math/misc/tri1.zip [more docs and pix!] After the 49G appeared, I received some requests to port TRI1 to the 49G, but after giving it a few tries, I always got stuck right here, where I gave up: http://groups.google.com/groups?threadm=955lok%24bf7%241%40nnrp1.deja.com I just looked back, however, in that corner of the garage where the crumpled papers were originally tossed, and found a little grass growing through the cracks, and wouldn't you know it, some industrious ants had added some marginal notes, and said that they had made it work, although the margin was too small to explain every step of the proof. I think they were also trying to sell some film producer on doing their story, but thus far no takers have come forward :) So here is what we have, for better or for worse, and if you think worse, view a film called Them! (starring the authors' big brothers), and just leave them alone :) Take note that due to the current shortage of decimal points, no longer manufactured in the USA, it would behoove you to set your HP49 to Approximate mode *before* downloading this '48-style UserRPL to it, or else YMMV; memory backups are also always a good precaution, as well as having a bottle of aspirin at the ready, should any more headaches arise. Send me a postcard if it works -- I don't know where I'll be, but try projecting the location via regression, as my mind regresses a little more every day, and I fear I'm soon to lose it. The ant has made himself illustrious Through constant industry industrious. So what? Would you be calm and placid If you were full of formic acid? More verse of Ogden Nash: http://www.veeceet.com/kids/nash.html http://www.poets.org/poets/poets.cfm?prmID=729 http://www.aenet.org/poems/ognash1.htm I always thought that Candy is dandy was Dorothy Parker's, but lo, it was Nash (whose family gave Nashville its name!) Let the games begin --------------------- %%HP: T(3)F(.); @ TRI1 Triangle Solver, @ v4.1e for 49G [rom 1.19-6], 2002/01/27 @ Set your 49G to APPROXIMATE MODE ***before*** you download this! @ This solver supplies its own menu for manual use, but @ can also be called as a subroutine from other programs, @ or split (for library) into: Menu, Calc, Display @ A, B, C represent the angles opposite sides a, b, c @ (all these variables are now created/used in 49G current directory). @ Data-entry menu shows sides and angles with suitable symbols, @ so you can easily distinguish which keys are for which variables. @ Entering a zero value sets the given object to undefined state; @ negative input values are treated the same as zero (to be solved for) @ For consistency with other built-in HP48 solver menus (SOLVR, MES), @ unshifted menu keys store values, right-shifted keys recall values; @ since calculation is automatic, left-shifted keys are used to @ toggle user-defined vs. calculated status ( +value vs. -value ), @ in the same sense as these terms are used by MES (G/GX Chapter 25). @ Press NXT for additional functions (SSA option, re-calc, purge). @ All current values are automatically re-displayed each time. @ User-supplied values are displayed with positive sign; @ calculated values are displayed with negative sign. @ No computation is performed if you have either too few or @ too many current user-specified variables; store new values @ and/or delete (purge or store zero into) old values until exactly @ three positive values (other than three angles) are specified, @ at which time a solution is then automatically computed, @ displayed, and returned to the stack as a list of six values. @ The ambiguous SSA case solves for either the smaller or larger @ possible third side value, depending on user-selected menu option; @ selecting the other option automatically recalculates other solution. @ Units: @ All variables may have any allowable units; SAS solves for third side @ as v/(S*S), which may for S/SX be converted to base units instead; @ any answer may also be CONVERTed to unit of any other side (by you :) @ User-specified angles may have any angle units attached; any @ angles without units are in current angle mode (DEG, RAD, GRAD). @ Input values: @ Does not check or handle angles > 180 degrees, @ nor degenerate triangles (any side or angle = 0). @ For S/SX you must obtain an additional program to simulate DOLIST, @ e.g. Usenet message-id 6a5u20%24gmc%241%40news.iastate.edu (Google) @ Use BZ[M] to make a much smaller self-extracting executable. << @ Main program @ MUST be stored under SAME NAME as appears in this MENU: { @ MENU for entering, recalling, flipping --sides-- & @ Note that main program name is repeated 24 times in menu! @ Symbol NS:Store LS:Flip sign RS:Recall { -a- { << 'a' TRI1 >> << { } 'a' TRI1 >> << 'a' DUP TRI1 >> } } { -b- { << 'b' TRI1 >> << { } 'b' TRI1 >> << 'b' DUP TRI1 >> } } { -c- { << 'c' TRI1 >> << { } 'c' TRI1 >> << 'c' DUP TRI1 >> } } { <)A { << 'A' TRI1 >> << { } 'A' TRI1 >> << 'A' DUP TRI1 >> } } { <)B { << 'B' TRI1 >> << { } 'B' TRI1 >> << 'B' DUP TRI1 >> } } { <)C { << 'C' TRI1 >> << { } 'C' TRI1 >> << 'C' DUP TRI1 >> } } @ Press NXT for more options and functions: { < << 6 SF TRI1 >> } @ Solve SSA for smaller third side value { > << 6 CF TRI1 >> } @ Solve SSA for larger third side value { < > << IF 6 DUP FS? THEN CF ELSE SF END TRI1 >> } @ Flip SSA { CALC << TRI1 >> } @ Re-calculate from existing variables { ZERO << { PURGE } TRI1 TRI1 >> } @ Zero all variables { PURGE << { PURGE } TRI1 >> } @ Purge all variables } TMENU << @ Sub-program { a b c A B C } @ Sides, angles @ Optional stack arguments (provided by menu, or by calling program): @ @ { PURGE } Purge all variables (no calculation/display) @ 'a' 'a' Recall variable (no calculation/display) @ { } 'a' Flip variable sign, then calculate/display @ number 'a' Store into variable, then calculate/display @ anything else Calculate and/or display all variables DEPTH 1 > @ Any argument(s) on stack? { OVER { PURGE } SAME { SWAP EVAL 0 } @ Purge { DUP2 SWAP POS @ Is argument a triangle variable? { DEPTH 3 < { DROP2 STO } IFT @ STO Error: Too Few Arguments UNROT DUP2 SAME @ Variable name twice? { ROT DROP2 RCL ABS 0 } @ Recall positive value { OVER { } SAME @ Is value arg an empty list? { SNEG DROP 1 } @ Flip sign, then re-calc, or SNEG DROP2 0 { OVER TYPE { 0 13 } SWAP POS @ Real or unit? { STO 1 } @ Store { DROP SWAP 1 } IFTE @ Leave on stack, or ROT DROP2 0 } IFTE } IFTE } 1 IFTE } IFTE } 1 IFTE @ Stack now contains: @ { a b c A B C } 1 Execute calculation/display @ 0 Do not execute remainder of program << @ Calculate and display: @ 64 possible combinations for currently defined variables: @ (adjusted to create new variables in { a b c A B C } VAR menu order) 0 0 5 FOR i OVER 6 i - GET @ For the 49G, we comment out 'Here' before VTYPE, @ because if higher directory has the same var, ISOL is doomed anyway. DUP @Here@ VTYPE 0 < { 0 OVER STO } IFT @ In current directory? RCL UVAL 0 > { 2 i ^ + } IFT NEXT @ Handle user-specified input only { @ Calculation table [64 entries] @ 0/1 is under- or over-determined set of values. @ { Equation# Variable ... } indicates how to solve. 0 0 0 0 0 0 0 1 0 0 0 { 1 A 6 b 7 a } 0 { 1 B 7 a 6 b } { 1 C 6 b 7 a } 1 0 0 0 { 1 A 6 c 5 a } 0 { 1 B 5 a 6 c } { 1 C 5 a 6 c } 1 0 { 6 B 1 A 7 a } { 6 C 1 A 5 a } 1 { 2 a 3 B 4 C } 1 1 1 0 0 0 { 1 A 5 b 7 c } 0 { 1 B 7 c 5 b } { 1 C 5 b 7 c } 1 0 { 7 A 1 B 6 b } { 3 b 2 A 4 C } 1 { 7 C 1 B 5 b } 1 1 1 0 { 4 c 2 A 3 B } { 5 A 1 C 6 c } 1 { 5 B 1 C 7 c } 1 1 1 { 2 A 3 B 4 C } 1 1 1 1 1 1 1 } @ Solve for missing variables, if calculation table indicates: SWAP 1 + GET DUP TYPE @ One element from calculation table << DUP @ For negating solved variables after solving is completed 1 << DUP TYPE @ Beginning of a DOLIST program object { @ Direct Solver: Equation number, name of variable to isolate @ SSA: Using sine formula? [and] Solving for angle? DUP2 { 5 6 7 } ROT POS { A B C } ROT POS AND UNROT @ Used later... { @@@ Equation list [left-hand column is comments only]: @1@ 'A+B+C=ACOS(-1)' @2@ 'SQ(a)=SQ(b)+SQ(c)-b*c*COS(A)*2' @3@ 'SQ(b)=SQ(c)+SQ(a)-c*a*COS(B)*2' @4@ 'SQ(c)=SQ(a)+SQ(b)-a*b*COS(C)*2' @5@ 'a/b=SIN(A)/SIN(B)' @6@ 'b/c=SIN(B)/SIN(C)' @7@ 'c/a=SIN(C)/SIN(A)' } ROT GET SWAP @ ############################################################## @ For 48S/G all we need here is: ISOL EQ-> @ But on 49G we need a kluge to work-around many CAS clinkers: @ CAS silent mode, nullify 'VX', hide variable to be isolated RCLF UNROT -120 SF RCLVX UNROT ::178 STOVX ::177 OVER RENAME ISOL EQ-> @ do what the 48 does @ Unhide variable just isolated, restore 'VX' and various flags OVER ::177 RENAME ROT STOVX ROT STOF @ The 49G will still Error out if a higher directory contains the @ same variable name as we are solving for -- this is an inherent @ design flaw which never existed in the 48; we can't fix it, so @ you'll just have to rename or purge any such variables yourself. @ ############################################################### @ Handle mixed units among sides (note SAS requires 'v/(S*S)'): @ SYSEVAL addresses are *** MODEL-DEPENDENT (48 vs. 49) *** :INNERCOMP: #54AFh SYSEVAL :UNCOERCE: #262F6h SYSEVAL @ *** 49 *** @ 'Expression' -> Meta OVER { ASIN ACOS } SWAP POS @ These can't handle 50_cm/m etc. @ Include v/ [SquareRoot] for S/SX, optionally for G/GX (SAS case) { { UBASE } OBJ-> SWAP 4 ROLLD + } IFT @ Insert UBASE before fcn ->LIST @ End of mixed-units remover (for ASIN, ACOS, maybe v/) EVAL @ numeric value of 'expression' IFERR 0 MAX THEN 6 DROPN No solution DOERR END @ Complex answer @ SSA ambiguous case if: @ Sine law (eq 5,6,7) solves for angle > user-supplied angle ROT { DUP A 0 MAX B 0 MAX C 0 MAX + + > OVER SIN 1 < AND @ SSA2? { 7 SF 6 FS? @ Set SSA2 indicator; solve for smaller third side? { -1 ACOS SWAP - } IFT } IFT } IFT @ 90 < angle < 180 degrees SWAP STO @ Store value of solved variable } IFT >> @ End of DOLIST program object -55 CF @ Ensure Last Arguments returned on IFERR -1 SF @ Solutions need principal value (of ASIN, ACOS) 7 CF DOLIST @ Clear ambiguous flag before calculations start @ Negate variables just solved for (after solving all of them): 1 << IF DUP TYPE THEN SNEG ELSE DROP END >> DOLIST 1 >> { DROP 0 } IFTE @ No calculation if under- or over-determined @ { a b c A B C } 0/1 remains on stack @ Display all current values (blank if undefined/zero): CLLCD @ Neater for 49G small fonts DUP 7 FS? Ambiguous Unique IFTE solution + Enter 3 positive items IFTE 1 DISP 1 6 FOR i OVER i GET DUP + DUP NUM 9 SQ < { <) SWAP + } IFT SWAP RCL @ Angle symbols IF DUP ABS UVAL THEN + ELSE DROP END @ Handle complex & unit values i 1 + DISP NEXT 3 FREEZE << 1 << RCL ABS >> DOLIST >> @ All inputs and results { DROP } IFTE @ No calculation was performed >> IFT @ Calculate and display >> @ Sub-program ends. @ The next command uses the hidden directory to store all variables @ (omit this line to store variables in current directory instead). @ Note that the hidden directory is accessed faster than any other @ directory, but it can keep only one set of variables at a time. EVAL @ Execute sub-program >> @ Main program ends. 'TRI1' STO @ must store above program using this name @ 2955.5/2964 bytes, #EA0Bh (use BZ[M] to shrink) @ End of downloadable file -- run once and then discard. ==== As well as the User's Guide, please see http://www.engr.uvic.ca/~aschoorl/faq/. For questions not covered there, try a search at http://groups.google.com/advanced_group_search?num=25&hl=en&group=comp.sys.h p48. James ==== Write them yourself. The definitions of Grad Div Curl and the like are pretty straightforward. Also, i am not sure, but tensors should be simple. You can write it in just user rpl if you are bored. ==== What kind of tensor operations do you mean? If I'm not wrong in the matrix49 library there is a kronecker product opereration (not sure the spelling). For other tensor things you should do on your own. I was trying to do some kind of tensor stuff a couple of months ago and I got slow version of Einstein, Ricci, etc. tensors but no more. I can try with your ones. Luis. ==== There is. It is here http://www.hpcalc.org/hp49/math/numeric/mat49v10.zip ==== Doesn't it require square matrices, though? I got that impression... Bhuvanesh. ==== Yes, it does. I only needed it for square matrices, hence the limitation. It ====