Source Code

These source-code files derive from a printout of Luminary 116 (the Apollo 12 Lunar Module guidance computer program), from the personal library of original AGC developer Don Eyles, digitally photographed at archive.org, financially sponsored by Ron Burkey, and transcribed to source code by a team of volunteers. This colorized, syntax-highlighted form was created by assembling that transcribed source code. Note that the full page images are available on the Virtual AGC project page at archive.org, while reduced-size images are presented at the VirtualAGC project website. Report or fix any transcription errors at the Virtual AGC project code repository.

Notations on the program listing read, in part:

	GAP:  ASSEMBLE REVISION 116 OF AGC PROGRAM LUMINARY BY NASA 2021112-071
	19:09 AUG. 11,1969
Note that the date is the date of the printout, not the date of the program revision.

002035,000002:                                                                                                  ## Copyright:   Public domain.
002036,000003:                                                                                                  ## Filename:    INPUT_OUTPUT_CHANNEL_BIT_DESCRIPTIONS.agc
002037,000004:                                                                                                  ## Purpose:     A section of Luminary revision 116.
002038,000005:                                                                                                  ##              It is part of the source code for the Lunar Module's (LM) 
002039,000006:                                                                                                  ##              Apollo Guidance Computer (AGC) for Apollo 12.
002040,000007:                                                                                                  ##              This file is intended to be a faithful transcription, except
002041,000008:                                                                                                  ##              that the code format has been changed to conform to the
002042,000009:                                                                                                  ##              requirements of the yaYUL assembler rather than the
002043,000010:                                                                                                  ##              original YUL assembler.
002044,000011:                                                                                                  ## Reference:   pp. 54-60
002045,000012:                                                                                                  ## Assembler:   yaYUL
002046,000013:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
002047,000014:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
002048,000015:                                                                                                  ## Mod history: 2017-01-22 MAS  Created from Luminary 99.
002049,000016:                                                                                                  ##              2017-03-02 RSB  Completed transcription, and then proofed 
002050,000017:                                                                                                  ##                              comment text by diffing vs Luminary 131.
002051,000018: 

Page 54

002053,000020: 
002054,000021:                                                                                                  #  *** CHANNEL DESCRIPTIONSF WORDS ARE ALLOCATED IN ERASABLE ASSIGNMENTS ***
002055,000022: 
002056,000023:                                                                                                  #  CHANNEL 1     IDENTICAL TO COMPUTER REGISTER L (0001)
002057,000024: 
002058,000025:                                                                                                  #  CHANNEL 2     IDENTICAL TO COMPUTER REGISTER Q (0002)
002059,000026: 
002060,000027:                                                                                                  #  CHANNEL 3     HISCALAR; INPUT CHANNEL; MOST SIGNIFICANT 14 BITS FROM 33 STAGE BINARY COUNTER. SCALE
002061,000028:                                                                                                  #                FACTOR IS B23 IN CSEC, SO MAX VALUE ABOUT 23.3 HOURS AND LEAST SIGNIFICANT BIT 5.12 SECS.
002062,000029: 
002063,000030:                                                                                                  #  CHANNEL 4     LOSCALAR; INPUT CHANNEL; NEXT MOST SIGNIFICANT 14 BITS FROM THE 33 STAGE BINARY COUNTER
002064,000031:                                                                                                  #                ASSOCIATED WITH CHANNEL 3. SCALE FACTOR IS B9 IN  CSEC. SO MAX VAL IS 5.12 SEC AND LEAST
002065,000032:                                                                                                  #                SIGNIFICANT BIT IS 1/3200 SEC. SCALE FACTOR OF D.P. WORD WITH CHANNEL 3 IS B23 CSEC.
002066,000033: 
002067,000034:                                                                                                  #  CHANNEL 5     PYJETS; OUTPUT CHANNEL; PITCH RCS JET CONTROL.   (REACTION CONTROL SYSTEM) USES BITS 1-8.
002068,000035: 
002069,000036:                                                                                                  #  CHANNEL 6     ROLLJETS; OUTPUT CHANNEL; ROLL RCS JET CONTROL.   (REACTION CONTROL SYSTEM) USES BIT 1-8.
002070,000037: 
002071,000038:                                                                                                  #  CHANNEL 7     SUPERBNK; OUTPUT CHANNEL; NOT RESET BY RESTART;   FIXED EXTENSION BITS USED TO SELECT THE
002072,000039:                                                                                                  #                APPROPRIATE FIXED MEMORY BANK IF FBANK IS 30 OCTAL OR MORE. USES BITS 5-7.
002073,000040: 
002074,000041:                                                                                                  #  CHANNEL 10    OUTO; OUTPUT CHANNEL; REGISTER USED TO TRANSMIT  LATCHING-RELAY DRIVING INFORMATION FOR
002075,000042:                                                                                                  #                THE DISPLAY SYSTEM. BITS 15-12 ARE SET TO THE ROW NUMBER (1-14 OCTAL) OF THE RELAY TO BE
002076,000043:                                                                                                  #                CHANGED AND BITS 11-1 CONTAIN THE REQUIRED SETTINGS FOR THE RELAYS IN THE ROW.
002077,000044: 
002078,000045:                                                                                                  #  CHANNEL 11    DSALMOUT; OUTPUT CHANNEL; REGISTER WHOSE BITS ARE USED FOR ENGINE ON-OFF CONTROL AND TO
002079,000046:                                                                                                  #                DRIVE INDIVIDUAL INDICATORS OF THE DISPLAY SYSTEM. BITS 1-7 ARE A RELAYS.
002080,000047: 
002081,000048:                                                                                                  #                BIT 1           ISS WARNING
002082,000049:                                                                                                  #                BIT 2           LIGHT COMPUTER ACTIVITY LAMP
002083,000050:                                                                                                  #                BIT 3           LIGHT UPLINK ACTIVITY LAMP
002084,000051:                                                                                                  #                BIT 4           LIGHT TEMP CAUTION LAMP
002085,000052:                                                                                                  #                BIT 5           LIGHT KEYBOARD RELEASE LAMP
002086,000053:                                                                                                  #                BIT 6           FLASH VERB AND NOUN LAMPS
002087,000054:                                                                                                  #                BIT 7           LIGHT OPERATOR ERROR LAMP

