Source Code
![]() |
YAYUL: ASSEMBLE REVISION 5 OF PROGRAM BOREALIS BY MSTEWART MAR. 27,2017This is a modern AGC system self-test program, though based on the Apollo-era AURORA 12 program, and was not written by the original AGC developers, but rather by Mike Stewart. All of the original AURORA 12 DAP code added by the DAP Group has been removed, and extensive new system test code has been added in its place. This allows more in-depth testing of CPU behavior, both in AGC software simulations and hardware simulations. |
000023,000002: ## Copyright: Public domain.
000024,000003: ## Filename: ASSEMBLY_AND_OPERATION_INFORMATION.agc
000025,000004: ## Purpose: This program is designed to extensively test the Apollo Guidance Computer
000026,000005: ## (specifically the LM instantiation of it). It is built on top of a heavily
000027,000006: ## stripped-down Aurora 12, with all code ostensibly added by the DAP Group
000028,000007: ## removed. Instead Borealis expands upon the tests provided by Aurora,
000029,000008: ## including corrected tests from Retread 44 and tests from Ron Burkey's
000030,000009: ## Validation.
000031,000010: ## Assembler: yaYUL
000032,000011: ## Contact: Mike Stewart <mastewar1@gmail.com>.
000033,000012: ## Website: www.ibiblio.org/apollo/index.html
000034,000013: ## Mod history: 2016-12-20 MAS Created from Aurora 12 (with much DAP stuff removed).
000035,000014:
000036,000015: # VERB INFORMATION.
000037,000016:
000038,000017: # REGULAR VERBS
000039,000018: # 01 DISPLAY OCTAL COMP 1 (R1)
000040,000019: # 02 DISPLAY OCTAL COMP 2 (R1)
000041,000020: # 03 DISPLAY OCTAL COMP 3 (R1)
000042,000021: # 04 DISPLAY OCTAL COMP 1,2 (R1,R2)
000043,000022: # 05 DISPLAY OCTAL COMP 1,2,3 (R1,R2,R3)
000044,000023: # 06 DECIMAL DISPLAY
000045,000024: # 07 DP DECIMAL DISPLAY (R1,R2)
000046,000025: # 10 SPARE
000047,000026: # 11 MONITOR OCT COMP 1 (R1)
000048,000027: # 12 MONITOR OCT COMP 2 (R1)
000049,000028: # 13 MONITOR OCT COMP 3 (R1)
000050,000029: # 14 MONITOR OCT COMP 1,2 (R1)
000051,000030: # 15 MONITOR OCT COMP 1,2,3 (R1,R2,R3)
000052,000031: # 16 MONITOR DECIMAL
000053,000032: # 17 MONITOR DP DECIMAL (R1,R2)
000054,000033: # 20 SPARE
000055,000034: # 21 LOAD COMP 1 (R1)
000056,000035: # 22 LOAD COMP 2 (R2)
000057,000036: # 23 LOAD COMP 3 (R3)
000058,000037: # 24 LOAD COMP 1,2 (R1,R2)
000059,000038: # 25 LOAD COMP 1,2,3 (R1,R2,R3)
000060,000039: # 26 SPARE
000061,000040: # 27 FIXED MEMORY DISPLAY
000062,000041: # 30 REQUEST EXECUTIVE
000063,000042: # 31 REQUEST WAITLIST
000064,000043: # 32 C(R2) INTO R3, C(R1) INTO R2
000065,000044: # 33 PROCEED WITHOUT DATA
000066,000045: # 34 TERMINATE CURRENT TEST OR LOAD REQUEST
000067,000046: # 35 TEST LIGHTS
000068,000047: # 36 FRESH START
000069,000048: # 37 CHANGE MAJOR MODE
000070,000049: # END OF REGULAR VERBS
000071,000050:
000072,000051: # EXTENDED VERBS
000073,000052: # 40 ZERO (USED WITH NOUNS 20, 40, AND 70)
000074,000053: # 41 COARSE ALIGN (USED WITH NOUNS 20, 40, AND 70)
000075,000054: # 42 FINE ALIGN IMU
000076,000055: # 43 LOAD IMU ATTITUDE ERROR METERS
000077,000056: # 44 ILLEGAL VERB
000078,000057: # 45 COMMAND LR TO POSITION 2
000079,000058: # 46 SAMPLE RADAR ONCE PER SECOND
000080,000059: # 47 PERFORM LEM FCS TEST
000081,000060: # 50 PLEASE PERFORM
000082,000061: # 51 PLEASE MARK
000083,000062: # 52 PLEASE MARK Y
000084,000063: # 53 PLEASE MARK X OR Y
000085,000064: # 54 PULSE TORQUE GYROS
000086,000065: # 55 ALIGN TIME
000087,000066: # 56 PERFORM BANKSUM
000088,000067: # 57 PERFORM SYSTEM TEST
000089,000068: # 60 ILLEGAL VERB
000090,000069: # 61 ILLEGAL VERB
000091,000070: # 62 SCAN LEM INBITS
000092,000071: # 63 INITIALIZE AGS
000093,000072: # 64 ILLEGAL VERB
000094,000073: # 65 ILLEGAL VERB
000095,000074: # 66 ILLEGAL VERB
000096,000075: # 67 ILLEGAL VERB
000097,000076: # 70 ILLEGAL VERB
000098,000077: # 71 ILLEGAL VERB
000099,000078: # 72 ILLEGAL VERB
000100,000079: # 73 SPARE
000101,000080: # 74 SPARE
000102,000081: # 75 SPARE
000103,000082: # 76 SPARE
000104,000083: # 77 ILLEGAL VERB
000105,000084:
000106,000085: # NORMAL NOUNS SCALE AND DECIMAL POINT
000107,000086: # 00 NOT IN USE
000108,000087: # 01 SPECIFY MACHINE ADDRESS (FRACTIONAL) (.XXXXX)
000109,000088: # 02 SPECIFY MACHINE ADDRESS (WHOLE) (XXXXX.)
000110,000089: # 03 SPECIFY MACHINE ADDRESS (DEGREES) (XXX.XXDEGREES)
000111,000090: # 04 SPECIFY MACHINE ADDRESS (HOURS) (XXX.XXHOURS)
000112,000091: # 05 SPECIFY MACHINE ADDRESS (SECONDS) (XXX.XXSECONDS)
000113,000092: # 06 SPECIFY MACHINE ADDRESS (GYRO DEGREES) (XX.XXXDEGREES)
000114,000093: # 07 SPARE
000115,000094: # 10 CHANNEL TO BE SPECIFIED
000116,000095: # 11 SPARE
000117,000096: # 12 SPARE
000118,000097: # 13 SPARE
000119,000098: # 14 SPARE
000120,000099: # 15 INCREMENT MACHINE ADDRESS (OCTAL ONLY)
000121,000100: # 16 TIME SECONDS (XXX.XXSECONDS)
000122,000101: # 17 TIME HOURS (XXX.XXHOURS)
000123,000102: # 20 ICDU (XXX.XXDEGREES)
000124,000103: # 21 PIPAS (XXXXX.PULSES)
000125,000104: # 22 NEW ANGLES I (XXX.XXDEGREES)
000126,000105: # 23 DELTA ANGLES I (XXX.XXDEGREES)
000127,000106: # 24 DELTA TIME (SECONDS) (XXX.XXSECONDS)
000128,000107: # 25 CHECKLIST (XXXXX.)
000129,000108: # 26 PRIO/DELAY, ADRES, BBCON (OCTAL ONLY)
000130,000109: # 27 SELF TEST ON/OFF SWITCH (XXXXX.)
000131,000110: # 30 STAR NUMBERS (XXXXX.)
000132,000111: # 31 FAILREG, SFAIL, ERCOUNT (OCTAL ONLY)
000133,000112: # 32 DECISION TIME (MIDCOURSE) (XXX.XXHOURS (INTERNAL UNITS = WEEKS))
000134,000113: # 33 EPHEMERIS TIME (MIDCOURSE) (XXX.XXHOURS (INTERNAL UNITS = WEEKS))
000135,000114: # 34 MEASURED QUANTITY (MIDCOURSE) (XXXX.XKILOMETERS)
000136,000115: # 35 INBIT MESSAGE (OCTAL ONLY)
000137,000116: # 36 LANDMARK DATA 1 (OCTAL ONLY)
000138,000117: # 37 LANDMARK DATA 2 (OCTAL ONLY)
000139,000118: # 40 RENDEZVOUS RADAR ANGLES (TRUNION,SHAFT) (XXX.XXDEGREES)
000140,000119: # 41 NEW RENDEZVOUS RADAR ANGLES (TRUNION,SHAFT) (XXX.XXDEGREES)
000141,000120: # 42 AOT ROTATION ANGLES (XXX.XXDEGREES)
000142,000121: # 43 AOT DETENT CODE (XXXXX.)
000143,000122: # 44 FORWARD VELOCITY, LATERAL VELOCITY (XXXXX.FEET/SEC)
000144,000123: # 45 SPARE
000145,000124: # 46 SPARE
000146,000125: # 47 SPARE
000147,000126: # 50 SPARE
000148,000127: # 51 SPARE
000149,000128: # 52 GYRO BIAS DRIFT (.BBXXXXXMILLIRAD/SEC)
000150,000129: # 53 GYRO INPUT AXIS ACCELERATION DRIFT (.BBXXXXX(MILLIRAD/SEC)/(CM/SEC SEC))
000151,000130: # 54 GYRO SPIN AXIS ACCELERATION DRIFT (.BBXXXXX(MILLIRAD/SEC)/(CM/SEC SEC))
000152,000131: # END OF NORMAL NOUNS
000153,000132:
000154,000133: # MIXED NOUNS SCALE AND DECIMAL POINT
000155,000134: # 55 LANDING RADAR ALTITUDE, TIME (SECONDS) (XXXXX.FEET, XXX.XXSEC)
000156,000135: # 56 LANDING RADAR VELX, TIME (SECONDS) (XXXXX.FEET/SEC, XXX.XXSEC)
000157,000136: # 57 LANDING RADAR VELY, TIME (SECONDS) (XXXXX.FEET/SEC, XXX.XXSEC)
000158,000137: # 60 LANDING RADAR VELZ, TIME (SECONDS) (XXXXX.FEET/SEC, XXX.XXSEC)
000159,000138: # 61 TARGET AZIMUTH AND ELEVATION (XXX.XXDEG, XX.XXXDEG)
000160,000139: # 62 RENDEZVOUS RADAR RANGE, TRUNION, SHAFT (XXXXXB.FEET, XXX.XXDEG, XXX.XXDEG)
000161,000140: # 63 RENDEZVOUS RADAR RANGE RATE, TRUNION, SHAFT (XXXXX.FEET/SEC, XXX.XXDEG, XXX.XXDEG)
000162,000141: # 64 INITIAL ALTITUDE, FINAL ALTITUDE, ALT. RATE (XXXXX.FEET, XXXXX.FEET, XXXXX.FEET/SEC)
000163,000142: # 65 SAMPLED TIME (HOURS AND SECONDS) (XXX.XXHOURS, XXX.XXSEC)
000164,000143: # (FETCHED IN INTERRUPT)
000165,000144: # 66 SYSTEM TEST RESULTS (XXXXX., .XXXXX, XXXXX.)
000166,000145: # 67 DELTA GYRO ANGLES (XX.XXXDEG FOR EACH)
000167,000146: # 70 OPTICAL TRACKER ANGLES (AZIMUTH, ELEVATION) (XXX.XXDEG, XXX.XXDEG)
000168,000147: # 71 DESIRED OPTICAL TRACKER ANGLES (AZ, ELEV) (XXX.XXDEG, XXX.XXDEG)
000169,000148: # 72 DELTA POSITION (XXXX.XKILOMETERS FOR EACH)
000170,000149: # 73 DELTA VELOCITY (XXXX.XMETERS/SEC FOR EACH)
000171,000150: # 74 MEASUREMENT DATA (MIDCOURSE) (XXX.XXHOURS (INTERNAL UNITS=WEEKS), XXXX.XKILOMETERS, XXXXX.
000172,000151: # 75 MEASUREMENT DEVIATIONS (MIDCOURSE) (XXXX.XKILOMETERS, XXXX.XMETERS/SEC, XXXX.XKILOMETERS)
000173,000152: # 76 POSITION VECTOR (XXXX.XKILOMETERS FOR EACH)
000174,000153: # 77 VELOCITY VECTOR (XXXX.XMETERS/SEC FOR EACH)
000175,000154:
000176,000155: # TABLE OF ERROR CODES
000177,000156:
000178,000157: # OPTICS SUB-SYSTEM
000179,000158:
000180,000159: # 00105 MARK BUTTONS NOT AVAILABLE
000181,000160: # 00111 MARK IS MISSING AFTER ENTER
000182,000161: # 00112 MARK NOT BEING ACCEPTED
000183,000162: # 00113 NO INBITS
000184,000163: # 00114 MARK MADE BUT NOT DESIRED
000185,000164: # 00115 X MARK NOT MADE
000186,000165:
000187,000166: # IMU SUB-SYSTEM
000188,000167:
000189,000168: # 00207 ISS TURN-ON REQUEST NOT PRESENT FOR 90 SEC.
000190,000169: # 00210 IMU NOT OPERATING
000191,000170: # 00211 COARSE ALIGN ERROR
000192,000171: # 00212 PIPA FAIL BUT PIPA IS NOT BEING USED
000193,000172: # 00213 IMU NOT OPERATING WITH TURN-ON REQUEST
000194,000173: # 00214 PROGRAM USING IMU WHEN TURNED OFF
000195,000174:
000196,000175: # PROCEDURAL DIFFICULTY
000197,000176:
000198,000177: # 00401 DESIRED GIMBAL ANGLES YIELD GIMBAL LOCK
000199,000178: # 00402 STAR OUT OF FIELD OF VIEW
000200,000179: # 00403 STAR OUT OF FIELD OF VIEW
000201,000180:
000202,000181: # RADAR ERRORS
000203,000182:
000204,000183: # 00501 RADAR ANTENNA OUT OF LIMITS
000205,000184: # 00502 BAD RADAR GIMBAL ANGLE INPUTS
000206,000185: # 00503 RADAR ANTENNA DESIGNATE FAIL
000207,000186: # 00510 RADAR AUTO DESCRETE NOT PRESENT
000208,000187: # 00514 RADAR GOES OUT OF AUTO MODE WHILE BEING USED
000209,000188: # 00520 NO RADAR RUPT EXPECTED
000210,000189: # 00521 RADAR DATA COULD NOT BE READ
000211,000190: # 00522 WRONG LR POSITION
000212,000191: # 00523 LR ANTENNA DID NOT MAKE IT
000213,000192: # 00524 BAD RADAR TARGET
000214,000193:
000215,000194: # COMPUTER HARDWARE MALFUNCTIONS
000216,000195:
000217,000196: # 01102 AGC SELF TEST ERROR
000218,000197: # 01103 UNUSED CCS BRANCH EXECUTED . ABORT
000219,000198: # 01105 DOWNLINK TOO FAST
000220,000199: # 01106 UPLINK TOO FAST
000221,000200:
000222,000201: # LIST OVERFLOWS ( ALL ABORTS )
000223,000202:
000224,000203: # 01201 EXECUTIVE OVERFLOW-NO VAC AREAS
000225,000204: # 01202 EXECUTIVE OVERFLOW-NO CORE SETS
000226,000205: # 01203 WAITLIST OVERFLOW-TOO MANY TASKS
000227,000206: # 01206 KEYBOARD AND DISPLAY WAITING LINE OVERFLOW
000228,000207: # 01207 NO VAC AREA FOR MARKS
000229,000208: # 01210 TWO PROGRAMS USING DEVICE AT SAME TIME
000230,000209:
000231,000210: # INTERPRETER ERRORS
000232,000211:
000233,000212: # 01301 ARCSIN-ARCCOS INPUT ANGLE TOO LARGE. ABORT
000234,000213: # 01302 SQRT CALLED WITH NEGATIVE ARGUMENT . ABORT
000235,000214:
000236,000215: # DISPLAY ALARMS
000237,000216:
000238,000217: # 01400 PITCH AND/OR ROLL TRIM FAIL IS ON (SHOWN WITH V50N25).
000239,000218: # 01410 TEMPORARY JET FAIL
000240,000219: # 01411 CDU DOES NOT AGREE WITH COMMAND TO 1 DEGREE
000241,000220:
000242,000221: # KEYBOARD AND DISPLAY PROGRAM
000243,000222:
000244,000223: # 01501 KEYBOARD AND DISPLAY ALARM DURING INTERNAL USE(NVSUB).ABORT
000245,000224: # SYSTEM TEST ALARMS
000246,000225:
000247,000226: # 01600 DRIFT TEST OVERFLOW ALARM
000248,000227: # 01601 SOME ERROR IN GYRO TORQUING DURING DRIFT TEST OR COMPASSS
000249,000228:
End of include-file ASSEMBLY_AND_OPERATION_INFORMATION.agc. Parent file is MAIN.agc