Hewlett-Packard HP-95LX
Datasheet legend
Ab/c:
Fractions calculation
AC: Alternating current BaseN: Number base calculations Card: Magnetic card storage Cmem: Continuous memory Cond: Conditional execution Const: Scientific constants Cplx: Complex number arithmetic DC: Direct current Eqlib: Equation library Exp: Exponential/logarithmic functions Fin: Financial functions Grph: Graphing capability Hyp: Hyperbolic functions Ind: Indirect addressing Intg: Numerical integration Jump: Unconditional jump (GOTO) Lbl: Program labels LCD: Liquid Crystal Display LED: Light-Emitting Diode Li-ion: Lithium-ion rechargeable battery Lreg: Linear regression (2-variable statistics) mA: Milliamperes of current Mtrx: Matrix support NiCd: Nickel-Cadmium rechargeable battery NiMH: Nickel-metal-hydrite rechargeable battery Prnt: Printer RTC: Real-time clock Sdev: Standard deviation (1-variable statistics) Solv: Equation solver Subr: Subroutine call capability Symb: Symbolic computing Tape: Magnetic tape storage Trig: Trigonometric functions Units: Unit conversions VAC: Volts AC VDC: Volts DC |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hewlett-Packard HP-95LX
Is it a bird? Is it a plane? No, it's an IBM-compatible personal computer... in your pocket. Yet another machine from a seemingly bygone era when the Hewlett-Packard company just couldn't get it wrong.
I was always of the opinion that a pocket calculator with desktop computer-style functionality is a bad idea; what you do with a pocket device isn't what you do with a desktop computer and the built-in functionality should reflect this fact.
Well, yes. Unless it's a pocket computer done by HP. They proved this with the HP-71B, and they proved it again with the HP-95LX. Imagine: a DOS-based, PC-compatible pocket computer with a teeny QWERTY keyboard. Sounds cute except that I was always doubtful of its usefulness, which is indeed the reason why I didn't buy one 10 years ago. I was wrong.
The HP-95LX does everything right, so much so that this 10-year old precursor of modern PDA's is still an eminently useful device. It provides DOS compatibility alright (to the extent that I am happily playing with the classic adventure game, Zork, on my HP-95LX these days) but it also packs a selection of highly useful built-in applications, most notably a version of Lotus 1-2-3, the best text-based spreadsheet program ever written.
This machine is just, well, plain good. Feels good, works good. Built-in applications include, in addition to Lotus 1-2-3, a data communications program, a suite of personal information management utilities (notepad, phonebook, appointment calendar), and last but not least, a do-everything financial graphing calculator complete with formula programmability via the venerable HP Solve feature. So yes, the HP-95LX, in addition to being a pocket DOS computer, also happens to be one of the last RPN calculators Hewlett-Packard made. The teeny keyboard is much better than you'd think, thanks in part to the snappy responsiveness of a high-quality HP key mechanism that used to be an instantly recognizable feature of all HP calculators in the past.
So how do you write programs for this machine? Well, since it's an IBM-compatible PC, why not use your favorite development tool? Just make sure it produces DOS programs... however versatile a device it is, the HP-95LX cannot run 32-bit Windows applications. But it does quite happily run 16-bit DOS programs that were produced using tools such as Microsoft's Visual C++ 1.52 (the last 16-bit version of this development environment.) Or, if you prefer a return to simpler times, you can do what I did and dig out that old copy of GW-BASIC, and install this interpreter in all its 70 kilobyte glory on the HP-95LX's RAM disk.
Of course you can also write programs using the Intel assembly language. The DOS utility DEBUG.COM actually comes with this machine; it can be found in the hidden directory C:\_SYS. Oh, you mean you forgot how to use DEBUG.COM? Well, here's a simple example session:
C>debug -a 1E0A:0100 mov bx,1 1E0A:0103 mov cx,f 1E0A:0106 mov dx,110 1E0A:0109 mov ax,4000 1E0A:010C int 21 1E0A:010E int 20 1E0A:0110 -e 110 1E0A:0110 00.48 00.65 00.6c 00.6c 00.6f 00.2c 00.20 00.57 1E0A:0118 00.6f 00.72 00.6c 00.64 00.21 00.0d 00.0a -r cx CX 0000 :1f -r bx BX 0000 :0 -n hello.com -w Writing 001F bytes -q C>hello Hello, World! C>
Oh yes, this is a functional MS-DOS program that occupies a grand total of 31 bytes (not kilo-, not mega-, just bytes) of disk space...
But enough about MS-DOS. The reason why the HP-95LX is on my Web site is, after all, that it's a calculator-like device, not a PC-compatible. As an example, here again is the Gamma function, rewritten using the formula language of the HP-95LX's built-in calculator:
Gamma=(-1)^SIGMA(i,X,0,1,1)/EXP(SIGMA( i,X,15,1,LN(ABS(i))))*L(q,SIGMA(i,X,15 ,1,1)+X)^q/EXP(q)*SQRT(2*PI/q)*EXP(((( (1/1188/SQ(q)-1/1680)/SQ(q)+1/1260)/SQ (q)-1/360)/SQ(q)+1/12)/q)
If you graph this function using default range settings (X=-5..5, Y=-3..3) and a resolution of 240, you get the result shown in the calculator image on this page.