Source Code
022107,000001: # Copyright: Public domain.
022108,000002: # Filename: P76.agc
022109,000003: # Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
022110,000004: # It is part of the source code for the Command Module's (CM)
022111,000005: # Apollo Guidance Computer (AGC), for Apollo 11.
022112,000006: # Assembler: yaYUL
022113,000007: # Contact: Hartmuth Gutsche <hgutsche@xplornet.com>.
022114,000008: # Website: www.ibiblio.org/apollo.
022115,000009: # Pages: pp 511-513
022116,000010: # Mod history: 2009-05-08 HG Adapting from the Luminary131/ file
022117,000011: # of the same name, using Comanche055 page
022118,000012: # images 0511.jpg - 0513.jpg.
022119,000013:
022120,000014: # This source code has been transcribed or otherwise adapted from digitized
022121,000015: # images of a hardcopy from the MIT Museum. The digitization was performed
022122,000016: # by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
022123,000017: # thanks to both. The images (with suitable reduction in storage size and
022124,000018: # consequent reduction in image quality as well) are available online at
022125,000019: # www.ibiblio.org/apollo. If for some reason you find that the images are
022126,000020: # illegible, contact me at info@sandroid.org about getting access to the
022127,000021: # (much) higher-quality images which Paul actually created.
022128,000022:
022129,000023: # Notations on the hardcopy document read, in part:
022130,000024:
022131,000025: # Assemble revision 055 of AGC program Comanche by NASA
022132,000026: # 2021113-051. 10:28 APR. 1, 1969
022133,000027:
022134,000028: # This AGC program shall also be referred to as
022135,000029: # Colossus 2A
022136,000030:
022137,000031: # Page 511
022138,000032: # 1) PROGRAM NAME -- TARGET DELTA V PROGRAM (P76).
022139,000033: # 2) FUNCTIONAL DESCRIPTION -- UPON ENTRY BY ASTRONAUT ACTION, P76 FLASHES DSKY REQUESTS TO THE ASTRONAUT
022140,000034: # TO PROVIDE VIA DSKY (1) THE DELTA V TO BE APPLIED TO THE OTHER VEHICLE STATE VECTOR AND (2) THE
022141,000035: # TIME (TIG) AT WHICH THE OTHER VEHICLE VELOCITY WAS CHANGED BY EXECUTION OF A THRUSTING MANEUVER. THE
022142,000036: # OTHER VEHICLE STATE VECTOR IS INTEGRATED TO TIG AND UPDATED BY THE ADDITION OF DELTA V (DELTA V HAVING
022143,000037: # BEEN TRANSFORMED FROM LV TO REF COSYS). USING INTEGRVS, THE PROGRAM THEN INTEGRATES THE OTHER
022144,000038: # VEHICLE STATE VECTOR TO THE STATE VECTOR OF THIS VEHICLE, THUS INSURING THAT THE W-MATRIX AND BOTH VEHICLE
022145,000039: # STATES CORRESPOND TO THE SAME TIME.
022146,000040: # 3) ERASABLE INIITIALIZATION REQUIRED -- NONE.
022147,000041: # 4) CALLING SEQUENCES AND EXIT MODES -- CALLED BY ASTRONAUT REQUEST THRU DSKY V 37 E 76E.
022148,000042: # EXITS BY TCF ENDOFJOB.
022149,000043: # 5) OUTPUT -- OTHER VEHICLE STATE VECTOR INTEGRATED TO TIG AND INCREMENTED BY DELTA V IN REF COSYS.
022150,000044: # THE PUSHLIST CONTAINS THE MATRIX BY WHICH THE INPUT DELTA V MUST BE POST-MULTIPLIED TO CONVERT FROM LV
022151,000045: # TO REF COSYS.
022152,000046: # 6) DEBRIS -- OTHER VEHICLE STATE VECTOR.
022153,000047: # 7) SUBROUTINES CALLED -- BANKCALL, GOXDSPF, CSMPREC (OR LEMPREC), ATOPCSM (OR ATOPLEM), INTSTALL, INTWAKE, PHASCHNG
022154,000048: # INTPRET, INTEGRVS, AND MINIRECT.
022155,000049: # 8) FLAG USE -- MOONFLAG, CMOONFLG, INTYPFLG, RASFLAG, AND MARKCTR.
022156,000050:
022157,000051: 30,2000 BANK 30
022158,000052: 13,2000 SETLOC P76LOC
022159,000053: 13,2000 BANK
022160,000054:
022161,000055: 13,2071 COUNT* $$/P76
022162,000056:
022163,000057: 13,2071 E7,1412 EBANK= TIG
022164,000058:
022165,000059: 13,2071 05546 P76 TC UPFLAG
022166,000060: 13,2072 00031 ADRES TRACKFLG
022167,000061:
022168,000062: 13,2073 32220 CAF V06N84 # FLASH LAST DELTA V.
022169,000063: 13,2074 04662 TC BANKCALL # AND WAIT FOR KEYBOARD ACTION.
022170,000064: 13,2075 20720 CADR GOFLASH
022171,000065: 13,2076 12212 TCF ENDP76
022172,000066: 13,2077 02101 TC +2 # PROCEED
022173,000067: 13,2100 02073 TC -5 # STORE DATA AND REPEAT FLASHING
022174,000068: 13,2101 32221 CAF V06N84 +1 # FLASH VERB 06 NOUN 33, DISPLAY LAST TIG,
022175,000069: 13,2102 04662 TC BANKCALL # AND WAIT FOR KEYBOARD ACTION.
022176,000070: 13,2103 20720 CADR GOFLASH
022177,000071: 13,2104 12212 TCF ENDP76
022178,000072: 13,2105 02107 TC +2
022179,000073: 13,2106 02101 TC -5
022180,000074: 13,2107 06006 TC INTPRET # RETURN TO INTERPRETIVE CODE
022181,000075: 13,2110 77745 DLOAD # SET D(MPAC)=TIG IN CSEC B28
022182,000076: 13,2111 03413 TIG
022183,000077: 13,2112 34041 STCALL TDEC1 # SET TDEC1=TIG FOR ORBITAL INTEGRATION
022184,000078: 13,2113 27105 OTHPREC
022185,000079: 13,2114 53575 COMPMAT VLOAD UNIT
022186,000080: 13,2115 00001 RATT
022187,000081: # Page 512
022188,000082: 13,2116 77676 VCOMP # U(-R)
022189,000083: 13,2117 00031 STORE 24D # U(-R) TO 24D
022190,000084: 13,2120 53435 VXV UNIT # U(-R) X V = U(V X R)
022191,000085: 13,2121 00007 VATT
022192,000086: 13,2122 00023 STORE 18D
022193,000087: 13,2123 53435 VXV UNIT # U(V X R) X U(-R) = U((R X V) X R)
022194,000088: 13,2124 00031 24D
022195,000089: 13,2125 24015 STOVL 12D
022196,000090: 13,2126 03540 DELVOV
022197,000091: 13,2127 76505 VXM VSL1 # V(MPAC)=DELTA V IN REFCOSYS
022198,000092: 13,2130 00015 12D
022199,000093: 13,2131 77655 VAD
022200,000094: 13,2132 00007 VATT
022201,000095: 13,2133 00007 STORE 6 # V(PD6)=VATT + DELTA V
022202,000096: 13,2134 77624 CALL # PREVENT WOULD-BE USER OF ORBITAL
022203,000097: 13,2135 27442 INTSTALL # INTEG FROM INTERFERING WITH UPDATING
022204,000098: 13,2136 77624 CALL
022205,000099: 13,2137 26222 P76SUB1
022206,000100: 13,2140 53775 VLOAD VSR*
022207,000101: 13,2141 00007 6
022208,000102: 13,2142 57176 0,2
022209,000103: 13,2143 25543 STOVL VCV
022210,000104: 13,2144 00001 RATT
022211,000105: 13,2145 77657 VSR*
022212,000106: 13,2146 57176 0,2
022213,000107: 13,2147 15535 STODL RCV
022214,000108: 13,2150 03413 TIG
022215,000109: 13,2151 01517 STORE TET
022216,000110: 13,2152 71214 CLEAR DLOAD
022217,000111: 13,2153 01673 INTYPFLG
022218,000112: 13,2154 01571 TETTHIS
022219,000113: 13,2155 34041 INTOTHIS STCALL TDEC1
022220,000114: 13,2156 27135 INTEGRVS
022221,000115: 13,2157 77624 CALL
022222,000116: 13,2160 27442 INTSTALL
022223,000117: 13,2161 77624 CALL
022224,000118: 13,2162 26222 P76SUB1 # SET/CLEAR MOONFLAG
022225,000119: 13,2163 77775 VLOAD
022226,000120: 13,2164 00017 RATT1
022227,000121: 13,2165 01503 STORE RRECT
022228,000122: 13,2166 15535 STODL RCV
022229,000123: 13,2167 00015 TAT
022230,000124: 13,2170 25517 STOVL TET
022231,000125: 13,2171 00025 VATT1
022232,000126: 13,2172 77624 CALL
022233,000127: 13,2173 23435 MINIRECT
022234,000128: 13,2174 77776 EXIT
022235,000129: 13,2175 05412 TC PHASCHNG
022236,000130: 13,2176 04024 OCT 04024
022237,000131: # Page 513
022238,000132: 13,2177 05546 TC UPFLAG
022239,000133: 13,2200 00236 ADRES REINTFLG
022240,000134:
022241,000135: 13,2201 06006 TC INTPRET
022242,000136: 13,2202 77624 CALL
022243,000137: 13,2203 26760 ATOPOTH
022244,000138: 13,2204 77531 SSP EXIT
022245,000139: 13,2205 00053 QPRET
022246,000140: 13,2206 26211 OUT
022247,000141: 13,2207 04662 TC BANKCALL # PERMIT USE OF ORBITAL INTEGRATION
022248,000142: 13,2210 27477 CADR INTWAKE1
022249,000143: 13,2211 77776 OUT EXIT
022250,000144: 13,2212 35021 ENDP76 CAF ZERO
022251,000145: 13,2213 55126 TS MARKCTR # CLEAR RR TRACKING MARK COUNTER
022252,000146: 13,2214 55125 TS VHFCNT
022253,000147:
022254,000148: 13,2215 37716 CAF NEGONE
022255,000149: 13,2216 55734 TS MRKBUF2 # INVALIDATE MARK BUFFER
022256,000150:
022257,000151: 13,2217 14106 TCF GOTOP00H
022258,000152:
022259,000153: 13,2220 01524 V06N84 NV 0684
022260,000154: 13,2221 01441 NV 0633
022261,000155: 13,2222 67214 P76SUB1 CLEAR SLOAD
022262,000156: 13,2223 00263 MOONFLAG
022263,000157: 13,2224 00050 X2
022264,000158: 13,2225 43030 BHIZ SET # X2=0...CLEAR MOONFLAG
022265,000159: 13,2226 26230 +2 # =2.....SET MOONFLAG
022266,000160: 13,2227 00063 MOONFLAG
022267,000161: 13,2230 77616 RVQ
022268,000162:
End of include-file P76.agc. Parent file is MAIN.agc