Page 55

002089,000056:                                                                                                  #                BIT 8           SPARE
002090,000057:                                                                                                  #                BIT 9           TEST CONNECTOR OUTBIT
002091,000058:                                                                                                  #                BIT 10          CAUTION RESET
002092,000059:                                                                                                  #                BIT 11          SPARE
002093,000060:                                                                                                  #                BIT 12          SPARE
002094,000061:                                                                                                  #                BIT 13          ENGINE ON
002095,000062:                                                                                                  #                BIT 14          ENGINE OFF
002096,000063:                                                                                                  #                BIT 15          SPARE
002097,000064: 
002098,000065:                                                                                                  #  CHANNEL 12    CHAN12; OUTPUT CHANNEL; BITS USED TO DRIVE NAVIGATION AND SPAECRAFT HARDWARE
002099,000066: 
002100,000067:                                                                                                  #                BIT 1           ZERO RR CDU; CDU'S GIVE RRADAR INFORMATION FOR LM
002101,000068:                                                                                                  #                BIT 2           ENABLE CDU RADAR ERROR COUNTERS
002102,000069:                                                                                                  #                BIT 3           NOT USED
002103,000070:                                                                                                  #                BIT 4           COARSE ALIGN ENABLE OF IMU
002104,000071:                                                                                                  #                BIT 5           ZERO IMU CDU'S
002105,000072:                                                                                                  #                BIT 6           ENABLE IMU ERROR COUNTER, CDU ERROR COUNTER.
002106,000073:                                                                                                  #                BIT 7           SPARE
002107,000074:                                                                                                  #                BIT 8           DISPLAY INERTIAL DATA
002108,000075:                                                                                                  #                BIT 9           -PITCH GIMBAL TRIM (BELL MOTION) DESCENT ENGINE
002109,000076:                                                                                                  #                BIT 10          +PITCH GIMBAL TRIM (BELL MOTION) DESCENT ENGINE
002110,000077:                                                                                                  #                BIT 11          -ROLL GIMBAL TRIM (BELL MOTION) DESCENT ENGINE
002111,000078:                                                                                                  #                BIT 12          +ROLL GIMBAL TRIM (BELL MOTION) DESCENT ENGINE
002112,000079:                                                                                                  #                BIT 13          LR POSITION 2 COMMAND
002113,000080:                                                                                                  #                BIT 14          ENABLE RENDESVOUS RADAR LOCK-ON;AUTO ANGLE TRACK'G
002114,000081:                                                                                                  #                BIT 15          ISS TURN ON DELAY COMPLETE
002115,000082: 

Page 56

