Casio FX-801P

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: 1982  Display type: Alphanumeric display  
New price:   Display color: Black  
    Display technology: Liquid crystal display 
Size: 8½"×10½"×2" Display size: 20 characters and 4 digits
Weight: 2.5 lbs    
    Entry method: BASIC expressions 
Batteries: 6×"AA" alkaline Advanced functions: Trig Exp Hyp Lreg Cmem Prnt Tape 
External power: Casio AD-1   Memory functions:  
    Programming model: BASIC 
Precision: 12 digits Program functions: Jump Cond Subr Lbl Ind  
Memories: 1680(0) bytes Program display: Text display  
Program memory: 1680 bytes Program editing: Text editor  
Chipset:   Forensic result: 9.00000716758  

fx801p.jpg (89645 bytes)The FX-801P is one of the more unusual BASIC-programmable calculators from Casio. On the one hand, it is a de luxe model with built-in tape drive and thermal printer; on the other hand, its limited memory and idiosyncratic BASIC suggest that it must be one of the earliest models in this product line. (I do not know for a fact how early; this is therefore just an educated guess.)

Just how idiosyncratic is its BASIC? How about non-standard keywords like INP or PRT. How about the almost unique feature of offering even hyperbolic functions as BASIC keywords (e.g., HSN for the hyperbolic sine.) How about features such as not requiring the argument of a univariate function to be enclosed on parentheses (e.g., you can write SIN X, you do not need to write SIN(X)), yet the multiplication sign, which can often be omitted on machines with similar syntax, is always required here (i.e., you cannot substitute 3X for 3*X).

Perhaps the biggest limitation of the FX-801P is its 1680 byte memory. This limitation of course is offset by the presence of a tape drive that appears to be very reliable; in my 20-year old, fairly used FX-801P, the tape drive still operates flawlessly.

Demonstrating the FX-801P's programming model is the following implementation of the logarithm of the Gamma function, computed using the Lanczos-approximation:

10 INP Z
20 S=SGN Z
30 Z=ABS Z
40 G=2.506628275635
50 G=G+225.5255846192/Z
60 G=G-268.2959738413/(Z+1)
70 G=G+80.90308069346/(Z+2)
80 G=G-5.007578639705/(Z+3)
90 G=G+.01146848954348/(Z+4)
100 G=LN G+(Z-.5)*LN (Z+4.65)-Z-4.65
110 IF S>0 THEN 130
120 G=LN(-π/Z/SIN (π*Z))-G