Source Code
021580,000001: # Copyright: Public domain.
021581,000002: # Filename: P76.agc
021582,000003: # Purpose: Part of the source code for Colossus, build 249.
021583,000004: # It is part of the source code for the Command Module's (CM)
021584,000005: # Apollo Guidance Computer (AGC), possibly for Apollo 8 and 9.
021585,000006: # Assembler: yaYUL
021586,000007: # Reference: pp. 504-506 of 1701.pdf.
021587,000008: # Contact: Ron Burkey <info@sandroid.org>.
021588,000009: # Website: www.ibiblio.org/apollo.
021589,000010: # Mod history: 08/12/04 RSB. Adapted from corresponding Luminary131
021590,000011: # file.
021591,000012:
021592,000013: # The contents of the "Colossus249" files, in general, are transcribed
021593,000014: # from a scanned document obtained from MIT's website,
021594,000015: # http://hrst.mit.edu/hrs/apollo/public/archive/1701.pdf. Notations on this
021595,000016: # document read, in part:
021596,000017:
021597,000018: # Assemble revision 249 of AGC program Colossus by NASA
021598,000019: # 2021111-041. October 28, 1968.
021599,000020:
021600,000021: # This AGC program shall also be referred to as
021601,000022: # Colossus 1A
021602,000023:
021603,000024: # Prepared by
021604,000025: # Massachussets Institute of Technology
021605,000026: # 75 Cambridge Parkway
021606,000027: # Cambridge, Massachusetts
021607,000028: # under NASA contract NAS 9-4065.
021608,000029:
021609,000030: # Refer directly to the online document mentioned above for further information.
021610,000031: # Please report any errors (relative to 1701.pdf) to info@sandroid.org.
021611,000032:
021612,000033: # In some cases, where the source code for Luminary 131 overlaps that of
021613,000034: # Colossus 249, this code is instead copied from the corresponding Luminary 131
021614,000035: # source file, and then is proofed to incorporate any changes.
021615,000036:
021616,000037: # Page 504
021617,000038: # 1) PROGRAM NAME -- TARGET DELTA V PROGRAM (P76).
021618,000039: # 2) FUNCTIONAL DESCRIPTION -- UPON ENTRY BY ASTRONAUT ACTION, P76 FLASHES DSKY REQUESTS TO THE ASTRONAUT
021619,000040: # TO PROVIDE VIA DSKY (1) THE DELTA V TO BE APPLIED TO THE OTHER VEHICLE STATE VECTOR AND (2) THE
021620,000041: # TIME (TIG) AT WHICH THE OTHER VEHICLE VELOCITY WAS CHANGED BY EXECUTION OF A THRUSTING MANEUVER. THE
021621,000042: # OTHER VEHICLE STATE VECTOR IS INTEGRATED TO TIG AND UPDATED BY THE ADDITION OF DELTA V (DELTA V HAVING
021622,000043: # BEEN TRANSFORMED FROM LV TO REF COSYS). USING INTEGRVS, THE PROGRAM THEN INTEGRATES THE OTHER
021623,000044: # VEHICLE STATE VECTOR TO THE STATE VECTOR OF THIS VEHICLE, THUS INSURING THAT THE W-MATRIX AND BOTH VEHICLE
021624,000045: # STATES CORRESPOND TO THE SAME TIME.
021625,000046: # 3) ERASABLE INIITIALIZATION REQUIRED -- NONE.
021626,000047: # 4) CALLING SEQUENCES AND EXIT MODES -- CALLED BY ASTRONAUT REQUEST THRU DSKY V 37 E 76E.
021627,000048: # EXITS BY TCF ENDOFJOB.
021628,000049: # 5) OUTPUT -- OTHER VEHICLE STATE VECTOR INTEGRATED TO TIG AND INCREMENTED BY DELTA V IN REF COSYS.
021629,000050: # THE PUSHLIST CONTAINS THE MATRIX BY WHICH THE INPUT DELTA V MUST BE POST-MULTIPLIED TO CONVERT FROM LV
021630,000051: # TO REF COSYS.
021631,000052: # 6) DEBRIS -- OTHER VEHICLE STATE VECTOR.
021632,000053: # 7) SUBROUTINES CALLED -- BANKCALL, GOXDSPF, CSMPREC (OR LEMPREC), ATOPCSM (OR ATOPLEM), INTSTALL, INTWAKE, PHASCHNG
021633,000054: # INTPRET, INTEGRVS, AND MINIRECT.
021634,000055: # 8) FLAG USE -- MOONFLAG, CMOONFLG, INTYPFLG, RASFLAG, AND MARKCT.
021635,000056:
021636,000057: 30,2000 BANK 30
021637,000058: 13,2000 SETLOC P76LOC
021638,000059: 13,2000 BANK
021639,000060:
021640,000061: 13,2036 COUNT* $$/P76
021641,000062:
021642,000063: 13,2036 E7,1412 EBANK= TIG
021643,000064:
021644,000065: 13,2036 05435 P76 TC UPFLAG
021645,000066: 13,2037 00031 ADRES TRACKFLG
021646,000067:
021647,000068: 13,2040 32163 CAF V06N84 # FLASH LAST DELTA V
021648,000069: 13,2041 04555 TC BANKCALL # AND WAIT FOR KEYBOARD ACTION.
021649,000070: 13,2042 20624 CADR GOFLASH
021650,000071: 13,2043 12155 TCF ENDP76
021651,000072: 13,2044 02046 TC +2 # PROCEED
021652,000073: 13,2045 02040 TC -5 # STORE DATA AND REPEAT FLASHING
021653,000074: 13,2046 32164 CAF V06N84 +1 # FLASH VERB 06 NOUN 33, DISPLAY LAST TIG,
021654,000075: 13,2047 04555 TC BANKCALL # AND WAIT FOR KEYBOARD ACTION.
021655,000076: 13,2050 20624 CADR GOFLASH
021656,000077: 13,2051 12155 TCF ENDP76
021657,000078: 13,2052 02054 TC +2
021658,000079: 13,2053 02046 TC -5
021659,000080: 13,2054 06006 TC INTPRET # RETURN TO INTERPRETIVE CODE
021660,000081: 13,2055 77745 DLOAD # SET D(MPAC)=TIG IN CSEC B28
021661,000082: 13,2056 03413 TIG
021662,000083: 13,2057 34041 STCALL TDEC1 # SET TDEC1=TIG FOR ORBITAL INTEGRATION
021663,000084: 13,2060 27036 OTHPREC
021664,000085: 13,2061 53575 COMPMAT VLOAD UNIT
021665,000086: 13,2062 00001 RATT
021666,000087: # Page 505
021667,000088: 13,2063 77676 VCOMP # U(-R)
021668,000089: 13,2064 00031 STORE 24D # U(-R) TO 24D
021669,000090: 13,2065 53435 VXV UNIT # U(-R) X V = U(V X R)
021670,000091: 13,2066 00007 VATT
021671,000092: 13,2067 00023 STORE 18D
021672,000093: 13,2070 53435 VXV UNIT # U(V X R) X U(-R) = U((R X V) X R)
021673,000094: 13,2071 00031 24D
021674,000095: 13,2072 24015 STOVL 12D
021675,000096: 13,2073 03540 DELVOV
021676,000097: 13,2074 76505 VXM VSL1 # V(MPAC)=DELTA V IN REFCOSYS
021677,000098: 13,2075 00015 12D
021678,000099: 13,2076 77655 VAD
021679,000100: 13,2077 00007 VATT
021680,000101: 13,2100 00007 STORE 6 # V(PD6)=VATT + DELTA V
021681,000102: 13,2101 77624 CALL # PRESENT WOULD-BE USER OF ORBITAL
021682,000103: 13,2102 27371 INTSTALL # INTEG FROM INTERFERING WITH UPDATING
021683,000104: 13,2103 77624 CALL
021684,000105: 13,2104 26165 P76SUB1
021685,000106: 13,2105 53775 VLOAD VSR*
021686,000107: 13,2106 00007 6
021687,000108: 13,2107 57176 0,2
021688,000109: 13,2110 25543 STOVL VCV
021689,000110: 13,2111 00001 RATT
021690,000111: 13,2112 77657 VSR*
021691,000112: 13,2113 57176 0,2
021692,000113: 13,2114 15535 STODL RCV
021693,000114: 13,2115 03413 TIG
021694,000115: 13,2116 01517 STORE TET
021695,000116: 13,2117 71214 CLEAR DLOAD
021696,000117: 13,2120 01673 INTYPFLG
021697,000118: 13,2121 01571 TETTHIS
021698,000119: 13,2122 34041 INTOTHIS STCALL TDEC1
021699,000120: 13,2123 27066 INTEGRVS
021700,000121: 13,2124 77624 CALL
021701,000122: 13,2125 27371 INTSTALL
021702,000123: 13,2126 77775 VLOAD
021703,000124: 13,2127 00017 RATT1
021704,000125: 13,2130 01503 STORE RRECT
021705,000126: 13,2131 15535 STODL RCV
021706,000127: 13,2132 00015 TAT
021707,000128: 13,2133 25517 STOVL TET
021708,000129: 13,2134 00025 VATT1
021709,000130: 13,2135 77624 CALL
021710,000131: 13,2136 23360 MINIRECT
021711,000132: 13,2137 77776 EXIT
021712,000133: 13,2140 05301 TC PHASCHNG
021713,000134: 13,2141 04024 OCT 04024
021714,000135:
021715,000136: 13,2142 05435 TC UPFLAG
021716,000137: 13,2143 00236 ADRES REINTFLG
021717,000138: # Page 506
021718,000139:
021719,000140: 13,2144 06006 TC INTPRET
021720,000141: 13,2145 77624 CALL
021721,000142: 13,2146 26711 ATOPOTH
021722,000143: 13,2147 77531 SSP EXIT
021723,000144: 13,2150 00053 QPRET
021724,000145: 13,2151 26154 OUT
021725,000146: 13,2152 04555 TC BANKCALL # PERMIT USE OF ORBITAL INTEGRATION
021726,000147: 13,2153 27426 CADR INTWAKE1
021727,000148: 13,2154 77776 OUT EXIT
021728,000149: 13,2155 34714 ENDP76 CAF ZERO
021729,000150: 13,2156 55126 TS MARKCTR # CLEAR RR TRACKING MARK COUNTER
021730,000151: 13,2157 55125 TS VHFCNT
021731,000152:
021732,000153: 13,2160 37716 CAF NEGONE
021733,000154: 13,2161 55734 TS MRKBUF2 # INVALIDATE MARK BUFFER
021734,000155:
021735,000156: 13,2162 14106 TCF GOTOP00H
021736,000157:
021737,000158: 13,2163 01524 V06N84 NV 0684
021738,000159: 13,2164 01441 NV 0633
021739,000160: 13,2165 43174 P76SUB1 AXT,2 SET
021740,000161: 13,2166 00002 2
021741,000162: 13,2167 00063 MOONFLAG # SET MEANS MOON IS SPHERE OF INFLUENCE.
021742,000163: 13,2170 77014 BON AXT,2
021743,000164: 13,2171 04303 CMOONFLG # SET MEANS PERM CM STATE IN LUNAR SPHERE.
021744,000165: 13,2172 00052 QPRET
021745,000166: 13,2173 00000 0
021746,000167: 13,2174 43414 CLEAR RVQ
021747,000168: 13,2175 00263 MOONFLAG
021748,000169:
021749,000170:
021750,000171:
021751,000172:
021752,000173:
End of include-file P76.agc. Parent file is MAIN.agc