002117,000084:                                                                                                  #  CHANNEL 13    CHAN13; OUTPUT CHANNEL
002118,000085: 
002119,000086:                                                                                                  #                BIT 1           RADAR C         PROPER SETTING OF THE A,B,C MATRIX
002120,000087:                                                                                                  #                BIT 2           RADAR B         SELECTS CERTAIN RADAR
002121,000088:                                                                                                  #                BIT 3           RADAR A         PARAMETERS TO BE READ.
002122,000089:                                                                                                  #                BIT 4           RADAR ACTIVITY
002123,000090:                                                                                                  #                BIT 5           NOT USED (CONNECTS AN ALTERNATE INPUT TO UPLINK)
002124,000091:                                                                                                  #                BIT 6           SPARE
002125,000092:                                                                                                  #                BIT 7           DOWNLINK TELEMETRY WORD ORDER CODE BIT
002126,000093:                                                                                                  #                BIT 8           RHC COUNTER ENABLE (READ HAND CONTROLLER ANGLES)
002127,000094:                                                                                                  #                BIT 9           START RHC READ INTO COUNTERS IF BIT 8 SET
002128,000095:                                                                                                  #                BIT 10          TEST ALARMS, TEST DSKY LIGHTS
002129,000096:                                                                                                  #                BIT 11          ENABLE STANDBY
002130,000097:                                                                                                  #                BIT 12          RESET TRAP 31-A         ALWAYS APPEAR TO BE SET TO 0
002131,000098:                                                                                                  #                BIT 13          RESET TRAP 31-B         ALWAYS APPEAR TO BE SET TO 0
002132,000099:                                                                                                  #                BIT 14          RESET TRAP 32           ALWAYS APPEAR TO BE SET TO 0
002133,000100:                                                                                                  #                BIT 15          ENABLE T6 RUPT
002134,000101: 
002135,000102:                                                                                                  #  CHANNEL 14    CHAN14; OUTPUT CHANNEL; USED TO CONTROL COMPUTER COUNTER CELLS (CDU,GYRO,SPACECRAFT FUNC.
002136,000103: 
002137,000104:                                                                                                  #                BIT 1           OUTLINK ACTIVITY (NOT USED)
002138,000105:                                                                                                  #                BIT 2           ALTITUDE RATE OR ALTITIDE SELECTOR
002139,000106:                                                                                                  #                BIT 3           ALTITUDE METER ACTIVITY
002140,000107:                                                                                                  #                BIT 4           THRUST DRIVE ACTIVITY FOR DESCENT ENGINE
002141,000108:                                                                                                  #                BIT 5           SPARE
002142,000109:                                                                                                  #                BIT 6           GYRO ENABLE POWER FOR PULSES
002143,000110:                                                                                                  #                BIT 7           GYRO SELECT B           PAIR OF BITS IDENTIFIES AXIS OF -
002144,000111:                                                                                                  #                BIT 8           GYRO SELECT A           GYRO SYSTEM TO BE TORQUED.
002145,000112:                                                                                                  #                BIT 9           GYRO TORQUING COMMAND IN NEGATIVE DIRECTION

Page 57

002147,000114:                                                                                                  #                BIT 10          GYRO ACTIVITY
002148,000115:                                                                                                  #                BIT 11          DRIVE CDU S
002149,000116:                                                                                                  #                BIT 12          DRIVE CDU T
002150,000117:                                                                                                  #                BIT 13          DRIVE CDU Z
002151,000118:                                                                                                  #                BIT 14          DRIVE CDU Y
002152,000119:                                                                                                  #                BIT 15          DRIVE CDU X
002153,000120: 
002154,000121:                                                                                                  #  CHANNEL 15    MNKEYIN; INPUT CHANNEL;KEY CODE INPUT FROM KEYBOARD OF DSKY, SENSED BY PROGRAM WHEN
002155,000122:                                                                                                  #                PROGRAM INTERRUPT #5 IS RECEIVED. USES BITS 5-1
002156,000123: 
002157,000124:                                                                                                  #  CHANNEL 16    NAVKEYIN; INPUT CHANNEL; OPTICS MARK INFORMATION AND NAVIGA ION PANEL DSKY (CM) OR THRUST
002158,000125:                                                                                                  #                CONTROL (LM) SENSED BY PROGRAM WHEN PROGRAM INTER-RUPT #6 IS RECEIVED. USES BITS 3-7 ONLY.
002159,000126: 
002160,000127:                                                                                                  #                BIT 1           NOT ASSIGNED
002161,000128:                                                                                                  #                BIT 2           NOT ASSIGNED
002162,000129:                                                                                                  #                BIT 3           OPTICS X-AXIS MARK SIGNAL FOR ALIGN OPTICAL TSCOPE
002163,000130:                                                                                                  #                BIT 4           OPTICS Y-AXIS MARK SIGNAL FOR AOT
002164,000131:                                                                                                  #                BIT 5           OPTICS MARK REJECT SIGNAL
002165,000132:                                                                                                  #                BIT 6           DESCENT+ ; CREW DESIRED SLOWING RATE OF DESCENT
002166,000133:                                                                                                  #                BIT 7           DESCENT- ; CREW DESIRED SPEEDING UP RATE OF D'CENT
002167,000134: 
002168,000135:                                                                                                  #  NOTE: ALL BITS IN CHANNELS 30-33 ARE INVERTED AS SENSED BY THE  PROGRAM, SO THAT A VALUE OF ZERO MEANS
002169,000136:                                                                                                  #  THAT THE INDICATED SIGNAL IS PRESENT.
002170,000137: 
002171,000138:                                                                                                  #  CHANNEL 30    INPUT CHANNEL
002172,000139: 
002173,000140:                                                                                                  #                BIT 1           ABORT WITH DESCENT STAGE
002174,000141:                                                                                                  #                BIT 2              UNUSED
002175,000142:                                                                                                  #                BIT 3           ENGINE ARMED SIGNAL
002176,000143:                                                                                                  #                BIT 4           ABORT WITH ASCENT ENGINE STAGE
002177,000144:                                                                                                  #                BIT 5           AUTO THROTTLE; COMPUTER CONTROL OF DESCENT ENGINE

