Introduction
Introduced in 1985, the Casio fx-7000G was an early graphing calculator with a tokenised, formula-based programming language. It offered ten program areas sharing 422 program steps, 26 standard numeric memories (expandable to 78), an eight-level calculation stack and a 127-step computation execution area.
Its display supported 16 characters across eight lines, alongside graphics at approximately 96 × 64 pixels. Although its processor clock speed, bus widths and physical memory architecture are not established by the readily available documentation, its compact programming environment was capable of conditional branching, loops, subroutines, random-number generation and substantial mathematical computation.
A rushed search for the manual
I’d rushed home after the lecture. I had one thing on my mind: the fx-7000G manual.
I found it in my desk drawer, beneath the usual collection of used bus tickets and out-of-date shopping lists. I flicked through the pages until I found the section on programming.
This was it! I’d found it!
It wasn’t much, but with just this information, I could write my very own version of Pontoon.
| Syntax | Meaning | Example |
|---|---|---|
→ |
Assign a value to a memory variable | 5→A |
? |
Request user input | ?→A |
◢ |
Display a result or message and pause | A²◢ |
: |
Separate multiple statements | A→B:B+1→B |
; |
Not a standard statement separator on this model | Use : instead |
" |
Enclose text to display | "HELLO" |
( ) |
Group expressions | (A+B)÷2 |
I already had some experience with BASIC programming, so it didn’t take long before I’d written some basic code of my own. There were more pages covering other things the calculator could do, which I referred to as needed.
Before long, I’d coded Pontoon!
I no longer have the calculator, so I’ve asked ChatGPT to knock up an approximation of the code I might have written back in 1993.
Here’s a simplified example:
0→A:0→B
Lbl 0
Int(11×Ran#)+1→C
A+C→A
A>21⇒Goto 8
"YOU":A◢
"1=TWIST 0=STICK"◢
?→D
D=1⇒Goto 0
Lbl 1
Int(11×Ran#)+1→C
B+C→B
B<16⇒Goto 1
"YOU":A◢
"DEALER":B◢
B>21⇒Goto 7
A>B⇒Goto 5
A<B⇒Goto 6
"DRAW"◢
Goto 9
Lbl 5
"YOU WIN"◢
Goto 9
Lbl 6
"DEALER WINS"◢
Goto 9
Lbl 7
"DEALER BUST"◢
"YOU WIN"◢
Goto 9
Lbl 8
"YOU BUST"◢
"DEALER WINS"◢
Lbl 9
Anyone with a basic understanding of programming should be able to follow the logic.
The program stores your score in A and the dealer’s score in B.
The variable C holds the value of a randomly selected card, ranging from 1 to 11.
Essentially, the program compares the two scores, checks whether either player has gone bust (exceeded 21), and declares the player with the highest score the winner — unless it’s a draw.
Of course, this is a simplified reconstruction rather than a verified copy of my original program. The real thing was a little more involved!
Taking it further
Later versions became more sophisticated, building on the original game and introducing several additional features:
- Random card draws between 1 and 11.
- The option to burn an opening hand totalling 13.
- A choice of 1 or 11 when an ace is drawn.
- An immediate win for an opening Pontoon.
- Decisions to twist or stick.
- A five-card trick.
- A dealer that draws until reaching 16.
- Bust detection and winner announcements.
An example of what a later version might have looked like — vibe-coded by ChatGPT again — is shown below:
0→A:0→B:0→C:0→D
Lbl 0
0→A:0→C
Int(11×Ran#)+1→E
Int(11×Ran#)+1→F
E+F→A
2→C
A=21⇒Goto 8
A=13⇒Goto 1
Goto 3
Lbl 1
"TOTAL 13 - BURN?"◢
?→D
D=1⇒Goto 0
Lbl 3
"YOUR SCORE"◢
A◢
"1=TWIST 0=STICK"◢
?→D
D=0⇒Goto 4
Int(11×Ran#)+1→E
E=11⇒Goto 9
A+E→A
C+1→C
A>21⇒Goto 7
C=5⇒Goto 5
Goto 3
Lbl 4
Int(11×Ran#)+1→E
E=11⇒"DEALER ACE"◢
E=11⇒1→E
B+E→B
B<16⇒Goto 4
B>21⇒"DEALER BUST"◢
B>21⇒Goto 6
A>B⇒Goto 6
A<B⇒"DEALER WINS"◢
A<B⇒Goto 2
"DRAW"◢
Goto 2
Lbl 5
"FIVE CARD TRICK"◢
Goto 4
Lbl 7
"YOU BUST"◢
"DEALER WINS"◢
Goto 2
Lbl 8
"PONTOON!"◢
Lbl 6
"YOU WIN"◢
Goto 2
Lbl 9
"ACE: 1 OR 11?"◢
?→F
F=1⇒1→E
F=11⇒11→E
A+E→A
C+1→C
A>21⇒Goto 7
C=5⇒Goto 5
Goto 3
Lbl 2
"GAME OVER"◢
Sharing was a different game altogether
Back in college, sharing software wasn’t easy.
There was a lead that looked like a headphone jack at both ends, allowing you to copy programs from one calculator to another. This lead was expensive, and only one person was known to have bought one.
For the rest of us, we wrote out the code — usually by hand — and swapped our programs with one another.
However, none of that mattered. I was hooked.
The limited memory meant we sometimes had to swap programs out to make room for others. We always kept hard copies of our code in notebooks, ready to be re-entered by hand when needed.
But my world was about to change once more.
The group I’d become part of — a bunch of us coding on the fx-7000G — had another interesting member. Treffor introduced me to him.
His name was Duncan.
And you’ll find out how he would go on to have a huge influence on the young me in the next instalment of Back to the 90s.