A New Lunar Lander for the ZX81 / Timex Sinclair 1000

David Stephenson looks back at home-computer based Lunar Landers, and offers up a new one

In late 1972, as Apollo Space Missions were winding down a burgeoning virtual space race was busily preparing for launch. A sub-genre of simulation games soon to be known as Lunar Landers was taking to the skies on every early micro computer imaginable. These armchair moon mission would capture the imagination and precious clock cycles of many early home computer owners.

Although there were variations, at the core all early Lunar Lander games placed the player at the command of a Lunar Excursion Module on its final descent out of orbit. The primary mission was to guide the humble craft to the surface of the the moon (or other celestial bodies) without killing the crew in a fiery explosion. The earliest Lunar Lander games and simulations were turn based, text only, question and answer affairs. Players would input rocket thrust settings and the burn times required to combat a moon’s gravity. A simple enough premises, but complicated enough to be addictive.

The most obvious way to learn about a Lander game would have been  through a type-in programs listing, either from a magazine article or a book on the BASIC computer language. Complexity levels of the early type-in microcomputer implementations varied from the absurdly simple, to wildly complicated. Adaptations stuck as closely as possible to real world physics, including such elements as spacecrafts orientation (both horizontal and vertical), velocities and fuel consumption. Though perhaps it was the relative simplicity of programming a simple BASIC Lunar Lander game that propelled the simulation subgenre to absolute stardom.

 While there was an endless supply of Lander clones,  one of the most popular sources of the game was released by Creative Computing magazine. It was David H. Ahl’s book ‘BASIC Computer Games Microcomputer Edition’,  a popular early BASIC listing type-in source, that was available on shelves in 1978. The book contained 101 BASIC type in programs, and of these, three listings were dedicated to Lunar Lander variants.

The program listings in ‘BASIC Computer Games Microcomputer Edition’ were targeted at a generic Microsoft BASIC implementation. They were easy enough to adapt to other BASIC flavours. The book was a re-coding of Ahl’s earlier work, ‘101 BASIC Computer Games’ which was originally published in 1973 targeting the BASIC dialect found on Digital Equipment Corporation’s minicomputers.

David H. Ahl got his ideas for the Lunar Landers through his prior job at Digital Equipment Corporation. While working there he was exposed to a version of the game written by a high school student, Jim Storer. Jim had written the very first documented incarnation of Lunar Lander in the FOCAL programming language back in 1969. Jim submitted his game to Digital where it was incorporated into education and promotional materials for the companies PDP-8 minicomputers. It was Jim’s version that David H. Ahl would translate into BASIC and help popularise in ‘101 BASIC Computer Games’.

Text based Lunar Landers got the ball rolling, and it wasn’t long before the simulation entered the graphical world. In 1973 Jack Burness, a consultant to Digital Equipment Corporation, produced possibly the first real-time graphical Lunar Lander for the DEC GT40. The DEC GT40 was a graphical computer terminal addition for the PDP-11 minicomputer. It  ensured Burness’s new realistic simulation ‘Moonlander’ was not only novel for its use of a vector graphics display but also for its incorporation of a light pen as the main control mechanism.

In 1978, when home microcomputers and text based Lunar Landers were making their way into people’s homes, Engineers Rich Moore and Howard Delman were busy preparing Atari’s corporations seminal arcade version of the game. Based on the vector graphics hardware designed for Atari’s earlier ‘Space Wars’, Atari’s Lunar Lander contained all the game play of Burness’s simulation. To make the game fun for an arcade audience the hardcore physics were removed.  Despite this simplification the game met with limited success in the arcades. However it was this Atari Lunar Lander that created the template for the later graphic clones and game variants.

More arcade focused games and the move away from BASIC to faster machine code programming would see the end of the Lunar Lander as a gaming force. By the mid to late 80’s some elements of gameplay could still be found in games such as Superior Software’s ‘Thrust’. In this game it was the challenge to not  land but rather pick up pods from a Lunar Surface while avoiding missiles fired from gun turrets. Thrust’ might be long way from the original simulation but it’s heritage is still clear.