Page 58

002179,000146:                                                                                                  #                BIT 6           DISPLAY INERTIAL DATA
002180,000147:                                                                                                  #                BIT 7           RR CDU FAIL
002181,000148:                                                                                                  #                BIT 8           SPARE
002182,000149:                                                                                                  #                BIT 9           IMU OPERATE WITH NO MALFUNCTION
002183,000150:                                                                                                  #                BIT 10          LM COMPUTER (NOT AGS) HAS CONTROL OF LM
002184,000151:                                                                                                  #                BIT 11          IMU CAGE COMMAND TO DRIVE IMU GIMBAL ANGLES TO 0.
002185,000152:                                                                                                  #                BIT 12          IMU CDU FAIL (MALFUNCTION OF IMU CDU,S)
002186,000153:                                                                                                  #                BIT 13          IMU FAIL (MALFUNCTION OF IMU STABILIZATION LOOPS)
002187,000154:                                                                                                  #                BIT 14          ISS TURN ON REQUESTED
002188,000155:                                                                                                  #                BIT 15          TEMPERATURE OF STABLE MEMBER WITHIN DESIGN LIMITS
002189,000156: 
002190,000157:                                                                                                  #  CHANNEL 31    INPUT CHANNEL; BITS ASSOCIATED WITH THE ATTITUDE CONTROLLER, TRANSLATIONAL CONTROLLER,
002191,000158:                                                                                                  #                AND SPACECRAFT ATTITUDE CONTROL; USED BY RCS DAP
002192,000159: 
002193,000160:                                                                                                  #                BIT 1           ROTATION (BY RHC) COMMANDED IN POSITIVE PITCH DIRECTION; MUST BE IN MINIMUM IMPULSE MODE.
002194,000161:                                                                                                  #                                ALSO POSITIVE ELEVATION CHANGE FOR LANDING POINT  DESIGNATOR
002195,000162:                                                                                                  #                BIT 2           AS BIT 1 EXCEPT NEGATIVE PITCH AND ELEVATION
002196,000163:                                                                                                  #                BIT 3           ROTATION (BY RHC) COMMANDED IN POSITIVE YAW DIRECTION; MUST BE IN MINUMUM IMPULSE MODE.
002197,000164:                                                                                                  #                BIT 4           AS BIT 3 EXCEPT NEGATIVE YAW
002198,000165:                                                                                                  #                BIT 5           ROTATION (BY RHC) COMMANDED IN POSITIVE ROLL DIRECTION; MUST BE IN MINIMUM IMPULSE MODE.
002199,000166:                                                                                                  #                                ALSO POSITIVE AZIMUTH CHANGE FOR LANDING POINT DESIGNATOR
002200,000167:                                                                                                  #                BIT 6           AS BIT 5 EXCEPT NEGATIVE ROLL AND AZIMUTH
002201,000168:                                                                                                  #                BIT 7           TRANSLATION IN +X DIRECTION COMMANDED BY THC
002202,000169:                                                                                                  #                BIT 8           TRANSLATION IN -X DIRECTION COMMANDED BY THC
002203,000170:                                                                                                  #                BIT 9           TRANSLATION IN +Y DIRECTION COMMANDED BY THC
002204,000171:                                                                                                  #                BIT 10          TRANSLATION IN -Y DIRECTION COMMANDED BY THC
002205,000172:                                                                                                  #                BIT 11          TRANSLATION IN +Z DIRECTION COMMANDED BY THC
002206,000173:                                                                                                  #                BIT 12          TRANSLATION IN -Z DIRECTION COMMANDED BY THC

