= = The HP-28C - calculator or computer? -------------------------------------- Calculator or computer ? The 28C is described as an advanced scientific calculator. The 41 was announced in similar words, but with its extensions has so many features that it is now called a "handheld computer" even by Hewlett Packard themselves. Will the 28C be seen as a pocket computer too? Following the reviews above, I shall consider this and similar less immediate but equally interesting matters. There are sure to be some overlaps between the reviews but at this stage that is no bad thing. Computer-like features: For a start, the 28 has an alphabetic keyboard, and this can be used to produce prompts, describe results, write formulae, and even to give meaningful names to variables. When it is not required, the alphabetic keyboard can be ignored or even folded away completely under the numeric keyboard. Secondly, the heart of the 28, its CPU, is the same unit as the CPU of the HP-71B computer. This has a larger set of instructions than earlier CPUs and can work much faster. From the keyboard, the 28 works at about the same speed as a 41, but in running a program it is much faster. Another computer-like feature is the large set of instructions used to control the stack. The 28 has an RPN stack which behaves much like the stack on previous RPN machines, but is not limited to four registers. Simple calculations with this stack work very much as on older machines, but the stack can be used instead of data registers to store data, since it can hold any number of values. Use of such a stack is made easier by a set of instructions which look more like the computer language FORTH than like calculator instructions. Other computer-like features are the multi-line screen, the ability to handle symbolic and other data types, on-screen graphics, and the use of menus. One more computer-like feature of the 28 is its price! At about $200 the 28 will cost more than some cheap home computers. In the days of the HP-65, of the 67, and even in the early days of the HP-41, a price of over $300 for a programmable handheld computer seemed reasonable - after all, there were no real computers available at that sort of price. Indeed the 65, 67 and 41 were the first computer-like devices that many people could afford. Nowadays prices are very different. Calculator-like features: no expansion ports (even the Timex/Sinclair ZX81 had them), no interactive I/O (the printer is not interactive, a Redeye to IL converter might be possible, but could not be interactive), too little memory. The manual says this is because it's a calculator. Calculator or computer, it should have more memory. The ZX-81 had only 1K RAM built-in, yet it was definitely a computer, even if not a very serious one. The point is that you could add a 16K RAM pack to a ZX-81, but cannot add memory to the HP-28C. Anyway, the shortage of accessible RAM makes the 28 more like a calculator than a computer. Besides, it has no clock functions and no I/O except for a printer - even the 65 and 67 had a Card Reader. Units: it has 123, including such useful everyday units as the parsec, the barn, the astronomical unit, - and the teaspoon! The 28C knows about three kinds of gallons; UK, US and Canadian. The old-fashioned among us will be delighted to know that it can convert degrees Fahrenheit, and rods, but not, alas, poles(!) and perches. It allows for additional user-defined units and treats "1" as a unit. It even knows about the constants PI and e - it can be set so these are not converted to numerical approximations but are stored as symbols which are recognised by the trig and log functions. Programming: The absence of line numbers is annoying - if a program goes wrong you have no idea where the error was - just a message and the stack contents. A tip - while debugging a program put HALT as the first step, then you can SST through it. Once the program works, delete the HALT. The idea is to build programs from short routines, debugging each one separately, as in FORTH - see my notes on FORTH in the HPCC 1986 Conference Notes. The programming language is in many ways very similar to FORTH. Speed: A program to sum the factorials of all numbers from 0 to 69 gave the answer correct to 12 significant figures in 5.0 seconds. 69 was the upper limit because it is the largest number accepted by FACT on the HP-41, which took 23.6 seconds, with an error in the tenth digit! For comparison with the opposition, the same test on a Casio fx-7000G took 5.4 seconds correct to 12 significant figures. (On a 71 the answer came correct to 12 figures in 4.7 seconds in BASIC, and in 3.0 seconds in FORTH.) The fx-7000G is slower but is a graphics calculator which has a display 3 times as high as the 28C's, costs less than $80, has a large collection of functions and operations, but not symbolic algebra, and plots faster than the 28C. For example the default plot of SIN(X) takes about 6 seconds on the Casio, and 18 seconds on the 28C. I'm afraid it is serious competition for the 28C. Manuals: The "Getting Started Manual" shows you at least a few of the instructions in most menus and gives examples of how these instructions are used. It has a very useful collection of indices - particularly the "Answers to common questions" in Appendix A - this looks surprisingly similar to the list which HP didn't publish for the HP-41 and which I did publish in my book! The "Reference Manual" describes all the menus and all the functions but without complete examples - maybe the examples will be in Solutions Books and manuals to be published by HP and/or outside companies. The manuals should say how many bytes each object uses, but they do not - this is a very important question as memory is so short. Symbolic algebra and calculus: This is the most advanced feature of the 28C, not available on other calculators, and probably the main selling point as far as HP are concerned. If you do want this then the 28C is a very good buy - you would pay about as much just for a program which does the same job on a personal computer, and that would not be portable. How good is it? You can symbolically differentiate almost any expression, but you can only symbolically integrate power series. The 28C will, however, make a polynomial Taylor expansion of other functions, and will then integrate this expansion - a brilliant solution, and you can use the Taylor expansion feature on its own too. You can even define the differential of a function (one you have written yourself, or one which does not have a continuous differential, such as SIGN). Power series integration is little help if you want to integrate a negative power - you just get the message "Infinite Result" - which is supposed to remind you that there is a singularity at zero in the integrand - but is not much use if you want to integrate a negative power over a range which does not include zero. The other main attraction is a powerful set of functions to reorder and analyze algebraic expressions - this is very clever, but cannot deal with everything. For example I was unable to use the ALGEBRA and FACT menus to evaluate (2 + 6*X^2)/(1 + 3*X^2) as 2. In the end, I gave up and divided the expression by 2 - it was then turned into 1, but even that required some manipulating first. No doubt with practice users will get to like these features, and they do save paper, but a complicated expression can take ages to sort out, the more so if it cannot be all seen on the display at once. I shall still be using pencil and paper for some time. Hacking: If you are willing to break the 28 open, it should be possible to speed it up and replace the 2K RAM with larger amounts. Software hacking of the type done on the 41 and earlier machines seems difficult - I could not find any exploitable bugs, if you purge a program and return to it then nothing odd happens because the running program is a separate copy and is not lost: only the original is deleted. However there is a fascinating function, SYSEVAL which we are warned not to use, and therefore we shall spend vast amounts of time studying it. SYSEVAL executes machine language instructions in the system ROM area, and can be used to study the workings of the 28. Since the CPU does not distinguish between ROM and RAM addresses it should be possible to store machine code in RAM and then use SYSEVAL to execute it, once we learn just how SYSEVAL works. This sort of thing seems to have been planned for: the 28 has two "reserved" User flags, three unused shifted keys, and may even have some additional "hidden" RAM. Anything else? : The statistics functions are far better than on previous calculators - things like the variance and standard error are available directly as functions. So are three one-tail distribution functions - and their inverses (the probability) can be obtained too, using SOLVE (see article by Les Finch and myself on the same subject in DATAFILE V5N8). Comparison with HP-41: Most HP-28C features are available on the 41, though many are in modules, but the 41 is slower, does little symbolic analysis (only the AEC ROM does this ), and has a one-line display (but you can use an HP-IL video interface). Yet it has expansion features, I/O, memory, and a clock which the 28C does not have. The 28 does not replace the 41. Do you need one ? That's the bottom line, isn't it? Quite honestly, I don't need one, but that's not the right question to ask of an HP fan - the right question is "can I find the money to buy one"? I'll let you know soon. There must be a lot of people who will be happy to pay a lot for the 28 but I don't see how it can become as popular as the HP-41C. It has no hardware expansion features, not everyone needs the symbolic operations, and Casio have just introduced the fx-8000G graphics calculator with a bigger display than the 28C, an interface to printers, plotters etc., more RAM, and at a price that will lure many away from thoughts of buying a 28C. Pity! Conclusion - it is ONLY a calculator, but with a quite outstanding specification and is up to the usual high HP standard of quality. Wlodek Mier-Jedrzejowicz, HPCC 9, [141], (8498).