þ€þ€þ€€€€€€€€€€€€€€€€àø€ø€€€ø€þ€ø€€€þ€àþ€€€€€€à€€€€€€€€€€ø€þ€þà€€€€€€€€€€€€€ø€ø€ø€ J A N U A R Y 1 9 8 8 H P - 2 8 N O T E S NEW VERSION Since about last November version 1BB of the HP-28C has been replaced by version 1CC. If you bought an HP-28C recently then do DEC #10 SYSEVAL to see which version you have. This method of finding the version number is described on page 43 of the Reference Manual. When I got one of these new version models I found it came with Edition 3 of the manuals. A few errors in the manuals have been corrected but a few are still there. One thing to note is that the year and the light year have been corrected in version 1CC (they are now given in terms of the number of seconds in a tropical year, not in 365 days), but the third edition of the Reference Manual still gives the uncorrected values. Other errors in the manuals are either so trivial that you will probably not notice them, or so obvious that you will not miss them. For example the last line in the description of LNP1 (page 183 of the Reference Manual) says that "Arguments less than 1 cause an Undefined Result error." This has not been corrected in the new edition, but it will be immediately clear to anyone who does use LNP1 that the lowest acceptable value is -1, not 1 as stated in that sentence. BUGS The new version has corrected several bugs and also provides a few improvements. I doubt if many people use two HP-28Cs, so it is probably not worth describing most differences between the two versions. Most of the version 1BB HP-28C bugs are fairly trivial. A few affect operations while you are typing things in from the keyboard - if the calculator hangs up or displays a System Object then do a System Halt (press ON and the UP key ^) - this does not do a memory lost but clears the stack and command line. Tony Collinson of HP UK very kindly provided a list of bugs but the full list would take up a lot of space in DATAFILE, so I have put it in my book for those people who use an HP-28C a lot and need such a list. By the way, I am still selling copies of my book from the preliminary printing at 7 UK pounds each but am now charging 2 pounds extra for postage and packing. The properly printed version is well over a month away from completion. The following are bugs that can affect programs and give wrong results. > Binary integers with different word sizes are considered not equal even if they contain equal numbers. Try doing #1 DUP 50 STWS 'A' STO A ENTER . This stores the binary number #1 in a variable A with a word size 50, then brings back a copy of that value from A. The stack still contains the original copy which was 64 bits long (assuming you originally had the word size set to 64). Now if you do SAME you will get the result 0 which means that the two numbers are not the same, because they have different lengths even though they have the same value. > The Solver can give incorrect "Sign Reversal" messages. If you get such a message check points near where you get this message to see if it is true. > User-defined units that involve degrees Fahrenheit or Celsius will give incorrect results (because temperature conversions involve addition as well as multiplication). > String comparisons do not work properly if the strings have the same first letter. For example "AA" "AB" < gives 0. > Rounding of numbers in CMPLX and MATRIX arithmetic is sometimes less accurate than it would be if done with real numbers. This usually only affects the least significant digits, so it is a problem only if you require accuracy to better than 9 digits, or if you do calculations that involve many iterations. > The bug most likely to affect the average user is that RND does not work correctly in FIX mode. Try doing 0 FIX .7 RND and you will get 0. instead of 1. unless you have flag 51 or 52 set! If you want to use RND in FIX mode then set one or both of flags 51 and 52. If you need to keep these flags clear (they affect the printer speed and the beeper) then use ->STR STR-> to turn your number into a string and then back into a number, thereby rounding it. Two other bugs deserve mention. Jean-Daniel Dodin (former head of the Toulouse club) reported that pressing menu keys fast can lead to a Memory Lost. Bill Wickes replied that this can be explained as follows. If you press keys faster than the HP-28C can process them then it stores up to 15 keystrokes in a "key buffer" and processes them when it is ready. If the HP-28C runs out of memory then it will go into the special Out of Memory procedure which uses the INS and DEL keys as YES and NO. Now, if keystrokes using the INS key have been stored in the key buffer then they will be interpreted as YES, and various items might be deleted, giving unpredictable results and possibly a Memory Lost. All of the above bugs have been corrected in version 1CC, and so has the funny behaviour of ON SHIFT discovered by Frank Wales. Here is a final amusing bug which has not been corrected: some special characters are not correctly displayed in the in the inverse characters of the menu line. For example the vertical bar (character number 124 "|") is displayed as "Z". If you do: 1 DUP "N" 124 CHR + STR-> STO then you will see a new variable in the USER menu, with its name displayed as 'NZ' instead of 'N|'. This is the most extreme example of the bug, fortunately few people are likely to use | in the names of variables. Other characters affected are ~, the multiply and divide signs x and - . The proportionality sign shows up in a most unusual shape, and "&" shows up as "e". This last might be intentional, since & is actually a contracted form of the Latin word "et", but it can be confusing since "e" is used as the name of the transcendental number 2.718281828......... There again, the menu normally uses only upper case letters, so you can use "&" to provide names with a lower case "e" in them, for example to put the value 2.718281828... into the USER menu. THE CLOCK Tony Collinson has also told us that the clock in the new version of the HP-28C is read by doing #1266 SYSEVAL (in HEX mode). Use this instead #123E if you want to use the clock programs described in DATAFILE last year. MORE MEMORY There is still no sign here of an HP-28 model with more memory, but I built a CMT 32k byte RAM module into an HP-28C over Christmas and did some tests with it. In DATAFILE V6N5p8 I said that the largest square matrix an HP-28C can store is a 13*13 real matrix. Well, with the extra 32k, the largest square matrix I could store was 65*65 real numbers, and the HP-28C inverted it in just under half an hour - this would be impressive for a small computer and is amazing for a calculator! The only problem is that it would take something like 8 hours to enter such a matrix from the keyboard - this is one more example of why a true input port is vital if the HP-28C is to be used to its full potential. A company in the United States is now selling a calculator stand on which you can put an HP-28C (or any other HP calculator with an infra-red output bulb). This stand picks up information from the infra-red transmitter and sends it down an RS-232C cable to an IBM PC or clone, so you can send results and printouts to a PC - but you still cannot receive inputs. That's all from me for this issue of DATAFILE, but look at Charlie Williams' HP-28 article too! Wlodek Mier-Jedrzejowicz