CASIO FX-602P

Description

Brand: CASIO
Model: FX-602P
Type: Programmable scientific calculator
Picture: CASIO FX-602P
Batteries: CR 2032 x 2
Lifetime: Introduced: 1982
Terminated: 1989
Notes: This is IMHO the best and most usable programmable pocket calculator ever. The user interface is very good and clear, the display is fantastic and its interfacing options are adequate. This calculator came in two versions, the cheaper CASIO FX-601P with less memory and this CASIO FX-602P.

This calculator is the successor to the non-alphanumeric CASIO FX-501P and CASIO FX-502P. The CASIO FX-601P and the CASIO FX-602P calculators were available next to their basic programmable sibling the CASIO FX-702P. Succeeded by the CASIO FX-603P.

This calculator is keystroke programmable and has nice flow control options with labels, subroutines (use any program as a subroutine), comparisons and even very powerful indirect addressing. Indirect memory access is also possible. It also includes single steps for decreasing or increasing a memory value (M00) and then comparing the result to zero to conditionally perform the next step when zero.

Using the BST and FST keys it is very easy to scroll through programs. New steps are easily inserted, steps can easily deleted using the C key. Programs could also be single-step debugged whilst running where the BST shows the last executed program step and the FST key performs the next step. Start a program by using the BST to start debugging.

The calculator has memory that could be partitioned between program steps and memory locations to store variables. In its default setup there are 512 program steps, 20 memory locations M00 - M19 and two extra special memory locations (MF and M1F). Each memory location is equivalent to 8 program steps.

The calculator has all the common scientific functions and also statistical functions. Memory locations M07, M08 and M09 are used to store statistical data, these registers can be cleared using the SAC function (INV FST).

A rather funny "function" of this calculator is its ability to play music using its cassette interface. A special keyboard overlay for this function was also available and part of the standard package. The manual even listed a couple of familiar songs that could be played in this manner.

This calculator (as do many other CASIO scientific calculators) uses one and the same key for both the constant π as well as exponents. This works as follows. When you first enter digits, the EXP key will enable you to enter the exponent, otherwise it will enter the constant π.

The programming of this calculator is quite similar to the programming of the later TI-95 PROCALC programmable calculator.

Peripherals

There are various interfaces for this calculator (and others in this series). There are two types of cassette-interface, which could play musical notes as well. There is also a printer, the FP-10. I own the printer FP-10 and cassette interface FA-2.

Personal Experience

Introduction: This was my very first programmable calculator, and I bought it myself (although with some financial help by my father). I have spent quite a lot of time getting to know it and writing programs for it.

Later, when I was able to buy the TRS-80 PC-2, the time I spent on this calculator waned. I am however still very fond of this calculator. Even nowadays it’s perfectly usable, quick, powerful. I still have one on my desk and I still use it in virtual form on my iPhone and Apple Silicon laptop using the "FX-602P Sim" App. That is, for as long as it keeps working: The App is no longer available in the iOS App Store. The website of Wulf Becker (the App’s creator) and their e-mail address are not working anymore. Very sad, the iOS version of the FX-602P is a really great calculator. I tried to determine what happened to the sim but could only find Wulf’s LinkedIn profile.
Programming example: During the period when I was using this calculator a lot I was also very intrigued by fractions. For instance, which fraction produces "0.123456789" (the answer is 10/81 by the way. Also nice are 100/891, 1000/8991, 890/891, 1000/9801 and so on, I had a notebook full of them back then). When playing with one of CASIO’s programming examples, the one for finding common denominators, I found out by accident that it could be used to find that fraction. I’ve spent quite some time optimizing the code and have adapted it so that it can be used even during calculations without influencing them (using brackets, two levels deep). Later calculators sometimes have this functionality build-in.

Here is my program for finding fractions:

MinF FRAC ABS x=0 1 Min19 1 Min18 LBL1 ( ( MR18 ÷ MR19 ) FRAC x MR19 Min18 ) Min19 FIX4 x=0 GOTO2 GOTO1 LBL2 ( ( MR18 1/x FIX0 Min19 x MRF ) FIX0 Min18 ÷ MR19 ) “ ar18 / ar19 ”
Synthetic programming: Not really Synthetic Programming in the strict sense but a neat way to add normally unavailable alphanumeric symbols to programs.

