Source Code
These source-code files are part of a reconstructed copy of Sundial E, the
final release of the Block II Command Module (CM) Apollo Guidance Computer
(AGC) system test software.
They have been created via disassembly of binary dumps of original core rope memory modules, part numbers 2003053-121, 2003053-151, and 2003972-211, belonging to the MIT Museum. Since only binary dumps (rather than listings) of Sundial are available as source material, all comments and labels are approximate. They have been taken from other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing. |
000017,000002: ## Copyright: Public domain.
000018,000003: ## Filename: ASSEMBLY_AND_OPERATION_INFORMATION.agc
000019,000004: ## Purpose: A section of Sundial E.
000020,000005: ## It is part of the reconstructed source code for the final
000021,000006: ## release of the Block II Command Module system test software. No
000022,000007: ## original listings of this program are available; instead, this
000023,000008: ## file was created via disassembly of dumps of Sundial core rope
000024,000009: ## modules and comparison with other AGC programs.
000025,000010: ## Assembler: yaYUL
000026,000011: ## Contact: Ron Burkey <info@sandroid.org>.
000027,000012: ## Website: www.ibiblio.org/apollo/index.html
000028,000013: ## Mod history: 2023-06-22 MAS Created from Aurora 12.
000029,000014: ## 2023-06-30 MAS Updated for Sundial E.
000030,000015:
000031,000016: # VERB INFORMATION.
000032,000017:
000033,000018: # REGULAR VERBS
000034,000019: # 01 DISPLAY OCTAL COMP 1 (R1)
000035,000020: # 02 DISPLAY OCTAL COMP 2 (R1)
000036,000021: # 03 DISPLAY OCTAL COMP 3 (R1)
000037,000022: # 04 DISPLAY OCTAL COMP 1,2 (R1,R2)
000038,000023: # 05 DISPLAY OCTAL COMP 1,2,3 (R1,R2,R3)
000039,000024: # 06 DECIMAL DISPLAY
000040,000025: # 07 DP DECIMAL DISPLAY (R1,R2)
000041,000026: # 10 SPARE
000042,000027: # 11 MONITOR OCT COMP 1 (R1)
000043,000028: # 12 MONITOR OCT COMP 2 (R1)
000044,000029: # 13 MONITOR OCT COMP 3 (R1)
000045,000030: # 14 MONITOR OCT COMP 1,2 (R1)
000046,000031: # 15 MONITOR OCT COMP 1,2,3 (R1,R2,R3)
000047,000032: # 16 MONITOR DECIMAL
000048,000033: # 17 MONITOR DP DECIMAL (R1,R2)
000049,000034: # 20 SPARE
000050,000035: # 21 LOAD COMP 1 (R1)
000051,000036: # 22 LOAD COMP 2 (R2)
000052,000037: # 23 LOAD COMP 3 (R3)
000053,000038: # 24 LOAD COMP 1,2 (R1,R2)
000054,000039: # 25 LOAD COMP 1,2,3 (R1,R2,R3)
000055,000040: # 26 SPARE
000056,000041: # 27 FIXED MEMORY DISPLAY
000057,000042: # 30 REQUEST EXECUTIVE
000058,000043: # 31 REQUEST WAITLIST
000059,000044: # 32 C(R2) INTO R3, C(R1) INTO R2
000060,000045: # 33 PROCEED WITHOUT DATA
000061,000046: # 34 TERMINATE CURRENT TEST OR LOAD REQUEST
000062,000047: # 35 TEST LIGHTS
000063,000048: # 36 FRESH START
000064,000049: # 37 CHANGE MAJOR MODE
000065,000050: # END OF REGULAR VERBS
000066,000051:
000067,000052: # EXTENDED VERBS
000068,000053: # 40 ZERO (USED WITH NOUNS 20 AND 55)
000069,000054: # 41 COARSE ALIGN (USED WITH NOUNS 20 AND 55)
000070,000055: # 42 FINE ALIGN IMU
000071,000056: # 43 LOAD IMU ATTITUDE ERROR METERS
000072,000057: # 44 ILLEGAL VERB
000073,000058: # 45 ILLEGAL VERB
000074,000059: # 46 ILLEGAL VERB
000075,000060: # 47 PERFORM CSM & SATURN TESTS
000076,000061: # 50 PLEASE PERFORM
000077,000062: # 51 PLEASE MARK
000078,000063: # 52 PERFORM PRELAUNCH ALIGNMENT OPTICAL VERIFICATION
000079,000064: # 53 ILLEGAL VERB
000080,000065: # 54 PULSE TORQUE GYROS
000081,000066: # 55 ALIGN TIME
000082,000067: # 56 PERFORM BANKSUM
000083,000068: # 57 PERFORM SYSTEM TEST
000084,000069: # 60 PREPARE FOR CGC STANDBY
000085,000070: # 61 RECOVERY FROM CGC STANDBY
000086,000071: # 62 SCAN CSM INBITS
000087,000072: # 63 ILLEGAL VERB
000088,000073: # 64 ILLEGAL VERB
000089,000074: # 65 ILLEGAL VERB
000090,000075: # 66 ILLEGAL VERB
000091,000076: # 67 ILLEGAL VERB
000092,000077: # 70 ILLEGAL VERB
000093,000078: # 71 ILLEGAL VERB
000094,000079: # 72 ILLEGAL VERB
000095,000080: # 73 ILLEGAL VERB
000096,000081: # 74 ILLEGAL VERB
000097,000082: # 75 ILLEGAL VERB
000098,000083: # 76 ILLEGAL VERB
000099,000084: # 77 ILLEGAL VERB
000100,000085:
000101,000086: # NORMAL NOUNS SCALE AND DECIMAL POINT
000102,000087: # 00 NOT IN USE
000103,000088: # 01 SPECIFY MACHINE ADDRESS (FRACTIONAL) (.XXXXX)
000104,000089: # 02 SPECIFY MACHINE ADDRESS (WHOLE) (XXXXX.)
000105,000090: # 03 SPECIFY MACHINE ADDRESS (DEGREES) (XXX.XXDEGREES)
000106,000091: # 04 SPECIFY MACHINE ADDRESS (HOURS) (XXX.XXHOURS)
000107,000092: # 05 SPECIFY MACHINE ADDRESS (SECONDS) (XXX.XXSECONDS)
000108,000093: # 06 SPECIFY MACHINE ADDRESS (GYRO DEGREES) (XX.XXXDEGREES)
000109,000094: # 07 SPECIFY MACHINE ADDRESS (Y OPT DEGREES) (XX.XXXDEGREES)
000110,000095: # 10 CHANNEL TO BE SPECIFIED
000111,000096: # 11 SPARE
000112,000097: # 12 SPARE
000113,000098: # 13 SPARE
000114,000099: # 14 SPARE
000115,000100: # 15 INCREMENT MACHINE ADDRESS (OCTAL ONLY)
000116,000101: # 16 TIME SECONDS (XXX.XXSECONDS)
000117,000102: # 17 TIME HOURS (XXX.XXHOURS)
000118,000103: # 20 ICDU (XXX.XXDEGREES)
000119,000104: # 21 PIPAS (XXXXX.PULSES)
000120,000105: # 22 NEW ANGLES I (XXX.XXDEGREES)
000121,000106: # 23 DELTA ANGLES I (XXX.XXDEGREES)
000122,000107: # 24 DELTA TIME (SECONDS) (XXX.XXSECONDS)
000123,000108: # 25 CHECKLIST (XXXXX.)
000124,000109: # 26 PRIO/DELAY, ADRES, BBCON (OCTAL ONLY)
000125,000110: # 27 SELF TEST ON/OFF SWITCH (XXXXX.)
000126,000111: # 30 STAR NUMBERS (XXXXX.)
000127,000112: # 31 FAILREG, SFAIL, ERCOUNT (OCTAL ONLY)
000128,000113: # 32 DECISION TIME (MIDCOURSE) (XXX.XXHOURS (INTERNAL UNITS = WEEKS))
000129,000114: # 33 EPHEMERIS TIME (MIDCOURSE) (XXX.XXHOURS (INTERNAL UNITS = WEEKS))
000130,000115: # 34 MEASURED QUANTITY (MIDCOURSE) (XXXX.XKILOMETERS)
000131,000116: # 35 INBIT MESSAGE (OCTAL ONLY)
000132,000117: # 36 LANDMARK DATA 1 (OCTAL ONLY)
000133,000118: # 37 LANDMARK DATA 2 (OCTAL ONLY)
000134,000119: # 40 SPARE
000135,000120: # 41 SPARE
000136,000121: # 42 SPARE
000137,000122: # 43 SPARE
000138,000123: # 44 SPARE
000139,000124: # 45 SPARE
000140,000125: # 46 SPARE
000141,000126: # 47 SPARE
000142,000127: # 50 SPARE
000143,000128: # 51 SPARE
000144,000129: # 52 GYRO BIAS DRIFT (.BBXXXXXMILLIRAD/SEC)
000145,000130: # 53 GYRO INPUT AXIS ACCELERATION DRIFT (.BBXXXXX(MILLIRAD/SEC)/(CM/SEC SEC))
000146,000131: # 54 GYRO SPIN AXIS ACCELERATION DRIFT (.BBXXXXX(MILLIRAD/SEC)/(CM/SEC SEC))
000147,000132: # END OF NORMAL NOUNS
000148,000133:
000149,000134: # MIXED NOUNS SCALE AND DECIMAL POINT
000150,000135: # 55 OCDU (XXX.XXDEG, XX.XXXDEG)
000151,000136: # 56 UNCALLED MARK DATA (OCDU & TIME(SECONDS)) (XXX.XXDEG, XX.XXXDEG, XXX.XXSEC)
000152,000137: # 57 NEW ANGLES OCDU (XXX.XXDEG, XX.XXXDEG)
000153,000138: # 60 DELTA GYRO ANGLES FOR PRELAUNCH (XX.XXXDEG FOR EACH)
000154,000139: # OPTICAL VERIFICATION
000155,000140: # 61 TARGET AZIMUTH AND ELEVATION (XXX.XXDEG, XX.XXXDEG)
000156,000141: # 62 ICDUZ AND TIME (XXX.XXDEG, XXX.XXSEC)
000157,000142: # 63 OCDUX AND TIME (XXX.XXDEG, XXX.XXSEC)
000158,000143: # 64 OCDUY AND TIME (XX.XXXDEG, XXX.XXSEC)
000159,000144: # 65 SAMPLED TIME (HOURS AND SECONDS) (XXX.XXHOURS, XXX.XXSEC)
000160,000145: # (FETCHED IN INTERRUPT)
000161,000146: # 66 SYSTEM TEST RESULTS (XXXXX., .XXXXX, XXXXX.)
000162,000147: # 67 DELTA GYRO ANGLES (XX.XXXDEG FOR EACH)
000163,000148: # 70 PIPA BIAS (X.XXXXCM/SEC SEC FOR EACH)
000164,000149: # 71 PIPA SCALE FACTOR ERROR (XXXXX.PARTS/MILLION FOR EACH)
000165,000150: # 72 DELTA POSITION (XXXX.XKILOMETERS FOR EACH)
000166,000151: # 73 DELTA VELOCITY (XXXX.XMETERS/SEC FOR EACH)
000167,000152: # 74 MEASUREMENT DATA (MIDCOURSE) (XXX.XXHOURS (INTERNAL UNITS=WEEKS), XXXX.XKILOMETERS, XXXXX.
000168,000153: # 75 MEASUREMENT DEVIATIONS (MIDCOURSE) (XXXX.XKILOMETERS, XXXX.XMETERS/SEC, XXXX.XKILOMETERS)
000169,000154: # 76 POSITION VECTOR (XXXX.XKILOMETERS FOR EACH)
000170,000155: # 77 VELOCITY VECTOR (XXXX.XMETERS/SEC FOR EACH)
000171,000156:
000172,000157: # TABLE OF ERROR CODES
000173,000158:
000174,000159: # OPTICS SUB-SYSTEM
000175,000160:
000176,000161: # 00105 MARK BUTTONS NOT AVAILABLE
000177,000162: # 00110 NO MARK SINCE LAST MARK REJECT
000178,000163: # 00112 MARK NOT BEING ACCEPTED
000179,000164: # 00113 NO INBITS
000180,000165: # 00114 MARK MADE BUT NOT DESIRED
000181,000166: # 00115 OPTICS TORQUE REQUEST WITH SWITCH NOT AT CGC
000182,000167: # 00116 OPTICS SWITCH ALTERED BEFORE 15 SEC. ZERO TIME ELAPSED
000183,000168: # 00117 OPTICS TORQUE REQUEST WITH OPTICS NOT AVAILABLE (OPTIND = -0)
000184,000169: # 00120 OPTICS TORQUE REQUEST WITH OPTICS NOT ZEROED
000185,000170:
000186,000171: # IMU SUB-SYSTEM
000187,000172:
000188,000173: # 00207 ISS TURN-ON REQUEST NOT PRESENT FOR 90 SEC.
000189,000174: # 00210 IMU NOT OPERATING
000190,000175: # 00211 COARSE ALIGN ERROR
000191,000176: # 00212 PIPA FAIL BUT PIPA IS NOT BEING USED
000192,000177: # 00213 IMU NOT OPERATING WITH TURN-ON REQUEST
000193,000178: # 00214 PROGRAM USING IMU WHEN TURNED OFF
000194,000179:
000195,000180: # PROCEDURAL DIFFICULTY
000196,000181:
000197,000182: # 00401 DESIRED GIMBAL ANGLES YIELD GIMBAL LOCK
000198,000183: # 00402 STAR OUT OF FIELD OF VIEW
000199,000184: # 00403 STAR OUT OF FIELD OF VIEW
000200,000185:
000201,000186: # COMPUTER HARDWARE MALFUNCTIONS
000202,000187:
000203,000188: # 01102 AGC SELF TEST ERROR
000204,000189: # 01103 UNUSED CCS BRANCH EXECUTED . ABORT
000205,000190: # 01105 DOWNLINK TOO FAST
000206,000191: # 01106 UPLINK TOO FAST
000207,000192: # 01107 PHASE TABLE DISAGREEMENT. DOFSTART
000208,000193:
000209,000194: # LIST OVERFLOWS ( ALL ABORTS )
000210,000195:
000211,000196: # 01201 EXECUTIVE OVERFLOW-NO VAC AREAS
000212,000197: # 01202 EXECUTIVE OVERFLOW-NO CORE SETS
000213,000198: # 01203 WAITLIST OVERFLOW-TOO MANY TASKS
000214,000199: # 01206 KEYBOARD AND DISPLAY WAITING LINE OVERFLOW
000215,000200: # 01207 NO VAC AREA FOR MARKS
000216,000201: # 01210 TWO PROGRAMS USING DEVICE AT SAME TIME
000217,000202:
000218,000203: # INTERPRETER ERRORS
000219,000204:
000220,000205: # 01301 ARCSIN-ARCCOS INPUT ANGLE TOO LARGE. ABORT
000221,000206: # 01302 SQRT CALLED WITH NEGATIVE ARGUMENT . ABORT
000222,000207:
000223,000208: # DISPLAY ALARMS
000224,000209:
000225,000210: # 01401 TESTIDX TOO LARGE IN CSM & SATURN TEST. ENDTEST
000226,000211: # 01402 AN ILLEGAL QUANTITY LOADED IN THE JET OR ENGINE TASK ERASABLE TABLE.
000227,000212: # ENDTEST.
000228,000213: # 01403 AN ILLEGAL QUANTITY LOADED IN THE SPS OR SATURN STEERING TASK
000229,000214: # ERASABLE TABLE. ENDTEST.
000230,000215: # 01404 CSM & SATURN TEST PLEASE PERFORM TASK 401, 402, OR 403 FAILED. ENDTEST
000231,000216: # 01405 ICDUS BUSY DURING SATURN STEERING TEST. ENDTEST
000232,000217: # 01411 A) OPCHK. IMU IS NOT ON, IN IMU OPERATIONAL CHECK.
000233,000218: # B) ERRMASK. CDU DOES NOT AGREE WITH COMMAND IN IMU OP CHECK
000234,000219: # C) STILLOOK. FIRST CDU PULSE WAS MISSED IN IRIG SF TEST.
000235,000220: # D) STOPTEST. LAST CDU PULSE WAS MISSED OR GYRO TORQUE LOOP OUT OF
000236,000221: # LIMITS IN IRIG SF TEST
000237,000222:
000238,000223: # KEYBOARD AND DISPLAY PROGRAM
000239,000224:
000240,000225: # 01501 KEYBOARD AND DISPLAY ALARM DURING INTERNAL USE(NVSUB).ABORT
000241,000226:
000242,000227: # SYSTEM TEST ALARMS
000243,000228:
000244,000229: # 01600 DRIFT TEST MISSED IN TIME STEP
000245,000230: # 01601 DRIFT TEST INTEGRATION OVERFLOW
000246,000231: # 01602 DRIFT TEST ERROR IN GYRO TORQUEING. ENDTEST
000247,000232:
End of include-file ASSEMBLY_AND_OPERATION_INFORMATION.agc. Parent file is MAIN.agc