Laser disc program for Our Place in Space

  “…I just feel that the crew should not be diddling with the computer keyboard during powered descent unless it is absolutely necessary. They will never hit the wrong button, of course, but if they do, the results can be rather lousy.” The next day we started a review of every computer keystroke and its effect throughout the descent phase.  

Gene Kranz, Failure is Not an Option, Chapter 15

This program will make the Pioneer LD-V8000 laser disc player display the chapters for “Our Place in Space”. The chapter numbers will not be displayed. Press zero (or in fact, any digit) on the remote control unit to advance to the next chapter.

Page numbers refer to Chapter 4 of the Level II User’s Manual.

The program has been entered only up to address 150.

States

Each zero causes the laser disc player to advance to the next state:

  1. instruction screen
  2. black screen
  3. chapter 7: earth rotates
  4. black screen
  5. chapter 12: day and night
  6. black screen
  7. chapter 25: Sun
  8. chapter 21: Mercury
  9. chapter 22: Venus
  10. chapter 8: Earth
  11. chapter 23: Mars
  12. chapter 27: Jupiter
  13. chapter 28: Saturn
  14. black screen, halt the program, leave LD player at start of chapter 22 (Venus)

Fade out the picture

We will no longer have to key in SEARCH and PLAY commands and fiddle with the video projector knobs. The program will do all the fading in and out for us. Unfortunately, the laser disc programming language has no command for fading out. We simulate a fade-out by randomly filling the character display (12 lines of 20 characters) with 240 of the “black blocks” on p. D–1 in the manual. The “random” area of memory contains a read-only random permutation of the integers from 0 to 239 inclusive. (The permutation was generated by a recursive C++ program.) The “overwrite” area of memory contains 240 blanks which are gradually overwritten with black blocks.

Source code of the program

  1. the assembled output
  2. original source code
  3. the assembler (in Perl)
  4. C++ program to output a permutation
  5. C++ program to output a permutation where each consecutive pair of numbers fall on the same screen line.

Enter the program

To enter the program, press the following keystrokes on the remote control unit. The PLAY button means that the next two keystrokes are hexadecimal digits.
99 PROGRAM
PLAY B F
6 PLAY 1 1
0 PLAY F 1
etc.; ARG is PLAY 0 A (p. 4–40)
END

See the program byte by byte

To verify that the program was loaded correctly,
99 PROGRAM
PROGRAM
PROGRAM
PROGRAM
etc. Press END when you have seen the whole program, or enough to satisfy you.

Run the program

To run the program, press the following buttons on the remote control unit.
100 RUN/BRANCH
Then press zero too see each chapter.
Press CLR/HALT to break out of the program.