Langbahn Team – Weltmeisterschaft

Casio FX-850P

Casio FX-850P
TypePocket Computer
ManufacturerCasio
Calculator
Entry modeInfix, BASIC
Display typeLCD Dot-matrix
Display size2×32 Character
CPU
ProcessorHitachi HD62002A01
Programming
Programming language(s)BASIC
Interfaces
Portsone vendor specific
Connects toCompact Cassette via:

Line Printer via one of:

PC via one of:

Other
Power supply2×"CR2032" Lithium + 1×"CR1220" Lithium
Weight197 g[1]

The Casio FX-850P is a scientific calculator introduced in 1987 and sold until 1999.

Specifications

  • 2 lines with 32 5×7 characters LCD
    • (some indicators and a 5 digit 7-segment display)
  • 8 KB RAM (FX-860P: 24 KB, FX-880P: 32 KB)
  • CPU: VLSI at 1.228 MHz. Hitachi HD62002A01 (FX-860P, FX880P: HD62002A03)
  • Integrated speaker
  • Internal slot for memory expansion (32 KB)
  • Connector with support for RS232 and Centronics (only level converter for RS232, Centronics needed)
  • LCD Driver: 2 x HD66100F
  • 2x 3V CR2032 lithium batteries as main power supply
  • 1x 3V CR1220 lithium battery as memory backup (RAM power supply)

User's manual at http://www.usersmanualguide.com/casio/calculators/fx-850p

The calculator had a BASIC interpreter, MEMO function, a formula library. The built-in 8 kB memory could be expanded using the optional Casio RP-8 (8 kB) or RP-33 (32 kB) RAM expansion modules. An optional Casio FA-6 interface board provided a cassette tape recorder connector, a Centronics printer connector and an RS-232C port. The calculator could print data and listings on any Centronics printer; printing graphics required the Casio FP-100 plotter-printer.

Later, Casio released the FX-880P, which had 32 kB built-in memory. With a RP-33 expansion module, this model could be upgraded to a total of 64 kB.

The memory layout is:

  • 0000-00FF Screen memory
  • 0100-01FF Reserved for internal functions
  • 0200-02FF INPUT Buffer
  • 0300-03FF CALCJMP, VALF Buffer
  • 0400-04FF Reserved for IN/OUT/CALC modes (CALC$)
  • 0500-074A Reserved for internal functions
  • 074B-0752 Reserved for storing the user PASSWORD
  • 0753-175A Reserved for internal functions
  • 175B-175C Vector pointing to MEMO memory start
  • 175D-1FE4 Reserved for internal functions
  • 1FE5-1FFF Vectors pointing to P0-P9 memory start
  • 2000-9FFF User memory (shared by MEMO and P0-P9)
  • A000-BFFF Repetition of 0000-1FFF
  • C000-DFFF Repetition of 0000-1FFF
  • E000-FFFF Repetition of 0000-1FFF

Memory area A000-FFFF was either available as user memory (if expansion was present), or would simply repeat the contents of 0000-1FFF

A few glitches are:

  • POKE 1867,0 → would delete any user PASSWORD
  • POKE PEEK(8027)+256*PEEK(8028),32 → would recover contents of MEMO after a RESET ALL
  • POKE PEEK(8027)+256*PEEK(8028),26 → would hide contents of MEMO, much like a RESET ALL would do, but without losing the programs

The internal function library was programmed in BASIC itself and could be extracted with a BASIC decompiler.

Any function in the library can be executed from a regular BASIC program by using GOTO "LIB0:NNNN" where NNNN is the function number (e.g. 5010 for prime factorization). The command GOTO "LIB0:0400" executes a self-test program.

Characters 252 to 255 were user defined. They could be defined by issuing the command DEF CHR$(n)="HHHHHHHHHH" where n ranges from 252 to 255 and the H's are 10 hexadecimal digits (5 bytes). Every byte defines the pixel pattern for a column. Since a column is 7 pixels high, the least significant bit of every byte is ignored.

The CHR$(26) would activate a different character set for Katakana and Kanji characters. CHR$(27) would deactivate Kanji.

Via a serial cable the calculator could connect to a PC or to another Casio FX-850P, allowing the transfer to MEMO and stored programs.

See also

References