Source Code

026046,000001: # Copyright: Public domain. 026047,000002: # Filename: P30_P37.agc 026048,000003: # Purpose: A section of Luminary 1C, revision 131. 026049,000004: # It is part of the source code for the Lunar Module's (LM) 026050,000005: # Apollo Guidance Computer (AGC) for Apollo 13 and Apollo 14. 026051,000006: # This file is intended to be a faithful transcription, except 026052,000007: # that the code format has been changed to conform to the 026053,000008: # requirements of the yaYUL assembler rather than the 026054,000009: # original YUL assembler. 026055,000010: # Reference: pp. 624-627 of 1729.pdf. 026056,000011: # Contact: Ron Burkey <info@sandroid.org>. 026057,000012: # Website: www.ibiblio.org/apollo 026058,000013: # Mod history: 05/19/03 RSB. Began transcribing. 026059,000014: 026060,000015: # Page 624 026061,000016: # PROGRAM DESCRIPTION P30 DATE 3-6-67 026062,000017: # MOD.1 BY RAMA AIYAWAR 026063,000018: 026064,000019: # FUNCTIONAL DESCRIPTIONS 026065,000020: # ACCEPT ASTRONAUT INPUTS OF TIG,DELV(LV) 026066,000021: # CALL IMU STATUS CHECK ROUTINE (R02) 026067,000022: # DISPLAY TIME TO GO, APOGEE, PERIGEE, DELV(MAG), MGA AT IGN 026068,000023: # REQUEST BURN PROGRAM 026069,000024: 026070,000025: # CALLING SEQUENCE VIA JOB FROM V37 026071,000026: 026072,000027: # EXIT VIA V37 CALL CR TO GOTOP00H (V34E) 026073,000028: 026074,000029: # SUBROUTINE CALLS -- FLAGUP, PHASCHNG, BANKCALL, ENDOFJOB, GOFLASH, GOFLASHR 026075,000030: # GOPERF3R, INTPRET, BLANKET, GOTOP00H, R02BOTH, S30.1, 026076,000031: # TIG/N35, MIDGIM, DISPMGA 026077,000032: 026078,000033: # ERASABLE INITIALIZATION -- STATE VECTOR 026079,000034: 026080,000035: # OUTPUT -- RINIT, VINIT, +MGA, VTIG, RTIG, DELVSIN, DELVSAB, DELVSLV, HAPO, 026081,000036: # HPER, TTOGO 026082,000037: 026083,000038: # DEBRIS -- A, L, MPAC, PUSHLIST 026084,000039: 026085,000040: 32,3000 BANK 32 026086,000041: 35,2000 SETLOC P30S 026087,000042: 35,2000 BANK 026088,000043: 35,2000 E4,1652 EBANK= +MGA 026089,000044: 35,2000 COUNT* $$/P30 026090,000045: 35,2000 05504 P30 TC UPFLAG # SET UPDATE FLAG 026091,000046: 35,2001 00027 ADRES UPDATFLG 026092,000047: 35,2002 05504 TC UPFLAG # SET TRACK FLAG 026093,000048: 35,2003 00031 ADRES TRACKFLG 026094,000049: 026095,000050: 35,2004 32032 P30N33 CAF V06N33 # T OF IGN 026096,000051: 35,2005 03621 TC VNP00H # RETURN ON PROCEED, P00H ON TERMINATE 026097,000052: 026098,000053: 35,2006 33636 CAF V06N81 # DISPLAY DELTA V (LV) 026099,000054: 35,2007 03621 TC VNP00H # REDISPLAY ON RECYCLE 026100,000055: 026101,000056: 35,2010 05516 TC DOWNFLAG # RESET UPDATE FLAG 026102,000057: 35,2011 00027 ADRES UPDATFLG 026103,000058: 35,2012 06042 TC INTPRET 026104,000059: 35,2013 77624 CALL 026105,000060: 35,2014 70000 S30.1 026106,000061: 35,2015 43014 SET SET 026107,000062: 35,2016 00470 UPDATFLG 026108,000063: 35,2017 01067 XDELVFLG 026109,000064: 35,2020 77776 EXIT 026110,000065: 35,2021 32033 PARAM30 CAF V06N42 # DISPLAY APOGEE,PERIGEE,DELTA V 026111,000066: # Page 625 026112,000067: 35,2022 03621 TC VNP00H 026113,000068: 026114,000069: 35,2023 06042 TC INTPRET 026115,000070: 35,2024 77614 SET 026116,000071: 35,2025 01071 FINALFLG 026117,000072: 35,2026 77624 REVN1645 CALL 026118,000073: 35,2027 73515 VN1645 026119,000074: 35,2030 77650 GOTO # COMES HERE ON RECYCLE RESPONSE 026120,000075: 35,2031 72026 REVN1645 026121,000076: 026122,000077: 35,2032 01441 V06N33 VN 0633 026123,000078: 35,2033 01452 V06N42 VN 0642 026124,000079: 026125,000080: # Page 626 026126,000081: # PROGRAM DESCRPTION S30.1 DATE 9NOV66 026127,000082: # MOD NO 1 LOG SECTION P30,P37 026128,000083: # MOD BY RAMA AIYAWAR ** 026129,000084: 026130,000085: # FUNCTIONAL DESCRIPTION 026131,000086: # BASED ON STORED TARGET PARAMETERS (R OF IGNITION (RTIG), V OF 026132,000087: # IGNITION (VTIG), TIME OF IGNITION (TIG)), COMPUTE PERIGEE ALTITUDE 026133,000088: # APOGEE ALTITUDE AND DELTAV REQUIRED (DELVSIN). 026134,000089: 026135,000090: # CALLING SEQUENCE 026136,000091: # L CALL 026137,000092: # L+1 s30.1 026138,000093: 026139,000094: # NORMAL EXIT MODE 026140,000095: # AT L+2 OR CALLING SEQUENCE (GOTO L+2) 026141,000096: 026142,000097: # SUBROUTINES CALLED 026143,000098: # LEMPREC 026144,000099: # PERIAPO 026145,000100: 026146,000101: # ALARM OR ABORT EXIT MODES 026147,000102: # NONE 026148,000103: 026149,000104: # ERASABLE INITIALIZATION REQUIRED 026150,000105: # TIG TIME OF IGNITION DP B28CS 026151,000106: # DELVSLV SPECIFIED DELTA-V INLOCAL VERT. 026152,000107: # COORDS. OF ACTIVE VEHICLE AT 026153,000108: # TIME OF IGNITION VECTOR B+7 METERS/CS 026154,000109: 026155,000110: # OUTPUT 026156,000111: # RTIG POSITION AT TIG VECTOR B+29 METERS 026157,000112: # VTIG VELOCITY AT TIG VECTOR B+29 METERS/CS 026158,000113: # PDL 4D APOGEE ALTITUDE DP B+29 M, B+27 METERS. 026159,000114: # HAPO APOGEE ALTITUDE DP B+29 METERS 026160,000115: # PDL 8D PERIGEE ALTITUDE DP B+29 M, B+27 METERS. 026161,000116: # HPER PERIGEE ALTITUDE DP B+29 METERS 026162,000117: # DELVSIN SPECIFIED DELTA-V AT INTERTIAL 026163,000118: # COORD. OF ACTIVE VEHICLE AT 026164,000119: # TIME OF IGNITION VECTOR B+7 METERS/CS 026165,000120: # DELVSAB MAG. OF DELVSIN VECTOR B+7 METERS/CS 026166,000121: 026167,000122: # DEBRIS QTEMP TEMP.ERASABLE 026168,000123: # QPRET, MPAC 026169,000124: # PUSHLIST 026170,000125: 026171,000126: 34,2000 SETLOC P30S1 026172,000127: 34,2000 BANK 026173,000128: 026174,000129: 34,2000 COUNT* $$/S30S 026175,000130: 026176,000131: 34,2000 71220 S30.1 STQ DLOAD 026177,000132: 34,2001 03632 QTEMP 026178,000133: 34,2002 03442 TIG # TIME IGNITION SCALED AT 2(+28)CS 026179,000134: 34,2003 34041 STCALL TDEC1 026180,000135: 34,2004 27056 LEMPREC # ENCKE ROUTINE FOR LEM 026181,000136: 026182,000137: 34,2005 67175 VLOAD SXA,2 026183,000138: # Page 627 026184,000139: 34,2006 00001 RATT 026185,000140: 34,2007 02777 RTX2 026186,000141: 34,2010 03642 STORE RTIG # RADIUS VECTOR AT IGNITION TIME 026187,000142: 34,2011 57456 UNIT VCOMP 026188,000143: 34,2012 27656 STOVL DELVSIN # ZRF/LV IN DELVSIN SCALED AT 2 026189,000144: 34,2013 00007 VATT # VELOCITY VECTOR AT TIG, SCALED 2(7) M/CS 026190,000145: 34,2014 03650 STORE VTIG 026191,000146: 34,2015 53435 VXV UNIT 026192,000147: 34,2016 03642 RTIG 026193,000148: 34,2017 66001 SETPD SXA,1 026194,000149: 34,2020 00001 0 026195,000150: 34,2021 02776 RTX1 026196,000151: 34,2022 47206 PUSH VXV # YRF/LV PDL 0 SCALED AT 2 026197,000152: 34,2023 03656 DELVSIN 026198,000153: 34,2024 63372 VSL1 PDVL 026199,000154: 34,2025 63315 PDVL PDVL # YRF/LV PDL 6 SCALED AT 2 026200,000155: 34,2026 03656 DELVSIN # ZRF/LV PDL 12D SCALED AT 2 026201,000156: 34,2027 03434 DELVSLV 026202,000157: 34,2030 76505 VXM VSL1 026203,000158: 34,2031 00001 0 026204,000159: 34,2032 03656 STORE DELVSIN # DELTAV IN INERT. COOR. SCALED TO B+7M/CS 026205,000160: 34,2033 77646 ABVAL 026206,000161: 34,2034 27664 STOVL DELVSAB # DELTA V MAG. 026207,000162: 34,2035 03642 RTIG # (FOR PERIAPO) 026208,000163: 34,2036 53315 PDVL VAD # VREQUIRED = VTIG + DELVSIN (FOR PERIAPO) 026209,000164: 34,2037 03650 VTIG 026210,000165: 34,2040 03656 DELVSIN 026211,000166: 34,2041 77624 CALL 026212,000167: 34,2042 46341 PERIAPO1 026213,000168: 34,2043 77624 CALL 026214,000169: 34,2044 46451 SHIFTR1 # RESCALE IF NEEDED 026215,000170: 34,2045 77624 CALL # LIMIT DISPLAY TO 9999.9 N. MI. 026216,000171: 34,2046 45636 MAXCHK 026217,000172: 34,2047 16321 STODL HPER # PERIGEE ALT 2(29) METERS FOR DISPLAY 026218,000173: 34,2050 00005 4D 026219,000174: 34,2051 77624 CALL 026220,000175: 34,2052 46451 SHIFTR1 # RESCALE IF NEEDED 026221,000176: 34,2053 77624 CALL # LIMIT DISPLAY TO 9999.9 N. MI. 026222,000177: 34,2054 45636 MAXCHK 026223,000178: 34,2055 36317 STCALL HAPO # APOGEE ALT 2(29) METERS FOR DISPLAY 026224,000179: 34,2056 03632 QTEMP 026225,000180: 026226,000181: End of include-file P30_P37.agc. Parent file is MAIN.agc