A119 I would like to have a small textviewer (mini font with 33 chars/line) which recognizes compressed (bz) and uncompressed text. and additionally is able to show and scroll grobs and bz compressed grobs. ==== For your first problem, in RPN mode do [[2 , 2] [2 , 2]] 'A' STO [[2 , 3] [3 , 2]] 'B' STO A B * and it should work out all right. Instead of the last line, you can also do 'A*B' EVAL For your last problem, A and B are both interpreted as columns. Try ==== The problem is that you use an algebraic to multiply your matrices. An algebraic expression is not allowed to contain matrices. (But a matrix is allowed to contain algebraic expressions) To multiply them you could use: ==== ==== That's for sure! But in my case I'm updating my skill I'm used to SysRPL (and a bit ML) programing from my 48sx, my problems comes with the new engines (those ones from the gx or the 49). That's a problems with the \\ books in general, one buys a computer book and when finally understand it appears a new revision/update and you must buy it again there aren't upgrades in \\ the books world! Sorry for the OT. Luis. -- ==== Perhaps you could answer a related question. The first field in an inputform of mine requires the user to give a file name. I currently have the field as an DF and the user presses EDIT and either types in the name of the file, or Presses VAR and selects the file. I would like my inputform to bring up the VAR menu (isn't it %2 ==== sorry but I can't help you because that is beyond my knowledge. Maybe someone else knows the answer, because as I told before, my Input Forms are too simple, just some kind of Front-Ends for other programs. Anyway I found out a way to validate an input using the field message handler. Stuff like only allowing values between 1. and 3. I knew this \\ could be done, but just now I know how to do it. If anyone wants a simple example I'll post it. Bye! -- Beto ONE FALSE ONE InputLine ; ==== I have an exam in 2 days but that can't stop me of thinking about my funny HP49, playing around with it. :-) At the moment I'm writing my own font-type (already uploaded on hpcalc as MathFont rev. 0.3) and I'd like to know of which chars it's better don't change 'cause they are used in the calculator for special meanings (such \\ the derivative and antiderivative symbols). I receive some tips on the NULL \\ char in my previous post. Also I know the linefeed char 10. Actually I've a doubt on char 170 & 186: the first seem to be e superscript derivative sign with underscore and I have no idea of any special uses belonging to it; the second one is something like an underscored degree symbol. Anyone know where they are used? Are they special chars (like the + symbol, ==== It's unanimous! I will now use Jazz for debuging sysRpl! I had no ==== try it and tell us xDDD Add a coment!!! Now it's possible Ricardo -- ==== Kennt jemand ein Statistik-Programm f\\237r den HP49 bei welchem man mit Klassen rechnen kann? Danke im Voraus! ==== Theoretisch auf www.hpcalc.org;-) Kann man sich aber auch leicht selber programmieren. Ich musste mal (auf dem PC) eine Normalverteilung f\\237r eine statistische Auswertung programmieren. Als Check habe ich es auch auf dem 48er gemacht. Anzahl Klassen und Klassenbreite als Variablen, alternativ dazu Wertebereich definieren. Werte in den einzelnen Klassen mitteln, weiss ich nicht mehr genau, verf\\237ttern. ==== There are two reasons: 1 - GOTO is a really harmful instruction. Get used to writing good ==== That's the ideal solution for my purposes only I didn't know you could \\ that! -John Mart, II I have tried PARTFRAC and all the trig or log/exp commands without ==== ==== ==== ==== They are exactly what I was looking for. I also can't figue out a clean way to exit. Preferably using ON (i know i \\ should turn of interrupts, it just hasn't worked on exit) TW SAVE LA 00021 LC 00019 R0=A A R1=C A *BEGIN D0=8068D C=DAT0 A RSTK=C C=R1 A C=C+C A A=C A CSL A A=A+C A C=RSTK C=C+A A A=R0 A B=A P ASRB A ASRB A C=C+A A D0=C D1=80319 CDEX A LC 00011 {A=DAT0 X DAT1=A X D1+3 D0+34 C=C-1 A UPNC} CDEX A D0=C RSTK=C P=0 *DECALAGE: LC 3 C=C&B P P=C 0 C=P 15 *ADRESSE.DONNEES.SPRITE GOSUB DATAS.SPRITE $4040E0A0E111F111F191F111FF1FE322E323E764E7E72020202020202020E1E1 *DATAS.SPRITE C=RSTK D1=C P=0 *COPY.LINE A=0 A C=0 A C=DAT1 B B=C A D1=D1+2 A=DAT1 B D1=D1+2 A=C S A=A-1 S GOC DECALAGE.OK A=A+A X B=B+B X A=A-1 S GOC DECALAGE.OK A=A+A X B=B+B X A=A-1 S GOC DECALAGE.OK A=A+A X B=B+B X *DECALAGE.OK C=DAT0 X B=-B-1 X C=C&B X C=C!A X DAT0=C X D0=D0+34 P=P+1 GONC COPY.LINE P=0 INTOFF { LA 004 LC 040 OUT=C=IN ?C=A A SKIPYES { A=R0 A A=A+1 A R0=A A } LA 001 LC 040 OUT=C=IN ?C=A A SKIPYES { A=R0 A A=A-1 A R0=A A } LA 008 LC 040 OUT=C=IN ?C=A A SKIPYES { A=R1 A A=A+1 A R1=A A } LA 002 LC 040 OUT=C=IN ?C=A A SKIPYES { A=R1 A A=A-1 A R1=A A } EXIT } GOSUBL BEGIN ==== ^^^^^^^^^^ :-) -- ==== ==== -- The set of solutions is never empty. Two solutions together form a new problem. -- Mycroft Holmes right, because of rom-pointers, however writing a \\uEQUAL\\ function \\ should not be too complex. of course it was just a hint: I think however, it does not go too far from truth, since a unit is not a random composite, neither a random equation: \ \\ it has some more structure, and it's not big in general, so hash collisions might (!) happen with lower probability. As a mathematician (I don't know if you are too), part of my work (*every* mathematician's work) is to detect and remove inconsistencies. An hp48 accepts 1_X * 1_X = 1_X^2 (and possibly 1_X - 1_X = 0: I think the \\-\\ tests if tow objects are the same --- not sure about units) but not \ \\ 1_X + 1_X. This is inconsistent: it's not a tremendous bug, of course, and I don't really think anybody should loose time fixing it, but IMHO somebody should have killed it from the beginning... a number. the demonstration above applies only to units, not to symbolics. I can't say I agree. I could put this in a new signature ;-) --- the set of similar cases should be the largest possible but all cases must be handled (in the most efficient way). --- Mycroft Holmes To prove efficiency/inefficency is left to the reader as an exercise... -0500) body (DO NOT SEND ATTACHMENTS) and unit addition is fundamental to the nature of operations with units, and that fundamental inconsistency can not be removed by trapping special cases of special arguments. There is no reason to demand consistency when the underlying processes are inconsistent, rather than anything about the particular sets of arguments to those processes. That's why I think it wasteful to bother trying to inspect the arguments to make special cases for special arguments. If you want to inspect arguments to make things seem consistent, then why don't you ask for unit multiplication and division to also inspect each argument to see whether it is undefined, and then give the same error? After all, you will then get the same error for *all* arithmetic operations on undefined units -- which will be totally consistent! Once again, any inconsistency is due to the fact that the *rules* for unit multiplication/division are inconsistent with the rules for unit addition/subtraction, and not to anything about the arguments themselves (so I say that there is no point ==== Your program: << DO 1E-14 H / C + UNTIL KEY END var H that only exists in the inner most program, and has nothing to do with the first. When this inner most program exits it is the first local var H that exists, not the one with the changed value. To do what you want, you could use: << DO 1E-14 H / C + 'H' STO H 7 DISP UNTIL KEY END Here, the command sequence 'H' STO doesn't create a new global variable, because it was defined as local before. Once a local variable is defined, you can do all things (STO, STO+ etc) with it in its defined procedure, as you can do with global variables. Hope it helped, Nick Barely tested, but I think that it works. James ==== Hmm, maybe it should become a (Not-So-)Mini-Challenge ... and maybe even with a prize ... That's right. It's what the AUR says (see the entry CHR). Your're right again. Simply discarded. It's funny seeing what is displayed when one keeps typing in things after the null character! Bye. ==== Al d\\216 Sat, 30 Jun 2001 11:01:13 -0500, John H Meyers Great. This (and the following by Dennis Straley) is the answer I was looking for. Now everything seems clear (almost). It's time to sysRPLing again... Bye, Marco /-----------------------/ Marco Tinarelli - Bologna - Italy tittiXXYYZZ_tt@tin.it (togliere XXYYZZ dall'indirizzo per ==== You can actually quote just about anything - just add a ' in front of an object (even a command), and it'll only be pushed to the stack instead of being evaluated. When you have objects in a composite (list, program aso.), they'll automatically get quoted. If you COMPEVAL the composite, only \\ quoted objects inside the compiste will remain unevaluated - it's just like \\ UserRPL in composites. -0500) body (DO NOT SEND ATTACHMENTS) Re: SysRPL and anonymous local variables 2000/07/26 http://groups.google.com/groups?ic=1&selm=8lmb0d%247lp%241%40nnrp1.deja.com Re: BINDing to fixed addresses 1999/04/08 http://groups.google.com/groups?ic=1&selm=7ei3ke%242lf%241%40nnrp1.dejanews.\ \\ com Re: NULLLAM strangeness 1996/08/07 http://groups.google.com/groups?ic=1&selm=4u9207%24hip%40news.cc.utah.edu http://groups.google.com/groups?ic=1&th=c08074b9f574a7f6 (see last) Re: Nested NULLLAMS and other ?'s 1996/05/16 http://groups.google.com/groups?ic=1&selm=m4mn3387ray.fsf%40lk-hp-24.hut.fi http://groups.google.com/groups?ic=1&th=512b828fc63a24d4 (thread) http://groups.google.com/advanced_group_search ----------------------------------------------------------- ==== I ran into these problems when I first started programming in sysrpl too. \ \\ Then, I read a post by Mika (I believe) saying something about how he had used other \ \\ \\fixed addresses\\ to bind temporary objects to. He said that in ALG48, he had \\ used the explanation was that it saved codespace and it was actually faster. I'm guessing, John, that some of the links below are related to that, but I couldn't open them.. Anyway, for the original poster... try this: TRUE TEN NDUPN DOBIND ... ABND ... I have used this structure in my own programs and it works great. I will \ \\ note that I only program on the HP48, so I don't know (but it's doubtful) that it \\ would be any different for the HP49. For more information, the link below will take \ \\ you to the thread I am talking about (I should know since I was the one that \\ started that thread!) -- ==== ==== After reading an actual explination posted in a follow-up I will admit that this problem was caused by \\bad programming.\\ However, this, can I say, aparent inconsistancy can baffle someone not as well versed in sys as yourself. I should hope that I never try to lay the blame for one of my mistakes on a calculator! I merely meant that I sometimes get frustrated with the calc. I am not claiming to be an expert at working this calc, but come-on! ==== Of course - I was probably a bit blunt in my post. Sorry Well, if the calc can't compile somthing that it just could, I still \\ believe ==== believe work ASM2 Maybe the last character is not @, perhaps there has been appended space or some characters. However, consider the following: Be aware that a non-correct sysrpl call can easily partly owerwrite (poke into) other objects in memory. Usually this will render the object invalid, but if some charcters within a text string ( program source) is changed, then the string may still be valid, and you're lucky, it wll not compile anymore. (If you're got bad luck, it will compile and then you're due for some long hours.) Gjermund Skailand -0500) body (DO NOT SEND ATTACHMENTS) If your newsreader truncates or word-wraps the lines, that may be the problem (paste the cut-off part back); thread links are shorter, and should all work for everyone. ----------------------------------------------------------- ==== I eventually got it. For some reason, their http server was down for a while. I could resolve the host and even ping it, but their http server ==== I have build a program like the following, that takes 3 reals from the stack: :: CK&Dispatch # 111 :: ERRSET :: 3PICK ID TestOutVr 3PICK ID TestOutVr OR IT :: \\Error Message\\ EXITMSGSTO ERRJUMP ; .... .... ; ERRTRAP :: GETEXITMSG FlashWarning ; ; ; @ TestOutVr is a program that takes a real and give TRUE if this real is outside a specified interval, and FALSE elsewere. In my plans if error occours these things must happen: 1) a warning appear with my defined text 2) program exits 3) On the stack remains the three reals of the input. All is exept point 3). On the stack, in fact, remains only two of the ==== Is there any command in SYS RPL which returns a random number? Ricardo -- http://xie121.infovia.xtec.es/~rblasco \\Un\\222os, hermanos linuxeros\\ -- -- Thomas Rast t.rast@iname.com ==== ==== %RAN will do, it doesn't take arguments and returns a real between 0. - 1. BTW, which document are you using to program in SysRPL? because if %RAN is not there, you should change it to any other one that \\ I'm sure will be more complete. Bye! -- ==== when the warning for low battery comes up on the hp48g+, how much longer \\ can i still use the calculator? just need to know in case this happens during a day before an exam or something (i would replace the btteries of course, \\ but ==== when the warning for low battery comes up on the hp48g+, how much longer \\ can ==== It definitely depends on the type of batteries you use... I know when I use Nickel-Cadmium rechargables, it lasts for perhaps another 1-2 minutes only... (tha'ts why I always carry spare batteries with the calc)... I think regular, alkaline batteries should provide a much earlier \\ warning... anyone know? -Dheera Venkatraman dheera@nospamdheera.net [ remove nospam ] can a but use warning... during particularly infrared I/O. You might try a print command (PR1, for example) before your exam, and if it triggers a low battery warning, then change the batteries. Of course, you could simply install batteries known to be good before your exam, setting aside the partially used batteries for use when a low battery warning would be less of a problem. !NO CODE !RPL :: 0LastRomWrd! CK0NOLASTWD :: GARBAGE MEM DROP HOMEDIR ; ; @ -0500) body (DO NOT SEND ATTACHMENTS) -0500) body (DO NOT SEND ATTACHMENTS) ==== What's the point of doing a GARBAGE in order to enter in the empty \\ directory ? ==== Completely superflue, indeed. On the other hand, it may be important to directly return to the start is usually left with HOME or UPDIR. Both set HOME, but do not return properly, in general. Therefore, I've the following assignment at leftshift UpArrow, a dead key in default mode: :: TakeOver EditExstCase CMD_DeB_LINE (that's what UpArrow does in edit mode) ID reverseP (reverseP means here symbol 182) dLISTcase COMPEVAL PATHDIR SWAP %2 InitMenu% ; This program toggles the current directory with (which has no own key and remembers on PATH) is not used as a global variable. I repeat what JHM said already many times: Unexperienced that a direct setting is not necessary at all. There are for storing and recalling without any need to enter it. ==== ==== The filer of rom 1.19-5 has a bug when it has to display messages boxes. The easiest way to try this is make one of the following things: 1) with filer copy one object to a destination (dir, IRAM, ERAM or flash) then select the same object and copy again to the same place. A overwriting prompt will appear ask to overwrite the file. If at this prompt we \\ answer YES, NO or RENAME, the filer works well around it, this is, YES overwrite the file, NO Cancel the operation and skip to next file, RENAME renames to another name, Now if you choose CANCEL, a warmstart occours. In earlier version this \ \\ option put you again in the filer window and with a Interrupted message. 2) Copy files up to fill a port. Two or three big libs is enough to fill port 1. I copy the extable to the port 1, a dir with extable (to avoid search another big lib) and copy the lib XEQ48LIB from eql27 that gets 60Kb I think). Before copying the last object (the object that will give error (insufficient memory), try to copy in the command line, like 'obj' RCL :1: obj STO then try with the filer. Your hp will restart. I have noticed this behaviou a few months ago, but only now I know what makes the restart. Jos\\216 Machado ------------------------------------------------------------ http://MailAndNews.com ==== Jos\\216 Alberto Novais Machado a \\216crit : ^^^^^^ Not the key CANCEL but the menu choice ABORT. Agree with you, same problem on my calc (1.19-5 without CAS update) Hope this is already updated on the 1.19-6 and does not introduce new ==== ==== So please release 1.19-6 so we can all use it. -- C. Richard G. Helps ==== I have written relatively many programs for the HP49G in the past, and I have gotten very little feedback on them. I have gotten a lot of feedback on SymbToolz and InFormBuilder, a little on AutoSimp49 and Bool49, but nothing on Polynomial, TrigFunc49, Matrix49 and ==== At least I'm using them a bit. Unfortunately (for helping you) I'm not doing a lot of math not engineering for the moment so my use is not intensive. What I can say based on my experience (in my studies and work) \ \\ is that your software is great and very useful. Like you are looking for feedback I'm going to talk one by one. * InformBuilder. You know it! It's a must have for any developer. I know that Debug2 maybe supersedes it but it's a bit buggy. I've used InformBuilder a lot and the only thing I could suggest it one more confirmation on exit or always left the data on the stack because I've needed to rework my forms a few times because my mistakes typing ;) * Symbtoolz. It was incredible when I discovered it. Since Polynomial lib I'm waiting \\ for an updated version. Now I'm finding problems to execute the examples in the documentation, don't know if the problem is the new rom or my flags settings. I like a lot the inequalities solving. * Polynomial. It's a great work. It could be one of my more used except for the existence of Neopolys and its Z-transfor so normally end up using last one :( * Bool. It's very specific but very useful. I got my own one for the same (not public). I can only spec a Karnaugh simplification (just what my one doesn't do also). * TrigFunc. I can't speak. I've got it in the 49 but I haven't used it. * Numeric. Great. It recovers some of the functionality of SymbToolz and adds more. * Matrix. It's a good work. I only have it for a few days! I'm planning to use it for implement some methods I've got in mind. * AutoSimplification. I've got it today. I can't say anything apart it looks very interesting. What can I say? Go on! Your libraries are one of the best I've seen and I'm in the 4X world since 91! Anything! Just a good or bad! I've got a hundred access to my 49 page, apart of the ones getting it from hpcalc.org and only 2 feedbacks! Go on! We are here waiting your wonderful utilities. Luis. -- --------------------------------------- Luis Morales Boisset ==== I use two of your libs everyday. Here they are: InFormBuilder: What can I say? It is almost the same feeling as creating a dialog window with ResEdit on the Mac. :-) Bool49: This should be built in. Great!!!!! ==== Other Well, you're welcome :-) I just can't imagine that all my released programs are that perfect :-) The only program I feel I really should improve, is SymbToolz. That will come in due time - I'm finishing, as I have said, NSOLVE, and then maybe the plotter or SymbToolz. ==== Ok, I'll check up on this. In know of at least one particular annoying problem - if you press CANCL to the exit dialog box, IFB exits without a trace of the work done. This is inconvenient. for the SymbToolz stopped working when the CASDIR was invented. It'll get totally reworked. The v1.19.x ROMs do solve some inequalities by itself, but not as many as SOLVE2 did. existence I find Neopolys quite buggy - you can't for example solve all examples in the docs; straightforward to implement Z-transformation in the HP49G, since what does it have to do? Discrete Z-transformation depends on the sample frequency, and even then there are a couple of methods to use. How should the \\ transform look like? Is it a series transformation? I'm not sure I'll implement it, but it may happen. I've thought about implementing a simplification algorithm (probably Quine-McClusky), but I'll not implement Karnaugh map display. This is because it gets very unhandy to display when exceeding three dimensions. Great. for Ok. If you think of any commands that may be missing, just tell me, and \\ I'll see if I can implement them. I'm Ahh, that can't be, but thanks anyway :-) I can think of Erable, Alg48, matrix editor and the scheduler.... Exactly. Ok, and I'm open for suggestions :-) ==== Then I should give up my job here i Denmark? That would be hard :-) ==== ==== I'm sure your programs are being used by a lot more people. Those people doesn't read comp.sys.hp48 but do go to www.hpcalc.org and even if you have problems installing them (Debug49 is quite difficult to install for a mortal like me :)), but rarely for saying \\Hey, your program is great, Keep going, your programs are great! Bye! -- Beto ==== ==== This is why there is a ~ (about) before the -60 ==== My HP49 doesn's solve that: ==== No, it does not. The solution involves the antiderivative of the sinc function (SIN(X)/X), and since this hasn't got a closed form, the calcs can't derive a solution. MathCad says that the solution is ==== I'm bought a new hp 49g. I try to do a program in it. But it gets very bad. I read the user guide but it didn't help. What I want to do is to calculate the tides. The way to do this is to sum some cosines and sinus terms. In matlab I do like this : data=[ 8.5046 6.7615 0.50587 1.1944 -0.11647 0.26252 -1.165 2.3615 0.5236 -0.32849 -2.5536 0.24335 0.066916 0.80281 0.26108 1.2458 -0.62544 0.49636 0.01053 0.12103 0.019164 0.91813 -0.086445 0.52503 0.031161 0.15164 0.54133 -0.97489 0.94903 1.0117 0.21625 0.23448 1.0295 -0.084629 0.023375 1.0472 0.27356 0.3254 1.5176 0.17535 -0.45707 1.5353 -0.076164 -0.25591 0.23385 -0.75083 0.18763 0.25301 -0.10588 0.26029 0.22435 0.28834 0.28733 0.29118 -1.0023 0.46997 0.5073]; t=linspace(1,48,100); for i=1:length(aa) psi(i,:)=data(i,1)*cos(data(i,3).*t)+data(i,2)*sin(data(i,3).*t); end H=sum(psi); plot(t,H) (data is the known constant) and the last 6 rows sum them, but how do I ==== The for loop is wrong it is: for i=1:length(data) psi(i,:)=data(i,1)*cos(data(i,3).*t)+data(i,2)*sin(data(i,3).*t); end DOLIST sigmaLIST Notes: - The indentation is just for clarity. - sigma is the Greek Sigma (sum) character. You can access sigmaLIST on MTH 3 2. This should give you H on the stack. HTH Thomas -- -- Thomas Rast t.rast@iname.com -- -- ==== The linear programming aplet you refer to could be mine. Did you get it \\ from http://members.iinet.net.au/~ccroft/ \\The HP38/39G HOME view\\? If so, \ \\ could you give me a few more details on the problem? What action produces the message? Or is simply running it enough? -- Colin Croft ==== Right, the TGV port to the HP49 is broken; for some reason its commands can't be used by typing their name. I have a tweaked version (I think that splitting and CRLIBbing the library is sufficient) on my calculator, but I don't know whether the authors want modified versions to be published. This is normal (it shows that TGV isn't a built-in command, but is part of a user-libarary). David Haguenauer http://zap.to/hsimpson ==== All programs that use greyscale pictures simply put a succession of bit planes in a grob, as far as I know. I suppose thay not all programs put the planes in the same order. EDITG for the HP49 uses a modified GROB HP48 too) as a grey grob. It is a regular frob (same prolog), which format indicates the actual size of the object (right after the prolog), but the dimensions of the two-plane image (i.e. for a 131*64 greyscale image, the object will be about 2KB in size, but the dimensions will be written as 131*64, not 131*128 as with other viewers/editors). You're probably referring to Gdream32, which is available on www.hpcalc.org (like over 99% of the software for HP calculators). David Haguenauer http://zap.to/hsimpson ==== ==== Doing some trial and error I got: with \\/\\ meaning \\OR\\. So it needs 4 arguments and return 3 objects. Could be any mixture of the ==== If your into PDAs, like I am, you would read Brighthand.com. Well, on the report of the PC Expo,Steve bush knows of a new linux-based handheld modeled after the HP 48/49 calculator, but he his not allowed http://www.brighthand.com/html/event/pcexpo2001_page3.html \\Hewlett Packard As at previous computer shows we've attended, Hewlett Packard continues to devote little time and space to its Jornada handhelds. Jornada seem to be only a spoke in the big HP wheel, a blip on its ==== ==== I am looking for grob drawers in order to create the levels of metal-slug, the neogeo game. you don't need to know anything about programming, and you don't really \\ need talent of drawer. if you want to be involved in the creation of a great \\ game by spending a few minutes when you have nothing else to do send me a message, I really need your help and it's damn easy. there the explanations (in french, sorry, but if you want i can approximately translate it, and just by looking at the picture everithing \ \\ is ==== www.multimania.com/ansnum/msl49.htm 9hnne7$cp1$1@wanadoo.fr... ==== now in english: ==== ==== ====