Skip to content

Comment on Source code for the Apollo 11 Guidance Computer

Comments

http://www.ibiblio.org/apollo/listings/Comanche055/PINBALL_G...

Filename: PINBALL_GAME_BUTTONS_AND_LIGHTS.agc

Can someone explain what this is? I doubt they had an actual game of pinball in their guidance computer.

Seems to have been part of the user interface

https://en.wikipedia.org/wiki/Apollo_Guidance_Computer#Softw...

  A set of interrupt-driven user interface routines called Pinball provided keyboard and 
  display services for the jobs and tasks running on the AGC. A rich set of user-accessible 
  routines were provided to let the operator (astronaut) display the contents of various 
  memory locations in octal or decimal in groups of 1, 2, or 3 registers at a time. 
  Monitor routines were provided so the operator could initiate a task to 
  periodically redisplay the contents of certain memory locations. Jobs could be 
  initiated. The Pinball routines performed the (very rough) equivalent of the 
  UNIX shell.

IIRC, pinball was also used for uplinks from the ground to the computer. From what I understand, such uplink commands simply consisted of a series of button presses to send to the computer, sent faster and more reliably than the astronauts could press the buttons themselves.

Reading some of the comments its a reasonably close analogy WRT the UI where its not allowed to go to sleep while it's still got something to say or think about. So the buttons and lights of a pinball machine keep flashing while there is at least one ball in play.

This is well commented code, for assembly.

The difference between a haphazard device driver, a bootloader by a ragtag group of hackers and a space capsule is national pride and lives at stake. ;-)

We should encourage software to be written as if it will one day fly in space.

It appears to be the code for the controls:

# THE KEYBOARD AND DISPLAY SYSTEM PROGRAM OPERATES UNDER EXECUTIVE

# CONTROL AND PROCESSES INFORMATION EXCHANGED BETWEEN THE AGC AND THE

# COMPUTER OPERATOR. THE INPUTS TO THE PROGRAM ARE FROM THE KEYBOARD,

# FROM INTERNAL PROGRAM, AND FROM THE UPLINK.

I think it's just someone with a sense of humor.

PINBALL (something flashy with buttons) was a demo. And that demo got us to the moon:

"Apparently, nobody had yet arrived at any kind of software requirements for the AGC's user interface when the desire arose within the Instrumentation Laboratory to set up a demo guidance-computer unit with which to impress visitors to the lab. Of course, this demo would have to do something, if it was going to be at all impressive, and to do something it would need some software. In short order, some of the coders threw together a demo program, inventing and using the verb/noun user-interface concept, but without any idea that the verb/noun concept would somehow survive into the flight software. As time passed, and more and more people became familiar with the demo, nobody got around to inventing an improvement for the user interface, so the coders simply built it into the flight software without any specific requirements to do so."[1]

[1] http://www.ibiblio.org/apollo/ForDummies.html

I think it's just someone with a sense of humor.

Yeah I think that's the only explanation for it literally saying "GAME".

A rather dark one if "PINBALL GAME" could be interpreted as describing the expected outcome of a lunar landing ;)

Feature creep?

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.