[This is from the latest issue of my newsletter, The Magnet. If you like it, please subscribe! — Mark]
In the 1970s, my father was an electrical engineer at IBM in Boulder, Colorado. One evening in 1974, he came home from work with a programmable pocket calculator called the HP-65, made by Hewlett-Packard. It was way cooler than the simple pocket calculator we already had in the house, which did the four basic arithmetic functions and cost $100 ($525 adjusted for inflation). The HP-65 was much more powerful, with a price to match: $795 ($4,174 in 2021 dollars). It was a real computer with its own programming language. It was used in 1975 by Apollo astronauts to calculate how to dock with the Soyuz Soviet space station (here's an hour-long training video that Hewlett-Packard produced in 1974 that shows the remarkable capabilities of the HP-65).
I was 13 at the time and was fascinated by it. I spent weeks learning how to use it. One of the curious things about it was that you had to use Reverse Polish Notation (RPN). That meant that instead of tapping 2 + 7 to add 2 and 7, you had to tap 2 ENTER 7 +. It was confusing at first, but I quickly got used to it.
The HP-65 Owner's Handbook was exceedingly clear and well-written (here's a PDF of the handbook), with the blue and gold text to match the calculator's multifunction keys' colors.
What really set the HP-65 apart from other calculators was its programmability. It came with a case of magnetically coated cards to store and run programs. The programs were small—each card had two tracks, and each track stored just 952 bits of data. The "HP Standard Pac" came with 19 programs stored on 40 cards, with titles such as "Personal Investment," "Quadratic Equation," "Reconcile Checking Account," and "The Game of Nimb." It also came with blank cards to store your programs and a red-colored abrasive card to clean the read/write head when it became dirty. HP also sold different Pacs, including an Electrical Engineering Pac, a Math Pac, a Statistics Pac, an Aviation Pac, and a Medical Pac.
To use a card, you inserted it into a slot at the top of the calculator. A motorized rubber wheel in the calculator pulled the card across the read/write head to store or retrieve the card's data.
The program I was most interested in didn't come in any of HP's published Pacs. It was on a card with the title "Moon Rocket Lander" penciled in. Someone at IBM had keyed in the program and recorded it on one of the cards my father had brought home.
Moon Rocket Lander was a simulation game in which you are challenged with safely piloting a lunar lander to the Moon's surface. When the game starts, you are 500 feet above the Moon and falling at 50 feet/second. You have 60 units of fuel. You have to tell the program how much fuel to burn to try to make a soft touchdown. After entering your fuel units, the calculator would display your new altitude, speed, and remaining fuel. Then you would enter a new fuel unit value and press enter. You'd repeat until you landed. If you landed with a velocity of anything other than zero, you lost the game.
It was hard to win, and there were many ways to screw up. If you ran out of fuel before you were very close to the surface, the rocket would slam into the moon, and you would die. If you used too little fuel, the rocket would accelerate toward the surface, and you would crash and die. If you used too much fuel, the rocket would accelerate in the opposite direction. I eventually came up with a winning fuel-burning strategy through many trial-and-error attempts.
Moon Rocket Lander was the second most requested game, as you can see on page 2 of the first issue of HP-65 Users' News. (The newsletter called it "Moon Rocket Landing," not "Moon Rocket Lander," which is the more common name.)
When the HP-67 (HP-65's successor ) came out in 1976, HP published a Moon Rocket Lander version.
I learned about the game's history in the January 14, 2021 edition of Aaron A. Reed's excellent 50 Years of Text Games newsletter. A 17-year-old named Jim Storer wrote it in 1969 after watching Neil Armstrong heroically land Apollo 11's Lunar Module Eagle on the Moon. From the newsletter:
On July 20, 1969, Apollo 11's Lunar Module Eagle touched down on the moon, though it had been a close call. With little spare fuel to begin with, pilot Neil Armstrong had needed to dodge unexpected boulders and craters to find a level spot to put down after the LEM had drifted ahead of its planned landing site. When he finally set down the delicate craft, only seconds of descent fuel remained. 17-year-old Jim Storer had been glued to the television at his family home in Massachusetts for the whole mission, and that fall he pitched a project to the teacher in charge of Lexington High's PDP-8 computer: a game that would recreate the experience of landing the LEM on the moon.
Storer's game printed no title, but the filename, fitting neatly into the operating system's six-character limit, was ROCKET. The program ran to only 39 tight lines of code in FOCAL, a language that had been designed to make programming easier for students but which was rapidly losing ground against the similar BASIC, which had even clearer syntax. In the game, the player receives rows of data, one at a time, representing the elapsed time, altitude, velocity, and fuel remaining in their simulated lunar lander's tanks, and contributes a single number each turn to the rightmost column, representing the amount of fuel to burn in the next ten-second interval.
Reed's article goes on to describe the rapid spread of Storer's game and the impact it made in the world of text and simulation games.
If you're interested in giving Lunar Landing a try, here's a web-based version. My daughter and I took turns trying to beat it. Here's the best I could do (so far!):
And my daughter finally beat it (with a rough landing!):
(CuVee software has an iOS simulation of the HP-65 for $2.99. I bought it, and it's just like the original HP-65. It comes with a bunch of preprogrammed cards, too, but not Moon Rocket Lander.)