8649 === Subject: Re: STR-> vs. OBJ-> > In addition, a string is the only valid input type for STR- whereas many object types can be processed by OBJ- in various completely different ways, e.g. > supply each of the following to OBJ- and see what happens in each different case: 2 3 + > ( 2 3 ) > :2:3 > { 2 3 } > [2 3] > [[2 3]] > '2+3' Whenever you are expecting only a string to be supplied, > and want to be sure to allow no other object type, > you might prefer to use STR- > both OBJ-> and STR->. It is interesting that '2+3' OBJ-> returns 2 3 2 +. I was expecting 2 + 3 3. === Subject: Re: STR-> vs. OBJ- It is interesting that '2+3' OBJ-> returns 2 3 2 + > I was expecting 2 + 3 3 Well, algebraic objects are not, internally, structured as they look when displayed; they are actually executable RPN programs, in which arguments come first and operators afterward, but the internal decompiler (->STR, reverse of what we're discussing) converts them back to displayable strings which look again like original algebraic formulas, reversing what the compiler (STR->) did to the original input text. When you input an algebraic formula, it generally appears on the stack just as input, but in fact it has undergone two great transformations, having first been compiled to produce an internal RPN program, then immediately decompiled to display again as you expect it to appear, but like any great artist, making the entire performance look as if nothing was happening at all :) The action of OBJ-> upon algebraic objects is supposed to be explained in the AUR, though IIRC it was better explained somewhere in the HP48 manuals. IIRC the topmost (lowest priority) operator is returned on level 1, then a count of its arguments above that, then the arguments themselves. By applying OBJ-> recursively to any algebraic objects among the returned arguments, one may unwind the entire structure of any algebraic object, to create an equivalent RPN program, as mentioned in this old discussion: The following program, mentioned in that post, does exactly that, and is almost identical to the original, supplied with HP48G[X][+] to produce an equivalent RPN program (as a list), without any internal bints or SysRPL commands, Etc. as may be left by a simple ->LST (in Development library 256) in the HP50G/49G+/49G: << OBJ-> IF OVER THEN -> n f << 1 n FOR i IF DUP TYPE 9 == THEN ->RPN END n ROLLD NEXT IF DUP TYPE 5 =/ THEN 1 ->LIST END IF n 1 > THEN 2 n START + NEXT END f + >> ELSE 1 ->LIST SWAP DROP END >> '->RPN' STO Example (all HP48/49/50): '2+3*4^GCD(15,20)' -> { 2 3 4 15 20 GCD ^ * + } whereas ->LST (HP49/50) is not recursive at all, and leaves bints, xFCNAPPLY (invisible) and even an internal algebraic object in the list. Note that the program above must be stored in a variable having the same name as used within the program to call itself. So ask a short question, get an entire history as in Little Big Man (1970) http://www.imdb.com/title/tt0065988/ http://www.imdb.com/title/tt0065988/amazon http://www.imdb.com/title/tt0065988/trivia http://www.imdb.com/title/tt0065988/awards [note Chief Dan George] http://www.imdb.com/name/nm0313381/bio There's always more than meets the eye [r->] [OFF] === Subject: Re: STR-> vs. OBJ-> I just coded this a few days ago (another way to skin the cat) %%HP: T(3)A(R)F(.); << -> a << a { } -> l << << CASE DUP TYPE 9 == THEN OBJ-> 'l' STO+ 1 + -> n << WHILE 'n' DECR REPEAT a EVAL END >> END 'l' STO+ END >> -> a << a EVAL >> l a >> DROP > It is interesting that '2+3' OBJ-> returns 2 3 2 + > I was expecting 2 + 3 3 X The following program, mentioned in that post, does exactly that, and is almost identical to the original, supplied with HP48G[X][+] to produce an equivalent RPN program (as a list), without any internal bints or SysRPL commands, Etc. as may be left by a simple ->LST (in Development library 256) in the HP50G/49G+/49G: << OBJ-> IF OVER THEN -> n f << 1 n FOR i IF DUP TYPE 9 == THEN ->RPN END n ROLLD NEXT IF DUP TYPE 5 =/ THEN 1 ->LIST END IF n 1 > THEN 2 n START + NEXT END f + >> ELSE 1 ->LIST SWAP DROP END >> '->RPN' STO Example (all HP48/49/50): '2+3*4^GCD(15,20)' -> { 2 3 4 15 20 GCD ^ * + } whereas ->LST (HP49/50) is not recursive at all, and leaves bints, xFCNAPPLY (invisible) and even an internal algebraic object in the list. Note that the program above must be stored in a variable having the same name as used within the program to call itself. X [r->] [OFF] === Subject: Re: STR-> vs. OBJ- In addition, a string is the _only_ valid input type for STR- whereas many object types can be processed by OBJ- in various completely different ways, e.g. > supply each of the following to OBJ- and see what happens in each different case: 2 3 + > ( 2 3 ) > :2:3 > { 2 3 } > [2 3] > [[2 3]] > '2+3' Whenever you are expecting only a string to be supplied, > and want to be sure to allow no other object type, > you might prefer to use STR- > both OBJ-> and STR->. It is interesting that '2+3' OBJ-> returns 2 3 2 +. I was expecting 2 + 3 3. Internally 'Algebraic' is an RPL object === Subject: Announce: HPGCC2/HPAPINE for OS/X posting-account=zYTuBQoAAAC_bXzGjGVT5rxv8bOnpefP rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4,gzip(gfe),gzip(gfe) Hello C Programmers, I have created an hpgcc-osx.tgz tarball similar to the Windows and Linux tarballs used in my tutorial (http://sense.net/~egan/hpgcc). Just follow the tutorial but replace hpgcc-linux with hpgcc-osx. I will have an updated tutorial soon with Vista and OS/X specific notes. Just a few notes: 1. Intel Macs only (sorry). 2. HPAPINE (simulator) is supported. 3. X11 and Xcode must be installed (in that order). Both should be on your installation media. Only needed for HPAPINE. 4. Only OS/X 5.5 (Leopard) was tested. Ping me if you have any questions/issues. === Subject: Re: Announce: HPGCC2/HPAPINE for OS/X posting-account=HQcyKwkAAAAfyVM-3k2cuaNBENqZAwPy Gecko/2008102920 Firefox/3.0.4,gzip(gfe),gzip(gfe) > Hello C Programmers, HPAPINE contains a 50g simulator for testing 50g C code? - Gaak - === Subject: Re: Announce: HPGCC2/HPAPINE for OS/X > HPAPINE contains a 50g simulator for testing 50g C code? - Gaak - Testing source code, yes. HPAPINE requires that you recompile your code. If you want an ARM-based emulator for testing HPGCC ARM binaries then consider resurrecting this project: x49gp.sourceforge.net (http://www.brainaid.de/people/ecd/x49gp/ index.html). === Subject: Re: Announce: HPGCC2/HPAPINE for OS/X posting-account=zYTuBQoAAAC_bXzGjGVT5rxv8bOnpefP rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4,gzip(gfe),gzip(gfe) > HPAPINE contains a 50g simulator for testing 50g C code? > - Gaak - Testing source code, yes. ÊHPAPINE requires that you recompile your > code. ÊIf you want an ARM-based emulator for testing HPGCC ARM > binaries then consider resurrecting this project: > x49gp.sourceforge.net (http://www.brainaid.de/people/ecd/x49gp/ > index.html). I forgot to add: To get the source code type: cvs -d:pserver:anonymous@x49gp.cvs.sourceforge.net:/cvsroot/x49gp login cvs -z3 -d:pserver:anonymous@x49gp.cvs.sourceforge.net:/cvsroot/x49gp co -P x49gp === Subject: Re: Announce: HPGCC2/HPAPINE for OS/X posting-account=Q2CEjQoAAACue5ZDDhUeRzv1w0u8hxZE rv:1.9.1b1) Gecko/20081007 Firefox/3.1b1,gzip(gfe),gzip(gfe) > I have created an hpgcc-osx.tgz tarball similar to the Windows and > Linux tarballs used in my tutorial (http://sense.net/~egan/hpgcc). > Just follow the tutorial but replace hpgcc-linux with hpgcc-osx. ÊI > will have an updated tutorial soon with Vista and OS/X specific notes. TW === Subject: Re: Announce: HPGCC2/HPAPINE for OS/X > Hello C Programmers, I have created an hpgcc-osx.tgz tarball similar to the Windows and > Linux tarballs used in my tutorial (http://sense.net/~egan/hpgcc). > Just follow the tutorial but replace hpgcc-linux with hpgcc-osx. I > will have an updated tutorial soon with Vista and OS/X specific notes. Just a few notes: 1. Intel Macs only (sorry). > 2. HPAPINE (simulator) is supported. > 3. X11 and Xcode must be installed (in that order). Both should be > on your installation media. Only needed for HPAPINE. > 4. Only OS/X 5.5 (Leopard) was tested. Ping me if you have any questions/issues. > Ping! Are you going to support HPGCC 3 ? === Subject: Re: Announce: HPGCC2/HPAPINE for OS/X <2F%Xk.98392$_03.87916@reader1.news.saunalahti.fi> Le samedi 29 novembre 2008, Veli-Pekka Nousiainen a .8ecrit : > Ping! Are you going to support HPGCC 3 ? By the way... Being the author of HPAPINE, I guess the best solution would be to merge HPAPINE and HPGCC projects. I mean, the hpgcc libraries code should be fully portable. Any C code using the hpgcc libraries should be able to compile either for a HP49+/HP50 or for any computer. The only non-portable parts of the hpgcc libraries are the hardware related parts. Most of the port is already done in HPAPINE. After all, the HPAPINE code is only a minor modification of the original HPGCC libraries code. IMHO, it is worth merging HPGCC and HPAPINE. Unfortunately, I don't have much time left to work on this. === Subject: Re: Announce: HPGCC2/HPAPINE for OS/X <2F%Xk.98392$_03.87916@reader1.news.saunalahti.fi> posting-account=zYTuBQoAAAC_bXzGjGVT5rxv8bOnpefP rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4,gzip(gfe),gzip(gfe) On Nov 28, 5:03Êpm, Veli-Pekka Nousiainen > Hello C Programmers, > I have created an hpgcc-osx.tgz tarball similar to the Windows and > Linux tarballs used in my tutorial (http://sense.net/~egan/hpgcc). > Just follow the tutorial but replace hpgcc-linux with hpgcc-osx. ÊI > will have an updated tutorial soon with Vista and OS/X specific notes. > Just a few notes: > 1. ÊIntel Macs only (sorry). > 2. ÊHPAPINE (simulator) is supported. > 3. ÊX11 and Xcode must be installed (in that order). ÊBoth should be > on your installation media. ÊOnly needed for HPAPINE. > 4. ÊOnly OS/X 5.5 (Leopard) was tested. > Ping me if you have any questions/issues. > Ping! Are you going to support HPGCC 3 ? After HPGCC 3 releases to the public, and if time permitting, I may work on a tutorial for that as well with a combination of old and new examples (e.g. the 2.5x speed of HPGCC3 has made large integer factorization more interesting). Most of the HPGCC 2 based code works with HPGCC 3 with minor changes. Since there is no HPAPINE equivalence at this time I still code for HPGCC 2 first, then update for HPGCC 3 after testing is done. E.g., a code snippet from one of my projects that I can compile for HPAPINE, HPGCC 2, or HPGCC 3: #ifdef HPGCC2 sys slowOff(); // 75Mhz, bummer n = sat pop zint llong(); #ifdef HPAPINE n = sat pop real(); // sat pop zint llong does not work #endif #else cpu setspeed(192 * 1000000); // 192Mhz n = sat3 pop int(4); #endif === Subject: Memory card to hp 50g 3.5.30729),gzip(gfe),gzip(gfe) The HP 50G calculator uses SD cards. Is it possible to use other types of cards? Has anyone tried to use MMC cards? Valfisio. === Subject: Re: Memory card to hp 50g > The HP 50G calculator uses SD cards. > Is it possible to use other types of cards? > Has anyone tried to use MMC cards? Yes, look my two memory cards (SD and MMC): http://i35.tinypic.com/2wn38s6.jpg I have verified that both works correctly. - Gaak - === Subject: Re: Memory card to hp 50g posting-account=_oCSzAoAAAB7yYuxA-qEbYywlmh1EFjt 5.1),gzip(gfe),gzip(gfe) MMC card should work okay. MMC cards will normally work in SD slots okay. SD cards were designed off of MMC cards, but are normally a little thicker. So and SD card may not fit in a MMC slot, but a MMC card should fit and work okay in a SD card slot. And there have been several reports of MMC cards being used in the HP 50G. === Subject: Re: Memory card to hp 50g posting-account=Q2CEjQoAAACue5ZDDhUeRzv1w0u8hxZE rv:1.9.1b1) Gecko/20081007 Firefox/3.1b1,gzip(gfe),gzip(gfe) > The HP 50G calculator uses SD cards. > Is it possible to use other types of cards? > Has anyone tried to use MMC cards? I know I had an MMC card that worked several years ago, there may be some new revisions that cause it to stop working. . . HPGCC programs that use the hpgcc filesystem won't work with MMC cards. TW === Subject: Re: Memory card to hp 50g >> The HP 50G calculator uses SD cards. >> Is it possible to use other types of cards? >> Has anyone tried to use MMC cards? I know I had an MMC card that worked several years ago, there may be > some new revisions that cause it to stop working. . . HPGCC programs that use the hpgcc filesystem won't work with MMC > cards. I have used a Nokia Communicator 9110 8 MB MMC and I currently have a SanDisk 64 MB MMC &Û#Û& they can not be read by the nice SDfiler l can copy the files I need (using a card-reader in my PC) to a SanDisk 64MG SD, which works fine with the SDfiler Subject: USB cable for HP48 Anybody seen a hp48 to usb cable? I thought I saw one somewhere, but didn't save the link. And now cannot find such. Yes I know I can get hp48 to serial, and serial to usb. But I thought I saw hp48 to usb (direct). Then again, maybe it was a missprint... === Subject: Re: USB cable for HP48 > Anybody seen a hp48 to usb cable? I thought I saw one somewhere, but didn't save the link. ÊAnd now > cannot find such. > Yes I know I can get hp48 to serial, and serial to usb. ÊBut I thought > I saw hp48 to usb (direct). ÊThen again, maybe it was a missprint... The hp48gii has a USB port and therefore a USB cable. For any other 48 you will need a serial to USB adapter. I recommend Keyspan since it works with all popular OSes (Windows, Linux, OS/X). === Subject: Re: USB cable for HP48 > Anybody seen a hp48 to usb cable? Assuming you are talking about the 48S/SX/G/G+/GX, and not the 48gII, the calculator doesn't speak USB, so any cable that connects it to the PC would have to have USB to serial adapter chip in it. The second generation of the 48gII, on the other hand, natively supports USB and includes a standard USB cable to link it with a computer. While it is certainly possible to build a custom cable with a USB end and a 48S/G four-pin end and a box in the middle with the USB circuitry, I think you'll find that any cable advertised for this purpose would just be a regular four-pin to nine-pin serial cable bundled with a USB to nine-pin serial converter. A USB to serial adapter costs around $5-10, so assuming you already have a serial cable, there isn't much added cost to link your calculator with a modern computer. Eric Rechlin === Subject: Re: USB cable for HP48 > Yes I know I can get hp48 to serial, and serial to usb. ÊBut I thought > I saw hp48 to usb (direct). Yes, and this works fine. Look my adapter to convert USB to RS232: http://www.calculadorashp.org/foros?func=view&catid=2&id=43176 ... acquired recently, but direct connection USB to HP48?. Uhmm, I don't know. - Gaak - === Subject: Yet another memory management issue i've been testing, lately, some compressed library mechanisms. The idea is simple, the library can be seen as a read-only directory, where each variable/program is kept compressed, and does uncompress itself on the fly when being used. An implementation of this scheme can be found here : http://www.hpcalc.org/details.php?id=6649 It works pretty well, at least with the included BZ compressor. However, this idea has nothing specific regarding BZ, so i tried another compressor, LZD http://www.hpcalc.org/details.php?id=7032 This is where problems begins. For some reason, when the library ends, it stays into an infinite loop. Also sometimes, during intensive usage, the infinite loop can also be triggered. So from experience, this looks like a problem with the garbage collector. This problem has already been discussed in this forum, and seemed solved. Indeed, BZ source code provided some very valuable hints towards the rights direction, and LZD is fine from main memory, even during intensive usage scenario. But from within a compressed library, it does not work so well. So i tuned the memory management routine of LZD to look like BZ (it already was pretty close), and even changed every minor detail, just in case. To no avail, behavior is the same. So i guess i need a helping hand here. For illustration, a minimal demo library can be downloaded here : BZ version : http://img44.xooimage.com/files/2/8/c/lib.bz-895ff9.hp LZD version : http://img44.xooimage.com/files/2/2/7/lib.lzd-896000.hp Only one thing can be done : press EXIT button. BZ version will exit, and LZD version will stay into infinite loop. Should anyone be interested, the Source Code of the decoder ULZ can be found here : http://img42.xooimage.com/files/3/c/6/ulz-895f83.s For comparison, the UBZ source can also be downloaded here : http://img46.xooimage.com/files/f/9/a/ubz-896007.jazz The first part deals with memory management. Since the last changes, it is a near copy-paste from UBZ. But well, maybe i'm not looking into the right direction to find a solution to this problem. Yann === Subject: Re: Yet another memory management issue posting-account=eF2f0AoAAAB2spBRiZOs91ItDKLGDCIk Gecko/2008102920 Firefox/3.0.4,gzip(gfe),gzip(gfe) Some interesting tidbits : The program creates a directory in HOME, called PHAN.DIR. There is a launcher in it, called PHAN. Technically, it is just a call to the XLIB pointer. Using the LZD version : When the program is started from the directory, then, on exit, there is an infinite loop. When the program is started from the library menu, then it is possible to leave without triggering the infinite loop. BUT you'll noticed a decreased memory (MEM) and a general slowdown of the calculator. A reset (ON-C) clears the problem. This points towards unfinished business. Some context are still alive somewhere, maybe some TEMPOB are not freed. Well, this still does not explain why the program works flawless with BZ. === Subject: Re: Yet another memory management issue Hi On 2008-12-01 00:03:56 +1100, Yann said: > > Using the LZD version : > When the program is started from the directory, then, on exit, there > is an infinite loop. All of this sounds like corrupted memory and not proper memory management -- They who would give up an essential liberty for temporary security, deserve neither liberty or security (Benjamin Franklin) === Subject: Re: Yet another memory management issue All of this sounds like corrupted memory and not proper memory management > Well, yes, certainly, but i wish i could get something more precise. That's why i provided the source code, to have a look at inner working. Keeping in mind that LZD works flawless from normal main memory, i have to consider this problem to be Library specific. Take an example, say a large list, which is replaced in compressed format by the following program : :: CompressedString XLIB-to-ULZ ; When this program is called (by an XLIB) and automatically executed : 1) It puts on stack level one - a copy of CompressedString ? - a pointer to the memory location of CompressedString (into the Library then) ? (let's consider the library is into main merged memory for the time being) 2) the XLIB pointer automatically starts ULZ (included in the same library). - Memory allocation for the result object is done using CREATETEMP. - Stack level.1 object CompressedString is replaced by the decoded result. - Question : what happens to the initial level.1 object ? If it is a copy of CompressedString, is it correctly unallocated at next garbage collection ? Note that none of the question above is ULZ specific : the mechanism is the same for UBZ, or any other decoder (UTNT for example). Why it works for BZ and not LZD is a mystery to me. === Subject: Re: Yet another memory management issue posting-account=eF2f0AoAAAB2spBRiZOs91ItDKLGDCIk Gecko/2008102920 Firefox/3.0.4,gzip(gfe),gzip(gfe) By the way, should it be of interest, i've rewritten Source Code of ULZ & UBZ to be more accessible. Comments are in english, indentation does no longer depends on TAB, line by line explanation, so this should help reading through it. ULZ : http://img42.xooimage.com/files/4/4/c/ulz-8a469b.s UBZ : http://img42.xooimage.com/files/3/7/e/ubz-8a4737.jazz I'm still struggling to find any difference between ULZ & UBZ memory management though... === Subject: Re: List Processing SUBJECT: List Processing > PROBLEM: Create new directory without overwriting existing directory. > SOLUTION: > << NEW DIRECTORY { { 1 0 } OE V } INPUT OBJ$B*(B { A B C D } DUP SIZE 0 $B*(B new list n i << 1 n START list 'i' INCR GET THEN # 12Ah DOERR END NEXT > @ new = new directory @ list = directories @ n = # of directories @ i = counter > QUESTION: Can anyone think of a more efficient way to do this in UserRPL? === Subject: LINE/TLINE posting-account=fTr5rAoAAABk_9D5bX9ibK5fdwDmX_Zd SV1),gzip(gfe),gzip(gfe) I'm having trouble using the LINE/TLINE command: I convert to binary both lists (representing the extremes of the line) on the stack with the R->B command and type LINE/TLINE. The result gets messed up (stays in the wrong place). What's wrong? Am I missing something? Daniel. === Subject: Re: LINE/TLINE posting-account=ky6NnQoAAAAl8HjjF10EUMKbzXiIKhTR Gecko/2008102920 Firefox/3.0.4,gzip(gfe),gzip(gfe) On Nov 30, 3:07Êpm, Daniel Vianna I'm having trouble using the LINE/TLINE command: I convert to binary > both lists (representing the extremes of the line) on the stack with > the R->B command and type LINE/TLINE. The result gets messed up (stays > in the wrong place). What's wrong? Am I missing something? > Daniel. explaining what you expect to see? Have you tried using complex user coordinates instead? When using complex user coordinates for example: (0,0) (1,1) LINE you will see a line drawn in PICT from the center of the screen to user coordinate x=1, y=1 on the screen, when using binary coordinates with the R->B command 0,0 is the top left of the screen, and positive x is from left to right, and positive y is from top down to bottom, in pixels, with x range of 0-131 and y range of 0-80 on the immediate viewable screen. Just guessing but perhaps you're expecting the binary coordinates to act as user coordinates? Jacob === Subject: Re: Factoring expresions with variables posting-account=0KIWawoAAADaGL33AJEor2iA9ORJJ8kJ Gecko/2008102920 Firefox/3.0.4,gzip(gfe),gzip(gfe) On 28 nov, 13:16, Veli-Pekka Nousiainen On 27 nov, 16:17, Veli-Pekka Nousiainen > is that j just j > or the imaginary unit, which is i in the HP 50g? > expresion in terms of some of the variables for example: > [(a+b*j)*j+(b/j*c)]/[(b*j-a)+c*j)] into something like this in terms > of j: ( )*j/[a+b( )*j] > its the imaginary unit i, do you know how to do what i want? > __________________________ > Give the answer, I may try... ?? === Subject: Re: Factoring expresions with variables > On 28 nov, 13:16, Veli-Pekka Nousiainen >> On 27 nov, 16:17, Veli-Pekka Nousiainen >> is that j just j >> or the imaginary unit, which is i in the HP 50g? >> expresion in terms of some of the variables for example: >> [(a+b*j)*j+(b/j*c)]/[(b*j-a)+c*j)] into something like this in terms >> of j: ( )*j/[a+b( )*j] >> its the imaginary unit i, do you know how to do what i want? >> __________________________ >> Give the answer, I may try... ?? What kind of factoring answer exactly do yopu want? It's not clear for me: you have just empty () I tried using first i i-mposs-i-ble then SUBStituted j=i again jmossjble I say you can't === Subject: Re: Factoring expresions with variables > expresion in terms of some of the variables for example: > [(a+b*j)*j+(b/j*c)]/[(b*j-a)+c*j)] into something like this in terms > of j: ( )*j/[a+b( )*j] > its the imaginary unit i, do you know how to do what i want? Does your (b/j*c) mean b(/j*c) or (b/j)*c ? === Subject: Re: Factoring expresions with variables posting-account=0KIWawoAAADaGL33AJEor2iA9ORJJ8kJ Gecko/2008102920 Firefox/3.0.4,gzip(gfe),gzip(gfe) > expresion in terms of some of the variables for example: > [(a+b*j)*j+(b/j*c)]/[(b*j-a)+c*j)] into something like this in terms > of j: ( )*j/[a+b( )*j] > its the imaginary unit i, do you know how to do what i want? Does your (b/j*c) mean b(/j*c) or (b/j)*c ? its just an example, i want to get in that case j multiplying the other things === Subject: HPGCC 2 Tutorial Updated with Vista, OS/X, More Examples posting-account=zYTuBQoAAAC_bXzGjGVT5rxv8bOnpefP rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4,gzip(gfe),gzip(gfe) Highlights: 1. Added Part 3 - More Examples. Unlike Part 2, the examples in this section will not have fully annotated code. Only HPGCC features not previously documented will be annotated. 2. Added Vi.8fte Accelerated. First Part 3 example. This example will demonstrate how to use libfsystem with your SD card to read and write an array too large to fit into memory, text cursor positioning, SD card benchmarking, how to generate Excel 3D bar plots, and how to generate dynamic UserRPL code to be processed after the C program exits. 3. Added 2GB SD card support. 4. Updated Cygwin notes to support Vista. 5. Added OS/X w/ HPAPINE support. 6. Tarballs recreated with 2GB support and new documentation. Merry Christmas. Link: http://sense.net/~egan/hpgcc === Subject: Re: Replacements rubber feet on HP 50g > Rip the feet off in advance, and super-glue them back on :) > This is exactly what I've done (after one fell off but was retrieved) and it's worked great. :-] However, you'll need to remove all the original sticky-but-not-sticky- enough glue first, from the feet and the little holes the feet go into. === Subject: Re: unwanted approx mode posting-account=7ypjXwoAAAA6Phe0dE2NwavGiqMYGDdw Presto/2.1.1,gzip(gfe),gzip(gfe) > For some reason lately I have been prompted to go into approx mode > for trivial calculations that shouldn't require it. > For example, I want to expand this: > '(200.0E-6*X+1)*(10+2.000E-3*X)' > But I get prompted for approx mode. > Any idea how to stay in exact mode? XQ EVAL Ê(heaven contains only pure integers, reals are fallen sinners :) To keep the existing real-valued coefficients, however: Rewrite the CAS, or perhaps: PUSH -120 SF > '(200.0E-6*X+1)*(10+2.000E-3*X)' EVAL > POP Or just return to Exact mode afterward via RightShift[hold]Enter It does seem like it was working without mode change before, but maybe I am imagining things. This is the 50g, just fyi. Christoph === Subject: Re: unwanted approx mode >>> For example, I want to expand this: >>> '(200.0E-6*X+1)*(10+2.000E-3*X)' >>> But I get prompted for approx mode. > It does seem like it was working without mode change before Not after standardizing CAS flags via CASCFG (but you could always flip every single flag, one at a time, to see whether it changes its mind; of course flipping flag -105 will succeed :) The trigger for requiring mode change to approximate appears to be any reals in the expression, which is why it no longer happens after XQ, which replaces all reals by rationals. > This is the 50g, just fyi. The ROM matters more than the box. The 2.xx ROMS are assembled for original HP Saturn CPU and work in all HP49G (which has a Saturn CPU) and 49G+/50G/48Gii (ARM CPU with emulator for Saturn, with a few original ROM instructions or addresses overlaid by short, special emulator hooks). Original Saturn ROMs are also used in Emu48/Debug4x for Windows, which has an Intel style CPU emulator for Saturn, rather than an ARM emulator for Saturn (not an Intel emulator for ARM, to then emulate the Saturn, which is why HPGCC [native ARM code] doesn't run on Emu48). Emu48 does recognize some of the new emulator hooks, which are just special Saturn instructions that originally were never used. The beep patches, for example, are hooks for Emu48 to recognize, to relay beeps to Windows, which lacks the original hardware piezoelectric beeper. So when I tested on Emu48, it should act the same as 50G (and 49G+, and 48Gii, and 49G -- all one ROM, under God :) [r->] [OFF] === Subject: Re: What SD card? Can I use a card bigger than 2GB in 50G? no === Subject: Re: Yet another memory management issue Ok, i believe i got it. Sorry, my bad, i was looking the wrong way all along. There was nothing bad in the Mem.Management of the decoder. All problems came from a broken archive within the library tested. As it did not happened in previous torture tests, and was crafted in such a way that it got undetected (right checksum), i came to the wrong conclusion that it was related to the library mechanism. The broken archive instructed the decoder to write ONE nibble too far. This single nibble acted as a timebomb. There was no instant effect, only a lot later, when Garbage collector is triggered, and with random effect. So, what's the lesson ? Well, certainly the problem itself is fixed, but more importantly the decoder is now changed in order to detect any memory write outside of allocated slot, whatever the reason. This protection is generic, so it will be triggered no matter what, especially if the compressed sourcefile is broken (imagine an error during transmission for example). This is probably significant enough to deserve a new public release. I'll spend a few days to test that out properly, upgrade the torture test with more weird cases, and probably submit the result on hpcalc.org. Once again, sorry for bothering with wrong questions === Subject: Re: Yet another memory management issue > Ok, i believe i got it. Sorry, my bad, i was looking the wrong way all along. > There was nothing bad in the Mem.Management of the decoder. All problems came from a broken archive within the library tested. > As it did not happened in previous torture tests, and was crafted in > such a way that it got undetected (right checksum), i came to the > wrong conclusion that it was related to the library mechanism. The broken archive instructed the decoder to write ONE nibble too far. > This single nibble acted as a timebomb. > There was no instant effect, only a lot later, when Garbage collector > is triggered, and with random effect. So, what's the lesson ? > Well, certainly the problem itself is fixed, but more importantly > the decoder is now changed in order to detect any memory write outside > of allocated slot, whatever the reason. This protection is generic, so > it will be triggered no matter what, especially if the compressed > sourcefile is broken (imagine an error during transmission for > example). This is probably significant enough to deserve a new public release. > I'll spend a few days to test that out properly, upgrade the torture > test with more weird cases, and probably submit the result on > hpcalc.org. Once again, sorry for bothering with wrong questions BUT we all learned from this! === Subject: Update compression software posting-account=eF2f0AoAAAB2spBRiZOs91ItDKLGDCIk Gecko/2008102920 Firefox/3.0.4,gzip(gfe),gzip(gfe) Hello everyone as suggested in an earlier post ( ), the LZD compression software for HP48, 49 & 50 has been updated to version v0.3f, and can be downloaded at web site : http://lzd.webhop.org/ It will be submitted to hpcalc.org too. This version is a recommended update for all users, due to its ability to detect and deal with broken archives. Technically, should the decoder be instructed by the broken archive to write beyond its allocated memory slot, an exception is triggered, execution is stopped and an overflow alarm issued. In spite of the necessary extra-checkings, this new version is faster Indeed, code size has even reduced a little. So this is all benefits there. I would like to use this opportunity to ask if, with nowadays calculators, compression software are still usefull to anyone ? With SD Cards now extremely cheaps, and able to store huge amount of data, one has to wonder if there is any reason left for compression. On the other hand, main memory is still limited to 256KB though... Your comments welcomed. === Subject: HP 40gs Rocks. What do you think? === Subject: Re: PREDY on HP40gs doesn't work?? ) However, I'm playing around with the Statistics aplet, and I find that > the PREDY function does not work as I think it should. I'm able to get > the fit curve displayed, and predicted Y values are shown on the plot > view. But if I go to the home view and try to use the PREDY function, > it returns wrong values. Why? I think I'm following all the > instructions; I'm using only one fit so there's no issue with the last > curve being fitted. > Ahh... It seems the CAS must be in exact mode. When it's in approximate mode, PREDY seems to evaluate the variable X. Problem solved, but it would be nice if this were mentioned in the manual. THeo === Subject: Re: PREDY on HP40gs doesn't work?? > However, I'm playing around with the Statistics aplet, and I find that > the PREDY function does not work as I think it should. I'm able to get > the fit curve displayed, and predicted Y values are shown on the plot > view. But if I go to the home view and try to use the PREDY function, > it returns wrong values. Why? I think I'm following all the > instructions; I'm using only one fit so there's no issue with the last > curve being fitted. Ahh... It seems the CAS must be in exact mode. When it's in > approximate mode, PREDY seems to evaluate the variable X. Problem solved, but it would be nice if this were mentioned in the > manual. THeo .92heo, I'm afraid you are in the wrong forum. HP is not the common denominator here. RPN/RPL is. === Subject: Re: PREDY on HP40gs doesn't work?? > .99heo, I'm afraid you are in the wrong forum. HP is not the common > denominator here. RPN/RPL is. No, he is in the right newsgroup. The 40gs is indeed RPL-based. And even if it weren't, this is still the de facto best place. After all, he's probably more likely to get an answer here than in comp.sys.handhelds. Please try to be a little more friendly so as not to scare away users from an already-dying newsgroup. Eric Rechlin === Subject: Re: PC emulating ARM 9 emulating Saturn posting-account=zYTuBQoAAAC_bXzGjGVT5rxv8bOnpefP rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4,gzip(gfe),gzip(gfe) On Dec 9, 11:34Êam, Veli-Pekka Nousiainen > PC emulating ARM 9 emulating Saturn soon? http://www.brainaid.de/people/ecd/x49gp/index.html === Subject: Re: PC emulating ARM 9 emulating Saturn posting-account=sOAX1QkAAAC-FcySTSbz29Uk8huUtFRz CLR 1.1.4322; .NET CLR 2.0.50727),gzip(gfe),gzip(gfe) On Dec 9, 1:34Êpm, Veli-Pekka Nousiainen > PC emulating ARM 9 emulating Saturn soon? Slow....slower than PC emulating Saturn. Why add the additional emulation layer? If you want to be able to run HPGCC, have two emulators: PC emulating ARM9, PC emulating Saturn. S.C. === Subject: Re: PC emulating ARM 9 emulating Saturn posting-account=y6ooGwkAAACoZd171Nq6oGIjQC5mB4Q9 .NET CLR 2.0.50727; .NET CLR 3.0.04506; .NET CLR 3.5.21022),gzip(gfe),gzip(gfe) On Dec 9, 1:34Êpm, Veli-Pekka Nousiainen > PC emulating ARM 9 emulating Saturn soon? what for? PC emulating Saturn is 99.9% functional. HPGCC programs can be debugged on a PC using the HPAPINE API simulator (with some extra work, I admit). I'd rather ask for exactly the opposite... remove all emulation layers of all kind and give me a portable VM (PC, ARM9, OMAP, etc.) capable of running a SysRPL compatible language on any platform. Once that's done, porting the rom shouldn't be as hard as it seems. All sysRPL code in the rom could be recompiled to run in the new VM, and the few routines that use Saturn assembler can be rewritten for the new platform. Most of the ML routines would be useless anyway: 1) memory management: who needs banks, flash pointers, etc. on a modern flat-address-space platform. 2) screen: who wants to stick to the 131x64/80 pixels screen? 3) keyboard, sound, timers and other basic hardware routines must be portable anyway. 4) What else? Perhaps a few basic BCD math routines in assembler, that are useless once you get rid of the 4-bit packed BCD numbers from the Saturn. When you think about it, once you are able to run all the basic sysRPL commands (which takes a lot of work, admittedly) you have 80% of the work done. And that would really have a good math performance, compared to what you are asking for (a PC struggles to emulate an ARM at full speed, and the ARM9 can only emulate a Saturn at 2x at full speed). What about the existing code base in hpcalc.org? Well... most of it is written in sysRPL, so it should run after recompilation without too many changes. I don't see any of this happening in the near future... not coming from me for sure. But since you are wildly asking for things... I thought I might ask too. Claudio === Subject: Re: extending IR range first off, no I'm not trying to use my 48 to cheat. second, i don't recall but i heard the either the transmitter or receiver is crippled. > > I would like to extend the range of the IR transmitter built into the HP > 48, which I've heard can be done by removing a resistor. The rumor > I've heard is that the calculator IR device was designed to have a 10' > range but would exempt it from the education market because it would > make it possible to share answers and thus cheating. Is this rumor true > and if so which resistor needs to be removed. I've looked at online > pictures of the PCB but don't see a resistor near the IR component. > > Eric U. > umeeguy [at] yahoo [dot] com === Subject: Re: extending IR range > I would like to extend the range of the IR transmitter built into the HP > 48, which I've heard can be done by removing a resistor. To my knowledge, the infrared transmitted in the 48 is not crippled. I seem to recall using my 48 as a remote control with success at least 5 meters from the target receiver. Unless you use an external amplifier, I don't think there's any feasible/reasonable way to increase the range of the transmitter. The 48's infrared receiver, on the other hand, is limited. Maybe that is what you are remembering hearing about. Eric Rechlin === Subject: Re: extending IR range posting-account=T97vPQoAAAC9kmDX8CtmaQ4OwIkCSTTi 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0),gzip(gfe),gzip(gfe) I would like to extend the range of the IR transmitter built into the HP > Ê Ê48, which I've heard can be done by removing a resistor. The rumor > I've heard is that the calculator IR device was designed to have a 10' > range but would exempt it from the education market because it would > make it possible to share answers and thus cheating. Is this rumor true > and if so which resistor needs to be removed. I've looked at online > pictures of the PCB but don't see a resistor near the IR component. Eric U. > umeeguy [at] yahoo [dot] com I take it that you've got an exam coming up? N === Subject: Re: Factoring expresions with variables is that j just j or the imaginary unit, which is i in the HP 50g? > expresion in terms of some of the variables for example: [(a+b*j)*j+(b/j*c)]/[(b*j-a)+c*j)] into something like this in terms > of j: ( )*j/[a+b( )*j] > === Subject: Re: Factoring expresions with variables posting-account=0KIWawoAAADaGL33AJEor2iA9ORJJ8kJ Gecko/2008102920 Firefox/3.0.4,gzip(gfe),gzip(gfe) On 27 nov, 16:17, Veli-Pekka Nousiainen > is that j just j > or the imaginary unit, which is i in the HP 50g? > expresion in terms of some of the variables for example: > [(a+b*j)*j+(b/j*c)]/[(b*j-a)+c*j)] into something like this in terms > of j: Ê ( Ê )*j/[a+b( Ê )*j] > its the imaginary unit i, do you know how to do what i want? === Subject: Re: Factoring expresions with variables On 27 nov, 16:17, Veli-Pekka Nousiainen > is that j just j > or the imaginary unit, which is i in the HP 50g? > expresion in terms of some of the variables for example: > [(a+b*j)*j+(b/j*c)]/[(b*j-a)+c*j)] into something like this in terms > of j: ( )*j/[a+b( )*j] > its the imaginary unit i, do you know how to do what i want? __________________________ Give the answer, I may try... === Subject: Re: Replacements rubber feet on HP 50g > I lost one the rubber feet on my HP 50g. I would like to know if > there's any way to get a replacement. I've checked HP's website for > parts, but they don't list HP 50g as one of the products they offer > replacement parts for. They don't sell rubber feet for HP 49g. On HP > 48g's parts list, they say rubber feet are no longer supplied. > Besides I don't even know if 48g/49g's feet are identical to 50g's. > So where can I get these? Using the ARM based graphing calcs for any length of time will result in the feet falling off. All of mine no longer have feet. Hopefully the adhesive has changed since then. . . but I doubt it. I haven't noticed any improvement in keeping the unit on a desk with feet on or off. TW === Subject: Re: Replacements rubber feet on HP 50g > Using the ARM based graphing calcs for any length of time will result > in the feet falling off. All of mine no longer have feet. Hopefully > the adhesive has changed since then. . . but I doubt it. Rip the feet off in advance, and super-glue them back on :) > I haven't noticed any improvement in keeping the unit on a desk > with feet on or off. I recommend keeping one's feet on one's desk, except when boss (or spouse) is looking :) === Subject: Re: Replacements rubber feet on HP 50g posting-account=GVUxYAoAAAAdOTkvz69xDfu_dTC2GGXu Gecko/2008102920 Firefox/3.0.4,gzip(gfe),gzip(gfe) > I haven't noticed any improvement in keeping the unit on a desk with > feet on or off. The problem is if you only have three feet, it's like wobbly table. I've now crafted a replacement foot out of an eraser, and painted it black with a marker. The result is pretty decent, but I'd still like to know if it's possible to get real feet, to use instead of a rough- edged foot. === Subject: Re: Replacements rubber feet on HP 50g identical on the 48gII 49g+ 50g ask here if someone has a broken 49g+ the keyboard maybe was bad but it still stands on good feet > I lost one the rubber feet on my HP 50g. I would like to know if > there's any way to get a replacement. I've checked HP's website for > parts, but they don't list HP 50g as one of the products they offer > replacement parts for. They don't sell rubber feet for HP 49g. On HP > 48g's parts list, they say rubber feet are no longer supplied. > Besides I don't even know if 48g/49g's feet are identical to 50g's. > So where can I get these? === Subject: Re: Indefinite Loops > I'm a little confused about what I can or can not > do with a DO UNTIL END loop. This goes back > to my previous post about searching a list for > a directory. I was at first trying to use a DO > loop to search a list and was thinking I need > to exit the loop under two conditions: > 1.) I encounter a directory with the same name. > 2.) I've searched through the entire list and there > was no match. > I was trying to use DO...get objects from list, > list has been searched END. My test clause > used the logical OR function but this didn't > work as I expected. Does this mean the test > clause can only use something like n 100 > ? The test can be as complicated as you want, but should leave either a 1 ( or any other nonzero number value) for TRUE or a 0 for false on the stack just before END. Note that tests return 1 for TRUE and 0 for FALSE, but the HP's recognize any non-zero number as a TRUE for test purposes. You might try a little debugging by putting a HALT just before the END of your DO UNTIL END loop to see whether you are getting what you expect. Then left-shift OFF will continue the program to the next halt or to the end of program, whichever comes first. === Subject: Re: Indefinite Loops folder? I put everything directly to the root let me fix that one... it's working now! I think you need to make your instructions foolproof... :-) On Nov 27, 10:31 am, Veli-Pekka Nousiainen I can't make it work on my SD > What, HLP49? What does the problem look like? I tested it every which way and if the folder HLPSD is on the SD card root, it should be a go. Also, check the config program and make sure it isn't looking for the files in port 2. Bill === Subject: Re: Indefinite Loops <1kCXk.97688$_03.18138@reader1.news.saunalahti.fi> InfoPath.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 1.1.4322; .NET CLR 3.0.04506.648),gzip(gfe),gzip(gfe) On Nov 27, 2:13Êpm, Veli-Pekka Nousiainen > folder? > I put everything directly to the root > let me fix that one... > it's working now! > I think you need to make your instructions foolproof... > :-) QUICK START FOR THE 49G+/50G CARD READER VERSION: -Using a card reader, copy library L1758 and the folder HLPSD to your SD card. What more can I say? Bill === Subject: Re: Indefinite Loops On Nov 27, 2:13 pm, Veli-Pekka Nousiainen > folder? > I put everything directly to the root > let me fix that one... > it's working now! > I think you need to make your instructions foolproof... > :-) QUICK START FOR THE 49G+/50G CARD READER VERSION: -Using a card reader, copy library L1758 and the folder HLPSD together with it's contents to your SD card. What more can I say? Verify that your SD has now this structure HLPSD H02 ... H16 === Subject: Re: Indefinite Loops > folder? > I put everything directly to the root > let me fix that one... > it's working now! > I think you need to make your instructions foolproof... > :-) > Ê ÊQUICK START FOR THE 49G+/50G CARD READER VERSION: Ê Ê Ê -Using a card reader, copy library L1758 and the folder HLPSD to > your > Ê Ê Ê ÊSD card. What more can I say? Bill on my 49 g+. It's so easy to do with an SD card reader! === Subject: Re: Posting Code > OpenOffice's version of Word is totally compatible and far friendlier, > with better features (it can even export PDF files) > http://www.openoffice.org/ You can also print anything as a PDF with CutePDF Writer (Freeware, although Pro versions are also sold) http://www.cutepdf.com/ This installs as a Windows printer whose output goes to a file, hence it can process anything that any program prints (even MS Word, if you still use it) -- Several turkeys that I neither shot nor ate have thanked me today -- happy day of grace to all. === Subject: STR-> vs. OBJ-> posting-account=5jQj0AoAAAAGAGJcqkkpunLMBpVi1N5o 2.0.50727; .NET CLR 3.0.04506.30),gzip(gfe),gzip(gfe) I would like to know if there is any advantage using STR-> versus OBJ-> after the INPUT command if the input will always be a real number. I have always used OBJ-> but I === Subject: Re: STR-> vs. OBJ-> posting-account=tK2cUgkAAABPl7vxXuLS8-X63eEhN1C3 1.1.4322; InfoPath.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648),gzip(gfe),gzip(gfe) > I would like to know if there is any advantage > using STR-> versus OBJ-> after the INPUT command if the input > will always be a real number. I have always used OBJ-> but I There is no functional advantage of STR-> over OBJ-> on strings (they both call DOSTR> for string inputs), but I personally find STR-> more human-readable, so I like to use it whenever the purpose of OBJ-> is not obvious in the program. HP only included STR-> in RPL for backward compatibility with programs from the HP-28 (which had no OBJ-> command), so I would guess that *most* people use only OBJ-> nowadays. -Cuppa Joe, bargain blend- === Subject: Re: STR-> vs. OBJ-> posting-account=5jQj0AoAAAAGAGJcqkkpunLMBpVi1N5o 2.0.50727; .NET CLR 3.0.04506.30),gzip(gfe),gzip(gfe) > I would like to know if there is any advantage > using STR-> versus OBJ-> after the INPUT command if the input > will always be a real number. I have always used OBJ-> but I There is no functional advantage of STR-> over OBJ-> on strings (they > both call DOSTR> for string inputs), but I personally find STR-> more > human-readable, so I like to use it whenever the purpose of OBJ-> is > not obvious in the program. ÊHP only included STR-> in RPL for > backward compatibility with programs from the HP-28 (which had no > OBJ-> command), so I would guess that *most* people use only OBJ- nowadays. -Cuppa Joe, bargain blend- === Subject: Re: STR-> vs. OBJ-> In addition, a string is the _only_ valid input type for STR-> whereas many object types can be processed by OBJ-> in various completely different ways, e.g. supply each of the following to OBJ-> and see what happens in each different case: 2 3 + ( 2 3 ) :2:3 { 2 3 } [2 3] [[2 3]] '2+3' Whenever you are expecting only a string to be supplied, and want to be sure to allow no other object type, you might prefer to use STR-> [r->] [OFF] === Subject: Re: Have a great Summer posting-account=tK2cUgkAAABPl7vxXuLS8-X63eEhN1C3 1.1.4322; InfoPath.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648),gzip(gfe),gzip(gfe) On Nov 20, 5:56Êpm, Veli-Pekka Nousiainen > Care to report your trip > and what did you do with the 50g > ??? Actually, there's not much to tell. I'm not much more than an interpreter, and not very good at telling stories. Well , not at making them interesting, anyway. -C3PJoe- === Subject: Re: List Processing posting-account=5jQj0AoAAAAGAGJcqkkpunLMBpVi1N5o 2.0.50727; .NET CLR 3.0.04506.30),gzip(gfe),gzip(gfe) On Nov 27, 10:21Êam, Veli-Pekka Nousiainen > OBJ-> includes automatic object identification > and calls STR-> ÊARRY-> Ê LIST-> ÊC->R Êetc > but > you tell to anyone (yourself a year later?) > reading the code the type of the expected object > thus STR-> documents the program > and errors out on a wrong type of argument > On Nov 27, 3:44 am, Veli-Pekka Nousiainen > Tip: VTYPE returns -1 for non-existing Globals > I'm sorry. I forgot for one thing. > << > ... > OBJ- > 15 @ directory > TVARS > ... > > You can use the command VAR instead of 15 TVARS to get the names > of all the variables of the current directory and thus avoid having > any be replaced. > Valfisio . > I discovered today that if a directory exists, then OBJ-> evaluates > that directory so maybe I need to put << 15 TVARS SWAP POS > IF 0 > THEN # 12Ah DOERR END >> before OBJ->. using STR-> versus OBJ-> after the INPUT command if the input > will always be a real number.- Hide quoted text - - Show quoted text - That is a valid point. === Subject: Re: 48G to 50G > I have been keeping current with most of the HP graphing calculators. > Now - retired I want to relearn some math and calc, but with a > calculator. Should I start from the begininng with the HP48 and > work through them to the 50G, or just start learning on the 50G > Tnx.. > Don Question: What is you goal? (and what have you waisted decades on before your retired. Kids???) === Subject: Re: 48G to 50G posting-account=cij9BQoAAAAY0bM8H4aaY-A6bZ6V00qQ Gecko/2008092417 Firefox/3.0.3,gzip(gfe),gzip(gfe) FYI, on Black Friday starting at 10am eastern time (8 hours from now), you can pick up a 50G for $72 with free shipping from HP. http://forums.slickdeals.net/showthread.php?t=1042651 > I have been keeping current with most of the HP graphing calculators. > I want to relearn some math and calc, but with a calculator. > Should I start from the begininng with the HP48 and > work through them to the 50G, or just start learning on the 50G You could start with both most powerful hardware (50G) > and highest quality HP manuals and other materials (for HP48 :) Keyboard layout and human factors elements were also strong on HP48 > (you could actually get to all the internal menus, once upon a time :) If math is heavy on symbolics and advanced algebra, > only the HP49/50 series has the powerful built-in CAS > (lesser precursors exist as software for HP48 series, > but one needs memory cards [now scarce] to get more out of those); > similarly for certain powerful general software > known collectively as metakernel (built into latest series, > by the original independent authors whom HP recruited). Why not work from both ends to meet in the middle, > the way tunnels, bridges, > and trans-continental railways are completed? Ê;-) http://www.nps.gov/gosp/http://en.wikipedia.org/wiki/Golden spike http://library.thinkquest.org/5983/pages/chunnel.htmhttp://en.wikipedia.org/w iki/Channel Tunnel http://www.eyewitnesstohistory.com/brooklynbridge.htmhttp://en.wikipedia.org/ wiki/Golden Gate Bridge === Subject: Re: List Processing - IFERR flag -55 caution > IFERR CRDIR > THEN DROP > END ... Everyone using IFERR should note that the inputs to an erroring user command will be returned to the stack upon an error only if flag -55 (last args) is clear. The above program snippet is therefore not guaranteed to work as expected unless the flag state is as expected. Ideally, to guarantee freedom from a potentially lurking bug, one should either pre-set the flag state or test the state in the error trap code. HP itself forgot this in some HP48G[X] demo (or TEACH) program(s), apparently since they were more expert in internals than in UserRPL :) [r->] [OFF] === Subject: Re: List Processing - IFERR flag -55 caution posting-account=iY7uIQoAAAAuLKgvClKqajiXarQcLhyc Gecko/2008102920 Firefox/3.0.4,gzip(gfe),gzip(gfe) > IFERR CRDIR > THEN DROP > END ... Everyone using IFERR should note that > the inputs to an erroring user command > will be returned to the stack upon an error > only if flag -55 (last args) is clear. The above program snippet is therefore not guaranteed to work as expected > unless the flag state is as expected. Ideally, to guarantee freedom from a potentially lurking bug, > one should either pre-set the flag state > or test the state in the error trap code. HP itself forgot this in some HP48G[X] demo (or TEACH) program(s), > apparently since they were more expert in internals than in UserRPL :) Sure, this is a fragment of a program that gets all flags set at once. BTW I have LastArg enabled at all time because I see it as an important part of the whole RPN/RPL business. === Subject: Re: Yet another memory management issue On 2008-12-01 13:03:19 +1100, Yann said: >> >> All of this sounds like corrupted memory and not proper memory management >> > > Well, yes, certainly, but i wish i could get something more precise. > That's why i provided the source code, to have a look at inner > working. It would more likely require to run the program step by step and quite frankly , I can't be bothered looking .... The symptoms you describe usually occurs when you write outside the memory you've allocated or you've allocated memory and created a non-valid object. One thing to be aware with the HP memory management, is when you allocate memory, it must be filled with a valid object, and fill that allocated zone entirely. For example. Say you allocate 1000 bytes and you fill it with an object that is 500 bytes you'll hit problems after a garbage collector. The objects must be valid too . Problem is the garbage collector when parsing which objects must be freed from memory uses SKIPOB rather than using the size field of the allocated size to parse the TEMPOB area. Rewriting the garbage collector had always been on my priority list so it wouldn't matter what object has been created and if it was valid or not ... So if you allocate memory, at the time your program exit, the memory allocated must be entirely filled and filled by a valid object (e.g. SKIPOB will properly skip the object) Jean-Yves -- They who would give up an essential liberty for temporary security, deserve neither liberty or security (Benjamin Franklin) === Subject: Re: Yet another memory management issue 9 Given your credential, i guess no one knows better how this works. And by the way, this is completely in line with an earlier discussion we had on this issue in this group, some monthes ago : The list of contributors is quite impressive, and the conclusion is the same : A temporary slot must be filled completely by a valid object, otherwise, next garbage, there is a crash. Consequently, LZD has been tested thoroughly to respect this rule, using the excellent Debug4x environment. I'm pretty positive that LZD/ ULZ are using exactly the amount of memory allocated, and end up with a valid object. Even in highly intensive & memory restricted scenario, it works as intended. Problem is, i can test it in-depth in a normal environment (using main memory); but from within a compressed library, this i cannot do step by step. At least, i don't know how to do it. However, why should it behave differently ? I can see no reason for that. So i'm tentatively turning my head towards another direction : the source compressed string. In such a program :: SourceString UBZ ; 1) The SourceString is duplicated and placed on Stack level one 2) Then UBZ/LZD starts, creates a Tempob slot, and replaces stack1 pointer from SourceString to TempOb Slot. 3) Question : what happens to SourceString ? I guess it is no longer referenced, so at next garbage, it should be freed. Would it be possible to have a problem during this stage ? Oh, btw, why should it be different between UBZ & ULZ ? Well, i'm clueless... === Subject: Re: Yet another memory management issue X > It would more likely require to run the program step by step and quite > frankly , I can't be bothered looking .... X > Rewriting the garbage collector had always been on my priority list so it > wouldn't matter what object has been created and if it was valid or not > ... X > Jean-Yves Marvellous: *preventing* bugs! Will you do it at the same time a ROM supporting the HPGCC3.0 is released? Cyrille? Jean-Yves? HPGCC crew? Is this possible? === Subject: unwanted approx mode posting-account=7ypjXwoAAAA6Phe0dE2NwavGiqMYGDdw Presto/2.1.1,gzip(gfe),gzip(gfe) Hello all, For some reason lately I have been prompted to go into approx mode for trivial calculations that shouldn't require it. For example, I want to expand this: (200.0E-6*X+1)(10+2.000E-3*X) But I get prompted for approx mode. Any idea how to stay in exact mode? Christoph === Subject: Re: unwanted approx mode > For some reason lately I have been prompted to go into approx mode > for trivial calculations that shouldn't require it. For example, I want to expand this: > '(200.0E-6*X+1)*(10+2.000E-3*X)' > But I get prompted for approx mode. > Any idea how to stay in exact mode? XQ EVAL (heaven contains only pure integers, reals are fallen sinners :) To keep the existing real-valued coefficients, however: Rewrite the CAS, or perhaps: PUSH -120 SF '(200.0E-6*X+1)*(10+2.000E-3*X)' EVAL POP Or just return to Exact mode afterward via RightShift[hold]Enter There's also a more complete 'XC' program, which attempts (with varying success) to work around all the reasons for the CAS demanding mode changes and variable purging: http://www.hpcalc.org/details.php?id=5493 http://www.hpcalc.org/hp49/math/symbolic/xc49v03.zip [r->] [OFF] === Subject: Re: List Processing - what for? > PROBLEM: Create new directory > without overwriting existing directory. I've been too absorbed in subsequent questions to ever understand what the original problem was :) As reth suggests, a variable already containing a directory can't be stored into at all by UserRPL STO, and can be replaced by CRDIR only if already empty (in that case leaving it unchanged, except for becoming the first object in the current directory, evidently because an original empty directory is first PURGEd - why so?). A non-empty directory also can't be purged via PURGE (needs PGDIR instead), so the calculator always protects directories from being wiped out by simple UserRPL goofs. Any NON-directory variable can, however, have its content replaced by storing a directory into it (or via CRDIR, which stores an empty directory). So unless the problem was to avoid overwriting any variable which _isn't_ a directory, no programming appears to be needed. For the new problem, once you get the variable name (follow INPUT with { SWAP + STR-> 1 GET to avoid evaluation) IF VARS OVER POS THEN ??? DOERR ELSE CRDIR END The use of { SWAP + STR-> after INPUT is generally much safer than INPUT STR-> because it generally produces a result of one unevaluated list for almost any input, but for a really hack-proof string compiler that's guaranteed not to evaluate anything: [r->] [OFF] === Subject: Gene: HP 50g Hardware Reset HELP It's still there on page 3 Gene? >> memory are retained, only the stack is cleared. If the clip is held >> down a longer time then the calculator beeps and asks whether the >> user wants to try to recover the contents of memory. Answering NO to >> this question means that the calculator will be completely >> reset and everything will be deleted, bringing the calculator back to >> its state as new. >> You read this in an HP manual??? Where? >> First time I have *ever* heard about this... So I'd say it's rubbish >> Press ON, A and F simultaneously, is the only way to cold reset your >> calculator in a rapid manner. >> JY I read it in from HP's training manual. That's why I tried to do it > that way.... http://h20331.www2.hp.com/Hpsub/downloads/50g_Training_aid_introduction.pdf So I assume HP gave incorrect info in that training manual.... Its a shame HP gave this info incorrectly because I tried it like 20 > or more times and my calculator or its screen could have damaged > because of me trying to do this. > === Subject: Re: USB cable for HP48 <6pdb0oF77fcbU1@mid.individual.net> posting-account=_oCSzAoAAAB7yYuxA-qEbYywlmh1EFjt 5.1),gzip(gfe),gzip(gfe) Yes, with more research and it's clear that serial to usb needs a converter chip and drivers for the PC. I am guess that what I saw was someone selling a HP 48gll to USB cable, but they just called it hp48 to USB cable... === Subject: Re: LINE/TLINE > I'm having trouble using the LINE/TLINE command: I convert to binary > both lists (representing the extremes of the line) on the stack with > the R->B command and type LINE/TLINE. The result gets messed up (stays > in the wrong place). What's wrong? Am I missing something? explaining what you expect to see? Have you tried using complex user > coordinates instead? When using complex user coordinates for example: > (0,0) (1,1) LINE you will see a line drawn in PICT from the center of > the screen to user coordinate x=1, y=1 on the screen, when using > binary coordinates with the R->B command 0,0 is the top left of the > screen, and positive x is from left to right, and positive y is from > top down to bottom, in pixels, with x range of 0-131 and y range of > 0-80 on the immediate viewable screen. Just guessing but perhaps > you're expecting the binary coordinates to act as user coordinates? Jacob Actually yes, I was expecting the R->B to act as user coordinates. Do I have to convert the user coordinates to the 0-131/0-80 range before calling LINE/TLINE? I'm trying to plot automatically throught UserRPN, I'm guessing it will length the program since the x/y range will vary... === Subject: SD: FAT or FAT32? New HP50g - ROM 2.08 - 1 GIG SD card HP literature seems to indicate that the 50g SD cards should be formatted FAT 16, but in my case when I format a one GIG SD card using the 50g 'system' menu the result is a FAT 32 file system. I guess HP fully supports both file systems? Is this due to the one GIG card? comments would be appreciated J === Subject: Re: SD: FAT or FAT32? posting-account=sOAX1QkAAAC-FcySTSbz29Uk8huUtFRz CLR 1.1.4322; .NET CLR 2.0.50727),gzip(gfe),gzip(gfe) > New HP50g - ROM 2.08 - 1 GIG SD card HP literature seems to indicate that the 50g SD cards should be formatted > FAT 16, but in my case when I format a one GIG SD card using the 50g > 'system' menu the result is a FAT 32 file system. I guess HP fully supports both file systems? ÊIs this due to the one GIG > card? comments would be appreciated > J FAT16 if you want to install a new ROM from the SD card. The most recent official HP ROM is 2.09C. You can either flash the new ROM using an SD card (formatted as FAT16) or with a USB connection and a program like Conn4x. S.C. === Subject: Re: SD: FAT or FAT32? You can force FAT16 on your PC Default for ¸B, 1G, 2G is FA32 > New HP50g - ROM 2.08 - 1 GIG SD card HP literature seems to indicate that the 50g SD cards should be formatted > FAT 16, but in my case when I format a one GIG SD card using the 50g > 'system' menu the result is a FAT 32 file system. I guess HP fully supports both file systems? Is this due to the one GIG > card? comments would be appreciated > J FAT16 if you want to install a new ROM from the SD card. The most recent official HP ROM is 2.09C. You can either flash the new ROM using an SD card (formatted as FAT16) or with a USB connection and a program like Conn4x. S.C. === Subject: RPL programming environment? I have seen reference to system level programming aides. I do not have the need to do that. Is there a computer program environment for RPL? === Subject: Re: RPL programming environment? > I have seen reference to system level programming aides. > I do not have the need to do that. > Is there a computer program environment for RPL? Try Debug4x: http://www.debug4x.com/ S.C. === Subject: List to string Hello. How to convert list to string in vertical order on HP 50g? For example: {1234 9999} to 1234 9999 Damir === Subject: Re: List to string posting-account=Q2CEjQoAAACue5ZDDhUeRzv1w0u8hxZE rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4,gzip(gfe),gzip(gfe) > {1234 9999} to > 1234 > Ê 9999 Either do a loop for each item in the list, convert it individually, add the newline and repeat. If you know that you won't have extra spaces in your list items though, it will be much quicker to use SREPL and it will be really quick. Basically, remove the front and end of the string to get rid of { } and then replace the spaces with a newline character. This will take a few hundredths of a second for a small to medium list: << ->STR DUP SIZE 3 SWAP 2 - SUB n SREPL DROP >> (replace n with your newline character and you are good to go) TW === Subject: Re: List to string >> {1234 9999} to >> 1234 >> Ê 9999 Either do a loop for each item in the list, convert it individually, >add the newline and repeat. If you know that you won't have extra spaces in your list items >though, it will be much quicker to use SREPL and it will be really >quick. Basically, remove the front and end of the string to get rid >of { } and then replace the spaces with a newline character. This will >take a few hundredths of a second for a small to medium list: << ->STR DUP SIZE 3 SWAP 2 - SUB n SREPL DROP > >(replace n with your newline character and you are good to go) === Subject: extending IR range I would like to extend the range of the IR transmitter built into the HP 48, which I've heard can be done by removing a resistor. The rumor I've heard is that the calculator IR device was designed to have a 10' range but would exempt it from the education market because it would make it possible to share answers and thus cheating. Is this rumor true and if so which resistor needs to be removed. I've looked at online pictures of the PCB but don't see a resistor near the IR component. Eric U. umeeguy [at] yahoo [dot] com === Subject: Re: extending IR range I would like to extend the range of the IR transmitter built into the HP Try this document: http://www.hpcalc.org/details.php?id=3576 While you're at hpcalc.org, put infrared into the search field and Bill === Subject: Re: extending IR range yeah sorry for asking this question, it was short sighted of me. it >> I would like to extend the range of the IR transmitter built into the HP > > Try this document: > http://www.hpcalc.org/details.php?id=3576 > > While you're at hpcalc.org, put infrared into the search field and > > Bill === Subject: PREDY on HP40gs doesn't work?? posting-account=7eGOlAgAAABdnG-jmGyj-FIdVckM8vEs Gecko/2008102920 Firefox/3.0.4,gzip(gfe),gzip(gfe) Hi all. I obtained a set of HP40gs calculators for use in my math class. They really are much nicer in terms of build quality and look and feel than the TI-83+ turds we were using. However, I'm playing around with the Statistics aplet, and I find that the PREDY function does not work as I think it should. I'm able to get the fit curve displayed, and predicted Y values are shown on the plot view. But if I go to the home view and try to use the PREDY function, it returns wrong values. Why? I think I'm following all the instructions; I'm using only one fit so there's no issue with the last curve being fitted. I also can't get the fitted curve transferred into the functions applet using the method suggested on on p.135 of the Mastering the hp 39gs and hp 40gs document -- likely because PREDY isn't working in the Statistics applet. Help! THeo === Subject: PC emulating ARM 9 emulating Saturn PC emulating ARM 9 emulating Saturn soon? === Subject: Re: Interesting tidbit about Steve Wozniak > I wasn't aware until reading this interview:http://www.foundersatwork.com/steve-wozniak.html...that Steve had been with > HP's calculator division and only remained in California because his wife > didn't want to go to Corvallis when the calculator division moved there. If > he had, Apple computer probably would have never existed. Anyone know which calculators Woz had a part in creating? ---Joel I'll bet Steve Jobs would still have created some sort of machine. But it wouldn't have had the cool floppy disk drive, among other things. :) And the other consequence is interesting to think about too. What if Woz had stayed with HP? What would the Topcat and the HP41 have looked like? Howard === Subject: Re: List Processing posting-account=T6_JoAoAAAD5X1NpIb7ZcQrmFCd8Otqa Gecko/2008102920 Firefox/3.0.4 (.NET CLR 3.5.30729),gzip(gfe),gzip(gfe) what you think of this program? Serves its purpose? I hope so. << NEW DIRECTORY { ' ë V } INPUT OBJ-> TVARS SWAP POS IF 0 > THEN # 12Ah DOERR END >> if the name already exists and has no ' in INPUT, then the name will be automatically evaluated after command OBJ->. Valfisio PS: Sorry for my english. === Subject: Re: List Processing I'm sorry. I forgot for one thing. << ... OBJ-> 15 @ directory TVARS ... >> You can use the command VAR instead of 15 TVARS to get the names of all the variables of the current directory and thus avoid having any be replaced. Valfisio . === Subject: Re: Posting Code 1) Use a text editor instead of a word processor for editing > simple text. This includes HP calc listings, HTML, mail and news - no > matter what MS tries to tell you. Most Windows users go for Notepad because it's there, but I found a marvelous free replacement for it called Notepad2. It's loaded with features. http://www.flos-freeware.ch/notepad2.html > 2) For word processing, there are many options to MS Word - > many are free, many are better, and a good few are both free and > better. I just downloaded the open-source OpenOffice, which replaces Microsoft Office. I'm just getting acquainted with it, but so far its version of Word is totally compatible and far friendlier, with better features (it can even export PDF files). http://www.openoffice.org/ Sometimes free software is just amazing. Bill === Subject: Re: Posting Code 1. I did a copy/paste from MS Word, > the ALPHA symbol to be more > specific, and it shows up as OE. 2. The single quotes around the > lower case i got corrupted into > a rectangle. 3. The closing program delimeters > were eliminated. What program delimiters? << and >> are just pairs of angle brackets. HP graphing calculators use an internal byte-oriented character set similar to ISO-8859-1 (Latin 1), but the only characters you can rely on as referring consistently to the same symbols across most external programs and computer systems (as well as newsgroup posts) are the ascii characters, having byte values 32 thru 126 (decimal), which are also common to many computer keyboards. The calculator designers therefore incorporated a way to express all 256 possible byte codes entirely in ascii, using ascii sequences starting with a backslash to represent non-ascii byte values, thus making a highly portable representation. There are also different line endings: LF (like Unix) in the calculator, vs. CRLF in Windows, but outside of quoted strings this isn't critical for UserRPL programs, whose compilers consider both CR and LF (and most other control characters having low byte values) as just more whitespace. At any rate, the calculator can translate between its internal byte codes and external ascii substitutes, and even automatically adjust line endings; this translation is automatic when transferring UserRPL over a cable using Kermit protocol or Connectivity kits in ascii mode; otherwise it's possible to access the built-in translators via small calculator programs, to use them when conveying ascii text between computer editors and an emulator, or when conveying ascii files between computers and HP50G/49G+ calculators using SD cards. Different calculator translation modes govern what range of internal byte codes is actually translated, with translation mode 3 covering the broadest, most complete range (affecting even accented letters, which other modes can exempt). Backslash sequence examples: Ascii Import/Export for SD card and Emulator: ISO-8859 character sets http://www.blooberry.com/indexdot/html/tagpages/text.htm http://en.wikipedia.org/wiki/ISO_8859 http://www.w3schools.com/tags/ref_entities.asp [r->] [OFF] === Subject: Re: Hp 50g UserRPL: Substitute Variable in a formula with Number and Return without evaluating %%HP: T(3)A(R)F(.); << 'A+B+C+D+E' { A B C D } DUP << EVAL >> DOLIST = SWAP 1. PICK3 SIZE FOR k OVER k GET SUBST NEXT NIP >> not realy, i need it in a way where the UserRPL script can do it >> automatic, SUBST works good by hand, but how automatic? >> Max >> Um, if you can use the command it can be put into userRPL. >> << 'A=1' SUBST 'B=2' SUBST 'C=3' SUBST 'D=4' SUBST >> However, perhaps you should use the | operator. 'A*B*C*D' { A 1 B 2 >> C 3 D 4 } | --> '1*2*3*4' >> Build your list and then it is a single operation. >> TW but the Chars i want to substitute have the same name as the Variables > i got of INFORM, > so if i try | it ends up like: > 'A*B*C*D' { A A B B C C D D } | > and that doesnt work as | does the same as EVAL which ends up in > calculating the value, at least here . Max > === Subject: Label Builder Revisited posting-account=5jQj0AoAAAAGAGJcqkkpunLMBpVi1N5o 2.0.50727; .NET CLR 3.0.04506.30),gzip(gfe),gzip(gfe) Here we go again! The menu label I created with Label Builder is a row or two too tall when compared to the calculator labels. I'm not well versed in graphics but I'm guessing it has to do with linear perspective. Do I have to re-dimension PICT to make the label look right? === Subject: Re: Label Builder Revisited posting-account=5jQj0AoAAAAGAGJcqkkpunLMBpVi1N5o 2.0.50727; .NET CLR 3.0.04506.30),gzip(gfe),gzip(gfe) > is a row or two too tall when compared to the calculator labels. I meant to write is a row or two of pixels too tall when compared to the calculator labels. === Subject: Re: Label Builder Revisited posting-account=KsGA2QoAAADjMXoAtcKvhALzbY-wSq4Z rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4,gzip(gfe),gzip(gfe) > is a row or two too tall when compared to the calculator labels. I meant to write is a row or two of pixels too tall when > compared to the calculator labels. I am guessing you didn't leave a line of blank pixels on the top. If recollection serves, the menu grobs are 21x8 pixels. Most leave the top row empty. However, you can put some pixels on the top to make it look like a folder and so on. If this isn't what you meant. . . I didn't quite understand what you are asking. TW === Subject: Re: Label Builder Revisited posting-account=5jQj0AoAAAAGAGJcqkkpunLMBpVi1N5o 2.0.50727; .NET CLR 3.0.04506.30),gzip(gfe),gzip(gfe) > is a row or two too tall when compared to the calculator labels. > I meant to write is a row or two of pixels too tall when > compared to the calculator labels. I am guessing you didn't leave a line of blank pixels on the top. æIf > recollection serves, the menu grobs are 21x8 pixels. æMost leave the > top row empty. æHowever, you can put some pixels on the top to make it > look like a folder and so on. If this isn't what you meant. . . I didn't quite understand what you > are asking. TW but the menu label still looks taller than a standard menu label. I'm seeking to understand why this is the case. I suppose there's a way to put a row or two of blank(?) pixels on the screen to mask the excess height. === Subject: Re: Label Builder Revisited > but the menu label still looks taller than a standard menu label. I'm > seeking to understand why this is the case. I suppose there's a way > to put a row or two of blank(?) pixels on the screen to mask the > excess height. Have you put the menu key you created into a menu to look at it? It should look correct if you left the top row blank. When they are sitting on the stack, menu grobs visually look too big. { YOUR_GROB_HERE } TMENU will make a menu for you to look at. TW === Subject: Interesting tidbit about Steve Wozniak I wasn't aware until reading this interview: http://www.foundersatwork.com/steve-wozniak.html ...that Steve had been with HP's calculator division and only remained in California because his wife didn't want to go to Corvallis when the calculator division moved there. If he had, Apple computer probably would have never existed. Anyone know which calculators Woz had a part in creating? ---Joel === Subject: Setting decimal points in my Hewlett Packard calculator posting-account=cI3byAoAAADUzCsguIJOndizQ_RcmciN AppleWebKit/525.18 (KHTML, like Gecko) Version/3.1.2 Safari/525.20.1,gzip(gfe),gzip(gfe) I have an older model Hewlett Packard, 32SII RPN Scientific Calculator, as well as the instruction manual, but I cannot set the decimal points correctly. The manual informs me to press an arrow pointed to the left and then the key marked DISP in red. On the display menu I get FX SC EN ALL with little carrots pointing downward under each of these groups of letters. The instruction manual states: FIX format displays a number with up to 11 decimal places (11 digits to the right of the . or , radix mark) if they fit. After the prompt FIX_ , type in the number of decimal places to be displayed. Example FIX 4 in the display mode will give you four decimal places. Problem, I cannot do this. I cannot select just the FX in the display, Any number that I push simply produces a triangle with an exclamation point in the middle of the screen (between SC and EN). Any simple calculation displays the answer in terms of fractions rather than decimal points. The display menu FX SC EN ALL seems frozen. Does anyone have any suggestions? Assistme === Subject: Re: Label Builder Revisited posting-account=5jQj0AoAAAAGAGJcqkkpunLMBpVi1N5o 2.0.50727; .NET CLR 3.0.04506.30),gzip(gfe),gzip(gfe) > but the menu label still looks taller than a standard menu label. I'm > seeking to understand why this is the case. I suppose there's a way > to put a row or two of blank(?) pixels on the screen to mask the > excess height. Have you put the menu key you created into a menu to look at it? æIt > should look correct if you left the top row blank. When they are > sitting on the stack, menu grobs visually look too big. { YOUR GROB HERE } æTMENU æwill make a menu for you to look at. TW I used the program and made an empty 21 x 8 GROB, then { } + TMENU and still the label is too tall. === Subject: Re: Have a great Summer Care to report your trip and what did you do with the 50g ??? I'm gonna have a VERY memorable summer, if I survive it. In a few > days I'll be heading up to the mountains in central California for > THREE MONTHS of hiking and living on my own cooking! It's the perfect > place for summer hiking: always dry & sunny days but high enough to > stay cool; always dry & starry nights w/o mosquitos or light > pollution; and NO INTERNET!!! But I must confess, I'm taking an > HP-50g along. I can't help it; I'm addicted, and in no search of a > cure. I'll return on August 29th. I thank John Meyers in > advance for his always-thoughtful help to all on this newsgroup. (Will > YOU get away this summer?) Bye! See y'all in September! -Joe- > http://holyjoe.net/hhc2007 > === Subject: Question I have been collecting all the HP calcs since the 48G. Now I have time to really learn to program and use them. Question is should I just start in with the 50G and its books or 50G and the 48G books or start with the 48G and workmy way up? DOn === Subject: Re: Question >I have been collecting all the HP calcs since the 48G. Now I > have time to really learn to program and use them. Question is should I just start in with the 50G and its books > or 50G and the 48G books or start with the 48G and workmy way up? === Subject: Re: Interesting tidbit about Steve Wozniak > I wasn't aware until reading this interview: > http://www.foundersatwork.com/steve-wozniak.html ...that Steve had been with > HP's calculator division and only remained in California because his wife > didn't want to go to Corvallis when the calculator division moved there. If > he had, Apple computer probably would have never existed. > > Anyone know which calculators Woz had a part in creating? > > ---Joel I have heard it was the HP-65. === Subject: Re: Setting decimal points in my Hewlett Packard calculator Do left-shift MODES (The +/- key) then select point or comma (the two rightmost choices). Good luck Chris > I have an older model Hewlett Packard, 32SII RPN Scientific > Calculator, as well as the instruction manual, but I cannot set the > decimal points correctly. The manual informs me to press an arrow > pointed to the left and then the key marked DISP in red. On the > display menu I get FX SC EN ALL with little carrots pointing > downward under each of these groups of letters. > > The instruction manual states: FIX format displays a number with up > to 11 decimal places (11 digits to the right of the . or , radix > mark) if they fit. After the prompt FIX_ , type in the number of > decimal places to be displayed. Example FIX 4 in the display mode > will give you four decimal places. > > Problem, I cannot do this. I cannot select just the FX in the > display, Any number that I push simply produces a triangle with an > exclamation point in the middle of the screen (between SC and EN). > Any simple calculation displays the answer in terms of fractions > rather than decimal points. The display menu FX SC EN ALL seems > frozen. Does anyone have any suggestions? > > Assistme === Subject: Re: Setting decimal points in my Hewlett Packard calculator > I have an older model Hewlett Packard, 32SII RPN Scientific > Calculator, as well as the instruction manual, but I cannot set the > decimal points correctly. The manual informs me to press an arrow > pointed to the left and then the key marked DISP in red. On the > display menu I get FX SC EN ALL with little carrots pointing > downward under each of these groups of letters. What you discribe as a carrot is an arrow, and it points to the key you have to press. If you want FIX mode, then press the sqrt(x) key, and then the number of decimal places you want (if you want 11, press the . key first and then 1). HTH, Oliver === Subject: Re: Question > I have been collecting all the HP calcs since the 48G. æNow I > have time to really learn to program and use them. Question is should I just start in with the 50G and its books > or 50G and the 48G books or start with the 48G and workmy way up? > DOn Use the 50g. The HP48 is slower, has a lower-resolution and lower- contrast display, and doesn't have a CAS built in. The only thing going for the HP48 is its build quality and double-width ENTER key (if you don't like the new position of the ENTER key on the 49 series). Plus, the 50g is easily replaceable should anything happen to it, but the 48 series is not. S.C. === Subject: Re: 48G to 50G > I have been keeping current with most of the HP graphing calculators. > I want to relearn some math and calc, but with a calculator. > Should I start from the begininng with the HP48 and > work through them to the 50G, or just start learning on the 50G You could start with both most powerful hardware (50G) and highest quality HP manuals and other materials (for HP48 :) Keyboard layout and human factors elements were also strong on HP48 (you could actually get to all the internal menus, once upon a time :) If math is heavy on symbolics and advanced algebra, only the HP49/50 series has the powerful built-in CAS (lesser precursors exist as software for HP48 series, but one needs memory cards [now scarce] to get more out of those); similarly for certain powerful general software known collectively as metakernel (built into latest series, by the original independent authors whom HP recruited). Why not work from both ends to meet in the middle, the way tunnels, bridges, and trans-continental railways are completed? ;-) http://www.nps.gov/gosp/ http://en.wikipedia.org/wiki/Golden_spike http://library.thinkquest.org/5983/pages/chunnel.htm http://en.wikipedia.org/wiki/Channel_Tunnel http://www.eyewitnesstohistory.com/brooklynbridge.htm http://en.wikipedia.org/wiki/Golden_Gate_Bridge === Subject: Re: 48G to 50G > 50G includes the 48 series + MetaKernel 128K card + erable + ... > go directly to 50G system learning > remember to set RPN mode at the beginning > [MODE] [ +/- ] [ENTER] Also create 'STARTUP' variable at Home > << æ-95 CF æ>> 'STARTUP [STO] > so that even after a reset you will > start up in RPN mode > My STARTUP variable is: << 512. ->KEYTIME >> So after a warmstart (ON+C) the calculator's keyboard is not sluggish. Warmstarting does not reset the calculator to ALG mode, but it clears the RPN stack. S.C. === Subject: HP50g Error Message Display posting-account=HLB0wQoAAADFCl1K6ZIYOA1tkfCtYfW9 Gecko/2008092417 Firefox/3.0.3,gzip(gfe),gzip(gfe) Please forgive a senile old fart, but last July I read somewhere that one could change the way the HP50g displays error messages (message box) to the way an HP48G(X) displays error messages (along the top of the screen) and I'll be darned, I can't find it anywhere. I've searched this newsgroup, and the AUR but to no avail. It's not a flag setting. I've restored older flag settings and it made no difference. This is driving me sane! Plz help! === Subject: Re: HP50g Error Message Display > Please forgive a senile old fart, but last July I read somewhere that > one could change the way the HP50g displays error messages (message > box) to the way an HP48G(X) displays error messages (along the top of > the screen) and I'll be darned, I can't find it anywhere. I've > searched this newsgroup, and the AUR but to no avail. It's not a flag > setting. I've restored older flag settings and it made no difference. > This is driving me sane! Plz help! > I think it is done by storing an appropriate program in the HOME directory under the name STARTERR, then that program is run when an error is encountered instead of the usual error routine. I have stored << SWAP + + 1. DISP 1. FREEZE >> === Subject: Re: HP50g Error Message Display > Please forgive a senile old fart, but last July I read somewhere that >> one could change the way the HP50g displays error messages (message >> box) to the way an HP48G(X) displays error messages (along the top of >> the screen) and I'll be darned, I can't find it anywhere. I've >> searched this newsgroup, and the AUR but to no avail. It's not a flag >> setting. I've restored older flag settings and it made no difference. >> This is driving me sane! Plz help! > > I think it is done by storing an appropriate program in the HOME > directory under the name STARTERR, then that program is run when an > error is encountered instead of the usual error routine. I have stored << > SWAP + + 1. DISP 1. FREEZE >> Whatever you store in STARTERR T E S T F I R S T ! Why such emphasis? Think about an endless loop... Nope: the OS guards you of a STARTER Error in itself BUT the above code... Will it work on the Matrix Writer or the Equation Writer? No! The error flashes too fast... If we like to add the Bip also then: << 2 DISP 1 DISP 1400 .07 BEEP 1.2 WAIT >> 'STARTERR' STO or .9 WAIT ... What if you want the MeSsaGe BOX? and a different sound of BEEP: @ is a comment and the in two lines has a CR inside << 999 .05 BEEP @ CR or [Right-Shift] [ . ] SWAP + + MESSAGEBOX >> === Subject: Re: HP50g Error Message Display > Whatever you store in STARTERR > T E S T F I R S T ! [...] > << 999 .05 BEEP @ CR or [Right-Shift] [ . ] > SWAP + + MESSAGEBOX >> MESSAGEBOX ??? Did you test that? [r->] [OFF] === Subject: Re: HP50g Error Message Display STARTERR routine was faulty, I was simply getting tired of it and wanted to restore my 50g to it's default, the only problem was I have so many hidden variables in my HOME directory that it was difficult to pinpoint (I don't see too good). What a machine! (I LOVE my 50g!) It makes me wonder if the TI 89 Titanium does/has anything similar... === Subject: Re: List Processing posting-account=5jQj0AoAAAAGAGJcqkkpunLMBpVi1N5o 2.0.50727; .NET CLR 3.0.04506.30),gzip(gfe),gzip(gfe) > I'm sorry. I forgot for one thing. > << > ... > OBJ- 15 @ directory > TVARS > ... > > You can use the command VAR instead of 15 TVARS to get the names > of all the variables of the current directory and thus avoid having > any be replaced. Valfisio . I discovered today that if a directory exists, then OBJ-> evaluates that directory so maybe I need to put << 15 TVARS SWAP POS IF 0 > THEN # 12Ah DOERR END >> before OBJ->. === Subject: Re: List Processing Tip: VTYPE returns -1 for non-existing Globals > I'm sorry. I forgot for one thing. > << > ... > OBJ- 15 @ directory > TVARS > ... > > You can use the command VAR instead of 15 TVARS to get the names > of all the variables of the current directory and thus avoid having > any be replaced. Valfisio . I discovered today that if a directory exists, then OBJ-> evaluates that directory so maybe I need to put << 15 TVARS SWAP POS IF 0 > THEN # 12Ah DOERR END >> before OBJ->. === Subject: Re: List Processing > Tip: VTYPE returns -1 for non-existing Globals I'm sorry. I forgot for one thing. > << > ... > OBJ- 15 @ directory > TVARS > ... > > You can use the command VAR instead of 15 TVARS to get the names > of all the variables of the current directory and thus avoid having > any be replaced. Valfisio . I discovered today that if a directory exists, then OBJ-> evaluates > that directory so maybe I need to put << 15 TVARS SWAP POS > IF 0 > THEN # 12Ah DOERR END >> before OBJ->. using STR-> versus OBJ-> after the INPUT command if the input will always be a real number. === Subject: Re: List Processing OBJ-> includes automatic object identification and calls STR-> ARRY-> LIST-> C->R etc but you tell to anyone (yourself a year later?) reading the code the type of the expected object thus STR-> documents the program and errors out on a wrong type of argument On Nov 27, 3:44 am, Veli-Pekka Nousiainen > Tip: VTYPE returns -1 for non-existing Globals I'm sorry. I forgot for one thing. > << > ... > OBJ- 15 @ directory > TVARS > ... > > You can use the command VAR instead of 15 TVARS to get the names > of all the variables of the current directory and thus avoid having > any be replaced. Valfisio . I discovered today that if a directory exists, then OBJ-> evaluates > that directory so maybe I need to put << 15 TVARS SWAP POS > IF 0 > THEN # 12Ah DOERR END >> before OBJ->. using STR-> versus OBJ-> after the INPUT command if the input will always be a real number. === Subject: Re: Posting Code 1) Use a text editor instead of a word processor for editing > simple text. This includes HP calc listings, HTML, mail and news - no > matter what MS tries to tell you. Most Windows users go for Notepad because it's there, but I found a > marvelous free replacement for it called Notepad2. It's loaded with > features.http://www.flos-freeware.ch/notepad2.html 2) For word processing, there are many options to MS Word - > many are free, many are better, and a good few are both free and > better. I just downloaded the open-source OpenOffice, which replaces Microsoft > Office. I'm just getting acquainted with it, but so far its version > of Word is totally compatible and far friendlier, with better features > (it can even export PDF files).http://www.openoffice.org/ Sometimes free software is just amazing. Bill === Subject: Re: Posting Code 1) Use a text editor instead of a word processor for editing > simple text. This includes HP calc listings, HTML, mail and news - no > matter what MS tries to tell you. Most Windows users go for Notepad because it's there, but I found a > marvelous free replacement for it called Notepad2. It's loaded with > features.http://www.flos-freeware.ch/notepad2.html 2) For word processing, there are many options to MS Word - > many are free, many are better, and a good few are both free and > better. I just downloaded the open-source OpenOffice, which replaces Microsoft > Office. I'm just getting acquainted with it, but so far its version > of Word is totally compatible and far friendlier, with better features > (it can even export PDF files).http://www.openoffice.org/ Sometimes free software is just amazing. Bill Bo, Bill, I mean you don't have get a bill from your wallet A few weeks ago I started using Open Office 3.0 Some features are missing, but the PDF creator works! I also say: get it! === Subject: Re: 48G to 50G > Also [on 50G or 49G+ or 49G] create 'STARTUP' variable at Home > << -95 CF >> 'STARTUP' [STO] > so that even after a reset you will start up in RPN mode What sort of reset? Aren't flags preserved by ON+C? What about soft menus, etc.? One can save a complete preferred set of flags and restore all, if desired, so that this will occur even after a more major reset (e.g. after a RESTORE of a backup) -- === Subject: Indefinite Loops posting-account=5jQj0AoAAAAGAGJcqkkpunLMBpVi1N5o 2.0.50727; .NET CLR 3.0.04506.30),gzip(gfe),gzip(gfe) I'm a little confused about what I can or can not do with a DO UNTIL END loop. This goes back to my previous post about searching a list for a directory. I was at first trying to use a DO loop to search a list and was thinking I need to exit the loop under two conditions: 1.) I encounter a directory with the same name. 2.) I've searched through the entire list and there was no match. I was trying to use DO...get objects from list, list has been searched END. My test clause used the logical OR function but this didn't work as I expected. Does this mean the test clause can only use something like n 100 > ? === Subject: Re: Indefinite Loops no test can be anything yielding to 0 or 0. which is false or any other number which is true just think your logic again and remember that you can use IF-THEN-ELSE-END or CASE... also inside your DO and UNTIL > I'm a little confused about what I can or can not > do with a DO UNTIL END loop. This goes back > to my previous post about searching a list for > a directory. I was at first trying to use a DO > loop to search a list and was thinking I need > to exit the loop under two conditions: > 1.) I encounter a directory with the same name. > 2.) I've searched through the entire list and there > was no match. > I was trying to use DO...get objects from list, > list has been searched END. My test clause > used the logical OR function but this didn't > work as I expected. Does this mean the test > clause can only use something like n 100 > ? > === Subject: Re: Indefinite Loops > I'm a little confused about what I can or can not > do with a DO UNTIL END loop. This goes back > DO continues a procedure until a test returns a non-zero value. Obviously your test didn't. Dbug should reveal the reason: put the program name (or the program itself) on the stack and enter 41 MENU. Press DBUG to start it and then SST to single-step through your program. May I recommend my HLP49 library? It runs on any 49/50 calc and has an entry for every basic command, plus whole bunches of tips and tricks. It's at: http://www.hpcalc.org/details.php?id=5973 === Subject: Re: Indefinite Loops I can't make it work on my SD > I'm a little confused about what I can or can not > do with a DO UNTIL END loop. This goes back > DO continues a procedure until a test returns a non-zero value. Obviously your test didn't. Dbug should reveal the reason: put the program name (or the program itself) on the stack and enter 41 MENU. Press DBUG to start it and then SST to single-step through your program. May I recommend my HLP49 library? It runs on any 49/50 calc and has an entry for every basic command, plus whole bunches of tips and tricks. It's at: http://www.hpcalc.org/details.php?id=5973 Bill === Subject: Re: Indefinite Loops I can't make it work on my SD > What, HLP49? What does the problem look like? I tested it every which way and if the folder HLPSD is on the SD card root, it should be a go. Also, check the config program and make sure it isn't looking for the files in port 2. Bill === Subject: Factoring expresions with variables expresion in terms of some of the variables for example: [(a+b*j)*j+(b/j*c)]/[(b*j-a)+c*j)] into something like this in terms of j: ( )*j/[a+b( )*j] === Subject: Replacements rubber feet on HP 50g I lost one the rubber feet on my HP 50g. I would like to know if there's any way to get a replacement. I've checked HP's website for parts, but they don't list HP 50g as one of the products they offer replacement parts for. They don't sell rubber feet for HP 49g. On HP 48g's parts list, they say rubber feet are no longer supplied. Besides I don't even know if 48g/49g's feet are identical to 50g's. So where can I get these?