Source Code
![]() |
This is the source-code for the Apollo 9 Command Module's Guidance Computer.
These files were derived originally from the scan from MIT's Dibner Institute's
now-discontinued website titled "History of Recent Science and Technology", which
in turn was originally created by Gary Neff, though his high-quality scans were
unfortunately reduced in legibility when presented online.
The markings on the front of the
printout imply that it was the original AGC developer Norm Brodeur's copy.
A scan by Ron Burkey has superceded it, made from a more-legible copy from the collection of original
AGC developer Fred Martin. The source code was transcribed from
those images by Ron Burkey. Note that the page images
presented online are of reduced quality, and that higher-quality images
are available. Report any conversion errors or legibility
problems in page images to info@sandroid.org.
Notations on the program listing read, in part:ASSEMBLE REVISION 249 OF AGC PROGRAM COLOSSUS BY NASA 2021111-041 20'35 OCT. 28,1968Note that the date is the date of the printout, not the date of the program revision. |
027947,000002: ## Copyright: Public domain.
027948,000003: ## Filename: P30-P37.agc
027949,000004: ## Purpose: Part of the source code for Colossus, build 249.
027950,000005: ## It is part of the source code for the Command Module's (CM)
027951,000006: ## Apollo Guidance Computer (AGC), for Apollo 9.
027952,000007: ## Assembler: yaYUL
027953,000008: ## Reference: pp. 626-639.
027954,000009: ## Contact: Ron Burkey <info@sandroid.org>.
027955,000010: ## Website: www.ibiblio.org/apollo.
027956,000011: ## Mod history: 08/15/04 RSB. Began transcribing. (A little comes from the
027957,000012: ## corresponding Luminary131 file.)
027958,000013: ## 2010-10-24 JL Fixed page numbers.
027959,000014: ## 2017-01-06 RSB Page numbers now agree with those on the
027960,000015: ## original harcopy, as opposed to the PDF page
027961,000016: ## numbers in 1701.pdf.
027962,000017: ## 2017-01-17 RSB Cross-diff'd comment text (not whitespace)
027963,000018: ## vs the already-proofed corresponding Colossus
027964,000019: ## 237 and Comanche 55 source-code files
027965,000020: ## and corrected errors found.
027966,000021: ##
027967,000022: ## The contents of the "Colossus249" files, in general, are transcribed
027968,000023: ## from a scanned copy of the program listing. Notations on this
027969,000024: ## document read, in part:
027970,000025: ##
027971,000026: ## Assemble revision 249 of AGC program Colossus by NASA
027972,000027: ## 2021111-041. October 28, 1968.
027973,000028: ##
027974,000029: ## This AGC program shall also be referred to as
027975,000030: ## Colossus 1A
027976,000031: ##
027977,000032: ## Prepared by
027978,000033: ## Massachusetts Institute of Technology
027979,000034: ## 75 Cambridge Parkway
027980,000035: ## Cambridge, Massachusetts
027981,000036: ## under NASA contract NAS 9-4065.
027982,000037: ##
027983,000038: ## Refer directly to the online document mentioned above for further information.
027984,000039: ## Please report any errors (relative to the scanned pages) to info@sandroid.org.
027985,000040: ##
027986,000041: ## In some cases, where the source code for Luminary 131 overlaps that of
027987,000042: ## Colossus 249, this code is instead copied from the corresponding Luminary 131
027988,000043: ## source file, and then is proofed to incorporate any changes.
027989,000044:
![]() |
Page 626 |
027991,000046: 32,2017 BANK 32
027992,000047:
027993,000048: 35,2000 SETLOC P30S1
027994,000049: 35,2000 BANK
027995,000050:
027996,000051: 35,3544 E7,1625 EBANK= +MGA
027997,000052:
027998,000053: 35,3544 COUNT 35/P34
027999,000054:
028000,000055: 35,3544 77420 DISPMGA STQ EXIT # USED IN P30
028001,000056: 35,3545 02370 RGEXIT
028002,000057: 35,3546 03564 TC COMPTGO
028003,000058:
028004,000059: 35,3547 33132 DISP45 CAF V16N45
028005,000060: 35,3550 04555 TC BANKCALL
028006,000061: 35,3551 20763 CADR GOFLASHR
028007,000062: 35,3552 04106 TC GOTOPOOH
028008,000063: 35,3553 03560 TC END45
028009,000064: 35,3554 03547 TC DISP45
028010,000065: 35,3555 05301 P30PHSI TC PHASCHNG
028011,000066: 35,3556 00014 OCT 14
028012,000067: 35,3557 05112 TCR ENDOFJOB
028013,000068: 35,3560 06006 END45 TC INTPRET
028014,000069: 35,3561 52014 CLEAR GOTO
028015,000070: 35,3562 03664 TIMRFLAG
028016,000071: 35,3563 02370 RGEXIT
028017,000072:
028018,000073: 35,3564 00006 COMPTGO EXTEND # USED TO COMPUTE TTOGO
028019,000074: 35,3565 23066 QXCH PHSPRDT6 # ** GROUP 6 TEMPORARY USED ,, BEWARE **
028020,000075: 35,3566 05435 TC UPFLAG # SET TIMRFLAG
028021,000076: 35,3567 00155 ADRES TIMRFLAG # BIT 11 FLAG 7
028022,000077: 35,3570 34714 CAF ZERO
028023,000078: 35,3571 55145 TS NVWORD1
028024,000079: 35,3572 00004 INHINT
028025,000080: 35,3573 34712 CAF ONE
028026,000081: 35,3574 05140 TC WAITLIST
028027,000082: 35,3575 E7,1412 EBANK= TIG
028028,000083: 35,3575 03172 50067 2CADR CLOKTASK
028029,000084:
028030,000085: 35,3577 05261 TC 2PHSCHNG
028031,000086: 35,3600 40036 OCT 40036 # 6.3SPOT FOR CLOKTASK
028032,000087: 35,3601 05024 OCT 05024 # GROUP 4 CONTINUES HERE
028033,000088: 35,3602 13000 OCT 13000
028034,000089: 35,3603 01066 TC PHSPRDT6
![]() |
Page 627 |
028036,000091: # PROGRAM DESCRIPTION P30 DATE 3-6-67
028037,000092: # MOD. I BY S. ZELDIN- TO ADD P31 AND AD APT P30 FOR P31 USE. 22DEC67
028038,000093:
028039,000094: # FUNCTIONAL DESCRIPTION
028040,000095: # +30 (EXTERNAL DELTA-V TARGETTING PROGRAM)
028041,000096: # ACCEPTS ASTRONAUT INPUTS OF TIG,DELV(LV) AND COMPUTES, FOR DISPLAY,
028042,000097: # APOGEE, PERIGEE, DELV(MAG), MGA ASSOCIATED WITH DESIRED MANEUVER
028043,000098: # P31 (GENERAL LAMBERT AIMPOINT GUIDANCE)
028044,000099: # A GROUND RULE FOR P31 IS THE ANGLE BETWEEN THE TARGET VECTOR AND
028045,000100: # POSITION VECTOR AT TIG IS NOT 165-195 DEGREES APART
028046,000101: # BASED ON STORED INPUT OF OFFSET TARGET(B+29) AND DELTA T TRANS, AND
028047,000102: # ASTRONAUT ENTRY OF TIG,P31 COMPUTES REQUIRED VELOCITY FOR MANEUVER
028048,000103: # AND, FOR DISPLAY, APOGEE, PERIGEE, DELV(7AG), +MGA ASSOCIATED WITH
028049,000104: # DESIRED MANEUVER
028050,000105:
028051,000106: # THE FOLLOWING SUBROUTINES ARE USED IN P30 AND P31
028052,000107: # S30.1 (P30 ONLY)
028053,000108: # S31.1 (P31 ONLY)
028054,000109: # P30/P31 - DISPLAYS TIG
028055,000110: # CNTUP30 - DISPLAYS DELV(LV)
028056,000111: # PARAM30 - DISPLAYS APOGEE, PERIGEE, DELV(MAG), MGA, TIME FROM TIG,
028057,000112: # MARKS SINCE LAST THRUSTING MANEUVER
028058,000113:
028059,000114: # CALLING SEQUENCE VIA JOB FROM V37
028060,000115:
028061,000116: # EXIT VIA V37 CALL OR GOTOPOOH
028062,000117:
028063,000118: # OUTPUT FOR POWERED FLIGHT
028064,000119: # VTIG X
028065,000120: # RTIG X SEE S30.1
028066,000121: # DELVSIN X
028067,000122: # VGDISP
028068,000123: # RTARG X
028069,000124: # TPASS4 X SEE S31.1
028070,000125: # X
028071,000126:
028072,000127: 35,3604 COUNT 35/P30
028073,000128:
028074,000129: 35,3604 03636 P30 TC P30/P31
028075,000130: 35,3605 03655 TC CNTNUP30
028076,000131: 35,3606 05447 TC DOWNFLAG # RESET UPDATFLG
028077,000132: 35,3607 00027 ADRES UPDATFLG # BIT 7 FLAG 1
028078,000133: 35,3610 06006 TC INTPRET
028079,000134: 35,3611 77624 CALL
028080,000135: 35,3612 63102 S30.1
028081,000136: 35,3613 77776 EXIT
028082,000137: 35,3614 03665 TC PARAM30
028083,000138: 35,3615 05435 TC UPFLAG
![]() |
Page 628 |
028085,000140: 35,3616 00045 ADRES XDELVFLG # SET XDELVFLG BIT 8 FLAG 2
028086,000141: 35,3617 14106 TCF GOTOPOOH
028087,000142:
028088,000143: 35,3620 03636 P31 TC P30/P31
028089,000144: 35,3621 05447 TC DOWNFLAG
028090,000145: 35,3622 00027 ADRES UPDATFLG # RESET UPDATFLG BIT 7 FLAG 1
028091,000146: 35,3623 05447 TC DOWNFLAG
028092,000147: 35,3624 00156 ADRES NORMSW # RESET NORMSW BIT 10 FLAG 7
028093,000148: 35,3625 06006 TC INTPRET
028094,000149: 35,3626 77624 CALL
028095,000150: 35,3627 63154 S31.1
028096,000151: 35,3630 77776 EXIT
028097,000152: 35,3631 03655 TC CNTNUP30
028098,000153: 35,3632 03665 TC PARAM30
028099,000154: 35,3633 05447 TC DOWNFLAG
028100,000155: 35,3634 00045 ADRES XDELVFLG # BIT 8 FLAG 2
028101,000156: 35,3635 14106 TCF GOTOPOOH
028102,000157:
028103,000158: 35,3636 56002 P30/P31 XCH Q
028104,000159: 35,3637 55664 TS P30/31RT
028105,000160: 35,3640 05435 TC UPFLAG
028106,000161: 35,3641 00027 ADRES UPDATFLG # SET UPDATFLG BIT 7 FLAG 1
028107,000162: 35,3642 05435 TC UPFLAG
028108,000163: 35,3643 00031 ADRES TRACKFLG # SET TRACKFLG BIT 5 FLAG 1
028109,000164: 35,3644 33722 CAF V06N33 # T OF IGN
028110,000165: 35,3645 04555 TC BANKCALL
028111,000166: 35,3646 20763 CADR GOFLASHR
028112,000167: 35,3647 14106 TCF GOTOPOOH
028113,000168: 35,3650 01664 TC P30/31RT
028114,000169: 35,3651 13642 TCF P30/P31 +4
028115,000170: 35,3652 05301 TC PHASCHNG
028116,000171: 35,3653 00014 OCT 00014
028117,000172: 35,3654 05112 TC ENDOFJOB
028118,000173: 35,3655 56002 CNTNUP30 XCH Q
028119,000174: 35,3656 55127 TS P30/RET
028120,000175: 35,3657 33131 CAF V06N81
028121,000176: 35,3660 04555 TC BANKCALL
028122,000177: 35,3661 20624 CADR GOFLASH
028123,000178: 35,3662 14106 TCF GOTOPOOH
028124,000179: 35,3663 01127 TC P30/RET
028125,000180: 35,3664 13657 TCF CNTNUP30 +2
028126,000181: 35,3665 56002 PARAM30 XCH Q
028127,000182: 35,3666 55664 TS P30/31RT
028128,000183: 35,3667 33723 CAF V06N42
028129,000184: 35,3670 04555 TC BANKCALL
028130,000185: 35,3671 20624 CADR GOFLASH
028131,000186: 35,3672 04106 TC GOTOPOOH # ON TERMINATION GOTOPOOH
028132,000187: 35,3673 13675 TCF REFTEST # ON PROCEED GO DO REFTEST
![]() |
Page 629 |
028134,000189: 35,3674 13667 TCF PARAM30 +2
028135,000190: 35,3675 34676 REFTEST CAF BIT13
028136,000191: 35,3676 70077 MASK STATE +3 # REFSMFLAG
028137,000192: 35,3677 00006 EXTEND
028138,000193: 35,3700 13710 BZF NOTSET # REFSMFLAG =0, THEN BRANCH TO NOTSET
028139,000194: 35,3701 06006 TC INTPRET
028140,000195: 35,3702 41575 VLOAD PUSH
028141,000196: 35,3703 03646 DELVSIN
028142,000197: 35,3704 77624 CALL
028143,000198: 35,3705 10660 GET+MGA
028144,000199: 35,3706 77650 GOTO
028145,000200: 35,3707 73714 FLASHMGA
028146,000201: 35,3710 00006 NOTSET EXTEND
028147,000202: 35,3711 43721 DCS MARSDP
028148,000203: 35,3712 53626 DXCH +MGA # +MGA, +MGA+1 CONTAINS (-00001)
028149,000204: 35,3713 06006 TC INTPRET
028150,000205: 35,3714 77624 FLASHMGA CALL
028151,000206: 35,3715 73544 DISPMGA
028152,000207: 35,3716 77776 EXIT
028153,000208: 35,3717 01664 TC P30/31RT
028154,000209: 35,3720 00000 MARSDP OCT 00000 # (00000) (16440) = (+00001)
028155,000210: 35,3721 35100 OCT 35100
028156,000211: # ( .01 ) DEGREES IN THE LOW ORDER REGISTE
028157,000212:
028158,000213: 35,3722 01441 V06N33 VN 0633
028159,000214: 35,3723 01452 V06N42 VN 0642
028160,000215: 35,3724 04043 V16N35 VN 1635
028161,000216: 35,3725 01455 V06N45 VN 0645
028162,000217:
![]() |
Page 630 |
028164,000219: # PROGRAM DESCRIPTION S30.1 DATE 9NOV66
028165,000220: # MOD NO 1 LOG SECTION P30,P37
028166,000221: # MOD BY RAMA AIYAWAR **
028167,000222: # MOD.2 BY S.ZELDIN - TO CORRECT MOD.1 FOR COLOSSUS 29DEC67
028168,000223:
028169,000224: # FUNCTIONAL DESCRIPTION
028170,000225: # BASED ON STORED TARGET PARAMETERS (R OF IGNITION (RTIG), V OF
028171,000226: # IGNITION (VTIG), TIME OF IGNITION (TIG), DELV(LV), COMPUTE PERIGEE ALTITUDE
028172,000227: # A+OGEE ALTITUDE AND DELTA-V REQUIRED IN REF. COORDS. (DELVSIN)
028173,000228:
028174,000229: # CALLING SEQUENCE
028175,000230: # L CALL
028176,000231: # L+1 S30.1
028177,000232:
028178,000233: # NORMAL EXIT MODE
028179,000234: # AT L+2 OR CALLING SEQUENCE (GOTO L+2)
028180,000235:
028181,000236: # SUBROUTINES CALLED
028182,000237: # THISPREC
028183,000238: # PERIAPO
028184,000239:
028185,000240: # ALARM OR ABORT EXIT MODES
028186,000241: # NONE
028187,000242:
028188,000243: # ERASABLE INITIALIZATION REQUIRED
028189,000244: # TIG TIME OF IGNITION DP B28CS
028190,000245: # DELVSLV SPECIFIED DELTA-V INLOCAL VERT.
028191,000246: # COORDS. OF ACTIVE VEHICLE AT
028192,000247: # TIME OF IGNITION VCT. B+7 M/CS
028193,000248:
028194,000249: # OUTPUT
028195,000250: # RTIG POSITION AT TIG VCT. B+29 M
028196,000251: # VTIG VELOCITY AT TIG VCT. B+7 M
028197,000252: # HAPO APOGEE ALT. DP B+29 M
028198,000253: # HPER PERIGEE ALT. DP B+29 M
028199,000254: # DELVSIN DELVSLV IN REF COORDS VCT. B+7 M/CS
028200,000255: # VGDISP MAG. OF DELVSIN DP B+7 M/CS
028201,000256:
028202,000257: # DEBRIS QTEMP TEMP.ERASABLE
028203,000258: # QPRET, MPAC
028204,000259: # PUSHLIST
028205,000260:
028206,000261: 31,2000 SETLOC P30S1A
028207,000262: 31,2000 BANK
028208,000263:
028209,000264: 31,3102 COUNT 35/S30S
028210,000265:
028211,000266: 31,3102 71220 S30.1 STQ DLOAD
028212,000267: 31,3103 03657 QTEMP
028213,000268: 31,3104 03413 TIG # TIME IGNITION SCALED AT 2(+28)CS
028214,000269: 31,3105 34041 STCALL TDEC1
028215,000270: 31,3106 27022 THISPREC # ENCKE ROUTINE FOR
028216,000271:
028217,000272: 31,3107 67175 VLOAD SXA,2
028218,000273: 31,3110 00007 VATT
028219,000274: 31,3111 03746 RTX2
028220,000275: 31,3112 27640 STOVL VTIG
![]() |
Page 631 |
028222,000277: 31,3113 00001 RATT
028223,000278: 31,3114 03632 STORE RTIG
028224,000279: 31,3115 03540 STORE RACT3
028225,000280: 31,3116 53435 VXV UNIT
028226,000281: 31,3117 03640 VTIG
028227,000282: 31,3120 36617 STCALL UNRM
028228,000283: 31,3121 72667 LOMAT
028229,000284: 31,3122 61375 VLOAD VXM
028230,000285: 31,3123 03405 DELVSLV
028231,000286: 31,3124 00001 0
028232,000287: 31,3125 66172 VSL1 SXA,1
028233,000288: 31,3126 03745 RTX1
028234,000289: 31,3127 03646 STORE DELVSIN
028235,000290: 31,3130 77646 ABVAL
028236,000291: 31,3131 27654 STOVL VGDISP # MAG DELV
028237,000292: 31,3132 03632 RTIG
028238,000293: 31,3133 53315 PDVL VAD
028239,000294: 31,3134 03646 DELVSIN
028240,000295: 31,3135 03640 VTIG
028241,000296: 31,3136 77624 CALL
028242,000297: 31,3137 45312 PERIAPO1
028243,000298: 31,3140 77624 CALL
028244,000299: 31,3141 45422 SHIFTR1
028245,000300: 31,3142 77624 CALL
028246,000301: 31,3143 46754 MAXCHK
028247,000302: 31,3144 16366 STODL HPER # PERIGEE ALT B+29
028248,000303: 31,3145 00005 4D
028249,000304: 31,3146 77624 CALL
028250,000305: 31,3147 45422 SHIFTR1
028251,000306: 31,3150 77624 CALL
028252,000307: 31,3151 46754 MAXCHK
028253,000308: 31,3152 36364 STCALL HAPO # APOGEE ALT B+29
028254,000309: 31,3153 03657 QTEMP
028255,000310:
![]() |
Page 632 |
028257,000312: # S31.1 PROGRAM DESCRIPTION 28DEC67
028258,000313: # MOD.1 BY S.ZELDIN
028259,000314:
028260,000315: # S31.1 COMPUTES DELV IN REF AND LV COORDS,MAG OF DELV,INTERCEPT TIME,
028261,000316: # APOGEE AND PERIGEE ALT FOR REQUIRED MANEUVER
028262,000317:
028263,000318: # CALLING SEQUENCE
028264,000319: # L CALL
028265,000320: # L+1 S31.1
028266,000321:
028267,000322: # NORMAL EXIT MODE
028268,000323: # AT L +2 OF CALLING SEQUENCE (GOTO L+2)
028269,000324:
028270,000325: # SUBROUTINES CALLED
028271,000326: # AGAIN
028272,000327: # PERIAPO1
028273,000328: # SHIFTR1
028274,000329: # MIDGIM
028275,000330:
028276,000331: # NO ALARM OR ABORT MODES
028277,000332:
028278,000333: # INPUT
028279,000334: # DELLT4 DP +28
028280,000335: # TIG DP +28
028281,000336: # RTARG VCT +29
028282,000337:
028283,000338: # OUTPUT
028284,000339: # DELVLVC VCT +7
028285,000340: # VGDISP DP +7
028286,000341: # HAPO DP +29
028287,000342: # HPER DP +29
028288,000343: # TPASS4 DP +28
028289,000344:
028290,000345: # DEBRIS - QTEMP
028291,000346:
028292,000347: 31,3154 71220 S31.1 STQ DLOAD
028293,000348: 31,3155 03657 QTEMP
028294,000349: 31,3156 03413 TIG
028295,000350: 31,3157 34041 STCALL TDEC1
028296,000351: 31,3160 61663 AGAIN # RETURNS RTX2,RTX1,RATT,VATT,VIPRIME
028297,000352: 31,3161 63375 VLOAD PDVL # DELUEET3
028298,000353: 31,3162 03632 RTIG
028299,000354: 31,3163 03612 VIPRIME
028300,000355: 31,3164 77624 CALL
028301,000356: 31,3165 45312 PERIAPO1
028302,000357: 31,3166 77624 CALL
028303,000358: 31,3167 45422 SHIFTR1
028304,000359: 31,3170 77624 CALL
028305,000360: 31,3171 46754 MAXCHK
028306,000361: 31,3172 16366 STODL HPER # B29
028307,000362: 31,3173 00005 4D
028308,000363: 31,3174 77624 CALL
028309,000364: 31,3175 45422 SHIFTR1
028310,000365: 31,3176 77624 CALL
028311,000366: 31,3177 46754 MAXCHK
028312,000367: 31,3200 26364 STOVL HAPO # B29
![]() |
Page 633 |
028314,000369: 31,3201 03646 DELVEET3
028315,000370: 31,3202 00001 STORE 0
028316,000371: 31,3203 45014 SET CALL
028317,000372: 31,3204 01072 AVFLAG
028318,000373: 31,3205 10653 MIDGIM # GET DELVLVC B7 FOR DISPLAY
028319,000374: 31,3206 77646 ABVAL
028320,000375: 31,3207 17654 STODL VGDISP # B+7 FOR DISPLAY
028321,000376: 31,3210 03423 DELLT4
028322,000377: 31,3211 77615 DAD
028323,000378: 31,3212 03413 TIG
028324,000379: 31,3213 37656 STCALL TPASS4 # FOR S40.1
028325,000380: 31,3214 03657 QTEMP
028326,000381:
![]() |
Page 634 |
028328,000383: # SUBROUTINE NAME: DELRSPL (CONTINUATION OF V 82 IN CSM IF P11 ACTI
028329,000384: # TRANSFERRED COMPLETELY FROM SUNDISK, P30S REV 33. 9 SEPT 67.
028330,000385: # MOD NO: 0 MOD BY: ZELDIN DATE:
028331,000386: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67
028332,000387: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 12 MAY 67 ADD UR.RT CALC WHEN BELOW 300K FT
028333,000388: # MOD NO: 2.1 MOD BY: RR BAIRNSFATHER DATE: 5 JULY 67 FIX ERROR IN MOD. 2.
028334,000389: # MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 12 JUL 67 CHANGE SIGN OF DISPLAYED ERROR.
028335,000390: # MOD 4 MOD BY S.ZELDIN DATE 3 APRIL 68 CHANGE EQUATIONS FOR L/D=.18 WHICH REPLA
028336,000391:
028337,000392: # FUNCTION: CALCULATE (FOR DISPLAY ON CALL) AN APPROXIMATE MEASURE OF IN-PLANE SPLASH DOWN
028338,000393: # ERROR. IF THE FREE-FALL TRANSFER ANGLE TO 300K FT ABOVE PAD RADIUS IS POSITIVE:
028339,000394: # SPLASH ERROR= -RANGE TO TARGET + FREE-FALL TRANSFER ANGLE + ESTIMATED ENTRY ANGLE.
028340,000395: # THE TARGET LOCATION AT ESTIMATED TIME OF IMPACT IS USED. IF THE FREE-FALL TRANSFER
028341,000396: # ANGLE IS NEGATIVE: SPLASH ERROR= -RANGE TO TARGET
028342,000397: # THE PRESENT TARGET LOCATION IS USED.
028343,000398:
028344,000399: # CALLING SEQUENCE CALLED AFTER SR30.1 IF IN CSM AND IF P11 OPERATING (UNDER CONTROL OF V82)
028345,000400:
028346,000401: # SUBROUTINES CALLED: VGAMCALC, TFF/TRIG, LALOTORV.
028347,000402:
028348,000403: # EXIT RETURN DIRECTLY TO V 82 PROG. AT SPLRET
028349,000404:
028350,000405: # ERASABLE INITIALIZATION LEFT BY SR30.1 AND V82GON1
028351,000406:
028352,000407: # OUTPUT: RSP-RREC RANGE IN REVOLUTIONS DSKY DISPLAY IN N. MI.
028353,000408:
028354,000409: # DEBRIS: QPRET, PDL0 ... PDL7, PDL10
028355,000410:
028356,000411: # THETA(1)
028357,000412:
028358,000413: 32,2017 BANK 32
028359,000414: 32,2000 SETLOC DELRSPL1
028360,000415: 32,2000 BANK
028361,000416: 32,2017 COUNT* $$/P30 # PROGRAMS: P30 EXTERNAL DELTA V
028362,000417:
028363,000418: 32,2017 00011 DELRSPL STORE 8D
028364,000419: 32,2020 45244 BPL DSU
028365,000420: 32,2021 64067 CANTDO # GONE PAST 300K FT ALT
028366,000421: 32,2022 16326 1BITDP
028367,000422: 32,2023 45000 BOV CALL
028368,000423: 32,2024 64067 CANTDO # POSMAX INDICATES NO 300K FT SOLUTION.
028369,000424: 32,2025 55050 VGAMCALC # +GAMMA(REV) IN PMAC,V300 MAG(B-7)=PDL 0
028370,000425: 32,2026 45006 PUSH CALL
028371,000426: 32,2027 56573 TFF/TRIG
028372,000427: 32,2030 77624 CALL
028373,000428: 32,2031 64075 AUGEKUGL
028374,000429: 32,2032 65525 PDDL ACOS # T ENTRY PDL 6
028375,000430: 32,2033 00017 CDELF/2
028376,000431: 32,2034 77615 DAD
028377,000432: 32,2035 00005 4
028378,000433: 32,2036 26350 GETARG STOVL THETA(1)
028379,000434: 32,2037 03401 LAT(SPL)
028380,000435: 32,2040 15104 STODL LAT
028381,000436: 32,2041 15332 HI6ZEROS
028382,000437: 32,2042 15110 STODL ALT # ALT=0 = LAT +4
028383,000438: 32,2043 01205 PIPTIME
![]() |
Page 635 |
028385,000440: 32,2044 71214 BON DLOAD
028386,000441: 32,2045 03711 V37FLAG
028387,000442: 32,2046 64050 +2
028388,000443: 32,2047 02325 TSTART82
028389,000444: 32,2050 43225 DSU DAD
028390,000445: 32,2051 00011 8D
028391,000446: 32,2052 45014 CLEAR CALL
028392,000447: 32,2053 00662 ERADFLAG
028393,000448: 32,2054 26373 LALOTORV # R RECOV. IN ALPHAV AND MPAC
028394,000449:
028395,000450: 32,2055 63256 UNIT PDVL
028396,000451: 32,2056 02327 RONE
028397,000452: 32,2057 50256 UNIT DOT
028398,000453: 32,2060 65552 SL1 ARCCOS
028399,000454: 32,2061 77621 BDSU # ERROR = THETA EST - THETA TARG
028400,000455: # NEGATIVE NUMBER SIGNIFIES THAT WILL FALL SHORT.
028401,000456: # POSITIVE NUMBER SIGNIFIES THAT WILL OVERSHOOT.
028402,000457: 32,2062 02350 THETA(1)
028403,000458: 32,2063 36356 DELRDONE STCALL RSP-RREC # DOWNRANGE RECOVERY RANGE ERROR /360
028404,000459: 32,2064 27404 INTWAKE0
028405,000460: 32,2065 77624 CALL
028406,000461: 32,2066 46653 SPLRET
028407,000462: 32,2067 65345 CANTDO DLOAD PDDL # INITIALIZE ERASE TO DOT TARGET AND UR
028408,000463: # FOR RANGE ANGLE.
028409,000464: 32,2070 15330 HIDPHALF # TO PDL 0 FOR DEN INDDV.
028410,000465: 32,2071 15332 HI6ZEROS
028411,000466: 32,2072 77606 PUSH # ZERO TO PDL 2 FOR PHI ENTRY
028412,000467: 32,2073 34011 STCALL 8D
028413,000468: 32,2074 64036 GETARG # GO SET RSP-RREC =0
028414,000469:
028415,000470: 32,2075 77775 AUGEKUGL VLOAD
028416,000471: 32,2076 24251 X1CON -2
028417,000472: 32,2077 14045 STODL X1 -2
028418,000473: 32,2100 00001 0
028419,000474: 32,2101 50025 DSU BMN
028420,000475: 32,2102 24243 V(21K)
028421,000476: 32,2103 64130 LOOPSET
028422,000477: 32,2104 65060 XSU,1 XCHX,2
028423,000478: 32,2105 00050 S1
028424,000479: 32,2106 00046 X1
028425,000480: 32,2107 45324 XCHX,2 DSU
028426,000481: 32,2110 00050 S1
028427,000482: 32,2111 24231 V(3K)
028428,000483: 32,2112 65040 BMN XCHX,2
028429,000484: 32,2113 64130 LOOPSET
028430,000485: 32,2114 00050 S1
028431,000486: 32,2115 50025 DSU BMN
028432,000487: 32,2116 24241 V(4K)
028433,000488: 32,2117 64130 LOOPSET
028434,000489: 32,2120 65124 XCHX,2 XCHX,2
![]() |
Page 636 |
028436,000491: 32,2121 00050 S1
028437,000492: 32,2122 00046 X1
028438,000493: 32,2123 50025 DSU BMN
028439,000494: 32,2124 24225 V(400)
028440,000495: 32,2125 64130 LOOPSET
028441,000496: 32,2126 77730 SXA,1
028442,000497: 32,2127 00050 S1
028443,000498: 32,2130 52110 LOOPSET INCR,1 GOTO
028444,000499: 32,2131 00001 DEC 1 B-14
028445,000500: 32,2132 64135 K1K2LOOP
028446,000501: 32,2133 77730 K2CALC SXA,1
028447,000502: 32,2134 00050 S1
028448,000503: 32,2135 44745 K1K2LOOP DLOAD DSU*
028449,000504: 32,2136 00001 0
028450,000505: 32,2137 24240 V(32K) +1,1
028451,000506: 32,2140 42603 DMP* DAD*
028452,000507: 32,2141 24224 YK1K2 +1,1
028453,000508: 32,2142 24210 CK1K2 +1,1
028454,000509: 32,2143 60125 PDDL TIX,1
028455,000510: 32,2144 00003 2
028456,000511: 32,2145 64133 K2CALC
028457,000512: 32,2146 55225 DSU BDDV
028458,000513: 32,2147 50000 BOV BMN
028459,000514: 32,2150 64167 MAXPHI
028460,000515: 32,2151 64167 MAXPHI
028461,000516: 32,2152 45325 PHICALC PDDL DSU # PHI ENTRY PDL 4D
028462,000517: 32,2153 00001 0
028463,000518: 32,2154 24251 V(26K)
028464,000519: 32,2155 71244 BPL DLOAD
028465,000520: 32,2156 64164 TGR26
028466,000521: 32,2157 24245 TLESS26
028467,000522: 32,2160 77671 DDV
028468,000523: 32,2161 00001 0
028469,000524: 32,2162 43405 TENT DMP RVQ
028470,000525: 32,2163 00005 4D
028471,000526: 32,2164 52145 TGR26 DLOAD GOTO
028472,000527: 32,2165 24247 TGR26CON
028473,000528: 32,2166 64162 TENT
028474,000529: 32,2167 52145 MAXPHI DLOAD GOTO
028475,000530: 32,2170 24173 MAXPHIC
028476,000531: 32,2171 64152 PHICALC
028477,000532: 32,2172 02755 01307 MAXPHIC 2DEC .09259298 # 2000 NM FOR MAXIMUM PHI ENTRY
028478,000533:
028479,000534: 32,2174 COUNT* $$/P30
028480,000535:
028481,000536: # BELOW
028482,000537: # <<<< TABLE IS INDEXED. KEEP IN ORDER >>>
![]() |
Page 637 |
028484,000539: 32,2174 00013 22652 2DEC 7.07304526 E-4 # 5500
028485,000540: 32,2176 00005 01642 2DEC 3.08641975 E-4 # 2400
028486,000541: 32,2200 00005 01642 2DEC 3.08641975 E-4 # 2400
028487,000542: 32,2202 77556 53522 2DEC -8.8888888 E-3 # -3.2
028488,000543: 32,2204 00055 20266 2DEC 2.7777777 E-3 # 1
028489,000544: 32,2206 00155 07202 CK1K2 2DEC 6.6666666 E-3 # 2.4
028490,000545: 32,2210 00000 00000 2DEC 0 B-28 # 0
028491,000546: 32,2212 77730 71525 2DEC* -1.86909989 E-5 B7* # -.443
028492,000547: 32,2214 00000 00000 2DEC 0 B-28
028493,000548: 32,2216 04445 10102 2DEC* 1.11639691 E-3 B7* # .001225
028494,000549: 32,2220 03726 31201 2DEC* 9.56911636 E-4 B7* # .00105
028495,000550: 32,2222 01040 26313 YK1K2 2DEC* 2.59733157 E-4 B7* # .000285
028496,000551: 32,2224 00234 01660 V(400) 2DEC 1.2192 B-7
028497,000552: 32,2226 25254 01014 V(28K) 2DEC 85.344 B-7
028498,000553: 32,2230 02222 15646 V(3K) 2DEC 9.144 B-7
028499,000554: 32,2232 22223 16457 V(24K) 2DEC 73.152 B-7
028500,000555: 32,2234 25254 01014 2DEC 85.344 B-7
028501,000556: 32,2236 30304 23351 V(32K) 2DEC 97.536 B-7
028502,000557: 32,2240 03030 22335 V(4K) 2DEC 12.192 B-7
028503,000558: 32,2242 20000 00000 V(21K) 2DEC 64.000 B-7
028504,000559: 32,2244 00033 05763 TLESS26 2DEC* 5.70146688 E7 B-35* # 8660PHI/V
028505,000560: 32,2246 00053 36200 TGR26CON 2DEC 7.2 E5 B-28 # PHI/3
028506,000561: 32,2250 23637 27636 V(26K) 2DEC 79.248 B-7 # 26000
028507,000562: 32,2252 00012 X1CON DEC 10 B-14
028508,000563: 32,2253 00010 DEC 8 B-14
028509,000564: 32,2254 00006 DEC 6 B-14
028510,000565: # <<<< TABLE IS INDEXED. KEEP IN ORDER >>>
![]() |
Page 638 |
028512,000567: # ABOVE
![]() |
Page 639 |
028514,000569: # ..... AVFLAGA/P .....
028515,000570:
028516,000571: # SUBROUTINES USED
028517,000572:
028518,000573: # UPFLAG
028519,000574: # DOWNFLAG
028520,000575:
028521,000576: 35,2000 SETLOC P30S1
028522,000577: 35,2000 BANK
028523,000578: 35,3726 E4,1770 EBANK= SUBEXIT
028524,000579:
028525,000580:
028526,000581: 35,3726 00006 AVFLAGA EXTEND # AVFLAG = CSM
028527,000582: 35,3727 23770 QXCH SUBEXIT
028528,000583: 35,3730 05447 TC DOWNFLAG
028529,000584: 35,3731 00050 ADRES AVFLAG # BIT 5 FLAG 2
028530,000585: 35,3732 34753 CAF EBANK7
028531,000586: 35,3733 54003 TS EBANK
028532,000587: 35,3734 E7,1424 EBANK= ECSTEER
028533,000588: 35,3734 34676 CAF BIT13
028534,000589: 35,3735 55424 TS ECSTEER # SET ECSTEER = 1
028535,000590: 35,3736 34700 CAF EBANK4
028536,000591: 35,3737 54003 TS EBANK
028537,000592: 35,3740 E4,1770 EBANK= SUBEXIT
028538,000593: 35,3740 01770 TC SUBEXIT
028539,000594: 35,3741 00006 AVFLAGP EXTEND # AVFLAG = LEM
028540,000595: 35,3742 23770 QXCH SUBEXIT
028541,000596: 35,3743 05435 TC UPFLAG
028542,000597: 35,3744 00050 ADRES AVFLAG # BIT 5 FLAG 2
028543,000598: 35,3745 01770 TC SUBEXIT
028544,000599: 35,3746 00006 P20FLGON EXTEND
028545,000600: 35,3747 23770 QXCH SUBEXIT
028546,000601: 35,3750 05435 TC UPFLAG
028547,000602: 35,3751 00031 ADRES TRACKFLG
028548,000603: 35,3752 05435 TC UPFLAG
028549,000604: 35,3753 00027 ADRES UPDATFLG
028550,000605: 35,3754 01770 TC SUBEXIT
028551,000606:
028552,000607:
End of include-file P30,P37.agc. Parent file is MAIN.agc