It is now close to 50 years since the first Lunar Landers emerged on home computer screens, but it’s direct legacy can still be found. Detailed simulations such as the ‘Orbiter Space Flight Simulator’ continue to have momentum with ideas that originate from the first Lander games. Modern day gamers, not challenged with the limitations of the 1970’s and 80’s home computers, are no longer limited to moon landings. Pilots now have the entire solar system at their disposal, flying historical and fictional spacecraft on untold missions at the edges of space.

Examples of light hearted contemporary gameplay can be found in games such as the ‘Kerbal Space Program’. This game is only as complex as you choose it to be, possibly best representing the continued development of the lighter side of the Lander sub-genre over the years. In the game you can run an entire space program or simply land on the moon with or without restrictive physics getting in the way.

In 1969 Lunar Lander took one small step into the future, but helped ensure giant leaps forward in the games and simulations being written today.

This 2018 Lunar Lander is based on the early examples of the game. After what seems like months in space your crew is on a final descent onto the planet’s moon. The autopilot should have no problem handling a nice easy landing. But what’s this? The module is coming in way to fast. Warnings start blaring from the flight computer, the mission is in trouble. At 2000 meters the autopilot fails and you’re handed manual controls. The safety of the crew is in your hands. Have you got what it takes to land a Lunar Module?

Control the module by setting the rockets thrust (acceleration) from 0 to 10 metre per second squared. The greater the thrust the more fuel you’ll burn. Set the burn time, from 0 to 10 seconds. With some practice and a little luck you’ll be able to guide the Module safely to the surface.

This program listing is for the Sinclair ZX81 computer (also known as the Times Sinclair 1000 in North America) released in 1981.

If you’re not game to type it in, you can download an emulator file from https://paleotronic.com/landers.zip

 

The successor to Sir Clive Sinclair’s ZX80, the first commercially-available completely assembled computer for under £100, the ZX81 was the first inexpensive mass-market computer that could be bought from non-specialist retailers, launching computing in Britain as an activity for the general public, and not just business people or hobbyists. Sir Clive’s business strategy was to manufacture stripped-down versions of more expensive electronics to cater to a segment of the market ordinarily ‘priced-out’ of owning such devices, and the ZX81 was no exception – it lacked colour and sound, traded a mechanical keyboard for a pressure-sensitive ‘membrane’ one, had a very limited amount of memory (1 kilobyte) and used a standard cassette player for storage – but in general it worked, and with over 1.5 million units eventually sold, that seems to have been enough.

With its tiny membrane keyboard, typing on the ZX81 was awkward for anyone older than 8, and so its designers devised a method of entry that reduced the number of required keystrokes. Unlike other computers such as the Commodore 64 or Apple II where you typed BASIC programs in ‘freeform’, entering every character and only learning if you had made a mistake after you typed RUN, the ZX81 had a very structured procedure for entering in lines of BASIC code.

When you turned the computer on, you saw a white-on-black K at the bottom of the screen. This was the cursor. The letter on the cursor changed to let you know what entry mode it was in. Each key on the keyboard had an associated command, function, operator and graphics character.

For example, when the K cursor was present, you could press P and the command PRINT would appear. K stands for ‘Keyword’. Aftter PRINT appears the cursor changes into an L. Now you can type in a variable name or a number using the keyboard one character at a time, or use SHIFT or FUNCTION (SHIFT-NEWLINE) keys to use functions.

If you type a quotation mark, you can enter arbitrary text, including graphics characters, as shown in the listing. To enter graphics characters, you press SHIFT-9 to turn on graphics mode (the cursor will change to G). In this mode, unshifted letters are displayed in their inverse, white on black. Shifted letters display the graphics character noted on their keycap. Space is rendered as a black square.

 

Please consider subscribing to Paleotronic. Subscribers get a full digital PDF edition and an optional glossy full-colour printed copy, and all content is exclusive to subscribers until the following issue is released. Plus, by subscribing you support our efforts to spread understanding of the history and fundamentals of electronics! Thank you.

Be the first to comment

Leave a Reply