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
Years of production: 1990  Display type: Graphical display  
New price:   Display color: Black  
    Display technology: Liquid crystal display 
Size: 6"×6"×1" Display size: 240×128 pixels
Weight: 12 oz    
    Entry method: Spreadsheet calculation 
Batteries: 2×"AA" alkaline + 1×"CR-2032" Lithium Advanced functions: Trig Exp Lreg Grph Solv Fin Cmem RTC Snd Mtrx BaseN 
External power: HP adapter   Memory functions: +/-/×/÷ 
I/O: Serial port, IR port, PCMCIA     
    Programming model: Spreadsheet data 
Precision: 16 digits Program functions: Jump Cond Subr Lbl Ind  
Memories: 1(0) megabytes Program display: Formula display  
Program memory: 1 megabytes Program editing: Formula entry  
Chipset: NEC V20   Forensic result:  

hp95lx.jpg (53872 bytes)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.