The calculator needs balanced quotes. That is because the calculator had two ways to read its memory, as instructions and as alphanumeric symbols. When the calculators encounters an alphanumeric switch (“ or ”), it will switch modes. The trick is to have a program with an unbalanced switch. I can’t quite remember how I found out how to do that, but I experimented quite a lot with my beloved FX-602P.

Here is the trick:
  1. Create a new program
  2. With the following steps: “ xxxxxxxxxxxxxxxxxx ”
    (Just enter a large bulk of alphanumeric stuff, say 200 steps)
  3. Now erase this program in MODE 3 using the AC key but switch off the calculator immediately after to prevent full erasure. I’m guessing erasing a program normally zeroes the program’s occupied memory.
  4. Switch it back on and create a new program with random steps, until you encounter the remainder of your not-entirely-erased program, which will now end with an unbalanced alphanumeric switch!
  5. Delete all unnecessary steps to end up with just the single unbalanced ”.
This single unbalanced alphanumeric switch will act as a "mirror". Look at your program from one end to enter instructions, look at it from the other end to see all kinds of new alphanumeric symbols! This way it is also possible to enter all kind of normally unavailable alphanumeric symbols, every instruction has an alphanumeric counterpart.

My programs used to be full with these new symbols. The "mirror" could be saved to tape as well.

Some very interesting information, including a table of all of the calculator’s alphanumeric symbols can be found on this page on krischik.com (link validated 2024-01-13).
Speed: Although this calculator is fast to begin with, it could easily be speeded up by simply changing the value of one of its internal resistors. Mine was at least twice as fast as it should be. I had to change batteries twice as often as well though... Another drawback is that it plays havoc with the calculator’s TAPE output. Program’s written to tape can’t be read by others anymore, the upgraded calculator can’t read your own older recordings anymore. On the plus side, it can calculate 69! really quickly now, something that was quite important when I was still in high school comparing calculators...
Crashing bug: It is possible crash the calculator with only a few keystrokes. No programming necessary. Found out myself by playing with unusual key sequences.
Here is my sequence to enter an endless loop:

INV MODE MODE INV EXE INV 0

The only way to recover now is to switch the calculator off.
Reveal
pas
swords:
Programs could be protected using four-character passwords. To protect a program enter WRITE modus (MODE 2), and type the hyp key followed by the appropriate program key (P0 - P9) and enter your four digit password sequence.

After finding out the unbalanced quote bug mentioned earlier I started experimenting in debug mode. It was possible to skip a quote and view the calculator’s memory content as alphanumeric symbols.
To obtain passwords enter this little program:

“ ” LBL1
Now enter RUN mode (MODE 1) and start single stepping your little three step program by pressing the GSB key followed by your three-step program’s key. Then single step one step forward using the FST key to skip the first “ of your program. Next press AC to leave alphanumeric mode and then GOTO and 1. At that point the program is actually in the middle between “ and ” and will jump to LBL1 over the now unbalanced ”. Now pay attention, the calculator will dump all program memory on its LCD in reverse order as alphanumeric symbols. Including all passwords, also in reverse order. Pay very much attention or record it, but the passwords will be visible.

A remedy is to not have any unprotected or free program slots. When it is not possible to enter or modify programs this trick won’t work.

I remember performing this trick on the CASIO FX-602P of one of my teachers in high-school. He was flabergasted that I could simply produce his password.
Full Reset: One of the e-mails I receive every now and again goes something like this: "I have a CASIO FX-602P and love it, but suddenly I only have only n programming steps left instead of the usual 512, and I can’t add any more programs in MODE 2". This sometimes happens after swapping batteries. The solution to this little problem is a simple one.
Type the following key sequence:

MODE 3 INV BST MODE . 2 0 INV BST
INV BST performs MAC, Memory All Clear. Now everything should be back to normal. Please note that this will completely clear the calculator’s memory and any user programs are lost as well.