Superman III Analysis

Gus Gorman's Super BASIC Program

We are introduced to the chronically unemployed Gus Gorman (Richard Pryor) in the movie’s opening scene at the unemployment office. He discovers that he is no longer eligible for checks, but on his way out, he borrows a matchbook to light a cigarette and changes the course of his career.

matchbook

That’s right! You can earn big money by becoming a computer programmer both now and back in 1983 when this movie was made. However, back then, you were allowed to smoke indoors. So, had this been the present, Gus would have missed this chance encounter. Also, note the phone number is Metropolis 12345678.

After the credits roll, we find Gus studying hard at the Archibald School of Data Processing while other students apparently just stare out the window.

Archibald School of Data Processing

A student asks the instructor a question.

student's question
Woman: Sir. Excuse me... but what if you want to program two bilateral coordinates at the same time?

Instructor: You can't do that. It's impossible.

Woman: But if you can't--

Instructor: Oh, no. Computer technology is very advanced, young lady, but it can't do that.

Woman: But if you think we can't do it that way, what happens--?

The important technobabble here is, “Two bilateral coordinates.” In this movie’s universe, computers can only accept one at a time. Gus raises a hand in front of a “Join the Keyboard Revolution” sign.

A hand
Gus: Sir.

The camera zooms up on the vintage ’83 monochrome display that Gus is interfaced with.

program running

Note Gus’ trusty yo-yo in the upper right along with the matchbook that brought him here. But, more importantly, the screen reads:

PLOT BILATERAL CO-ORDINATES


INPUT CO-ORDINATE X  .     42Y

INPUT CO-ORDINATE Y  .     Z+X

I wonder why coordinate is written with a hyphen. Anyway, amazingly, Gus types in 2—count them!!!—2 bilateral coordinates at the same time! When he hits Enter, strange symbols rapidly scroll by:

strange symbols

Those symbols kind of resemble a program, but they disappear rapidly and new text replaces them:

accepted!

The screen reads:

CO-ORDINATES ACCEPTED

PROGRAMME RUNNING

Interesting spelling of the word “program.” Note that Gus entered the 2 bilateral coordinates under a line that read, “Plot Bilateral Co-ordinates.” I don’t see any plots here or graphics for that matter. The instructor reacts:

I just did it.
Instructor: Good Lord. How did you do that?

Gus: I don't know. I just did it.

But, Gus is really being modest here. He does know and he proves it by listing his source code.

source code

source code

source code

Only part of the source code is shown, but here’s what I can make out:

LIST
5 CLS
10 PRINT "PLOT BILATERAL CO-ORDINATES"
15 PRINT  ,  PRINT
20 GOSUB 5000
25 PRINT "INPUT CO-ORDINATE X  .    "
31 PRINT "4",
33 PRINT "2",
35 PRINT "Y" , PRINT
40 PRINT "INPUT CO-ORDINATE Y  .    "
41 IF INKEY$ = "" THEN 41 . IF
42 PRINT "Z",
43 IF INKEY$ = "" THEN 43 . IF
44 PRINT "+",
45 IF INKEY$ = "" THEN 45 . IF
46 PRINT "X"
47 GOSUB 5000
50 CLS
60 PRINT "0010 N = RND(200)"
70 PRINT "0020 Z = 1 TO N"
80 PRINT "0030 X = 1 TO 31"
90 PRINT "0040 Y = 1 TO 15"
100 PRINT "0050 SET(31=X,16=Y,2=Z)TO 31=X,Y"
110 PRINT "0060 SET(31+X,Y,Z)TO(31=X,16=Y,"
120 PRINT "0070 SET(X,16+Y,Z-Y)TO(X,Y,Z)"
130 PRINT "0080 SET(X,16,Y,Z+Y)TO(16+X,Y)"
140 PRINT "0090 GOTO 500"
150 PRINT "0100 NEXT X,NEXT Y,NEXT Z"
160 PRINT "0110 CLS"
170 PRINT "0120 DATA 1,13,2,67,2"
180 PRINT "0130 DATA 13,45,90,3,23,56,2,54"
190 PRINT "0140 DATA 3,6,1,43,92,56,2,9,0"
200 PRINT "0150 DIM F(?)"
210 PRINT "0160 D$ = CHR$(191)"
220 PRINT "0170 FOR X = Y + Z  PRINT X"
230 PRINT "0180 FOR Y = X - Z  PRINT Y"
240 PRINT "0190 END"
250 PRINT
260 PRINT
270 PRINT
280 PRINT
290 PRINT
300 PRINT
310 PRINT
320 PRINT
330 PRINT

Good old BASIC. This is apparently the actual code of the program we just saw running. It was written to aid the actor at the keyboard. It prints, “Plot Bilateral Co-ordinates,” followed by the 2 input lines. The first input line is actually static text. The second one accepts input; however, regardless of what the user keys in, “Z+X” is filled in. When you hit Enter, garbage appears on the screen momentarily. That garbage seems to be a part of some other BASIC program. The majority of the print statements are empty lines probably to clear the screen. The rest of the source code is not shown, but it likely just displayed that the coordinates were accepted. In other words, the program doesn’t really do anything super. It just accepts some inputs and prints some predetermined text in response.

<< INTRO  PART 2 >>