B369 > Does anyone know of any effort to make symbolic / heavy duty math > apps like ALG48, ERABLE, CAS, etc. for the PalmOS? The current PalmOS handhelds don't have the memory or CPU power to do a really decent job at CAS. If you really need CAS, you should really stick with one of: * The HP48/49. * A laptop (running Maxima -- see http://maxima.sourceforge.net/). * An iPaq. Bernard Parisse is supposedly working on a nice CAS-like program for this -- search the archives for more info. * A Sharp Zaurus (runs java/linux, and so a non-graphical Maxima does run on it). -- Darryl Okahata darrylo@soco.agilent.com DISCLAIMER: this message is the author's personal opinion and does not constitute the support, opinion, or policy of Agilent Technologies, or of the little green men that have been following him all day. I don't know if you'd describe DERIVE (for DOS) as a CAS, but it even works on an HP-95LX;-) Raymond Darryl Okahata schrieb im Newsbeitrag Does anyone know of any effort to make symbolic / heavy duty math > apps like ALG48, ERABLE, CAS, etc. for the PalmOS? The current PalmOS handhelds don't have the memory or CPU power to > do a really decent job at CAS. If you really need CAS, you should > really stick with one of: * The HP48/49. * A laptop (running Maxima -- see http://maxima.sourceforge.net/). * An iPaq. Bernard Parisse is supposedly working on a nice CAS-like > program for this -- search the archives for more info. * A Sharp Zaurus (runs java/linux, and so a non-graphical Maxima does > run on it). -- > Darryl Okahata > darrylo@soco.agilent.com DISCLAIMER: this message is the author's personal opinion and does not > constitute the support, opinion, or policy of Agilent Technologies, or > of the little green men that have been following him all day. I've got a HP48GX with memory card 1Mb and some programs, writtem by me, in how can i store them in memory card? Vittorio use port numbers from 2 to 9 as tags for the name << I'm a > :2:PIG STO 'PIG' 2 ->TAG is another way to create a tagged name you can also EVAL programs using the wildcard tag. Naturally one could use the direct port tag << New program FOR a :2:PIG NEXT > and...read the manuals... > I've got a HP48GX with memory card 1Mb and some programs, writtem by me, > how can i store them in memory card? Vittorio I on the hunt for a HP 41 CV or CX, but can someone tell me the market > prices for such a device? In Europe or USA? BR > Matti, Sweden One good place for buying no longer made HP Calculators (such as the HP 41C/CV/CX) is International Calculator in Florida, USA. Their website is www.internationalcalculator.com. I bought a working HP 48SX from them (as well as no longer made HP calculator cases). I Don O'Rourke does not like being called through the toll free number given on the website. A toll call from Sweden to Florida would be very expensive. Heck, the source for Emu48 is available--I was seriously considering porting it to PalmOS until I discovered that PalmOS doesn't expose multithreading support to application programmers. Plus, I have no $$ and all this Cygwin/PilRC/gcc baloney is gunking up my gaming rig. There IS a CE version, but the source is not available (?). Probably VERY easy to convert the Win32 Emu48 code to WinCE. As a side note, I was thinking of porting Emu48 to Java just for kicks... > X > I think that we're familiar enough with ON& A&F, B, C, D, E, F, -, and > +, but what about ON&CursorUp? That sends something from the serial > port. You can capture it with HyperTerminal if you're curious. It seems > to depend on what the speed parameter in IOPAR is set to (perhaps other > things as well?). Does anyone know what that's all about? How about: a screen dump to your PC? Yes, now that you mention it, I should've known that; I did try it out a few times with HPComm, but haven't had any real need for it. I did think of the PRLCD command, but it didn't look like what the 48 series transmits for that, and it wasn't obvious (to me) what printer a PRLCD on the 49G would be formatted for. Ok, the printer for this hidden key is a PC program. I wonder whether there's a hidden key combination for LCD-> on the 49G, one that could be executed from any environment and regardless of whether or not the calculator is in user keys mode. -- James I think that packing would be a better way to describe it than either > defragmentation or garbage collection. My understanding is that the > calculator alway puts any new object into a single block of memory. When > it uses memory, it marks the object as referenced, and adds another > reference mark for each additional pointer to the same object, and of > course removes a reference mark each time a pointer to the object is > removed. Well, the HP48/49 do it a bit differently. All objects are always allocated in a continuous block of memory (called > TEMPOB), below (i.e. at lower addresses than) the RPL return stack. All > free memory lies between the return and data stack. (Note that we're > grow towards this free memory: The return stack grows upwards and the > data stack downwards. That way, the HP avoids fragmenting memory. If it runs out of free space > to allocate more objects (or return/data stack elements, since each of > these pointers takes up 5 nibbles too), it starts the garbage > collection. This uses a marker field present in every temporary object > to mark all those object which are still referenced. After having run > through all possible locations for object pointers (the return and data > are not needed any more. Now there's where I find the garbage collection terminology perhaps a bit misleading. What in the world does it mean to remove an object from TEMPOB? I rather doubt that the system would bother to change the bits in memory to any particular pattern, and surely it wouldn't bother to move the unreferenced objects to somewhere else. I think that it's rather a matter of marking the memory that they occupy as available to be overwritten or perhaps of not marking it as not available to be overwritten, or unallocated versus allocated. But isn't the object still there until it's overwritten? It seems to me that it's the referenced objects that are being collected into a contiguous block, not the garbage objects that are being collected for disposal. But the term garbage collection is probably too traditional to be replaced by something less colourful like memory packing. > To keep the allocated objects in a continuous block, it must move all > objects after the removed one to lower memory addresses so as to fill > the gap. During SysRPL execution this is never a problem, since the GC > routine updates all pointers to their new locations, but in ML it can > be, because e.g. the hardware return stack (RSTK) is never updated. This tells me that using ML, you can recover some memory without actually doing a garbage collection? This is a bit deeper into the internals than I've ever cared to think about. I was thinking in terms of what happens in UserRPL. Of course, if you choose to bypass the system and do things your own way, you have to take care of certain things yourself. But it brings up a very good point; not only does an object have to be moved in memory, but any pointers to its old address have to be changed to its new address. I wonder whether this requires yet another scan of all the pointers to find any that pointed to the old address each time that an object is moved. > Note that the marker nibble is always zero outside GC. I do not know > whether the GC routine initializes it to zero before it scans through > the object pointers, but the memory allocation routine CREATETEMP does. So the objects in TEMPOB are never actually marked as referenced until the GC routine looks at the pointers in the system and marks any object pointed to as being referenced? Is the marker nibble changed for every additional pointer to a particular object that's found? > A common UserRPL method of forcing a garbage collection is to execute > MEM DROP. MEM forces a garbage collection so that it can simply > calculate the size of that one block of memory rather than calculate and > add up the sizes of all the unreferenced objects plus the unused memory. > There may be other UserRPL operations that force a garbage collection; I > don't know. Actually the free memory is never known exactly except after a GC - > since virtually no other routines make a difference between referenced > and unreferenced objects. (I know of only one other routine which does: > INTEMNOTREF?) Yes. I suppose that, in principle, it would be possible to find the sizes of all of the unreferenced objects in TEMPOB, but that would mean doing a good bit of the GC routine, so the calculator just does the entire GC when it needs to know the amount of memory that could be made available. But what I was really referring to was whether any other UserRPL operations force a GC. I suppose that 0 PVARS may, or FREE or MERGE might force one. > Note that, as a ral rule, the more you have on the stack, the longer > it takes to do a garbage collection, and I've noticed that garbage > collection seems to be especially slow when the stack has a lot of > pointers to list elements (and I suppose elements of other composites > and maybe arrays). This (I guess) happens because to find the TEMPOB marker which a pointer > on the stack references it must skip (via SKIPOB) objects until it > reaches the end of the TEMPOB object (in this case the whole composite), > where the marker is stored. So if you have a pointer to the first object > of a list, the GC routine must skip all the rest of it until it finally > reaches the end. Am I correct in thinking that there's only one marker for the composite, not one for each element? > Note that true arrays (DOARRY) can only exist as a whole; if you extract > elements from them, the element will be copied to a new TEMPOB object. Ok, I can see why. The type and body of each element aren't contiguous in the array, so it would be a bit difficult to meaningfully have a single pointer to an element of the array, short of making an entirely new object of the element. And indeed, a GC with a array of reals exploded onto the stack seems to be just as fast as having the reals on the stack by putting them there with a FOR loop. > However the 49 matrices (DOMATRIX) are very much like lists of lists. Do you mean the type 29 symbolic matrices? But I note that with the elements from type 29 matrices on the stack, garbage collection isn't especially slow, so I suppose that these elements are in TEMPOB as new objects too. So it seems to be only composites that cause the drastic slowdown of GC, not arrays of any kind. > I hope that these explanations clear things up instead of making them > more obscure =) On the whole, they do, although they also raise additional questions in my mind. Certainly it shows us that GC can involve quite a lot of activity. I suppose that it *might* be possible to speed up garbage collection, but quite possibly at the expense of slowing down everything else. Someone much more knowledgeable than me can consider that question. -- James Ok, here goes the second part... To keep the allocated objects in a continuous block, it must move all > objects after the removed one to lower memory addresses so as to fill > the gap. During SysRPL execution this is never a problem, since the GC > routine updates all pointers to their new locations, but in ML it can > be, because e.g. the hardware return stack (RSTK) is never updated. This tells me that using ML, you can recover some memory without > actually doing a garbage collection? This is a bit deeper into the > internals than I've ever cared to think about. You can indeed recover memory if you happen to *know* that a TEMPOB zone is not referenced any more - ML programs can quite easily delete TEMPOB zones with the entry MOVERSD. > But it brings up a very good point; not only does an object have to be > moved in memory, but any pointers to its old address have to be changed > to its new address. I wonder whether this requires yet another scan of > all the pointers to find any that pointed to the old address each time > that an object is moved. There are even dedicated entry points for this (I faintly remember something about PTRADJUST2), since not only the GC routines need to update pointers: The MOVERSD (mentioned above) and MOVERSU entries must also keep them up to date, and there's even a memory swapping procedure called BLKSWAP+ which automatically handles the pointer business for the caller. > So the objects in TEMPOB are never actually marked as referenced until > the GC routine looks at the pointers in the system and marks any object > pointed to as being referenced? Is the marker nibble changed for every > additional pointer to a particular object that's found? I can only guess here, but I think it's not. As soon as the GC routine finds the end of a TEMPOB zone, it probably just puts a referenced value there, maybe 1 or F. Incrementing it would not make any sense, since after 16 pointers to that zone you'd have a 0 (zero) again, which seems to stand for unreferenced. > But what I was really referring to was whether any other UserRPL > operations force a GC. I suppose that 0 PVARS may, or FREE or MERGE > might force one. You are right, PVARS does, for any valid argument (i.e. 0, 1 or 2). Neither FREE nor MERGE do anything on the HP49, and I do not have a 48, so I cannot have a look there. A lot of ML programs which do not know in advance how many memory they might need also force one: MASD is a good example. > Am I correct in thinking that there's only one marker for the composite, > not one for each element? Yes. In fact there's exactly one marker in the whole zone, at the very end, as I explained in my other post. > However the 49 matrices (DOMATRIX) are very much like lists of lists. Do you mean the type 29 symbolic matrices? Yes. > But I note that with the elements from type 29 matrices on the stack, > garbage collection isn't especially slow, so I suppose that these > elements are in TEMPOB as new objects too. I have just checked, at least GET does not make new objects. > So it seems to be only composites that cause the drastic slowdown of GC, > not arrays of any kind. Well, the terminology here is a bit difficult, since these type 29 matrices *are* technically the same as lists of lists, except that they have a different prologue. Maybe there is some side effect of a matrix command which decreases the slowdown a bit. > On the whole, they do, although they also raise additional questions in > my mind. Certainly it shows us that GC can involve quite a lot of activity. Unfortunately - or luckily, you might say - this is entirely hidden from the (user and, to a large extent, system) RPL programmer. In the world of ML things are more hairy, but in turn the pieces of the jigsaw start to fit =) > I suppose that it *might* be possible to speed up garbage collection, > but quite possibly at the expense of slowing down everything else. > Someone much more knowledgeable than me can consider that question. algorithm, which unfortunately needs some extra memory and thus possibly breaks certain ML programs: gp ond.com gp ond.com Thomas -- Thomas Rast If you cannot convince them, confuse them. -- Harry S. Truman X > algorithm, which unfortunately needs some extra memory and thus possibly > breaks certain ML programs: gp ond.com > gp ond.com THE reason for a 1.19-7 upgrade. I would even suggest that HP should release it as Commercial OS 2.00 !!! Now there's where I find the garbage collection terminology perhaps a > bit misleading. What in the world does it mean to remove an object > from TEMPOB? I rather doubt that the system would bother to change the > bits in memory to any particular pattern, and surely it wouldn't bother > to move the unreferenced objects to somewhere else. Well, it does not actually move them somewhere else - it *deletes* them (maybe remove was not a clever choice). Memory looks like this: | ... | TEMPOB -> +-------------------+ | Temporary objects | TEMPTOP -> +-------------------+ | Return stack | RSKTOP -> +-------------------+ | ##### free ###### | DSKTOP -> +-------------------+ | Data stack | EDITLINE -> +-------------------+ | ... | (Note that the zone between TEMPOB and TEMPTOP is usually also called TEMPOB.) What I meant with all objects are always allocated in a continuous block of memory is this: The *only* free memory *always* lies between RSKTOP and DSKTOP. If an object zone O of size S is not referenced any more, the GC routine takes these steps: - First, all objects from O to RSKTOP (except O itself) and the whole return stack are moved S+6 nibbles towards TEMPOB (to lower addresses). - Second, all references to the moved objects are updated (by subtracting S+6 from them). Note that there cannot be any references to the return stack. Allocating a new object zone of size T is a bit easier because of that last Note: The return stack is moved T+6 nibbles towards DSKTOP, thus creating room for the new zone just under the return stack. Okay, now the explanation where the 6 comes from and why lists cannot be deleted as long as there are any references to it: An object zone in TEMPOB looks like this: | ... | +----------------------------+ 5 | Previous object's length | +----------------------------+ 1 | Previous object's marker | | RPL object | +----------------------------+ 5 | Length | +----------------------------+ 1 | Marker | | Next object | +----------------------------+ | ... | The length is a bit special: It is actually the object's length plus 6. Another way to look at it is that it is a backwards offset to the previous object's length. As you can see there is only one marker for the whole object zone; if the RPL object inside is a list which has any of its elements referenced, the zone will be marked referenced and cannot be deleted. > I think that it's > rather a matter of marking the memory that they occupy as available to > be overwritten or perhaps of not marking it as not available to be > overwritten, or unallocated versus allocated. But isn't the object > still there until it's overwritten? It seems to me that it's the > referenced objects that are being collected into a contiguous block, not > the garbage objects that are being collected for disposal. As far as I understand, this is how garbage collection works in languages like C. However RPL has the advance that it keeps all pointers to objects in a few known places like the return and data stack, allowing it to move object zones as long as it updates all references. Unfortunately I've run out of time; I will (try to) answer the rest of your questions this evening. Thomas -- Thomas Rast If you cannot convince them, confuse them. -- Harry S. Truman > X > Note that true arrays (DOARRY) can only exist as a whole; if you extract > elements from them, the element will be copied to a new TEMPOB object. > However the 49 matrices (DOMATRIX) are very much like lists of lists. To make it more clear: > true arrays: 48-style all numeric (real/complex) arrays > the 49 matrices: Symbolic Matrices or any matrix > have any single element as either a symbolic, like 'X+1', Y, etc > OR integer, like 1768 , eg. a number without a decimal point. Hmm.... I would think that Thomas meant arrays such as are used for some of the message tables. That is, the elements can be of any type, but they all have to be the same type, because the type is only included in the array once, not with each element. I'm under the impression that the real/complex arrays are special cases of arrays. -- James X > Hmm.... I would think that Thomas meant arrays such as are used for some > of the message tables. That is, the elements can be of any type, but > they all have to be the same type, because the type is only included in > the array once, not with each element. I'm under the impression that the > real/complex arrays are special cases of arrays. X But...then the length would have to be the same, too ?! Right ???!!!! > the array once, not with each element. I'm under the impression that the > real/complex arrays are special cases of arrays. >X >But...then the length would have to be the same, too ?! >Right ???!!!! According to the Introduction to Saturn Assembly Language by FH Gilbert and Eric Rechlin, Page 95 an array is: Prologue 029E8 (5 Nibbles) Kind of Element (5 Nibbles) Number of dimensions (5 Nibbles) Dimension 1 (5 Nibbles) . . . Dimension N (5 Nibbles) . . . The array can contain any number of elements that are of the same type. It seems that any type of object is valid inside the array, including and array of strings. The only issue is that all elements must be of the same type. The bare HP48 can only display one or two dimensional arrays of reals, or I think the only special case for reals or imaginaries is that the HP48 has the capability to display and edit these arrays built in. Hope this helps. If I am wrong, please correct me. Bill alternate E-dress wtstorey@ieee.org.no.spam.please (Use the obvious) > X > Hmm.... I would think that Thomas meant arrays such as are used for some > of the message tables. That is, the elements can be of any type, but > they all have to be the same type, because the type is only included in > the array once, not with each element. I'm under the impression that the > real/complex arrays are special cases of arrays. > X > But...then the length would have to be the same, too ?! > Right ???!!!! Good question. I don't know for sure how it determines where one element of an array ends and the next begins. I got my information from RPLMAN.DOC, which doesn't seem to spell out that minor detail. For fixed-length element types, it could be computed easily enough. I suppose that for variable-length element types, the length fields or ending delimiters would be included as part of the element bodies. I have found that the message tables are arrays of strings, or, in many cases, linked arrays of strings, and these strings are certainly not the same length. Certainly the elements of the array all have to be of the same type, and I get the impression that the type is only in the array once, not with each element. Perhaps I'm mistaken. -- James X > Hmm.... I would think that Thomas meant arrays such as are used for some > of the message tables. That is, the elements can be of any type, but > they all have to be the same type, because the type is only included in > the array once, not with each element. I'm under the impression that the > real/complex arrays are special cases of arrays. Yes, exactly. > But...then the length would have to be the same, too ?! > Right ???!!!! No. I shall explain the way the HP stores a string first. For a more detailed reference of all data types, see Introduction to Saturn Assembly Language, available on hpcalc: HTML: http://www.hpcalc.org/details.php?id=1695 PDF: http://www.hpcalc.org/details.php?id=1693 PS: http://www.hpcalc.org/details.php?id=1694 A string looks like this: +---------------------+ 5 | DOCSTR | +---------------------+ 5 | Length | +---------------------+ | Data... | +---------------------+ So, the first five nibbles are the object prologue. Every object has a prologue, which denotes its type; for strings it is #02A2Ch. Then follows the length field, which includes itself, but not the prologue. Another way to look at it would be that it is an offset to the end of the object. And at last you have the string data, (Length-5) nibbles. Note that this must not necessarily be an even number, though UserRPL does not let you create such strings. Lets have a look at the true arrays now, as I called them. +----------------------+ 5 | DOARRY | +----------------------+ 5 | Length | +----------------------+ 5 | Prologue of objects | +----------------------+ 5 | Number of dimensions | +----------------------+ | Dimension sizes | +----------------------+ +----------------------+ The beginning is almost the same: A prologue, #029E8h for arrays, and the length, which again includes itself, but not the prologue. Next you have the prologue of the included objects. The advance of this is that these five nibbles do not need to be repeated for every object in the array; the disadvance is that all objects must have the same prologue, and thus the same type. Then you have the number of dimensions, followed by that many 5-nibble dimensions sizes, and lastly the contents. Apparently for two-dimensional arrays the first dimension size is the number of rows, and the second the number of columns; the content is then stored row-wise from left to right. An example with strings of different lengths: ARRY [ World! ] @ ASM ->H (Note that MASD can create arrays of strings, at least with ROM 1.19-6!) This gives you a string with a lot of hex digits (57 to be exact). Below they are listed, with some line breaks and comments. Mind that the Saturn chip reverses the nibble order in memory, so e.g. 1 in a 5-nibble field looks like 10000. It's in a way little-endian like the x86, but nibble-based instead of byte-based. 8E920 The prologue: #029E8h 43000 The length: #34h or #52d C2A20 The prologue of the included objects: #02A2C 10000 One dimension 20000 Two rows 11000 Length of World!: #11h = #17d 75F627C64612 Characters World! Ok, enough of this =) Thomas -- Thomas Rast If you cannot convince them, confuse them. -- Harry S. Truman I seem to have lost the website for this emulator - it would emulate either the HP48G or HP48SX as I recall, using the hi-res Sony PDAs. Does anyone have the URL for this? TIA, Pad http://ftp.mindspring.com/~hildinger/Power48/ Of course a Palm can do everthing an HP can, and more... > I seem to have lost the website for this emulator - it would emulate > either the HP48G or HP48SX as I recall, using the hi-res Sony PDAs. > Does anyone have the URL for this? TIA, Pad I seem to have lost the website for this emulator - it would emulate > either the HP48G or HP48SX as I recall, using the hi-res Sony PDAs. > Does anyone have the URL for this? TIA, Pad > Knowing that the Sony Clie is runnin PalmOS, I doubt you will ever see an HP48 emulator on such machine. By checkerboard I mean individual pixels alternate between off and on in both directions. I came up with a few ways but was wondering if there was any kind of trick that would let me do it quicker. I guess doing it once then storing the LCD in a GROB would be the fastest but that would also waist a lot of space so lets say no GROBs allowed. -- john R. Latala jrlatala@golden.net here's the shortest version I made in the mid 90ies: **************************************************************************** * CODE GOSBVL =SAVPTR GOSBVL =D0->Row1 C=0 A LCHEX 37 D=C A LCHEX 5555555555555555 A=C W A=A+A W CBarLp DAT0=C W D0=D0+ 16 DAT0=C W D0=D0+ 16 DAT0=C B D0=D0+ 2 ACEX W ** Prepare for shifted checkers line D=D-1 A GONC CBarLp GOVLNG =GETPTRLOOP ENDCODE **************************************************************************** * It's 45.5 bytes in size. Of course in HP SASM syntax;-) Raymond schrieb im Newsbeitrag > By checkerboard I mean individual pixels alternate between off and on in > both directions. I came up with a few ways but was wondering if there was > any kind of trick that would let me do it quicker. I guess doing it once > then storing the LCD in a GROB would be the fastest but that would also > waist a lot of space so lets say no GROBs allowed. > -- > john R. Latala > jrlatala@golden.net here's the shortest version I made in the mid 90ies: Combining yours with a Good Idea (tm) in mine one gets CODE SAVE GOSBVL D0->Row1 LC(2) 63 D=C.A LC 555555555555555 A=C.W A+A.W { DAT0=C.W D0+16 DAT0=C.W D0+16 DAT0=C.B D0+2 ACEX.W D-1.B UPNC } LOADRPL ENDCODE 45 bytes, #DDA9h Thomas -- Thomas Rast If you cannot convince them, confuse them. -- Harry S. Truman Nice work, Thomas,, Jonathan! Could you kindly comment you programs and resend them so that we all could learn from them. Nousiainen schreef: > Nice work, Thomas,, Jonathan! I agree but I've managed to shave off 2.5 bytes (#F1EFh 34 bytes) > Could you kindly comment you programs > and resend them so that we all could learn from them. There are some comments but I doubt if you can learn from it CODE SAVE % save RPL pointers SCREEN % point D0 to screen LA 3F % #3F = 63 counter for lines LC 55 % bit pattern 01010101 { C=-C-1 B % logical NEG { DAT0=C B % write byte to screen D0+2 % point to next position P+1 % P is one 4 bits wide UPNC % so do it 16 times } DAT0=C B % write last byte to D0+2 % complete 34 nibble line A-1 B % loop 64 times UPNC } LOADRPL % get RPL pointers and return ENDCODE -- This message was written with 100% recycled electrons Pivo another variation of the checkers, not the binary;-) , also readable for SASM users: CODE GOSBVL =SAVPTR GOSBVL =D0->Row1 LCHEX 37 * Row count A=C A LCHEX 55 * Pattern CBarLp DAT0=C B D0=D0+ 2 P=P+1 GONC CBarLp * On exit; P=0 DAT0=C B D0=D0+ 2 C=-C-1 A * Switch pattern A=A-1 B GONC CBarLp GOVLNG =GETPTRLOOP ENDCODE 33Bytes Chk:#D2B1h Raymond Peter Geelhoed schrieb im > Nousiainen schreef: Nice work, Thomas,, Jonathan! I agree but I've managed to shave off 2.5 bytes > (#F1EFh 34 bytes) Could you kindly comment you programs > and resend them so that we all could learn from them. There are some comments but I doubt if you can learn from it CODE > SAVE % save RPL pointers > SCREEN % point D0 to screen > LA 3F % #3F = 63 counter for lines > LC 55 % bit pattern 01010101 > { C=-C-1 B % logical NEG > { DAT0=C B % write byte to screen > D0+2 % point to next position > P+1 % P is one 4 bits wide > UPNC % so do it 16 times > } > DAT0=C B % write last byte to > D0+2 % complete 34 nibble line > A-1 B % loop 64 times > UPNC > } > LOADRPL % get RPL pointers and return > ENDCODE -- > This message was written with 100% recycled electrons Pivo For real bit freaks we could also make it 33.5 bytes #B095h CODE SAVE % save RPL pointers SCREEN % point D0 to screen LC 3F % #3F = 63 counter for lines A=C A % LC is 3 nibbles smaller than LA LC 55 % bit pattern 01010101 { C=-C-1 B % logical NEG { DAT0=C B % write byte to screen D0+2 % point to next position P+1 % P is one 4 bits wide UPNC % so do it 16 times } DAT0=C B % write last byte to D0+2 % complete 34 nibble line A-1 B % loop 64 times UPNC } LOADRPL % get RPL pointers and return ENDCODE -- This message was written with 100% recycled electrons Pivo For real bit freaks we could also make it 33.5 bytes #B095h Or 33 (#4CF1h): CODE SAVE SCREEN LC 3F A=C.A LC 55 { C=-C-1.A % Note that .A is one nibble shorter { DAT0=C.B D0+2 P+1 UPNC } DAT0=C.B D0+2 A-1.B UPNC } LOADRPL ENDCODE This is fun =) Thomas -- Thomas Rast If you cannot convince them, confuse them. -- Harry S. Truman ?ABIT=0.6 UP > I can't believe I didn't think of this. I was looking for a smaller counter for a while. Originally it was asked to have a fast way of doing it. so I've made a version with very few cycles. it's a *bit* larger at 1116.5 bytes buy it also 65 times faster so by the standard minichallenge rule time*bytes it is better :-) CODE CD0EX RSTK=C D0= 00120 GOSUBL DATA NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 NIBHEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5555555555555555555555555555555555 *DATA C=RSTK ?CBIT=0 0 -> ODD C+1 A *ODD DAT0=C A C=RSTK D0=C A=DAT0 A D0+5 PC=(A) ENDCODE @ -- This message was written with 100% recycled electrons Pivo On Mon, 12 Aug 2002 10:14:21 +0200, Peter Geelhoed > ?ABIT=0.6 UP >I can't believe I didn't think of this. I was looking for a smaller counter for a while. I guess I have an excuse for doing something as stupid as an explicit test for the parity of the row counter. ;) Originally it was asked to have a fast way of doing it. so I've made a version with very few cycles. it's a *bit* larger at 1116.5 bytes buy it also 65 times faster hehe. Talk about brute force. ;) so by the standard minichallenge rule time*bytes it is better :-) > Well, in that case I think Hellstern's version modified by Thomas Rast would be the winner. But I think the size challenge is more interesting since even the slowest version is almost beyond human perception in terms of even noticing that it had run. ;) ---------------------------------------------------------------------------- --- Jonathan Busby - before replying. On Mon, 12 Aug 2002 08:18:12 -0500, Jonathan Busby >>so by the standard minichallenge rule time*bytes it is better :-) >Well, in that case I think Hellstern's version modified by >Thomas Rast would be the winner. Well, I take that back. If you're getting a time only 65 times faster then I think it's due to the fact that your version is so fast that it's beyond TEVAL's timing resolution. ---------------------------------------------------------------------------- --- Jonathan Busby - before replying. > [..] > This is fun =) > It would be more fun (at least for me) if you used SASM or JAZZ syntax;-) Raymond here's the shortest version I made in the mid 90ies: Combining yours with a Good Idea (tm) in mine one gets Row1 A=0 A -- LC(2) 33 B=C A LC(1) #A ?ABIT=0 0 GOYES + C=-C-1 A + - DAT0=C P D0=D0+ 1 B=B-1 B GONC - A=A+1 A ?ABIT=0 6 GOYES -- GOVLNG =GETPTRLOOP ENDCODE This one is 36.5 bytes with checksum # DC1h (48G) . ---------------------------------------------------------------------------- --- Jonathan Busby - before replying. Your code variation is even two CPU cycles faster per loop;-) D=D-1 A 7 cycles D=D-1 B 5 cycles Raymond Thomas Rast schrieb im Newsbeitrag here's the shortest version I made in the mid 90ies: Combining yours with a Good Idea (tm) in mine one gets CODE > SAVE GOSBVL D0->Row1 > LC(2) 63 D=C.A > LC 555555555555555 > A=C.W A+A.W > { > DAT0=C.W D0+16 > DAT0=C.W D0+16 > DAT0=C.B D0+2 > ACEX.W > D-1.B UPNC > } > LOADRPL > ENDCODE 45 bytes, #DDA9h > Thomas -- > Thomas Rast -- Harry S. Truman Your code variation is even two CPU cycles faster per loop;-) D=D-1 A 7 cycles > D=D-1 B 5 cycles I've noticed that processor cycles are not everything. Consider the difference between the R0=C.A and R0=C.W opcodes: The former is 6 nibbles long and takes 14 cycles, while the latter is 3 nibbles long and takes 20.5 cycles (according to Introduction to Saturn Assembly Language). So choosing one of the two - at least where both are possible - seems to be a question of space or speed. However the additional memory reads needed to fetch the longer one (R0=C.A) mostly undo the speed advance. This can be seen quite easily: Short form: CODE C=0.A C-1.A { R0=C.W C-1.A UPNC } RPL ENDCODE 16 bytes, #2270h, TEVAL: 15.22 seconds Long form: CODE C=0.A C-1.A { R0=C.A C-1.A UPNC } RPL ENDCODE 17.5 bytes, #1978h, TEVAL: 14.90 seconds So the difference in execution time for one single instruction is 0.32 seconds divided by #FFFFFh: 3.05E-7 seconds. While the expected difference is 6.5 cycles divided by 4MHz: 1.63E-6 seconds, more than five times as much. Note that the last number is even an underestimate, since the Saturn runs either at 3.75 or 3.95 MHz. Thomas -- Thomas Rast If you cannot convince them, confuse them. -- Harry S. Truman By checkerboard I mean individual pixels alternate between off and on in > both directions. I came up with a few ways but was wondering if there was > any kind of trick that would let me do it quicker. I guess doing it once > then storing the LCD in a GROB would be the fastest but that would also > waist a lot of space so lets say no GROBs allowed. How about (in MASD syntax) CODE SAVE GOSBVL D0->Row1 LC(2) 63 B=C.A % Loop counter LC 5555555555555555 % Pattern (16 digits) { DAT0=C.W D0+16 % Write a display line DAT0=C.W D0+16 DAT0=C.B D0+2 CSRB.W % Alternate pattern P=C.0 C=P.15 % Copy leftmost nibble B-1.B UPNC % Decrement counter } P=0 LOADRPL ENDCODE 47 bytes, CRC #E27Fh TEVAL: 0.0313 seconds If you want the top left pixel to be white instead of black, change the pattern to all A's instead of 5's. Thomas -- Thomas Rast If you cannot convince them, confuse them. -- Harry S. Truman > By checkerboard I mean individual pixels alternate between off and on in > both directions. I came up with a few ways but was wondering if there was > any kind of trick that would let me do it quicker. I guess doing it once > then storing the LCD in a GROB would be the fastest but that would also > waist a lot of space so lets say no GROBs allowed. Try the following program. It is a lot faster than any pixel-by-pixel program I have seen, and works on an HP48 or HP49: << 0. 130. XRNG 0. 63. YRNG ERASE { #0 #0 } PVIEW 0. 63. FOR Y 0. Y R->C 130. Y R->C LINE 2 STEP 0. 130. FOR X X 0. R->C X 63. R->C TLINE 2 STEP 7 FREEZE > By checkerboard I mean individual pixels alternate between off and on in > both directions. I came up with a few ways but was wondering if there was > any kind of trick that would let me do it quicker. I guess doing it once > then storing the LCD in a GROB would be the fastest but that would also > waist a lot of space so lets say no GROBs allowed. Try the following program. It is a lot faster than any >pixel-by-pixel program I have seen, and works on an HP48 or HP49: << 0. 130. XRNG 0. 63. YRNG ERASE { #0 #0 } PVIEW > 0. 63. FOR Y 0. Y R->C 130. Y R->C LINE 2 STEP > 0. 130. FOR X X 0. R->C X 63. R->C TLINE 2 STEP > 7 FREEZE >> You'll also find working in direct screen coordinates is faster than going through the HP's scaling functions. Something like: << #131d #64d BLANK PICT STO 0 64 FOR y #0d y R->B 2 ->LIST #130d y R->B 2 ->LIST LINE 2 STEP o 130 FOR x x R->B #0d 2 ->LIST x R->B #63d R->B 2 ->LIST TLINE 2 STEP 7 FREEZE > On my GX your original program ran in about fourteen seconds whereas the above one runs in about ten. -- john R. Latala jrlatala@golden.net By checkerboard I mean individual pixels alternate between off and on in > both directions. I came up with a few ways but was wondering if there was > any kind of trick that would let me do it quicker. I guess doing it once > then storing the LCD in a GROB would be the fastest but that would also > waist a lot of space so lets say no GROBs allowed. Try the following program. It is a lot faster than any >pixel-by-pixel program I have seen, and works on an HP48 or HP49: << 0. 130. XRNG 0. 63. YRNG ERASE { #0 #0 } PVIEW > 0. 63. FOR Y 0. Y R->C 130. Y R->C LINE 2 STEP > 0. 130. FOR X X 0. R->C X 63. R->C TLINE 2 STEP > 7 FREEZE >> At least it's in RPL! :-) I guess I should have mentioned in my original post that I wasd looking for an RPL solution. I tried it and on my GX it took about 14 seconds which is slower than my RPL solution which runs in about one second (give or take). %%HP: T(3)A(D)F(.); << LCD-> SIZE BLANK PICT STO { # 0d # 0d } PVIEW { # 0d # 0d } PIXON { # 1d # 1d } PIXON PICT { # 2d # 0d } PICT { # 0d # 0d } { # 1d # 1d } SUB REPL PICT { # 4d # 0d } PICT { # 0d # 0d } { # 3d # 1d } SUB REPL PICT { # 8d # 0d } PICT { # 0d # 0d } { # 7d # 1d } SUB REPL PICT { # 16d # 0d } PICT { # 0d # 0d } { # 15d # 1d } SUB REPL PICT { # 32d # 0d } PICT { # 0d # 0d } { # 31d # 1d } SUB REPL PICT { # 64d # 0d } PICT { # 0d # 0d } { # 63d # 1d } SUB REPL PICT { # 128d # 0d } PICT { # 0d # 0d } { # 2d # 1d } SUB REPL PICT { # 0d # 2d } PICT { # 0d # 0d } { # 130d # 1d } SUB REPL PICT { # 0d # 4d } PICT { # 0d # 0d } { # 130d # 3d } SUB REPL PICT { # 0d # 8d } PICT { # 0d # 0d } { # 130d # 7d } SUB REPL PICT { # 0d # 16d } PICT { # 0d # 0d } { # 130d # 15d } SUB REPL PICT { # 0d # 32d } PICT { # 0d # 0d } { # 130d # 31d } SUB REPL 7 FREEZE > P.S. Even though I was looking for an RPL solution it was informative looking at all the other solutions. -- john R. Latala jrlatala@golden.net well I am glad to announce that yes I had both calculators in my hands to day and I could not really tell a difference in the key the broken calc was a Chinese model and the Indonesian replacement has the good screen and I am very happy again I just finished installing the beta flash ROM and now I can begin using my new books from Gilberto Urroz which I highly recommend they are very well written. hopefully I will be answering question instead of asking so many after the 2 books ;) good night all > I purchased a hp 49g from Samson in Dec of last year. recently I went to > turn it on and to make a long story short its dead in the water so the hp > tech that I talked to recommended ups 2 day replacement as I cant wait 2 > weeks to get another calculator I have to start using it as soon as possible > for my calculus class. that part of the service was incredible great > technicians pleasant fast and all that my problem is they are replacing my > Chinese model with an Indonesian model I have hear bad things about these > calculators now I can deal with stiff keys I'm a big strong boy (loll) but > my main concern is a screen with poor visibility or that has fun colors etc. > if the Indonesian calculators are obviously inferior why is hp still selling > / sending them to nice loyal customers like me I have previously owned the > last 2 models in this series. my cal id number is id94202887 is there any know > this was a little long winded but....I appreciate the help > well I am glad to announce that yes I had both calculators in my hands to > day and I could not really tell a difference in the key the broken calc was > a Chinese model and the Indonesian replacement has the good screen and I am > very happy again I just finished installing the beta flash ROM and now I can > begin using my new books from Gilberto Urroz which I highly recommend they > are very well written. hopefully I will be answering question instead of > asking so many after the 2 books ;) good night all > I purchased a hp 49g from Samson in Dec of last year. recently I went to > turn it on and to make a long story short its dead in the water so the hp > tech that I talked to recommended ups 2 day replacement as I cant wait 2 > weeks to get another calculator I have to start using it as soon as > possible > for my calculus class. that part of the service was incredible great > technicians pleasant fast and all that my problem is they are replacing my > Chinese model with an Indonesian model I have hear bad things about these > calculators now I can deal with stiff keys I'm a big strong boy (loll) but > my main concern is a screen with poor visibility or that has fun colors > etc. > if the Indonesian calculators are obviously inferior why is hp still > selling > / sending them to nice loyal customers like me I have previously owned the > last 2 models in this series. my cal id number is id94202887 is there any know > this was a little long winded but....I appreciate the help I purchased mine from amazon and it is a chinese model, I really don't have any problems with it. The buttons are a little stiff at first but with use they either become less stiff or I'm just getting used to them. I haven't had any problems with the screen...only problem I have is trivial, the calculator slide cover after being taken off and put back on so many times no longer stays on as well. Other than that, its a great calculator! > I purchased a hp 49g from Samson in Dec of last year. recently I went to > turn it on and to make a long story short its dead in the water so the hp > tech that I talked to recommended ups 2 day replacement as I cant wait 2 > weeks to get another calculator I have to start using it as soon as possible > for my calculus class. that part of the service was incredible great > technicians pleasant fast and all that my problem is they are replacing my > Chinese model with an Indonesian model I have hear bad things about these > calculators now I can deal with stiff keys I'm a big strong boy (loll) but > my main concern is a screen with poor visibility or that has fun colors etc. > if the Indonesian calculators are obviously inferior why is hp still selling > / sending them to nice loyal customers like me I have previously owned the > last 2 models in this series. my cal id number is id94202887 is there any know > this was a little long winded but....I appreciate the help I purchased an HP 49G from HP Shopping and it was an Indonesian model that had a screen that scratched easily, but no rainbow effect. I called HP and they asked for the serial# off the back, and after I read it off to them, they told me it was a model that wasn't supposed to be defective. They said, the defective ones were the first runs made in Indonesia and that later ones produced there were okay. Well, after telling the man that regardless of any of that, my screen scratches by simply wiping off the dust, so they gave me an order # and address to their new service center in Tennessee and I ended up with a brand new one from China, which is perfect. Even if your new replacement model is of the bad batch, it can still be returned again until you get a good one. Oh, and HP has a service as well, where they will send you the new calc first and let you return the old one after getting your new one. >so they gave me an order # > and address to their new service center in ***Tennessee*** and I ended up > with a brand new one from China, which is perfect. : What service center in TN? I live in Nashville. Anyone know where this is located? >so they gave me an order # > and address to their new service center in ***Tennessee*** and I ended up > with a brand new one from China, which is perfect. : What service center in TN? I live in Nashville. Anyone know where this > is located? It is in LaVergne Tennessee, by the way were practically neighbors, I'm from Kentucky. Try: http://www.contrib.andrew.cmu.edu/~drury/hp48gaur/ It's not the complete guide, though. Walter. > I'm trying to locate a copy of the hp48 Advanced User's Reference. Does > anyone know if it is available for download? Can't locate it at hpcalc.org. try www.calcpro.com $29.95 > I'm trying to locate a copy of the hp48 Advanced User's Reference. Does > anyone know if it is available for download? Can't locate it at hpcalc.org. Do somebody on the group had the idea to control the Philips Expanium 401 with hp49g? (Because there's some kind of in-cord remote attached...) Is it possible? > Using ROM 1.19-6, Calc is set to RAD and EXACT (I've also tried > different configurations that yield the same result listed below). I'm not sure if the ->Qpi command is working properly. > > For example 4.712 should convert to '(3*pi)/2' using the ->Qpi > command. > Instead it converts to '33/7' - the same as the ->Q command. Based on the '48 manual, the ->Qpi command compares the fractional > equivalent of the original number AND the fractional equivalent of the > original number divided by pi. It returns the fraction with the > smallest denominator - which should by '(3*pi)/2' and not '33/7'. What am I doing incorrectly? > The command ->Qpi does work correctly. It doesn't give (3*pi)/2 when > you feed it with the decimal approximation of 33/7 because 4.712 is > not the 12 digits approximation for (3*pi)/2. If you feed it with > 4.71238898038 then it will return (3*pi)/2. > you're correct in pointing out that the numeric format (and hence, the precision) determines whether the ->Qpi command functions properly or works the same as ->Q. Glenn > Using ROM 1.19-6, Calc is set to RAD and EXACT (I've also tried > different configurations that yield the same result listed below). I'm not sure if the ->Qpi command is working properly. For example 4.712 should convert to '(3*pi)/2' using the ->Qpi > command. > Instead it converts to '33/7' - the same as the ->Q command. The effect of the ->Qpi command (and the XQ and ->Q commands) depends on the current display settings. If you are using the STD (standard) display then you need 11 or 12 significant digit precision in the decimal representation in order to guarantee the '(3*pi)/2' result. However, using a FIX display, for example 6 FIX, and a 6 decimal place roundoff of the numerical value of '(3*pi)/2', you will find that ->Qpi will give '(3*pi)/2'. Some experimentation is necessary to determine how many significant digits are needed with the various display options to get a good conversion to rational or rational multiple of pi format. NOTE: The numeric display options are STD (standard), n FIX (fixed), n SCI (scientific), n ENG (engineering), with 0 <= n <= 11, for the number ofdecimal places to be displayed. The RND (roundoff) function takes as input a number-to-be-rounded and a roundoff code n, with -11 <= n <= 11. Negative n's round to |n| significant digits (at least 1) while non-negative n's round to n decimal places (including zero), the same as in the HP48 series. I'm looking for the unoffical manual of hp28s/c made by a french man in french language in which there it is indicated how to connect this calculator to a PC Nicolas On Sat, 10 Aug 2002 16:43:01 +0200, Nicolas french language in which there it is indicated how to connect this >calculator to a PC > Nicolas > Is this what you're looking for? : http://www.courbis.com/voyage28.html ---------------------------------------------------------------------------- --- Jonathan Busby - before replying. On my new HP49G I have a dark irritating shadow under every sign on the display. Though the LCD has a higher contrast it's worth readable than my old HP48G because of this shadow. I thought that HP has improved the displays. Any similar experiences? Georg. Try reducing the contrast (Press and hold 'on'; press '-' or '+') >On my new HP49G I have a dark irritating shadow under every sign on >the >display. Though the LCD has a higher contrast it's worth readable than >my old HP48G because of this shadow. I thought that HP has improved >the displays. Any similar experiences? Georg. > Try reducing the contrast (Press and hold 'on'; press '-' or '+') On my new HP49G I have a dark irritating shadow under every sign on >the >display. Though the LCD has a higher contrast it's worth readable than >my old HP48G because of this shadow. I thought that HP has improved >the displays. Any similar experiences? Georg. Unfortunately that doesn't help much. Georg. > Try reducing the contrast (Press and hold 'on'; press '-' or '+') On my new HP49G I have a dark irritating shadow under every sign on >the >display. Though the LCD has a higher contrast it's worth readable than >my old HP48G because of this shadow. I thought that HP has improved >the displays. Any similar experiences? Georg. Unfortunately that doesn't help much. Georg. Taoist writings, formatted for Scribe. The writings of Chuang Tzu http://www.windmills.freeserve.co.uk/ChuangTzu/ Quisiera que alguien me ayude, el problema es que le transferi un programa que era para HP48 a mi HP49G, y al momento de reiniciar para terminar la instalacion en el puerto 2 no entro mas, la he reseteado CAS, incluso la he dejado horas desconectada y lo mismo. Espero me puedan ayudar Mant.8en presionada la tecla [DROP] mientras la calculadora se reinicializa. Despu.8es de varios intentos seguro que puedes acceder. Ve al puerto 2 y borra la librer.92a en cuesti.97n. Por cierto, el grupo en espa.96ol para las calculadoras hp es: es.comp.sistemas.hp48 Saludos > Quisiera que alguien me ayude, el problema es que le transferi un > programa que era para HP48 a mi HP49G, y al momento de reiniciar para > terminar la instalacion en el puerto 2 no entro mas, la he reseteado > CAS, incluso la he dejado horas desconectada y lo mismo. > Espero me puedan ayudar I am a surveyor and only use my 49g for running programs I use for work. these are written in RPN and work well for what I do. Is there any need for me to update to the latest ROM? I have ROM version 1.18. Ever since ROM 1.19-5 (now 1.19-6) the HP 49G OS has been perfect. That is: no major bugs and loaded with useful operations. For example I like the CAS help system very much. I recommend upgrading to the latest ROM anyway. > I am a surveyor and only use my 49g for running programs I use for work. > these are written in RPN and work well for what I do. Is there any need for > me to update to the latest ROM? I have ROM version 1.18. I have a program that gives at the end a GROB. This GROB displayed on the screen and saved in XXX variable(for other time display). I used a temporary (TEMP) variable. I am wondering if it is must using this temperary variable: . . . @ here is the GROB 'TEMP' STO << TEMP ->LCD 3 FREEZE > 'XXX' STO XXX > Tal Why don't you try it ! ;-) I have a program that gives at the end a GROB. This GROB displayed on the screen and saved in > XXX variable(for other time display). I used a temporary (TEMP) variable. I am wondering if it is must using this temperary > variable: > . > . > . @ here is the GROB > 'TEMP' STO > << TEMP ->LCD 3 FREEZE > 'XXX' STO > XXX Tal I have a repeatable file result that stored in xxx variable. Does anyone could help to check if this file is exist and if so the result file name will be changed and will be stored as xxx1 and so on. Tal Do you mean something like: << IF 'xxx' VTYPE -1 == THEN 'xxx' STO ELSE 0 -> k << k WHILE 'xxx SWAP + STR-> VTYPE -1 == REPEAT 'k' INCR END 'xxx k + STR-> STO > END > or, if you can give up on the initial 'xxx' and settle for 'xxx0' and with some trimming and experimenting: << -1 -> k << 0 DO DROP 'k' INCR 'xxx SWAP + STR-> DUP VTYPE -1 UNTIL # @ 'not equal' above [+/-] key END STO I have a repeatable file result that stored in xxx > variable. Does anyone could help to check if this file is > exist and if so the result file name will be changed > and will be stored as xxx1 and so on. Tal -- Al. Andreou, ee4299 at ee.teiath.gr. | When everything else fails, http://nemesis.ee.teiath.gr/~ee4299/ | this won't work either. . . I have a repeatable file result that stored in xxx variable. Does anyone could help to check if this file is exist and if so the result file name will be changed and will be stored as xxx1 and so on. Tal I have a repeatable file result that stored in xxx > variable. Does anyone could help to check if this file is > exist and if so the result file name will be changed > and will be stored as xxx1 and so on. Tal Though I don't get exactly what a repeatable file is, you can always check if a variable with a given name exists by using: VARS nameOfYourFile POS where nameOfYourFile can be 'xxx' or anything else. I have one made in 1999 (Indonesia), poor quality, but already with a black on green screen. New HP48GX seem to have the black on white (or rather grey) screen from the HP49G. Does anyone know since when the HP48GX comes with the new screen? In which country are the newest HP48GX made? Still in Indonesia? Georg. > I have one made in 1999 (Indonesia), poor quality, True... the old Singapore units were great. I dropped mine and cracked the > screen 8..( a few years ago and now I have an older Indonesian unit, Also, > I recently picked up a new one (at a price lower than the others) with a the > back screen. New HP48GX seem to have the black on white (or > rather grey) screen from the HP49G. Yep. Does anyone know since when the HP48GX comes with the new screen? I've seen them around for sevel months -- some places that still have the > greenish-blue screens are likely sitting on older stock that hasn't been > moving very quickly. In which country are the newest HP48GX made? Still in Indonesia? Still Indonesia. The new units have nomenclature printed on the keys (and usually not > straight). My newer unit is slower than the older one and the alarm/beeper > is considerably less audible. The over all quality is reduced, but so is > the price (I would have gladly paid extra for better quality and lasting > value, and enjoyed buying the products from a firm that truly believed in > customer service -- the game does not work that way anymore). > Greg I still have a one question: Is the brand new screen really better readable? On the display of the HP49g there is a much bigger shadow underneath every sign compared to the old green screen. I could get a HP48gx made in Singapore 1995 second hand with the blue on green screen. Will there be a big difference to my Indonesian one (1999) with the black on green screen? Georg. X > Is the brand new screen really better readable? On the display of the > HP49g there is a much bigger shadow underneath every sign compared to > the old green screen. > I could get a HP48gx made in Singapore 1995 second hand with the blue > on green screen. Will there be a big difference to my Indonesian one > (1999) with the black on green screen? X Are you sure your 49G is ok?! I have in front of me a 48SX (3109S00700) and a 48GX (3448S03303) plus a 49G (ID93101038) (my own, not the original though) a 49G (ID93100819) (long loan) a 49G (ID95000985) AND a 41CX (2426S42123) The best displays are 41CX (with a small shadow) and the 49G, where I can see the shadow when light comes from 45 up-front (above the calculator) AND when I look the LCD from the left side while the light is almost directly above the calculator, maybe slightly to the north the real pixels almost vanish and I can see only the shadow. BUT under normal use I never noticed that before, so I ask once again: Is your HP 49G ok? The 48SX looses contrast when tilting, but the 48GX seems to be ok. Adjusting the contrast with [ON] [ + ] / [ - ] helps somewhat. I don't know how much of this is just a viewers opinion different lightning conditions, contrast settings, etc. Comments? chao Yes it is a bug!!! > Look at the example! Some digits are missing! Oh no, and I was thinking that the continuation character (...) was meant here. Now that I tried it myself, I see. > I never noticed this before and only God knows how many > errors I have made trusting to the fact that I will always get > to see a window-full of numbers never missing a single digit !! Exactly the same with me. So this buggy thing is not to be trusted at all? Will someone tell us *all* things that we have to worry about using the HP49G, or do we have to find each and every bug and error ourselves and one at a time? Anyway, it seems that the HP49G is just a good chance for training the detectivistic abilities. What Jedi Knights are we talking about? I feel more and more like Columbo trying to brong some light to the ingredients of this calculatory crime ;-) > AUTSCH! This is painful but nice to know that there is Yes, and what after 1.19-7? Or does someone expect to get at last a clean system with 1.19-whatsoever? P.S. Patching a patchwork gives always a new even more complicated patchwork, which at some point breaks down without any particular reason. Long live the Hewlett-Patch 49G ;-) > No, it isn't a bug and actually this very same behavior occurs when > editing any kind of object that contains lines longer than the > display. Convert your long number to a string and try to edit it. > You'll notice the same. The ellipsis ... (character 30 on the HP49G) > is a help for you, for quickly noticing that some object extends past > the right or left edge of the display. > X > Example > 123456789012345678901234567890 > When you attempt to edit the number, in the first 'window' you see > 123456789012345678901... > pushing left shift right arrow twice gets you: > ...34567890123456789012... > and the next window: > ...4567890 etc X > Oh no, and I was thinking that the continuation character (...) was > meant here. Now that I tried it myself, I see. I never noticed this before and only God knows how many > errors I have made trusting to the fact that I will always get > to see a window-full of numbers never missing a single digit !! Exactly the same with me. So this buggy thing is not to be trusted at Yes, this was exactly my 1st reaction !! But now I take back some of the *bugging* here. To me, personally, ever since 1.19-5 was released there has been no big crashes, no major bugs and the overall functionality is excellent. even the smaller bugs that tend to crawl under the hood ;-) > all? Will someone tell us *all* things that we have to worry about > using the HP49G, or do we have to find each and every bug and error > ourselves and one at a time? X With the current state of the things (quite good) and remembering the fact that this is the only HP calculator with Flash ROM I wouldn't be so worried - as long as JYA kindly patches everything on request. Now we need just one more thing: Bernard to put units back into the EQW !!! Then this calculator would be perfect IMO. > 123456789012345678901234567890 Enter When you attempt to edit the number, in the first 'window' you see 123456789012345678901... pushing left shift right arrow twice gets you: ...34567890123456789012... no matter which font or view mode or editing that I have tried, I get the > same result, loosing one number at the beginning and end of each window. Some may argue that... Page Left/Right have been put there in order to view or find text easily. If you summarize Page Left/Right to: equivalent of pressing 22 (or 33) times left/right arrow. editor is the same as the HP49) I didn't have anything to refer to. That is, the HP48 doesn't have page left/right, and I do not know any other HP48 editor displaying the ... at the edge of the page, therefore hard to compare with anything existing. So I had to make a choice. If you edit a string made of 1234567890 many times First time you edit you will see: 123456789012345678901... , the ... hiding the 2 Pressing LS Right Arrow will put the cursor on the last 1. Pressing again: will display: ..34567890123456789012... As you can see, the previous 2 is *still* in the window. So you see it twice (even if it's covered). Depending on the number of characters to display, the page scroll will always be a move of 21 characters (or 32). this is by design choice. I had intensive review of this behaviour, and have always questioned myself wether I should change the number of characters to be shifted at a time. I believe the actual choice give the best compromise between speed and how useful it is, I only use the PageScroll to quickly find text, then I use the non-shifted arrow keys. In the nearly 7 years of existence of this text editor, I never had any complains about it :) X > If you summarize Page Left/Right to: equivalent of pressing 22 (or 33) times > left/right arrow. X > Depending on the number of characters to display, the page scroll will > always be a move of 21 characters (or 32). > this is by design choice. > I had intensive review of this behaviour, and have always questioned myself > wether I should change the number of characters to be shifted at a time. I > believe the actual choice give the best compromise between speed and how > useful it is, I only use the PageScroll to quickly find text, then I use the > non-shifted arrow keys. X I still don't quite get it, sorry! Why not move 20/31 characters at a time AND at the first page 21/32 OR which I think might be even better: pad it with one |> store arrow at the beginning to equalize the length & to show that you are back at the beginning when moving to the left. The last page seems to be ok length with a space for cursor to the right. After using years (from 1973: HP-21), no - decades of HP calculatrice I have come to trust them, that is, I trust the engineers taken care of *everything* and I just use them without a care because they are Best ! This feature - cosmetic to some, thinking it only as a quickview (quite ok) - crucial to those (like me) who think it as a tool to write down long integers or hex digits - can be corrected very easily. Please?! the > editor is the same as the HP49) I didn't have anything to refer to. That is, > the HP48 doesn't have page left/right, and I do not know any other HP48 > editor displaying the ... at the edge of the page, therefore hard to compare > with anything existing. > So I had to make a choice. I had intensive review of this behaviour, and have always questioned myself > wether I should change the number of characters to be shifted at a time. I > believe the actual choice give the best compromise between speed and how > useful it is, I only use the PageScroll to quickly find text, then I use the > non-shifted arrow keys. explain it. I can see how for page scrolling of text it is very useful. I thought the page scroll was older than that, (btw I dont have a 48... yet.) as I know that the HP 16 had a window function for long binary numbers, as going through binary numbers one by one, would be very confusing. (Which is why sane people convert them to hex :) ) However scrolling through long hex or decimal numbers can get confusing too. So currently what I do is I put page breaks after each 20 characters so I can see all the numbers on the screen at once, so I'll simply write a short program doing just that. > In the nearly 7 years of existence of this text editor, I never had any > complains about it :) lol. sorry to be the first. :) Blair. > So currently what I do is I put page breaks after each 20 characters so I > can see all the numbers on the screen at once, so I'll simply write a short > program doing just that. I suggest the following program to do just that: 256 ATTACH << ->STR 20 R~SB 100000000 R~SB #9B003 FLASHEVAL DROP > 'CUT20' STO Will do just what you want to do, but very fast .. Perfect, Blair > I suggest the following program to do just that: > 256 ATTACH > << > ->STR 20 R~SB 100000000 R~SB > #9B003 FLASHEVAL DROP 'CUT20' STO Will do just what you want to do, but very fast .. > wingman schrieb im Newsbeitrag > I want to buy a hp48gx. Does anyone know a shop in Germany where I can > get one for less than 150 Euro? Do you need the expandability of the GX? If not you will get an 48G+ for 69 Euro at www.abyte.de Holger what would i have to change (48SX) to make this work on an HP49G? (for external keyboard) TX Several people have mentioned the lack of support for Using the Power of Your HP-48sx from your PC in the cable/software package. In order to help bridge that gap - and mostly because I can't type long programs on the 48's keyboard - I have written a program that allows object entry from a terminal or it basically to see if I could do it. I hope that someone can get some good use out of it. Purpose: This program will allow a user to type objects on a terminal (or terminal emulator directly to the HP-48sx. Directions for use: Download the directory TERM. Setup your IOPAR variable for XON XOFF and for whatever other communication parameters you want to use. For example: for 9600 baud, no parity checking, and XON XOFF - your IOPAR variable could be { 9600 0 1 1 3 1 }. Note that the translate code, and checksum type are not used. Connect the 48sx to your terminal or PC and set up the communication parameters on both the 48 and PC. Make TERM the current directory, and execute TRM. You should see: Term Entry 1.0 on your terminal screen, as well as on the 48sx screen. Now you can type things on your terminal. Each character is sent to the 48. To tell the 48 that you are finished with the current object, type END on a line by itself. All the lines you have typed so far will be combined into an object and left on the stack. The backspace key (Control-H) will delete the last character you typed on a current line. This is the only form of editing allowed. To enter the symbols <<, >, or -> you should type <<, >, -> respectively. The program automatically takes care of converting the symbols. Since this program uses XMIT and SRECV for I/O, the translate code in IOPAR is not used. This means that <<, >, and -> will be the only symbols converted. because I wanted to be able to use a typewriter keyboard to enter data into the 48. I have some ideas for enhancements such as better editing capabilities, two way data transfer, more control of the 48 from a terminal, etc. If I get the chance, I'll add some of these features. Also, and this is VERY IMPORTANT. This code expects the stack to be empty before it is run. I know this is not good calculator programming etiquette, but hey, I'll fix it in a later release. As you've probably guessed, I'm a software engineer :-) Feel free to do whatever you want to this code. Please let me know if you make any cool enhancements. The directory contains the following objects: TRM - Main entry point to this program. This saves the current flags, prints Term Entry 1.0 on the 48's display, and calls GETPROG. Flag 2 is set. Flag 2 does not mean anything. It was supposed to mean that the program should echo characters back to the terminal. The program always echos characters to the terminal, so flag 2 doesn't do anything. I should remove it, but I haven't yet. GETPROG - Get a program (or any object). This procedure opens I/O communications, clears the I/O buffer, and sends Term Entry 1.0 to the Terminal. Then it collects lines of text, until the user types END. Afterwards, it combines all the lines of text into a single object and leaves it on the stack. READLN - Reads a line of text. A line is a string of characters terminated with a carriage return. FIXLN - Convert <<, >, -> into their 48sx representations everywhere they appear in a line. CNVR - Convert all the strings on the stack (lines) into one object. READCH - Read a single character from the terminal, and add it to the current string. If the character is a backspace, then erase one character from the string. If the character is a carriage return, then echo a carriage return, line feed sequence. DECL - Remove one character from the current line. LIN - Current line is stored here. When the line is terminated, it gets pushed as a string onto the stack. Jamie Odell MXO - Commercial Systems Division (CSY) Hewlett-Packard Co. jodell@hpda.hp.com ---------------------------------------------------------------------------- -- #FD90h 953 %%HP: T(3)A(D)F(.); DIR TRM << CLLCD Term Entry 1.0 1 DISP RCLF -> f << 2 SF @ Set terminal echo on (not used!). GETPROG f STOF > > GETPROG << OPENIO BUFLEN DROP SRECV DROP @ Clear the serial I/O buffer before doing anything DROP Term Entry 1.0 13 CHR + 10 CHR + XMIT @ Transmit message with CR/LF DROP DO READLN LIN @ Read in next line FIXLN @ Convert special characters to 48 characters UNTIL LIN itself 'LIN' STO END CNVRT @ Pack all lines into a single object > READLN << DO READCH DUP @ Read characters until CR 'LIN' SWAP STO+ UNTIL 13 CHR END > FIXLN << -> l << 1 CF @ Check for occurences of << > -> DO l CASE l @ Loop until no more occurences are found, << POS @ converting each occurence on the way to the 48 THEN l @ representation. << POS << @ REPL @ More special characters can be added as needed. END l @ Just add a new case. > POS @ Remember to replace the number of characters you THEN l @ remove with an identical number of characters. > POS > REPL END l -> POS THEN l -> POS -> REPL END 1 SF END 'l' STO UNTIL 1 FS? @ Flag 1 is a boolean used to tell us if we are done END l > > CNVRT << DROP DEPTH @ Drop the END string off the stack -> d << IF d 1 > @ Combine everything on the stack into one string THEN 2 d START + NEXT END OBJ-> @ Convert the string into an object > > READCH << DO @ Wait until the user types a key on the terminal UNTIL BUFLEN DROP 0 > END 1 SRECV @ Get one character at a time! DROP -> c << CASE c 13 @ If the character is a return then echo CR/LF THEN c 10 CHR + XMIT DROP c END c 8 @ If the character is a backspace, then erase the from THEN c @ the current line. + c + XMIT DROP DECLN END c XMIT DROP c @ Otherwise, just echo the character. END > > DECLN << LIN 1 LIN SIZE 1 - SUB 'LIN' STO > LIN END what would i have to change (48SX) to make this work on an HP49G? > (for external keyboard) [program snipped] By the look of it, I don't see any reason why this program shouldn't work directly on the HP49 They (it) work(s) just like the Copy, Cut and Paste commands on your PC -- and are useful for editing long strings of text or moving around lines of a program while programming on the 49. Also, Begin and End commands are use to highlight (or select) the text blocks that are to be Cut or Copied and then Pasted. This is one feature addition on the 49 (that the 48 doesn't have) that I appreciate. It's also nice to edit long text strings and programs with the smaller system font and 7 level display. Greg S > My english is very bad. I will be very short. > čWhat is the command paste? > čHow can I use the paste command in a program? > I can't fin this command anywere and it is very important. They (it) work(s) just like the Copy, Cut and Paste commands on your > PC -- and are useful for editing long strings of text or moving around lines > of a program while programming on the 49. Also, Begin and End commands > are use to highlight (or select) the text blocks that are to be Cut or > Copied and then Pasted. This is one feature addition on the 49 (that > the 48 doesn't have) that I appreciate. It's also nice to edit long text > strings and programs with the smaller system font and 7 level display. But I think that I'd have to call these operations rather than commands because they can't be used in a program. Well, not in a UserRPL program at least. But there are commands for working with strings. See POS, SIZE, SUB, REPL, SREPL, CHR, NUM, ->STR, and STR->. > Greg S > My english is very bad. I will be very short. > čWhat is the command paste? > čHow can I use the paste command in a program? > I can't fin this command anywere and it is very important. -- James > They (it) work(s) just like the Copy, Cut and Paste commands on your > PC -- and are useful for editing long strings of text or moving around lines > of a program while programming on the 49. Also, Begin and End commands > are use to highlight (or select) the text blocks that are to be Cut or > Copied and then Pasted. This is one feature addition on the 49 (that > the 48 doesn't have) that I appreciate. It's also nice to edit long text > strings and programs with the smaller system font and 7 level display. But I think that I'd have to call these operations rather than commands because they can't be used in a program. Well, not in a UserRPL program at least. But there are commands for working with strings. See POS, SIZE, SUB, REPL, SREPL, CHR, NUM, ->STR, and STR->. > Greg S > My english is very bad. I will be very short. > čWhat is the command paste? > čHow can I use the paste command in a program? > I can't fin this command anywere and it is very important. -- James But I think that I'd have to call these operations rather than > commands because they can't be used in a program. Well, not in a > UserRPL program at least. > [ forceful and ascertive tone ] No. The machine does whatever I tell it to do (within a program or not), so it's a command -- always. I'm its master. [ now murmuring under my breath: ] I can't believe that I was so sloppy with the use of words and that someone was even alert enough to catch it. I'll never do that again. ;-) Greg S But I think that I'd have to call these operations rather than > commands because they can't be used in a program. Well, not in a > UserRPL program at least. > [ forceful and ascertive tone ] No. The machine does whatever I tell it to do (within a program or not), so it's a command -- always. I'm its master. [ now murmuring under my breath: ] I can't believe that I was so sloppy with the use of words and that someone was even alert enough to catch it. I'll never do that again. ;-) Greg S To the new HP 49G users: An operation on a key can some times be programmed by using the KEYEVAL command. But I think that I'd have to call these operations rather than > commands because they can't be used in a program. Well, not in a > UserRPL program at least. [ forceful and ascertive tone ] No. The machine does whatever I tell it to > do (within a program or not), so it's a command -- always. I'm its > master. [ now murmuring under my breath: ] I can't believe that I was so sloppy > with the use of words and that someone was even alert enough to catch it. > I'll never do that again. ;-) Greg S > To the new HP 49G users: > An operation on a key can some times be > programmed by using the KEYEVAL command. Sometimes you say? That means, there are exceptions? But I think that I'd have to call these operations rather than > commands because they can't be used in a program. Well, not in a > UserRPL program at least. [ forceful and ascertive tone ] No. The machine does whatever I tell it > to > do (within a program or not), so it's a command -- always. I'm its > master. [ now murmuring under my breath: ] I can't believe that I was so sloppy > with the use of words and that someone was even alert enough to catch it. > I'll never do that again. ;-) Greg S What should the FOR k do? (internally?) << 0. 999. FOR k k 1. DISP k -105. KEYEVAL NEXT > Active command line is a problem and there might be other problems. > To the new HP 49G users: > An operation on a key can some times be > programmed by using the KEYEVAL command. Sometimes you say? That means, there are exceptions? > X What should the FOR k do? (internally?) << 0. 999. FOR k k 1. DISP k -105. KEYEVAL NEXT > Active command line is a problem and there might be other problems. > To the new HP 49G users: > An operation on a key can some times be > programmed by using the KEYEVAL command. Sometimes you say? That means, there are exceptions? > X Let's see, type in 's code, [EVAL], huh???? What was that? Recover last command, [ENTER], [DBUG[, everything seems right until first time KEYEVAL runs. Then suddenly the FOR NEXT loop exits (??????). Is -105. KEYEVAL a non documented way to break out of loops? ;-) > What should the FOR k do? (internally?) > << 0. 999. FOR k k 1. DISP k -105. KEYEVAL NEXT Active command line is a problem > and there might be other problems. > To the new HP 49G users: > An operation on a key can some times be > programmed by using the KEYEVAL command. Sometimes you say? That means, there are exceptions? > > X To the new HP 49G users: An operation on a key can some times be programmed by using the KEYEVAL command. But I think that I'd have to call these operations rather than > commands because they can't be used in a program. Well, not in a > UserRPL program at least. [ forceful and ascertive tone ] No. The machine does whatever I tell it to > do (within a program or not), so it's a command -- always. I'm its > master. [ now murmuring under my breath: ] I can't believe that I was so sloppy > with the use of words and that someone was even alert enough to catch it. > I'll never do that again. ;-) Greg S The Copy and Paste commands are also implemented in the CAS on a 40G. But they don't seem to be able to transfer material from the CAS to the normal environment (the aplets). Does anyone know if it is possible to Paste something into a function in the Function aplet that has been Copy'd in the CAS? Or are all the environmental variable separate for the CAS? > They (it) work(s) just like the Copy, Cut and Paste commands on your > PC -- and are useful for editing long strings of text or moving around lines > of a program while programming on the 49. Also, Begin and End commands > are use to highlight (or select) the text blocks that are to be Cut or > Copied and then Pasted. This is one feature addition on the 49 (that > the 48 doesn't have) that I appreciate. It's also nice to edit long text > strings and programs with the smaller system font and 7 level display. Greg S >My english is very bad. I will be very short. >čWhat is the command paste? >čHow can I use the paste command in a program? >>I can't fin this command anywere and it is very important. > The Copy and Paste commands are also implemented in the CAS on a 40G. > But they don't seem to be able to transfer material from the CAS to the > normal environment (the aplets). Does anyone know if it is possible to > Paste something into a function in the Function aplet that has been > Copy'd in the CAS? Or are all the environmental variable separate for > the CAS? I doubt this is possible. If I remember correctly, it is possible to copy something from the CAS to the HOME screen (in which case it will be stored into ANS). So you could try copying the ANS value... >>The Copy and Paste commands are also implemented in the CAS on a 40G. >>Does anyone know if it is possible to >>Paste something into a function in the Function aplet that has been >>Copy'd in the CAS? > I doubt this is possible. > If I remember correctly, it is possible to copy something from the CAS to > the HOME screen (in which case it will be stored into ANS). > So you could try copying the ANS value... > I tried that, and also using Editline, but nothing seems to work. The value is Ans in HOME is unchanged by cutting and pasting in the CAS. Oh well... if there's ever an update to the 40G, consider this a request. > I doubt this is possible. > If I remember correctly, it is possible to copy something from the CAS to > the HOME screen (in which case it will be stored into ANS). > So you could try copying the ANS value... > That's right: use POP from the HOME to get the last result from the CAS (in fact the first result that appears in the history stack of the CAS), and yan can put something from the HOME to the history stack of the CAS, but I don't remember the function. Try PUSH ... Arthur HOME view. You can then put single quotes around it and STO it to F1(X) to get it into the Function aplet. That's great - it seemed really wrong that there was no way to do it. >>I doubt this is possible. >>If I remember correctly, it is possible to copy something from the CAS to >>the HOME screen (in which case it will be stored into ANS). >>So you could try copying the ANS value... That's right: use POP from the HOME to get the last result from the CAS (in > fact the first result that appears in the history stack of the CAS), and yan > can put something from the HOME to the history stack of the CAS, but I don't > remember the function. Try PUSH ... Arthur > HOME view. You can then put single quotes around it and STO it to F1(X) > to get it into the Function aplet. > That's great - it seemed really wrong that there was no way to do it. > That's what I meant when I said copy it from the CAS into Ans. I thought POP/PUSH was obvious.. Sorry for that. I was playing around yesterday and found the PLOT( ) command in list of commands in the CAS of the 40G. When you use it on an expression that you've produced in the CAS it will let you paste it directly into the Function, Parametric or Polar aplets and even choose which equation to paste it into! Looking up the manual I found that you can achieve the same effect if you just press the PLOT button while in the CAS - it doesn't actually plot the function but it does paste it into the aplet you specify. written this when you were coding the CAS - had you forgotten about it? :-) What I can't seem to make work though is the PUSH command. I've tried every way of using it that I can think of in the HOME view but I just get syntax errors. The HELPWITH command seems to have no entry for it. It's not as important, but if the POP command works, surely it should too. >>HOME view. You can then put single quotes around it and STO it to F1(X) >>to get it into the Function aplet. >>That's great - it seemed really wrong that there was no way to do it. That's what I meant when I said copy it from the CAS into Ans. > I thought POP/PUSH was obvious.. Sorry for that. > I was playing around yesterday and found the PLOT( ) command in list of > commands in the CAS of the 40G. When you use it on an expression that > you've produced in the CAS it will let you paste it directly into the > Function, Parametric or Polar aplets and even choose which equation to > paste it into! Looking up the manual I found that you can achieve the > same effect if you just press the PLOT button while in the CAS - it > doesn't actually plot the function but it does paste it into the aplet > you specify. written this when you were coding the CAS - had you forgotten about it? :-) I remember very well this command as it's been a pain in the a**** to share memory between the two environments (CAS and HP39G code). The whole CAS operations (and how to plot) is very well explained in the CAS manual written by Renee de Graeve (and provided with the HP40G) Re PUSH - I just worked it out (I gave up and RTFM more thoroughly). If you use PUSH(QUOTE(X)^2+2) then you don't get a syntax error. You can then hit SHIFT Ans and the expression will appear in the CAS. Alternatively, hit HOME to see the CAS history and then ECHO it back to the main screen. This doesn't quite match what the manual says. The manual suggests using PUSH(S1^2-2) which seems less effective since the active var is X not S1. >>HOME view. You can then put single quotes around it and STO it to F1(X) >>to get it into the Function aplet. >>That's great - it seemed really wrong that there was no way to do it. That's what I meant when I said copy it from the CAS into Ans. > I thought POP/PUSH was obvious.. Sorry for that. I was playing around yesterday and found the PLOT( ) command in list of commands in the CAS of the 40G. When you use it on an expression that you've produced in the CAS it will let you paste it directly into the Function, Parametric or Polar aplets and even choose which equation to paste it into! Looking up the manual I found that you can achieve the same effect if you just press the PLOT button while in the CAS - it doesn't actually plot the function but it does paste it into the aplet you specify. written this when you were coding the CAS - had you forgotten about it? :-) What I can't seem to make work though is the PUSH command. I've tried every way of using it that I can think of in the HOME view but I just get syntax errors. The HELPWITH command seems to have no entry for it. It's not as important, but if the POP command works, surely it should too. >>HOME view. You can then put single quotes around it and STO it to F1(X) >>to get it into the Function aplet. >>That's great - it seemed really wrong that there was no way to do it. That's what I meant when I said copy it from the CAS into Ans. > I thought POP/PUSH was obvious.. Sorry for that. If you ever do find a 28S emulator , let me know. I am a calculator freak. I even still have a working TI SR-22 that has the mag card reader and it still works! Rod > I search an emulator for HP 28S. Does it exist? If yes where could I find? > Nico > --- > Checked by AVG anti-virus system (http://www.grisoft.com). > If you ever do find a 28S emulator , let me know. I am a calculator freak. I > even still have a working TI SR-22 that has the mag card reader and it still > works! Surely you mean SR-52? The SR-22 doesn't have a card reader. Though I am looking for an SR-22 despite that. :-) Yes! Sorry, I did mean SR-52. I bought it about a month before the 58 qnd 59 came out and was kind of bummed as they had a lot of improvements. Oh well... > If you ever do find a 28S emulator , let me know. I am a calculator freak. I > even still have a working TI SR-22 that has the mag card reader and it still > works! Surely you mean SR-52? The SR-22 doesn't have a card reader. Though > I am looking for an SR-22 despite that. :-) > This is the place I got my HP49G for about $70 > http://www.poweron.com/1-800-673-6227/clear.htm > PowerON offers dealnews readers the Hewlett-Packard 39G algebraic > graphing > calculator for $25. That's about $40 less than the next-lowest price we've > seen. (A full product description is available here.) To order, call > 800.673.6227. I called them yesterday and they were already sold out. Too bad. > I called them yesterday and they were already sold out. Too bad. > Pretty sad. Their webpage still shows 40 something in stock. Nutty to have a webpage for ordering and not keep it updated. Now, why can't someone be selling HP-40G calculators for $25? :-) i was quick and got me one :) it was $25 + $9 (express delivery). the exterior of the HP39G is just like the HP49G (darker blue). i like it. it is also made in China (i am surprise Walmart doesn't sell it, hi hi). it came with a sticker from Comp-usa. i guess they carried them from a while. i would have paid $200 more if it had beeen a turbo enhanced HP49G. > I called them yesterday and they were already sold out. Too bad. > Pretty sad. Their webpage still shows 40 something in stock. Nutty to have a webpage for ordering and not keep it updated. Now, why can't someone be selling HP-40G calculators for $25? :-) i called friday and ordered one. they said they had tons of 'em left. not sure i remember how to use an algerbraic calculator. > i called friday and ordered one. they said they had tons of 'em left. not > sure i remember how to use an algerbraic calculator. when I called last Friday and they told me that they sold them all. I just ordered one too (Monday, August 26). > i called friday and ordered one. they said they had tons of 'em left. not > sure i remember how to use an algerbraic calculator. when I called last Friday and they told me that they sold them all. I just > ordered one too (Monday, August 26). I just called them, (800-673-6227) ordered a 39g for $28, and asked about the 49g. They had it for $79, so I ordered one also. Martin Cohen > Now, why can't someone be selling HP-40G calculators for $25? :-) Why not just use the emulator version of the 40G? A good source for manuals (in book form) for HP Calculators (that can even be purchased separate from the calculator itself) is Calcpro website www.calcpro.com. I know that they have the HP 48G Series (applies to HP 48GX/G/G+) Advanced User's Reference Manual. I bought two HP 49G books from them (Using HP 49G for science vols 1 and 2). I have made many purchases from Calcpro, and have had good dealings with its manager, Paul Nelson. Check them out. > Does it exist a data bank about HP28S program listings? --- > Checked by AVG anti-virus system (http://www.grisoft.com). A good source of accessories for HP Calculators is Calcpro website www.calcpro.com. I do not know off hand if they have this screen protector you mentioned (Are you talking about the sliding cover for even call them. I have made many purchases from Calcpro and have had good dealings with its manager, Paul Nelson. Good luck! protector. > A good source of accessories for HP Calculators is Calcpro website > www.calcpro.com. I do not know off hand if they have this screen > protector you mentioned (Are you talking about the sliding cover for > even call them. I have made many purchases from Calcpro and have had > good dealings with its manager, Paul Nelson. Good luck! where did you buy it from? i live in australia and get it from places like kmart. Any where that sells covering for students books should have it > where did you buy it from? > problems with the 'ENTER' key label rubbing off. HP replaced the unit under > warranty with one manufactured in China (despite my including a letter that > requested otherwise ...). Why would you want otherwise? The chinese HP49 models are the best you can get: harder screen cover (doesn't get scratched) better keyboard (much softer). And you're 100% sure that the serial port is working properly (as there's a bug on early Indonesian models) Master Jean Yves: Read my post about problems in HP49s made in China and tell us > Master Jean Yves: > Read my post about problems in HP49s made in China and tell us (calculator doesn't turn on when changing the batteries). I suspect a faulty component, but I'm in no position to comment as I can't investigate further. I guess if I was still working at HP I would have rang an alarm. I'm sure HP is aware of the problem and has been working on it. How can I recognize a chinese modell? ID ....? Toralf >>problems with the 'ENTER' key label rubbing off. HP replaced the unit under >warranty with one manufactured in China (despite my including a letter that >requested otherwise ...). > Why would you want otherwise? > The chinese HP49 models are the best you can get: harder screen cover > (doesn't get scratched) better keyboard (much softer). And you're 100% sure > that the serial port is working properly (as there's a bug on early > Indonesian models) > How can I recognize a chinese modell? ID ....? If it's ID, it means Indonesia. If it's a Chinese one, the serial number will start with CN logic! Toralf >>How can I recognize a chinese modell? >ID ....? If it's ID, it means Indonesia. > If it's a Chinese one, the serial number will start with CN > > How can I recognize a chinese modell? ID ....? CH... > Why would you want otherwise? > The chinese HP49 models are the best you can get: harder screen cover > (doesn't get scratched) better keyboard (much softer). These are material specifications (plastic types, thicknesses, etc.) but what about workmanship and assembly line quality conmtrol? Greg S > These are material specifications (plastic types, thicknesses, etc.) but > what about workmanship and assembly line quality conmtrol? > than the Indonesian ones. And that's the main reason why HP switched to a > production line in China: far less problems. For example, there are no differences between the keyboard's painting > specification between the Indonesian model and the Chinese model. However, > on the Indonesian model the paint wears off. Go wonder ... > Well, there was a post here a few days ago, the title was in english, unfortunately the text was in spanish so probably few people read it. It was from some poor HP merchant in Colombia, saying something to the effect that he had gotten a whole load of HP49's that simply were not working and there was some confusion regarding having these machines exchanged under warranty. Then sometime ago I related a case here where I went with a friend to buy an HP49 in Rio de Janeiro and went through 4 of them without finding a single one that worked. Later on I found out (by measurement) that these machines (at least the one I checked) will not work if the battery voltage is below 1.41v (a good calculator works with battery votage as low as 1.1v) When 1.4 volts is reached, the machines simply will not start, and the low bat indicator never comes on. So all indications are that HP has dumped a whole pile of bad calculators in the market. So If you buy an old Indonesian you run the risk of running into the Serial port problem, but if you buy the latest Chinese, they may not work at all. Jean Yves, maybe you can find out a bit more. Where have these bad caculators gone, where is there still a safe place to purchace. Is there an easy way to fix the problem. Luis > than the Indonesian ones. And that's the main reason why HP switched to a > production line in China: far less problems. For example, there are no differences between the keyboard's painting > specification between the Indonesian model and the Chinese model. However, > on the Indonesian model the paint wears off. Go wonder ... > Well, there was a post here a few days ago, the title was in english, > unfortunately the text was in spanish so probably few people read it. > It was from some poor HP merchant in Colombia, saying something to the > effect that he had gotten a whole load of HP49's that simply were not > working and there was some confusion regarding having these machines > exchanged under warranty. > Then sometime ago I related a case here where I went with a friend to > buy an HP49 in Rio de Janeiro and went through 4 of them without > finding a single one that worked. Later on I found out (by > measurement) that these machines (at least the one I checked) will not > work if the battery voltage is below 1.41v (a good calculator works > with battery votage as low as 1.1v) When 1.4 volts is reached, the > machines simply will not start, and the low bat indicator never comes > on. > So all indications are that HP has dumped a whole pile of bad > calculators in the market. The Thursday (15-August) I tried to buy hp49G and hp19Bii from my distributor (hp autorized distributor)in USA, but the said me that: 1.- The hp19Bii is out of production and was discontinued and they do not have calculators in your warehouse and hp.82s warehouse too. 2.- The hp49g they do not have in stock (same in hp.82s warehouse) and it will be discontinued; only remain one production, but they do not know when or how many calcs will be made... May be because the hp warranty of a lot of calcs (hp49g), the hp49g after change the batteries is very difficult to turn on and after try 3 or 4 times it turn on but without the last stack, it warmstart... and latter it is almost impossible to turn on. I had request for the warranty of the following hp49g calcs : 9 28-January 04-March 8 25-March 10-March 4 10-May 03-July 6 31-May 03-July 10 09-July ?? 6 01-August ?? ___ 43 ?? mean that still I do not recieve the calcs. And here (Ecuador) there are more calcs with the same problem. JoGa > So If you buy an old Indonesian you run the risk of running into the > Serial port problem, but if you buy the latest Chinese, they may not > work at all. Jean Yves, maybe you can find out a bit more. Where have these bad > caculators gone, where is there still a safe place to purchace. Is > there an easy way to fix the problem. Luis May be because the hp warranty of a lot of calcs (hp49g), the > hp49g after change the batteries is very difficult to turn on and > after try 3 or 4 times it turn on but without the last stack, it > warmstart... and latter it is almost impossible to turn on. I had request for the warranty of the following hp49g calcs : > 9 28-January 04-March > 8 25-March 10-March > 4 10-May 03-July > 6 31-May 03-July > 10 09-July ?? > 6 01-August ?? > ___ > 43 > > ?? mean that still I do not recieve the calcs. And here (Ecuador) there are more calcs with the same problem. > JoGa > So there you see there is a very definite problem. I wonder if ANYONE has any inside information of what HP is doing about this. Will they have to re-start production to replace all these bad ones in the market? Luis Surely HP can supply any number of HP 49G Under warranty/out of warranty/brand new Seems to me more like a local problem with a bunch of Monday calculators :-( May be because the hp warranty of a lot of calcs (hp49g), the > hp49g after change the batteries is very difficult to turn on and > after try 3 or 4 times it turn on but without the last stack, it > warmstart... and latter it is almost impossible to turn on. I had request for the warranty of the following hp49g calcs : > 9 28-January 04-March > 8 25-March 10-March > 4 10-May 03-July > 6 31-May 03-July > 10 09-July ?? > 6 01-August ?? > ___ > 43 ?? mean that still I do not recieve the calcs. And here (Ecuador) there are more calcs with the same problem. > JoGa > So there you see there is a very definite problem. > I wonder if ANYONE has any inside information of what HP is doing about this. > Will they have to re-start production to replace all these bad ones in the market? Luis > Jean Yves, maybe you can find out a bit more. Where have these bad > caculators gone, where is there still a safe place to purchace. Is > there an easy way to fix the problem. Maybe something easier would be to put some good batteries in it ! How can you expect a calculator that needs 4.5V to works with batteries as low as 1.4V.. Jean Yves, maybe you can find out a bit more. Where have these bad > caculators gone, where is there still a safe place to purchace. Is > there an easy way to fix the problem. Maybe something easier would be to put some good batteries in it ! > How can you expect a calculator that needs 4.5V to works with batteries as > low as 1.4V.. I think that he must be talking about the voltage per cell rather that the battery voltage for all three cells. I usually find the voltage to be about 4.8 volts for fresh batteries, and start getting LowBat messages when the no-load voltage gets down to about 3 volts. -- James > Maybe something easier would be to put some good batteries in it ! > How can you expect a calculator that needs 4.5V to works with batteries as > low as 1.4V.. I think that he must be talking about the voltage per cell rather that > the battery voltage for all three cells. I usually find the voltage to > be about 4.8 volts for fresh batteries, and start getting LowBat > messages when the no-load voltage gets down to about 3 volts. Yes, for sure, I mean per cell. So these calcs simply stop working if the total battery voltage drops below 4.2v which is only 3 volts below nominal. Theat there is a whole load of these bad calculators in the market, I have no doubt. I'm curious what HP will do about it. Maybe pull them all off the shelves? Would that be a lesser hassle than replacing them as they are sold? I wonder... But it is a sad end to an otherwise remarkable human achievement (the HP49 that is) Luis Maybe it's dealing with the keyforce? The amount of pondering that the Indonesian models get (at least when they are new) far exceeds the capabilities of the painting...chipping off begins PS: No problems whatsoever with the HW (KEYTIME=600) waiting for the 1.19-7...oh when? These are material specifications (plastic types, thicknesses, etc.) but > what about workmanship and assembly line quality conmtrol? than the Indonesian ones. And that's the main reason why HP switched to a > production line in China: far less problems. For example, there are no differences between the keyboard's painting > specification between the Indonesian model and the Chinese model. However, > on the Indonesian model the paint wears off. Go wonder ... How? > Is that applicable to the 48GX, too? Of course.. 48S or G, 38G, 39G Love Bytes (or sex and the single computer) They say that computers do not think like human beings. But do they _feel_ like humans? A certain computer, to which (to whom?) we have guaranteed absolute anonymity, has supplied us with this piece of computer-style erotic-gossip that is going the rounds of the sophisticated number crunchers in the web. If you have an under-age computer around, on no account let it see this - it might be totally diskusted (!) and even corrupt its little CPU forever! Micro was a real-time operator and protocol made it easy for him to inter- face with numerous input/output de- vices, even if it meant time-sharing. One evening he arrived home just as the sun was crashing, and had parked his Merced in the main drive (he had missed the serial bus that morning), when he noticed an elegant piece of liveware admiring the daisy wheels in his garden. He thought to himself, She looks user-friendly. I'll see if she'd like an update tonight. Mini was her name, and she was delightfully engineered with eyes like Ada and a Prime mainframe archi- tecture that set Micro's peripherals networking all over the place. He browsed over to her casually, admiring the power of her twin, 128-bit floating point processors and enquired, How are you Honeywell? Yes, I am well, she responded, batting her optical fibres engagingly and smoothing her console over her curvilinear functions. (to be continued...) Very interesting start! I'm looking forward to the next episode. > Love Bytes > (or sex and the single computer) They say that computers do not think like human > beings. But do they _feel_ like humans? A certain > computer, to which (to whom?) we have guaranteed > absolute anonymity, has supplied us with this piece of > computer-style erotic-gossip that is going the rounds > of the sophisticated number crunchers in the web. > If you have an under-age computer around, on no > account let it see this - it might be totally diskusted (!) > and even corrupt its little CPU forever! Micro was a real-time operator and > protocol made it easy for him to inter- > face with numerous input/output de- > vices, even if it meant time-sharing. One evening he arrived home just as > the sun was crashing, and had parked > his Merced in the main drive (he had > missed the serial bus that morning), > when he noticed an elegant piece of > liveware admiring the daisy wheels in > his garden. He thought to himself, She > looks user-friendly. I'll see if she'd like > an update tonight. Mini was her name, and she was > delightfully engineered with eyes like > Ada and a Prime mainframe archi- > tecture that set Micro's peripherals > networking all over the place. He browsed over to her casually, > admiring the power of her twin, 128-bit > floating point processors and enquired, > How are you Honeywell? Yes, I am > well, she responded, batting her optical > fibres engagingly and smoothing her > console over her curvilinear functions. (to be continued...) > Very interesting start! > I'm looking forward to the next episode. I am not.. While somewhat funny this is totally out of topic and has nothing to do with HP calculators There are newsgroups specialized for this kind of post Very interesting start! > I'm looking forward to the next episode. I am not.. > While somewhat funny this is totally out of topic and has nothing to do with > HP calculators > There are newsgroups specialized for this kind of post > Should we divide the world in domains where humor is allowed and in domains where code-rators (to use rcobo's words) just have nothing more to say than 1 10 FOR I NEXT? BTW, it has to do with the group in a ral sence. Computers technology and the like. http://www.hpcalc.org/hp48/docs/humor/ Spoof (details) 4KB This is the kind of stuff you're missing if you don't read comp.sys.hp48. By Dave Arnett. 1999/01/06 Very interesting start! > I'm looking forward to the next episode. I am not.. > While somewhat funny this is totally out of topic and has nothing to do with > HP calculators > There are newsgroups specialized for this kind of post Should we divide the world in domains where humor is allowed and in > domains where code-rators (to use rcobo's words) just have nothing > more to say than 1 10 FOR I NEXT? BTW, it has to do with the group in a ral sence. Computers > technology and the like. > begin 666 icon48gx.jpg > http://www.hpcalc.org/hp48/docs/humor/ Yes, but Dave Arnett IS funny ! And at least it follows a thread that became off-topic. Is not posting ignoring all rules like you do or using comp.sys.hp48 as a Is there *anybody* else to back-up the JYA's words below?! If you, dear reader have an opinion, maybe milder than Avenard's maybe even stronger, please post it. Complete disagreements and mixed feelings are welcome, too. I'm not sure what this is all about and I will sincerely try to behave better BUT without proper feed-back I'm unable to do anything PLUS I'm afraid I can't change my sense of humor nor much the way I try to be helpful other than being silent?!? SORRY! http://www.hpcalc.org/hp48/docs/humor/ Yes, but Dave Arnett IS funny ! > And at least it follows a thread that became off-topic. Is not posting ignoring all rules like you do or using comp.sys.hp48 as a Is there *anybody* else to back-up the JYA's words below?! I agree with YJA. Andrew Is there *anybody* else to back-up the JYA's words below?! > If you, dear reader have an opinion, maybe milder than Avenard's > maybe even stronger, please post it. > Complete disagreements and mixed feelings are welcome, too. Complete disagreement with captain's opinion about using > I'm not sure what this is all about and I will sincerely try to behave > better > BUT without proper feed-back I'm unable to do anything > PLUS I'm afraid I can't change my sense of humor > nor much the way I try to be helpful other than being silent?!? SORRY! Nooooooooooooo! Don't be silent. Don't go away. Stay yourself and stay with us! Please! P.S.: If you dare being silent, gringo, I'll send you the greek Keep posting, 49Borg. membership in our little nerd community -- he deserves to be cut some slack. Also, what we had put up with over the last year or so with the merger, closure of ACO, the crappy keyboard and screen issues (that won't be going away), bug reports, future availability of HP calcs, and all other uncertainties in our world at this time -- we need a to vent and a little bit of OT humor can help. My $0.02. Greg S Is there *anybody* else to back-up the JYA's words below?! > If you, dear reader have an opinion, maybe milder than Avenard's > maybe even stronger, please post it. > Complete disagreements and mixed feelings are welcome, too. I'm not sure what this is all about and I will sincerely try to behave > better > BUT without proper feed-back I'm unable to do anything > PLUS I'm afraid I can't change my sense of humor > nor much the way I try to be helpful other than being silent?!? SORRY! > http://www.hpcalc.org/hp48/docs/humor/ Yes, but Dave Arnett IS funny ! > And at least it follows a thread that became off-topic. Is not posting ignoring all rules like you do or using comp.sys.hp48 as a membership in our little nerd community -- he deserves to be cut some slack. X Outs! So there _was_ some slack after all...wonder when will I learn... I just wish you post the whole thing at least once, the annoying part of the love bites saga is that you keep posting many small chunks with only a new paragraph, repeating the whole thing you posted before. At least that's what i think, the other time you posted it, you did the same thing, and i could never read it all because searching thru(sp?) the dozens of post was a pain. Steve Sousa > membership in our little nerd community -- he deserves to be cut some > slack. > X > Outs! > So there _was_ some slack after all...wonder when will I learn... I just wish you post the whole thing at least once, the annoying part >of the love bites saga is that you keep posting many small chunks >with only a new paragraph, repeating the whole thing you posted >before. At least that's what i think, the other time you posted it, >you did the same thing, and i could never read it all because >searching thru(sp?) the dozens of post was a pain. Steve Sousa > I agree with Steve. I have been reading this post for the last several years, hoping it would come to a conclusion, or be funny. So far, it has dragged on, then petered (or pekkad) out long before a conclusion. It has potential to be funny, it just takes way to long to get to the punch line. Bill Bill alternate E-dress wtstorey@ieee.org.no.spam.please (Use the obvious) I just wish you post the whole thing at least once, the annoying part > of the love bites saga is that you keep posting many small chunks > with only a new paragraph, repeating the whole thing you posted > before. At least that's what i think, the other time you posted it, > you did the same thing, and i could never read it all because > searching thru(sp?) the dozens of post was a pain. Steve Sousa ******************************************** (author unknown) Micro settled for a straight line approximation. I'm stand-alone to- night, he said. How about computing a vector to my base address. I'll output a byte to eat, and maybe we could get offset later on. Hey , don't let you put down! Keep on posting whatever comes to your mind, there's no comp.sys.hp48 police. Although I don't read the love bytes I would miss your posts. I can't remember any offending post by you so why try to behave better? Thomas Is there *anybody* else to back-up the JYA's words below?! > If you, dear reader have an opinion, maybe milder than Avenard's > maybe even stronger, please post it. > Complete disagreements and mixed feelings are welcome, too. I'm not sure what this is all about and I will sincerely try to behave > better > BUT without proper feed-back I'm unable to do anything > PLUS I'm afraid I can't change my sense of humor > nor much the way I try to be helpful other than being silent?!? SORRY! >http://www.hpcalc.org/hp48/docs/humor/ >Yes, but Dave Arnett IS funny ! >>And at least it follows a thread that became off-topic. >Is not posting ignoring all rules like you do or using comp.sys.hp48 as a Your wish is my command. I will send the next episode to Nick only. Very interesting start! > I'm looking forward to the next episode. I am not.. > While somewhat funny this is totally out of topic and has nothing to do with > HP calculators > There are newsgroups specialized for this kind of post > Can you enter binary integers into a matrix on a 49g? My calculator tells me it is a bad argument type. Blair > Can you enter binary integers into a matrix on a 49g? Not in the normal user environment. It's not a problem in SysRPL though. What about using lists and then AXL? > Can you enter binary integers into a matrix on a 49g? Not in the normal user environment. It's not a problem in SysRPL though. > What about using lists and then AXL? It doesn't work - I tried it before writing here. It was the first thing that sprung to mind ;-) And MAP did not work and ->ARRY did not work anything I tried on the matrix writer didn't work Only hackering with ->H H-> might work ;-) > What about using lists and then AXL? It doesn't work - I tried it before writing here. It was the first thing > that sprung to mind ;-) Enter Nick the incombatible. (Old greek trembling voice) My son, these things are only for those incombatible with the rest of the human race! Here thy solution! What is allowed to be in a matrix? Right, reals complex numbers integers and algebraic objects. Is there any command that will turn anything to one of these types? Yes, its name is ->ALG. Whatever it is, though shall put it in a list, make it algebraic thru ->ALG and then compose your array with AXL. Example: { POS } ->ALG. (Returns a nice algebraic containing POS { ^ } ->ALG (Returns and algebraic 'Invalid Expression'.) 2 ->LIST (first row) << 0 1 10 FOR I I SQ + NEXT > ->LST ->ALG (Also 'Invalid Expression') 2 (let's put a normal element) 2 ->LIST (second row) 2 ->LIST (list of lists now contains algebraic objects) AXL Voila! A new WOB (weird object) appears. Or is it GIOB? (Greek Incombatible OBject?) Or HIOB? (Hellenic Incompatible Object) ;-) Greekkings, Nick > And MAP did not work > and ->ARRY did not work > anything I tried on the matrix writer didn't work > Only hackering with ->H H-> might work > ;-) What about using lists and then AXL? It doesn't work - I tried it before writing here. It was the first thing > that sprung to mind ;-) Did you try your ->ALG on a binary or sysbin ?? Obviously not :( Leave out the spaces from the next object: 68620 11920 FF000 11920 AF000 11920 BB000 B2130 then use H-> to get a symbolic matrix with system binaries on it. Note that this is in Hebrew eg. right to left. X > What is allowed to be in a matrix? Right, reals complex numbers > integers and algebraic objects. Is there any command that will turn > anything to one of these types? Yes, its name is ->ALG. Whatever it is, though shall put it in a list, make it algebraic thru > ->ALG and then compose your array with AXL. > Did you try your ->ALG on a binary or sysbin ?? > Obviously not :( May I interrupt you, oh my son, I did, I did. It was quite a surprice but it worked. Remember though shall put your binary or system binary or whatever, in a list and then let ->ALG convert it to an algebraic object. Example: #27d 1 ->LIST ->ALG @At this point you have the algebraic @'# 27d' on stack. 1 ->LIST AXL @Gives you the 1-dimensional vector @[ '# 27d' ] Or: 27 R~SB 1 ->LIST ->ALG @Here you get 'Invalid Expression'. @Nosy will tell you that the HP49G just can't @*show* the object correctly, but the object @is just fine in its inner world. 1 ->LIST AXL @Leaves [ 'Invalid Expression' ] on stack. Example of a bigger matrix with binaries: 1 5 FOR I 1 5 FOR J I J * R->B 1 ->LIST ->ALG NEXT 5 ->LIST NEXT 5 ->LIST AXL Apply Nosy to the result to see: MATRIX MATRIX SYMBOL HXS 00010 1000000000000000 ; SYMBOL HXS 00010 2000000000000000 ; SYMBOL HXS 00010 3000000000000000 ; SYMBOL HXS 00010 3000000000000000 ; ; ....and so on.... ; Same with system binaries Example of a bigger matrix with binaries: 1 5 FOR I 1 5 FOR J I J * R~SB 1 ->LIST ->ALG NEXT 5 ->LIST NEXT 5 ->LIST AXL Apply Nosy to the result to see: MATRIX MATRIX SYMBOL BINT1 ; SYMBOL BINT1 ; SYMBOL BINT3 ; SYMBOL BINT4 ; ; ....and so on.... ; > Leave out the spaces from the next object: > 68620 11920 FF000 11920 AF000 11920 BB000 B2130 > then use H-> to get a symbolic matrix with system binaries on it. > Note that this is in Hebrew eg. right to left. I prefer Greek left to right. But it's good to have many methods that can be used to do the same thing. > X > What is allowed to be in a matrix? Right, reals complex numbers > integers and algebraic objects. Is there any command that will turn > anything to one of these types? Yes, its name is ->ALG. Whatever it is, though shall put it in a list, make it algebraic thru > ->ALG and then compose your array with AXL. > 27 R~SB 1 ->LIST ->ALG @Here you get 'Invalid Expression'. > @Nosy will tell you that the HP49G just can't > @*show* the object correctly, but the object > @is just fine in its inner world. This is by choice. But we took the decision to display Invalid Expression instead.. Less confusing Still wondering why people would want to put a binary in a matrix and not use a list of list 27 R~SB 1 ->LIST ->ALG @Here you get 'Invalid Expression'. > @Nosy will tell you that the HP49G just can't > @*show* the object correctly, but the object > @is just fine in its inner world. This is by choice. > But we took the decision to display Invalid Expression instead.. Less > confusing Nevertheless a user binary number *is* displayed properly when brought in an algebraic and is still displayed properly when this algebraic is in a matrix. Without saying that displaying 'Invalid Object' is a bug, I rather consider it somehow misleading, because the object doesn't seem to be invalid as it has the proper structure. On the other hand of course, it could be called invalid, since the system - the directly available system for the UserRPL users - will not handle such objects most of the time, so from this point of view it's good to warn the user that such an object isn't supported. > Still wondering why people would want to put a binary in a matrix and not > use a list of list Hmmm, everybody who wants to do so has surely reasons. Even if these reasons are just for the fun of it. The main reason though, is ralization. Exactly the same reason, I think, that makes many of us (including me) wishing to have for example units, matrices or even programs in algebraics. I don't say that the supported objects are not powerful enough, it's more kind of thoughts and wishes for a (hypothetical) super CAS and its (hypothetical) power. > Hmmm, everybody who wants to do so has surely reasons. Even if these > reasons are just for the fun of it. Yes, and this reason was just to use the Matrix Writer... So my claim to use list of lists (which is a very similar structure as the Matrix, except that it's officially supported, is even more accurate The main reason though, is ralization. Exactly the same reason, I > think, that makes many of us (including me) wishing to have for > example units, matrices or even programs in algebraics. I don't say I totally disagree as you can achieve the same goals by using existing objects like list or programs. Algebraic objects have a meaning and a definition which has to be respected if you don't want to make a system even less intuitive for users. Flexibility has a dark side sometimes and I personnaly find the HP49 way too flexible. At the end, it becomes so hard to use that not many people are using it. >At the end, it becomes so hard to use that not many people are > using it. > : Sorry, but I disagree with this being a major issue. There are many reasons people are not using the HP-49G. 1) Keyboard. Richard Nelson lists this as the PRIMARY reason he still uses the HP-48GX. 2) Manual (or lack thereof). Anything with a good manual is easier to use than without one. The HP-67 for example, was complicated but had a wonderful manual. The 49G HP books are a big reason people are not using the 49G. 3) Speed vis' a vis' TI products. 4) Bugs. Too many things took too long to get fixed. Yes, this is a result of it being a complicated product and I know you were forced to rush it to market, but this is a consequence. I'm sure there are others. But, I think it is a mistake to conclude that overflexibility has led to few people using the 49G. P.S. I'm very very sad thinking of what might have been. >At the end, it becomes so hard to use that not many people are > using it. : Sorry, but I disagree with this being a major issue. There are many > reasons people are not using the HP-49G. 1) Keyboard. Richard Nelson lists this as the PRIMARY reason he still uses > the HP-48GX. > 2) Manual (or lack thereof). Anything with a good manual is easier to use > than without one. The HP-67 for example, was complicated but had a wonderful > manual. The 49G HP books are a big reason people are not using the 49G. > 3) Speed vis' a vis' TI products. Well, :-( > 4) Bugs. Too many things took too long to get fixed. Yes, this is a result > of it being a complicated product and I know you were forced to rush it to > market, but this is a consequence. The never ending story. I've found another two. Just where I would never expect them. (Post them soon.) What can I say? We just have to learn to live with them. > I'm sure there are others. But, I think it is a mistake to conclude that overflexibility has led to > few people using the 49G. Exactly, ! > P.S. I'm very very sad thinking of what might have been. Sigh! >At the end, it becomes so hard to use that not many people are > using it. > masses. I appreciate what you've done, I just disagree with your conclusion about the failure of the 49G to grab hold of any real market share. > : Sorry, but I disagree with this being a major issue. There are many > reasons people are not using the HP-49G. > 2) Manual (or lack thereof). Anything with a good manual is easier to use > than without one. The HP-67 for example, was complicated but had a wonderful > manual. The 49G HP books are a big reason people are not using the 49G. : Nick, I should say that your marathons are some of the best documentation out there for the HP-49G. Wonderful work. When are you going to tackle another topic? :-) > 4) Bugs. Too many things took too long to get fixed. Yes, this is a result > of it being a complicated product and I know you were forced to rush it to > market, but this is a consequence. The never ending story. I've found another two. Just where I would > never expect them. (Post them soon.) What can I say? We just have to > learn to live with them. : I don't think anyone expects a bug free machine of this capability. That's being VERY unreasonable. However, look at the number of revisions the ROM went through before it got to be stable. Flash or not, that's unacceptable, since MOST people will not flash upgrade the rom of their machine, PARTICULARLY BECAUSE THEY DON'T HAVE A CABLE TO DO SO INCLUDED IN THE BOX! > Sigh! > : Loud Sigh! -- * All opinions herein expressed are mine and * * mine alone. You may choose to ignore them * * but I own them. * > : Nick, I should say that your marathons are some of the best > documentation out there for the HP-49G. Wonderful work. When are you going > to tackle another topic? :-) corrections of the corrections of the first part of the calculus marathon. I started it as a little bit of how to find bounds and condenstation points and if functions are continuous or not, but since days there is always a bit more to add, to correct and modify. Especially the coming programs for finding bounds and condenstation points make me mad everyday. But I still hope that it will get finished soon. > MOST people will not flash upgrade the rom of their > machine, PARTICULARLY BECAUSE THEY DON'T HAVE A CABLE TO DO SO INCLUDED IN > THE BOX! I got a cable with my 49g Andrew X > 1) Keyboard. Richard Nelson lists this as the PRIMARY reason he still uses > the HP-48GX. I thought that the HP 10B II (or whatever it was) has a similar mecanism than the 49G, but with a click and that this was considered at HP at some point. It's still not too late for the HP to release a 49G+ version !!! > 2) Manual (or lack thereof). Anything with a good manual is easier to use > than without one. The HP-67 for example, was complicated but had a wonderful > manual. The 49G HP books are a big reason people are not using the 49G. It has been succested here often that the Urroz' 49G book Vol.I would be a great User's Guide (after a total proof-read) I tcould be released together with 49G+ (+=docs now included :) > 3) Speed vis' a vis' TI products. You can't much for this unless HP desides to go to a modern process for Saturn CPU (2000nm -> 150nm) EXCEPT that I had my 49G double-speed up back from Cynox.de > 4) Bugs. Too many things took too long to get fixed. Yes, this is a result > of it being a complicated product and I know you were forced to rush it to > market, but this is a consequence. The rush is over now and the (fictional) HP 49G+ could be released with the 1.19-7 Beta renamed as v2.00 > 4) Bugs. Too many things took too long to get fixed. Yes, this is a result > of it being a complicated product and I know you were forced to rush it to > market, but this is a consequence. > The rush is over now and the (fictional) HP 49G+ could be released > with the 1.19-7 Beta renamed as v2.00 bugs on this machine. Catch another one: Enter d / /X --- | | SIN(X) dX | dX /0 / If you EVAL this, you get: /X SIN(X) + | COS(X) dX which is *wrong*! /0 If you prefer to EXPAND instead of EVALuating, you get: SIN(X)+SIN(X) which is also *wrong*! Enter now: d / /Y --- | | SIN(X) dX | dX /0 / and EVAL it to get: /Y | COS(X) dX /0 which EVALuated again will give SIN(Y), which is again *wrong*! If you again prefer to EXPAND you will get the same erroneous SIN(Y). Should I continue? Urgh! Can you please give the examples in the old algebraic single-line mode (instead of the pretty-print) I got lost ?? > Can you please give the examples in the old algebraic > single-line mode (instead of the pretty-print) I got lost ?? Here are the exmaples in algebraic notation (d denotes differentiation, S denotes integration): 'd(S(0,X,SIN(X),X),X)' EVAL -> 'SIN(X)+S(0,X,COS(X),X)' (wrong) EVAL -> '2*SIN(X)' (easier to see that it is wrong). 'd(S(0,X,SIN(X),X),X)' EXPAND -> 'SIN(X)+SIN(X)' (wrong). 'd(S(0,Y,SIN(X),X),X)' EVAL -> 'S(0,Y,COS(X),X)' (wrong) EVAL -> 'SIN(Y)' (easier to see that it is wrong). EXPAND doesn't make a difference in this example. The problem seems to be with the 'd(S(...))' structure - the bug is apparant even with the simplest of expressions: 'd(S(0,X,X,X),X)' EVAL EVAL -> '2*X' (should have been merely 'X'). The 'S(d(...))' structure doesn't seem to be affected by this bug. I think this is the most serious bug found in v1.19.6. Auch. What's interesting is that if you first EVAL (in Eqw Writer) the inner expression of 'S(0,X,SIN(X),X)', then EVAL the result 'dX(-(COS(X)-1))' you get the expected answer of 'SIN(X)'. It also does the same with the example of 'd(S(0,X,X,X),X)', EVAL the inner expression, then EVAL the result gives the expected 'X'. So the bug must be somewhere in trying to do several EVALs at once. An J.C. Randerson Laramie, Wyoming > Can you please give the examples in the old algebraic > single-line mode (instead of the pretty-print) I got lost ?? Here are the exmaples in algebraic notation (d denotes differentiation, S > denotes integration): 'd(S(0,X,SIN(X),X),X)' EVAL -> 'SIN(X)+S(0,X,COS(X),X)' (wrong) EVAL - '2*SIN(X)' (easier to see that it is wrong). 'd(S(0,X,SIN(X),X),X)' EXPAND -> 'SIN(X)+SIN(X)' (wrong). 'd(S(0,Y,SIN(X),X),X)' EVAL -> 'S(0,Y,COS(X),X)' (wrong) EVAL -> 'SIN(Y)' > (easier to see that it is wrong). EXPAND doesn't make a difference in this > example. The problem seems to be with the 'd(S(...))' structure - the bug is apparant > even with the simplest of expressions: 'd(S(0,X,X,X),X)' EVAL EVAL -> '2*X' (should have been merely 'X'). The 'S(d(...))' structure doesn't seem to be affected by this bug. I think this is the most serious bug found in v1.19.6. Auch. > > Can you please give the examples in the old algebraic > single-line mode (instead of the pretty-print) I got lost ?? Here are the exmaples in algebraic notation (d denotes differentiation, S > denotes integration): 'd(S(0,X,SIN(X),X),X)' EVAL -> 'SIN(X)+S(0,X,COS(X),X)' (wrong) EVAL - '2*SIN(X)' (easier to see that it is wrong). 'd(S(0,X,SIN(X),X),X)' EXPAND -> 'SIN(X)+SIN(X)' (wrong). 'd(S(0,Y,SIN(X),X),X)' EVAL -> 'S(0,Y,COS(X),X)' (wrong) EVAL -> 'SIN(Y)' > (easier to see that it is wrong). EXPAND doesn't make a difference in this > example. The problem seems to be with the 'd(S(...))' structure - the bug is apparant > even with the simplest of expressions: 'd(S(0,X,X,X),X)' EVAL EVAL -> '2*X' (should have been merely 'X'). The 'S(d(...))' structure doesn't seem to be affected by this bug. I think this is the most serious bug found in v1.19.6. Auch. > Actually the calculator is right! Recall that you are using Leibnitz' rule for differentiating an integral. This integral is a function of x both in its upper limit and in the function in the integrand. If you make the variable of integration t instead of x, and you keep the upper limit as x, you get the result you were expecting. Mike Elzinga > Actually the calculator is right! No. > Recall that you are using Leibnitz' > rule for differentiating an integral. Yes, but that is no different than doing the integral first, and then the differentiation. Leibnitz' Rule can (rarely) help in situations where the integral either has no closed form or (very often) when the result of the direct approach is very complex. Leibnitz' Rule (for those who don't remember): d(S(A(Z),B(Z),F(X,Z),X),Z) = S(A(Z),B(Z),d(F,Z),X)+F(B(Z),Z)*d(B,Z)-F(A(Z),Z)*d(A,Z) The problem with the calculator is that there is no destinction between X and Z. I proposed that solved by introducing a dummy variable, but a cleaner approach is to return an error message. > This integral is a function of > x both in its upper limit and in the function in the integrand. If > you make the variable of integration t instead of x, and you keep the > upper limit as x, you get the result you were expecting. Yes, but the two variables are identical, hence Leibnitz' Rule doesn't apply as written - that's the problem. > Actually the calculator is right! No. Recall that you are using Leibnitz' > rule for differentiating an integral. Yes, but that is no different than doing the integral first, and then the > differentiation. Leibnitz' Rule can (rarely) help in situations where the > integral either has no closed form or (very often) when the result of the > direct approach is very complex. Leibnitz' Rule (for those who don't remember): d(S(A(Z),B(Z),F(X,Z),X),Z) = > S(A(Z),B(Z),d(F,Z),X)+F(B(Z),Z)*d(B,Z)-F(A(Z),Z)*d(A,Z) The problem with the calculator is that there is no destinction between X > and Z. I proposed that solved by introducing a dummy variable, but a cleaner > approach is to return an error message. This integral is a function of > x both in its upper limit and in the function in the integrand. If > you make the variable of integration t instead of x, and you keep the > upper limit as x, you get the result you were expecting. Yes, but the two variables are identical, hence Leibnitz' Rule doesn't apply > as written - that's the problem. > I'm not disagreeing about the ambiguity of using identical variables. It is not appropriate to do that when doing the integrals by hand either. It would be similar to making a variable and a summing index identical in discrete sums. One needs to be careful to make a distinction between the variable of integration and the variables in the limits of integration. What I noticed when I tried your example is that the calculator appears to be making the distinction when you make all the variables identical, whether or not that was intended in the design. I agree that this is not good form, but it gives the answer that Leibnitz' rule would give if the F(x,z) in your last example were replaced by F(z) and the variable of integration changed to z also. I guess I would not have called it a bug, but rather an instance of garbage in, garbage out. In this case, getting the right answer for the wrong reasons. Maybe I'm being a little too forgiving by not expecting a machine to correct ambiguities in the input. I like your idea of an error message for ambiguous input, but I tell my students to know their mathematics well and they will use their machines more intelligently. The HP calculators have rally required intelligent users, which I consider a good thing. It may be too much to ask that we have machines that can anticipate every possible misunderstanding in mathematics. I can't even imagine how one would tell a machine how to do that. Notation varies in order to adapt to context, so somehow the machine would have to know something about the context in which it was being used. A machine that corrects everything according to a particular set of standards could get to be as annoying as these text editors that keep correcting you when you input exactly what you mean. ;-) Mike > I guess I would not have called it a bug, but rather an instance of > garbage in, garbage out. I like the GIGO principle - explains so much in such a little space :-) > A machine that corrects everything according to a particular set of > standards could get to be as annoying as these text editors that > keep correcting you when you input exactly what you mean. ;-) Oh, I know what you mean ;-) I still vote for an error message, or at least a warning (it should be easy to check wheather the integration variable is part of the integration limits, the same goes for limits, sums aso.). The HP48G series handles these cases as one would expect them to be handled. It would be nice to hear the '48 designers input to this discussion ;-) > Here are the exmaples in algebraic notation (d denotes differentiation, S > denotes integration): 'd(S(0,X,SIN(X),X),X)' EVAL -> 'SIN(X)+S(0,X,COS(X),X)' (wrong) EVAL - '2*SIN(X)' (easier to see that it is wrong). 'd(S(0,X,SIN(X),X),X)' EXPAND -> 'SIN(X)+SIN(X)' (wrong). 'd(S(0,Y,SIN(X),X),X)' EVAL -> 'S(0,Y,COS(X),X)' (wrong) EVAL -> 'SIN(Y)' > (easier to see that it is wrong). EXPAND doesn't make a difference in this > example. The problem seems to be with the 'd(S(...))' structure - the bug is apparant > even with the simplest of expressions: 'd(S(0,X,X,X),X)' EVAL EVAL -> '2*X' (should have been merely 'X'). The 'S(d(...))' structure doesn't seem to be affected by this bug. I think this is the most serious bug found in v1.19.6. Auch. Then 1.19.6 is a really good rom release:-), because in all these examples it should return an error instead of an answer. Indeed X has two meanings in your examples, a mute integration variable and a normal variable. Especially the notation S(0,X,X,X) has no mathematical meaning at all... It should be noted S(0,X,t,t). I agree an error would be better as a strange answer but it is impossible to think to all such cases... > Then 1.19.6 is a really good rom release:-), But it is! It is very good actually :-) Wonder how the future of the HP49G had been, had it had ROM v1.19.6 to begin with? > because in all these > examples it should return an error instead of an answer. Something like Dependent limit? I agree, when the integration variable is the same as a variable in the expression to be integrated. The other examples (without the variable duality) are equally bugs - for example: 'd(S(0,Y,SIN(X),X),X)' EVAL -> 'S(0,Y,COS(X),X)' (wrong) EVAL -> 'SIN(Y)' (this should be 'SIN(X)') > Indeed > X has two meanings in your examples, a mute integration variable > and a normal variable. Yes. > Especially the notation S(0,X,X,X) > has no mathematical meaning at all... It should be noted > S(0,X,t,t). Sure, but even on the HP48 series it's allowed. In fact, the G-series manual (HP 48G Series User's Guide, page 20-9) suggest one to do this, when trying to find an indefinite integral. Actually I hate when the TI89 tells me which variables I can use and which I can't. Usually, this is when doing substitutions though. X^2-3|X=X+2 isn't allowed on the TI89, while X^2-3|X=Y+2 is. The two examples seem alike, even though they aren't mathematically. Often it's practical they are treated alike. What could be done programmatically, is to substitute the dependent limit with something else, and then subsitute it back when the indefinite integral is calculated. The result will usually not make much sense, but in some cases it might be needed - to demonstrate the danger in doing exactly that (in class), for instance. I can live happily with an error message though :-) > I agree an error would be better as a strange > answer but it is impossible to think to all such cases... No one would expect you to find all bugs before release. ROM v1.05 was a bit premature though ;-) Hmmm, everybody who wants to do so has surely reasons. Even if these > reasons are just for the fun of it. Yes, and this reason was just to use the Matrix Writer... So my claim to use > list of lists (which is a very similar structure as the Matrix, except that > it's officially supported, is even more accurate Lists of lists just don't show as nicely on the stack as matrices do. In addition many of the operations that are possible with matrices, will not be possible with lists of lists that contain objects that are not allowed in matrices. Or could we find the trace of a list of lists with binaries as elements? (Of course these things can be programed easily, but the programs for such purposes aren't as tightly integrated in the CAS as the built-in commands/functions are.) > The main reason though, is ralization. Exactly the same reason, I > think, that makes many of us (including me) wishing to have for > example units, matrices or even programs in algebraics. I don't say I totally disagree as you can achieve the same goals by using existing > objects like list or programs. Algebraic objects have a meaning and a > definition which has to be respected if you don't want to make a system even > less intuitive for users. No definition has to be respected for ever. Quite the contrary, *reasonable* ralization of existing definitions is one of the main powers that lead to new things. Consider for examle the old calculators that could calculate the absolute value of some real number. Now compare it to the ABS command on the HP48 and you'll see what I mean. > Flexibility has a dark side sometimes and I personnaly find the HP49 way too > flexible. At the end, it becomes so hard to use that not many people are > using it. Yes, that's the drawback sometimes. Especially when there are so many ways to achieve the same thing. I already said that the HP49G is already powerful enough and I just think of such ralizations as dreams for the future and not so much as complains for the present. But, flexibility and plurality is always a part of an underlying CAS that allows the user to exactly define the world in which the working session takes place. Don't get me wrong here, I know that the HP49G offers so much possibilities. It is not my point that it doesn't. My point goes more on the theoretical part of such systems. Perhaps sometime in future we will see such a machine with almost no built-in objects but with the capability to let the user define his objects and operations for these objects. Just to make an easy example. Mathematica has no built in operation for multiplying strings. None the less it is possible to *expand* the already existing multiplication operation and add your own definition of a multiplication for string arguments. Note that this is *not* just defining a new function. The already available multiplication that is already a tight integrated part of the CAS, receives an additional argument type upon it can act and from now on can do what it could do before the new definition and the new operation that you just defined. A second example: Mathematica doesn't have a built in object for a set. (Lists are *not* sets). But it is very easy to define a new object for a set, with all the ral properties and all the ral end of the session, the new objects and operations for them are very very tightly integrated to the existing CAS, so that benefits of the CAS itself are also benefits of the new defined objects. I don't say that the HP49G isn't good because it is as it is, I only say that the examples given above should be the direction to which development of new calcs should go, if of course there is going to be such a thing like the successor og the 49. (Which I doubt very strongly :-( ) > Still wondering why people would want to put a binary in a matrix and not > use a list of list My rational for using binary in a matrix, I am writing a series of programs which simulate the instructions of a pic16f84 microcontroller, as I am both new at assembly and system rpl, I am writing a working version in user rpl, to get it going, then perhaps translate it to system rpl or assembly. The matrix is to simulate the memory map of the pic, which is, 1024 by 14 bits for the instructions, 256 by 8 bits for ram (including control registers) and 64 by 8 bit for the eeprom. I use the matrix writer to enter the instructions directly into the memory and was hoping to use it to view the results. But at the moment I have to convert from binarys to reals to put it into the matrix.so I cant view the binarys in the matrix writer. Blair. > I am writing a series of programs which simulate the instructions of a > pic16f84 microcontroller, as I am both new at assembly and system rpl, I am writing a working version > in user rpl, to get it going, then perhaps translate it to system rpl or assembly. The matrix is to simulate the memory map of the pic, which is, 1024 by 14 > bits for the instructions, 256 by 8 bits for ram (including control > registers) and 64 by 8 bit for the eeprom. My advice, especially if you are planning to convert the whole thing to ASM at one point is to use strings rather than Matrices... You can edit the string easely in command line (or even make a small program to edit them in a more easy way), you can then use the S->H to convert the Hexa characters in binary and you will have rocket fast access to the data in your program, making your whole simulator faster. in addition, when you switch to ASM, it will make things much easier as all your 'programs' will be compatible.. However, looking at Cyrille's idea, I like that the most as it uses up very little memory and is much faster. Having made a string of 256 8 bit blocks, I have no trouble fetching the characters from the string using the SUB command, and then converting them back to their hex equivilant using S->H. This gives me 0F for example. might be easier with an example: on the stack is the string, as well as position to retrieve, 2:********* 1:3 Program is << DUP SUB S->H # SWAP h + + OBJ-> > This nicely converts the character back into a binary. However, I cannot seem to figure out how to do it the other way round in a simple manner. If I have # 1h on the stack, converting it to a string would be # 1h and that will not be right. what i want to do is go from # 1h to 01 or # Fh to 0F as i can convert 0F with H->S but not # Fh. any number that I convert using H->S must be in the form of 00 as say A and 0A give me different results when using H->S I am sure there is probably a simple command in there somewhere which will do it for me, just like i didnt know about flag -91 :) but I dont know where. Blair. My advice, especially if you are planning to convert the whole thing to ASM > at one point is to use strings rather than Matrices... You can edit the > string easely in command line (or even make a small program to edit them in > a more easy way), you can then use the S->H to convert the Hexa characters > in binary and you will have rocket fast access to the data in your program, > making your whole simulator faster. in addition, when you switch to ASM, it > will make things much easier as all your 'programs' will be compatible.. Cyrille's idea is common practice if you're using assembly. It's really easy to convert to other data types if you wish to do that, and strings are the least picky on internal structure so it's hard to crash the machine with a string object. If, later on, you need the matrix type, then all you have to do is rewrite the prologue and other required headers for the matrix and shift the data down to accomodate those headers. Plus, it's easy to allocate memory in assembly with string objects. Aaron > However, looking at Cyrille's idea, I like that the most as it uses up very > little memory and is much faster. > Having made a string of 256 8 bit blocks, I have no trouble fetching the > characters from the string using the SUB command, here is how I would do it: get a value: 2: ***** 1: position << DUP SUB NUM R->B @if you really need the binary value...@ However, I cannot seem to figure out how to do it the other way round in a > simple manner. 3: ***** 2: #value 1: position << SWAP B->R @if you really need the binary value...@ CHR REPL If I have # 1h on the stack, converting it to a string would be # 1h and > that will not be right. what i want to do is go from > # 1h to 01 or # Fh to 0F as i can convert 0F with H->S but not # Fh. any number that I convert using H->S must be in the form of 00 as say A > and 0A give me different results when using H->S I am sure there is probably a simple command in there somewhere which will > do it for me, just like i didnt know about flag -91 :) but I dont know > where. Blair. > My advice, especially if you are planning to convert the whole thing to > ASM > at one point is to use strings rather than Matrices... You can edit the > string easely in command line (or even make a small program to edit them > in > a more easy way), you can then use the S->H to convert the Hexa characters > in binary and you will have rocket fast access to the data in your > program, > making your whole simulator faster. in addition, when you switch to ASM, > it > will make things much easier as all your 'programs' will be compatible.. Ditto, and I have even used it before, but never with binaries... > However, looking at Cyrille's idea, I like that the most as it uses up very > little memory and is much faster. X > If I have # 1h on the stack, converting it to a string would be # 1h and # 1h (or anything else in hex binary) 3 OVER SIZE 1 - SUB > that will not be right. what i want to do is go from > # 1h to 01 or # Fh to 0F as i can convert 0F with H->S but not # Fh. F0 rather than 0F, see 2) if from hex to string, but a character is 2 digits, see 1) > any number that I convert using H->S must be in the form of 00 as say A > and 0A give me different results when using H->S Even A0 and A will give different results but the data is intact and can be restored, you need to operate with 2 hex digits at time (or 4, 6, 8,...64) in order this to work, see 1 **************************************************************************** **** I'm not sure what to say, others will probably give a more clear answer but let's try anyway: 1) Padding with a zero to form a character # Ah << 3 OVER SIZE 1 - SUB > EVAL => A @ pad this !!! 0 + => A0 H->S => newline-character NUM => 10. R-> B => # Ah *** a single nibble=4 bits= 1 hex digit can not form a character=8 bits=byte You can operate only one even number of hex digits in order to form proper characters in a string. the data from right to left like Hebrew. The problem is that in many Middle-east nations (Arabian is right to left, too) the poor programmers have to think of those CPU's (TI 89 has MC68000 variant) which read and write awkwardly from left to right (like in English, French, Finnish, ...) Note: data is always ok, no matter how the CPU interprets it UNLESS... 0A and A0 are the same if you change the CPU style in-between (some CPU can be mode-switched eg. not hardwired in R/W) I hope you simulated CPU is at most 64-bit and R/W right to left in order to help you to cope with the bytes and strings and all - always trying to be helpful... PS: Now _I_ am confused, somebody help - please! > I use the matrix writer to enter the instructions directly into the > memory and was hoping to use it to view the results. These are all good reasons, but I still don't see the reasons for using the MATRIX type to what you want over the use of list of list. Lists are supported and designed exactly what you're doing. If you want to use a matrix to do some operations in it, just use reals you can always convert them when required into binary > But at the moment I have to convert from binarys to reals to put it into the > matrix.so I cant view the binarys in the matrix writer. And if you want to use the matrix writer to edit a list of lists, it's perfectly possible. Just set the flag -91 and run the matrix writer in your list of list. Sometimes, you really wonder what's going on in this newsgroup, somebody ask a question, and you get the most wierd answers when an easy answer is usually available... > Lists are supported and designed exactly what you're doing. > And if you want to use the matrix writer to edit a list of lists, > it's perfectly possible. > Just set the flag -91 and run the matrix writer in your list of list. Eureka! > Sometimes, you really wonder what's going on in this newsgroup, > somebody ask a question, and you get the most wierd answers > when an easy answer is usually available... Same thing when it comes to stopping wars, ending terrorism, curbing crime, solving the health care crisis, and many other human problems, where the whole of society and its leaders continually follow paths of struggle, expense, effort, and even great destruction, when in fact there is a path of simplicity and success which is vastly easier, operating at the root of all of these matters, which is the field of consciousness, where all intelligence comes from. You see the manifestation of the power of intelligence in your own work, and we see it in every human activity, encouraged by an all-encompassing educational initiative. http://www.mum.edu . > at the moment I have to convert from binaries to reals > to put it into the matrix, > so I can't view the binaries in the matrix writer. The Matrix Writer can view (but not edit) any elements in a matrix; your only problem is to construct a matrix containing binary elements, which can be done by first making a list of those elements, then converting the list to an array (object type 29). The following version of AXL, just like the original built-in version (before all this fun was censored out), will make a matrix from lists of binaries -- or almost anything else (e.g. programs!) For example: { #1234 #5678 } LXA ==> [ #1234 #5678 ] Or, if you prefer a vertical matrix: { { #1234 } { #5678 } } LXA Resulting in: [[ #1234 ] [ #5678 ]] Note that these results can still be viewed (but not edited) in the Matrix Writer. Repeat LXA (or AXL) to change back to a list. The 'LXA' program (HP49 only): << << DUP TYPE 5. == { 1. <- DOSUBS 9862. #262F1h SYSEVAL #5AB3h SYSEVAL } IFT > -> <- << IF DUP TYPE 5. == THEN <- EVAL ELSE AXL END > > Note that this program requires the left arrow symbol <- (character number 142) from the CHARS menu, which is used three times (whereas the right arrow symbol is used only once). It is a good idea to first make a precautionary memory backup, because any mistakes with SYSEVAL may trash the memory. ------------------- Imagination is more important than knowledge [Albert Einstein] http://www.mum.edu Why not please the lady and let us all work with symbolic matrices of *any* type directly in the MatrixWriter in the 1.19-7 *BETA* Note: When my method of using the ->H H-> to construct the Sysbin Matrix it is displayed properly AND can be _viewed_ in the MatrixWriter. But in order to modify/create you have to do some ->H H-> again. Still wondering why people would want to put a binary in a matrix and not > use a list of list > My rational for using binary in a matrix, I am writing a series of programs which simulate the instructions of a > pic16f84 microcontroller, as I am both new at assembly and system rpl, I am writing a working version > in user rpl, to get it going, then perhaps translate it to system rpl or assembly. The matrix is to simulate the memory map of the pic, which is, 1024 by 14 > bits for the instructions, 256 by 8 bits for ram (including control > registers) and 64 by 8 bit for the eeprom. I use the matrix writer to enter the instructions directly into the > memory and was hoping to use it to view the results. But at the moment I have to convert from binarys to reals to put it into the > matrix.so I cant view the binarys in the matrix writer. Blair. > Why not please the lady and let us all work with symbolic matrices > of *any* type directly in the MatrixWriter in the 1.19-7 *BETA* > Note: > When my method of using the ->H H-> to construct the Sysbin Matrix > it is displayed properly AND can be _viewed_ in the MatrixWriter. > But in order to modify/create you have to do some ->H H-> again. Because I believe that there's absolutely no need for it. A symbolic matrix has been put in a way so there's no need to check sub-elements and see if they are usable by the CAS. Much faster to handle If you want to mess up around, use list of lists. That's what they are for. I'm yet to see any practical use for a so-called symbolic matrices. Just show me ONE example where it would be needed in a way that list of lists can't be used (using the Matrix Writer being the least important reason).. X > Why not please the lady and let us all work with symbolic matrices X > A symbolic matrix has been put in a way so there's no need to check > sub-elements and see if they are usable by the CAS. Much faster to handle OK - that's a _very_ good reason > Leave out the spaces from the next object: > 68620 11920 FF000 11920 AF000 11920 BB000 B2130 > then use H-> to get a symbolic matrix with system binaries on it. > Note that this is in Hebrew eg. right to left. That is: it's interpreted from right to left in 20-bit or 5 nibble bunches but anyone keying in that string leaves out the spaces, which are there for clarity and to separate object prologs from the actual system binary values. 02911 = call 911, you've got a system binary in your matrix !! 0312B = end of a list or a symbolic matrix 02A74 = list 02686 = symbolic matrix Hey! I'm learning SysRPL (when I have to :) > Leave out the spaces from the next object: > 68620 11920 FF000 11920 AF000 11920 BB000 B2130 > then use H-> to get a symbolic matrix with system binaries on it. > Note that this is in Hebrew eg. right to left. > That is: it's interpreted from right to left in 20-bit or 5 nibble bunches > but anyone keying in that string leaves out the spaces, > which are there for clarity and to separate object prologs from > the actual system binary values. > 02911 = call 911, you've got a system binary in your matrix !! > 0312B = end of a list or a symbolic matrix > 02A74 = list > 02686 = symbolic matrix > Hey! I'm learning SysRPL (when I have to :) > The TI 89 came out first with a slightly slower clock > and a little bit different Hardware than the current production model > AKA HW2 > The new one is better! The video memory in a hw2 is latched, meaning that the screen does not constantly use bus time to read from video ram what the screen should contain. The result is a speed up. Hw1 and hw2 both have a 1hz timer, the hw2 timer is more reliable so no clock for the hw1. This clock is attached to auto interupt #3 which is associated with in priority #3. I would not be supprised if more than half the games available interfered with the clock by raising the interupt priority too high. The hw2 also has hardware that forbids the program counter from executing code from specified areas (4k pages) in ram. Using this ti has tried to restrict asm programs to 24k. So far several things have been done to get around this. Ams 2.08 does not break them. If ti could break them they would. So I beleive we are in the clear. -Samuel > Since I don't own a TI 89 anymore I can't remember exactly, > but there is a copyright/about/eg screen telling the HW > and the OS version. > Bhuvanesh surely knows it press F1 -> About. -- Bhuvanesh > Also according to TI's DG's there RPN program doesn't run with this new OS > installed. -- Bhuvanesh Also according to TI's DG's there RPN program doesn't run with this new OS > installed. So it does. Posters in TI DG's weren't sure at first. Would anyone like to join a discussion on how to solve Ordinary Differential equations. I cannot seem to figure it out. Hoe for eg would one solve the ODE dy/dx=x-t^2 paul Young 1) RPN (use EQW, if you wish so): 'Y(X)' [Left-Shift] [ 7 ] which is [S.SLV] eg Symbolic SoLVe Press |DESOL| eg [F1] { Y(X)=1/2*X^2-t^2*X+CC0 } 2) Algebraic: [LS] [S.SLV] |DESOL| DESOLVE() You may press EQW before keying in the ODE Press , then add the Y(X) and press [ENTER] to get: { Y(X)=1/2*X^2-t^2*X+CC0 } Note: with Step/Step on you will see Rational fraction X TEXT OK before the final answer > Would anyone like to join a discussion on how to solve Ordinary Differential > equations. > I cannot seem to figure it out. > Hoe for eg would one solve the ODE dy/dx=x-t^2 paul Young May I add that you should really have the latest ROM 1.19-6 where you can find in the EQW menu page 2: HELP which will give you brief examples of the new CAS commands > Would anyone like to join a discussion on how to solve Ordinary > Differential > equations. > I cannot seem to figure it out. > Hoe for eg would one solve the ODE dy/dx=x-t^2 paul Young says... > It's starting to get there... try http://www.tiqit.com/ (and there are > others too). The question is: are they (the math software developers) tuned > in to these units and would they be willing to make user interfaces that > were ergonomic and optimized for the smaller screens. But, come to think of > it--nothing beats a powerful calculator with months of battery life, low > cost, easy programmability (i.e. - RPL ), and above all... rapid boot up. What is with all this boot up business? I keep seeing people talking about the time it takes for PDAs to boot up. Palms don't boot up, when you hit the power button they're on. > Also, what is permitted in classrooms and on tests is a real question of > concern. Long live the 48 & 49! Greg If you have a Maple, MATLAB, or mathematica that fits in a 5oz. package > in your shirt pocket, let me know! > There is one important factor that needs to be considered, especially > from a > students point of view. Palm OS is not allowed in exams. HP-48/49 is. > If > I want better math capability for work, assignments etc. I'll use > matlab, > maple V and the like. Any Palm OS program won't even compare. Andrew > I think it's pretty clear that Palms, especially newer ones and > definitely the coming ARM processor models, can handle any kind of > etc.) or TI calc can do (let's not even talk about Casios). So, are there any efforts out there to bring high-end math to the Palm > OS? Is the interest in using/purchasing math software out there? The > kind of software found at www.hpcalc.org (see ALG48, Erable, CAS -most > are GPL'd) And let's put something else to rest - EasyCalc (APCalc, PowerOne, > CplxCal, etc. etc.) are nice calculators. Fine. We're talking about > advanced math here, not calculators. Functions like... (ERABLE) symbolics: rational simplification and transendental > simplifications, factorization, derivative, including gradient of a > function, integration: partial implementation of the Risch algorithm, > Taylor series (extension of the in-build TAYLR instruction), Laplace > and inverse Laplace transform, 1st order ordinary differential > equation--symbolic or numeric matrices, eigenvalues and eigenvectors > (including Jordan cycles of characteristic vectors) (ALG48) > * Rational expressions simplification > * Output format for polynomials > * ral algebraic expressions simplification > * Automatic simplification flag > * Partial fraction expansion > * Rational functions integration > * Symbolic matrix manipulation > * Nonlinear equations and Gr.9abner bases commands > * Verbose mode flag > * Calculating with fractions > * Algebraic operations on modular polynomials > * Unlimited precision integer arithmetic > * Advanced algebraic operations on unlimited precision integers > * Modular arithmetic on unlimited precision integers > (CAS) CASHP48.LIB Contains a large number of computer algebra commands > similar to those in the (HP49 version 1.19-5), (DERIVE version > 5.04)(www.derive.com), Texas Instruments(TI89/TI92plus) AND (MATLAB > version 6.0) Algebra: { SIMPLIFY CSIMPLIFY FACTOR EXACT APPROXIMATE SUBST SOLVE SOLVEVX > TABVAL } > ___________________________________ Arithmetic: { PROPFRAC FACTORS PROPFRAC2} > ___________________________________ Arithmetic integer: { ISPRIME? PREVPRIME NEXTPRIME MOEBIUS DIVISORS PRIMEDIVIS PERFEC? } > ___________________________________ Arithmetic Modulo: { MODSTO ADDTMOD SUBTMOD MULTMOD DIVMOD POWMOD INVMOD } > ___________________________________ Calculus: { INTGRS DERIVS GRADIENT DIV CURL LAPLACIAN POTENTIAL VPOTENTIAL HESS > LAGRANGE JACOBIAN DERIVN WRONSKYAN ARCLEN FMATRIX MCOS MSIN MEXP > BESSEL > } > ___________________________________ Polynomial Function: { FXND P?COEF C?POL C?FRAT REORDER P?ROOT R?POL P?MROOT MULT2POL > DIV2POL QUOT REMAINDER PROPFRAC PARTFRAC CPARTFRAC FACTOR GCD LCM PCAR > RANDPOLY PTCHEBYCHEV PUCHEBYCHEV PLEGENDRE PALEGENDRE PHERMITE > PLAGUERRE PGLAGUERRE PSPHERICALHARM POLEVALM HORNER } > ___________________________________ Matrices, vector and Linear Algebra Create: { NEWMAT NEWVECTOR RANDMAT RANDVECTOR RANDCMAT RANDCVECTOR RANDSYSMAT > RANDASYSMAT RANDUPPERMAT RANDLOWERMAT RANDSTOCMAT AUGMENT APPENDCOL > MDIAG LCXM MAKEMAT HILBERT MVANDERMONDE VECTOR } > ___________________________________ Operations: { LIST?MAT MAT?LIST AXL TRAN DIMMAT MAPRG XNUM XEVAL AXM DIST ANGLE > INVS MINV ADJOINT NORMAT i_ j_ k_ } > ___________________________________ Quadratic form: AXQ QXA > ___________________________________ Vector: { ABS2 DOTP CROSSP PRODH UNITV COSDIR DIST } > ___________________________________ Factr: { lu qr CHOLESKY } > ___________________________________ > ___________________________________ Eigenvector: { PCAR PMINI IMAGE KER EGBS JORDAN } > ___________________________________ Col AND Row: { COLDIM -COL COL-2 ROW-2 ROWSAWP } > ___________________________________ Complex: { RE2 IM2 C?R2 R?C2 ABS2 ARG2 SIGN2 NEG2 CONJ2 C?Rxy CEILING } > ___________________________________ Statistics: { SORTA SORTD CUMSUM CUMPROD %TILE MEAN2 MEDIAN ONETWOVAR FACTORIAL } > ___________________________________ Differencial equations: { DESOLVE LAPLACE ILAPLACE } > ___________________________________ > ___________________________________ Misc: MAKEVX CATALOG CASCMD AUTHOR A?RPN pi FIBONACCI ?PRg OBj? ?Id BZIP > UNZIP PREFIXES TYPE? VXPURGE CRCASDIR TMENU2 PROMPT2 VER up EXIT } > _____________________________________ > -- -- --John Reply to jclarke at ae tee tee global dot net (used to be jclarke at eye bee em dot net) Of late I've become very interested in this issue (although not strictly Palm related). I've used my HP48GX almost everyday since somewhere in '95 (I think) - and I've been out of Uni now for 3+ years. I've just purchased an iPAQ - and although Emu48 runs on WinCE; I was eventually looking at either porting it, or coding my own for the Familiar+OPIE environment. http://familiar.handhelds.org/ http://opie.handhelds.org/ Its just been a thought I've had in my head now for quite some time; however, I'm probabily a couple of months out before I seriously look into this little project. For the time being I'll just carry both around. PS. Somewhere in this thread I read someone talk about clearing the memory of the 48GX before an exam. If I'm not mistaken, I remember my friends using a program that would capture the keys and imitate an erased HP48GX; whereby, entering in another series of key-strokes would bring everything back to normal. Ahh - those were the days; heaps of time and no debts. >Centuries ago, Nostradamus foresaw when Rally would write: > The past ration of PalmOS systems have about the same > computing power as a Mac Classic; not _quite_ enough to do CAS. > (They may have enough CPU power, but not the memory/storage.) My Palm has 8 meg and a 20 mhz cpu. My 200lx, which can run maple, > matlab, derive and mathcad, has 640k system memory and 1.2 meg disk > space (ramdisk) and an 8mhz cpu. The palm is more than twice as > fast and has far more memory available. It just needs the software. > The hardware is fully capable. I had not thought of Derive; it hasn't come to mind in _years_, not to >mention that I've never used it. The _next_ ration of PDAs are considerably more powerful, and > are likely to be considerably more powerful than the hardware on > which the common CAS systems were actually coded. And use batteries much faster. Hopefully not. If the slow the horses thing of the StrongARM works >as it is supposed to, the CPU may run flat out briefly, to get the >computation done; once it gets to displaying it, it can slow back >down, and stop chewing battery. An M68K isn't up to that, fundamentally due to lack of MMU as well > as other memory limitations Yes it is. With both ram and speed to spare. As I've explained > above. Speed is _certainly_ not the issue. I only barely alluded to it. On PalmOS, the OS model doesn't provide an open memory model that >would permit running these apps. Heap is strictly limited, and CAS is >_definitely_ a heap-intensive sort of computation. Actually, FYI... Starting with PalmOS 3.5, programmers have been able to allocate >64K memory from the storage heap using feature memory, up to a theoretical maximum of 16M. With a little cleverness in programming this memory can be used like any other. ' :: PTR 63081 TOTEMPOB ; > FPTR 2 0 I just don't know why the TOTEMPOB is needed. Try this (1.19-6): ' PTR 71315 > FPTR 4 0 > AcDcP Guenpovi Do you think it is possible to make a connection between a HP-48 and the modem of a Mac (which has no serial port...) to send/receive file? Arthur > Do you think it is possible to make a connection between a HP-48 and > the modem of a Mac (which has no serial port...) to send/receive file? > Arthur If you have a new Mac without any serial port, they you probably need a USB to serial converter. BTW, what Mac do you have? I have an iMac, but I am not sure that a USB to serial will work. Arthur > If you have a new Mac without any serial port, they you probably need > a USB to serial converter. BTW, what Mac do you have? > When i HALT a program how do i get back ? I saw it somewhere it the manuel but i can't find it now :-( Ellum > When i HALT a program how do i get back ? I saw it somewhere it the manuel > but i can't find it now :-( CONT (also above the ON-key) or KILL. I need to use the function of sum of the HP 15C. This gives Error 3. What does it happen? Ideal would be to have a manual of quick consultation... Andy. > I need to use the function of sum of the HP 15C. > This gives Error 3. What does it happen? > If you look on the back side of your 15C, you'll see a table of error numbers and their causes. Error 3: R?, Aij? Description: The addressed Register, or the indexed matrix element doesn't exist. This indicates you may have used the wrong registers for summation, or you don't have enough free registers to perform summation. Raymond I am going throught the FAQ at http://www.hpcalc.org/hp49/docs/faq/ but am looking for any thing else to help my wife, (junior EE,) easily come up to speed on HP49. Other interests: Minimal daytimer programs. Appointments, address book etc. Share or freeware. Best user guides, HP or aftermarket. Free or Pay. Web or paper. Any cheat sheet/quick guides lists of calc commands. Best undergrad EE programs/helpers. Maybe a game or two. My background: HP28C->28S->48S->48G. -Edric Kennemer > I am going throught the FAQ at http://www.hpcalc.org/hp49/docs/faq/ > but am looking for any thing else to help my wife, (junior EE,) easily > come up to speed on HP49. Other interests: > Minimal daytimer programs. Appointments, address book etc. Share or > freeware. > Best user guides, HP or aftermarket. Free or Pay. Web or paper. http://www.engineering.usu.edu/cee/faculty/gurro/Software_Calculators/HP48_4 9G_Docs/HP49G.html try to clip it as a single-liner http://www-fourier.ujf-grenoble.fr/~degraeve/ about everything else is in the http://www.hpcalc.org > Any cheat sheet/quick guides lists of calc commands. > Best undergrad EE programs/helpers. > Maybe a game or two. My background: HP28C->28S->48S->48G. -Edric Kennemer Well, I went ahead and bought a TI-89. Then I put on the newest OS. Then I have been putting it through some tests. I have a lot of real work to do taking up my time, so I haven't had a chance to try all the things I'd like to try yet. It seems to be Ok, but a little slow graphing 2-D (I haven't tried 3-D yet, don't need that much.) It sure doesn't help to have units in the function that you want to graph. I have considered buying an HP-49 too, but that is a lot extra to spend. I have figured out how to use much of the TI-89 very easily. Maybe I'll spend some more time with the HP emulator to see if I can get along with that calculator. If it can do some of the really challenging things I am almost certain the TI can't do, then maybe I'll buy an HP too. I still haven't found inverse Laplace transform or partial fraction expansion operations for the TI, which don't seem to be in the Math tools. These might be the most important things to have, so we'll see... Good day. -- _____________________ Christopher R. Carlen crobc@earthlink.net I still haven't found inverse Laplace transform or partial fraction > expansion operations for the TI, which don't seem to be in the Math > tools. These might be the most important things to have, so we'll see... for partial fraction expansion use 'expand'. You can find a good laplace program at http://www.perez-franco.com/symbulator/download/am.html cybernesto >>I still haven't found inverse Laplace transform or partial fraction >>expansion operations for the TI, which don't seem to be in the Math >>tools. These might be the most important things to have, so we'll see... for partial fraction expansion use 'expand'. You can find a good laplace > program at > http://www.perez-franco.com/symbulator/download/am.html cybernesto Factor doesn't appear to be the right thing for partial fraction expansions. For instance, factor(1/(x^2+2x+1)) gives 1/(x+1)^2, but not a partial fraction expansion of the form A/(x+1)^2+B/(x+1). Furthermore, I will need to do partial fraction expansions for rational functions in which the denominator has complex roots. I haven't even been able to get Mathematica to do that in one command. Unfortunately, the Laplace transform operations seem to not work with the delta function, which is just the function that I would need to use much of the time, as my transforms will be of the functions typical of electrical engineering problems. I'll have to see if it handles step functions though, as these might be able to do 75% of what I'll be attempting. Good day! -- ____________________________________ Christopher R. Carlen Principal Laser/Optical Technologist Sandia National Laboratories CA USA crcarle@sandia.gov X > Unfortunately, the Laplace transform operations seem to not work with > the delta function, which is just the function that I would need to use > much of the time, as my transforms will be of the functions typical of > electrical engineering problems. I'll have to see if it handles step > functions though, as these might be able to do 75% of what I'll be > attempting. X The HP 49G with the latest ROM 1.19-6 supports nicely Heaviside and Delta using LAP/ILAP in the build-in EQW or directly in the Stack and even in the (TI) Algebraic Mode with no problems. Note that the default variable 'VX' is usually 'X', not 't' or 's' Example: ILAP(e^X) => Delta(X+1)*Heaviside(X+1) Limitation: Delta & Heaviside work only in Algebraics they are not real functions. Maybe you should also buy the 49G in order to have butter on both sides of the bread as we Finns say :-) >>I still haven't found inverse Laplace transform or partial fraction >>expansion operations for the TI, which don't seem to be in the Math >>tools. These might be the most important things to have, so we'll see... for partial fraction expansion use 'expand'. You can find a good laplace > program at > http://www.perez-franco.com/symbulator/download/am.html cybernesto > Factor doesn't appear to be the right thing for partial fraction > expansions. For instance, factor(1/(x^2+2x+1)) gives 1/(x+1)^2, but not > a partial fraction expansion of the form A/(x+1)^2+B/(x+1). > Furthermore, I will need to do partial fraction expansions for rational > functions in which the denominator has complex roots. I haven't even > been able to get Mathematica to do that in one command. It does do partial fractions RTFM. Unfortunately, the Laplace transform operations seem to not work with > the delta function, which is just the function that I would need to use > much of the time, as my transforms will be of the functions typical of > electrical engineering problems. I'll have to see if it handles step > functions though, as these might be able to do 75% of what I'll be > attempting. It does work with delta functions RTFM. > Good day! > Good day! > It does do partial fractions RTFM. Ok, since you seem to know more about Mathematica than I do you should be able to tell me how to get it to decompose 1/(x^2+x+1) to: -i/(sqrt(3)(x+1/2-i*sqrt(3)/2))+i/(sqrt(3)(x+1/2+i*sqrt(3)/2)) ??? > It does work with delta functions RTFM. Ah, I see that the Advanced Laplace 1.4 may be better than the first program. I'll check it out, and be sure to RTFM. Good day! -- ____________________________________ Christopher R. Carlen Principal Laser/Optical Technologist Sandia National Laboratories CA USA crcarle@sandia.gov T.F. schrieb in im Newsbeitrag: 3d6a9401$0$43913$edfadb0f@dspool01.news.tele.dk... >I still haven't found inverse Laplace transform or partial fraction >>expansion operations for the TI, which don't seem to be in the Math >>tools. These might be the most important things to have, so we'll > see... for partial fraction expansion use 'expand'. You can find a good laplace > program at > http://www.perez-franco.com/symbulator/download/am.html cybernesto > Factor doesn't appear to be the right thing for partial fraction > expansions. For instance, factor(1/(x^2+2x+1)) gives 1/(x+1)^2, but not > a partial fraction expansion of the form A/(x+1)^2+B/(x+1). > Furthermore, I will need to do partial fraction expansions for rational > functions in which the denominator has complex roots. I haven't even > been able to get Mathematica to do that in one command. It does do partial fractions RTFM. :-D it's been a long time I haven't seen such an oportune response...Specially because I said 'expand' not 'factor'. But, again, people like the problems already chewed so... expand((x^3+x^2-2)/(x^2- 2),x) (sqrt(2)+4)/(4*(x-sqrt(2))-(sqrt(2)-4)/(4*(x-sqrt(2))+x+1 page 445 of the manual. by the way, I heard that the new 89s come with a reduced version of the manual... a contagious disease already known to hp. but you can download a complete one in the website. I really recommend you to do it... AND read it. > expand((x^3+x^2-2)/(x^2- 2),x) > (sqrt(2)+4)/(4*(x-sqrt(2))-(sqrt(2)-4)/(4*(x-sqrt(2))+x+1 > page 445 of the manual. ahhh...that should have been 1/(x-sqrt(2))+1/(x+sqrt(2))+x+1 I don't know what I was looking when I typed the other answer.. :-( > by the way, I heard that the new 89s come with a reduced version of the > manual... a contagious disease already known to hp. It's weird... they (TI) provide the reduced version of the guidebook in three languages: English, French, and Spanish (I think). It would be better if they provided the complete guidebook *in English only*. It should be different for each country, of course (e.g. users in France should get a full guidebook in French), but it doesn't make sense to provide those guidebooks in three languages here in the US. -- Bhuvanesh I, personally, don't use the feature *too* much, but if you really actually think the TI89 is slow at graphing 2D... try not to cry when graphing Y=X^2 on the HP49. ;-) Wow. Go pour yourself a coffee and when ya come back, it might be done ;-) Just kidding its not that bad. Try setting the resolution down a bit to help. (although, then don't delete your PPAR like I always do). Other than that *ONE* complaint, I LOVE my HP with every cell of my body ;-) hehehe.... I like the keyboard, and I made HP give me a calc with a good screen. (It took them 2 tries, but now I'm HAPPY) ;-) > Well, I went ahead and bought a TI-89. Then I put on the newest OS. > Then I have been putting it through some tests. I have a lot of real > work to do taking up my time, so I haven't had a chance to try all the > things I'd like to try yet. It seems to be Ok, but a little slow > graphing 2-D (I haven't tried 3-D yet, don't need that much.) It sure > doesn't help to have units in the function that you want to graph. I have considered buying an HP-49 too, but that is a lot extra to spend. > I have figured out how to use much of the TI-89 very easily. Maybe > I'll spend some more time with the HP emulator to see if I can get along > with that calculator. If it can do some of the really challenging > things I am almost certain the TI can't do, then maybe I'll buy an HP too. I still haven't found inverse Laplace transform or partial fraction > expansion operations for the TI, which don't seem to be in the Math > tools. These might be the most important things to have, so we'll see... Good day. > -- > _____________________ > Christopher R. Carlen > crobc@earthlink.net > Nousiainen schrieb im Newsbeitrag > X > I have a prototype of a ROMUpload utility (was the basis for the HP39/40 > ROMUpload utility) that would be able to make a complete backup of the 2MB > flash chip (download time ~ 52 min.). But I don't know if this makes any > sense? > That does it !!! Here's the ROM upload program for the HP49G. It transfers the complete 2MB of the Flash memory chip to the PC over the XMODEM protocol (9600 Baud, 8 Data Bits, 1 Stop Bit, No Parity, No Flow Control). As result you'll get a 2MB file on your PC. Use the Rom2emu.exe convert program from my CARDUPL package to convert you uploaded file into the Emu48 format file (-> new size 4MB). The upload will take ~ 1h at 9600 baud. ROMUpl49.asc [83A2] D9D20CCD201E1008FB97608F197621F01100D21 5D017915D01CC30615D017230815D034000FF805 34020F3805841842AE310BAC011B134148161136 6415B0808609E1D4114B316096633872C7851B67 79B011CA3E93E2BA4C94CC885269106B5065AF31 5196623862E0314070D0658F8617B13213034001 00EA1307260666F3181966CB94FF0B4761BFD063 1031817A807680D0E434000F31B8B06814E13414 C8041D01AE215D08F767628DC753031107740AEB 7040BEE7930AE1808210814E161A617220A6C96C DEAE91DC01572B26B268088A15521D211572808B 87F1D6114D0151F63C2A20910005507C6F616460 2F4B412C2A20120005507C6F6164602661696C65 64612B2130 After download you have to delete the white spaces, the H-> command don't handle them properly. After deleting the white spaces you must have the CRC above. Then use the H-> command to rate the program ROMUpl49 [ED0C]. [..] Christoph > Here's the ROM upload program for the HP49G. > It transfers the complete 2MB of the Flash memory chip to the PC > over the XMODEM protocol ... > After download you have to delete the white spaces, > the H-> command doesn't handle them properly. > After deleting the white spaces you must verify the CRC above. > Then use the H-> command to rate the program ROMUpl49 Here's exactly the same hex program string as Christoph posted, but with an automatic string editor and checksum checker appended, so that you needn't do anything more than just execute this file to create the ROM upload program on the stack: %%HP: T(3)F(.); @ Download to HP49 using Kermit D9D20CCD201E1008FB97608F197621F01100D21 5D017915D01CC30615D017230815D034000FF805 34020F3805841842AE310BAC011B134148161136 6415B0808609E1D4114B316096633872C7851B67 79B011CA3E93E2BA4C94CC885269106B5065AF31 5196623862E0314070D0658F8617B13213034001 00EA1307260666F3181966CB94FF0B4761BFD063 1031817A807680D0E434000F31B8B06814E13414 C8041D01AE215D08F767628DC753031107740AEB 7040BEE7930AE1808210814E161A617220A6C96C DEAE91DC01572B26B268088A15521D211572808B 87F1D6114D0151F63C2A20910005507C6F616460 2F4B412C2A20120005507C6F6164602661696C65 64612B2130#83A2h 13. CHR SREPL DROP 10. CHR SREPL DROP 32. CHR SREPL DROP DUP # POS DUP2 1. SWAP 1. - SUB UNROT OVER SIZE SUB { SWAP + STR-> 1. GET OVER BYTES DROP =/ { Invalid file DOERR } IFT #100001h LIBEVAL @ End of downloadable file A system using only UserRPL for encoding and decoding HP49 ASC type binaries in this format was originally posted here: ----------------------------------------------------------- With best wishes from: John H Meyers http://www.mum.edu . Is it just me, or does the 49G seem to be from a different company than the 48 and prior HP calcs? I downloaded the documentation, User Guide and Adv. UG and it is nowhere as readable or comprehensive as the documentation supplied with the 48. Maybe this is why HP is out of the calculator business? The 49 seems to be a loser all around. In use it does not bear any relationship to their previous products. (what's with agebraic entry, for instance?). Comments? -- ******************************************* Rod O'Connor rod@rodoconnor.com www.rodoconnor.com Boulder, CO U.S.A. ********************************************* Come on Rod, Do not discredit the machine just because an empty-headed upstairs decided to dump document quality in the sewer along with the documents! It is a pretty good calc, if not the best around, considering OS and algebraic stuff. Relatively speaking, it is the most mature of all RPL machines (I know 'cause I have them all). Now, if you don't like algebraic entry do not use it. I myself do not! At the same time I understand that many people, if not most people, can only use the calc in algebraic mode and that is OK with me. Of course, the machine is more powerful in RPL mode but most people do not even bother to program it. Sad, isn't it? Just pray, that the next calc from HP - if any - will be an RPLer and not some winCE gadget with a built-in calc application! !Demeter! > The 49 seems to be a loser all around. In use it does not bear any > relationship to their previous products. (what's with agebraic entry, for > instance?). Comments? True for the docs! You really have to have the 48GX Advanced User's Guide AND to be on the level with the 48SX documents decade ago you should buy Urroz's books about the 49G Vol I & II (this set will even surpass any previous official HP documentation) You have a choice of Algebraic/RPN. That's better than before! > Is it just me, or does the 49G seem to be from a different company than the > 48 and prior HP calcs? I downloaded the documentation, User Guide and Adv. > UG and it is nowhere as readable or comprehensive as the documentation > supplied with the 48. Maybe this is why HP is out of the calculator > business? The 49 seems to be a loser all around. In use it does not bear any > relationship to their previous products. (what's with agebraic entry, for > instance?). Comments? -- > ******************************************* > Rod O'Connor > rod@rodoconnor.com > www.rodoconnor.com > Boulder, CO > U.S.A. > ********************************************* I may not have been too clear. I do have a 48GX and all the docs, including the advanced user guide. My exposure to the 49G is through the emulator, emu49, and that will be my only exposure. I do not feel the compulsion to buy a 49G after trying it with the emulator. I also evaluated the UG and Adv. UG by dowloading them from hpcalc.com complete. I found them to be faceplates, worn out buttons, etc., I stand by my opinion of the 49 as not being up to the standards of their previous calculators. Rod > True for the docs! > You really have to have the 48GX Advanced User's Guide > AND > to be on the level with the 48SX documents decade ago > you should buy Urroz's books about the 49G Vol I & II > (this set will even surpass any previous official HP documentation) You have a choice of Algebraic/RPN. That's better than before! > Is it just me, or does the 49G seem to be from a different company than > the > 48 and prior HP calcs? I downloaded the documentation, User Guide and Adv. > UG and it is nowhere as readable or comprehensive as the documentation > supplied with the 48. Maybe this is why HP is out of the calculator > business? The 49 seems to be a loser all around. In use it does not bear > any > relationship to their previous products. (what's with agebraic entry, for > instance?). Comments? -- > ******************************************* > Rod O'Connor > rod@rodoconnor.com > www.rodoconnor.com > Boulder, CO > U.S.A. > ********************************************* HI I have a problem. When I use the function X^2 or SQ(X) and enter -6 as SC(-6) my HP49G returns the result 36 but if I enter the calculation as -6^2 the calculator returns -36 as the result. Why isn't the results the same ? maybe I.82m stupid but are the two ways to make the calculation not the same ???? Jens Peter SĖrensen > HI I have a problem. > When I use the function X^2 or SQ(X) and enter -6 as > SC(-6) my HP49G returns the result 36 but if I enter the calculation as -6^2 > the calculator returns -36 as the result. > Why isn't the results the same ? maybe I.82m stupid but are the two ways to > make the calculation not the same ???? Jens Peter SĖrensen Exponentiation has higher HP priority than negation in algebraics, so that the algebraic '-6^2' is interpreted as the sequence of steps 6 SQ NEG in RPL, rather than as 6 NEG SQ. If you want the equivalent of 6 NEG SQ resulting in 36, you want the algebraic '(-6)^2' It is algebra. They are two different functions. See it as -(6)^2 = -36 and (-6)^2 = 36. Just a matter of mathematical convention. ed > HI I have a problem. > When I use the function X^2 or SQ(X) and enter -6 as > SC(-6) my HP49G returns the result 36 but if I enter the calculation as -6^2 > the calculator returns -36 as the result. > Why isn't the results the same ? maybe I.82m stupid but are the two ways to > make the calculation not the same ???? Jens Peter SĖrensen Wrong newsgroup. Use Classified ads of www.hpmuseum.org schrieb im Newsbeitrag . > $250 > http://www.pobox.com/~the.central.scrutinizer/sale/P0002038.JPG Just curious I have a 48GX that has been pretty much wiped (memory wise). Is there a way to get it back it's factory settings? Ctrl-Alt-Del - sorry - [ON] [ A ] [ F ] Do NOT try to recover any memory This will loose/wipe out ALL the contents so be sure to backup 1st !!! Just curious I have a 48GX that has been pretty much wiped (memory wise). > Is there a way to get it back it's factory settings? And how about the reset button under the rubber foot? Which is best? ed > Ctrl-Alt-Del - sorry - [ON] [ A ] [ F ] > Do NOT try to recover any memory > This will loose/wipe out ALL the contents > so be sure to backup 1st !!! Just curious I have a 48GX that has been pretty much wiped (memory wise). > Is there a way to get it back it's factory settings? > And how about the reset button under the rubber foot? Which is best? ed Some program disable the use of the keyboard and when they go wrong the only way to stop them is the reset button as the keyboard does not work. However this does not wipe the memory. Arnaud A good source of HP 48GX calculators and accesories (such as plug-in application cards, PC Connectivity kits, books, etc.) is Calcpro website www.calcpro.com. I have bought from them several times and have had good dealings with its manager, Paul Nelson. Check them out! ed-erton schrieb im Newsbeitrag > And how about the reset button under the rubber foot? Which is best? The button on the back does not clear the memory. It is useful when the calculator hangs and is not responding to the keyboard. These are the possible resets (increasingly heavy): 1.) Press On-C 2.) Press the button on the back 3.) Press On-A-F, Try to recover memory = YES 4.) Press On-A-F, Try to recover memory = NO Holger [ L<->R window scrolling may show an ellipsis instead of a character, so that full window width scrolling never shows some characters ] Note that changing the shift to one less may also sometimes be wrong; i.e. sometimes the final (or first) digit could appear *again*, even though it may also have appeared in the previous window, so don't rush off a quick fix that leaves another problem in its place (of which some still remain in the HP49). In fact, if the display shows multiple lines, I suggest that you may never satisfy all desires (no characters missed, nor any characters repeated) for all the lines simultaneously (what are you going to do, shift some lines more than others?) -- unless you never show the full width at all, reserving the end character on the screen only for an ellipsis (which would also offend some folks), so you just can't win. Much the same could be said of the state of the world, and the common, short-sighted ways of making them worse. But here's a completely different viewer, which displays any string, or any object that can be displayed as a string, wrapping lines only where necessary, and allowing fast page-up, page-down (with no lines missing and no lines ever duplicated!) This is better for programs and other listings than arbitrarily making all lines the same length, although it's no better for single, large integers. -------------------------------------------------- A simple, page-by-page HP48/49 object viewer, which displays objects as text in a full-screen view, just as they would appear in the command-line editor, with one-key page down [+], page up [-], and home/start of file [*] keys (long lines are wrapped, so there is no need to go right/left). This viewer can even display a large string which occupies most of memory, even if only a few hundred bytes remain free. The version below runs on the HP49G; for the HP48, some key numbers and *syseval*addresses* are different (it will crash an HP48 if not translated). Programs which automatically translate most syseval address arguments in UserRPL programs (plus other related goodies) may be found here: http://www.hpcalc.org/search.php?query=systrans The programs below may be entered manually or downloaded; if you run and then discard the single file below, it will automatically install everything for you. The reason for leaving a few functions as separate programs is so that you may call these same rally useful functions from any other programs. Note that the HP49 font size (which you can adjust) determines how many lines will appear per page: font8: 8 lines per page (same as HP48 fixed font) font7: 9 lines per page font6: 10 lines per page ----------------------------------------------------------- %%HP: T(3)F(.); @ HP49G version (see comments above and below) @ Each address for SYSEVAL has been tagged with a :name: @ @ The :name: is unnecessary for execution, and may be omitted, @ but it serves as documentation, @ and enables automatic translation to HP48 addresses @ (with the aid of a separate translator program) << 1. FREEZE 64. FONTH / IP { } -> n h << @ lines per screen { DUP @ leave original object unchanged on stack EDC @ External prog: display non-string object as text for editing 1. DO @ On stack: complete text current_byte_number @ Display one full screen: CLLCD 1. n FOR i @ as many lines as fit on screen @ each line ends at the next newline, or else 22 characters DUP2 DUP 22. + SUB 1. OVER 010 POS @ newline (Right+[.]) DUP NOT 22. * + SUB DUP @ i DISP (but DISP thinks screen is fixed at 56 pixels, not 64) i 1. :COERCE2: #3F481h SYSEVAL :Disp5x7: #25EBCh SYSEVAL @ If last screen line always blank, update your very old HP49 rom! @ Advance the pointer by the length of each displayed line: SIZE + NEXT @ Originally we did 0. WAIT DROP here, but now: @ Process keys for: Page Up / Page Down / Home / Off @ Trap Cancel, use zero for keycode (avoids Interrupted msgbox) -55. CF 0. IFERR WAIT THEN END { @ Press [+] for Page Down (all undefined keys do the same) << DUP 'h' STO+ > @ byte numbers for traversed pages 85. @ [-] for Page Up << DROP h TAIL DUP 'h' STO SIZE { h HEAD } 1. IFTE > 75. @ [*] for Home (start of file) << DROP 1. { } 'h' STO > 0. @ Allow Cancel key to exit { DROP 1E7 } 101. @ OFF key turns off (key number is 91 for HP48) { OFF DROP h SIZE { h HEAD } 1. IFTE } } DUP ROT IP POS 1. + GET EVAL @ Dispatch on key code UNTIL DUP2 SWAP SIZE > END DROP2 @ Detect end of file } FSX > > @ External function for full-screen applications 'MORE' STO @ or pick your own main program name @ Display any non-string object, exactly the same as the editor << DUP TYPE 2. =/ { :EDITDECOMP$: #25ECEh SYSEVAL } IFT > 'EDC' STO @ Run any program with 64-pixel screen height (no menu) << CLLCD :TURNMENUOFF: #2F034h SYSEVAL IFERR EVALX THEN 1. ELSE 0. END :TURNMENUON: #2F031h SYSEVAL :RECLAIMDISP: #25EF4h SYSEVAL { ERRN DOERR } IFT > 'FSX' STO @ ral error trapper, restores flags & path, cleans up stack << QUOTE DEPTH RCLF PATH -> d. f. p. << IFERR EVAL THEN 1. ELSE 0. END CLOSEIO f. STOF p. EVAL { DEPTH d. - 1. + DROPN ERRN DOERR } IFT > > 'EVALX' STO @ Get font height in pixels @ (just store the fixed value 8 into 'FONTH' for HP48) << :GetFontHeight: #2623Dh SYSEVAL :UNCOERCE: #262F6h SYSEVAL > 'FONTH' STO @ End of downloadable HP49 file I know this is an HP forum but I wonder if you guys can help me out with a question relating to the TI83+. I had to review one at the start of the year for my school so that we had an idea of which way to jump in case the HP39G was no longer available and I was reasonably impressed (particularly compared to the Casio & Sharp). However the TI38+ is not currently approved in our educational system because of it having flash whether you can put a CAS on it (they are paranoid about not allowing CAS at the moment). I spent quite a while back at the start of the year researching whether there was already a CAS available for the 83+ and finally concluded that there wasn't. Oh sure, there were a few apps that claimed to be CAS's but they were really very primitive and didn't offer much more than the 38G gave (POLYFORM, POLYROOT, ISOLATE etc). Certainly there was nothing approaching the 40Gs ability. What I would like an opinion on is this: Is it likely to stay that way? Do you think that it would be possible to write a CAS for the TI83+? Or > What I would like an opinion on is this: Is it likely to stay that way? > Do you think that it would be possible to write a CAS for the TI83+? Or There's Symbolic, but it is in a very primitive stage right now: http://www.detachedsolutions.com/symbolic/ The TI-89/92+/V200 are much more powerful than the TI-83(+/SE), so I doubt anyone will try to write a CAS for the TI-83 series. -- Bhuvanesh > finally concluded that there wasn't. Oh sure, there were a few apps that > claimed to be CAS's but they were really very primitive and didn't offer > much more than the 38G gave (POLYFORM, POLYROOT, ISOLATE etc). Certainly > there was nothing approaching the 40Gs ability. Actually I found the current apps on the TI83 very primitive and even the HP38G was far more powerful. I do not see TI starting to have an application for the TI83 as it would cannibalize their higher range market. Regarding the technical feasibilite of a real CAS on a TI83, I think it would be very difficult, if not impossible (by the fact that nobody would take over such a massive task). There's no real high-level language on the TI83. The memory is very fragmented and you can't have big user program... My $.02 > Regarding the technical feasibilite of a real CAS on a TI83, I think it > would be very difficult, if not impossible (by the fact that nobody would > take over such a massive task). > There's no real high-level language on the TI83. The memory is very > fragmented and you can't have big user program... One final quick question - you referred above to the TI83. I was actually asking about the TI83+. Does this make a difference? I'm not familiar enough with the TI range. My $.02 > > One final quick question - you referred above to the TI83. I was > actually asking about the TI83+. Does this make a difference? I'm not > familiar enough with the TI range. They are very similar. But I was talking about the TI83+ (it's even more out of questions with the TI83). The Flash added on the TI83 is not very usable on a programming point of view. >>finally concluded that there wasn't. Oh sure, there were a few apps that >>claimed to be CAS's but they were really very primitive and didn't offer >>much more than the 38G gave (POLYFORM, POLYROOT, ISOLATE etc). Certainly >>there was nothing approaching the 40Gs ability. > Actually I found the current apps on the TI83 very primitive and even the > HP38G was far more powerful. > I do not see TI starting to have an application for the TI83 as it would > cannibalize their higher range market. Regarding the technical feasibilite of a real CAS on a TI83, I think it > would be very difficult, if not impossible (by the fact that nobody would > take over such a massive task). > There's no real high-level language on the TI83. The memory is very > fragmented and you can't have big user program... My $.02 > I am wondering how to round a number to 2 digit and display it even if the least significant digit is zero. Tal << 2 RND 2 FIX (display here) STD (restore standard mode, or whatever you use as default) > -- Aaron I am wondering how to round a number to 2 digit > and display it even if the least significant > digit is zero. Tal Do you want a display rounding with 2 FIX or real rounding with 2 RND or both in order to display a possible trailing zero after rounding??? I am wondering how to round a number to 2 digit > and display it even if the least significant > digit is zero. Tal