B40 ==== > To say the truth, your programs do not completely meet all > my conditions. I said that the level 2 list can be a list > of *any* HP49-objects, I did not restrict to lists whose > objects can always be edited and recompiled with ENTER. > EXAMPLE: Execute FPTR 2 15 by just writing this in the > command line. That yields the list of all attached libs, > together with their numbers on the stack. On your calculator, that is. On mine, this puts 'FPTR' on level 3 as a global name, and the numbers on level 2 and 1 as reals or zints, depending on the mode. Do we have to have OT49 or some other special libray installed to get your result? Or maybe a flag setting? > Now, these numbers > are so-called bints (numbers being processed particularly > fast on the 48/49 because there are only 2^20 = 1,048,575 > such beasts, just enough to span the memory space of 48). Your program yields something wrong in this case. I used the R~SB command (with extable installed) to gets some bints on the stack and then put them into a list. The programs seem to work just as well with bints. -- ==== > EXAMPLE: Execute FPTR 2 15 by just writing this in the > command line. That yields the list of all attached libs, > together with their numbers on the stack. > On your calculator, that is. On mine, this puts 'FPTR' on level 3 as a > global name, and the numbers on level 2 and 1 as reals or zints, > depending on the mode. Do we have to have OT49 or some other special > libray installed to get your result? Or maybe a flag setting? No , here I made a mistake (I make permanently mistakes, good for me because this keeps me alife :-). You can run a Flashpointer in UsrRPL only if it has a name. But FPTR 2 15 has no name. Since you have OT49 you may do the following: 1. Put the empty list on level 1. Press Sys~ on it. You see { } @ 2. Edit this with DownArrow. Write FPTR 2 15 on a separate line between the brackets. In constrast to UsrRPL, there must always be at least one blank or newline character between a bracket and anything else! So you may write for instance { FPTR 2 15 } @ 3. Process this string with the toggler Sys~ again, and, voila, you see { FlshPtr } in the stack (Probably flag -92 set, don't remember). 4. Finally, press EVAL, which puts the hopefully large list of attached libs on the stack. Each member of this list is itself a list containing a lib title and the matching lib number as a bint. This basic flashpointer is used by the Operating System to create the LIB menu. Programs should be poems for computers ==== > ... > To say the truth, your programs do not completely meet all > my conditions. I said that the level 2 list can be a list > of *any* HP49-objects, I did not restrict to lists whose > objects can always be edited and recompiled with ENTER. > ... Unless I'm mistaken, Nick and VP's programs also generally fail in the case of repeated objects in the level-2 list (unless all the repeated objects are referenced in the level-1 list). For example: { A B A } { 2 1 } gives { B A } instead of the correct { B A A }. I have tried some different approaches, because it seemed to me that the speed could be reduced when the level-1 list is smaller than the level-2 list. Think about the case where level-1 contains { 2 1 } and the level-2 is very large. A couple of GET's and PUT's would be able to reverse the first 2 elements of the level-2 list. Unfortunately, my userrpl attempts thus far don't scale well as the size of the level-1 list grows or points further into the other list. Tom Tom ==== X > way, if you process your 137.5 bytes program with ->XU > (Extended UsrRPL) from OT49, the resulting program has > no delimiters but has only 120 bytes and runs faster. It > is what I call an Extended UsrRPL program. It does the > same and is completely readable with the VIEW command. In > particular, you see the single quoter in it (the one which > by the RPL-author was probably designated for some later > expansion of UsrRPL). The program can also be edited, but > not be recompiled with ENTER since the UsrRPL-compiler is, > unfortunately, too week (with OT49 one can do it :-) X Wow! Could this be automated by the OT49 in such a way that it would extend the build-in compiler to compile to your XU? Since JYA removed the alphaENTER from the Alg (Dark:) Side (probably using it for the auto-quoting feature) I would not use that system - if I can avoid it but surely you have a solution (and the user flag 65 to control it) ==== > A small modification to Nick's prog: > << SWAP -> o > << 1 > << o SWAP GET DOSUBS > -> n > << o 1 > << n OVER > IF POS > THEN > DROP > ELSE > 'n' SWAP > STO+ > END > DOSUBS > n ==== > A bit late, but better late than never: The above program with additional code to include the rest of the > elements in the original order: bytes, so it's certainly a lot smaller than my 329 byte version. For > very small lists, it's faster than mine. For lists of 20 elements, I'd > have to say the time difference is negligible. For lists with hundreds > of elements, mine is faster. The size of the elements in the level 2 argument list has only a small > effect on the time. Good timing analysis, , thanks a lot. So you win at the long run. I wonder though how it comes that the size of the elements doesn't count that much. > Does its work and doesn't demand anybody to step down to the hells of > SysRPL or even ML instructions. I'm sure that both have their place, and I suppose that SysRPL wouldn't > be all that hard to learn for someone who's already skilled at UserRPL. Hmm, SysRPL has *a lot more* commands and *even more* things to worry about. It is not simply enter a program, store it and let it run. > But for myself, most of the programs that I write won't be used all that > many times, and I'll spend more time keying in the arguments than > running the program, so it doesn't make much sense to spend extra time > optimizing or to risk a TTRM if I happen to goof. Yep! Same situation for the majority of users. > Or should we rip UserRPL off the calc? Indeed not. But for what Wolfgang is doing it does make sense to take > advantage of the wider assortment of tools and error checking only as > needed available in SysRPL or ML. Of course! The only thing to be aware of is that at some point it should be mentioned that the HP49G is not only for insiders. > So to say, as the ultimate help for the decision of potential > customers, not to buy an HP49G ;-) That would make it very much a hacker's only calculator. I can't > imagine a very large market for it. Bingo! Now, observing the course that we take in this group since a rather long time, I am afraid that we already give other people the strong impression of the HP49G being only such a hacker's tool which it definitely is not. Hacked ==== Jonathan Busby schrieb: With this knowledge, the 49 version of my code gets down to 135 bytes A few minor improvements bring it down to 121.5 bytes: > ASSEMBLE _49 = 0 * Change to 1 for 49 version . RPL :: > >R INNERDUP 1LAMBIND > #3+ > :: > RSWAP > BEGIN > RSWAP ticR ITE RSWAP RDROPCOLA NOP > 2DUP #-PICK > UNROT 2DUP > CODE > AMUL5 EQU #60236 GOSBVL =POP2# > A=A-C A IF _49 > C=0 A > GOVLNG (#373D0)+22 > ELSE > GOSBVL AMUL5 > CD1EX > A=A+C A > D1=A > A=0 A > DAT1=A A > CD1EX > GOVLNG =Loop > ENDIF > ENDCODE > DROP #1+ > AGAIN > ; #2- 1GETLAM #1+_ONE_DO DUPPICK DUP' PTR 0 EQ > ITE DROP SWAP#1+ > #1- > LOOP DROP > 1GETLAM {}N 1GETLAM SWAP > 1PUTLAM NDROP 1GETABND > ; However I think Jonathan's solution uses the best possible algorithm. Thomas -- Thomas Rast If you cannot convince them, confuse them. -- Harry S. Truman ==== On Sat, 29 Jun 2002 00:48:31 +0200, Thomas Rast 1GETLAM #1+_ONE_DO > DUPPICK > DUP' PTR 0 EQ > ITE DROP SWAP#1+ > #1- > LOOP DROP > 1GETLAM {}N 1GETLAM SWAP > 1PUTLAM NDROP 1GETABND > ; However I think Jonathan's solution uses the best possible algorithm. Thomas You can't use PTR 0 as this is used to mark the bottom of the data stack. If a garbage collection were to happen while the stack was corrupt you'd be asking for trouble. :) ---------------------------------------------------------------------------- --- Jonathan Busby - before replying. ==== > You can't use PTR 0 as this is used to mark the bottom of the data > stack. If a garbage collection were to happen while the stack was > corrupt you'd be asking for trouble. :) Yes, and I would like to enforce that. It is a REALLY bad idea, and this may cause your program to crash and it will take you forever to find out where the problem came from. And I'm talking from personnal experience here :) ==== You can't use PTR 0 as this is used to mark the bottom of the data > stack. If a garbage collection were to happen while the stack was > corrupt you'd be asking for trouble. :) Yes, and I would like to enforce that. > It is a REALLY bad idea, and this may cause your program to crash and it > will take you forever to find out where the problem came from. > And I'm talking from personnal experience here :) Uh oh. Change that back. 122.5 bytes then. I actually never thought of the GC, but a quick test shows that it just deletes the stack levels above the first PTR 0 from temporary memory, leaving some more PTRs. ==== I have two easy (?) questions: 1) i am managing to buy a memory card form my 48gx. In Italy it seems impossible to find original HP cards, but i have found Cynox cards (128 kb and 1 mb). I read lots of old messages saying Cynox cards are OK and lots saying such cards are not so good. Anybody has objective suggestions? 2) I installed a flag browser, which shows some flags not present in the documentation, for example flags 5 to 10, indicated as wordsize, and others. Where can i find a _complete_ list of the flags? I tried HPcalc, but invane. Marco Polo -- Marco Polo (red october)marko_ramius@softhome.net Remove (red october) to E-Mail..... --- ==== > Hy! > I have two easy (?) questions: 1) i am managing to buy a memory card form my 48gx. In Italy it seems > impossible to find original HP cards, but i have found Cynox cards > (128 kb and 1 mb). I read lots of old messages saying Cynox cards are > OK and lots saying such cards are not so good. Anybody has objective > suggestions? Are you ready for an chinese expedition, dear Marco Polo? Buy a HP 49G and the 1MB Flash will last forever (more than your lifespan) port. The 49G also includes 256KB merged main RAM and 256KB RAM in port 1. The other feature are too numerous to say here, but take my word for it: v'ger is the best programmablr calculator ever (sans the key feel) > 2) I installed a flag browser, which shows some flags not present in > the documentation, for example flags 5 to 10, indicated as wordsize, > and others. Where can i find a _complete_ list of the flags? I tried > HPcalc, but invane. HP 48G Series User's Guide, Appendix D Advanced User's Refrence Manual, Appendix C > Marco Polo You're welcome, Mr. Polo Veli-Pekka Nousiainen ==== Marco Polo escribi.97 en el mensaje > Hy! > I have two easy (?) questions: 1) i am managing to buy a memory card form my 48gx. In Italy it seems > impossible to find original HP cards, but i have found Cynox cards > (128 kb and 1 mb). I read lots of old messages saying Cynox cards are > OK and lots saying such cards are not so good. Anybody has objective > suggestions? I used a Cynox card (512Kb) several months witth no problems. Then I buyed a Klotz card (1Mb) and no problem too. ==== > 2) I installed a flag browser, which shows some flags not present in > the documentation, for example flags 5 to 10, indicated as wordsize, > and others. Where can i find a _complete_ list of the flags? I tried > HPcalc, but invane. Flags 5 to 10 are changed with the STWS command, which should be described in your HP48 documentation. -- ----- .82 Excusez-moi, je n'ai pas pu m'en emp.90cher... é -+- CF in GNU - fufe, c'est plus fort que toi -+- ==== #2 I can't help you with but #1 I can... www.samsoncables.com has HP 128K RAM cards for US $ 129.95 and www.calcpro.com has HP 1MB cards form about US $180 if I remember correctly. You can also try E-BAY. >Hy! >I have two easy (?) questions: 1) i am managing to buy a memory card form my 48gx. In Italy it seems >impossible to find original HP cards, but i have found Cynox cards >(128 kb and 1 mb). I read lots of old messages saying Cynox cards are >OK and lots saying such cards are not so good. Anybody has objective >suggestions? 2) I installed a flag browser, which shows some flags not present in >the documentation, for example flags 5 to 10, indicated as wordsize, >and others. Where can i find a _complete_ list of the flags? I tried >HPcalc, but invane. Marco Polo ==== i use BZ and TNT. TNT compresses most objects a little bit better. i would like to know are there any other tools which are better that TNT. in some cases TNT hangs up. when i use it with some of my User RPL progs. greetings max ==== With the Texas instruments model Voyage™ 200 on the offial site to web page: http://education.ti.com/global/promo/voyage200.html HP is dead forever? I want know your opinion. ==== > With the Texas instruments model Voyage™ 200 on the offial > site to web page: > http://education.ti.com/global/promo/voyage200.html > HP is dead forever? > I want know your opinion. Hard to kill HP is .. Perhaps some burocracy members have destroy the Jedi Council, but Force fluids over the galaxy, so the old spirit can't never die. New times are near, with weapons for more civilizated times ( I don't know which were the exact words of Master Obi-Wan to Luke on A new hope about lightsaber) Voyage200 is just a TI92-plusplus.. nothing new here.. Perhaps we should wait for a new Tarkin's Death Star for this times of darkness. Have fun, better times have to come.. J.Manrique ==== It's not realy a calulator in the standard sence. It's more of a PDA type device. If I wanted somthing that uncalculator like I'd go and by an older laptop for 500 dollars. It's more in line with maybe an HP200 LX type system (HP has had this kind of thing out since 1990 or so with the HP95 LX. Moo >With the Texas instruments model Voyage™ 200 on the offial >site to web page: >http://education.ti.com/global/promo/voyage200.html >HP is dead forever? >I want know your opinion. ==== Actually its more like a laptop but it's not a laptop, or a PDA with keyboard but it's not a PDA, or a Calculator but it's to big for calculator. It's just a TI92 repackaged with a larger screen. Only advantage is if you plug it in to AC power it has a decent battery life. JMHO Stephen.N > It's not realy a calulator in the standard sence. It's more of a PDA > type device. If I wanted somthing that uncalculator like I'd go and by > an older laptop for 500 dollars. It's more in line with maybe an HP200 > LX type system (HP has had this kind of thing out since 1990 or so > with the HP95 LX. Moo >With the Texas instruments model Voyage™ 200 on the offial >site to web page: >http://education.ti.com/global/promo/voyage200.html >HP is dead forever? >I want know your opinion. > ==== It's a calculator indeed. Maybe it's not a PLT like they say, but it's a calc. Actually is a TI92 in a new shell. webmaster schrieb in im Newsbeitrag: a73uhuc9rsk06jgo2padopkfrsmk2cfnkf@4ax.com... > It's not realy a calulator in the standard sence. It's more of a PDA > type device. If I wanted somthing that uncalculator like I'd go and by > an older laptop for 500 dollars. It's more in line with maybe an HP200 > LX type system (HP has had this kind of thing out since 1990 or so > with the HP95 LX. Moo >With the Texas instruments model Voyage™ 200 on the offial >site to web page: >http://education.ti.com/global/promo/voyage200.html >HP is dead forever? >I want know your opinion. > ==== processor. I have sucessfully installed emu48ce 1.23 but when I run the program I only get the top left portion of the emulator (the menu plus about 300x300 pixels of the bitmap). There are no errors compiling the KML script and I can see the emulator is functioning because the small portion of the 48g's screen that is visible shows the normal home screen and function menus. Anyone know what's going on here? Do I have to manually configiure the KML scripts to get the whole emulateor on my 800x480 screen? DB ==== Jonathan I do not believe the problem exists with the calling routines, it could possibly be GC during program execution is causing the code to move and invaliate the return stack. I really am at a lost as to why it would work sometimes and not others and it always works after a warm boot, suggesting the GC problem. Any help on GC would be great?? Tim ==== > Any help on GC would be great?? You should go to RPL and execute the GC then come back. What I usually do is described in: http://www.hpcalc.org/details.php?id=5007 -- This message was written with 100% recycled electrons Pivo ==== JA> Well, there was a way, but I removed it. It made things too JA> complicated when I was pasting a string as adding one character or JA> doing PASTE are both calling CMD_PLUS. CD> Interesting. In the mean time, I thought, one can of course assign a CD> command to the SPC key which will do the wrapping if necessary, So it CD> can be done - I'll try it. OK, here is the AUTOWRAP program. Quite simple because the CutStrWidth entry does the hard work. Assign this program to the SPACE and/or ALPHA SPACE keys. User flag 96 toggles autowrap on and off. The program automatically adapts the wrapping width to the font (system or mini). Whenever you press the space key it checks if the line is too long, and wraps it if necessary. Words are not cut in the middle, but wrapping proceeds orderly at SPACE characters only. :: TakeOver (execute in edit mode) CHR_Space CMD_PLUS (insert a space character) 96 TestUserFlag NOT?SEMI (is autowarp on?) 73 SysITE 33 22 (wrapping width dependent on edit font) CURSOR_OFF FIRSTC@ #+ (current cursor column) OVER#< caseDROP (exit if line is short) RCL_CMD_POS (current position) CMD_DEB_LINE RCL_CMD_POS (beginning of line position) CMD_STO_DEBUT CMD_STO_FIN (make line the current selection) CMD_COPY.SBR (copy selection to stack) SWAP FPTR 3 9A (wrap selection to width) CMD_CUT CMD_PLUS (replace selection) ; @ CD> - Carsten ==== On 26 Jun 2002 10:53:23 +0200, Carsten Dominik There is a DUP missing just before the TYPE in the program below. - Carsten CD> << >CD> SWAP >CD> IF TYPE 2. == THEN @ check if string >CD> NEWOB SWAP >CD> R~SB @ requires library 256 attached >CD> #9A003 FLASHEVAL >CD> ELSE >CD> SWAP >CD> 514. DOERR @ error if not string >CD> END >CD> >CD> Hope this helps. I tried : 1234567890 1234567890 1234567890 1234567890 1234567890 << SWAP IF DUP TYPE 2. == THEN NEWOB SWAP R~SB #9A003 FLASHEVAL ELSE SWAP 514. DOERR END > The hp49 says invalid syntax (highlighting 9A003) The hp48 doesn't even accept this program in the stack and says invalid syntax (enlighting 9A003) The simple program I made some time ago was this, it works but it really needs too many resources and time for big files. it's not a wrap because words are cut . In a string S , it inserts a new line after a number C (example 33)) .82 --> S C .82 1 S SIZE FOR I S I I C 1 - + SUB + C STEP 1 S SIZE C / IP FOR I + NEXT é é Fabrox ==== > I tried : 1234567890 1234567890 1234567890 1234567890 1234567890 > << > SWAP > IF DUP TYPE 2. == THEN > NEWOB SWAP > R~SB > #9A003 FLASHEVAL > ELSE > SWAP > 514. DOERR > END > The hp49 says invalid syntax (highlighting 9A003) > Your calculator is probably not in HEX mode. Change #9A003 to #9A003h i.e. append a lower-case h to he number. > In a string S , it inserts a new line after a number C (example 33)) > [....] Yes, for a long sting this program will be slow. The program using the flasheval above is a lot faster since it does not cut the string into many pieces. Instead, it replaces SPACE with NEWLINE where needed. - Carsten ==== > I tried : 1234567890 1234567890 1234567890 1234567890 1234567890 > << > SWAP > IF DUP TYPE 2. == THEN > NEWOB SWAP > R~SB > #9A003 FLASHEVAL > ELSE > SWAP > 514. DOERR > END > The hp49 says invalid syntax (highlighting 9A003) > CD> Your calculator is probably not in HEX mode. Change CD> #9A003 CD> to CD> #9A003h CD> i.e. append a lower-case h to he number. Also, the program expects the formatting width on the stack, so your arguments should be 1234567890 1234567890 1234567890 1234567890 1234567890 33 - Carsten ==== > I did not know this entry. Very useful. However, I cannot get it to > work. Is the stack diagram different? It is.. Sorry for that: >*************************************************************************** * >**** >* Purpose: Put carriage return instead of space in order to avoid lines >* of more than n chr. Cut words of more than n chr on two lines >* The output is no more than Nb lines max lines >* Input: 3: String >* 2: # chr max per line >* 1: # lines max >* Output: 2: Modified string >* 1: # of cr in the string I can't get that work (me too): I tried for example in the HP49 ... 1234567890 1234567890 1234567890 1234567890 < (as you suggested in the thread) I obtained: 1234567890 1234567890 1234567890 1234567890 'FLASHPTR' 'StrCutNchr2' So I guess I need a step by step easy procedure :-) Fabrox ==== > 1234567890 1234567890 1234567890 1234567890 > < (as you suggested in the thread) Did I suggest that ? I doubt it. First of all, StrCutNchr2 takes two arguments on the stack (refer to my previous post) Then you have to cal StrCutNchr2 with FLASHEVAL (as it's a flashpointer) for the value of FLASHEVAL again look at my previous post. After re-reading this post, I guess I should give a step by step procedure: 256 ATTACH (to access the R~SB command) 33 R~SB 100000000 R~SB (should be enough) #9B003h FLASHEVAL When looking at your previous post, if you got an invalid syntax after FLASHEVAL it's because you're probably in decimal mode, and you should be in HEX mode. That's why you have the little h in #9B003h , it tells the compier that it's a hex number even if you're in decimal mode. You should read the manual to get familiar with some basic configuration problems ==== >First of all, StrCutNchr2 takes two arguments on the stack (refer to my >previous post) >Then you have to cal StrCutNchr2 with FLASHEVAL (as it's a flashpointer) for >the value of FLASHEVAL again look at my previous post. After re-reading this post, I guess I should give a step by step procedure: >256 ATTACH (to access the R~SB command) >33 R~SB >100000000 R~SB (should be enough) >#9B003h FLASHEVAL When looking at your previous post, if you got an invalid syntax after >FLASHEVAL it's because you're probably in decimal mode, and you should be in >HEX mode. That's why you have the little h in #9B003h , it tells the compier >that it's a hex number even if you're in decimal mode. You should read the manual to get familiar with some basic configuration >problems > thanks again for trying to explain but I admit that these are high topics for my limited knowledge of hp48-49 world :-) You said : If you have a string on the stack, you can use an entry point for it: FLASHPTR StrCutNchr ^StrCutNchr is 9A003 StrCutNchr works directly on the string, so you may have to make a new copy of the object. That's why I tried to write a string and then I tried to exceute <. Anyway, I have solved my problem using Microsoft Word, saving a file with the correct width and I have made again the transfert from pc. Bye, have a nice day !. Fabrox ==== X > You should read the manual to get familiar with some basic configuration > problems X Manual? What manual? I still haven't figured out all the CAS flags yet and I have been using this beast day out day in for almost three years. I'm also quite familiar with the old flags of the 48 series and I got the old manuals, which are pretty good, I have them on my desk now since I'm gonna re-read them all over just one more time. Bill's books are the best (not Gates - Wickes) and the Urroz are good, too. So I propose that at least one of the v'ger team members should write a book of the internals. The best person for the job just might be... AND I think that Professor Bernard Parisse is too busy with his xcas. As an educator he would be the best and ofcourse there are some other guys from the team like HPmad, Warlock, BouHP, Mark, Mika, Ray,... who could contribute at least the history part of the book. How about it JYA? Will you write a Wickes-style book of the 49 innards? ==== > according to my manuals (in danish) the batteries have to be of > type N... in a german catalog for a lot of electronic stuff (the > company is called Conrad - maybe you know it) the battery is > called Lady, its voltage is 1.5 V making the 28 running on 4.5 V. I have one source somewhat oddly listing type N as 11.5 mm x 17.5 mm (0 x H), whereas Lady/LR1/N is usually listed as 11.5 mm x 29.5 mm (or 11.8 mm x 29.9 mm). I assume the latter is correct, but it seems to be better to double check the size again. > Varta Universal Alkaline: EUR 2.53 > Panasonic Power Max 3: EUR 2.79 They also have them as Nickel-Cadmium rechargable batteries with > a voltage of 1.2 V: Panasonic P18N: EUR 2.74 (3 or more: EUR 2.63) > Varta NC-Accuplus: EUR 3.55 Unless you really need one of the types of batteries which are only available from Conrad (like the Varta NiMH Accuplus batteries) there's usually a much cheaper source for (rechargeable) batteries of almost any kind: http://www.reichelt.de. Examples for single batteries: - Energizer Alkaline (Lady/LR1): EUR 1.65 - GP Super Alkaline (Lady/LR1): EUR 0.69 - Panasonic P-18 N (Lady/LR1, NC, 1.2V, 180mAh): EUR 1.75 For further comparison: - Varta Universal Alkaline (Micro/AAA): EUR 0.45 (They don't list them as Lady, unfortunately.) - Energizer Alkaline (Micro/AAA): EUR 0.84 - GP Super Alkaline (Micro/AAA): EUR 0.40 - Panasonic P-25 AAA (Micro/AAA, NC, 250 mAh): EUR 1.95 - GP Rechargeable 550 (Micro/AAA, NiMH, 550 mAh): EUR 1.80 (I cannot particularly recommend the GP batteries, but I still list them here for comparison. They are the same you can get from Conrad. This is were I recommend the Varta Accuplus NiMH, if capacity and durability is at a premium.) - CR2016 (90 mAh): EUR 0.45 (That's the cell in the original HP/Epson 128 Kb RAM card for the HP 48GX) Hope it helps, ==== ==== > This is exactly what I meant. That should work! And it should > also work for stable bints. Needless to tell me I can add it > to my own table. I thaught you're aiming at making things > better than they were in Jazz. It doesn't make a difference > whether extable has 110 or 110.5 KB ... CdB> Well, Personally, I think it should not work for stable bint, CdB> only for supported bint.... we had enough problem because peoples CdB> are using 'stable' entries and not only supported entries in CdB> their programs... stable regions in the ROM in order to indicate that these entries can safely be used. Is this not the case? Are you indicating we should better not produce a version of extable which contains all the entries we found in the stable regions? - Carsten ==== I would like to call EQW from a program, just as pressing left-shift enter. I can't use EQW, because I don't want to edit the object on level 1 (stack). Miguel ==== if you are using MK2.30 AND ONLY IN THIS, the one available for download in HPCalc, you can use: .82 #EDACCh SYSEVAL é , being carefull when you type the hexadecimal number and it should do. Boa Sorte ;) Ass. Paulo Pinheiro P.S.: .83 fixe ver Portugueses a utilizar a HP48 com o MK instalado por aqui ;) > I would like to call EQW from a program, just as pressing left-shift > enter. I can't use EQW, because I don't want to edit the object on level 1 > (stack). > Miguel > ==== I would like to call EQW from a program, just as pressing left-shift > enter. I can't use EQW, because I don't want to edit the object on level > 1 > (stack). The internal way of doing so is something like this: S~N 1 ->LIST ->ALG EQW Found a bug in the HP49, makes the equation writer crash ==== 1. CAn this expression be used in UserRpl ? I've tried << S~N 1 ->LIST ->ALG EQW> and nothing happend. 2. What's N~S ? 3. I've also tried !NO CODE !RPL :: S~N 1 ->LIST ->ALG EQW; @, folowed by ASM and I got an ASM ERROR. What have I done wrong? Miguel > I would like to call EQW from a program, just as pressing left-shift > enter. I can't use EQW, because I don't want to edit the object on > level > 1 > (stack). The internal way of doing so is something like this: > S~N 1 ->LIST ->ALG EQW Found a bug in the HP49, makes the equation writer crash ==== You use that expression if you have the right commands installed, the 'program' tha JY Avenard gave was an algorythm to reach a way to start EQW in the way you asked. (The following commands ->ID, ->ALG can be found in Hacker tools from Mika Heiskanen) .82 @Put a string with a space on stack ->ID @transform it to a name, identification 1 ->ALG @Transform it in an algebraic expression, you don't see it the Stack but is there EQW é Start EQW This is the way of doing that in HP48 with MK The trick to make MK EQW start with no equation is to give it as argument an algebraic expression containin only the name ' ' If you do .82 #EDACCh SYSEVALé will do the same thing has the program posted above. OR do !NO CODE !RPL :: SYMBOL ID 20 ; xEQW ; @ ASM Or !NO CODE !RPL :: PTR EDACC ; @ ASM Paulo Pinheiro 1. CAn this expression be used in UserRpl ? I've tried << S~N > 1 ->LIST ->ALG EQW> and nothing happend. > 2. What's N~S ? > 3. I've also tried !NO CODE !RPL :: S~N 1 ->LIST ->ALG EQW; @, folowed by > ASM and I got an ASM ERROR. What have I done wrong? Miguel I would like to call EQW from a program, just as pressing left-shift > enter. I can't use EQW, because I don't want to edit the object on > level > 1 > (stack). The internal way of doing so is something like this: > S~N 1 ->LIST ->ALG EQW Found a bug in the HP49, makes the equation writer crash > ==== 1. CAn this expression be used in UserRpl ? I've tried << S~N > 1 ->LIST ->ALG EQW> and nothing happend. > 2. What's N~S ? > 3. I've also tried !NO CODE !RPL :: S~N 1 ->LIST ->ALG EQW; @, folowed by > ASM and I got an ASM ERROR. What have I done wrong? Miguel I think that JYA is talking of 49G, when we are talking of 48GX with MK 2.30... ==== > I think that JYA is talking of 49G, when we are talking of 48GX with MK > 2.30... Not at all. This is specifically for the HP48 with MK 2.30 The way the EQW key works is simply calling the EQW program with an algebraic containing the empty global name. You can also try with an algebraic containing a global name with a space like: 8BA2084E201002B2130 H-> EQW ==== > The internal way of doing so is something like this: > S~N 1 ->LIST ->ALG EQW What is ->ALG? Does it exist in MK 2.3? ==== > I would like to call EQW from a program, just as pressing left-shift > enter. I can't use EQW, because I don't want to edit the object on level 1 > (stack). I think you must do somethimg like this: << ' X ' EQW > and then write what you want... ==== Hallo Tal, > In regard to your SysRPL advice, I would be very > thankful if you could give me an example of how > to do it. I am afraid that my HP48S have not enough > memory(32K). That doesn't matter, I do _all_ my work on the PC and only copy the result onto the real machine. First you need a compiler for the PC. The original compiler package at http://www.hpcalc.org/hp48/pc/programming/sysrplpc.zip contain also two documents for SysRPL and ASM programming. The compiler tools are very old, so replace them with http://www.hpcalc.org/hp48/pc/programming/hptools-3.0.6-win32.zip. An update of the entry point table will also be good. This must be file modified http://www.hpcalc.org/hp48/programming/entries/48entry.zip and compiled with the lastest compiler you use. Tutorials you can find at: - SysRPL tutorial http://zon.astro.uva.nl/~dominik/hpcalc/progsysrpl_pdf.zip http://zon.astro.uva.nl/~dominik/hpcalc/progsysrpl_examples.zip - ASM tutorial http://www.hpcalc.org/hp48/docs/programming/asm-html.zip or http://www.hpcalc.org/hp48/docs/programming/asm-pdf.zip For testing I always use Emu48 as HP48 emulator. Here it doesn't matter if you crash the calculator. Second Emu48 has a build in ASM debugger and 3rd enough RAM to load Mikas Jazz package for SysRPL debugging. But sorry I can't give you more detailed help, I haven't the time to give more advise. Christoph Christoph Giesselink schrieb im Newsbeitrag > the > keyboard with autorepeat but without knowledge of the last pressed key for > =REPKEY?. The solution was writing a CODE object that is looking in the > keyboard buffer for the last pressed key and then calling =REPKEY? to verify > that the key is still pressed. The other way is using the ASM-Entry =BITMAP returning a bitmap of all > pressed keys in the A[W] register. But I don't know a solution for UserRPL. So I think it's time to begin with > SysRPL and the ASM stuff to leave the cruel SYSEVAL programming shown below. > Christoph Tal schrieb im Newsbeitrag In this example there is an autorepeat for A > key only: << > 0 WAIT > #071A2h SYSEVAL @ Start loop. > TEST @ Program to be evaluated if A key is down. > 1 @ A code. > #18CEAh SYSEVAL @ COERCE > #047C7h SYSEVAL @ Key pressed?. > #633C6h SYSEVAL @ NOT_UNTIL. > > I am wondering if there is a SYSEVAL for ALL key > that would be down and not only for a specific one. Tal ==== I have seen enough snippets of discussion that I am interested to acquire an HP 40G. However, being located in North America it's not available to me locally. Is there an online retailer that carries the 40G? I have done a few searches, but no luck so far, and they don't seem to be put up on eBay. Paul ==== You may be able to order one from calcpro.com under order no hp40g-abe for $89.95. rdb. ==== > Clearly there are a lot of bugs in the new lim. Stupid question - new in what sense? The beautified post-+/-1.18 'lim' or the one introduced with the 49? I thought lim was just a wrapper around LIMIT. Not that it is of any importance, just curious. One thing I'd like to add, lim is listed in the wrong catalog - CAT instead of CMDS. Again, no breaking news, but it is a little inconsistent in my opinion. Best wishes, Walter. ==== > Hmm, if I enter 1 / ( SQRT( x^2 + 2*x ) + x ) and then x=-oo to the > stack and the use the menu key [lim], I get -1. Same if I enter lim( 1 / ( SQRT( x^2 + 2*x ) + x ) ) > x-oo in the EQW and then use EXPAND. A flag issue again? Doing this produces an error message: lim error: Non algebraic in expression and next my screen gets garbled. I'll experiment a little with some flags, see if that helps. If your's does give the correct result, it indeed has got to do something with that. > Because RPN was already invented by the greeks ;-) :-) Walter. PS: I inadvertedly hit the Post button before having typed anything, so please disregard my other reply (RNGN, invented by the Dutch). ==== Hmm, if I enter 1 / ( SQRT( x^2 + 2*x ) + x ) and then x=-oo to the > stack and the use the menu key [lim], I get -1. Same if I enter lim( 1 / ( SQRT( x^2 + 2*x ) + x ) ) > x-oo in the EQW and then use EXPAND. A flag issue again? Doing this produces an error message: lim error: > Non algebraic > in expression Aha! Now we have the reason for the problem. You must have done it in real mode. Switch over to complex mode and try again. Strange is that entering 1/(SQRT(x^2+2*x)+x), then X=+oo and then pressing the menu key [lim] returns the correct result in real or complex mode. It is only using EXPAND on the beautified expression lim( 1 / ( SQRT( x^2 + 2*x ) + x ) ) x->oo in real mode that errors out. I think that it is EXPAND that behaves unusual here. > Because RPN was already invented by the greeks ;-) > > :-) Walter. PS: I inadvertedly hit the Post button before having typed anything, so > please disregard my other reply (RNGN, invented by the Dutch). Aah, so there must have been connections between Greeks and Dutch regarding reversity ;-) Greetings, ==== Well, I found the solution. It was this flag -125 again. I set it to prevent my calc from rewriting SQRT's, but lim doesn't seem to like that. Although I don't exactly know the meaning of this flag, I suspect that the problem lays in the fact that when solving this limit by hand you get something like this: |x| * ... sgn(x) * ... ---------- = -------------- x * ... ... where sgn(x) = -1 for x<0 or +1 for x>=0 I suppose that when setting flag -125 the calc doesn't recognize this pattern, or maybe doesn't even get it at all, resulting in a wrong result. But, I might be completely wrong in this. > Strange is that entering 1/(SQRT(x^2+2*x)+x), then X=+oo and then > pressing the menu key [lim] returns the correct result in real or > complex mode. It is only using EXPAND on the beautified expression > lim( 1 / ( SQRT( x^2 + 2*x ) + x ) ) > x->oo > in real mode that errors out. I think that it is EXPAND that behaves > unusual here. Could be the lim thing as well. Seems that there are lots of problems with it, it probably gets garbled somewhere during the calculations bugging something else. I think that would explain the 'non algebraic expression' too. But that's just a shot in the dark. Best wishes, Walter. ==== Nick Karagiaouroglou schreef in bericht > On a 49G with ROM 1.19-6, the limit: lim( 1 / ( SQRT( x^2 + 2*x ) + x ) ) > -oo yields -:0 The same limit when approaching +oo returns +:0 Now I'm not entirely sure if I interpret the -: correctly, but I think the > first result is incorrect, it should be -1. (*) Hmm, if I enter 1 / ( SQRT( x^2 + 2*x ) + x ) and then x=-oo to the > stack and the use the menu key [lim], I get -1. Same if I enter lim( 1 / ( SQRT( x^2 + 2*x ) + x ) ) > x-oo in the EQW and then use EXPAND. A flag issue again? Now why didn't the Arabs invent RPN instead of algebra... Because RPN was already invented by the greeks ;-) > ==== On Tue, 25 Jun 2002 14:22:57 +0300, Veli-Pekka Nousiainen > Curiosity : do you know which is the reset procedure for HP49 ? >Use [Left-Shift] [FILES] to search& destroy port memories... >Does this answer to your question? thanks, I can't try at the moment, because I need to preserve data; I will in the future :-) Fabrox ==== Well you could use the FILER to make copies to ERAM eg. Port 1 then you could try to erase the things in your Flash. OR do it the other way around: keep the Flash Mem copies, but kill Port 1 contents Let's try it out: [Left-Shift] [APPS] which is [FILES] using the arrow keys go to (the KB varies - naturally :) 2:FLASH 143KB select it by either pressing [ENTER] or [F6] which has an |OK| above it Now select all the Flash contents (if you have not yet filled it up? :) by pressing [ENTER] as many times as it takes. [You can watch the selection to grow in the upper right corner of the display] Then press [F3] key with |MOVE| above it, press |F5| which says |CANCL| we want to Copy - not to Move - You have still the items selected now you can press [F2] key with a label |COPY| above it. Press Up-Arrow once to go to the (the KB might be less) 1:ERAM 256KB Press either [ENTER] or [F6] eg. |OK| to accept the Copy. You are returned to the Flash memory where you selected the items Press now [Left-Arrow] and you can select the 2:ERAM with ENTER Now you may select the items like before (but in ERAM) Then press [NXT] and [F1] to |PURGE| answer |OK| You may also press |CANCL| instead to keep the back-ups in ERAM. I hope that any beginner will enjoy deleting his/her files with FILER ;-) > thanks, I can't try at the moment, because I need to preserve data; > I will in the future :-) Fabrox ==== On 24 Jun 2002 14:42:11 +0200, Carsten Dominik F> - how can I get full screen for text ? Use STARTED and EXITED variables with ><< 0. ->HEADER and ><< 2. ->HEADER respectively. >F> - how can I copy and paste text inside of the EDITB window ? Use the BEGIN END COPY CUT PASTE functions which are all on >rightshifted keys left of the arrow keys. I discovered it yesterday : greatly useful in hp49 !! (and it's possible to paste anywhere even outside of the mother string) ------------------------- One more question : Automatic Linefeed do you know how avoid that a string made by long lines goes out of the screen (on the right) ? I found 2 ways : 1 ) creating the texts from Microsoft Word and choosing the maximum line lenght = 33 then save as TXT and transfert them on calculator hp49 2 ) I made a program on hp48/49 that inserts a null character after 33 characters... but my program is not so clever and needs to divide the large string in substrings... lots of time and memory needed in the process. Better suggestions ? Fabrox ==== F> One more question : Automatic Linefeed F> do you know how avoid that a string made by long lines goes out of the F> screen (on the right) ? F> I found 2 ways : F> 1 ) creating the texts from Microsoft Word and choosing the maximum F> line lenght = 33 F> then save as TXT and transfert them on calculator hp49 F> 2 ) I made a program on hp48/49 that inserts a null character after 33 F> characters... but my program is not so clever and needs to divide the F> large string in substrings... F> lots of time and memory needed in the process. There is no way to make automatic linefeed while you type the text in the built-in editor. If you only want to look at the text, you can use the command SCROLL which will wrap lines to 33 characters before display. For use in the Editor, you can reformat text to fit on the screen. If you have Emacs installed. just select the text you want to have reformatted (with BEGIN and END), and use the Emacs meta command Q, i.e. press Meta (in the menu installed by RPLED/Emacs) Q (to do the reformatting) ENTER (to leave Meta mode again) If you want to have the paragraph indented, just make sure the BEGIN mark of the block has the right indentation. See the Emacs documentation for more. If you need this command frequently, you can get it into the RPLED/Emacs menu by storing { { WRAP |Q } } into a variable 'emacs' in your HOME directory. The Emacs menu will then contain a forth page with this command. More details again in the Emacs docs. If you are looking for a program to automatically wrap a given string to a given width, you can use a SystemRPL entry which is very fast. It replaces SPACE by NEWLINE at appropriate places. The following System RPL program takes a string and a real width, it returns the modified string. :: CK2&Dispatch 49 :: SWAP TOTEMPOB SWAP (Make a new copy of the string) COERCE (Convert real to BINT) FPTR 3 9A (The built-in line wrapper.) ; ; Making a new copy of the string is necessary because the FPTR works directly on the string, without making a copy first. If you are not into writing System RPL programs, you can use: << SWAP IF TYPE 2. == THEN @ check if string NEWOB SWAP R~SB @ requires library 256 attached #9A003 FLASHEVAL ELSE SWAP 514. DOERR @ error if not string END > Hope this helps. - Carsten ==== > There is no way to make automatic linefeed while you type the text in > the built-in editor. Well, there was a way, but I removed it. It made things too complicated when I was pasting a string as adding one character or doing PASTE are both calling CMD_PLUS. If you only want to look at the text, you can use the command SCROLL > which will wrap lines to 33 characters before display. If you have a string on the stack, you can use an entry point for it: FLASHPTR StrCutNchr ^StrCutNchr is 9A003 StrCutNchr works directly on the string, so you may have to make a new copy of the object. Which takes a BINT n telling how large the screen is (like 33 characters). If you have a word of more n characters, then it won't be cut, as StrCutNchr will only replace a space with a carriage return. If you want this to happen, then you have to use FLASHPTR StrCutNchr2 ^StrCutNchr2 is 9B003 which will cut anything after n characters Both entries are really fast. > Meta (in the menu installed by RPLED/Emacs) > Q (to do the reformatting) > ENTER (to leave Meta mode again) Almos the same key sequence as Just like in the original Emacs, that's cool ! > If you are looking for a program to automatically wrap a given string > to a given width, you can use a SystemRPL entry which is very fast. > It replaces SPACE by NEWLINE at appropriate places. The following > System RPL program takes a string and a real width, it returns the > modified string. I should have read your message more carefully before answering. ==== JA> Well, there was a way, but I removed it. It made things too JA> complicated when I was pasting a string as adding one character or JA> doing PASTE are both calling CMD_PLUS. Interesting. In the mean time, I thought, one can of course assign a command to the SPC key which will do the wrapping if necessary, So it can be done - I'll try it. JA> If you want this to happen, then you have to use JA> FLASHPTR StrCutNchr2 JA> ^StrCutNchr2 is 9B003 JA> which will cut anything after n characters I did not know this entry. Very useful. However, I cannot get it to work. Is the stack diagram different? JA> Both entries are really fast. > Meta (in the menu installed by RPLED/Emacs) > Q (to do the reformatting) > ENTER (to leave Meta mode again) JA> Almost the same key sequence as Just like in the original Emacs, JA> that's cool ! Nice that you notice. If you press Meta a bit longer, you don't even need the ENTER. Meta long enters meta mode for only a single command. JA> I should have read your message more carefully before answering. Well we learned about ^StrCutNchr2, so it is good that you first replied and then read :-) - Carsten ==== > Interesting. In the mean time, I thought, one can of course assign a > command to the SPC key which will do the wrapping if necessary, So it > can be done - I'll try it. The way it was working before was just cutting the word, no nice word wrapping. Very simple really. > I did not know this entry. Very useful. However, I cannot get it to > work. Is the stack diagram different? It is.. Sorry for that: **************************************************************************** **** * Purpose: Put carriage return instead of space in order to avoid lines * of more than n chr. Cut words of more than n chr on two lines * The output is no more than Nb lines max lines * Input: 3: String * 2: # chr max per line * 1: # lines max * Output: 2: Modified string * 1: # of cr in the string ==== > Almost the same key sequence as Just like in the original Emacs, > that's cool ! > Nice that you notice. If you press Meta a bit longer, you don't even > need the ENTER. Meta long enters meta mode for only a single command. real 49 is probably lost or some pretty girl has got it :-) On his emulator, longhold does scarcely work ... ==== >There is no way to make automatic linefeed while you type the text in >the built-in editor. If you only want to look at the text, you can use the command SCROLL >which will wrap lines to 33 characters before display. Yes, I did the same using VIEW command. >For use in the Editor, you can reformat text to fit on the screen. If >you have Emacs installed. just select the text you want to have >reformatted (with BEGIN and END), and use the Emacs meta command .... I'll try ! >If you are not into writing System RPL programs, you can use: << > SWAP > IF TYPE 2. == THEN @ check if string > NEWOB SWAP > R~SB @ requires library 256 attached > #9A003 FLASHEVAL > ELSE > SWAP > 514. DOERR @ error if not string > END >> I tried to load this in EMU 49 but it gave me a strange sintax error highlighting IF ... I retry later. >Hope this helps. Have a nice day ! :-) Fabrox ==== There is a DUP missing just before the TYPE in the program below. - Carsten CD> << CD> SWAP CD> IF TYPE 2. == THEN @ check if string CD> NEWOB SWAP CD> R~SB @ requires library 256 attached CD> #9A003 FLASHEVAL CD> ELSE CD> SWAP CD> 514. DOERR @ error if not string CD> END CD> > CD> Hope this helps. CD> - Carsten ==== On Tue, 25 Jun 2002 14:33:37 +0300, Veli-Pekka Nousiainen >Just to add to this: >You could disable UNDO and LASTARG and even Command memory >69 MENU >STK, ARG, CMD I did it with HP49, it seemed to allow much more memory to load big strings. Fabrox ==== h/15+h=(h-1)*(h^2/h-2)/h^2 i would like to solve it that i get the result for h. is it possible or is it too much for the hp49? thanks very much greetings max ==== thanks a lot! ;) h/15+h=(h-1)*(h^2/h-2)/h^2 i would like to solve it that i get the result for h. is it possible >or is it too much for the hp49? >thanks very much >greetings >max ==== Cut and pasted from your post: 'h/15+h=(h-1)*(h^2/h-2)/h^2' 'h' SOLVE { 'h=0.0000' 'h=0.7076' } I prefer to use X as the unknown which avoids using Alpha mode as X is on the keyboard, then its just one step to solve 'X/15+X=(X-1)*(X^2/X-2)/X^2' SOLVEX { 'X=0.0000' 'X=0.7076' } Stephen N 'h/15+h=(h-1)*(h^2/h-2)/h^2' i would like to solve it that i get the result for h. is it possible > or is it too much for the hp49? > thanks very much > greetings > max ==== i.e. solve( equation , variable) ed h/15+h=(h-1)*(h^2/h-2)/h^2 i would like to solve it that i get the result for h. is it possible > or is it too much for the hp49? > thanks very much > greetings > max ==== > I expect mine to live as long as i probably will. So far nothing shows > age on the calc and it is being used (NOT abused!) constantly. Only > mark is a dent between [5] and [6] from when i held it between my > teeth. Don't bet on it. I've got one of the original HP-41C's (circa 1980), and the [Enter] key is broken: the part that makes both ends (left and right) go down simultaneously when you press the key is broken, and one side is sagging *very* noticeably. The key is very mushy when you press it. If you press the [Enter] key very carefully, the calculator is still usable, but the key is clearly broken. Aside from that, the calculator is in excellent shape cosmetically (and is fully functional, electrically, AFAIK). A friend's HP-41CX died a couple of years ago (just stopped working one day -- weird). I snagged it, and I may try to use it to fix my keyboard someday. [ No, I'm not willing to sell either of them! ;-) ] -- Darryl Okahata darrylo@soco.agilent.com DISCLAIMER: this message is the author's personal opinion and does not constitute the support, opinion, or policy of Agilent Technologies, or of the little green men that have been following him all day. ==== Darryl You bring up a good point.. First of all I like the HPs.. I have a 15c that I use often.. Just got a HP49G.. Saying that if one has invested allot of time programming one of these calcs and would have to put allot more time programming something else buy a spare while their available. Or get a used one ebay assuming its in good price.. I shopped ebay for a 49g but found I could buy one new and delivered for very close to whats being asked there.. Later Rich On 25 Jun 2002 16:25:15 -0700, Darryl Okahata I expect mine to live as long as i probably will. So far nothing shows > age on the calc and it is being used (NOT abused!) constantly. Only > mark is a dent between [5] and [6] from when i held it between my > teeth. Don't bet on it. I've got one of the original HP-41C's (circa >1980), and the [Enter] key is broken: the part that makes both ends >(left and right) go down simultaneously when you press the key is >broken, and one side is sagging *very* noticeably. The key is very >mushy when you press it. If you press the [Enter] key very carefully, >the calculator is still usable, but the key is clearly broken. Aside >from that, the calculator is in excellent shape cosmetically (and is >fully functional, electrically, AFAIK). A friend's HP-41CX died a couple of years ago (just stopped working >one day -- weird). I snagged it, and I may try to use it to fix my >keyboard someday. [ No, I'm not willing to sell either of them! ;-) ] ==== my all-time favorite: AWOL > Missing In Action Umm, so that would be ... MIA ... ? GeofJ > -- > DOA = dead on arrival or not functioning anymore. Actually one should use this only when one gets a new non-functional > calc. > For a department or division of a company DOA would mean > that they killed/cancelled it just after publishing the contact > information > of such > a department or division. VP, just my 0.02_? ==== > my all-time favorite: AWOL Do you mean: Absent While On Line :-) My favorite is: ASTERIX OR... maybe simply: or even shorter one: VP PS: The Missing In Action, could also mean: Made in America Master of International Affairs Media Interface Adapter Miami International Airport (this is the code for it if you ever take a flight to MIA) or in GSM technology: Mobile Internet Access There are several other explanations of this acronym so one always needs the context to find the most probable meaning oh - almost forgot: Multiplex Interface Adapter it was too common, now a rare one: Mutual Improvement Association only used by a religious group Mormons, I guess. Veli-Pekka EOF ==== All Finally bit the bullet and bought an HP49G.. Over all I like it. shortcomings are the keyboard and the manual. However over all the 49 is great.. I received an serial cable adapter that fits in the 49. Can you use a standard serial cable to connect with a pc or do you need to make or buy a special cable? I can easily make one if I have the pin out that's required. Any online places that may have a diagram. Rich ==== You can build a standard serial cable OR use the one you got with your new 49G (It did come with a PC & a 48 head, didn't it) BUT do not use an old HP-200LX cable www.hpcalc.org has several cable-making instructions > All Finally bit the bullet and bought an HP49G.. Over all I like it. > shortcomings are the keyboard and the manual. However over all the 49 > is great.. I received an serial cable adapter that fits in the 49. Can you use a > standard serial cable to connect with a pc or do you need to make or > buy a special cable? I can easily make one if I have the pin out that's required. Any > online places that may have a diagram. > Rich > ==== Veli-Pekka Come to think of it yes it did.. I didnt know if that cable would work only compatible between hp calcs. Rich On Wed, 26 Jun 2002 10:07:00 +0300, Veli-Pekka Nousiainen >You can build a standard serial cable >OR >use the one you got with your new 49G >(It did come with a PC & a 48 head, didn't it) >BUT >do not use an old HP-200LX cable >www.hpcalc.org >has several cable-making instructions > All Finally bit the bullet and bought an HP49G.. Over all I like it. > shortcomings are the keyboard and the manual. However over all the 49 > is great.. I received an serial cable adapter that fits in the 49. Can you use a > standard serial cable to connect with a pc or do you need to make or > buy a special cable? I can easily make one if I have the pin out that's required. Any > online places that may have a diagram. > Rich ==== > BTW, there is no document explainig the diffs between Debug2 Masd and HP49 > Masd, Sorry > Too bad, porting would be a lot easier. Once your in Debug2 mode, there's little difference between the too system. The HP49 MASD is more flexible on the syntax as things like: ?A=C.A -> { } will work, but on the Hptools the arrow must be attached like this: ?A=C.A ->{ } The HP49 also provides more possibility of calculations inside an expression and the calculations are made in 64bits while Hptools use 32bits internally So something like: LC(15) expression will not be really useful with Hptools as only the first 8 nibbles would be filed. With this in mind, you can freely work with the HpTools just as on the HP49, I use both and don't bother much to see what's different between the two systems. ==== Tried the -124 flag on one of my algebraic equations and it didn't seem to make much difference. Over 20sec to find solution either way. What does the -124 flag do then? > What other functions like EVAL on algebraic objects cause similar HP49 CAS > overheads. Or is the HP49 CAS overhead generated by any operation on an > algebraic object. Next question is there anyway to bypass the CAS overhead other than not > using algebraic objects. eg is ther anyway to access the HP48 EVAL function > on the 49 so that the CAS extensions aren't called. There is the flag -124 which, if I remember well, controls if > EVALuation follows the CAS way (flag set) or the old way (flag clear), > but I don't know what else it does. Anyway, if you store [[1 2][3 4]] > in A and in B then: > When the flag is set evaluating the algebraic object 'A*B' will error. > When it is clear then it evaluating 'A*B' returns the right result. > ---snipped rest--- ==== What flag -124 does? Hmm, I am definitely not one of the gurus that have deep insight in the brains of the HP49G. I only know that it has to do with the way that evaluation works. Setting flag -124 makes the HP49G use strictly the CAS-evaluation of algebraic objects (CASCOMPEVAL, I think). Clearing it allows the old (COMPEVAL) way of evaluation to be used. Perhaps you take a look at http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&threadm=cd9ca36b.01070306 14.115e721%40posting.google.com&rnum=1&prev=/groups%3Fq%3Dflag%2B124%2Bgroup : comp.sys.hp48%26hl%3Den%26lr%3D%26ie%3DUTF-8%26selm%3Dcd9ca36b.0107030614.11 5 e721%2540posting.google.com%26rnum%3D1 and http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&threadm=cd9ca36b.01070305 24.4d8f9338%40posting.google.com&rnum=2&prev=/groups%3Fq%3Dflag%2B124%2Bgrou p :comp.sys.hp48%26hl%3Den%26lr%3D%26ie%3DUTF-8%26selm%3Dcd9ca36b.0107030524.4 d 8f9338%2540posting.google.com%26rnum%3D2 Generally speaking, if programs for the HP48 are compiled/run in approx mode on the HP49G, then the speed differences to the HP48 are really small. At least that's my experience up to now. If you have a program that runs considerably slower on the HP49G, then recall it on the stack, switch to approx mode, press [down arrow] to bring the program to the editor, and without doing anything else press [ENTER]. This will put the program on the stack again, but now all numbers are reals. This re-compiled program should run in approx mode almost as fast as on the HP48. The small speed differences are understandable, if we consider that the HP49G has much more to do but still uses the old saturn. Greetings, > Tried the -124 flag on one of my algebraic equations and it didn't seem to > make much difference. Over 20sec to find solution either way. What does > the -124 flag do then? > What other functions like EVAL on algebraic objects cause similar HP49 > CAS > overheads. Or is the HP49 CAS overhead generated by any operation on an > algebraic object. Next question is there anyway to bypass the CAS overhead other than not > using algebraic objects. eg is ther anyway to access the HP48 EVAL > function > on the 49 so that the CAS extensions aren't called. There is the flag -124 which, if I remember well, controls if > EVALuation follows the CAS way (flag set) or the old way (flag clear), > but I don't know what else it does. Anyway, if you store [[1 2][3 4]] > in A and in B then: > When the flag is set evaluating the algebraic object 'A*B' will error. > When it is clear then it evaluating 'A*B' returns the right result. > ---snipped rest--- ==== I have learned a lot. Erwann ABALEA schrieb im Newsbeitrag > << > 5. 5. 5. > 1. 30. START > -> X Y Z << > X Y .04 * - Z .04 * - > DUP DUP > NEXT > > I can confirm the dramatic change in speed, using rpn instead of an algebraic part. The difference between HP48 and HP49 is very small, I guess due to a temperature difference or battery-voltage. Little improvements for loops, will pay Instead of: << X Y .04 * - Z .04 * - > I have used: << X Y Z + .04 * - > on HP49 it takes about 610 ms instaed of 680 ms (your example), because (of less stack use and) 30 multiplications less :-) I have measured with: << TICKS 5. 5 ... NEXT TICKS > ...Heiko PS: here is my last improvement for the whole programm ;-) << 0.40983101789 > ==== software and I have two questions: 1) I can't get the software to backup my 49g at allá I've got the latest OS and followed all the directions (including setting the binary mode) 2) I CAN successfully backup my 48gx BUT cannot restore to the 49gá Why not? By the way it doesn't matter if we have the clock displayingá right??? franks ==== Per il cavetto di connessione PC - HP vai sul sito italiano: http://www.srssoftware.it costa 16,12 euro IVA inclusa (31.213 Lire) oppure sul noto sito tedesco: http://www.cynox.de alla pagina: http://www.weinert-engineering.de/eng/index.html?calc qui costa 15,30 Euro ma devi aggiungerci il 16% di imposte per un totale di: 17,75 Euro. Quindi ti consiglio l'italiano srssoftware. Ciao ==== > software and I have two questions: > 1) I can't get the software to backup my 49g at all. I've got the > latest OS and followed all the directions (including setting the > binary mode) You should be able to back-up the Main-RAM Sometimes I use the Hyper-Terminal Personal edition on PC and just use the old method backin-up both calcs. :IO: HP49.20020626 ARCHIVE > 2) I CAN successfully backup my 48gx BUT cannot restore to the 49g. > Why not? Wow-woh! HYH! I hope you're not doing a 48->49 restore? That's a No-No! The two calcs are not binary compatible with SysRPL or even UserRPL objects. You may move any 48 type objects between them using serial port in ASCII > By the way it doesn't matter if we have the clock displaying. right??? Right. ==== questions which I have more of please á 1) When you said You should be able to back up the Main-RAM á you mean the Home directory and all of its contents áright? Perhaps the PC Connectivity software won't let me save an archive because I have no objects other than the default variables in the home directory? 2) just use the old method backin-up both calcs. :IO: HP49.20020626 ARCHIVE Where would I type the line in and what buttons would I have to press? > software and I have two questions: > 1) I can't get the software to backup my 49g at all. I've got the > latest OS and followed all the directions (including setting the > binary mode) > You should be able to back-up the Main-RAM > Sometimes I use the Hyper-Terminal Personal edition on PC > and just use the old method backin-up both calcs. > :IO: HP49.20020626 > ARCHIVE ==== > 2) just use the old method backin-up both calcs. > :IO: HP49.20020626 ARCHIVE Where would I type the line in and what buttons would I have to press? You really need to read the manual. You just type this in the command line. ==== Did you know that C.F. majored in art history? I never would've guessed . . . ==== > Did you know that C.F. majored in art history? I never would've guessed . . . Greg S ==== Now, now Greg! You may be sued for comparing Carly to Adolf !!! ... by the Adolf supporters... ;-) Did you know that C.F. majored in art history? I never would've guessed > . . . > Greg S ==== > by the Adolf supporters... Which I hope aren't many :-) I had a cold chill down my spine just reading his name.... :-/ ==== I posted my opinion that a technical company should NEVER be headed by a nontechnical person, especially a nontechnical woman. That worthless bitch has ruined one of the best innovative companies ever. But's it not absolutely her fault - the idiots that hired her and propelled her to the top should have known better. Anyone with any sense at knows someone with an art history major is as useless as tits on a bull. That makes me suspect some serious dry rot within HP. J.C. Randerson > Did you know that C.F. majored in art history? I never would've guessed . . . ==== I will agree that technical companies that have technical-minded leadership tend to do very well, but your comments regarding women is simply backward thinking. I think we can all agree that Carly is not qualified for the position she holds, but you don't do anything to help your cause when you come in here sounding like a bigot. Have a little respect for other people's interests. Saying someone is worthless based on their major is rather prejudiced, IMO. If you want to have any hope of getting somewhere with your grievances, it would help if you first came down off your pedestal and presented your complaints without the holier than thou attitude. Aaron > I posted my opinion that a technical company should NEVER be headed by > a nontechnical person, especially a nontechnical woman. That worthless > bitch has ruined one of the best innovative companies ever. But's it > not absolutely her fault - the idiots that hired her and propelled her > to the top should have known better. Anyone with any sense at knows > someone with an art history major is as useless as tits on a bull. > That makes me suspect some serious dry rot within HP. J.C. Randerson Did you know that C.F. majored in art history? I never would've guessed . . . ==== Blah, blah, blah.... you two people with the same stuff again? please !!!. > I will agree that technical companies that have technical-minded leadership tend to do very well, but > your comments regarding women is simply backward thinking. I think we can all agree that Carly is not > qualified for the position she holds, but you don't do anything to help your cause when you come in here > sounding like a bigot. Have a little respect for other people's interests. Saying someone is worthless > based on their major is rather prejudiced, IMO. If you want to have any hope of getting somewhere with > your grievances, it would help if you first came down off your pedestal and presented your complaints > without the holier than thou attitude. Aaron ==== > Well it's not actually a problem ... I'm just not getting the answer I > expect ... repeatedly ... dang I'm have three waveforms: Y1=13*cos(2*pi*3000*X+((41*pi)/90)) > Y2=33*cos(2*pi*3000*X-(pi/6)) Y3 is the sum of Y1 and Y2. pi/6*2*pi*3000 When I plot Y1 and Y2, I can measure the period (2*pi) at 39.5mm First thing to be aware of here: I assume that 2*pi*3000 is the angular velocity(because of the factor 2*pi, which causes my automatic reaction omega=2*pi*f) with a frequency f=3000Hz in this case). If this is true, then the independend variable X is time, not length. That means that the value of 39.5 for X represents 39.5ms and not 39.5mm. If I understand you right, you found a period of 39.5ms. The question is, how did you get this value? The period T is given by T=1/f which with f=3000Hz gives us a period of 1/3000Hz=3.33E-4s=.333ms. > By my reasoning, (((41*pi)/90)*2*pi*3000)/39.5=(pi/6*2*pi*3000)/ZZ where ZZ > should equate to the measured distance that Y2 lags by. Since the two waves have the same frequency of 3000Hz, it is sufficient to consider only the difference of their phase (41*pi)/90-(-pi/6)=28*pi/45=1.95..rad. This is a difference in phase (angle). On the plot we can find *time* differences, because we plot against X, which is time. If we find the time difference between the two waves on the plot, then we get the value 1.037E-4s. Dividing the phase difference 1.95 by the angular velocity 2*pi*3000 we obtain a value of 1.037E-4s, which is exactly what is measured on the plot display. > I'm using the above equation to test my maths so that I can then use the > same theory to measure and then calculate what the lag of Y3 will be ... > except that it's not working. For Y3 same reasoning like above. > I know this is not a maths based NG but many of the questions posed do have > a maths bent (and I know Nick loves maths cause I use his trig marathon > files ... thanks Nick) Aaah, you know me good ;-) Well, when all mini-editor and filer problems are solved, there will be still enough maths bent questions and problems, so time is on my side ;-) Hopefully my frequency can keep up with the questions period ;-) > Any help would be greatly appreciated ... I know I'm making a dumb mistake > somewhere but I can't seem to work out where. Could it be that you intermixed phases and times in your reasoning? I'm asking you because I did that many times in the past and didn't even noticed. (I only noticed that my math/physics teacher started turning red after having explained this to me about 378 times. Poor Mr. Trabakoulas. ;-)) Greetings, ==== I am currently writing a library that contains several subrountines. The main subrountine is almost entirely written in assembly with some calls to sysRPL through the normal ML -> sysRPL calling MACROS The program calls other library subroutines when it drops to sysRPL and resumes the main program in ML. The problem is that the program will work sometimes perfectly and other times it will crash the calc. Also it works fine on EMU48 but will work only periodically on the real calc. Could someone tell me why it will only work sometimes? Should I be calling library routines from within a ML program? Tim ==== > Could someone tell me why it will only work sometimes? Should I be > calling library routines from within a ML program? Well, if you are calling routines that are located in another ROMPTR entry, that's perfectly normal. In fact the only way it will work is if you install your library in port 0. Like Jazz for example. If your library is covered, only one library sub-objects at a time will be loaded in memory, so if you call a sub-routine with a direct jump it will crash ==== HPMackayQld schrieb: I am currently writing a library that contains several subrountines. > The main subrountine is almost entirely written in assembly with some > calls to sysRPL through the normal ML -> sysRPL calling MACROS [...] > Could someone tell me why it will only work sometimes? Should I be > calling library routines from within a ML program? What sort of macros are you using? What do they expand to? - Thomas -- Thomas Rast If you cannot convince them, confuse them. -- Harry S. Truman ==== On Thu, 27 Jun 2002 14:12:51 +0200, Thomas Rast The main subrountine is almost entirely written in assembly with some > calls to sysRPL through the normal ML -> sysRPL calling MACROS >[...] > Could someone tell me why it will only work sometimes? Should I be > calling library routines from within a ML program? What sort of macros are you using? What do they expand to? - Thomas Probably these : http://groups.google.com/groups?selm=sl6ottg61bn46231s3piplssarv9obvulk%404a x.com ---------------------------------------------------------------------------- --- Jonathan Busby - before replying. ==== > HPMackayQld schrieb: I am currently writing a library that contains several subrountines. > The main subrountine is almost entirely written in assembly with some > calls to sysRPL through the normal ML -> sysRPL calling MACROS > [...] > Could someone tell me why it will only work sometimes? Should I be > calling library routines from within a ML program? What sort of macros are you using? What do they expand to? - Thomas Basically this is how I get from ML -> sysRPL Calling routine ( calling a library subroutine:- iFileName ) written in SystemRPL ASSEMBLE CON(5) =DOCODE REL(5) >end start GOSBVL =SAVPTR * Save RPL pointer ... donewfile GOSUBL GetptrEvalC CON(5) =DOCOL RPL iFileName COLA ASSEMBLE CON(5) =DOCODE REL(5) >end GOTO start ... Subroutines... GetptrEvalC C=RSTK * Get address of current command before A=C A * dropping to RPL GOSBVL =GETPTR * Retrieve RPL Pointers PC=(A) * Start RPL sub program One of the other concerns I have is that I am using a form of the parouterloop in the systemRPL, ie saving the current interface before executing the loop. Can this be affecting the running of the program? I feel that the program execution is getting lost somewhere but not always? Tim ==== > IMHO the problem always for many teachers with handhelds is, > paradoxically, their very expandability. For many teachers this is > frightening because it means that they cannot control what info and, > more importantly, what tools their students have access to. This reminds me of an anecdote told by my Calculus 2 professor. He said that he once caught a student cheating on a test, with the cheat-sheet written *on* the back of the calculator. The student claimed that he was in the clear; the teacher had said they could put anything on the calculator that they wanted, but no notecards were allowed. Do'h! I think he was the only student to ever get away with it, but I bet a few of his classmates invested in larger calculators. ==== I finished version 21 of my Spanglish dictionary for calculators 48G and 49G series. And need to know that it seems to them and its suggestions for some future changes. Next a brief explanation: Spanglish v21 is a Spanish-English bilateral dictionary, with fast text entrance via predictive dictionary, written %100 in System-RPL, you can choose between the light or extensive data base (Oriented You can find it in http://www.geocities.com/deachp/deachp.html Dante Aron.92 C. -Excuses by my english. ==== As is well known, doing a Warmstart with ON&C an pressing the backspace key in the right moment, detaches all libs. To be successful, some finger gymnastics is nessecary. How doing the whole thing in a program which might be assgigned to another key, for instance? It seems to me that this can - if at all - reasonably be programmed only in ML. Wolfgang ==== Dear colleagues, have the Roarks formulas been done for the HP? ==== Can someone please explain me what does this program do? (I think I've understood it but I don't know how to stop it) < where SPEGNI is the name of the program itself (this means that after writing this I put it into a variable named SPEGNI doing 'SPEGNI' STO) bye ==== your program will 'just' enter an endless loop. When you start it it turns off the calculator and as soon as you turn it on again, it restarts itselfs and turns off the calc again, and so on. I guess it can be stopped by ON-C at the right moment, that is, in the (very short) delay between the calculator turning on and turning itselfs off again. I might be wrong on this, as I'm not going to try... Not sure what one wants to do with such a program, though. But I guess you have your reasons. As long as you don't hide it in some publicly available program without noting it ;-). Hope this helps, Walter. > Can someone please explain me what does this program do? > (I think I've understood it but I don't know how to stop it) < where SPEGNI is the name of the program itself (this means > that after writing this I put it into a variable named SPEGNI doing 'SPEGNI' > STO) bye ==== W.Smits schrieb: I guess it can be stopped by ON-C It will also overflow the return stack at some point, if you have enough patience to press ON that many times =) Thomas -- Thomas Rast If you cannot convince them, confuse them. -- Harry S. Truman ==== your program will 'just' enter an endless loop. When you start it it turns > off the calculator and as soon as you turn it on again, it restarts itselfs > and turns off the calc again, and so on. I guess it can be stopped by ON-C > at the right moment, that is, in the (very short) delay between the > calculator turning on and turning itselfs off again. I might be wrong on > this, as I'm not going to try... No. Pressing ON twice quickly will stop the program. When the UserRPL commands check for arguments, they also check the ON key counter. If it's > 0 it will stop the program ==== Look folks, is there anybody out there that has successfully used The PC Connectivity Kit 3.0 to archive their Home directory? I am now thinking that my Right-Shift P, that is, EVAL key is broken because after I click OK to accept the name of the archive, and then get the following on the first line of the stack... :IO:hpcommarch |< I'm supposed to press Right-Shift P and the process is supposed to start. Well nothing is happening ! Veli-Pekka Nousianinen helped me out in that I was able to find the old HP48gx instructions (page 27-12) for archiving the Home directory using Hyper-Terminal pe and use the old method successfully... :IO:name ARCHIVE Did I get a piece of junk...? everything else seems to check out ok franks ==== Frank Shinley schrieb: :IO:hpcommarch |< This is not going to work, since it is a string. EVALuating a string will just leave it unchanged. You may want to fix your communication settings (ASCII instead of binary mode?) or just type it by hand, as suggested in the HP48 manual. Thomas -- Thomas Rast If you cannot convince them, confuse them. -- Harry S. Truman ==== A program for the 49G to do the backups: http://www.hpcalc.org/details.php?id=5134 > Frank Shinley schrieb: :IO:hpcommarch |< This is not going to work, since it is a string. EVALuating a string > will just leave it unchanged. You may want to fix your communication settings (ASCII instead of binary > mode?) or just type it by hand, as suggested in the HP48 manual. Thomas -- > Thomas Rast -- Harry S. Truman ==== Make sure its Rght-Shift then P, release the rght-shift before pressing P. Then it should take a little while before the data starts moving and numbers start changing. It may take a while if you have a lot of data in the home directory tree. The fact you got the PC Connectivity kit to set the HP49 up and display the Archive commands indicates things should be working. Stephen.N > Look folks, is there anybody out there that has successfully used The > PC Connectivity Kit 3.0 to archive their Home directory? > I am now thinking that my Right-Shift P, that is, EVAL key is broken > because after I click OK to accept the name of the archive, and then > get the following on the first line of the stack... :IO:hpcommarch > |< I'm supposed to press Right-Shift P and the > process is supposed to start. Well nothing is happening ! Veli-Pekka Nousianinen helped me out in that I was able to find the > old HP48gx > instructions (page 27-12) for archiving the Home directory using > Hyper-Terminal pe and use the old method successfully... :IO:name > ARCHIVE Did I get a piece of junk...? everything else seems to check out ok franks ==== Does anyone know of any websites with programs/documentation/etc. on the HP-71b? I got the HP Museum manuals for the 71, but I would like to get more! Chris ==== Does anyone know where I can purchase blank expansion boards for my 48GX? I've read several projects for building them but I can't make/get the actual boards. All I need is one that has the edge connectors etched on the hp end. I can add the components myself. Or if someone is willing to make me one, I'd be happy to pay a reasonable fee. -- Jeffery http://woodfanclub.com No, it's not vanity, just desperation. ==== elements in the original order: << SWAP -> objlist > << 1 > << objlist SWAP GET DOSUBS > -> newlist > << objlist 1 > << IF > newlist OVER POS NOT > THEN > newlist SWAP + > 'newlist' STO > ELSE > DROP > END > DOSUBS > newlist > That's 195 bytes, or if we substitute 1-character local names, 147 bytes, so it's certainly a lot smaller than my 329 byte version. For very small lists, it's faster than mine. For lists of 20 elements, I'd have to say the time difference is negligible. For lists with hundreds of elements, mine is faster. The size of the elements in the level 2 argument list has only a small effect on the time. > Does its work and doesn't demand anybody to step down to the hells of > SysRPL or even ML instructions. I'm sure that both have their place, and I suppose that SysRPL wouldn't be all that hard to learn for someone who's already skilled at UserRPL. But for myself, most of the programs that I write won't be used all that many times, and I'll spend more time keying in the arguments than running the program, so it doesn't make much sense to spend extra time optimizing or to risk a TTRM if I happen to goof. > Or should we rip UserRPL off the calc? Indeed not. But for what Wolfgang is doing it does make sense to take advantage of the wider assortment of tools and error checking only as needed available in SysRPL or ML. > So to say, as the ultimate help for the decision of potential > customers, not to buy an HP49G ;-) That would make it very much a hacker's only calculator. I can't imagine a very large market for it. -- ==== A small modification to Nick's prog: << SWAP -> o << 1 << o SWAP GET > DOSUBS -> n << o 1 << n OVER IF POS THEN DROP ELSE 'n' SWAP STO+ END > DOSUBS n > ==== Maybe somebody will propose yet another one :-) Yes, Nick posted one; I'll post a response. > I'm going to write the one, which is used in the latest > Libman v. 8.2002 to make a preference order of libraries > appearing in the LIB menu set with the LIB key. It is fast > enough for about 20 libs or less (but slower as Jonathan's > somewhat longer program, designed for the general problem). > The level 1 argument list is a list of bints, of course. > Checksum: 564Fh, Bytes: 51 (compare to 's 329, but as > I said already, UsrRPL isn't designed for these problems :-) Well, I didn't actually expect to come up with something as fast or small as a SysRPL program could be. :-) -- ==== > FOR i i > also one could use something else than i as a loop variable as a habit > to avoid _any_ confusion with the imaginary symbolic i. Well, I certainly hope that no one was confused by this. Since I was absolutely sure that I wouldn't be using i as the function within the loop, I felt free to use it for the counter. > Just for fun I tried an even more peculiar example: > << 1 5 FOR pi pi NEXT > where pi is the Greek symbolic > and it worked as expected as will the infinity: > << 1 5 FOR oo oo NEXT > I believe that the loop counter amounts to a local variable, and you can indeed use an existing name (local name, global name, XLIB name, or built-in function or command name) for it. The disadvantages of doing so are that, first, as you pointed out, it could cause confusion, and, second, any occurrence of the name would be treated as the counter name, making the other use of the name unavailable within the loop. -- ==== > FOR i i > also one could use something else than i as a loop variable as a habit > to avoid _any_ confusion with the imaginary symbolic i. Well, I certainly hope that no one was confused by this. Since I was > absolutely sure that I wouldn't be using i as the function within the > loop, I felt free to use it for the counter. even using the imaginary i inside a loop running with the local variable i would not matter :-) named local variable. For instance, my latest version of MINEHUNT uses 5 named locals and I simply named them '1',...,'5' :-) The 48/49 operating system operats with various internal locals. Many of these start itself with the quote-symbol in the name, like 'dvar, for instance. If you're noisy to see what is going on in a START...STEP or START...NEXT structure, simply press the SysRPL-toggler Sys~ from OT49 on your program on the stack, Sysflag -85 set. Clearly, the huge library extable must be on your 49, best in Port 2. For instance, write << 2. 2. START i i SQ NEXT > which, with the builtin compiler on ENTER, seemingly compiles to what has just been written. But with Sys~ to something looking completely different at the first glance, namely x<< %2 %2 xSTARTVAR LAM i LAM i xSQ x> But this is actually the true compilation pattern of the UsrRPL START...NEXT structure. Words in this structure with head x are little SysRPL-programs. For instance, x<< is the progam :: CK0ATTNABORT ; - which means, already at the moment of starting the program it checks whether the CANCEL key is down or in the key buffer. And if this is the case, the program aborts before it starts running :-) Isn't this all fascinating? Indeed, in our days it is much easier to learn programming in SysRPL then it was 10 years ago, without much reading, just decompile your own UsrRPL programs with the builtin SysRPL decompiler. Wolfgang ==== Replace the line > For instance, write << 2. 2. START i i SQ NEXT > which, > For instance, write << 2. 2. FOR i i SQ NEXT > which, Sorry, Wolfgang ==== didn't say anything about your question which is a second proof > that the entry in question does not exist :-) However, a similar It may also mean that I didn't get the question ! ==== > didn't say anything about your question which is a second proof > that the entry in question does not exist :-) However, a similar > It may also mean that I didn't get the question ! ReplLevel say, Stack diagram (#n ob --> ), or more precisely (... obn ... ob1 #n ob --> ... ob ... ob1) which replaces the level n+2 object obn by the ob. Clearly, this is realized by the macro :: SWAPDUP #2+ ROLLDROP UNROLL ; but not in constant time. Since all pointers - up to obn - are moving 5 nibbles up and down several times, the macro becomes slow if bint #n is large. Undoubtly, a pointer replacing obn instantly would be extremely useful ... ==== > ReplLevel say, Stack diagram (#n ob --> ), or more precisely > (... obn ... ob1 #n ob --> ... ob ... ob1) > which replaces the level n+2 object obn by the ob. Clearly, > this is realized by the macro :: SWAPDUP #2+ ROLLDROP UNROLL ; > but not in constant time. Since all pointers - up to obn - are > moving 5 nibbles up and down several times, the macro becomes > slow if bint #n is large. UH? But you even have a UserRPL command for that: UNPICK! How could you miss it. Wolfgang RTFM ! :) I have to admit that UNPICK (user rpl) is using a pointer that is not in the supported entry point list, but it's stable (just next to the LAM entry points like GETLAM) ==== > UH? > But you even have a UserRPL command for that: UNPICK! > How could you miss it. > Wolfgang RTFM ! :) I don't know what is RTFM, but indeed, I'm ashamed :-) My only comfort is that not only me, but also Carsten, Thomas and Jonathan get a punch on the nose :-) ==== On Thu, 27 Jun 2002 10:54:08 +0200, Wolfgang Rautenberg > UH? > But you even have a UserRPL command for that: UNPICK! > How could you miss it. > Wolfgang RTFM ! :) I don't know what is RTFM, but indeed, I'm ashamed :-) >My only comfort is that not only me, but also Carsten, >Thomas and Jonathan get a punch on the nose :-) Well, I would say I have an excuse as I don't have a 49. ;) ---------------------------------------------------------------------------- --- Jonathan Busby - before replying. ==== Read The Fuc**** (is it queen?) Manual > UH? > But you even have a UserRPL command for that: UNPICK! > How could you miss it. > Wolfgang RTFM ! :) I don't know what is RTFM, but indeed, I'm ashamed :-) > My only comfort is that not only me, but also Carsten, > Thomas and Jonathan get a punch on the nose :-) ==== Wolfgang Rautenberg schrieb: I don't know what is RTFM, but indeed, I'm ashamed :-) > My only comfort is that not only me, but also Carsten, > Thomas and Jonathan get a punch on the nose :-) Huh? How come? Could you elaborate a bit on this? At least in my version of c.s.hp48 it says that I've posted about the SysRPL UNPICK on Wednesday 13:54... Well, whatever. At least now you have your solution. Thomas -- Thomas Rast If you cannot convince them, confuse them. -- Harry S. Truman ==== > My only comfort is that not only me, but also Carsten, > Thomas and Jonathan get a punch on the nose :-) > Huh? How come? Could you elaborate a bit on this? Thomas, I'm terribly sorry. You are the only one who is completely innocent :-) My strategy in reading this NG in ==== > My only comfort is that not only me, but also Carsten, > Thomas and Jonathan get a punch on the nose :-) Huh? How come? Could you elaborate a bit on this? Thomas, I'm terribly sorry. You are the only one who is > completely innocent :-) My strategy in reading this NG in Oh-no! The desease is spreading?! How come the very Professor who lectured me about this (among other things) falls into the same pit?! 2FAST4U Gee - what a - nag flow NPV - ?taerg NPR t'nsI ==== Wolfgang Rautenberg schrieb: Thomas, I'm terribly sorry. You are the only one who is > completely innocent :-) Glad to hear that =) > My strategy in reading this NG in And, if I may add, it does virtually every time. > I answer in No problem, really. You just had me a bit confused =) Greetings Thomas -- Thomas Rast If you cannot convince them, confuse them. -- Harry S. Truman ==== > How could you miss it. Wolfgang RTFM ! :) In particular, the authors of ProgrInSysRPL, Carsten and Eduardo, should get two punches each on the nose :-) They simply didn't realize that PTR 373D0 is just the SysRPL UNPICK (no argument checking). But since this pointer is stable, why didn't it get the name UNPICK in extable? So also CdB should get his punch :-) ==== > pointer is stable, why didn't it get the name UNPICK > in extable? So also CdB should get his punch :-) Cyrille has little to do with the content of the official entry points list. The entry points list contains all the HP48 entry points, then we've added all the high-level entry points that we thought would be useful or that people couldn't rewrite easily Unfortunately, this is a huge task, and obviously mistakes are done. UNPICK is one of them ==== > How could you miss it. Wolfgang RTFM ! :) WR> In particular, the authors of ProgrInSysRPL, Carsten WR> and Eduardo, should get two punches each on the nose :-) WR> They simply didn't realize that PTR 373D0 is just the WR> SysRPL UNPICK (no argument checking). We are not a service company which gets money for providing complete documentation. The entry list is simply a compilation of what has been published elsewhere, and we did not have time to decompile the whole ROM and look at all the pointers. And if people (including you) are too busy to take the time and make a complete list of things they find incorrect or missing in the book, it is unlikely that the next version will be more complete. - Carsten ==== Wolfgang Rautenberg schrieb: :: SWAPDUP #2+ ROLLDROP UNROLL ; ( obn...ob1 ob #n -> ob ob(n-1)...ob1 ) is the same as xUNPICK, which internally uses PTR 373D0 (UNPICK). That's in a stable area. HTH Thomas -- Thomas Rast If you cannot convince them, confuse them. -- Harry S. Truman ==== On Wed, 26 Jun 2002 13:54:57 +0200, Thomas Rast ob ob(n-1)...ob1 ) is the same as xUNPICK, which internally uses PTR 373D0 (UNPICK). That's >in a stable area. HTH >Thomas With this knowledge, the 49 version of my code gets down to 135 bytes : ASSEMBLE _49 = 0 * Change to 1 for 49 version . RPL :: >R INNERCOMP DUP 1LAMBIND #3+ :: RSWAP BEGIN RSWAP ticR DUP IT RSWAP ?SKIP RDROPCOLA NOP 2DUP #-PICK UNROT 2DUP CODE AMUL5 EQU #60236 GOSBVL =POP2# A=A-C A IF _49 C=0 A C=C+1 A GOVLNG (#373D0)+22 ELSE GOSBVL AMUL5 CD1EX A=A+C A D1=A A=0 A A=A+1 A DAT1=A A CD1EX GOVLNG =Loop ENDIF ENDCODE DROP #1+ AGAIN ; #2- 1GETLAM #1+_ONE_DO DUP PICK DUP ' PTR 1 EQ ITE DROP SWAP#1+ #1- LOOP DROP 1GETLAM {}N 1GETLAM SWAP 1PUTLAM NDROP 1GETABND ; ---------------------------------------------------------------------------- --- Jonathan Busby - before replying. ==== > Do you want to use LibEx 4.0 which doesn't require the library to be in > RAM? That would not be bad for OT49. The browseres of Libman do *not* recall the libs itself nor do they need pointers to them. Otherwise the browsers could never be as fast as they are. Also the LIB menu rearrangement does not need pointers to libs. Only the menu options CFG-> and EXTPRG-> (the only Hacker options) do recall a lib. > It also has a new feature: if the argument is a list of one real/zint > (instead of a real/zint ) > it doesn't convert rompointers to names but leaves them as rompointers. Nice feature, but interesting probably only for hackers. Still more interesting would be a handling of so-called embedded rompointers. Try to split lib 807 (Raymond Hellstern's 3D-TicTacToe for the 49). It does not recompile as it should, i.e., your splitters do not yet run 100% reliable. Raymond probably tells you why :-) ==== WR> Nice feature, but interesting probably only for hackers. Still more WR> interesting would be a handling of so-called embedded rompointers. WR> Try to split lib 807 (Raymond Hellstern's 3D-TicTacToe for the 49). WR> It does not recompile as it should, i.e., your splitters do not yet WR> run 100% reliable. Raymond probably tells you why :-) Even worse: Nosy - Carsten ==== WR> Nice feature, but interesting probably only for hackers. Carsten asked me for this feature and it was only a few instructions so I put it in. I don't really know when it would come in handy > Still more > WR> interesting would be a handling of so-called embedded rompointers. > WR> Try to split lib 807 (Raymond Hellstern's 3D-TicTacToe for the 49). > WR> It does not recompile as it should, i.e., your splitters do not yet > WR> run 100% reliable. Raymond probably tells you why :-) Even worse: Nosy I can tell you why; those libs use the hash (or link, I forget) table as some sort of subroutine pointer. EG :: bladidibla bladidibla *LookAtMeIAmALabel :: morebladidibla morebladidibla ; ; A normal lib only has a reference in the hashtable for this whole program those 'mutants' also reference *LookAtMeIAmALabel for reconstruction into a lib I wouldn't know how to distinguish between a real rompointer and a label-rompointer, even if I knew I wouldn't know how to put the reference to *LookAtMeIAmALabel into the directory. I suspect that those libraries were not build with CRLIB Even worse is the Jazz49 library which has a comletely wrong number in its hash it points well outside the library itself and (small wonder) causes LibEx to crash your calc -- This message was written with 100% recycled electrons Pivo ==== > WR> Nice feature, but interesting probably only for hackers. PG> Carsten asked me for this feature and it was only a few instructions PG> so I put it in. I don't really know when it would come in handy It is for compressing libraries. - Carsten ==== > WR> Nice feature, but interesting probably only for hackers. > PG> Carsten asked me for this feature and it was only a few instructions > PG> so I put it in. I don't really know when it would come in handy > It is for compressing libraries. You probably mean compressing all or certain rompointers of the lib. Much easier done without a angerious splitting with the powerful command LofRP from Libman which yields you the complete list of named and unnamed rompointers even of builtin libs like lib 222 (CAS library). Simply append to LofRP a program to recall the rompointers and to compress the ones you want to have compressed in your source ... ==== > It is for compressing libraries. WR> You probably mean compressing all or certain rompointers WR> of the lib. Much easier done without a angerious splitting I like the angerious :-) WR> with the powerful command LofRP from Libman which yields you WR> the complete list of named and unnamed rompointers even WR> of builtin libs like lib 222 (CAS library). I don't see how this would help to compress third-party libs. You still need to split them, then compress parts of it, then rebuild the library. With libs like Nosy, it is hopeless either way. But I actually prefer to do this compression of third party libs with the mechanism provides in LibEx 4.0. Just split it without rompointer conversion. Then you can go through the directory and compress all the ID's in the directory which you think are safe to compress. No need to recall any rompointers, since the good stuff is all there in the directory. Has worked very well for me, I compressed periodic tables and similar stuff this way. - Carsten ==== > WR> with the powerful command LofRP from Libman which yields you > WR> the complete list of named and unnamed rompointers even > WR> of builtin libs like lib 222 (CAS library). I don't see how this would help to compress third-party libs. You > still need to split them, then compress parts of it, then rebuild the > library... Splitt them with your own little lib splitter. The program below, called SPLIT, is probably the smallest library splitter in the world :-) Clearly, it is somewhat slow. But it's main advantage is that it *splits even internal libraries* For instance, lib 221 with its 4-page source directory of rompointers like ->HEADER etc (perhaps JYA's favourite lib) splits in 5 seconds, and the pretty source directory is automatically stored in s221. Now you can quitely study JYA's programming of all these things like EDIT, VISIT, EQW, FILER, FONT6, SREPL, MINITFONT->, RENAME, DBUG, etc. Here is the library splitter SPLIT, based on LofRP from Libman (which is needed). Try it, it runs excellent and doesn't replace rompointers by names as you wanted. It splits even the famous CAS library 222 with its enormous amount of over 460 rompointers in 197 seconds :-) :: CKREAL tok_s OVER xR->I $&ob_ (PTR 39C9F) $>ID DUP CREATEDIR EVAL xLofRP INNERCOMP ZERO_DO DUPROMPTR@ DROPSWAP DECOMP$ DUP XLIB ONE POS$ #0=?SKIP Ç :: SIX LAST$ DUP CHR_Space TWO POS$ #1+LAST$ CHR_x >H$ ; $>ID STO LOOP ; Bytes 100.5 - CRC 635h Have fun Wolfgang ==== > But I actually prefer to do this compression of third party libs with > the mechanism provides in LibEx 4.0. Just split it without rompointer > conversion. Then you can go through the directory and compress all > the ID's in the directory which you think are safe to compress. Now I get it! You probably tried to explain it to me earlier but I can be slow sometimes -- This message was written with 100% recycled electrons Pivo ==== > But I actually prefer to do this compression of third party libs with > the mechanism provides in LibEx 4.0. Just split it without rompointer > conversion. Then you can go through the directory and compress all > the ID's in the directory which you think are safe to compress. PG> Now I get it! PG> You probably tried to explain it to me earlier but I can be slow PG> sometimes I think it was because you don't like rompointer compression because that makes LibEx work less well (rompointer calls in compressed rompointers cannot be replaced with ID...) - Carsten ==== PG> It converts the lib from a port. It means that you can convert larger PG> libs. PG> It also has a new feature: if the argument is a list of one real/zint PG> (instead of a real/zint ) PG> it doesn't convert rompointers to names but leaves them as rompointers. Now, I was wondering when you finally would publish it! Wolfgang, I recommend to take this offer, 4.0 works great I have been using it for months now. - Carsten ==== I want to transform a 6 nibble HEX number into a 7 nibbles DEC number is there such a routine in ROM. Is there the opposite routine DEX->HEX Arnaud ==== > I want to transform a 6 nibble HEX number into a 7 nibbles DEC number > is there such a routine in ROM. > Is there the opposite routine DEX->HEX You mean the commands: B->R and R->B ? -- This message was written with 100% recycled electrons Pivo ==== I want to buy new cells for my HP28S (old ones have been thrown away a long time ago). But I don't remember what type of cells. I have read it's 3N type, but here in Europe, it has some different name. What would help me is the exact designation for a brand like Duracell, and very important: Voltage. I've seen that these cells (2CR1 3N) have 6V. Is it true ? HP28S is running on 3x6 V ? I am surprised, because HP48 is running on 4x1.5 V. Thierry ==== according to my manuals (in danish) the batteries have to be of type N... in a german catalog for a lot of electronic stuff (the company is called Conrad - maybe you know it) the battery is called Lady, its voltage is 1.5 V making the 28 running on 4.5 V. The Prices are as follows for one battery: Varta Universal Alkaline: EUR 2.53 Panasonic Power Max 3: EUR 2.79 They also have them as Nickel-Cadmium rechargable batteries with a voltage of 1.2 V: Panasonic P18N: EUR 2.74 (3 or more: EUR 2.63) Varta NC-Accuplus: EUR 3.55 Martin Pedersen I want to buy new cells for my HP28S (old ones have been thrown away a long > time ago). But I don't remember what type of cells. I have read it's 3N type, but here in Europe, it has some different name. What would help me is the exact designation for a brand like Duracell, and > very important: Voltage. I've seen that these cells (2CR1 3N) have 6V. Is it > true ? HP28S is running on 3x6 V ? I am surprised, because HP48 is running > on 4x1.5 V. > Thierry ==== not expensive. ed I want to buy new cells for my HP28S (old ones have been thrown away a long > time ago). But I don't remember what type of cells. I have read it's 3N type, but here in Europe, it has some different name. What would help me is the exact designation for a brand like Duracell, and > very important: Voltage. I've seen that these cells (2CR1 3N) have 6V. Is it > true ? HP28S is running on 3x6 V ? I am surprised, because HP48 is running > on 4x1.5 V. > Thierry > ==== Have you ever heard something about RTFM? Christoph > hi, just downloaded and trying Emu48 v1.30 for the first time. i downloaded emu48-1.30.zip from the hpcalc.org site. > i also got the ROM.48G and ROM.48S files from this site too. when i run Emu48.exe it presents a Choose your KML Script dialog. > i have no idea what these are, so i just select Emu48's Default > Faceplate for HP48G/GX. i'm running windows xp pro. when i click OK, it displays the calculator window, then crashes with > the following error message: > EMU48.EXE - Application Error > The instruction at 0x0041080d referenced memory at 0x7b306c61. > The memory could not be read. it also crashes under win2k pro SP2 (see below). apparently it is compatible with both win xp and win 2k. i have also > tried running it under win 95 compatibility mode, but same results. > also regardless of the KML Script i initially select. any ideas?? > thanks > roland > under win2k, it logs a DrWatson message in the event log: Event Type: Information > Event Source: DrWatson > Event Category: None > Event ID: 4097 > Time: 13:38:38 > User: N/A > Computer: ************* > Description: The application, , generated an application error The > error occurred on 06/23/2002 @ 13:38:38.814 The exception generated > was c0000005 at address 0041080D () > Data: > 0000: 0d 0a 0d 0a 41 70 70 6c ....Appl > 0008: 69 63 61 74 69 6f 6e 20 ication > 0010: 65 78 63 65 70 74 69 6f exceptio > 0018: 6e 20 6f 63 63 75 72 72 n occurr > 0020: 65 64 3a 0d 0a 20 20 20 ed:.. > 0028: 20 20 20 20 20 41 70 70 App > 0030: 3a 20 20 28 70 69 64 3d : (pid= > 0038: 33 31 36 29 0d 0a 20 20 316).. > 0040: 20 20 20 20 20 20 57 68 Wh > 0048: 65 6e 3a 20 32 33 2f 30 en: 23/0 > 0050: 36 2f 32 30 30 32 20 40 6/2002 @ > 0058: 20 31 33 3a 33 38 3a 33 13:38:3 > 0060: 38 2e 38 31 34 0d 0a 20 8.814.. > 0068: 20 20 20 20 20 20 20 45 E > 0070: 78 63 65 70 74 69 6f 6e xception > 0078: 20 6e 75 6d 62 65 72 3a number: > 0080: 20 63 30 30 30 30 30 30 c000000 > 0088: 35 20 28 61 63 63 65 73 5 (acces > 0090: 73 20 76 69 6f 6c 61 74 s violat > 0098: 69 6f 6e 29 0d 0a 0d 0a ion).... > 00a0: 2a 2d 2d 2d 2d 3e 20 53 *----> S > 00a8: 79 73 74 65 6d 20 49 6e ystem In > 00b0: 66 6f 72 6d 61 74 69 6f formatio > 00b8: 6e 20 3c 2d 2d 2d 2d 2a n <----* > ==== > Have you ever heard something about RTFM? Christoph hi, just downloaded and trying Emu48 v1.30 for the first time. i downloaded emu48-1.30.zip from the hpcalc.org site. > i also got the ROM.48G and ROM.48S files from this site too. when i run Emu48.exe it presents a Choose your KML Script dialog. > i have no idea what these are, so i just select Emu48's Default > Faceplate for HP48G/GX. hi the kml Script dialog is asking to you for the image of the calculator you want to see. There are in internet many kml Script designed by people. You just have to download it. note that you have to install these kml scripts in the same directory where you had EMU48.exe file installed. Each kml script file has associated a *.bmp file format which will be the image you will see of the calculator. i'm running windows xp pro. when i click OK, it displays the calculator window, then crashes with > the following error message: > EMU48.EXE - Application Error > The instruction at 0x0041080d referenced memory at 0x7b306c61. > The memory could not be read. it also crashes under win2k pro SP2 (see below). apparently it is compatible with both win xp and win 2k. i have also > tried running it under win 95 compatibility mode, but same results. > also regardless of the KML Script i initially select. any ideas?? > thanks > roland > under win2k, it logs a DrWatson message in the event log: Event Type: Information > Event Source: DrWatson > Event Category: None > Event ID: 4097 > Time: 13:38:38 > User: N/A > Computer: ************* > Description: The application, , generated an application error The > error occurred on 06/23/2002 @ 13:38:38.814 The exception generated > was c0000005 at address 0041080D () > Data: > 0000: 0d 0a 0d 0a 41 70 70 6c ....Appl > 0008: 69 63 61 74 69 6f 6e 20 ication > 0010: 65 78 63 65 70 74 69 6f exceptio > 0018: 6e 20 6f 63 63 75 72 72 n occurr > 0020: 65 64 3a 0d 0a 20 20 20 ed:.. > 0028: 20 20 20 20 20 41 70 70 App > 0030: 3a 20 20 28 70 69 64 3d : (pid= > 0038: 33 31 36 29 0d 0a 20 20 316).. > 0040: 20 20 20 20 20 20 57 68 Wh > 0048: 65 6e 3a 20 32 33 2f 30 en: 23/0 > 0050: 36 2f 32 30 30 32 20 40 6/2002 @ > 0058: 20 31 33 3a 33 38 3a 33 13:38:3 > 0060: 38 2e 38 31 34 0d 0a 20 8.814.. > 0068: 20 20 20 20 20 20 20 45 E > 0070: 78 63 65 70 74 69 6f 6e xception > 0078: 20 6e 75 6d 62 65 72 3a number: > 0080: 20 63 30 30 30 30 30 30 c000000 > 0088: 35 20 28 61 63 63 65 73 5 (acces > 0090: 73 20 76 69 6f 6c 61 74 s violat > 0098: 69 6f 6e 29 0d 0a 0d 0a ion).... > 00a0: 2a 2d 2d 2d 2d 3e 20 53 *----> S > 00a8: 79 73 74 65 6d 20 49 6e ystem In > 00b0: 66 6f 72 6d 61 74 69 6f formatio > 00b8: 6e 20 3c 2d 2d 2d 2d 2a n <----* > ==== yes, i am familiar with that acronym. thanks for your response, albeit a little blunt. i read on another group post that all i needed was to download the rom files and simply RENAME them. it mentioned nothing about converting them! as i write software for a living, i find it unprofessional that the product crashes, rather than invalidating the file and alerting the user. if a message was displayed, then yes, i would RTFM... maybe something for SP31 ? cheers roland > Have you ever heard something about RTFM? Christoph hi, just downloaded and trying Emu48 v1.30 for the first time. i downloaded emu48-1.30.zip from the hpcalc.org site. > i also got the ROM.48G and ROM.48S files from this site too. when i run Emu48.exe it presents a Choose your KML Script dialog. > i have no idea what these are, so i just select Emu48's Default > Faceplate for HP48G/GX. i'm running windows xp pro. when i click OK, it displays the calculator window, then crashes with > the following error message: > EMU48.EXE - Application Error > The instruction at 0x0041080d referenced memory at 0x7b306c61. > The memory could not be read. it also crashes under win2k pro SP2 (see below). apparently it is compatible with both win xp and win 2k. i have also > tried running it under win 95 compatibility mode, but same results. > also regardless of the KML Script i initially select. any ideas?? > thanks > roland ==== checking the right ROM format at every startup of the emulator is IMHO wasting time, especially when I have to check a 4MB HP49G ROM image. That should be only made once, at installing time. Therefore the manual have to be read. But of course it's easier to ask here than to have a look. Many question asked here, are answered in the manual. There's also a link in the Trouble Shooting part to a Emu48 FAQ site and there at the 2nd position there's also the answer of your question, just behind the most asked stuff, a Emu48 version for CE. Christoph > yes, i am familiar with that acronym. > thanks for your response, albeit a little blunt. i read on another group post that all i needed was to download the rom files > and simply RENAME them. > it mentioned nothing about converting them! as i write software for a living, i find it unprofessional that the product > crashes, rather than invalidating the file and alerting the user. if a > message was displayed, then yes, i would RTFM... maybe something for SP31 ? cheers > roland Have you ever heard something about RTFM? Christoph hi, just downloaded and trying Emu48 v1.30 for the first time. i downloaded emu48-1.30.zip from the hpcalc.org site. > i also got the ROM.48G and ROM.48S files from this site too. when i run Emu48.exe it presents a Choose your KML Script dialog. > i have no idea what these are, so i just select Emu48's Default > Faceplate for HP48G/GX. i'm running windows xp pro. when i click OK, it displays the calculator window, then crashes with > the following error message: > EMU48.EXE - Application Error > The instruction at 0x0041080d referenced memory at 0x7b306c61. > The memory could not be read. it also crashes under win2k pro SP2 (see below). apparently it is compatible with both win xp and win 2k. i have also > tried running it under win 95 compatibility mode, but same results. > also regardless of the KML Script i initially select. any ideas?? > thanks > roland ==== checking the right ROM format at every startup of the emulator is IMHO > wasting time, especially when I have to check a 4MB HP49G ROM image. That > should be only made once, at installing time. Therefore the manual have to > be read. But of course it's easier to ask here than to have a look. Many > question asked here, are answered in the manual. There's also a link in the > Trouble Shooting part to a Emu48 FAQ site and there at the 2nd position > there's also the answer of your question, just behind the most asked stuff, > a Emu48 version for CE. > Christoph because I would answer with the manual extracted here.... ;-) ==== keyboard with autorepeat but without knowledge of the last pressed key for =REPKEY?. The solution was writing a CODE object that is looking in the keyboard buffer for the last pressed key and then calling =REPKEY? to verify that the key is still pressed. The other way is using the ASM-Entry =BITMAP returning a bitmap of all pressed keys in the A[W] register. But I don't know a solution for UserRPL. So I think it's time to begin with SysRPL and the ASM stuff to leave the cruel SYSEVAL programming shown below. Christoph Tal schrieb im Newsbeitrag In this example there is an autorepeat for A > key only: << > 0 WAIT > #071A2h SYSEVAL @ Start loop. > TEST @ Program to be evaluated if A key is down. > 1 @ A code. > #18CEAh SYSEVAL @ COERCE > #047C7h SYSEVAL @ Key pressed?. > #633C6h SYSEVAL @ NOT_UNTIL. > > I am wondering if there is a SYSEVAL for ALL key > that would be down and not only for a specific one. Tal ==== > Nothing extraordinary happens...what are your flags? > RCLF > { # 20A00B8C85014FF0h # 0h > # 8010300C2A0780E8h # 0h } > VP { # 6000022211214FF0h # 110002h #801040040A020018h #0h } Paul Estepan. ==== > Nothing extraordinary happens...what are your flags? > RCLF > { # 20A00B8C85014FF0h # 0h > # 8010300C2A0780E8h # 0h } > VP { # 6000022211214FF0h # 110002h > #801040040A020018h #0h } > Paul Estepan. Paul, when I do what you say with your flag settings, nothing unexpected happens. However you may have noticed that your flag settings activate the user defined keyboard. (Small USR on top of the screen.) Could it be that you have some old forgotten key re-definition active and this conflicts with what you want to do, keys you press etc? Greetings, ==== Dear Mr. Travis: Regarding your advice which you previously proffered (below), I think you were right. Although www.calcpro.com 's web site is in rather sorry shape, they are otherwise a-okay. When I recently ordered some software (not a calculator), they were courteous almost to the point for the heads-up. Cordially, Richard Kanarek P.S. See, people do read your posts. On 10 Jun 2002 08:01:10 -0700, travisf@itsd.ci.detroit.mi.us (Frank >A good place to buy HP 48G+ and HP 48GX calculators (as well as >accessories) is Calcpro website www.calcpro.com. I have bought from >them several times and have had good dealings with its manager, Paul >Nelson. ==== FYI - as of this last weekend (6/22-23) the Calcpro website seems to be fixed and running well. John > Dear Mr. Travis: Regarding your advice which you previously proffered (below), I think > you were right. Although www.calcpro.com 's web site is in rather > sorry shape, they are otherwise a-okay. When I recently ordered some > software (not a calculator), they were courteous almost to the point > for the heads-up. Cordially, > Richard Kanarek P.S. See, people do read your posts. accessories) is Calcpro website www.calcpro.com. I have bought from >them several times and have had good dealings with its manager, Paul >Nelson. > ==== > FYI - as of this last weekend (6/22-23) the Calcpro website seems to be > fixed and running well. regarding my inquiry too. He replied me their website was fixed. Kenji Yokohama, Japan ==== Our national provider called me yesterday and they said: I have received 150 hp48g+, but I can't you promise there will be more units (hp48g+) in the future. It is clear HP is deciding its future market strategy.. we must have patience. I hope we will have more news in some weeks since situation is becoming critical, I think ;-) Have fun, J.Manrique > Have any of you saw the samson cables site, when you select any of the > calculators they say all hp calculators are discontinued except(30s, > 12c and 10bii), is that true. > Paul Estepan. ==== > Did you receive the scanned image of the inner cover? at yahoo but there was no attachment in that message. I replied to you, asking you to send it to a different address, did you send it there too? If you could try again, please send it to: Steve Sousa ==== yes, I was quite sure that I did... anyway, I will send it once more to the address that you have mentioned... Martin >Did you receive the scanned image of the inner cover? > at yahoo but there was no attachment in that message. I replied to > you, asking you to send it to a different address, did you send it > there too? If you could try again, please send it to: > Steve Sousa > ==== > ..... anyone know definitively what's going on at HP internaitional > headquarters? They are talking about future market strategy.. > Is their calculator division DOA? What does DOA mean? If you look in HP you should see there is a Calculator Division, at least, there is a Marketing Calculator Division ;-) Have fun, J.Manrique ==== DOA = dead on arrival or not functioning anymore. > ..... anyone know definitively what's going on at HP internaitional > headquarters? They are talking about future market strategy.. Is their calculator division DOA? What does DOA mean? If you look in HP you should see there is a Calculator Division, at > least, there is a Marketing Calculator Division ;-) Have fun, > J.Manrique ==== > DOA = dead on arrival or not functioning anymore. Actually one should use this only when one gets a new non-functional calc. For a department or division of a company DOA would mean that they killed/cancelled it just after publishing the contact information of such a department or division. VP, just my 0.02_? ==== Umm, so that would be ... MIA ... ? GeofJ -- > DOA = dead on arrival or not functioning anymore. Actually one should use this only when one gets a new non-functional calc. > For a department or division of a company DOA would mean > that they killed/cancelled it just after publishing the contact information > of such > a department or division. VP, just my 0.02_? > > ==== Missing In Action > Umm, so that would be ... MIA ... ? GeofJ > -- > DOA = dead on arrival or not functioning anymore. Actually one should use this only when one gets a new non-functional calc. > For a department or division of a company DOA would mean > that they killed/cancelled it just after publishing the contact > information > of such > a department or division. VP, just my 0.02_? ==== >Are HP calculators dead? Mine's still alive and living on a diet of NiCd's. I fully expect it to live on for 10 years or more. Stephen N. ==== >Are HP calculators dead? > live on for 10 years or more. I expect mine to live as long as i probably will. So far nothing shows age on the calc and it is being used (NOT abused!) constantly. Only mark is a dent between [5] and [6] from when i held it between my teeth. Stephen, i've seen TI calcs live so much more than 10 years... (my dad has one...must be since the 70s...) you seriously limit your calc's lifespan :) *:rev r, bought new 1997, serial sg72203693 (everyone knows his calc's serial by heart...hehe) **:greek, rom revision unknown but it is a beta with many serious bugs, created 1980 ==== Well it's not actually a problem ... I'm just not getting the answer I expect ... repeatedly ... dang I'm have three waveforms: Y1=13*cos(2*pi*3000*X+((41*pi)/90)) Y2=33*cos(2*pi*3000*X-(pi/6)) Y3 is the sum of Y1 and Y2. files ... thanks Nick) Any help would be greatly appreciated ... I know I'm making a dumb mistake somewhere but I can't seem to work out where. Cam ==== Tue, 25 Jun 2002 23:11:36 +1200 (NZT) 02h42m23s ago ... > I'm have three waveforms: Y1=13*cos(2*pi*3000*X+((41*pi)/90)) > Y2=33*cos(2*pi*3000*X-(pi/6)) Y3 is the sum of Y1 and Y2. pi/6*2*pi*3000 That looks strange Cam - see you have 2 pi multiplied together. Probably Y1 leads by just the 41*pi/90 and Y2 lags by pi/6. HTH -Tony ==== > CODEM $(5) GARBAGE ENDCODE to see if it works.. This works, thanks a lot ! > BTW, there is no document explainig the diffs between Debug2 Masd and HP49 > Masd, Sorry Too bad, porting would be a lot easier. Andreas ==== with debug2, this should work : CODE CON(5) =GARBAGE CON(5) =DOCODE CON(5) =DOREAL CON(5) =DOCSTR etc ... ENDCODE Alain 2b0836c6.0206240302.4be1d427@posting.google.com... I can compile directly on my 49G the following code: > EQU DOZINT $02614 > CODE > CON(5) GARBAGE > CON(5) DOCODE > CON(5) DOREAL > CON(5) DOCSTR > CON(5) DOZINT > CON(5) DOIDNT > CON(5) DOLAM > CON(5) $0 > ENDCODE > @ Does somebody know what the syntax must be to compile the above with debug2 ? > Using CODEM instead of CODE leads to various errors. > Is there a document explaining the difference between MASD syntax and debug2 syntax? TIA > Andreas Remove the NOSPAM for answering. ==== WR> 2. As I pointed out several times, Mika Heiskanen WR> uses in JAZZ a very smart procedure: If a bint is WR> written in a sourse string as # xyzuv with a space WR> after the #-symbol, it compiles as the corresponding WR> temporary 10 nibble bint (5 nibbles for the prolog). WR> However, if it is written as #xyzuv without a space WR> after # then JAZZ looks first up the entry table to WR> find a corresponding 5 nibble pointer to the bint. And as Jean Yves has pointed out as many times as you have asked for this feature: This in fact works in MASD just the way you describe it, at least for the numbers 0 to 7Fh. Seems you have not tried your own example. But you are right that it does not work for supported BINTS 128 and up. WR> This should concern also bints with unsupported but WR> stable addresses, exactly as it is done by JAZZ ! Obviously it does not work for unsupported entries, but if you want you can easily add corresponding entries to extable using Thomas Rast's tools. Which would make extable bigger, of course. - Carsten ==== > ... But you are right that it does not work for supported BINTS > 128 and up. This is exactly what I meant. That should work! And it should also work for stable bints. Needless to tell me I can add it to my own table. I thaught you're aiming at making things better than they were in Jazz. It doesn't make a difference whether extable has 110 or 110.5 KB ... ==== > This is exactly what I meant. That should work! And it should > also work for stable bints. Needless to tell me I can add it > to my own table. I thaught you're aiming at making things > better than they were in Jazz. It doesn't make a difference > whether extable has 110 or 110.5 KB ... Well, Personally, I think it should not work for stable bint, only for supported bint.... we had enough problem because peoples are using 'stable' entries and not only supported entries in their programs... ==== > 1. I may not have the latest extable version > distributed with Emacs, but in my version ~BBGetN_ > (which should be some rompointer of the 48-browser) > decompiles to # 2D9D which is no rompointer but a > bint (prolog address of programs) :-) For me ROMPTR2 ~BBGetN_ compiles to ROMPTR B3 3F. > 2. [...] > Example: # 11 should compile to bint 17 (5 bytes), > #11 should compile to BINT17 2.5 bytes). It does, at least on my 49. Just try... :: #11 # 11 ; @ ASM > Why is fast > and efficient SysRPL-programming on the 49 still > less elegant than it was with JAZZ? For some added elegancy, you might want to use just 17 instead of #11. That saves the two keystrokes for the hash mark. Greetings Thomas -- Thomas Rast If you cannot convince them, confuse them. -- Harry S. Truman ==== but unfortunately I could never afford to buy even an 1MB card for my 48GX and the Flash in my 49G is safer. I hate the missing tactile feedback on the 49G keyboard but I love the cursor keys, which work in the Alpha Mode. I wish that HPQ would bring out a new supernal with the good old keys, but even a bigger Flash AND a much faster Saturn/Yorke VP ==== > On Sat, 22 Jun 2002 03:05:08 +0300, Veli-Pekka Nousiainen X > I was reading these things while the calculator was not completely > empty. I had resetted the hp49 using ON + A + F , but this didn't > erase everything... > Curiosity : do you know which is the reset procedure for HP49 ? Use [Left-Shift] [FILES] to search& destroy port memories... Does this answer to your question? ==== Just to add to this: You could disable UNDO and LASTARG and even Command memory 69 MENU STK, ARG, CMD I have been using it since years ! > harder to learn than string writer, but amazing :-) > I've a little question about your miniwriter : > viewing a large string (for example 80 kb or even 120 kb), miniwriter > says insufficient memory. The miniwriter is using a new copy of the object to be edited. So typically, > when editing a string of X KB, you need at least X KB of free memory. > Miniwriter itself uses only a few hundred bytes to operate > ==== emacs is THE programmers editor for the 49G calc it nicely integrates with a lot of other SysRPL stuff. Download it and read the docs, then try it out! http://zon.astro.uva.nl/~dominik/hpcalc/ You should also download the extable2 If you want to use mnemonics eg. names for the SysRPL entries > On Sat, 22 Jun 2002 23:53:37 +0300, Veli-Pekka Nousiainen Hmmm.. is there a swap with the clipboard available? >One could select the whole text, swap with the clipboard, >edit, select everything again and swap back! >VP >PS: Greyscale graphics inserts added to the build-in editor? > (emacs is the programmers editor) Excuse me : what does emacs exactly do ? > Can I use it as the software I'm looking for ? Fabrox ==== Did you just buy it to play games. Wouldn't it have been cheaper to buy a gameboy?? Have a look in www.hpcalc.org :-) > I bought a new HP 49G a few days back. Can someone please help me on > how to install games?? Do I need to download special library(s) for > that or I can do it without the library(s) ==== look for a program called 'GMS' which helps you to convert form decimal to degrees, minutes and secound and vice versa, you can find it in hpcalc.org saludos desde espa.96a!! 12.50 degrees to 12 deg 30 min ? Try ->HMS ==== What about > << SWAP -> objlist > << 1 > << objlist SWAP GET DOSUBS > Doesn't seem to work for me.... At least it doesn't error out now and puts the preferred elements in > proper order. The only slight problem is that the rest of the elements > are left out. A bit late, but better late than never: The above program with additional code to include the rest of the elements in the original order: << SWAP -> objlist << 1 << objlist SWAP GET > DOSUBS -> newlist << objlist 1 << IF newlist OVER POS NOT THEN newlist SWAP + 'newlist' STO ELSE DROP END > DOSUBS newlist > Does its work and doesn't demand anybody to step down to the hells of SysRPL or even ML instructions. Or should we rip UserRPL off the calc? So to say, as the ultimate help for the decision of potential customers, not to buy an HP49G ;-) Greetings, ==== JB> You might notice in the above that there's a small block of assembly. JB> This is due to the simple fact that I couldn't find an entry point JB> (supported or not) that would replace a given stack level with another JB> object pointer in constant time ie. a b c d e #4 f --> a f c d e . JB> But knowing me, I'm probably overlooking something obvious. ;) :: SWAPDUP #2+ROLL DROP UNROLL ; But this looks really too trivial to be overlooked, so I guess ROLL/UNROLL is not constant time? Damn, why can't I read ML? - Carsten ==== Carsten Dominik schrieb: :: SWAPDUP #2+ROLL DROP UNROLL ; But this looks really too trivial to be overlooked, so I guess > ROLL/UNROLL is not constant time? The problem is that to ROLL or UNROLL you need to move all pointers to the level in question 5 nibbles up or down in memory, respectively. > Damn, why can't I read ML? There are documents around with which you can learn it in almost constant time ;-) - Thomas -- Thomas Rast If you cannot convince them, confuse them. -- Harry S. Truman ==== > Jonathan told as. Hence, the new AppendList is less fast > than one might think at the first glance (especially if > used in a loop). It is seemingly not well programmed :-) AppendList works very well with what it was designed for. That is: Check if List2 is contained in List1 in which case nothing is done, if not call >TCOMP Don't see how it could be faster. AppendList is a replacement for the HP48 apndvarlst You're just using an entry points outside its original context. > PS. TIM from Mikas Hacklib is seemingly not yet ported > to the 49 although there was a long discussion on run > time measuring on the 49. It seems that 49-users are > less ambitious than the 48-users were - 49-users are > content with the farily unprecise TEVAL :-) How more precise does it need to be. For me a difference of a few miliseconds on more than 10s makes not much difference. TEVAL does its jobs very nicely and is I believe accurate enough for even the most demanding task It is a mystery for me why ACO simply ignored many > ingenious achievments of Mika Heiskanen and others > although they were all free available. The fact that they are free, doesn't mean you can automatically use them in a commercial product ==== > Easily done > with a small WHILE...REPEAT...END structure. Well, I could've used a WHILE...REPEAT...END structure, but > FOR...NEXT seemed to be more appropriate here. I'll try to keep > in mind that there's more than one way to skin a cat. Well, I was not clear enough in my comment. Let n be the > size of the Level 2 argument list, and p be the size of > the level level 1 list { i1,...,ip } of valid positions. > Everthing is obvious if n=p because then the sequence > (i1,...,in) is a permutation of (1,...,n). Yes, if both lists have the same number of elements, then there's no need to do anything to the level 1 argument list, just use it as it is for reordering the level 2 list. > This basic > reordering task is done in a FOR...NEXT...STEP loop. Huh? let's make it either a FOR...NEXT or a FOR...STEP loop. ;-) > Now assume p < n. Note that also p=0 was not excluded ! is empty, then a dramatic speedup is possible. > Clearly, we have to supplement the sequence (i1,...,ip) > (which is the empty sequence if p = 0) to a permutation > of (1,...,n) which respects the order of numbers in such > a way, that the next number i_p+1 is the just the smallest > number in the set difference {1,..,n} {i1,...,ip}. Hmm... what's a set difference? I guess the last time that I studied set theory was when I was in junior high, and that was a long time ago. > And > this number is the easiest be found in a DO...UNTIL...END > loop. Thus, this indefinite loop has to be included in a > START NEXT structur which runs exactly n - p times. Or, > to avoid the case distinction p=n or not, one can search > for the mentioned smallest number in a WHILE...REPEAT...END > loop with the WHILE-test p < n. Thus, the tast is not as > easy as it seems at the first glance, you know that :-) Oh well, I used a different method. I suppose that this next program is fairly respectable for UserRPL. The time doesn't increase too drastically with the number of elements. The number of elements in the level 1 argument list makes surprisingly little difference except in the special cases mentioned above. The size of the elements in the level 2 argument list doesn't seem to have much effect on the time, although you do have to have enough memory for both the level 2 argument list and the reordered (result) list at the same time; I don't see any way around that. This doesn't do any argument checking; if the arguments aren't as described then it's likely to error out with a messy stack. And, obviously, it's for the 49G only. Checksum: #5041h Bytes (without name): 291.5 %%HP: T(3)A(R)F(.); << DUP SIZE IF DUP THEN SWAP I->R PICK3 SIZE -> s m p n << IF m n == NOT THEN 1. n FOR i i NEXT DUP p LIST-> DUP n + 4. + 5. PICK3 OVER + 1. - FOR j 0. OVER j PICK - UNPICK NEXT DROP DROPN ->LIST ->STR 0. SREPL DROP STR-> p SWAP + 'p' STO END p LIST-> s SWAP 3. + 1. n START OVER OVER ROLL GET UNROT NEXT DROP2 n > ->LIST ELSE DROP2 END > -- ==== P.S. program is fairly respectable for UserRPL. The time doesn't > increase too drastically with the number of elements. The number > of elements in the level 1 argument list makes surprisingly > little difference except in the special cases mentioned above. > The size of the elements in the level 2 argument list doesn't > seem to have much effect on the time, although you do have to > have enough memory for both the level 2 argument list and the > reordered (result) list at the same time; I don't see any way > around that. I revised it to get rid of the ugly GETs in the loop. I don't know why I didn't see how to do it before. This one's considerably faster, particularly when the level 2 argument has a large number of elements. > This doesn't do any argument checking; if the arguments aren't > as described then it's likely to error out with a messy stack. > And, obviously, it's for the 49G only. Checksum: # DCCEh Bytes (without name): 329. %%HP: T(3)A(R)F(.); << DUP SIZE IF DUP THEN SWAP I->R PICK3 SIZE -> s m p n << IF m n == NOT THEN 1. n FOR i i NEXT DUP p LIST-> DUP n + 4. + 5. PICK3 OVER + 1. - FOR j 0. OVER j PICK - UNPICK NEXT DROP DROPN ->LIST ->STR 0. SREPL DROP STR-> p SWAP + 'p' STO END p LIST-> DROP s REVLIST LIST-> DUPDUP + 2. + 2. PICK3 1. + FOR k DUP ROLL k + PICK SWAP NEXT DROP n > ->LIST OVER 2. + ROLLD DROPN ELSE DROP2 END > -- ==== > This doesn't do any argument checking; if the arguments aren't > as described then it's likely to error out with a messy stack. > Checksum: # DCCEh, Bytes (without name): 329. best one. Maybe somebody will propose yet another one :-) I'm going to write the one, which is used in the latest Libman v. 8.2002 to make a preference order of libraries appearing in the LIB menu set with the LIB key. It is fast enough for about 20 libs or less (but slower as Jonathan's somewhat longer program, designed for the general problem). The level 1 argument list is a list of bints, of course. Checksum: 564Fh, Bytes: 51 (compare to 's 329, but as I said already, UsrRPL isn't designed for these problems :-) :: DUPNULLCOMP? caseDROP SWAPDUP 1LAMBIND LENCOMP #1+_ONE_DO INDEX@ FPTR^AppendList LOOP INNERDUP #1+_ONE_DO 1GETLAM OVER #2+ROLL NTHCOMPDROP SWAPLOOP ABND {}N ; PS. You see, I use JYA's new FPTR AppendList instead of apndvarlist, although not designed for this context :-) With the classical apndvarlist, the program would have only 47.5 bytes, but would be somewhat slower. ==== > I'm going to write the one, which is used in the latest > Libman v. 8.2002 to make a preference order of libraries > appearing in the LIB menu set with the LIB key. Do you want to use LibEx 4.0 which doesn't require the library to be in RAM? It converts the lib from a port. It means that you can convert larger libs. It also has a new feature: if the argument is a list of one real/zint (instead of a real/zint ) it doesn't convert rompointers to names but leaves them as rompointers. -- This message was written with 100% recycled electrons Pivo ==== > FOR i i also one could use something else than i as a loop variable as a habit to avoid _any_ confusion with the imaginary symbolic i. Just for fun I tried an even more peculiar example: << 1 5 FOR pi pi NEXT > where pi is the Greek symbolic and it worked as expected as will the infinity: << 1 5 FOR oo oo NEXT > ;-) ==== > You might notice in the above that there's a small block of assembly. > This is due to the simple fact that I couldn't find an entry point > (supported or not) that would replace a given stack level with another > object pointer in constant time ie. a b c d e #4 f --> a f c d e . > But knowing me, I'm probably overlooking something obvious. ;) I infer indirectly that there isn't such an entry although there *should be* such thing, at least if the lower stack part is a meta. I draw my conclusion from decompiling the relatively slow PUTLIST command which on the HP49 is :: INNERCOM PTR 2B443 {}N ; Clearly, one now expects a fast PTR 2B443 in asm. But it is :: get1 OVERSWAP :: OVER #3+ ROLL ; DROP get1 ROT #2+UNROLL ; Apart from OVERSWAP, at least the other pointers are pco's. A pitty that HP didn't hire you to avoid these shortcomings in time :-) ==== > You might notice in the above that there's a small block of assembly. > This is due to the simple fact that I couldn't find an entry point > (supported or not) that would replace a given stack level with another > object pointer in constant time ie. a b c d e #4 f --> a f c d e . > But knowing me, I'm probably overlooking something obvious. ;) I infer indirectly that there isn't such an entry although > there *should be* such thing, at least if the lower stack > part is a meta. I draw my conclusion from decompiling the > relatively slow PUTLIST ... didn't say anything about your question which is a second proof that the entry in question does not exist :-) However, a similar pointer may be among the 401 still unexplored hidden rompointers of the huge CAS library 222. Maybe B. Parisse reads this. Then he should tell us which of his over 400 hiddens are stable :-) ==== I have a few examples on my homepage: http://leviathan.orblivion.com/ Aaron > I'm looking for sys-rpl examples. Could you help me? Where could I download the > infohp48.zip file with the examples of the Donnelly book. ==== On a 49G with ROM 1.19-6, the limit: lim( 1 / ( SQRT( x^2 + 2*x ) + x ) ) > -oo yields -:0 The same limit when approaching +oo returns +:0 Now I'm not entirely sure if I interpret the -: correctly, but I think the > first result is incorrect, it should be -1. (*) Hmm, if I enter 1 / ( SQRT( x^2 + 2*x ) + x ) and then x=-oo to the stack and the use the menu key [lim], I get -1. Same if I enter lim( 1 / ( SQRT( x^2 + 2*x ) + x ) ) x-oo in the EQW and then use EXPAND. A flag issue again? >Now why didn't the Arabs invent RPN instead of algebra... Because RPN was already invented by the greeks ;-) Greetings, ==== X > first result is incorrect, it should be -1. (*) One other thing I noticed when using limits: copying a limit in EQW garbles > the screen. X Clearly there are a lot of bugs in the new lim. I tried the first example in the Urroz Vol.2 lim mv/sqrt(1-(v/c)^2) v->c EVAL on Stack says: Unsigned inf. Solve? YES NO 1) If you select yes, the 49G will reboot - a BUG 2) Selecting no, will lead to infinity: oo except that in MiniFont Stack it looks more like: v which will surely confuse a beginner who expects a quality HP calculator. This is easy to fix and JYA should have corrected it for the 1.19-6 as I have informed about this before, and he promised to fix it but there are so many bugs, so some minor may be forgotten. 3) If try the same in EQW and then select UNDO [ The UNDO works correctly on Stack.] You will get the two arguments SWAPped in the lim??? An easy to fix bug, maybe XROOT code will help. BTW: In EQW, after yes, the calc does not crash, but says: lim Error: Unable to find sign which is correct, but the lim has now the arguments SWAPped !!! AND if you select no, with EQW in small, gives oo, but looks v just like in the Stack example, as explained before. :-( VP - buy a TI 89....no, Avenard will surely fix these easily. I haven't tried it but your method might have problems when there are two consecutive zeros in the list, i.e. { 1 0 0 3 } I tried it and you are right. My method results in the following: {1 0 0 3} -> {1 0 3} > {1 0 0 0 3} -> {1 0 3} > {1 0 0 0 0 3} -> {1 0 0 3} I do not completely understand why my program fails. Do you have detailled > information how the SREPL command works internally? I think the problem is related to a pointer on the next char to be compared: In {1_0_0_3} the first pattern _0_ is found from char2 to char4. When it > is replaced by _ you get {1_0_3} and the second pattern is at the same > position. (spaces replaced by underline) Supposingly the search and replace routine restarts searching at char3 or > char4 because the previous chars are already searched. I think it should > start at char2, again. Why would it go back and start over at a character that it put in as a replacement? I would expect it to replace the occurrences in the *original* string, not occurrences that might happen to appear in some intermediate string. For all I know, it might search the entire string before making any replacements. The SREPL command follows exactly the same pattern as the search and replace tool in the text editor I use on my PC. > Could this behaviour of the SREPL-command be seen as a bug, or is it > senseful? What is your opinion? It makes sense to me. I'd say that it works as expected; definitely not a bug. Try << ->STR 0 SREPL SWAP OBJ-> or << ->STR 0 SREPL SWAP OBJ-> Reading this I must agree. If the routine re-checks the inserted chars you get unexpected results. It should also be possible to run into an infinite loop. (i.e. when replacing x by x). ==== > Try << ->STR 0 SREPL SWAP OBJ- or << ->STR 0 SREPL SWAP OBJ-> Replacing a text pattern will fail on cases containting 0 as a real like: { 1 0. 0. 1 } will fail as you may get some single dot in the list. You would have to do a second round of search replacing: . with On another topic, talking about speed, it may be worth looking at the algebraic version of the compiler. For example, doing STR-> on a 500 random element (between 0 and 9) will take over 20 seconds, while the algebraic compiler (fully written in ML) will take less than 4.5s. On the same list of 500 elements, Werner's version will take 9.7s The version: << ->STR , SREPL DROP 0, SREPL DROP 0., SREPL DROP {, { SREPL DROP , } } SREPL DROP #E004 FLASHEVAL DROP @ ALGPARSE #F004 FLASHEVAL DROP @ Get the object in it > will take 5.6s, and I'm sure there is room for improvement in the first bit. On a 1000 elements list it will take 11.6s while the DOLIST version will take 27s. On a small list like { 1 0 0 0 0 1 } this version will take .16s vs .45s ==== .... the mentioned algebraic compiler is completely new for me. I found out that it had been included in 1.19-4, but didn't find any documentation. Could you ==== STR 0 SREPL SWAP OBJ- or << ->STR 0 SREPL SWAP OBJ-> On second thought, << ->STR 0 SREPL SWAP OBJ-> is a bad idea, it's likely to replace some zeros that should'nt be replaced. ==== >In {1_0_0_3} the first pattern _0_ is found from char2 to char4. When it >is replaced by _ you get {1_0_3} and the second pattern is at the same >position. (spaces replaced by underline) > put all in a WHILE loop and it works. i always use SREPL with this loop. max ==== > Can anybody think of a trick way to keep all the nonzero items > but throw away the zero ones. So: > { -1 0 1 0 -19 0 3 } > becomes > { -1 1 -19 3 } A complely different approach is: << ->STR 0 SREPL SWAP ->OBJ > don't forget that the hp49 can show numbers like thatis: 0. , 1. so they wouldn't get replaces. max (Don't forget the spaces before and after the 0 and inside the second ) The program leaves the number of eliminated zeros in stack level 2. Maybe >this is useful. If not, replace the SWAP by DROP. .... but Werner's program is more elegant and 1.6 times faster (on HP49 with >a list of 100 elements). ==== The table function of the 49G has a button to display the function of the selected column (DEFN). Nice feature, but, it only shows i.e. 'Y1(X)', not the whole function, while the headers practically do the same (they just start counting at 1 no matter how many functions you've defined and deleted before). OK, I never use it to show so many functions that I can't remember them by head, but I think it would be really nice if it did show the whole function (or the part that fits on the screen). Maybe something for a future release? (or am I missing something? - might well be) ==== Is there any way to get values from the 49 table onto the stack for use in other calculations? ==== If someone wants to port my table program for the HP48, it can do both of these things (the first to a limited degree). Also, check on hpcalc.org to see if there is a better table program already written for the 49. Aaron > Is there any way to get values from the 49 table onto the stack for > use in other calculations? ==== can simply delete the variable that contains the empty list, and > consider it a successful upgrade. P.S. You might as well also purge the program used for copying (or is it moving?) bank 0 objects to HOME (I think it's named 'SaveBank0.HP'), since you'll never need it again unless you downgrade your ROM and want to upgrade it again. ==== I try to install ECLIB on my HP49G. I think i get it all rigt untill i try to press on one of the equatons in the menu that appear. I get a message called : STO error : Undefined XLIB Name. Does anyone know what i can do to fix it ? It says that i must have BZ+49 library installed to get this ECLIB to work is this right ? And if so how do i install this to work with my ECLIB? I bought my HP49G for three weeks ago and i am not sure of anything on this yet can someone please learn mee? simply download library into your calc (only file ECLIB). Then make the installation of the library (exact description can be found on www.area48.com), perform soft reset using on+c and there should be no problem I'm not familiar with ECLIB, but apparently it needs to use a library command from the BZ49 library, and couldn't find it. Get BZ49 at www.hpcalc.org/hp49/utils/compress/bz49.zip and install it as you would any other library. ==== I'm not familiar with ECLIB, but apparently it needs to use a library command from the BZ49 library, and couldn't find it. Get BZ49 at www.hpcalc.org/hp49/utils/compress/bz49.zip and install it as you would any other library. ==== I try to install ECLIB on my HP but i get an error message that says : STO error: undefined XLIB Name In my stack i get the explanation for the characters used i the equation and 'Vars 1' or 'grf1' on level 1 on the stack Is this a problem due to my ROM version 1.18 or is it just a variable definition problem? I think i have get it all right with the installation but i am not sure. it says that i need BZ+49 compressor to use this ECLIB but how do I install this and it is really neccesary ? I hope to learn more about the HP49G after I have used it some times now i have used it only for three weeks. Yes it is necessary. I think all the included pictures are compressed with bz. Install bz the same way as you installed ECLIB. (you can find the compressor lib at www.hpcalc.org but I can't remember which one you need. You need to choose the right one or it wont't work.) Short description of installing a LIB (just in case): 1) set calc to RPN -mode (if your not already) 2) transfer the lib to the calc (with the con. kit) 3) press [VAR] on the calc 4) put the lib on the stack (by pressing the softkey for the lib) 5) enter the port-number (0,1 or 2) you want to store the lib ('2' and then [ENTER]) 6) press [STO] 7) [ON]&[F3] to reboot the calc and attach the lib automatically 8) change your mode back to ALG-mode (or stay in RPN-mode;-)) BTW: I think ECLIB assumes you are using the calc in RPN-mode. You will get used to it after (quite) some time;-) ==== Have any of you saw the samson cables site, when you select any of the calculators they say all hp calculators are discontinued except(30s, 12c and 10bii), is that true. ==== Well, from previous experience when samsoncables say it's discontinued > it means it has been for quite a while and stocks are running out. > It's clear now that when they (hp) discontinued the G+ they actually > meant the whole family. Only nobody knew or wanted to believe. > The day has come, the race has begun. Good luck in getting spares. ==== On HP49, in edit mode, how can I insert something from stack (eg 4). On HP48 I simply press up arrow and echo. The same thing on HP49 doesn't work. Press the HIST key and find ECHO in the menu. Don't ask me why they changed this though. ==== If your going to use re-chargables in your prized HP make sure you use a decent charger that is designed for the baterries your using. Charging requirements for NiCd, NiMh and Alkaline batteries are different though some chargers can detect what type of batteries are being charged. Avoid cheap chargers that don't have a timer or detect when the batteries are charged. In Australia the Alkaline re-chargables appear to be similar priced to NiCd's but only have an advertised life of 25 re-charges. NiCd's seem better value than Alkalines and the 1.25V isn't a major problem. NiMh's are more expensive but have the same 500 re-charges to NiCd's and higher capacity. I intend to change to NiMh's when the NiCd's give out. If you do use NiCd's and have programs/data/application in the home directory or Port 0 be sure to archive to the flash memory regularly. The contents of these directories do seem to be preserved for some time after the battery warning, even after the calculater will fail to turn on, but there is a risk you will lose memory. If you have the contents archived in flash memory it only takes a few seconds to restore the memory. In nearly 2 years of using NiCd's Ive only lost memory due to batteries completely discharging once or twice despite many occasions when the calculator wouldn't even turn on so. I'd hate to lose the pile of junk thats built up in their so I keep my HP backed up. As a side benifit I can load the archive file in to the emulator on the PC so it is synchronised to the state of my HP49, ie just as cluttered. ==== Here's Peter Karp's Cleansolver rewritten for the HP49. I added an IF statement to check for an algebraic on level 1. Usage: put a single equation or expression on level 1 and run the program. You'll see the Solver white softkeys with your variables, plus another black key called CLR. When you're done solving, or if you want to exit right away, press CLR. The variables will be purged and you'll be back at the previous menu. %%HP: T(3)A(R)F(.); << IF DUP TYPE 9 == @ Check for algebraic. If not, error msg. THEN DUP # 2F110h @ Get algebraic's variable names. SYSEVAL { { CLR @ Create CLR command for menu. << RCEQ EVAL DROP # 2F110h SYSEVAL PURGE 2 MENU > } } + 2 ->LIST @ Store new menu in EQ. STEQ 30 MENU @ Start Solver. ELSE # 202h DOERR @ 202 = Bad Argument Type END > this is a problem, put 0 STEQ before the 2 MENU command to store a zero in EQ. ==== I use another version, where pressing CLR the content of EQ is replaced by the equation. The program would be now: %%HP: T(3)A(R)F(.); << IF DUP TYPE 9 == @ Check for algebraic. If not, error msg. THEN DUP # 2F110h @ Get algebraic's variable names. SYSEVAL { { CLR @ Create CLR command for menu. << RCEQ EVAL DROP DUP STEQ @ Store the algebraic object in EQ <=== # 2F110h SYSEVAL PURGE 2 MENU > } } + 2 ->LIST @ Store new menu in EQ. STEQ 30 MENU @ Start Solver. ELSE # 202h DOERR @ 202 = Bad Argument Type END > A. Nicol.87s Bill Markwick escribi.97 en el mensaje > Here's Peter Karp's Cleansolver rewritten for the HP49. I added an IF > statement to check for an algebraic on level 1. Usage: put a single equation or expression on level 1 and run the > program. You'll see the Solver white softkeys with your variables, plus > another black key called CLR. When you're done solving, or if you want to exit right away, press CLR. > The variables will be purged and you'll be back at the previous menu. > %%HP: T(3)A(R)F(.); > << > IF DUP TYPE 9 == @ Check for algebraic. If not, error msg. > THEN DUP # 2F110h @ Get algebraic's variable names. > SYSEVAL { { CLR @ Create CLR command for menu. > << RCEQ EVAL > DROP # 2F110h > SYSEVAL PURGE 2 > MENU > > } } + 2 ->LIST @ Store new menu in EQ. > STEQ 30 MENU @ Start Solver. > ELSE # 202h DOERR @ 202 = Bad Argument Type > END > > this is a problem, put 0 STEQ before the 2 MENU command to store a zero > in EQ. Bill ==== I would like to ask: How is it going to be from now on? Will this forum slowly move to the MoHPC ? What are the alternatives? I've seen a few implementation of rpn calcs for palm devices, i had imagined a perfect calc that would use a hp 20 or 32s-like keyboard together with a palm, one side a great hp rpn keyboard and the other state-of-the-art screen, a clamshell i think it's the name, but now there won't be a source anymore for the keyboard... Should we unite to create a rpn calc for palm devices? Should we cannibalize the competition by completely rewriting the OS to work on TI's ? I've seen the new TI calcs and, they look better build. Perhaps we should give in on this, in order to preserve the species. Develop a sintesized cpu (on an cpld/fpga) an put it inside another calc shell (back to ti?)? That wont reach many people... Should we just accept it that we are now dinossaurs, helplessly reaching to our beloved this-was-the-best-calc devices, like we see our parents and elder coleagues? Sorry for the many questions... An HPSaurus. Steve Sousa ==== I would like to ask: How is it going to be from now on? Only HP nows.. and a few jedis from the council ;-) > Will this forum slowly move to the MoHPC ? Perhaps, but it is still live on Saturn ;-) > What are the alternatives? A lot, but someone should see them .. > I've seen a few implementation of rpn calcs for palm devices, i had > imagined a perfect calc that would use a hp 20 or 32s-like keyboard > together with a palm, one side a great hp rpn keyboard and the other > state-of-the-art screen, a clamshell i think it's the name, but now > there won't be a source anymore for the keyboard... > What is bad with Hp Jornada 700 line keyboard? > Should we unite to create a rpn calc for palm devices? This is one of the options.. Have you seen xcas?: http://www-fourier.ujf-grenoble.fr/~parisse/giac.html > Should we cannibalize the competition by completely rewriting the OS > to work on TI's ? I've seen the new TI calcs and, they look better > build. Perhaps we should give in on this, in order to preserve the > species. Species means more than one specie.. TI seems not be doing on their calcs. New Ti machine, called Voyager 2000 (similar to v'ger, isn't it?), it is not more than a ti92+++,.. for me, same mistake than hp49 over hp48. I mean mistake since HP hasn't done anything new since then, over this line of machines (hp58??)[And I love my hp49 calculator, even missing hp48 keyboard feel] > Develop a sintesized cpu (on an cpld/fpga) an put it inside another > calc shell (back to ti?)? That wont reach many people... Should we just accept it that we are now dinossaurs, helplessly > reaching to our beloved this-was-the-best-calc devices, like we see > our parents and elder coleagues? > This has happened always.. You can heard many people saying about hp41 or hp42 that they are the best calculators ever. ==== anyone remember the hp-28s serial port thing? anyone have any idea at all where to get software for it, instructions/schematics for the hardware side? thanks much! -- while E < ==== I bought it one month ago... but still haven't got the software (the unfortunately I haven't got any hardware schematics and my unit hasen't got any screws (is this correct english?) so I can take it apart...:-) Martin > anyone remember the hp-28s serial port thing? anyone have any idea at all where to get software for it, > instructions/schematics for the hardware side? thanks much! > ==== > I bought it one month ago... but still haven't got the software (the well, taking it apart may be tough, and I wouldn't ask it if you don't feel comfortable with open heart surgery. The software- I think on the calc side, if it's loaded in the calculator, you can at least print it (or record the binary so i can?) but i cna easily handle 5.25 inch disks if the guy wants...... -- while E < ==== all the software that comes is installed on the PC... you simply send the data as you would if you would print it on the 82240 IR printer. Then running the program on the PC you have to decide what to do with the data received from the calc... display it, print it or save it. I could have handeld the 5.25 disk myself but there wasn't any FD included...:-( ==== PDFs on http://www.courbis.com/voyage28.html Online on http://www.courbis.com/online-28.html The stuff about connexion is at : http://www.courbis.com/v28-122.html Luc > There was smthing like that for the 28 with an apple II > ==== My HP 39G from Samson Cables arrived today. It's seems well built and the software very nicely implemented, but i cannot figure out how to type a space character. The word SPACE is written in in orange above the ENTER key, but no combinations of Shift, Alpha and Enter will produce a space character. Is there any other way of typing a space character? Most of the prompts don't have a softkey for space. Also, is there an equvialent to LIBEVAL 2;43 from the HP 38G? This checked for a keypress and stored either the key code or 0 into Ans. What is a good program you can get to download a program from a pc to >the HP49G. Im talking a program thats available at www.hpcalc.org Ive already made a cable for my HP but just need a good program. ==== Dera Guys, programm, lib. and the rest of trash and after that install the new flash 1.96 ! Chears Jose Da Silva ==== You can use the Filer for this... VP > Dera Guys, programm, lib. and the rest of trash and after that install the new > flash 1.96 ! == Maybe the books of Dr. Gilberto E. Urroz could be the answer: http://www.hpcalc.org/hp48/docs/books/sciengmath.html while waiting for the upcoming HP 50G Turbo === Two interesting links: http://www.amis.com/conversion/adv/adv36.cfm (just a matter of will?) http://www.nec.de/Products/Asic/Technology/Index.html ==== > Figures are figurative - no one can truly project the future sales. He can't either. Show him a nice curve going very high, and he'll be happy... ;) what you can also do is to reprogram the ROM, removing the ON-A-F test from the ISR and even possibly recalculating correctly the CRC. This would solve the ON-A-F problem radically! ps: you need to change the 16 nibbles at address : 00BDE they are at the moment: 1000120000000000. if you change it to 0000120000000000, you will disable the ON-A-F... Do not change it to 0000000000000 as it would not work that well. > Tal schrieb: I wonder is there a SYSEVAL to prevent the > combination: ON-A-F from performing reset for > the HP48 that can be used in a USER-RPL program. (Note that these are just some thoughts - I haven't tried anything.) You can indeed turn the ON-A-F, ON-C etc off by calling the assembler > entry point =DisableIntr. However once you have turned them off you have > to stay in ML (as the system may crash). You would then have to check > for some magic keypress to wake the calculator up again (e.g. with > =Debounce or =ThisKeyDn?). Do not forget to call =AllowIntr before > returning to RPL. All this would only help you in the test situation if you also added a > TTRM yes/no prompt with a beep, plus a warmstart, and then again protect > it, as you can expect your teacher to distrust a calculator which does > not do anything upon ON-A-F. ==== This kind of behaviours makes that in most exams, only calculators with one line and no-programmable are allowed... .. ==== check the flag which tells your calc to output numerical results. ;) > When I add, subtract, divide, or multiply with fractions or variables > it just displays what I asked it to do, and then I have to press EVAL > for it to do it. For example 1 ENTER 7 / 1 ENTER 5 / - just displays > 1/7-1/5 instead of -2/35 and X ENTER X * just displays X*X instead of > X^2. Is there a way to make it automaticaly do EVAL everytime I add, > subtract, multiply or divide? Check this out: http://www.hpcalc.org/hp49/math/misc/asv11.zip > ==== > check the flag which tells your calc to output numerical results. http://www.hpcalc.org/hp49/math/misc/asv11.zip > The program mentioned did exactly what I wanted. Changing it to numeric gives decimal answers and seems to disengage the CAS. X+X in numeric is '! + Error: Undefined Name' ==== >[...] >Math was one of my favorite subjects, but I still find it quite a >chore learning the 49G. Sooner or later I will have to buy the Urroz >books. It bugs me that I have to do that after paying a pretty hefty >sum for the calculator. If you haven't already seen it, Bernard Parisse has a very nice 49g CAS manual at http://www-fourier.ujf-grenoble.fr/~parisse/english.html It's extremely helpful. Each command is described and an example or two for each is given. It's concise and informative. Nicely done! ==== Is it possible to plot a series on the 49G, say {(n,1/n)} where n is a natural number on an n-inverted coordinate system? -- ==== I meant a sequence not series sorry... -- > Is it possible to plot a series on the 49G, say {(n,1/n)} where n is a > natural number on an n-inverted coordinate system? -- ==== > > I am having a hell of time trying to compile GNU Tools under VC++ 6.0 > with no luck. There appears to be several files missing from the > project: > > hptoolscommonversion.c > hptoolsincludenewob.h > hptoolsincludeopc.h Well, normally all the files are included in the source code. the opc.h are > not necessary anymore and shouldn't be included in the source code 3.0.6, so > I'm now wondering where did you get the source code from? > Try here: > http://www.epita.fr:8000/~avenar_j/hp/hp39/hptools-src-3.0.6.zip I've tried with a fresh install of VC++ 6.0 and effectively, the file > version.c is missing in common. This file is created automatically by the > configure script. If you have the cygwin tools installed, then just run sh > configure and use VC++, otherwise, create the common/version.c file with > this inside: #include version.h char *generation = 1; > char *pack_version = VERSTRING; > char *version = V3.0.6 (10/22/2000); char *infotext[] = > { > HPTools --, > HPTools V3.0.6 (10/22/2000), > , > Please read the Distribution License before use, > 0, > }; > It is a better solution to compile with VC++ than the cygwin gcc as the > result will give much faster exe files. > Using cygwin to compile the tools will works, but it will be much slower > than building native tools > MAKEROM without any errors or warnings. But, RPLCOMP SASM and SLOAD have several warnings. Should I worry about this? --------------------Configuration: rplcomp - Win32 Release-------------------- Compiling... debug.c defer.c envfile.c getopt.c hash.c masd.c D:CProjectsHptoolsrplcompmasd.c(644) : warning C4101: 'tmp' : unreferenced local variable rplcomp.c D:CProjectsHptoolsrplcomprplcomp.c(389) : warning C4028: formal parameter 1 different from declaration D:CProjectsHptoolsrplcomprplcomp.c(1731) : warning C4018: '!=' : signed/unsigned mismatch version.c D:CProjectsHptoolsrplcomprplcomp.c(969) : warning C4761: integral size mismatch in argument; conversion supplied D:CProjectsHptoolsrplcomprplcomp.c(1009) : warning C4761: integral size mismatch in argument; conversion supplied D:CProjectsHptoolsrplcomprplcomp.c(1013) : warning C4761: integral size mismatch in argument; conversion supplied D:CProjectsHptoolsrplcomprplcomp.c(1054) : warning C4761: integral size mismatch in argument; conversion supplied D:CProjectsHptoolsrplcomprplcomp.c(1058) : warning C4761: integral size mismatch in argument; conversion supplied D:CProjectsHptoolsrplcomprplcomp.c(1701) : warning C4761: integral size mismatch in argument; conversion supplied D:CProjectsHptoolsrplcomprplcomp.c(1771) : warning C4761: integral size mismatch in argument; conversion supplied Linking... rplcomp.exe - 0 error(s), 10 warning(s) Compiling... --------------------Configuration: sasm - Win32 Release-------------------- Compiling... convert.c error.c expr.c D:CProjectsHptoolssasmexpr.c(12) : warning C4305: 'initializing' : truncation from 'const int ' to 'char ' D:CProjectsHptoolssasmexpr.c(12) : warning C4305: 'initializing' : truncation from 'const int ' to 'char ' D:CProjectsHptoolssasmexpr.c(12) : warning C4305: 'initializing' : truncation from 'const int ' to 'char ' opcode.c D:CProjectsHptoolssasmexpr.c(237) : warning C4761: integral size mismatch in argument; conversion supplied opcodegen.c sasm.c D:CProjectsHptoolssasmsasm.c(1221) : warning C4018: '>=' : signed/unsigned mismatch D:CProjectsHptoolssasmsasm.c(1229) : warning C4018: '>=' : signed/unsigned mismatch D:CProjectsHptoolssasmsasm.c(2037) : warning C4018: '>' : signed/unsigned mismatch D:CProjectsHptoolssasmsasm.c(2039) : warning C4018: '>' : signed/unsigned mismatch D:CProjectsHptoolssasmsasm.c(2046) : warning C4018: '>' : signed/unsigned mismatch symbols.c Linking... sasm.exe - 0 error(s), 9 warning(s) --------------------Configuration: sload - Win32 Release-------------------- Compiling... code.c D:CProjectsHptoolssloadcode.c(158) : warning C4018: '!=' : signed/unsigned mismatch D:CProjectsHptoolssloadcode.c(290) : warning C4018: '!=' : signed/unsigned mismatch input.c output.c sload.c D:CProjectsHptoolssloadsload.c(1700) : warning C4018: '==' : signed/unsigned mismatch D:CProjectsHptoolssloadsload.c(1718) : warning C4018: '<' : signed/unsigned mismatch D:CProjectsHptoolssloadsload.c(1753) : warning C4018: '>' : signed/unsigned mismatch D:CProjectsHptoolssloadsload.c(1871) : warning C4013: 'isatty' undefined; assuming extern returning int sptree.c symb.c Linking... sload.exe - 0 error(s), 6 warning(s) ==== > MAKEROM without any errors or warnings. But, RPLCOMP SASM and SLOAD > have several warnings. Should I worry about this? Nah... don't worry about it... VC++ chock on some files where gcc with -Wall option doesn't, go wonder ==== > I'm no programming expert, but I think the GNU Tools should be compiled with > the GNU C/C++ compiler gcc (i.e: you just type 'make' and follow the > instructions). At least the included Install file indicates this. So you > need to have a Unix-(linux)-alike developement enviroment to compile the GNU > Tools. If you don't have a linux distribution you may want to try cygnus, although > I didn't try this (cygnus works fine on Win2k and probably also XP). Roman Johnathan Hearns schrieb im Newsbeitrag > I am having a hell of time trying to compile GNU Tools under VC++ 6.0 > with no luck. There appears to be several files missing from the > project: hptoolscommonversion.c > hptoolsincludenewob.h > hptoolsincludeopc.h doing wrong. Roman, thanks for the suggestion but there are Visual Studio V6.00 workspace and project files. So far, the missing file version.c is causing most of the compilation errors. ==== Simple solution to the problem: 1. Go to the workspace 'gtools' (usually on the left had side) 2. Under the makerom files directory, double click on version.c 3. It will say no file, do you want to create one? Say yes. 4. A new blank file appears, type the following: char version[] = {version 1.0}; 5. Save the file. 7. Right click and select clean. 8. Select build. 9. Repeat steps 6 to 8 for each of the other file groups. > I'm no programming expert, but I think the GNU Tools should be compiled with > the GNU C/C++ compiler gcc (i.e: you just type 'make' and follow the > instructions). At least the included Install file indicates this. So you > need to have a Unix-(linux)-alike developement enviroment to compile the GNU > Tools. If you don't have a linux distribution you may want to try cygnus, although > I didn't try this (cygnus works fine on Win2k and probably also XP). Roman > > I am having a hell of time trying to compile GNU Tools under VC++ 6.0 > with no luck. There appears to be several files missing from the > project: > > hptoolscommonversion.c > hptoolsincludenewob.h > hptoolsincludeopc.h > > doing wrong. Roman, thanks for the suggestion but there are Visual Studio V6.00 > workspace and project files. So far, the missing file version.c is > causing most of the compilation errors. ==== The problem is not writing the emulator but getting HP to release the ROMs. (in a correspondence one of the authors indicated to me that his 42S emulator was mostly functioning) Why it would be problematic for HP to release the ROMs of some ancient discontinued calcs when they released the ROMs of their current calculator line some time ago is beyond me. . ==== .. -- < ==== A website with a large selection of HP calculator emulations (for a variety of platforms) is www.hpcalc.org. ==== I found this example for Reading Multiple Key-Press(that works!): %%HP: T(3)A(D)F(.); << 0 WAIT #071A2h SYSEVAL @ Start loop. TEST @ Program to be evaluated if A key is down. 1 @ A code. #18CEAh SYSEVAL @ COERCE #047C7h SYSEVAL @ Key pressed?. #633C6h SYSEVAL @ NOT_UNTIL. > I would appreciate it if you could help me to evaluate the program(TEST) with some other key in addition to the A key. I mean that A, B and C for example will evaluated the program if some of them is down. Tal ==== I needed to do the same thing ... << -> r << DUP RE SWAP IM -> x y << 0 r INV 1 - FOR L x 2 ^ y ^ 2 + v/ r ^ EVAL i r * y x / ATAN 2 pi * l * + EVAL * EXP * NEXT > Where v/ is the square root key and pi is <-| SPC You place the complex number on the stack as x+y*i in level 2: then the root as a fraction (ie 1/2 for the square root) in level 1: The answer is given as r*e^ipi (exponential form) Where v/ is the square root key and pi is <-| SPC Hope I haven't broken some cardinal rule by posting a program. Hope this helps Hope my UserRPL programming isn't too clumsy Cam ==== ... make that << -> r << DUP RE SWAP IM -> x y << 0 r INV 1 - FOR L x 2 ^ y ^ 2 + v/ r ^ EVAL i r * y ABS x ABS / ATAN 2 pi * l * + EVAL * EXP * NEXT > ==== > I'd be curious to see a simple way of doing this > in ML. Anyone ? > I'm thinking of modifying the routine in JD's book > WaitForKeyUp (or whatever it's called) to also include > a timer setting, but I imagine it's been done several > times. > Gerard Try using a flag... *main loop tflag becomes 0 % Test for key K pressed tIf the key K is pressed then tt if flag is 0 t flag becomes 1 tt end if tEnd if t tdelay or any code writing screen or wait vbl or etc... % Test for key K pressed tIf the key K is pressed then tt if flag is 0 (this means the key was unpressed) t code no autorepeat tttelse t code autorepeat tt end if tEnd if tgoto main loop ---------------------------------------------------------------------- ==== I have a problem solving an equation. The function I have is this one: f(x) := |x-0| + |x-6| + |x-11| + |x-12| + |x-13| + |x-15| Then I used DERVX to get the derivation: SIGN(x-0) + SIGN(x-6) + SIGN(x-11) + SIGN(x-12) + SIGN(x-13) + SIGN(x-15) I set this term equal to zero: SIGN(x-0) + SIGN(x-6) + SIGN(x-11) + SIGN(x-12) + SIGN(x-13) + SIGN(x-15)=0 and then I tried to solve the equation using SOLVEX. But that doesn't work! It always gives back an error: non isolable operator. I have tried several things, like simplifying the equation. This works, but solving the resulting equation would last hours without any result. Not so good. A friend of mine tried this on his TI-92 PLUS and it gave the right answer: x>=11 OR x<=12. So, is there any chance I can solve this equation? Hope somebody can help me! Greetings, Thomas Leitner ==== > it gave the right answer: x>=11 OR x<=12. I must be stupid or too sleepy, 01:12 local time since without any calculator I got this answer x>11 AND x < 12 So, is there any chance I can solve this equation? Hope somebody can help me! > Thomas Leitner ==== > it gave the right answer: x>=11 OR x<=12. I must be stupid or too sleepy, 01:12 local time > since without any calculator I got this answer > x>11 AND x < 12 VP I know that the right answer can be calculated easily, but I wanted the HP to do it. ==== I have the next problem: during the execution of a program one expresion is generated(itÇs the result of an integral). I want to evaluate the expresion using list BUT ther are signs + in the expression. So what I want is replace + by ADD. Does anybody know how I can do that? At the moment I have done a loop in which I evaluate each element of the list, but I would like to do it all in one time. Sorry for my bad english. I have an HP49G and I only program in User. ==== Without seeing your code and understanding only partly your problem I suggest using ->STR, STR->, SREPL commands to process you program VP > I have the next problem: during the execution of a program one > expresion is generated(itÇs the result of an integral). I want to > evaluate the expresion using list BUT ther are signs + in the > expression. So what I want is replace + by ADD. Does anybody know how > I can do that? At the moment I have done a loop in which I evaluate > each element of the list, but I would like to do it all in one time. > Sorry for my bad english. > I have an HP49G and I only program in User. ==== My HP49 is blocked! It resetted today and went into the Try to recover memory? screen but didn't allow me to do nothing!!! I can't even reset the memory, nothing seems to work and when I press the ON key the calculator beeps.... ==== Here's a post I made a while back explaining how to do it on an HP48.. obviously the part about expansion cards won't apply, but no one has ever reported that this did not work for them unless the case was truly damaged hardware. Of course, things could get much more complicated with the introduction of flash ROM (the infamous flash ROM that was supposedly impervious to accidental erasure and could be hacked, fried, etc with impunity). ==== But anyway I only made a copy of a post from an older post of mine. Go through it step by step. I'm quite sure your calc will come to live back again;-). (make sure you're using new batteries before trying this!!) 1) Reset your calc with a paperclip (there is a hole on the back of the calc) if it fails .. 2) try to reset with [ON]&[F4] -Q and press the backspace-key while rebooting (this way an eventually broken lib won't be attached, Don't forget to delete the broken libs) if it fails .. 3) Reset your calc with [ON]&[F1]&[F6] f it fails .. 3) Download the OS again if it fails .. 4) If you don't have acces to the download menu anymore use P0erase 5) Install the OS again if it fails .. 6) I just had to a few weeks ago to erase bank 8-15 (Port 2) manually to make my calc work again (My calc was in some kind of infinte loop). You can do this in the download-menu. Hope that helps ==== ==== > 1) Reset your calc with a paperclip (there is a hole on the back of the > calc) > Done but after this i cannot do anything What does this mean? what meassage (if any) shows your calc? Do you get the message TRY TO RECOVER MEMORY? or what? If so choose NO if you haven't tried already. > 2) try to reset with [ON]&[F4] -Q and press the backspace-key while > rebooting (this way an eventually broken lib won't be attached, Don't > forget > to delete the broken libs) > I cannot do this, the calculator is blocked in Try to recover memory > screen... OK. Did you try [ON]&[F3] or [ON]&[F4]. (Just in case you don't know: the sign '&' means you have to press the two keys at the same time) > 3) Reset your calc with [ON]&[F1]&[F6] > Did y It's a program that erases port 1. You only need to do this if you don't have acces to the download menu anymore. > 6) I just had to a few weeks ago to erase bank 8-15 (Port 2) manually to > make my calc work again (My calc was in some kind of infinte loop). You > can > do this in the download-menu. ==== > It's a program that erases port 1. You only need to do this if you don't > have acces to the download menu anymore. So it's my case... where i can find it? but what does this program do? > (sorry for the orrible english of this question) You find P0erase on www.hpcalc.org on the same site where the flash roms for the HP49G are. Read the text file that comes with the program! P0erase erases port 1 if your calc is in unusable state (i.e: you don't have acces to the download menu anymore). Which seems to be the case with your calc. But I'm not sure if you understand all of the stuff I have written above. So you are maybe only doing something wrong (or maybe not). We need a bit more information than just doesn't work to help you. Otherwise we are just guessing where the problem with your HP49G may be. If it happens that you live in south of Tirol you probably understand German better than english. Let me know if you live there and understand German better than english, and I translate all the stuff above to German. Give us a bit more information (what happens exactly?)! Well, unfortunately i'm italian and i don't speak german... I'll try to explain... When I press ON the calc turns on and goes into the Try to recover memory? screen. At this time I know that I can choose F1=YES or F6=NO; the fact is that if I press one of that key nothing happens. The calc doesn't reboot (restart) with [ON]&[F3], the same is with ON&F1&F6 and also I don't get acces to the menu with [ON]&[F4] because as soon as I press ON the calc begin to beeps repeatedly... the only key that makes the calc beep is ON, when I press another key is as if i didn't press anything. At this point if I want to turn off the calc I have to press the reset behind the calc or pull out the batteries. I hope to be clearer and hope someone can help me.... ==== If I understand you right, your calc doesn't respond at all useless what you are trying. Did you try to reset the calc with the backside reset switch and pressing the backspace key at the SAME time? What happens if you press [ON]&[F4] when the TRY TO RECOVER MEMORY? message appears (after you take the batteries out or reset with the backside switch)? Don't you get into the test menu? If you don't have acces to the download menu anymore you should give P0erase a try. You did not mention if you already tried to use this program. Of course you need the connectivity kit to use P0erase! Connect the PC with your calc and execute P0erase. Choose the appropriate com-port where your calc is connected to. If your OS is corrupted (due broken OS download or whatever) then you have to download the OS again (use new batteries for this procedure or it may fail!). If nothing of this helps at all you can still try to erase port 2 manually (I had to do this just a short time ago to make my calc work again). Connect the calc with the PC and start the download OS procedure (though you can only do this if [ON]&[F4] works) till you get to the menu with: 1) Download System 2) Download Packs 3) Upload Bank 4) Erase Bank .. choose 4 and erase bank 8-15 (port 2) manually. It may help or not. In my case it brought my calc back to live. If nothing helps at all (Maybe it's a hardware problem) bring your calc back to where you bought it and get it replaced (Hope you have still warranty on it). ==== 1) Locate the reset hole, backside, right edge, below the nameplate 2) OR take the batteries away for a second and replace 3) OR reverse two of the batteries for a second. 4) Leave the batteries out for a week, pressing very often the [ON] 5) Unit on warranty can be replaced VP > My HP49 is blocked! It resetted today and went into the Try to recover > memory? screen but didn't allow me to do nothing!!! I can't even reset the > memory, nothing seems to work and when I press the ON key the calculator > beeps.... ==== > 3) OR reverse two of the batteries for a second. This is ill-advised.. I have heard many people report inserting a battery in backwards in an HP48 by accident and damaging the calculator. See post: http://groups.google.com/groups?selm=34DEB099.3DB2B7B8%40hxz.idle.net&output =gplain ==== ok, I believe you ! But I have never had any trouble (except blue smoke sometimes) Veli-Pekka PS: Not even just two of the batteries for a second ?? 3) OR reverse two of the batteries for a second. This is ill-advised.. I have heard many people report inserting a battery in > backwards in an HP48 by accident and damaging the calculator. See post: ==== and I strongly encourage anyone to ever reverse-bias any circuits consisting of even a single zener This will certainly ruin your device & void your warranty forever So - if any of you ever followed my advice(s) - tuff luck !!! Veli-Pekka PS: Do you remember when one fool cut the IR wire from his HP 39G in order to make it a 40G well I better stick to just software advices... because I never make mistakes in my programs... > ok, I believe you ! > But I have never had any trouble (except blue smoke sometimes) > Veli-Pekka > PS: Not even just two of the batteries for a second ?? > 3) OR reverse two of the batteries for a second. ==== Don't worry, I've seen this bit of advice handed down from one generation of HP48 users to the next so it's no surprise to see it pop up. I even tried this technique a long time ago to fix an HP that wouldn't turn on. The HP48's zener diode *is* in reverse bias by design (I assume, since this is why you use a zener diode). It would be used as a voltage regulator. The zener breakdown voltage describes a reverse bias voltage, which is what you want to use in a design. But if you look at the I-V characteristics of a zener diode with no resistor, you'll see that if you connect it in forward bias, the current blows up at a lower (meaning closer to 0) voltage so reversing the batteries puts the diode in foward bias and the voltage (I assume) just has to exceed ~.7V before the current starts to increase exponentially (in other words, it looks like a short). If you take a look at this link: http://leviathan.orblivion.com/downloads/schematic.jpg you'll see a schematic for a non-ideal zener diode that was made in PSpice. Then take a look at this: http://leviathan.orblivion.com/downloads/schematic.jpg which is the PSpice simulation of that circuit that shows the IV characteristics (diode connected with no resistive load). Current is on the vertical axis and voltage on the horizontal. You'll notice that the zener breakdown voltage for this particular diode (which is probably very similar to the one the HP48 uses) is just under -5V. Take note of where the current is. Now look at what happens if you put the zener at 5V (fwd bias). Oops, time to let the smoke out! However, since the batteries aren't truly an infinite current source, it will max out *well* before it gets to the 10A range.. but what they are saying is that the batteries (specifically alkalines) can output a surprisingly large amount of current as far as batteries go and it is often sufficient to fry the zener. Last.. I hope this is all accurate. I'm admittedly NOT a devices guy. Aaron > and I strongly encourage anyone to ever reverse-bias > any circuits consisting of even a single zener > This will certainly ruin your device & void your warranty forever So - if any of you ever followed my advice(s) - tuff luck !!! Veli-Pekka > PS: Do you remember when one fool cut the IR wire > from his HP 39G in order to make it a 40G > well > I better stick to just software advices... > because I never make mistakes in my programs... ==== 5 is no longer valid if 3 is executed. Try option 1, holding the backspace key during the reboot. This will prevent the config information of all user libraries from executing during start-up, if this is how you got yourself into trouble. Simply purge the offending library once you have booted successfully. Bill alternate E-dress wtstorey@ieee.org.no.spam.please (Use the obvious) ==== well i got this response from hp, not much but interesting. ;) Information about new models that may be coming out is generally held confidential by our marketing division until a few weeks before release. Here in technical support, we would not have any knowledge if there are any new units coming out. Various information we have heard about the calculator division gives us little reason to believe that anything new will be coming out soon. ==== Well, nevermind about the UT number. Turned out, after 6 days of waiting, HP screwed up and sent me an 11 mbs wireless lan pcmcia card. I thought the box was a little light when I picked it up. I called them, and they couldn't have been nicer. They were irked that it took so long, and about the mistake. So, rightfully, they are overnighting one to me. It's already in shipment, which was blazingly fast (withing 2 hrs) so we'll see...and the number is a CN one this time :-) I'm still a little aggravated over the long distance phone numbers, though... grrrrr. Great way to keep your customer base happy. -d > Wait 'til you get the real thing > then repost here - sounds very interesting > maybe they have close down the Chinese factory > and opened a new one in UTah ? > ;-) > VP > Hey guys, > number: UT43414391. Does that tell us anything? I can't place the > UT... I'm assuming it'll be a newer unit with fewer problems. It's > supposed to be in in the next couple of days, so I guess we'll see. I > was just curious... ==== solver, Cleansolver (CLSR). It used an HP48 Syseval, #353ABh, to extract the variables from an expression and put them in a list. I've searched through all the entry point files I could find, but I don't know what the HP49 equivalent is. If someone can send me this Syseval, I'll rewrite Peter's program for the HP49 and post it here. The Syseval works like this: (X^2 + Y^2) --> {X Y} VP are you implying that the strange behavior is because the operating system is 1.18. I never bothered to upgrade my calculator from 1.18 (Sin Sin!) and I find it quite stable for what I use it for. BTW My friend who bought that calculator traveled, and he called me this afternoon saying that it had crashed too, even though for the first few uses it seemed to be ok. so that is three bad ones in a row. Maybe it is a plot by HP to discredit itself as a calculator manufacturer so they don't have to bother producing them anymore. ==== ==== > Yes - go here; http://www.richardneal.com/hp49g/index.htm It is 49G's UG and AUR, isn't it, Richard? RPL information of 49G's UG is very poor as everybody pointed out, and 49G's AUR does not describe User-RPL programming but provides only Command Reference ordered alphabetically. Consequently it does not help new user who did not know what RPL can do. In my case, I cannot ask neighbors because HP users are very rare in Japan. So this newsgroup is actually very helpful for me but I should not ask idle or elementaly questions everytime here (but probably I will post such now and in future though :-) ). Anyhow, I've already got following books and documents for my 49G. - 48G User's Guide (PDF, free from web) - 49G AUR (PDF, free from web) - Dr. Urroz books Science and Engineering Mathematics with the HP 49 G vol.1 & 2 (paperback, $25.00 each) - E.M.Kalinowski's Programming in User RPL ver.2.1 (PDF, free from web) - J.Dossey's Advanced User RPL Guide (PDF, free from web) and some supplement documents from www.hpcalc.org (One-minite marvels is quite nice one) Especially Vol. 1 of Dr. Urroz book and Kalinowski's document are very helpful for User-RPL programming to me. Basic programs can be written by using these informations, however, when I try to make a little complicated tool, I sometimes stick for coding. Some of people here repeatedly recommended 48G's AUR is good reference for User-RPL programming, even in 49G. Is it still worthful even if I have all the above docs? I'm now hesitate to purchase it because 48G's AUR is relatively expensive. This question may also be one of FAQ though. :-) Kenji Yokohama, Japan (What happen in Argentina? I wanted to see their play more but...) ==== X > Especially Vol. 1 of Dr. Urroz book and Kalinowski's document are very > helpful for User-RPL programming to me. Basic programs can be written > by using these informations, however, when I try to make a little > complicated tool, I sometimes stick for coding. Some of people here repeatedly recommended 48G's AUR is good reference > for User-RPL programming, even in 49G. Is it still worthful even if I > have all the above docs? I'm now hesitate to purchase it because > 48G's AUR is relatively expensive. X The Urroz Vol.1 is better than the 48 AUR you list is exhaustive and I think you got what it takes you just have to practice and perhaps download more userRPL sources from the web http://www.area48.com/ might be a good place to start The HP 48 UserRPL is upwards compatible with your 49G ==== > The Urroz Vol.1 is better than the 48 AUR > you list is exhaustive and I think you got what it takes > you just have to practice and perhaps download > more userRPL sources from the web > http://www.area48.com/ > might be a good place to start > The HP 48 UserRPL is upwards compatible with your 49G All right. Actually I have not tried all the samples written in Dr.Urroz Vol.1 yet. I shall try them. And, I could find many sample programs in AREA48 which must be useful. Many thanks. Kenji Yokohama, Japan ==== Well, I've read every manual and FAQ that I can, so call me a goose for asking what will probably be a pretty dumb question ... Believe it or not, from time to time I'd like to use my 49G (ROM 1.19) as a boring old calculator. You know, where you tap, tap, tap ... then store the result in an intermediate memory variable, then go on working, then recall from the variable, then put something else in the variable, and so on. Well, I can do this in Algebraic mode but not in RPN mode on the HP. Starting with no vars in a directory I go: 4 A [Sto] ... and, voila, there's variable A set to 4. I can recall it by typing A. But how the heck do I set it to, say, 5? If I try: 5 A [Sto] I get STO Error! Bad Argument Type. Going: LS-[Files] [OK] [EDIT] 5 [Enter] [Cancel] is complete overkill. 5 RS-'A' STO works since the quotes prevent A from being pre-evaluated. But all I really want to do is the basic STO & RCL ops that you can do on any other calculator (and on the HP in algebraic mode) without having to press a dozen buttons to do this (and they say RPN is quicker on keystrokes!!) Is there a hidden mem-sto mem-rcl that I don't know about? I've gotta be missing something, surely! Geoffrey Jones (the maladroitx) ==== As the others have said LS Fkey to store and RS Fkey to quickly recall a variable. But for temporary storage I find just pushing the value onto the stack with an extra Enter avoids cluttering up your directories. The stack is quite easy to work with using the arrows and the tool menu. Stephen N > Well, I've read every manual and FAQ that I can, so call me a goose for > asking what will probably be a pretty dumb question ... Believe it or not, from time to time I'd like to use my 49G (ROM 1.19) as a > boring old calculator. You know, where you tap, tap, tap ... then store the > result in an intermediate memory variable, then go on working, then recall > from the variable, then put something else in the variable, and so on. Well, I can do this in Algebraic mode but not in RPN mode on the HP. > Starting with no vars in a directory I go: 4 A [Sto] ... and, voila, there's > variable A set to 4. I can recall it by typing A. But how the heck do I > set it to, say, 5? If I try: 5 A [Sto] I get STO Error! Bad Argument Type. Going: LS-[Files] [OK] [EDIT] 5 [Enter] [Cancel] is complete overkill. 5 > RS-'A' STO works since the quotes prevent A from being pre-evaluated. But all I really want to do is the basic STO & RCL ops that you can do on > any other calculator (and on the HP in algebraic mode) without having to > press a dozen buttons to do this (and they say RPN is quicker on > keystrokes!!) Is there a hidden mem-sto mem-rcl that I don't know about? I've gotta be > missing something, surely! Geoffrey Jones (the maladroitx) > ==== > Is there a hidden mem-sto mem-rcl that I don't know about? I've gotta be > missing something, surely! Yup, you can store something in a variable by doing left-shift and then the corresponding menukey. -- This message was written with 100% recycled electrons Pivo ==== Hey Peter, E-X-C-E-L-L-E-N-T advice! That's *exactly what I wanted! Now why couldn't I find that in the manual(s)? Geoffrey Jones -- Is there a hidden mem-sto mem-rcl that I don't know about? I've gotta be > missing something, surely! Yup, you can store something in a variable by doing left-shift and then the corresponding menukey. > ==== Peter Geelhoed schrieb im Newsbeitrag > Yup, you can store something in a variable by doing left-shift and then the corresponding menukey. That's right. Another way is using 5 'A' STO instead of 5 A STO. Holger ==== wer kann mir helfen bei der eingabe von eifachen gleichungen. M.9achte z.B. eine Gleichung mit mehreren Unbekannten eingeben und das programm soll mich nach Aufruf auffordern die unbekannten einzugeben und am ende m.9achte ich das ergebnis haben. Ich schaffe es einfach nicht das programm zu speichern und vorallem muss ich bevor ich mit <<> anfange irgendwas besonderes eingeben? Daniel ==== kann dir gern helfen. also versuchs mal so: << Enter X: INPUT OBJ-> 'X' STO Enter Y: INPUT OBJ-> 'Y' STO 'X+Y' EVAL > 'GLEICH' STO wenn du mehr hilfe brauchst schreib mir auf max_kuffs@aon.at habe jetzt nicht mehr zeit. lg max PS: fragen in englisch werden hier schneller beantwortet. sprechen die meisten englisch hier. ;) >wer kann mir helfen bei der eingabe von eifachen gleichungen. >M.9achte z.B. eine Gleichung mit mehreren Unbekannten eingeben und das >programm soll mich nach Aufruf auffordern die unbekannten einzugeben >und am ende m.9achte ich das ergebnis haben. >Ich schaffe es einfach nicht das programm zu speichern und vorallem >muss ich bevor ich mit <<> anfange irgendwas besonderes eingeben? Daniel ==== I got thru calculus 1 and 2 without graphic calculator but now in calc 3 it seems like it would be nice to have one. So Im concidering buying one, dunno which one yet. Heres what I want from graphic calculator: -Graph functions in 2D/3D such as: exponential, hyperbolic, polynomial, polar/vector/spherical/cylindrical equations -is that even possible?? -Integrate advanced functions, such as where you would have to use integration by parts or trig substitutuion -Differentiation -Can these calculators integrate/differntiate ANY function or just simple ones? -Are they hard to learn? I dont want to spend hours on figuring out how to multiply or divide. Which graphic calc would be the easiest/tolerable to learn? Im not biased to HP TI or Casio -Whats a RPN?????? - I want a calc that will do the most stright out of the box, I really dotn have time to install new applications and then spend another 1000hrs to learn them -Is that keyboard in 49G really THAT bad? Can you live with it? -Can they solve vector equations? -Can they do matrices? -Can they do series? ==== You really should try and do this (go through calculus) without a calc. You will become stronger in the end if you do everything by hand (pen and paper, that is, because you also use your hands to operate a computing device) or if you insist that you need a calc (that's a lie) use it only for cross checking results. The best computing device you will ever need and the best you will ever have weighs 3kg and is behind your eyes. ==== I got thru calculus 1 and 2 without graphic calculator but now in calc 3 it > seems like it would be nice to have one. So Im concidering buying one, dunno > which one yet. > Heres what I want from graphic calculator: -Graph functions in 2D/3D such as: exponential, hyperbolic, polynomial, > polar/vector/spherical/cylindrical equations -is that even possible?? > -Integrate advanced functions, such as where you would have to use > integration by parts or trig substitutuion > -Differentiation > -Can these calculators integrate/differntiate ANY function or just simple > ones? > -Are they hard to learn? I dont want to spend hours on figuring out how to > multiply or divide. Which graphic calc would be the easiest/tolerable to > learn? Im not biased to HP TI or Casio > -Whats a RPN?????? > - I want a calc that will do the most stright out of the box, I really dotn > have time to install new applications and then spend another 1000hrs to > learn them > -Is that keyboard in 49G really THAT bad? Can you live with it? > -Can they solve vector equations? > -Can they do matrices? > -Can they do series? > I believe there are 4-5 calculators that can do pretty much what you ask. Not everything, integration by parts is not possible except perhaps in step by step solution (which I doubt would use normal human methods). Only the 49 can really do most of what you ask, but I suggest you buy a Ti-89, since it is easier to use out of the box. In order of capability and functions they are: Hp49G Ti-89 Hp48G plus or X Casio FX 2.0 Ti-86. Since you asked, What's a RPN?, I would definitely rule out a 49G or a 48G. If CAS is allowed (which it may not be), go with a Ti-89, unless you don't need or want to ever bother with downloadable software. Then the Casio FX2.0 would probably be ok and about $40-50 cheaper. The Ti-86 does not have CAS but can do pretty much everything else (probably more and better software than what is available for the Casio). Actually a little better more direct menu system than the Ti-89. ==== X > methods). Only the 49 can really do most of what you ask, but I And it is the only one with Step-by-step & have a programmable custom menu (and MATCH commans) to enhance the CAS X In order of capability and functions they are: Hp49G > Ti-89 > Hp48G plus or X > Casio FX 2.0 > Ti-86. Since you asked, What's a RPN?, I would definitely rule out a 49G or > a 48G. You forgot that the 49G even boots in Algebraic (eg. TI) Mode I would buy the 49G together with the Urroz books I & II VP ==== I got thru calculus 1 and 2 without graphic calculator but now in calc 3 it seems like it would be nice to have one. So Im concidering buying one, dunno > which one yet. > Heres what I want from graphic calculator: -Graph functions in 2D/3D such as: exponential, hyperbolic, polynomial, > polar/vector/spherical/cylindrical equations -is that even possible?? > -Integrate advanced functions, such as where you would have to use > integration by parts or trig substitutuion > -Differentiation > -Can these calculators integrate/differntiate ANY function or just simple > ones? > -Are they hard to learn? I dont want to spend hours on figuring out how to > multiply or divide. Which graphic calc would be the easiest/tolerable to > learn? Im not biased to HP TI or Casio > -Whats a RPN?????? > - I want a calc that will do the most stright out of the box, I really dotn > have time to install new applications and then spend another 1000hrs to > learn them > -Is that keyboard in 49G really THAT bad? Can you live with it? > -Can they solve vector equations? > -Can they do matrices? > -Can they do series? > I believe there are 4-5 calculators that can do pretty much what you > ask. Not everything, integration by parts is not possible except > perhaps in step by step solution (which I doubt would use normal human > methods). Only the 49 can really do most of what you ask, but I > suggest you buy a Ti-89, since it is easier to use out of the box. In order of capability and functions they are: Hp49G > Ti-89 > Hp48G plus or X > Casio FX 2.0 > Ti-86. Since you asked, What's a RPN?, I would definitely rule out a 49G or > a 48G. If CAS is allowed (which it may not be), go with a Ti-89, unless you > don't need or want to ever bother with downloadable software. Then > the Casio FX2.0 would probably be ok and about $40-50 cheaper. The Ti-86 does not have CAS but can do pretty much everything else > (probably more and better software than what is available for the > Casio). Actually a little better more direct menu system than the > Ti-89. For me in order of capability and functions they are: HP 49G TI 92+ TI 89 HP 48G+ with softwares erable and alg48 HP 40G FX 2.0 Casio TI 83+ Silver Edition TI 83+ But in order of processor power, the placings is: TI (92+, 89, 83+ and Silver Edition) HP (49G and 48 Series) Casio (FX 2.0) ==== I got thru calculus 1 and 2 without graphic calculator but now in calc 3 it > seems like it would be nice to have one. So Im concidering buying one, dunno > which one yet. > Heres what I want from graphic calculator: -Graph functions in 2D/3D such as: exponential, hyperbolic, polynomial, > polar/vector/spherical/cylindrical equations -is that even possible?? Both the TI-89/92+ and the HP49G can. > -Integrate advanced functions, such as where you would have to use > integration by parts or trig substitutuion Both the TI-89/92+ and the HP49G can. > -Can these calculators integrate/differntiate ANY function or just simple > ones? Some functions cannot be integrated (unless you invent a new special function). A simple example is the indefinite integral of x^x wrt x. Differentiation is much easier. > -Are they hard to learn? I dont want to spend hours on figuring out how to > multiply or divide. Which graphic calc would be the easiest/tolerable to > learn? Im not biased to HP TI or Casio Easiest to learn? A TI calculator. > -Whats a RPN?????? It's a different way to input expressions than the usual one. It's not that hard, actually. The best part of RPN, in my opinion, is that you see intermediate expressions on the stack (I have a TI-92+, so I don't care about shorter entry :) > - I want a calc that will do the most stright out of the box, I really dotn > have time to install new applications and then spend another 1000hrs to > learn them Most is debatable. The HP and TI calculators both have their strengths and weaknesses. > -Is that keyboard in 49G really THAT bad? Can you live with it? Older HP49Gs had a really bad keyboard. I think newer ones have a better keyboard, but they are still very slow. > -Can they solve vector equations? > -Can they do matrices? > -Can they do series? Both the TI-89/92+ and the HP49G can. I have downloaded zipped library files from hpcalc.org, unzipped them with Winzip and transferred them to the calculator with HPComm3.04r. I have tried both ASCII and binary transfer using Kermit protocol. They do not show up on the calculator (HP48) as Lib objects but instead appear as strings starting with HPHP48. Anyone know what I am doing wrong? THX. ==== there exists a programm which is called OBJFIX. you can download it at hpcalc.org. it fixes the string and afterwards you can use your lib. >I have downloaded zipped library files from hpcalc.org, unzipped them >with Winzip and transferred them to the calculator with HPComm3.04r. I >have tried both ASCII and binary transfer using Kermit protocol. They >do not show up on the calculator (HP48) as Lib objects but instead >appear as strings starting with HPHP48. Anyone know what I am doing >wrong? THX. ==== anybody knows how to edit a cell which was already written with a formula in the program XCELL? everytime i want to change something in a cell I have to rewrite it all again. thanks, Matias ==== to edit a cell, use RS-Alpha (Entry). Alain aeatsu$5iacr$1@ID-148083.news.dfncis.de... anybody knows how to edit a cell which was already written with a formula in > the program XCELL? everytime i want to change something in a cell I have to rewrite it all > again. thanks, ==== This post is to let all who use the HP48 and HP49 know that I have developed a system to compile HP source in a nice way. jGRASP-HP: jGRASP is a compiler environment that is set up by the user and lets him export an image file that can later be used on another system. I am not the author of jGRASP but I am the developer of the software and image files that compile HP source code. jGRASP will open .S or .A files with errors, highlight key-words, jump directly to errors in source, find-and-replace errors in source and many other great things. The next version of jGRASP-HP will compile directories and libraries; it already does but I am still testing and building a help file for Windows. INT48pro: I am now developing INT48pro using jGRASP-HP. I will be able to edit and build libraries much much easier this way; making INT48pro more versitile to build special forms for. Enjoy this software free of charge :) Sincerely, Jeremy Laughery I will post jGRASP-HP.zip on my site very soon. Please goto http://www.students.uwf.edu/jel3 for more details on its release. ==== All Im looking for a calc and went to the store today they had the 48gx and 49g. The GX calcs were made in indonesia I dont know where the 49 was made. Is one better than the other? Tnx Rich ==== if you familiar with RPN and don't need any CAS (i.e: if you plan to use the calc mainly for pure numbercrunching) you will like the HP48GX. But make sure it has the new black screen. Contrast on the new screen (same as the HP49G has) is a lot better compared to the old blue screens. But the HP49G has some advantages over the HP48GX: -Flash Rom (You can save your importants stuff; nearly 1Meg) -CAS (Computer Algebra System; very nice!) -More Ram (Although you can expand your HP48GX to have more ram than the HP49G (not cheap!); but out of the box the 49 has more Ram to offer) -You can update the OS of the HP49G (although at the moment there is no update in sight) If you go for the HP49G you should prefer the China made models over the Indonesian made. The HP49G made in China have a better keyboard (The Indonesian made calcs have at the beginning a rather stiff keyboard). I own the HP48G and the HP49G but I prefer the 49 for most of the time. Roman Rich McMahon schrieb im Newsbeitrag > All Im looking for a calc and went to the store today they had the 48gx > and 49g. The GX calcs were made in indonesia I dont know where the > 49 was made. Is one better than the other? Tnx Rich > ==== X > I own the HP48G and the HP49G but I prefer the 49 for most of the time. X Hey! You stole my answer and my ending line! It was me who is supposed to tell how good the 49G is costwise compared to the 48GX and that only the keyboard leaves something to mur-mur about. Well, people just has to try the both keyboards at the same time and then tell if they think that the 49G is good enough (remember to set a shorter key-bounce time 600 ->KEYTIME) since it offers much more capability VP - 49BORG ==== > X > I own the HP48G and the HP49G but I prefer the 49 for most of the time. > X > Hey! You stole my answer and my ending line! I'm really sorry about that ;-). > It was me who is supposed to tell how good the 49G is costwise > compared to the 48GX and that only the keyboard leaves > something to mur-mur about. Sorry again;-). > Well, people just has to try the both keyboards at the same time > and then tell if they think that the 49G is good enough > (remember to set a shorter key-bounce time 600 ->KEYTIME) > since it offers much more capability I agree. But the keyboard for the HP48G/GX is in my eyes better for pure numbercrunching. I always make mistakes if I try to key in some numbers very fast on the 49 (Although I reduced KEYTIME) as I used to do on the 48. But in general I also think that the HP49G is a good deal better than the 48 series. Roman > VP - 49BORG > PS: If you can afford it: Buy them both! ==== On Mon, 10 Jun 2002 00:28:15 +0200, THIBAULT Samuel >I'm going through the ROM interrupt handler again, and I really wonder >what the user interrupt handler which address is @ #86012 and #86012+10 is >used for... *after* every test, just before returning from interrupt handler. So it >may be nice for VB sync without completely disturbing the calc by >mishandling of interrupts, but I don't see it being used in docs or >progs... >Samuel Thibault I did some peeking into the 49 interrupt handler using EMU48 a while back. You're probably already familiar with most of what's about to follow but maybe it will be of use to somebody. Anyway, here is what I found out : The following are the steps taken by the 49 interrupt handler upon the reception of an interrupt : { -Set ST.14 -Note the carry state and RTN if set or RTNYES if clear -Save D1, P, carry state, arithmetic mode, SB, C.W and A.W -Check if # 8600D is nonzero and if so goto USERINT1 SAVECPU ( address # 73 ) -Save ST[0..11], B.W, D.W, R0, 1 RSTK level and D0 ( cpu save routine ends at # AD ) -Rest of interrupt handler -Check if # 86012 is nonzero and if so goto USERINT2 RESTORECPU ( address # 23F ) -Restore used CPU regs and state, clear ST.14 and RTI } USERINT1 ( address # DB ) { -Check if # 8600D is equal to # FFFFF and if so goto SAVECPU -Check if # 8600D is equal to # 86017 and if not goto SAVECPU -branch to address contained in # 8600D } USERINT2 ( address # 1E1 ) { -Check if # 86012 is equal to # FFFFF and if so goto RESTORECPU -Check if # 86012 is equal to # 8601C and if not goto RESTORECPU -Push # 23F to the RSTK and branch to address contained in # 86012 } The symbol names for the RAM addresses used here are can be found in rament49.a ( http://www.hpcalc.org/hp49/programming/entries/rament49.zip ) : UserInt1 #8600D UserInt1g #86017 UserInt2 #86012 UserInt2g #8601C ==== >I'm going through the ROM interrupt handler again, and I really wonder >what the user interrupt handler which address is @ #86012 and #86012+10 is >used for... *after* every test, just before returning from interrupt handler. So it >may be nice for VB sync without completely disturbing the calc by >mishandling of interrupts, but I don't see it being used in docs or >progs... >Samuel Thibault I did some peeking into the 49 interrupt handler using EMU48 a while back. You're probably already familiar with most of what's about to follow but maybe it will be of use to somebody. Anyway, here is what I found out : The following are the steps taken by the 49 interrupt handler upon the reception of an interrupt : { -Set ST.14 -Note the carry state and RTN if set or RTNYES if clear -Save D1, P, carry state, arithmetic mode, SB, C.W and A.W -Check if # 8600D is nonzero and if so goto USERINT1 SAVECPU ( address # 73 ) -Save ST[0..11], B.W, D.W, R0, 1 RSTK level and D0 ( cpu save routine ends at # AD ) -Rest of interrupt handler -Check if # 86012 is nonzero and if so goto USERINT2 RESTORECPU ( address # 23F ) -Restore used CPU regs and state, clear ST.14 and RTI } USERINT1 ( address # DB ) { -Check if # 8600D is equal to # FFFFF and if so goto SAVECPU -Check if # 8600D is equal to # 86017 and if not goto SAVECPU -branch to address contained in # 8600D } USERINT2 ( address # 1E1 ) { -Check if # 86012 is equal to # FFFFF and if so goto RESTORECPU -Check if # 86012 is equal to # 8601C and if not goto RESTORECPU -Push # 23F to the RSTK and branch to address contained in # 86012 } The symbol names for the RAM addresses used here are can be found in rament49.a ( http://www.hpcalc.org/hp49/programming/entries/rament49.zip ) : UserInt1 #8600D UserInt1g #86017 UserInt2 #86012 UserInt2g #8601C Hope this helps... ---------------------------------------------------------------------------- --- Jonathan Busby - before replying. ==== Off topic; doesn't work. _______________________________________________ ==== > Pressing [ON] simultaneously with [ + ] or [ - ] > will change the contrast of the screen. > Are you working in direct sunlight? > VP I work 50% of the time on the field and 50% in an office > environment. Do you mean fluorescent lighting by an office environment? Have you thought about changing the color of your tubes? If you have cheap office light tubes, the color is blueish, and too close to the calcs screen color. Markus ==== > I'm very sorry you can't enjoy one of the world's best calculators. > heck, I've blown 59$ on worst things before... just wish HP would give this baby a techno makeover. Ergonomics and layout is excellent however the screen and its sluggishness just doesn't cut it in world of P4s and fibre optics... My bet is that HP will probably drop the whole calculator market as RNP junkies like myself ( and ppl visiting this ng ) are a becoming a dying breed anyways. ==== Are you sure that your calculator is in working condition? Have you tried your friends HP 48G or one at the store? I found your complaints very strange, yet they naturally depend of personal taste and experience with other calcs but still?? VP I'm very sorry you can't enjoy one of the world's best calculators. > heck, I've blown 59$ on worst things before... just wish > HP would give this baby a techno makeover. Ergonomics > and layout is excellent however the screen and its > sluggishness just doesn't cut it in world of P4s and fibre > optics... My bet is that HP will probably drop the > whole calculator market as RNP junkies like myself > ( and ppl visiting this ng ) are a becoming a dying breed > anyways. > ==== What I really miss for my HP48G is a small program that will let you edit the first stack object in the command line, just as if you typed it in or used the CMD function (let's you recall the 4 last commands). Does anyone know such a program, or maybe a very simple way to make it??? Thanx in advance, Artur ==== This one I don't understand... I have used up-arrow to go to the Interactive-Stack I have used VISIT and lately - in my HP49G - I have used the HISTory key to get old items while editing... Can you explain the precise steps what you did and what you want to do, please? What I really miss for my HP48G is a small program that will let you edit the > first stack object in the command line, just as if you typed it in or used the > CMD function (let's you recall the 4 last commands). Does anyone know such a program, or maybe a very simple way to make it??? > ==== Could someone advice me as to using rechargeable batteries for my HP48GX and HP 49G? HP manuals advice us not to use them, but I am getting sick and tired and poor of buying batteries: for my calculators, radios, flash lights, clocks, toys, .... and what have you. So I intend to buy a (fairly universal) battery charger with batteries, but I want to be sure that AAA rechargeables will do the job, particularly during back up and other heavy jobs. Your advice and experience will be highly appreciated. YEB ==== I've used NiCd's in my HP49 for over a year. The only problem with them has been that they give little warning that their getting low so I carry another set of charged batteries with me. I get about 2-4 weeks our of a charge. drain the batteries but doesn't give problems. Just remember once the low batery warning comes up you only have a few more hours or maybe minutes when using high powered operation. I use them all the time but don't go as far as trusting them to reflash the Calc, which is about the only time my calc has normal batteries in it. It may be my imagination but the screen contrast doesn't seem quite as good with the rechargables. It's hard to tell so it's no really an issue. I put it down to the NiCd's being only 1.25V. I was thinkong of trying AAA NiMh rechargables which seem to have a higher capacity but that would mean a new charger but would probably double the charge. Stephen N > Could someone advice me as to using rechargeable batteries for my HP48GX and > HP 49G? > HP manuals advice us not to use them, but I am getting sick and tired and > poor of buying batteries: for my calculators, radios, flash lights, clocks, > toys, .... and what have you. > So I intend to buy a (fairly universal) battery charger with batteries, but > I want to be sure that AAA rechargeables will do the job, particularly > during back up and other heavy jobs. > Your advice and experience will be highly appreciated. > YEB ==== > Could someone advice me as to using rechargeable batteries for my HP48GX and > HP 49G? > HP manuals advice us not to use them, but I am getting sick and tired and > poor of buying batteries: for my calculators, radios, flash lights, clocks, > toys, .... and what have you. > So I intend to buy a (fairly universal) battery charger with batteries, but > I want to be sure that AAA rechargeables will do the job, particularly > during back up and other heavy jobs. > Your advice and experience will be highly appreciated. > YEB Ik gebruik NiMH batterijen die ~1.25V leveren. En laadt ze gewoon op met een NiCd lader. Ze raken ongeveer in een maand leeg. Ik heb wel altijd een setje gewone batterijen bij me want de lowbat waarschuwing is erg kort (~2minuten) -- This message was written with 100% recycled electrons Pivo ==== An answer in English for the community will be highly appreciated. -- ================================================ BELLANTONE MAURIZIO - IT consultant, free programmer ================================================ ==== > X When I enter the list { integratesign } and use Nosy, I can see that > this is at 3D434. But if I enter 0 1 X SQ EXP X, then press > integratesign (RS TAN), then use ->LST 5 GET and then pressing Nosy, I > can see that this is xINTEGRAL 3D47E, so the two can't be the same. > The intagral sign in an expression (which already was given to the CAS > and the CAS couldn't integrate?????) is not the same with the integral > sign on the keyboard. > BTW: was there a similar thing with pi, etc...? > VP Hmm, I have somehow managed to mess up my HP49G to the point that entering pi just put the *name* pi but not the built-in command pi on the stack, and so SIN(pi) wouldn't simplify to 0, etc. But unfortunately (or fortunately) I can't remember how I did that. I must really take a protokoll of each session ;-) By the way, I meesed it up again another way, but this time I know how. I was playing around with your observation about the buggy APPLY in FOR loops. I tried APPLY in a FOR I NEXT loop and I got an error, then I tried the same in a FOR I STEP loop and it worked. But since then the lokal variable I still exists and though I have previously an expression in I, when I type I and enter this, I get the contents of the unvisible local I of the loop. Strange! I can only get rid of itwith [ON]-[C]. Greetings and be ware of unvisible low flying variable noses ;-) ==== > X When I enter the list { integratesign } and use Nosy, I can see that > this is at 3D434. But if I enter 0 1 X SQ EXP X, then press > integratesign (RS TAN), then use ->LST 5 GET and then pressing Nosy, I > can see that this is xINTEGRAL 3D47E, so the two can't be the same. > The intagral sign in an expression (which already was given to the CAS > and the CAS couldn't integrate?????) is not the same with the integral > sign on the keyboard. > BTW: was there a similar thing with pi, etc...? > VP Hmm, I have somehow managed to mess up my HP49G to the point that entering pi just put the *name* pi but not the built-in command pi on the stack, and so SIN(pi) wouldn't simplify to 0, etc. But unfortunately (or fortunately) I can't remember how I did that. I must really take a protokoll of each session ;-) By the way, I meesed it up again another way, but this time I know how. I was playing around with your observation about the buggy APPLY in FOR loops. I tried APPLY in a FOR I NEXT loop and I got an error, then I tried the same in a FOR I STEP loop and it worked. But since then the lokal variable I still exists and though I have previously an expression in I, when I type I and enter this, I get the contents of the unvisible local I of the loop. Strange! I can only get rid of itwith [ON]-[C]. Greetings and be ware of unvisible low flying variable noses ;-)