Page 59

002208,000175:                                                                                                  #                BIT 13          ATTITUDE HOLD MODE ON SCS MODE CONTROL SWITCH
002209,000176:                                                                                                  #                BIT 14          AUTO STABILIZATION OF ATTITUDE ON SCS MODE SWITCH
002210,000177:                                                                                                  #                BIT 15          ATTITUDE CONTROL OUT OF DETENT (RHC NOT IN NEUTRAL
002211,000178: 
002212,000179:                                                                                                  #  CHANNEL 32    INPUT CHANNEL.
002213,000180: 
002214,000181:                                                                                                  #                BIT 1              THRUSTERS 2 & 4 DISABLED BY CREW
002215,000182:                                                                                                  #                BIT 2              THRUSTERS 5 & 8 DISABLED BY CREW
002216,000183:                                                                                                  #                BIT 3              THRUSTERS 1 & 3 DISABLED BY CREW
002217,000184:                                                                                                  #                BIT 4              THRUSTERS 6 & 7 DISABLED BY CREW
002218,000185:                                                                                                  #                BIT 5              THRUSTERS 14 & 16 DISABLED BY CREW
002219,000186:                                                                                                  #                BIT 6              THRUSTERS 13 & 15 DISABLED BY CREW
002220,000187:                                                                                                  #                BIT 7              THRUSTERS 9 & 12 DISABLED BY CREW
002221,000188:                                                                                                  #                BIT 8              THRUSTERS 10 & 11 DISABLED BY CREW
002222,000189:                                                                                                  #                BIT 9              DESCENT ENGINE GIMBALS DISABLED BY CREW
002223,000190:                                                                                                  #                BIT 10             APPARENT DESCENT ENGINE GIMBAL FAILURE
002224,000191:                                                                                                  #                BIT 14          INDICATES PROCEED KEY IS DEPRESSED
002225,000192: 
002226,000193:                                                                                                  #  CHANNEL 33    CHAN33; INPUT CHANNEL; FOR HARDWARE STATUS AND COMMAND INFORMATION. BITS 15-11 ARE FLIP-
002227,000194:                                                                                                  #                FLOP BITS RESET BY A CHANNEL "WRITE" COMMAND THAT ARE RESET BY A RESTART & BY T4RUPT LOOP.
002228,000195: 
002229,000196:                                                                                                  #                BIT 1           SPARE
002230,000197:                                                                                                  #                BIT 2           RR AUTO-POWER ON
002231,000198:                                                                                                  #                BIT 3           RR RANGE LOW SCALE
002232,000199:                                                                                                  #                BIT 4           RR DATA GOOD
002233,000200:                                                                                                  #                BIT 5           LR RANGE DATA GOOD
002234,000201:                                                                                                  #                BIT 6           LR POS1
002235,000202:                                                                                                  #                BIT 7           LR POS2

Page 60

002237,000204:                                                                                                  #                BIT 8           LR VEL DATA GOOD
002238,000205:                                                                                                  #                BIT 9           LR RANGE LOW SCALE
002239,000206:                                                                                                  #                BIT 10          BLOCK UPLINK INPUT
002240,000207:                                                                                                  #                BIT 11          UPLINK TOO FAST
002241,000208:                                                                                                  #                BIT 12          DOWNLINK TOO FAST
002242,000209:                                                                                                  #                BIT 13          PIPA FAIL
002243,000210:                                                                                                  #                BIT 14          WARNING OF REPEATED ALARMS: RESTART,COUNTER FAIL, VOLTAGE FAIL,AND SCALAR DOUBLE.
002244,000211:                                                                                                  #                BIT 15          LGC OSCILLATOR STOPPED
002245,000212: 
002246,000213:                                                                                                  #  CHANNEL 34    DNT M1; OUTPUT CHANNEL; DOWNLINK 1  FIRST OF TWO WORDS SERIALIZATION.
002247,000214:                                                                                                  #  CHANNEL 35    DNT M2; OUTPUT CHANNEL DOWNLINK 2 SOCOND OF TWO   WORDS SERIALIZATION.
002248,000215: 
002249,000216: 

End of include-file INPUT_OUTPUT_CHANNEL_BIT_DESCRIPTIONS.agc.  Parent file is MAIN.agc