├── .editorconfig ├── CONTRIBUTING.md ├── Comanche055 ├── AGC_BLOCK_TWO_SELF-CHECK.agc ├── ALARM_AND_ABORT.agc ├── ANGLFIND.agc ├── ASSEMBLY_AND_OPERATION_INFORMATION.agc ├── AUTOMATIC_MANEUVERS.agc ├── CM_BODY_ATTITUDE.agc ├── CM_ENTRY_DIGITAL_AUTOPILOT.agc ├── CONIC_SUBROUTINES.agc ├── CONTRACT_AND_APPROVALS.agc ├── CSM_GEOMETRY.agc ├── DISPLAY_INTERFACE_ROUTINES.agc ├── DOWN-TELEMETRY_PROGRAM.agc ├── DOWNLINK_LISTS.agc ├── ENTRY_LEXICON.agc ├── ERASABLE_ASSIGNMENTS.agc ├── EXECUTIVE.agc ├── EXTENDED_VERBS.agc ├── FIXED_FIXED_CONSTANT_POOL.agc ├── FRESH_START_AND_RESTART.agc ├── GIMBAL_LOCK_AVOIDANCE.agc ├── GROUND_TRACKING_DETERMINATION_PROGRAM.agc ├── IMU_CALIBRATION_AND_ALIGNMENT.agc ├── IMU_COMPENSATION_PACKAGE.agc ├── IMU_MODE_SWITCHING_ROUTINES.agc ├── INFLIGHT_ALIGNMENT_ROUTINES.agc ├── INTEGRATION_INITIALIZATION.agc ├── INTER-BANK_COMMUNICATION.agc ├── INTERPRETER.agc ├── INTERPRETIVE_CONSTANTS.agc ├── INTERRUPT_LEAD_INS.agc ├── JET_SELECTION_LOGIC.agc ├── KALCMANU_STEERING.agc ├── KEYRUPT_UPRUPT.agc ├── LATITUDE_LONGITUDE_SUBROUTINES.agc ├── LUNAR_AND_SOLAR_EPHEMERIDES_SUBROUTINES.agc ├── LUNAR_LANDMARK_SELECTION_FOR_CM.agc ├── MAIN.agc ├── MEASUREMENT_INCORPORATION.agc ├── MYSUBS.agc ├── ORBITAL_INTEGRATION.agc ├── P11.agc ├── P20-P25.agc ├── P30-P37.agc ├── P32-P33_P72-P73.agc ├── P34-35_P74-75.agc ├── P37_P70.agc ├── P40-P47.agc ├── P51-P53.agc ├── P61-P67.agc ├── P76.agc ├── PHASE_TABLE_MAINTENANCE.agc ├── PINBALL_GAME_BUTTONS_AND_LIGHTS.agc ├── PINBALL_NOUN_TABLES.agc ├── PLANETARY_INERTIAL_ORIENTATION.agc ├── POWERED_FLIGHT_SUBROUTINES.agc ├── R30.agc ├── R31.agc ├── R60_62.agc ├── RCS-CSM_DAP_EXECUTIVE_PROGRAMS.agc ├── RCS-CSM_DIGITAL_AUTOPILOT.agc ├── REENTRY_CONTROL.agc ├── RESTARTS_ROUTINE.agc ├── RESTART_TABLES.agc ├── RT8_OP_CODES.agc ├── S-BAND_ANTENNA_FOR_CM.agc ├── SERVICER207.agc ├── SERVICE_ROUTINES.agc ├── SINGLE_PRECISION_SUBROUTINES.agc ├── STABLE_ORBIT.agc ├── STAR_TABLES.agc ├── SXTMARK.agc ├── SYSTEM_TEST_STANDARD_LEAD_INS.agc ├── T4RUPT_PROGRAM.agc ├── TAGS_FOR_RELATIVE_SETLOC.agc ├── TIME_OF_FREE_FALL.agc ├── TPI_SEARCH.agc ├── TVCDAPS.agc ├── TVCEXECUTIVE.agc ├── TVCINITIALIZE.agc ├── TVCMASSPROP.agc ├── TVCRESTARTS.agc ├── TVCROLLDAP.agc ├── TVCSTROKETEST.agc ├── UPDATE_PROGRAM.agc └── WAITLIST.agc ├── Luminary099 ├── AGC_BLOCK_TWO_SELF_CHECK.agc ├── AGS_INITIALIZATION.agc ├── ALARM_AND_ABORT.agc ├── AOSTASK_AND_AOSJOB.agc ├── AOTMARK.agc ├── ASCENT_GUIDANCE.agc ├── ASSEMBLY_AND_OPERATION_INFORMATION.agc ├── ATTITUDE_MANEUVER_ROUTINE.agc ├── BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.agc ├── CONIC_SUBROUTINES.agc ├── CONTROLLED_CONSTANTS.agc ├── DAPIDLER_PROGRAM.agc ├── DAP_INTERFACE_SUBROUTINES.agc ├── DISPLAY_INTERFACE_ROUTINES.agc ├── DOWNLINK_LISTS.agc ├── DOWN_TELEMETRY_PROGRAM.agc ├── ERASABLE_ASSIGNMENTS.agc ├── EXECUTIVE.agc ├── EXTENDED_VERBS.agc ├── FINDCDUW--GUIDAP_INTERFACE.agc ├── FIXED_FIXED_CONSTANT_POOL.agc ├── FLAGWORD_ASSIGNMENTS.agc ├── FRESH_START_AND_RESTART.agc ├── GIMBAL_LOCK_AVOIDANCE.agc ├── GROUND_TRACKING_DETERMINATION_PROGRAM.agc ├── HeaderTemplate.agc ├── IMU_COMPENSATION_PACKAGE.agc ├── IMU_MODE_SWITCHING_ROUTINES.agc ├── IMU_PERFORMANCE_TESTS_4.agc ├── IMU_PERFORMANCE_TEST_2.agc ├── INFLIGHT_ALIGNMENT_ROUTINES.agc ├── INPUT_OUTPUT_CHANNEL_BIT_DESCRIPTIONS.agc ├── INTEGRATION_INITIALIZATION.agc ├── INTER-BANK_COMMUNICATION.agc ├── INTERPRETER.agc ├── INTERPRETIVE_CONSTANT.agc ├── INTERRUPT_LEAD_INS.agc ├── KALCMANU_STEERING.agc ├── KALMAN_FILTER.agc ├── KEYRUPT_UPRUPT.agc ├── LAMBERT_AIMPOINT_GUIDANCE.agc ├── LANDING_ANALOG_DISPLAYS.agc ├── LATITUDE_LONGITUDE_SUBROUTINES.agc ├── LEM_GEOMETRY.agc ├── LUNAR_AND_SOLAR_EPHEMERIDES_SUBROUTINES.agc ├── LUNAR_LANDING_GUIDANCE_EQUATIONS.agc ├── MAIN.agc ├── MEASUREMENT_INCORPORATION.agc ├── ORBITAL_INTEGRATION.agc ├── P-AXIS_RCS_AUTOPILOT.agc ├── P12.agc ├── P20-P25.agc ├── P30_P37.agc ├── P32-P35_P72-P75.agc ├── P34-35_P74-75.agc ├── P40-P47.agc ├── P51-P53.agc ├── P70-P71.agc ├── P76.agc ├── PHASE_TABLE_MAINTENANCE.agc ├── PINBALL_GAME_BUTTONS_AND_LIGHTS.agc ├── PINBALL_NOUN_TABLES.agc ├── PLANETARY_INERTIAL_ORIENTATION.agc ├── POWERED_FLIGHT_SUBROUTINES.agc ├── Q_R-AXIS_RCS_AUTOPILOT.agc ├── R30.agc ├── R31.agc ├── R60_62.agc ├── R63.agc ├── RADAR_LEADIN_ROUTINES.agc ├── RCS_FAILURE_MONITOR.agc ├── RESTARTS_ROUTINE.agc ├── RESTART_TABLES.agc ├── RTB_OP_CODES.agc ├── S-BAND_ANTENNA_FOR_LM.agc ├── SERVICER.agc ├── SERVICE_ROUTINES.agc ├── SINGLE_PRECISION_SUBROUTINES.agc ├── SPS_BACK-UP_RCS_CONTROL.agc ├── STABLE_ORBIT.agc ├── SYSTEM_TEST_STANDARD_LEAD_INS.agc ├── T4RUPT_PROGRAM.agc ├── T6-RUPT_PROGRAMS.agc ├── TAGS_FOR_RELATIVE_SETLOC.agc ├── THE_LUNAR_LANDING.agc ├── THROTTLE_CONTROL_ROUTINES.agc ├── TIME_OF_FREE_FALL.agc ├── TJET_LAW.agc ├── TRIM_GIMBAL_CNTROL_SYSTEM.agc ├── UPDATE_PROGRAM.agc └── WAITLIST.agc ├── README.md ├── README.zh_cn.md └── README.zh_tw.md /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf8 5 | end_of_line = lf 6 | insert_final_newline = true 7 | trim_trailing_whitespace = true 8 | 9 | [*.agc] 10 | indent_style = tab 11 | tab_width = 8 12 | 13 | [*.md] 14 | indent_style = space 15 | indent_size = 2 16 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | ## Useful Extensions 3 | 4 | GitHub has syntax support for the AGC assembly language built-in. 5 | Unfortunately your code editor will not, however there are 6 | AGC language extensions that provides syntax highlighting for the 7 | following editors: 8 | - [Atom][5] 9 | - [Sublime Text 3][4] 10 | - [Visual Studio Code][3] 11 | 12 | ## Formatting 13 | **Note:** GitHub and the 3 extensions listed above will ensure 14 | you're using the correct formatting automatically. 15 | 16 | - Use tab indentation 17 | - Use tab width of 8 18 | - Trim trailing whitespace 19 | 20 | ## What do I check? 21 | ### Comments 22 | - Comments in the transcribed code should match the scans exactly 23 | - This could involve creating a deliberate typo or removing/adding 24 | an entire comment. 25 | 26 | ### Line breaks 27 | - Line breaks *with* `R0000` in column 1 should match the scans exactly. 28 | - Line breaks *with**__out__* `R0000` in column 1 should contain only 1 29 | or 2 blank lines in a row. 30 | - If there are more than 2 blank lines breaks, strip the extra 31 | line breaks. 32 | - Lines with `R0000` in column 1 do not count towards this. 33 | - In the source images, these were created by an unprinted digit 34 | in column 8. A 2 there forced a double space (single blank line) 35 | and a 3 forced a triple space (double blank line). Values 4-8 were 36 | defined but never used. Read more about it in [#159][7] 37 | 38 | For example the following: 39 | ```plain 40 | R0819 SUBROUTINE TO SKIP... 41 | R0820 42 | 43 | 44 | 45 | 0821 LAMPTEST CS IMODES33 46 | ``` 47 | Should become: 48 | ```plain 49 | R0819 SUBROUTINE TO SKIP... 50 | R0820 51 | 52 | 53 | 0820 LAMPTEST CS IMODES33 54 | ``` 55 | 56 | [0]:https://github.com/chrislgarry/Apollo-11/pull/new/master 57 | [1]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/ 58 | [2]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/ 59 | [3]:https://github.com/wopian/agc-assembly 60 | [4]:https://github.com/jimlawton/AGC-Assembly 61 | [5]:https://github.com/Alhadis/language-agc 62 | [6]:https://github.com/wopian/agc-assembly#user-settings 63 | [7]:https://github.com/chrislgarry/Apollo-11/issues/159 64 | -------------------------------------------------------------------------------- /Comanche055/ALARM_AND_ABORT.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: ALARM_AND_ABORT.agc 3 | # Purpose: Part of the source code for Comanche, build 055. It 4 | # is part of the source code for the Command Module's 5 | # (CM) Apollo Guidance Computer (AGC), Apollo 11. 6 | # Assembler: yaYUL 7 | # Reference: pp. 1493-1496 8 | # Contact: Ron Burkey 9 | # Website: http://www.ibiblio.org/apollo. 10 | # Mod history: 2009-05-07 RSB Adapted from Colossus249 file of the same 11 | # name, and page images. Corrected various 12 | # typos in the transcription of program 13 | # comments, and these should be back-ported 14 | # to Colossus249. 15 | # 16 | # The contents of the "Comanche055" files, in general, are transcribed 17 | # from scanned documents. 18 | # 19 | # Assemble revision 055 of AGC program Comanche by NASA 20 | # 2021113-051. April 1, 1969. 21 | # 22 | # This AGC program shall also be referred to as Colossus 2A 23 | # 24 | # Prepared by 25 | # Massachusetts Institute of Technology 26 | # 75 Cambridge Parkway 27 | # Cambridge, Massachusetts 28 | # 29 | # under NASA contract NAS 9-4065. 30 | # 31 | # Refer directly to the online document mentioned above for further 32 | # information. Please report any errors to info@sandroid.org. 33 | 34 | # Page 1493 35 | # THE FOLLOWING SUBROUTINE MAY BE CALLED TO DISPLAY A NON-ABORTIVE ALARM CONDITION. IT MAY BE CALLED 36 | # EITHER IN INTERRUPT OR UNDER EXECUTIVE CONTROL. 37 | # 38 | # THE CALLING SEQUENCE IS AS FOLLOWS: 39 | # TC ALARM 40 | # OCT NNNNN 41 | # # (RETURNS HERE) 42 | 43 | BLOCK 02 44 | SETLOC FFTAG7 45 | BANK 46 | 47 | EBANK= FAILREG 48 | 49 | COUNT 02/ALARM 50 | 51 | # ALARM TURNS ON THE PROGRAM ALARM LIGHT, BUT DOES NOT DISPLAY. 52 | 53 | ALARM INHINT 54 | 55 | CA Q 56 | ALARM2 TS ALMCADR 57 | INDEX Q 58 | CA 0 59 | BORTENT TS L 60 | 61 | PRIOENT CA BBANK 62 | +1 EXTEND 63 | ROR SUPERBNK # ADD SUPER BITS. 64 | TS ALMCADR +1 65 | 66 | LARMENT CA Q # STORE RETURN FOR ALARM 67 | TS ITEMP1 68 | 69 | CA LOC 70 | TS LOCALARM 71 | CA BANKSET 72 | TS BANKALRM 73 | 74 | CHKFAIL1 CCS FAILREG # IS ANYTHING IN FAILREG 75 | TCF CHKFAIL2 # YES TRY NEXT REG 76 | LXCH FAILREG 77 | TCF PROGLARM # TURN ALARM LIGHT ON FOR FIRST ALARM 78 | 79 | CHKFAIL2 CCS FAILREG +1 80 | TCF FAIL3 81 | LXCH FAILREG +1 82 | TCF MULTEXIT 83 | 84 | FAIL3 CA FAILREG +2 85 | # Page 1494 86 | MASK POSMAX 87 | CCS A 88 | TCF MULTFAIL 89 | LXCH FAILREG +2 90 | TCF MULTEXIT 91 | 92 | PROGLARM CS DSPTAB +11D 93 | MASK OCT40400 94 | ADS DSPTAB +11D 95 | 96 | MULTEXIT XCH ITEMP1 # OBTAIN RETURN ADDRESS IN A 97 | RELINT 98 | INDEX A 99 | TC 1 100 | 101 | MULTFAIL CA L 102 | AD BIT15 103 | TS FAILREG +2 104 | 105 | TCF MULTEXIT 106 | 107 | # PRIOLARM DISPLAYS V05N09 VIA PRIODSPR WITH 3 RETURNS TO THE USER FROM THE ASTRONAUT AT CALL LOC +1,+2,+3 AND 108 | # AN IMMEDIATE RETURN TO THE USER AT CALL LOC +4. EXAMPLE FOLLOWS, 109 | # CAF OCTXX # ALARM CODE 110 | # TC BANKCALL 111 | # CADR PRIOLARM 112 | # ... ... 113 | # ... ... 114 | # ... ... # ASTRONAUT RETURN 115 | # TC PHASCHNG # IMMEDIATE RETURN TO USER. RESTART 116 | # OCT X.1 # PHASE CHANGE FOR PRIO DISPLAY 117 | 118 | BANK 10 119 | SETLOC DISPLAYS 120 | BANK 121 | 122 | COUNT 10/DSPLA 123 | 124 | PRIOLARM INHINT # * * * KEEP IN DISPLAY ROUTINES BANK 125 | TS L # SAVE ALARM CODE 126 | 127 | CA BUF2 # 2 CADR OF PRIOLARM USER 128 | TS ALMCADR 129 | CA BUF2 +1 130 | TC PRIOENT +1 # * LEAVE L ALONE 131 | -2SEC DEC -200 # *** DONT MOVE 132 | CAF V05N09 133 | TCF PRIODSPR 134 | 135 | # Page 1495 136 | 137 | BLOCK 02 138 | SETLOC FFTAG13 139 | BANK 140 | 141 | COUNT 02/ALARM 142 | 143 | BAILOUT INHINT 144 | CA Q 145 | TS ALMCADR 146 | 147 | TC BANKCALL 148 | CADR VAC5STOR 149 | 150 | INDEX ALMCADR 151 | CAF 0 152 | TC BORTENT 153 | OCT40400 OCT 40400 154 | 155 | INHINT 156 | WHIMPER CA TWO 157 | AD Z 158 | TS BRUPT 159 | RESUME 160 | TC POSTJUMP # RESUME SENDS CONTROL HERE 161 | CADR ENEMA 162 | 163 | SETLOC FFTAG7 164 | BANK 165 | 166 | P00DOO INHINT 167 | CA Q 168 | TS ALMCADR 169 | 170 | TC BANKCALL 171 | CADR VAC5STOR # STORE ERASABLES FOR DEBUGGING PURPOSES. 172 | 173 | INDEX ALMCADR 174 | CAF 0 175 | ABORT2 TC BORTENT 176 | 177 | OCT77770 OCT 77770 # DONT MOVE 178 | CA V37FLBIT # IS AVERAGE G ON 179 | MASK FLAGWRD7 180 | CCS A 181 | TC WHIMPER -1 # YES. DONT DO POODOO. DO BAILOUT. 182 | 183 | TC DOWNFLAG 184 | ADRES STATEFLG 185 | 186 | TC DOWNFLAG 187 | 188 | # Page 1496 189 | ADRES REINTFLG 190 | 191 | TC DOWNFLAG 192 | ADRES NODOFLAG 193 | 194 | TC BANKCALL 195 | CADR MR.KLEAN 196 | TC WHIMPER 197 | 198 | CCSHOLE INHINT 199 | CA Q 200 | TS ALMCADR 201 | TC BANKCALL 202 | CADR VAC5STOR 203 | CA OCT1103 204 | TC ABORT2 205 | OCT1103 OCT 1103 206 | CURTAINS INHINT 207 | CA Q 208 | TC ALARM2 209 | OCT217 OCT 00217 210 | TC ALMCADR # RETURN TO USER 211 | 212 | DOALARM EQUALS ENDOFJOB 213 | # CALLING SEQUENCE FOR VARALARM 214 | # CAF (ALARM) 215 | # TC VARALARM 216 | # 217 | # VARALARM TURNS ON PROGRAM ALARM LIGHT BUT DOES NOT DISPLAY 218 | VARALARM INHINT 219 | 220 | TS L # SAVE USERS ALARM CODE 221 | 222 | CA Q # SAVE USERS Q 223 | TS ALMCADR 224 | 225 | TC PRIOENT 226 | OCT14 OCT 14 # DONT MOVE 227 | 228 | TC ALMCADR # RETURN TO USER 229 | 230 | ABORT EQUALS BAILOUT # *** TEMPORARY UNTIL ABORT CALLS OUT 231 | -------------------------------------------------------------------------------- /Comanche055/CONTRACT_AND_APPROVALS.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: CONTRACT_AND_APPROVALS.agc 3 | # Purpose: Part of the source code for Colossus 2A, AKA Comanche 055. 4 | # It is part of the source code for the Command Module's (CM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Mod history: 2009-05-06 RSB Transcribed from page images. 10 | # 11 | # This source code has been transcribed or otherwise adapted from digitized 12 | # images of a hardcopy from the MIT Museum. The digitization was performed 13 | # by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many 14 | # thanks to both. The images (with suitable reduction in storage size and 15 | # consequent reduction in image quality as well) are available online at 16 | # www.ibiblio.org/apollo. If for some reason you find that the images are 17 | # illegible, contact me at info@sandroid.org about getting access to the 18 | # (much) higher-quality images which Paul actually created. 19 | # 20 | # Notations on the hardcopy document read, in part: 21 | # 22 | # Assemble revision 055 of AGC program Comanche by NASA 23 | # 2021113-051. 10:28 APR. 1, 1969 24 | 25 | # Page 1 26 | 27 | 28 | # ************************************************************************ 29 | # * * 30 | # * THIS AGC PROGRAM SHALL ALSO BE REFERRED TO AS: * 31 | # * * 32 | # * * 33 | # * COLOSSUS 2A * 34 | # * * 35 | # * * 36 | # * THIS PROGRAM IS INTENDED FOR USE IN THE CM AS SPECIFIED * 37 | # * IN REPORT R-577. THIS PROGRAM WAS PREPARED UNDER DSR * 38 | # * PROJECT 55-23870, SPONSORED BY THE MANNED SPACECRAFT * 39 | # * CENTER OF THE NATIONAL AERONAUTICS AND SPACE * 40 | # * ADMINISTRATION THROUGH CONTRACT NAS 9-4065 WITH THE * 41 | # * INSTRUMENTATION LABORATORY, MASSACHUSETTS INSTITUTE OF * 42 | # * TECHNOLOGY, CAMBRIDGE, MASS. * 43 | # * * 44 | # ************************************************************************ 45 | 46 | 47 | # SUBMITTED: MARGARET H. HAMILTON DATE: 28 MAR 69 48 | # M.H.HAMILTON, COLOSSUS PROGRAMMING LEADER 49 | # APOLLO GUIDANCE AND NAVIGATION 50 | 51 | # APPROVED: DANIEL J. LICKLY DATE: 28 MAR 69 52 | # D.J.LICKLY, DIRECTOR, MISSION PROGRAM DEVELOPMENT 53 | # APOLLO GUIDANCE AND NAVIGATION PROGRAM 54 | 55 | # APPROVED: FRED H. MARTIN DATE: 28 MAR 69 56 | # FRED H. MARTIN, COLOSSUS PROJECT MANGER 57 | # APOLLO GUIDANCE AND NAVIGATION PROGRAM 58 | 59 | # APPROVED: NORMAN E.SEARS DATE: 28 MAR 69 60 | # N.E. SEARS, DIRECTOR, MISSION DEVELOPMENT 61 | # APOLLO GUIDANCE AND NAVIGATION PROGRAM 62 | 63 | # APPROVED: RICHARD H. BATTIN DATE: 28 MAR 69 64 | # R.H. BATTIN, DIRECTOR, MISSION DEVELOPMENT 65 | # APOLLO GUIDANCE AND NAVIGATION PROGRAM 66 | 67 | # APPROVED: DAVID G. HOAG DATE: 28 MAR 69 68 | # D.G. HOAG, DIRECTOR 69 | # APOLLO GUIDANCE AND NAVIGATION PROGRAM 70 | 71 | # APPROVED: RALPH R. RAGAN DATE: 28 MAR 69 72 | # R.R. RAGAN, DEPUTY DIRECTOR 73 | # INSTRUMENTATION LABORATORY 74 | -------------------------------------------------------------------------------- /Comanche055/GIMBAL_LOCK_AVOIDANCE.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: GIMBAL_LOCK_AVOIDANCE.agc 3 | # Purpose: Part of the source code for Comanche, build 055. 4 | # It is part of the source code for the Command Module's (CM) 5 | # Apollo Guidance Computer (AGC), Apollo 11. 6 | # Assembler: yaYUL 7 | # Reference: pp. 412-413 8 | # Contact: Onno Hommes . 9 | # Website: www.ibiblio.org/apollo. 10 | # Mod history: 05/07/09 OH Transcription Batch 1 Assignment 11 | # 12 | # The contents of the "Comanche055" files, in general, are transcribed 13 | # from scanned documents. 14 | # 15 | # Assemble revision 055 of AGC program Comanche by NASA 16 | # 2021113-051. April 1, 1969. 17 | # 18 | # This AGC program shall also be referred to as Colossus 2A 19 | # 20 | # Prepared by 21 | # Massachusetts Institute of Technology 22 | # 75 Cambridge Parkway 23 | # Cambridge, Massachusetts 24 | # 25 | # under NASA contract NAS 9-4065. 26 | # 27 | # Refer directly to the online document mentioned above for further information. 28 | # Please report any errors to info@sandroid.org. 29 | 30 | # Page 412 31 | BANK 15 32 | SETLOC KALCMON1 33 | BANK 34 | 35 | EBANK= BCDU 36 | # DETECTING GIMBAL LOCK 37 | LOCSKIRT EQUALS WCALC 38 | WCALC LXC,1 DLOAD* 39 | RATEINDX 40 | ARATE,1 41 | SR4 CALL # COMPUTE THE INCREMENTAL ROTATION MATRIX 42 | DELCOMP # DEL CORRESPONDING TO A 1 SEC ROTATION 43 | # ABOUT COF 44 | DLOAD* VXSC 45 | ARATE,1 46 | COF 47 | MXV 48 | QUADROT 49 | STODL BRATE 50 | AM 51 | DMP DDV* 52 | ANGLTIME 53 | ARATE,1 54 | SR 55 | 5 56 | STOVL TM 57 | BRATE 58 | VXSC 59 | BIASCALE 60 | STORE BIASTEMP # ATTITUDE ERROR BIAS TO PREVENT OVERSHOOT 61 | # IN SYSTEM 62 | SETGO # STATE SWITCH CALCMAN2 (43D) 63 | CALCMAN2 # 0(OFF) = BYPASS STARTING PROCEDURE 64 | NEWANGL +1 # 1(ON) = START MANEUVER 65 | 66 | 67 | ARATE 2DEC .0022222222 # = .05 DEG/SEC 68 | 69 | 2DEC .0088888889 # = .2 DEG/SEC 70 | 71 | 2DEC .0222222222 # = .5 DEG/SEC 72 | 73 | 2DEC .0888888889 # = 2 DEG/SEC $22.5 DEG/SEC 74 | 75 | ANGLTIME 2DEC .000190735 # = 100B - 19 76 | 77 | # MANEUVER ANGLE TO MANEUVER TIME 78 | 79 | QUADROT 2DEC .1 # ROTATION MATRIX FROM S/C AXES TO CONTROL 80 | 81 | # Page 413 82 | 2DEC 0 # AXES (X ROT = -7.25 DEG) 83 | 84 | 2DEC 0 85 | 86 | 2DEC 0 87 | 88 | 2DEC .099200 # =(.1)COS7.25 89 | 90 | 2DEC -.012620 # =-(.1)SIN7.25 91 | 92 | 2DEC 0 93 | 94 | 2DEC .012620 # (.1)SIN7.25 95 | 96 | 2DEC .099200 # (.1)COS7.25 97 | 98 | BIASCALE 2DEC .0002543132 # = (450/180)(1/0.6)(1/16384) 99 | -------------------------------------------------------------------------------- /Comanche055/GROUND_TRACKING_DETERMINATION_PROGRAM.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: GROUND_TRACKING_DETERMINATION_PROGRAM.agc 3 | # Purpose: Part of the source code for Comanche, build 055. 4 | # It is part of the source code for the Command Module's (CM) 5 | # Apollo Guidance Computer (AGC), Apollo 11. 6 | # Assembler: yaYUL 7 | # Reference: pp. 456-459 8 | # Contact: Onno Hommes . 9 | # Website: www.ibiblio.org/apollo. 10 | # Mod history: 2009-05-07 OH Transcription Batch 1 Assignment 11 | # 2009-05-20 RSB Corrected a couple of DIMOFLAG to DIM0FLAG. 12 | # 13 | # The contents of the "Comanche055" files, in general, are transcribed 14 | # from scanned documents. 15 | # 16 | # Assemble revision 055 of AGC program Comanche by NASA 17 | # 2021113-051. April 1, 1969. 18 | # 19 | # This AGC program shall also be referred to as Colossus 2A 20 | # 21 | # Prepared by 22 | # Massachusetts Institute of Technology 23 | # 75 Cambridge Parkway 24 | # Cambridge, Massachusetts 25 | # 26 | # under NASA contract NAS 9-4065. 27 | # 28 | # Refer directly to the online document mentioned above for further information. 29 | # Please report any errors to info@sandroid.org. 30 | 31 | # Page 456 32 | # GROUND TRACKING DETERMINATION PROGRAM -- P21 33 | # 34 | # PROGRAM DESCRIPTION 35 | # MOD NO -- 1 36 | # MOD BY -- N. M. NEVILLE 37 | # 38 | # FUNCTIONAL DESCRIPTION -- 39 | # TO PROVIDE THE ASTRONAUT DETAILS OF THE LM OR CSM GROUND TRACK WITHOUT 40 | # THE NEED FOR GROUND COMMUNICATION (REQUESTED BY DSKY). 41 | # 42 | # CALLING SEQUENCE -- 43 | # ASTRONAUT REQUEST THROUGH DSKY V37E21E 44 | # 45 | # SUBROUTINES CALLED -- 46 | # GOPERF4 47 | # GOFLASH 48 | # THISPREC 49 | # OTHPREC 50 | # LAT-LONG 51 | # 52 | # NORMAL EXIT MODES -- 53 | # ASTRONAUT REQUEST THROUGH DSKY TO TERMINATE PROGRAM V34E 54 | # 55 | # ALARM OR ABORT EXIT MODES -- 56 | # NONE 57 | # 58 | # OUTPUT -- 59 | # OCTAL DISPLAY OF OPTION CODE AND VEHICLE WHOSE GROUND TRACK IS TO BE 60 | # COMPUTED 61 | # OPTION CODE 00002 62 | # THIS 00001 63 | # OTHER 00002 64 | # DECIMAL DISPLAY OF TIME TO BE INTEGRATED TO HOURS , MINUTES , SECONDS 65 | # DECIMAL DISPLAY OF LAT,LONG,ALT 66 | # 67 | # ERASABLE INITIALIZATION REQUIRED 68 | # AX0 2DEC 4.652459653 E-5 RADIANS "68-69 CONSTANTS" 69 | # -AY0 2DEC 2.147535898 E-5 RADIANS 70 | # AZ0 2DEC .7753206164 REVOLUTIONS 71 | # FOR LUNAR ORBITS 504LM VECTOR IS NEEDED 72 | # 504LM 2DEC -2.700340600 E-5 RADIANS 73 | # 504LM _2 2DEC -7.514128400 E-4 RADIANS 74 | # 504LM _4 2DEC _2.553198641 E-4 RADIANS 75 | # 76 | # NONE 77 | # 78 | # DEBRIS 79 | 80 | # Page 457 81 | # CENTRALS -- A,Q,L 82 | # OTHER -- THOSE USED BY THE ABOVE LISTED SUBROUTINES 83 | # SEE LEMPREC, LAT-LONG 84 | 85 | SBANK= LOWSUPER # FOR LOW 2CADR'S. 86 | 87 | BANK 33 88 | SETLOC P20S 89 | BANK 90 | 91 | EBANK= P21TIME 92 | COUNT 24/P21 93 | 94 | PROG21 CAF ONE 95 | TS OPTION2 # ASSUMED VEHICLE IS LM, R2 = 00001 96 | CAF BIT2 # OPTION 2 97 | TC BANKCALL 98 | CADR GOPERF4 99 | TC GOTOP00H # TERMINATE 100 | TC +2 # PROCEED VALUE OF ASSUMED VEHICLE OK 101 | TC -5 # R2 LOADED THROUGH DSKY 102 | P21PROG1 CAF V6N34 # LOAD DESIRED TIME OF LAT-LONG. 103 | TC BANKCALL 104 | CADR GOFLASH 105 | TC GOTOP00H # TERM 106 | TC +2 # PROCEED VALUES OK 107 | TC -5 # TIME LOADED THROUGH DSKY 108 | TC INTPRET 109 | DLOAD 110 | DSPTEM1 111 | STCALL TDEC1 # INTEG TO TIME SPECIFIED IN TDEC 112 | INTSTALL 113 | BON SET 114 | P21FLAG 115 | P21CONT # ON...RECYCLE USING BASE VECTOR 116 | VINTFLAG # OFF..1ST PASS CALC BASE VECTOR 117 | SLOAD SR1 118 | OPTION2 119 | BHIZ CLEAR 120 | +2 # ZERO..THIS VEHICLE (CM) 121 | VINTFLAG # ONE...OTHER VEHICLE(LM) 122 | CLEAR CLEAR 123 | DIM0FLAG 124 | INTYPFLG # PRECISION 125 | CALL 126 | INTEGRV # CALCULATE 127 | GOTO # .AND 128 | P21VSAVE # ..SAVE BASE VECTOR 129 | P21CONT VLOAD # RECYCLE..INTEG FROM BASE VECTOR 130 | P21BASER 131 | # Page 458 132 | STOVL RCV # ..POS 133 | P21BASEV 134 | STODL VCV # ..VEL 135 | P21TIME 136 | STORE TET # ..TIME 137 | CLEAR CLEAR 138 | DIM0FLAG 139 | MOONFLAG 140 | SLOAD BZE 141 | P21ORIG 142 | +3 # ZERO = EARTH 143 | SET # ...2 = MOON 144 | MOONFLAG 145 | CALL 146 | INTEGRVS 147 | P21VSAVE DLOAD # SAVE CURRENT BASE VECTOR 148 | TAT 149 | STOVL P21TIME # ..TIME 150 | RATT1 151 | STOVL P21BASER # ..POS B-29 OR B-27 152 | VATT1 153 | STORE P21BASEV # ..VEL B-7 OR B-5 154 | ABVAL SL* 155 | 0,2 156 | STOVL P21VEL # /VEL/ FOR N73 DSP 157 | RATT 158 | UNIT DOT 159 | VATT # U(R).(V) 160 | DDV ASIN # U(R).U(V) 161 | P21VEL 162 | STORE P21GAM # SIN-1 U(R).U(V), -90 TO +90 163 | SXA,2 SET 164 | P21ORIG # 0 = EARTH 2 = MOON 165 | P21FLAG 166 | P21DSP CLEAR SLOAD # GENERATE DISPLAY DATA 167 | LUNAFLAG 168 | X2 169 | BZE SET 170 | +2 # 0 = EARTH 171 | LUNAFLAG 172 | VLOAD 173 | RATT 174 | STODL ALPHAV 175 | TAT 176 | CLEAR CALL 177 | ERADFLAG 178 | LAT-LONG 179 | DMP # MPAC = ALT, METERS B-29 180 | K.01 181 | STORE P21ALT # ALT/100 FOR N73 DSP 182 | # Page 459 183 | EXIT 184 | CAF V06N43 # DISPLAY LAT,LONG,ALT 185 | TC BANKCALL # LAT,LONG = REVS B0 BOTH EARTH/MOON 186 | CADR GOFLASH # ALT = METERS B-29 BOTH EARTH/MOON 187 | TC GOTOP00H # TERM 188 | TC GOTOP00H 189 | TC INTPRET # V32E RECYCLE 190 | DLOAD DAD 191 | P21TIME 192 | 600SEC # 600 SECONDS OR 10 MIN 193 | STORE DSPTEM1 194 | RTB 195 | P21PROG1 196 | 197 | 600SEC 2DEC 60000 # 10 MIN 198 | 199 | P21ONENN OCT 00001 # NEEDED TO DETERMINE VEHICLE 200 | OCT 00000 # TO BE INTEGRATED 201 | V06N43 VN 00643 202 | V6N34 VN 00634 203 | K.01 2DEC .01 204 | 205 | -------------------------------------------------------------------------------- /Comanche055/INTER-BANK_COMMUNICATION.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: INTER-BANK_COMMUNICATION.agc 3 | # Purpose: Part of the source code for Comanche, build 055. It 4 | # is part of the source code for the Command Module's 5 | # (CM) Apollo Guidance Computer (AGC), Apollo 11. 6 | # Assembler: yaYUL 7 | # Reference: pp. 1103-1106 8 | # Contact: Ron Burkey 9 | # Website: http://www.ibiblio.org/apollo. 10 | # Mod history: 2009-05-08 RSB Adapted from Colossus249/ file of same name 11 | # and page images. Corrected various typos 12 | # in the transcription of program comments, 13 | # and these should be back-ported to 14 | # Colossus249. 15 | # 16 | # The contents of the "Comanche055" files, in general, are transcribed 17 | # from scanned documents. 18 | # 19 | # Assemble revision 055 of AGC program Comanche by NASA 20 | # 2021113-051. April 1, 1969. 21 | # 22 | # This AGC program shall also be referred to as Colossus 2A 23 | # 24 | # Prepared by 25 | # Massachusetts Institute of Technology 26 | # 75 Cambridge Parkway 27 | # Cambridge, Massachusetts 28 | # 29 | # under NASA contract NAS 9-4065. 30 | # 31 | # Refer directly to the online document mentioned above for further 32 | # information. Please report any errors to info@sandroid.org. 33 | 34 | # Page 1103 35 | # THE FOLLOWING ROUTINE CAN BE USED TO CALL A SUBROUTINE IN ANOTHER BANK. IN THE BANKCALL VERSION, THE 36 | # CADR OF THE SUBROUTINE IMMEDIATELY FOLLOWS THE TC BANKCALL INSTRUCTION, WITH C(A) AND C(L) PRESERVED. 37 | 38 | BLOCK 02 39 | COUNT 02/BANK 40 | 41 | BANKCALL DXCH BUF2 # SAVE INCOMING A,L. 42 | INDEX Q # PICK UP CADR. 43 | CA 0 44 | INCR Q # SO WE RETURN TO THE LOC. AFTER THE CADR. 45 | 46 | # SWCALL IS IDENTICAL TO BANKCALL, EXCEPT THAT THE CADR ARRIVES IN A. 47 | 48 | SWCALL TS L 49 | LXCH FBANK # SWITCH BANKS, SAVING RETURN. 50 | MASK LOW10 # GET SUB-ADDRESS OF CADR. 51 | XCH Q # A,L NOW CONTAINS DP RETURN. 52 | DXCH BUF2 # RESTORING INPUTS IF THIS IS A BANKCALL. 53 | INDEX Q 54 | TC 10000 # SETTING Q TO SWRETURN 55 | 56 | SWRETURN XCH BUF2 +1 # COMES HERE TO RETURN TO CALLER. C(A,L) 57 | XCH FBANK # ARE PRESERVED FOR RETURN. 58 | XCH BUF2 +1 59 | TC BUF2 60 | 61 | # THE FOLLOWING ROUTINE CAN BE USED AS A UNILATERAL JUMP WITH C(A,L) PRESERVED AND THE CADR IMMEDIATELY 62 | # FOLLOWING THE TC POSTJUMP INSTRUCTION. 63 | 64 | POSTJUMP XCH Q # SAVE INCOMING C(A). 65 | INDEX A # GET CADR. 66 | CA 0 67 | 68 | # BANKJUMP IS THE SAME AS POSTJUMP, EXCEPT THAT THE CADR ARRIVES IN A. 69 | 70 | BANKJUMP TS FBANK 71 | MASK LOW10 72 | XCH Q # RESTORING INPUT C(A) IF THIS WAS A 73 | Q+10000 INDEX Q # POSTJUMP. 74 | PRIO12 TCF 10000 # PRIO12 = TCF 10000 = 12000 75 | 76 | # Page 1104 77 | # THE FOLLOWING ROUTINE GETS THE RETURN CADR SAVED BY SWCALL OR BANKCALL AND LEAVES IT IN A. 78 | 79 | MAKECADR CAF LOW10 80 | MASK BUF2 81 | AD BUF2 +1 82 | TC Q 83 | 84 | SUPDACAL TS MPTEMP 85 | XCH FBANK # SET FBANK FOR DATA. 86 | EXTEND 87 | ROR SUPERBNK # SAVE FBANK IN BITS 15-11, AND 88 | XCH MPTEMP # SUPERBANK IN BITS 7-5. 89 | MASK LOW10 90 | XCH L # SAVE REL. ADR. IN BANK, FETCH SUPERBITS 91 | INHINT # BECAUSE RUPT DOES NOT SAVE SUPERBANK. 92 | EXTEND 93 | WRITE SUPERBNK # SET SUPERBANK FOR DATA. 94 | INDEX L 95 | CA 10000 # PINBALL (FIX MEM DISP) PREVENTS DCA HERE 96 | XCH MPTEMP # SAVE 1ST WD, FETCH OLD FBANK AND SBANK. 97 | EXTEND 98 | WRITE SUPERBNK # RESTORE SUPERBANK. 99 | RELINT 100 | TS FBANK # RESTORE FBANK. 101 | CA MPTEMP # RECOVER FIRST WORD OF DATA. 102 | RETURN # 24 WDS. DATACALL 516 MU, SUPDACAL 432 MU 103 | 104 | # Page 1105 105 | # THE FOLLOWING ROUTINES ARE IDENTICAL TO BANKCALL AND SWCALL EXCEPT THAT THEY ARE USED IN INTERRUPT. 106 | 107 | IBNKCALL DXCH RUPTREG3 # USES RUPTREG3,4 FOR DP RETURN ADDRESS. 108 | INDEX Q 109 | # Was CAF --- RSB 2009 110 | CA 0 111 | INCR Q 112 | 113 | ISWCALL TS L 114 | LXCH FBANK 115 | MASK LOW10 116 | XCH Q 117 | DXCH RUPTREG3 118 | INDEX Q 119 | TC 10000 120 | 121 | ISWRETRN XCH RUPTREG4 122 | XCH FBANK 123 | XCH RUPTREG4 124 | TC RUPTREG3 125 | 126 | # 2. USPRCADR ACCESSES INTERPRETIVE CODING IN OTHER THAN THE USER'S FBANK. THE CALLING SEQUENCE IS AS FOLLOWS: 127 | # L TC USPRCADR 128 | # L+1 CADR INTPRETX # INTPRETX IS THE INTERPRETIVE CODING 129 | # # RETURN IS TO L+2 130 | 131 | USPRCADR TS LOC # SAVE A 132 | CA BIT8 133 | TS EDOP # EXIT INSTRUCTION TO EDOP 134 | CA BBANK 135 | TS BANKSET # USER'S BBANK TO BANKSET 136 | INDEX Q 137 | CA 0 138 | TS FBANK # INTERPRETIVE BANK TO FBANK 139 | MASK LOW10 # YIELDS INTERPRETIVE RELATIVE ADDRESS 140 | XCH Q # INTERPRETIVE ADDRESS TO Q, FETCHING L+1 141 | XCH LOC # L+1 TO LOC, RETRIEVING ORIGINAL A 142 | TCF Q+10000 143 | 144 | # Page 1106 145 | # THERE ARE FOUR POSSIBLE SETTINGS FOR CHANNEL 07. (CHANNEL 07 CONTAINS SUPERBANK SETTING.) 146 | # 147 | # PSEUDO-FIXED OCTAL PSEUDO 148 | # SUPERBANK SETTING S-REG. VALUE BANK NUMBERS ADDRESSES 149 | # --------- ------- ------------ ------------ --------- 150 | # SUPERBANK 3 OXX 2000 - 3777 30 - 37 70000 - 107777 (WHERE XX CAN BE ANYTHING AND 151 | # WILL USUALLY BE SEEN AS 11) 152 | # SUPERBANK 4 100 2000 - 3777 40 - 47 110000 - 127777 (AS FAR AS IT CAN BE SEEN, 153 | # ONLY BANKS 40-43 WILL EVER BE 154 | # AND ARE PRESENTLY AVAILABLE) 155 | # SUPERBANK 5 101 2000 - 3777 50 - 57 130000 - 147777 (PRESENTLY NOT AVAILABLE TO 156 | # THE USER) 157 | # SUPERBANK 6 110 2000 - 3777 60 - 67 150000 - 167777 (PRESENTLY NOT AVAILABLE TO 158 | # THE USER) 159 | # *** THIS ROUTINE MAY BE CALLED BY ANY PROGRAM LOCATED IN BANKS 00 - 27. I.E., NO PROGRAM LIVING IN ANY 160 | # SUPERBANK SHOULD USE SUPERSW. *** 161 | # 162 | # SUPERSW MAY BE CALLED IN THIS FASHION: 163 | # CAF ABBCON WHERE -- ABBCON BBCON SOMETHING -- 164 | # TCR SUPERSW (THE SUPERBNK BITS ARE IN THE BBCON) 165 | # ... ... 166 | # . . 167 | # . . 168 | # OR IN THIS FASHION: 169 | # CAF SUPERSET WHERE SUPERSET IS ONE OF THE FOUR AVAILABLE 170 | # TCR SUPERSW SUPERBANK BIT CONSTANTS: 171 | # ... ... SUPER011 OCTAL 60 172 | # . . SUPER100 OCTAL 100 173 | # . . SUPER101 OCTAL 120 174 | # SUPER110 OCTAL 140 175 | 176 | SUPERSW EXTEND 177 | WRITE SUPERBNK # WRITE BITS 7-6-5 OF THE ACCUMULATOR INTO 178 | # CHANNEL 07 179 | TC Q # TC TO INSTRUCTION FOLLOWING 180 | # TC SUPERSW 181 | 182 | 183 | 184 | -------------------------------------------------------------------------------- /Comanche055/INTERPRETIVE_CONSTANTS.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: INTERPRETIVE_CONSTANTS.agc 3 | # Purpose: Part of the source code for Colossus 2A, AKA Comanche 055. 4 | # It is part of the source code for the Command Module's (CM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 1205-1206 10 | # Mod history: 2009-05-13 RSB Adapted from the Colossus249/ file of the 11 | # same name, using Comanche055 page images. 12 | # 13 | # This source code has been transcribed or otherwise adapted from digitized 14 | # images of a hardcopy from the MIT Museum. The digitization was performed 15 | # by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many 16 | # thanks to both. The images (with suitable reduction in storage size and 17 | # consequent reduction in image quality as well) are available online at 18 | # www.ibiblio.org/apollo. If for some reason you find that the images are 19 | # illegible, contact me at info@sandroid.org about getting access to the 20 | # (much) higher-quality images which Paul actually created. 21 | # 22 | # Notations on the hardcopy document read, in part: 23 | # 24 | # Assemble revision 055 of AGC program Comanche by NASA 25 | # 2021113-051. 10:28 APR. 1, 1969 26 | # 27 | # This AGC program shall also be referred to as 28 | # Colossus 2A 29 | 30 | # Page 1205 31 | SETLOC INTPRET1 32 | BANK 33 | 34 | COUNT 23/ICONS 35 | 36 | DP1/4TH 2DEC .25 37 | 38 | UNITZ 2DEC 0 39 | 40 | UNITY 2DEC 0 41 | 42 | UNITX 2DEC .5 43 | 44 | ZEROVECS 2DEC 0 45 | 46 | 2DEC 0 47 | 48 | 2DEC 0 49 | 50 | DPHALF = UNITX 51 | DPPOSMAX OCT 37777 52 | OCT 37777 53 | 54 | # Page 1206 55 | # INTERPRETIVE CONSTANTS IN THE OTHER HALF-MEMORY 56 | 57 | SETLOC INTPRET2 58 | BANK 59 | 60 | COUNT 14/ICONS 61 | 62 | ZUNIT 2DEC 0 63 | 64 | YUNIT 2DEC 0 65 | 66 | XUNIT 2DEC .5 67 | 68 | ZEROVEC 2DEC 0 69 | 70 | 2DEC 0 71 | 72 | 2DEC 0 73 | 74 | OCT 77777 # -0,-6,-12 MUST REMAIN IN THIS ORDER 75 | DEC-6 DEC -6 76 | DEC-12 DEC -12 77 | LODPMAX 2OCT 3777737777 # THESE TWO CONSTANTS MUST REMAIN 78 | 79 | LODPMAX1 2OCT 3777737777 # ADJACENT AND THE SAME FOR INTEGRATION 80 | 81 | ZERODP = ZEROVEC 82 | HALFDP = XUNIT 83 | -------------------------------------------------------------------------------- /Comanche055/INTERRUPT_LEAD_INS.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: INTERRUPT_LEAD_INS.agc 3 | # Purpose: Part of the source code for Comanche, build 055. 4 | # It is part of the source code for the Command Module's (CM) 5 | # Apollo Guidance Computer (AGC), Apollo 11. 6 | # Assembler: yaYUL 7 | # Reference: pp. 131-132 8 | # Contact: Ron Burkey , 9 | # Fabrizio Bernardini 10 | # Website: http://www.ibiblio.org/apollo. 11 | # Mod history: 09/05/09 FB Transcription of Batch FB-1 Assignment. 12 | # 13 | # The contents of the "Comanche055" files, in general, are transcribed 14 | # from scanned documents. 15 | # 16 | # Assemble revision 055 of AGC program Comanche by NASA 17 | # 2021113-051. April 1, 1969. 18 | # 19 | # This AGC program shall also be referred to as Colossus 2A 20 | # 21 | # Prepared by 22 | # Massachusetts Institute of Technology 23 | # 75 Cambridge Parkway 24 | # Cambridge, Massachusetts 25 | # 26 | # under NASA contract NAS 9-4065. 27 | # 28 | # Refer directly to the online document mentioned above for further 29 | # information. Please report any errors to info@sandroid.org. 30 | 31 | # Page 131 32 | SETLOC 4000 33 | 34 | COUNT 02/RUPTS 35 | 36 | INHINT # GO 37 | CAF GOBB 38 | XCH BBANK 39 | TCF GOPROG 40 | 41 | DXCH ARUPT # T6RUPT 42 | EXTEND 43 | DCA T6LOC 44 | DTCB 45 | 46 | DXCH ARUPT # T5RUPT 47 | CS TIME5 48 | AD .5SEC 49 | TCF T5RUPT 50 | 51 | DXCH ARUPT # T3RUPT 52 | CAF T3RPTBB 53 | XCH BBANK 54 | TCF T3RUPT 55 | 56 | DXCH ARUPT # T4RUPT 57 | CAF T4RPTBB 58 | XCH BBANK 59 | TCF T4RUPT 60 | 61 | DXCH ARUPT # KEYRUPT1 62 | CAF KEYRPTBB 63 | XCH BBANK 64 | TCF KEYRUPT1 65 | 66 | DXCH ARUPT # KEYRUPT2 67 | CAF MKRUPTBB 68 | XCH BBANK 69 | TCF MARKRUPT 70 | 71 | DXCH ARUPT # UPRUPT 72 | CAF UPRPTBB 73 | XCH BBANK 74 | TCF UPRUPT 75 | 76 | DXCH ARUPT # DOWNRUPT 77 | CAF DWNRPTBB 78 | XCH BBANK 79 | TCF DODOWNTM 80 | 81 | DXCH ARUPT # RADAR RUPT 82 | # Page 132 83 | CAF RDRPTBB 84 | XCH BBANK 85 | TCF VHFREAD 86 | 87 | DXCH ARUPT # HAND CONTROL RUPT 88 | CAF HCRUPTBB 89 | XCH BBANK 90 | TCF RESUME +3 # NOT USED 91 | 92 | EBANK= LST1 # RESTART USES E0,E3 93 | GOBB BBCON GOPROG 94 | 95 | EBANK= LST1 96 | T3RPTBB BBCON T3RUPT 97 | 98 | EBANK= KEYTEMP1 99 | KEYRPTBB BBCON KEYRUPT1 100 | 101 | EBANK= MRKBUF1 102 | MKRUPTBB BBCON MARKRUPT 103 | 104 | UPRPTBB = KEYRPTBB 105 | 106 | EBANK= DNTMBUFF 107 | DWNRPTBB BBCON DODOWNTM 108 | 109 | EBANK= DATATEST 110 | RDRPTBB BBCON VHFREAD 111 | 112 | EBANK= TIME1 113 | HCRUPTBB BBCON RESUME # NOT USED 114 | 115 | EBANK= DSRUPTSW 116 | T4RPTBB BBCON T4RUPT 117 | 118 | EBANK= TIME1 119 | T5RPTBB BBCON T5RUPT 120 | 121 | T5RUPT EXTEND 122 | BZMF NOQBRSM 123 | EXTEND 124 | DCA T5LOC 125 | DTCB 126 | 127 | 128 | 129 | -------------------------------------------------------------------------------- /Comanche055/KALCMANU_STEERING.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: KALCMANU_STEERING.agc 3 | # Purpose: Part of the source code for Comanche, build 055. 4 | # It is part of the source code for the Command Module's (CM) 5 | # Apollo Guidance Computer (AGC), Apollo 11. 6 | # Assembler: yaYUL 7 | # Reference: pp. 414-419 8 | # Contact: Onno Hommes . 9 | # Website: www.ibiblio.org/apollo. 10 | # Mod history: 05/07/09 OH Transcription Batch 1 Assignment 11 | # 12 | # The contents of the "Comanche055" files, in general, are transcribed 13 | # from scanned documents. 14 | # 15 | # Assemble revision 055 of AGC program Comanche by NASA 16 | # 2021113-051. April 1, 1969. 17 | # 18 | # This AGC program shall also be referred to as Colossus 2A 19 | # 20 | # Prepared by 21 | # Massachusetts Institute of Technology 22 | # 75 Cambridge Parkway 23 | # Cambridge, Massachusetts 24 | # 25 | # under NASA contract NAS 9-4065. 26 | # 27 | # Refer directly to the online document mentioned above for further information. 28 | # Please report any errors to info@sandroid.org. 29 | 30 | # Page 414 31 | # GENERATION OF STEERING COMMANDS FOR DIGITAL AUTOPILOT FREE FALL MANEUVERS 32 | # 33 | # NEW COMMANDS WILL BE GENERATED EVERY ONE SECOND DURING THE MANEUVER 34 | 35 | BANK 15 36 | 37 | SETLOC KALCMON1 38 | BANK 39 | 40 | EBANK= BCDU 41 | 42 | COUNT 22/KALC 43 | 44 | NEWDELHI CS HOLDFLAG # SEE IF MANEUVER HAS BEEN INTERRUPTED 45 | EXTEND # BY ASTRONAUT. 46 | BZMF NOGO -2 # IF SO, TERMINATE KALCMANU 47 | NEWANGL TC INTPRET 48 | AXC,1 AXC,2 49 | MIS # COMPUTE THE NEW MATRIX FROM S/C TO 50 | DEL # STABLE MEMBER AXES 51 | CALL 52 | MXM3 53 | VLOAD STADR 54 | STOVL MIS +12D # CALCULATE NEW DESIRED CDU ANGLES 55 | STADR 56 | STOVL MIS +6D 57 | STADR 58 | STORE MIS 59 | AXC,1 CALL 60 | MIS 61 | DCMTOCDU # PICK UP THE NEW CDU ANGLES FROM MATRIX 62 | RTB 63 | V1STO2S 64 | STORE NCDU # NEW CDU ANGLES 65 | BONCLR EXIT 66 | CALCMAN2 67 | MANUSTAT # TO START MANEUVER 68 | CAF TWO # +0 OTHERWISE 69 | INCRDCDU TS KSPNDX 70 | DOUBLE 71 | TS KDPNDX 72 | INDEX KSPNDX 73 | CA NCDU # NEW DESIRED CDU ANGLES 74 | EXTEND 75 | INDEX KSPNDX 76 | MSU BCDU # INITIAL S/C ANGLE OR PREVIOUS DESIRED 77 | EXTEND # CDU ANGLES 78 | MP QUADROT 79 | INDEX KDPNDX 80 | DXCH DELCDUX # ANGEL INCREMENTS TO BE ADDED TO 81 | # Page 415 82 | INDEX KSPNDX # DCDU EVERY TENTH SEC 83 | CA NCDU # BY LEM DAP 84 | INDEX KSPNDX 85 | XCH BCDU 86 | INDEX KDPNDX 87 | TS CDUXD 88 | CCS KSPNDX 89 | TCF INCRDCDU # LOOP FOR THREE AXES 90 | 91 | RELINT 92 | # COMPARE PRESENT TIME WITH TIME TO TERMINATE MANEUVER 93 | 94 | TMANUCHK TC TIMECHK 95 | TC POSTJUMP 96 | CADR CONTMANU 97 | 98 | CAF ONE 99 | MANUSTAL TC WAITLIST 100 | EBANK= BCDU 101 | 2CADR MANUSTOP 102 | 103 | RELINT 104 | TCF ENDOFJOB 105 | 106 | 107 | TIMECHK EXTEND 108 | DCS TIME2 109 | DXCH TTEMP 110 | EXTEND 111 | DCA TM 112 | DAS TTEMP 113 | CCS TTEMP 114 | TC Q 115 | TCF +2 116 | TCF 2NDRETRN 117 | CCS TTEMP +1 118 | TC Q 119 | TCF MANUOFF 120 | COM 121 | MANUOFF AD 1SEC 122 | EXTEND 123 | BZMF 2NDRETRN 124 | INCR Q 125 | 2NDRETRN INCR Q 126 | INCR Q 127 | TC Q 128 | 129 | SETLOC MANUSTUF 130 | BANK 131 | # Page 416 132 | MANUSTAT EXIT # INITIALIZATION ROUTINE 133 | EXTEND # FOR AUTOMATIC MANEUVERS 134 | DCA TIME2 135 | DAS TM # TM+T0 MANEUVER COMPLETION TIME 136 | CS 1SEC 137 | TS L 138 | CS ZERO 139 | DAS TM # (TM+T0)-1 140 | INHINT 141 | CS ONE # ENABLE AUTOPILOT TO PERFORM 142 | TS HOLDFLAG # AUTOMATIC MANEUVERS 143 | CS RATEINDX # SEE IF MANEUVERING AT HIGH RATE 144 | AD SIX 145 | EXTEND 146 | BZMF HIGHGAIN 147 | TCF +4 148 | HIGHGAIN CS RCSFLAGS # IF SO, SET HIGH RATE FLAG (BIT 15 OF 149 | MASK BIT15 # RCSFLAGS) 150 | ADS RCSFLAGS 151 | DXCH BRATE # X-AXIS MANEUVER RATE 152 | DXCH WBODY 153 | DXCH BRATE +2 # Y-AXIS MANEUVER RATE 154 | DXCH WBODY1 155 | DXCH BRATE +4 # Z-AXIS MANEUVER RATE 156 | DXCH WBODY2 157 | CA BIASTEMP +1 # INSERT ATTITUDE ERROR BIASES 158 | TS BIAS # INTO AUTOPILOT 159 | CA BIASTEMP +3 160 | TS BIAS1 161 | CA BIASTEMP +5 162 | TS BIAS2 163 | CA TIME1 164 | AD 1SEC 165 | XCH NEXTIME 166 | TC POSTJUMP 167 | CADR INCRDCDU -1 168 | 169 | CONTMANU INHINT # CONTINUE WITH UPDATE PROCESS 170 | CS TIME1 171 | AD NEXTIME 172 | CCS A 173 | AD ONE 174 | TCF MANUCALL 175 | AD NEGMAX 176 | COM 177 | MANUCALL TC WAITLIST 178 | EBANK= BCDU 179 | 2CADR UPDTCALL 180 | 181 | RELINT 182 | # Page 417 183 | CAF 1SEC # INCREMENT TIME FOR NEXT UPDATE 184 | ADS NEXTIME 185 | TCF ENDOFJOB 186 | 187 | 188 | UPDTCALL CAF PRIO26 # CALL FOR UPDATE 189 | TC FINDVAC # OF STEERING COMMANDS 190 | EBANK= BCDU 191 | 2CADR NEWDELHI 192 | 193 | TC TASKOVER 194 | 195 | # Page 418 196 | # ROUTINE FOR TERMINATING AUTOMATIC MANEUVERS 197 | 198 | SETLOC KALCMON3 199 | BANK 200 | 201 | MANUSTOP TC STOPYZ 202 | TC IBNKCALL 203 | CADR LOADYZ 204 | 205 | ENDROLL CA CPHI 206 | TS CDUXD # SET CDUXD TO THE COMMANDED OUTER GIMBAL 207 | TC STOPRATE 208 | ENDMANU CA ATTPRIO # RESTORE USERS PRIO 209 | TS NEWPRIO 210 | 211 | CA ZERO # ZERO ATTCADR 212 | DXCH ATTCADR 213 | 214 | TC SPVAC # RETURN TO USER OF GOMANUR 215 | 216 | TC TASKOVER 217 | 218 | SETLOC STOPRAT 219 | BANK 220 | STOPRATE CAF ZERO 221 | TS DELCDUX 222 | TS DELCDUX +1 # ZERO ROLL INCREMENTAL ANGLES 223 | TS WBODY # RATE 224 | TS WBODY +1 225 | TS BIAS # BIAS 226 | 227 | CS BIT15 # MAKE SURE HIGH RATE FLAG (BIT 15 OF 228 | MASK RCSFLAGS # RCSFLAGS) IS RESET. 229 | TS RCSFLAGS 230 | 231 | STOPYZ CAF ZERO 232 | TS DELCDUY # ZERO PITCH, YAW 233 | TS DELCDUY +1 # INCREMENTAL ANGLES 234 | TS DELCDUZ 235 | TS DELCDUZ +1 236 | TS WBODY1 # RATES 237 | TS WBODY1 +1 238 | TS WBODY2 239 | TS WBODY2 +1 240 | TS BIAS1 # BIASES 241 | TS BIAS2 242 | TC Q 243 | 244 | SETLOC MANUSTUF 245 | BANK 246 | 247 | # Page 419 248 | ZEROERROR CA CDUX # PICK UP CDU ANGLES AND STORE IN 249 | TS CDUXD # CDU DESIRED 250 | CA CDUY 251 | TS CDUYD 252 | CA CDUZ 253 | TS CDUZD 254 | TC Q 255 | 256 | SETLOC KALCMON1 257 | BANK 258 | 259 | LOADCDUD CA CPHI # STORE TERMINAL ANGLES INTO 260 | TS CDUXD # COMMAND ANGLES 261 | LOADYZ CA CTHETA 262 | TS CDUYD 263 | CA CPSI 264 | TS CDUZD 265 | TC Q 266 | -------------------------------------------------------------------------------- /Comanche055/KEYRUPT_UPRUPT.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: KEYRUPT_UPRUPT.agc 3 | # Purpose: Part of the source code for Comanche, build 055. It 4 | # is part of the source code for the Command Module's 5 | # (CM) Apollo Guidance Computer (AGC), Apollo 11. 6 | # Assembler: yaYUL 7 | # Reference: pp. 1449-1451 8 | # Contact: Ron Burkey 9 | # Website: http://www.ibiblio.org/apollo. 10 | # Mod history: 2009-05-07 RSB Adapted from Colossus249 file of the same 11 | # name, and page images. Corrected various 12 | # typos in the transcription of program 13 | # comments, and these should be back-ported 14 | # to Colossus249. 15 | # 16 | # The contents of the "Comanche055" files, in general, are transcribed 17 | # from scanned documents. 18 | # 19 | # Assemble revision 055 of AGC program Comanche by NASA 20 | # 2021113-051. April 1, 1969. 21 | # 22 | # This AGC program shall also be referred to as Colossus 2A 23 | # 24 | # Prepared by 25 | # Massachusetts Institute of Technology 26 | # 75 Cambridge Parkway 27 | # Cambridge, Massachusetts 28 | # 29 | # under NASA contract NAS 9-4065. 30 | # 31 | # Refer directly to the online document mentioned above for further 32 | # information. Please report any errors to info@sandroid.org. 33 | 34 | # Page 1449 35 | BANK 14 36 | SETLOC KEYRUPT 37 | BANK 38 | COUNT* $$/KEYUP 39 | 40 | KEYRUPT1 TS BANKRUPT 41 | XCH Q 42 | TS QRUPT 43 | TC LODSAMPT # TIME IS SNATCHED IN RUPT FOR NOUN 65. 44 | CAF LOW5 45 | EXTEND 46 | RAND MNKEYIN # CHECK IF KEYS 5M-1M ON 47 | KEYCOM TS RUPTREG4 48 | CS FLAGWRD5 49 | MASK BIT15 50 | ADS FLAGWRD5 51 | 52 | ACCEPTUP CAF CHRPRIO # (NOTE: RUPTREG4 = KEYTEMP1) 53 | TC NOVAC 54 | EBANK= DSPCOUNT 55 | 2CADR CHARIN 56 | 57 | CA RUPTREG4 58 | INDEX LOCCTR 59 | TS MPAC # LEAVE 5 BIT KEY CODE IN MPAC FOR CHARIN 60 | TC RESUME 61 | 62 | # Page 1450 63 | # UPRUPT PROGRAM 64 | 65 | UPRUPT TS BANKRUPT 66 | XCH Q 67 | TS QRUPT 68 | TC LODSAMPT # TIME IS SNATCHED IN RUPT FOR NOUN 65. 69 | CAF ZERO 70 | XCH INLINK 71 | TS KEYTEMP1 72 | CAF BIT3 # TURN ON UPACT LIGHT 73 | EXTEND # (BIT 3 OF CHANNEL 11) 74 | WOR DSALMOUT 75 | UPRPT1 CAF LOW5 # TEST FOR TRIPLE CHAR REDUNDANCY 76 | MASK KEYTEMP1 # LOW5 OF WORD 77 | XCH KEYTEMP1 # LOW5 INTO KEYTEMP1 78 | EXTEND 79 | MP BIT10 # SHIFT RIGHT 5 80 | TS KEYTEMP2 81 | MASK LOW5 # MID 5 82 | AD HI10 83 | TC UPTEST 84 | CAF BIT10 85 | EXTEND 86 | MP KEYTEMP2 # SHIFT RIGHT 5 87 | MASK LOW5 # HIGH 5 88 | COM 89 | TC UPTEST 90 | 91 | UPOK CS ELRCODE # CODE IS GOOD. IF CODE = `ERROR RESET', 92 | AD KEYTEMP1 # CLEAR UPLOCKFL (SET BIT4 OF FLAGWRD7 = 0) 93 | EXTEND # IF CODE DOES NOT = `ERROR RESET', ACCEPT 94 | BZF CLUPLOCK # CODE ONLY IF UPLOCKFL IS CLEAR (=0). 95 | 96 | CAF BIT4 # TEST UPLOCKFL FOR 0 OR 1 97 | MASK FLAGWRD7 98 | CCS A 99 | TC RESUME # UPLOCKFL = 1 100 | TC ACCEPTUP # UPLOCKFL = 0 101 | 102 | CLUPLOCK CS BIT4 # CLEAR UPLOCKFL (I.E., SET BIT 4 OF 103 | MASK FLAGWRD7 # FLAGWRD7 = 0) 104 | TS FLAGWRD7 105 | TC ACCEPTUP 106 | 107 | # CODE IS BAD 108 | TMFAIL2 CS FLAGWRD7 # LOCK OUT FURTHER UPLINK ACTIVITY 109 | MASK BIT4 # (BY SETTING UPLOCKFL = 1) UNTIL 110 | ADS FLAGWRD7 # `ERROR RESET' IS SENT VIA UPLINK. 111 | TC RESUME 112 | UPTEST AD KEYTEMP1 113 | # Page 1451 114 | CCS A 115 | TC TMFAIL2 116 | HI10 OCT 77740 117 | TC TMFAIL2 118 | TC Q 119 | 120 | ELRCODE OCT 22 121 | 122 | # `UPLINK ACTIVITY LIGHT' IS TURNED OFF BY ..... 123 | # 1. VBRELDSP 124 | # 2. ERROR RESET 125 | # 3. UPDATE PROGRAM (P27) ENTERED BY V70,V71,V72, AND V73. 126 | # 127 | # THE RECEPTION OF A BAD CODE (I.E., CCC FAILURE) LOCKS OUT FURTHER UPLINK ACTIVITY BY SETTING BIT4 OF FLAGWRD7 = 1. 128 | # THIS INDICATION WILL BE TRANSFERRED TO THE GROUND BY THE DOWNLINK WHICH DOWNLINKS ALL FLAGWORDS. 129 | # WHEN UPLINK ACTIVITY IS LOCKED OUT, IT CAN BE ALLOWED WHEN THE GROUND UPLINKS AND `ERROR RESET' CODE. 130 | # (IT IS RECOMMENDED THAT THE `ERROR LIGHT RESET' CODE IS PRECEEDED BY 16 BITS THE FIRST OF WHICH IS 1 FOLLOWED 131 | # BY 15 ZEROS. THIS WILL ELIMINATE EXTRANEOUS BITS FROM INLINK WHICH MAY HAVE BEEN LEFT OVER FROM THE ORIGINAL 132 | # FAILURE). 133 | # 134 | # UPLINK ACTIVITY IS ALSO ALLOWED (UNLOCKED) DURING FRESH START WHEN FRESH START SETS BIT4 OF FLAGWRD7 = 0. 135 | 136 | 137 | -------------------------------------------------------------------------------- /Comanche055/LUNAR_AND_SOLAR_EPHEMERIDES_SUBROUTINES.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: LUNAR_AND_SOLAR_EPHEMERIDES_SUBROUTINES.agc 3 | # Purpose: Part of the source code for Comanche, build 055. It 4 | # is part of the source code for the Command Module's 5 | # (CM) Apollo Guidance Computer (AGC), Apollo 11. 6 | # Assembler: yaYUL 7 | # Reference: pp. 785-788 8 | # Contact: Ron Burkey 9 | # Website: http://www.ibiblio.org/apollo. 10 | # Mod history: 2009-05-12 RSB Adapted from Colossus249 file of the same 11 | # name and Comanche 055 page images. 12 | # 2009-07-26 RSB Added annotations related to computation 13 | # of the ephemeral(?) polynomials. 14 | # 15 | # The contents of the "Comanche055" files, in general, are transcribed 16 | # from scanned documents. 17 | # 18 | # Assemble revision 055 of AGC program Comanche by NASA 19 | # 2021113-051. April 1, 1969. 20 | # 21 | # This AGC program shall also be referred to as Colossus 2A 22 | # 23 | # Prepared by 24 | # Massachusetts Institute of Technology 25 | # 75 Cambridge Parkway 26 | # Cambridge, Massachusetts 27 | # 28 | # under NASA contract NAS 9-4065. 29 | # 30 | # Refer directly to the online document mentioned above for further 31 | # information. Please report any errors to info@sandroid.org. 32 | 33 | # Page 785 34 | # LUNAR AND SOLAR EPHEMERIDES SUBROUTINES 35 | # 36 | # FUNCTIONAL DESCRIPTION 37 | # 38 | # THESE SUBROUTINES ARE USED TO DETERMINE THE POSITION AND VELOCITY 39 | # VECTORS OF THE SUN AND THE MOON RELATIVE TO THE EARTH AT THE 40 | # SPECIFIED GROUND ELAPSED TIME INPUT BY THE USER. 41 | # 42 | # THE POSITION OF THE MOON IS STORED IN THE COMPUTER IN THE FORM OF 43 | # A NINTH DEGREE POLYNOMIAL APPROXIMATION WHICH IS VALID OVER A 15 44 | # DAY INTERVAL BEGINNING SHORTLY BEFORE LAUNCH. THEREFORE THE TIME 45 | # INPUT BY THE USER SHOULD FALL WITHIN THIS 15 DAY INTERVAL. 46 | ## The 9th-degree polynomial spoken of here is a pad load, meaning 47 | ## that it is not actually hardcoded into the software. Additional 48 | ## information about calculating the polynomial can be found on the 49 | ## 50 | ## Orbiter NASSP wiki, as well as information about calculation 51 | ## of the 52 | ## solar ephemerides. 53 | # 54 | # LSPOS COMPUTES THE POSITION VECTORS OF THE SUN AND THE MOON. 55 | # 56 | # LUNPOS COMPUTES THE POSITION VECTOR OF THE MOON. 57 | # 58 | # LUNVEL COMPUTES THE VELOCITY VECTOR OF THE MOON. 59 | # 60 | # SOLPOS COMPUTES THE POSITION VECTOR OF THE SUN. 61 | # 62 | # CALLING SEQUENCE 63 | # 64 | # DLOAD CALL 65 | # TIME GROUND ELAPSED TIME 66 | # SUBROUTINE LSPOS OR LUNPOS OR LUNVEL OR SOLPOS 67 | # 68 | # INPUT 69 | # 70 | # 1) SPECIFIED GROUND ELAPSED TIME IN CS x B-28 LOADED IN MPAC. 71 | # 72 | # 2) TIMEMO -- TIME AT THE CENTER OF THE RANGE OVER WHICH THE LUNAR 73 | # POSITION POLYNOMIAL IS VALID IN CS x B-42. 74 | # 75 | # 3) VECOEM -- VECTOR COEFFICIENTS OF THE LUNAR POSITION POLYNOMIAL 76 | # LOADED IN DESCENDING SEQUENCE IN METERS/CS**N x B-2 77 | # 78 | # 4) RESO -- POSITION VECTOR OF THE SUN RELATIVE TO THE EARTH AT 79 | # TIMEMO IN METERS x B-38 80 | # 81 | # 5) VESO -- VELOCITY VECTOR OF THE SUN RELATIVE TO THE EARTH AT 82 | # TIMEMO IN METERS/CS x B-9 83 | # 84 | # 6) OMEGAES -- ANGULAR VELOCITY OF THE VECTOR RESO AT TIMEMO IN 85 | # REV/CS x B+26 86 | # 87 | # ALL EXCEPT THE FIRST INPUT ARE INCLUDED IN THE PRE-LAUNCH 88 | # ERASABLE DATA LOAD. 89 | # 90 | # OUTPUT -- LSPOS 91 | # Page 786 92 | # 93 | # 1) 2D OF VAC AREA CONTAINS THE POSITION VECTOR OF THE SUN RELATIVE 94 | # TO THE EARTH AT TIME INPUT BY THE USER IN METERS x B-38. 95 | # 96 | # 2) MPAC CONTAINS THE POSITION VECTOR OF THE MOON RELATIVE TO THE 97 | # EARTH AT TIME INPUT BY THE USER IN METERS x B-29 98 | # 99 | # OUTPUT -- LUNPOS 100 | # 101 | # MPAC CONTAINS THE POSITION VECTOR OF THE MOON RELATIVE TO THE 102 | # EARTH AT THE TIME INPUT BY USER IN METERS x B-29 103 | # 104 | # OUTPUT -- LUNVEL 105 | # 106 | # MPAC CONTAINS THE VELOCITY VECTOR OF THE MOON RELATIVE TO THE 107 | # EARTH AT THE TIME INPUT BY THE USER IN METERS/CS x B-7 108 | # 109 | # OUTPUT -- SOLPOS 110 | # 111 | # MPAC CONTAINS THE POSITION VECTOR OF THE SUN RELATIVE TO THE EARTH 112 | # AT TIME INPUT BY THE USER IN METERS x B-38. 113 | # 114 | # SUBROUTINES USED 115 | # 116 | # NONE 117 | # 118 | # REMARKS 119 | # 120 | # THE VAC AREA IS USED FOR STORAGE OF INTERMEDIATE AND FINAL RESULTS 121 | # OF COMPUTATIONS. 122 | # 123 | # S1, X1, AND X2 ARE USED BY THESE SUBROUTINES. 124 | # 125 | # PRELAUNCH ERASABLE DATA LOAD ARE ONLY ERASABLE STORAGE USED BY 126 | # THESE SUBROUTINES. 127 | # 128 | # RESTARTS DURING OPERATION OF THESE SUBROUTINES MUST BE HANDLED BY 129 | # THE USER. 130 | 131 | BANK 36 132 | SETLOC EPHEM 133 | BANK 134 | 135 | COUNT* $$/EPHEM 136 | EBANK= END-E7 137 | LSPOS AXT,2 # COMPUTES POSITION VECTORS OF BOTH THE 138 | RESA # SUN AND THE MOON. THE POSITION VECTOR 139 | AXT,1 GOTO # OF THE SUN IS STORED IN 2D OF THE VAC 140 | RES # AREA. THE POSITION VECTOR OF THE MOON 141 | LSTIME # IS STORED IN MPAC. 142 | LUNPOS AXT,1 GOTO # COMPUTES THE POSITION VECTOR OF THE MOON 143 | REM # AND STORES IT IN MPAC. 144 | LSTIME 145 | # Page 787 146 | LUNVEL AXT,1 GOTO # COMPUTES THE VELOCITY VECTOR OF THE MOON 147 | VEM # AND STORES IT IN MPAC. 148 | LSTIME 149 | SOLPOS STQ AXT,1 # COMPUTES THE POSITION VECTOR OF THE SUN 150 | X2 # AND STORES IT IN MPAC. 151 | RES 152 | LSTIME SETPD SR 153 | 0D 154 | 14D 155 | TAD DCOMP 156 | TEPHEM 157 | TAD DCOMP 158 | TIMEMO 159 | SL SSP 160 | 16D 161 | S1 162 | 6D 163 | GOTO 164 | X1 165 | RES PUSH DMP # PD- 2 166 | OMEGAES 167 | PUSH COS # PD- 4 168 | VXSC PDDL # PD- 8 169 | RESO 170 | SIN PDVL # PD-10 171 | RESO 172 | PUSH UNIT # PD-16 173 | VXV UNIT 174 | VESO 175 | VXV VSL1 # PD-10 176 | VXSC VAD # PD-02 177 | VSL1 GOTO # RES IN METERS x B-38 IN MPAC. 178 | X2 179 | RESA STODL 2D # RES IN METERS x B-38 IN 2D OF VAC. PD- 0 180 | REM AXT,1 PDVL # PD- 2 181 | 54D 182 | VECOEM 183 | REMA VXSC VAD* 184 | 0D 185 | VECOEM +60D,1 186 | TIX,1 VSL2 # REM IN METERS x B-29 IN MPAC. 187 | REMA 188 | RVQ 189 | VEM AXT,1 PDDL # PD- 2 190 | 48D 191 | NINEB4 192 | PUSH VXSC # PD- 4 193 | VECOEM 194 | VEMA VXSC 195 | 0D 196 | # Page 788 197 | STODL 4D # PD- 2 198 | DSU PUSH # PD- 4 199 | ONEB4 200 | VXSC* VAD 201 | VECOEM +54D,1 202 | 4D 203 | TIX,1 VSL2 # VEM IN METERS/CS x B-7 IN MPAC. 204 | VEMA 205 | RVQ 206 | NINEB4 2DEC 9.0 B-4 207 | 208 | ONEB4 2DEC 1.0 B-4 209 | 210 | 211 | 212 | -------------------------------------------------------------------------------- /Comanche055/LUNAR_LANDMARK_SELECTION_FOR_CM.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: LUNAR_LANDMARK_SELECTION_FOR_CM.agc 3 | # Purpose: Part of the source code for Colossus 2A, AKA Comanche 055. 4 | # It is part of the source code for the Command Module's (CM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Jim Lawton . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 936 10 | # Mod history: 2009-05-11 JVL Adapted from the Colossus249/ file 11 | # of the same name, using Comanche055 page 12 | # images. 13 | # 14 | # This source code has been transcribed or otherwise adapted from digitized 15 | # images of a hardcopy from the MIT Museum. The digitization was performed 16 | # by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many 17 | # thanks to both. The images (with suitable reduction in storage size and 18 | # consequent reduction in image quality as well) are available online at 19 | # www.ibiblio.org/apollo. If for some reason you find that the images are 20 | # illegible, contact me at info@sandroid.org about getting access to the 21 | # (much) higher-quality images which Paul actually created. 22 | # 23 | # Notations on the hardcopy document read, in part: 24 | # 25 | # Assemble revision 055 of AGC program Comanche by NASA 26 | # 2021113-051. 10:28 APR. 1, 1969 27 | # 28 | # This AGC program shall also be referred to as 29 | # Colossus 2A 30 | 31 | # Page 936 32 | 33 | 34 | # *** END OF TROUBLE .043 *** 35 | 36 | -------------------------------------------------------------------------------- /Comanche055/MYSUBS.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: MYSUBS.agc 3 | # Purpose: Part of the source code for Colossus 2A, AKA Comanche 055. 4 | # It is part of the source code for the Command Module's (CM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 999-1001 10 | # Mod history: 2009-05-13 RSB Adapted from the Colossus249/ file of the 11 | # same name, using Comanche055 page images. 12 | # 2009-05-20 RSB Corrections: EBANK= changed from MPAC to KMPAC. 13 | # 14 | # This source code has been transcribed or otherwise adapted from digitized 15 | # images of a hardcopy from the MIT Museum. The digitization was performed 16 | # by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many 17 | # thanks to both. The images (with suitable reduction in storage size and 18 | # consequent reduction in image quality as well) are available online at 19 | # www.ibiblio.org/apollo. If for some reason you find that the images are 20 | # illegible, contact me at info@sandroid.org about getting access to the 21 | # (much) higher-quality images which Paul actually created. 22 | # 23 | # Notations on the hardcopy document read, in part: 24 | # 25 | # Assemble revision 055 of AGC program Comanche by NASA 26 | # 2021113-051. 10:28 APR. 1, 1969 27 | # 28 | # This AGC program shall also be referred to as 29 | # Colossus 2A 30 | 31 | # Page 999 32 | BANK 20 33 | SETLOC MYSUBS 34 | BANK 35 | 36 | EBANK= KMPAC 37 | SPCOS1 EQUALS SPCOS 38 | SPSIN1 EQUALS SPSIN 39 | SPCOS2 EQUALS SPCOS 40 | SPSIN2 EQUALS SPSIN 41 | 42 | 43 | COUNT 21/DAPMS 44 | 45 | # ONE AND ONE HALF PRECISION MULTIPLICATION ROUTINE 46 | 47 | SMALLMP TS KMPTEMP # A(X+Y) 48 | EXTEND 49 | MP KMPAC +1 50 | TS KMPAC +1 # AY 51 | CAF ZERO 52 | XCH KMPAC 53 | EXTEND 54 | MP KMPTEMP # AX 55 | DAS KMPAC # AX+AY 56 | TC Q 57 | 58 | 59 | # SUBROUTINE FOR DOUBLE PRECISION ADDITIONS OF ANGLES 60 | # A AND L CONTAIN A DP(1S) ANGLE SCALED BY 180 DEGS TO BE ADDED TO KMPAC. 61 | # RESULT IS PLACED IN KMPAC. TIMING = 6 MCT (22 MCT ON OVERFLOW) 62 | 63 | DPADD DAS KMPAC 64 | EXTEND 65 | BZF TSK +1 # NO OVERFLOW 66 | CCS KMPAC 67 | TCF DPADD+ # + OVERFLOW 68 | TCF +2 69 | TCF DPADD- # - OVERFLOW 70 | CCS KMPAC +1 71 | TCF DPADD2+ # UPPER = 0, LOWER + 72 | TCF +2 73 | COM # UPPER = 0, LOWER - 74 | AD POSMAX # LOWER = 0, A=0 75 | TS KMPAC +1 # CAN NOT OVERFLOW 76 | CA POSMAX # UPPER WAS = 0 77 | TSK TS KMPAC 78 | TC Q 79 | 80 | DPADD+ AD NEGMAX # KMPAC GREATER THAN 0 81 | TCF TSK 82 | 83 | # Page 1000 84 | DPADD- COM 85 | AD POSMAX # KMPAC LESS THAN 0 86 | TCF TSK 87 | 88 | DPADD2+ AD NEGMAX # CAN NOT OVERFLOW 89 | TS KMPAC +1 90 | CA NEGMAX # UPPER WAS = 0 91 | TCF TSK 92 | 93 | # Page 1001 (empty page) 94 | -------------------------------------------------------------------------------- /Comanche055/P76.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: P76.agc 3 | # Purpose: Part of the source code for Colossus 2A, AKA Comanche 055. 4 | # It is part of the source code for the Command Module's (CM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Hartmuth Gutsche . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: pp 511-513 10 | # Mod history: 2009-05-08 HG Adapting from the Luminary131/ file 11 | # of the same name, using Comanche055 page 12 | # images 0511.jpg - 0513.jpg. 13 | # 14 | # This source code has been transcribed or otherwise adapted from digitized 15 | # images of a hardcopy from the MIT Museum. The digitization was performed 16 | # by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many 17 | # thanks to both. The images (with suitable reduction in storage size and 18 | # consequent reduction in image quality as well) are available online at 19 | # www.ibiblio.org/apollo. If for some reason you find that the images are 20 | # illegible, contact me at info@sandroid.org about getting access to the 21 | # (much) higher-quality images which Paul actually created. 22 | # 23 | # Notations on the hardcopy document read, in part: 24 | # 25 | # Assemble revision 055 of AGC program Comanche by NASA 26 | # 2021113-051. 10:28 APR. 1, 1969 27 | # 28 | # This AGC program shall also be referred to as 29 | # Colossus 2A 30 | 31 | # Page 511 32 | # 1) PROGRAM NAME -- TARGET DELTA V PROGRAM (P76). 33 | # 2) FUNCTIONAL DESCRIPTION -- UPON ENTRY BY ASTRONAUT ACTION, P76 FLASHES DSKY REQUESTS TO THE ASTRONAUT 34 | # TO PROVIDE VIA DSKY (1) THE DELTA V TO BE APPLIED TO THE OTHER VEHICLE STATE VECTOR AND (2) THE 35 | # TIME (TIG) AT WHICH THE OTHER VEHICLE VELOCITY WAS CHANGED BY EXECUTION OF A THRUSTING MANEUVER. THE 36 | # OTHER VEHICLE STATE VECTOR IS INTEGRATED TO TIG AND UPDATED BY THE ADDITION OF DELTA V (DELTA V HAVING 37 | # BEEN TRANSFORMED FROM LV TO REF COSYS). USING INTEGRVS, THE PROGRAM THEN INTEGRATES THE OTHER 38 | # VEHICLE STATE VECTOR TO THE STATE VECTOR OF THIS VEHICLE, THUS INSURING THAT THE W-MATRIX AND BOTH VEHICLE 39 | # STATES CORRESPOND TO THE SAME TIME. 40 | # 3) ERASABLE INITIALIZATION REQUIRED -- NONE. 41 | # 4) CALLING SEQUENCES AND EXIT MODES -- CALLED BY ASTRONAUT REQUEST THRU DSKY V 37 E 76E. 42 | # EXITS BY TCF ENDOFJOB. 43 | # 5) OUTPUT -- OTHER VEHICLE STATE VECTOR INTEGRATED TO TIG AND INCREMENTED BY DELTA V IN REF COSYS. 44 | # THE PUSHLIST CONTAINS THE MATRIX BY WHICH THE INPUT DELTA V MUST BE POST-MULTIPLIED TO CONVERT FROM LV 45 | # TO REF COSYS. 46 | # 6) DEBRIS -- OTHER VEHICLE STATE VECTOR. 47 | # 7) SUBROUTINES CALLED -- BANKCALL, GOXDSPF, CSMPREC (OR LEMPREC), ATOPCSM (OR ATOPLEM), INTSTALL, INTWAKE, PHASCHNG 48 | # INTPRET, INTEGRVS, AND MINIRECT. 49 | # 8) FLAG USE -- MOONFLAG, CMOONFLG, INTYPFLG, RASFLAG, AND MARKCTR. 50 | 51 | BANK 30 52 | SETLOC P76LOC 53 | BANK 54 | 55 | COUNT* $$/P76 56 | 57 | EBANK= TIG 58 | 59 | P76 TC UPFLAG 60 | ADRES TRACKFLG 61 | 62 | CAF V06N84 # FLASH LAST DELTA V. 63 | TC BANKCALL # AND WAIT FOR KEYBOARD ACTION. 64 | CADR GOFLASH 65 | TCF ENDP76 66 | TC +2 # PROCEED 67 | TC -5 # STORE DATA AND REPEAT FLASHING 68 | CAF V06N84 +1 # FLASH VERB 06 NOUN 33, DISPLAY LAST TIG, 69 | TC BANKCALL # AND WAIT FOR KEYBOARD ACTION. 70 | CADR GOFLASH 71 | TCF ENDP76 72 | TC +2 73 | TC -5 74 | TC INTPRET # RETURN TO INTERPRETIVE CODE 75 | DLOAD # SET D(MPAC)=TIG IN CSEC B28 76 | TIG 77 | STCALL TDEC1 # SET TDEC1=TIG FOR ORBITAL INTEGRATION 78 | OTHPREC 79 | COMPMAT VLOAD UNIT 80 | RATT 81 | # Page 512 82 | VCOMP # U(-R) 83 | STORE 24D # U(-R) TO 24D 84 | VXV UNIT # U(-R) X V = U(V X R) 85 | VATT 86 | STORE 18D 87 | VXV UNIT # U(V X R) X U(-R) = U((R X V) X R) 88 | 24D 89 | STOVL 12D 90 | DELVOV 91 | VXM VSL1 # V(MPAC)=DELTA V IN REFCOSYS 92 | 12D 93 | VAD 94 | VATT 95 | STORE 6 # V(PD6)=VATT + DELTA V 96 | CALL # PREVENT WOULD-BE USER OF ORBITAL 97 | INTSTALL # INTEG FROM INTERFERING WITH UPDATING 98 | CALL 99 | P76SUB1 100 | VLOAD VSR* 101 | 6 102 | 0,2 103 | STOVL VCV 104 | RATT 105 | VSR* 106 | 0,2 107 | STODL RCV 108 | TIG 109 | STORE TET 110 | CLEAR DLOAD 111 | INTYPFLG 112 | TETTHIS 113 | INTOTHIS STCALL TDEC1 114 | INTEGRVS 115 | CALL 116 | INTSTALL 117 | CALL 118 | P76SUB1 # SET/CLEAR MOONFLAG 119 | VLOAD 120 | RATT1 121 | STORE RRECT 122 | STODL RCV 123 | TAT 124 | STOVL TET 125 | VATT1 126 | CALL 127 | MINIRECT 128 | EXIT 129 | TC PHASCHNG 130 | OCT 04024 131 | # Page 513 132 | TC UPFLAG 133 | ADRES REINTFLG 134 | 135 | TC INTPRET 136 | CALL 137 | ATOPOTH 138 | SSP EXIT 139 | QPRET 140 | OUT 141 | TC BANKCALL # PERMIT USE OF ORBITAL INTEGRATION 142 | CADR INTWAKE1 143 | OUT EXIT 144 | ENDP76 CAF ZERO 145 | TS MARKCTR # CLEAR RR TRACKING MARK COUNTER 146 | TS VHFCNT 147 | 148 | CAF NEGONE 149 | TS MRKBUF2 # INVALIDATE MARK BUFFER 150 | 151 | TCF GOTOP00H 152 | 153 | V06N84 NV 0684 154 | NV 0633 155 | P76SUB1 CLEAR SLOAD 156 | MOONFLAG 157 | X2 158 | BHIZ SET # X2=0...CLEAR MOONFLAG 159 | +2 # =2.....SET MOONFLAG 160 | MOONFLAG 161 | RVQ 162 | 163 | -------------------------------------------------------------------------------- /Comanche055/RCS-CSM_DAP_EXECUTIVE_PROGRAMS.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: RCS-CSM_DAP_EXECUTIVE_PROGRAMS.agc 3 | # Purpose: Part of the source code for Colossus 2A, AKA Comanche 055. 4 | # It is part of the source code for the Command Module's (CM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 1037-1038 10 | # Mod history: 2009-05-13 RSB Adapted from the Colossus249/ file of the 11 | # same name, using Comanche055 page images. 12 | # 2009-05-20 RSB A "Page N" comment was corrected. 13 | # 14 | # This source code has been transcribed or otherwise adapted from digitized 15 | # images of a hardcopy from the MIT Museum. The digitization was performed 16 | # by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many 17 | # thanks to both. The images (with suitable reduction in storage size and 18 | # consequent reduction in image quality as well) are available online at 19 | # www.ibiblio.org/apollo. If for some reason you find that the images are 20 | # illegible, contact me at info@sandroid.org about getting access to the 21 | # (much) higher-quality images which Paul actually created. 22 | # 23 | # Notations on the hardcopy document read, in part: 24 | # 25 | # Assemble revision 055 of AGC program Comanche by NASA 26 | # 2021113-051. 10:28 APR. 1, 1969 27 | # 28 | # This AGC program shall also be referred to as 29 | # Colossus 2A 30 | 31 | # Page 1037 32 | # CALCULATION OF AMGB, AMBG ONCE EVERY SECOND 33 | # 34 | # AMGB = 1 SIN(PSI) 0 35 | # 0 COS(PSI)COS(PHI) SIN(PHI) 36 | # 0 -COS(PSI)SIN(PHI) COS(PHI) 37 | # 38 | # AMBG = 1 -TAN(PSI)COS(PHI) TAN(PSI)SIN(PHI) 39 | # 0 COS(PHI)/COS(PSI) -SIN(PHI)/COS(PSI) 40 | # 0 SIN(PHI) COS(PHI) 41 | # 42 | # WHERE PHI AND PSI ARE CDU ANGLES 43 | 44 | 45 | BANK 20 46 | SETLOC DAPS8 47 | BANK 48 | 49 | COUNT* $$/DAPEX 50 | EBANK= KMPAC 51 | AMBGUPDT CA FLAGWRD6 # CHECK FOR RCS AUTOPILOT 52 | EXTEND 53 | BZMF ENDOFJOB # BIT15 = 0, BIT14 = 1 54 | MASK BIT14 # IF NOT RCS, EXIT 55 | EXTEND 56 | BZF ENDOFJOB # TO PROTECT TVC DAP ON SWITCHOVER 57 | 58 | CA CDUZ 59 | TC SPSIN2 60 | TS AMGB1 # CALCULATE AMGB 61 | CA CDUZ 62 | TC SPCOS2 63 | TS CAPSI # MUST CHECK FOR GIMBAL LOCK 64 | CAF QUADANGL # = 7.25 DEGREES JET QUAD ANGULAR OFFSET 65 | EXTEND 66 | MSU CDUX 67 | COM # CDUX - 7.25 DEG 68 | TC SPCOS1 69 | TS AMGB8 70 | EXTEND 71 | MP CAPSI 72 | TS AMGB4 73 | CAF QUADANGL 74 | EXTEND 75 | MSU CDUX 76 | COM # CDUX - 7.25 DEG 77 | TC SPSIN1 78 | TS AMGB5 79 | EXTEND 80 | MP CAPSI 81 | COM 82 | # Page 1038 83 | TS AMGB7 84 | TCF ENDOFJOB 85 | QUADANGL DEC 660 # = 7.25 DEGREES 86 | -------------------------------------------------------------------------------- /Comanche055/S-BAND_ANTENNA_FOR_CM.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: S-BAND_ANTENNA_FOR_CM.agc 3 | # Purpose: Part of the source code for Colossus 2A, AKA Comanche 055. 4 | # It is part of the source code for the Command Module's (CM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Jim Lawton . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 934-935 10 | # Mod history: 2009-05-11 JVL Adapted from the Colossus249/ file 11 | # of the same name, using Comanche055 page 12 | # images. 13 | # 14 | # This source code has been transcribed or otherwise adapted from digitized 15 | # images of a hardcopy from the MIT Museum. The digitization was performed 16 | # by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many 17 | # thanks to both. The images (with suitable reduction in storage size and 18 | # consequent reduction in image quality as well) are available online at 19 | # www.ibiblio.org/apollo. If for some reason you find that the images are 20 | # illegible, contact me at info@sandroid.org about getting access to the 21 | # (much) higher-quality images which Paul actually created. 22 | # 23 | # Notations on the hardcopy document read, in part: 24 | # 25 | # Assemble revision 055 of AGC program Comanche by NASA 26 | # 2021113-051. 10:28 APR. 1, 1969 27 | # 28 | # This AGC program shall also be referred to as 29 | # Colossus 2A 30 | 31 | # Page 934 32 | # S-BAND ANTENNA FOR CM 33 | 34 | BANK 23 35 | SETLOC SBAND 36 | BANK 37 | 38 | COUNT* $$/R05 39 | EBANK= EMSALT 40 | 41 | SBANDANT TC BANKCALL # V 64 E GETS US HERE 42 | CADR R02BOTH # CHECK IF IMU IS ON AND ALIGNED 43 | TC INTPRET 44 | RTB CALL 45 | LOADTIME # PICKUP CURRENT TIME SCALED B-28 46 | CDUTRIG # COMPUTE SINES AND COSINES OF CDU ANGLES 47 | STCALL TDEC1 # ADVANCE INTEGRATION TO TIME IN TDEC1 48 | CSMCONIC # USING CONIC INTEGRATION 49 | SLOAD BHIZ # ORIGIN OF REFERENCE INERTIAL SYSTEM IS 50 | X2 # EARTH = 0, MOON = 2 51 | EISOI 52 | VLOAD 53 | RATT 54 | STORE RCM # MOVE RATT TO PREVENT WIPEOUT 55 | DLOAD CALL # MOON, PUSH ON 56 | TAT # GET ORIGINAL TIME 57 | LUNPOS # COMPUTE POSITION VECTOR OF MOON 58 | VAD VCOMP # R= -(REM+RCM) = NEG. OF S/C POS. VEC 59 | RCM 60 | GOTO 61 | EISOI +2 62 | EISOI VLOAD VCOMP # EARTH, R= -RCM 63 | RATT 64 | SETPD MXV # RCS TO STABLE MEMBER: B-1X B-29X B+1 65 | 2D # 2D 66 | REFSMMAT # STABLE MEMBER. B-1X B-29X B+1= B-29 67 | VSL1 PDDL # 8D 68 | HI6ZEROS 69 | STOVL YAWANG # ZERO OUT YAWANG, SET UP FOR SMNB 70 | RCM # TRANSFORMATION. SM COORD. SCALED B-29 71 | CALL 72 | *SMNB* 73 | STORE R # SAVE NAV. BASE COORDINATES 74 | UNIT PDVL # 14D 75 | R 76 | VPROJ VSL2 # COMPUTE PROJECTION OF VECTOR INTO CM 77 | HIUNITZ # XY-PLANE, R-(R.UZ)UZ 78 | BVSU BOV # CLEAR OVERFLOW INDICATOR IF SET 79 | R 80 | COVCNV 81 | COVCNV UNIT BOV # TEST OVERFLOW FOR INDICATION OF NULL 82 | NOADJUST # VECTOR 83 | PUSH DOT # 20D 84 | # Page 935 85 | HIUNITX # COMPUTE YAW ANGLE = ACOS (URP.UX) 86 | SL1 ACOS # REVOLUTIONS SCALED B0 87 | PDVL DOT # 22D YAWANG 88 | URP 89 | HIUNITY # COMPUTE FOLLOWING: URP.UY 90 | SL1 BPL # POSITIVE 91 | NOADJUST # YES, 0-180 DEGREES 92 | DLOAD DSU # NO, 181-360 DEGREES 20D 93 | DPPOSMAX # COMPUTE 2 PI MINUS YAW ANGLE 94 | PUSH # 22D YAWANG 95 | NOADJUST VLOAD DOT # COMPUTE PITCH ANGLE 96 | UR # ACOS (UR.UZ) - PI/2 97 | HIUNITZ 98 | SL1 ACOS # REVOLUTIONS B0 99 | DSU 100 | HIDP1/4 101 | STODL RHOSB 102 | YAWANG 103 | STORE GAMMASB # PATCH FOR CHECKOUT 104 | EXIT 105 | CA EXTVBACT # IS BIT 5 STILL ON 106 | MASK BIT5 107 | EXTEND 108 | BZF ENDEXT # NO, WE HAVE BEEN ANSWERED 109 | CAF V06N51 # DISPLAY ANGLES 110 | TC BANKCALL 111 | CADR GOMARKFR 112 | TC B5OFF # TERMINATE 113 | TC B5OFF 114 | TC ENDOFJOB # RECYCLE 115 | CAF BIT3 # IMMEDIATE RETURN 116 | TC BLANKET # BLANK R3 117 | CAF BIT1 # DELAY MINIMUM TIME TO ALLOW DISPLAY IN 118 | TC BANKCALL 119 | CADR DELAYJOB 120 | TCF SBANDANT +2 121 | V06N51 VN 0651 122 | RCM EQUALS 2D 123 | UR EQUALS 8D 124 | URP EQUALS 14D 125 | YAWANG EQUALS 20D 126 | PITCHANG EQUALS 22D 127 | R EQUALS RCM 128 | SBANK= LOWSUPER 129 | 130 | -------------------------------------------------------------------------------- /Comanche055/SINGLE_PRECISION_SUBROUTINES.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: SINGLE_PRECISION_SUBROUTINES.agc 3 | # Purpose: Part of the source code for Colossus 2A, AKA Comanche 055. 4 | # It is part of the source code for the Command Module's (CM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 1207 10 | # Mod history: 2009-05-13 RSB Adapted from the Colossus249/ file of the 11 | # same name, using Comanche055 page images. 12 | # 13 | # This source code has been transcribed or otherwise adapted from digitized 14 | # images of a hardcopy from the MIT Museum. The digitization was performed 15 | # by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many 16 | # thanks to both. The images (with suitable reduction in storage size and 17 | # consequent reduction in image quality as well) are available online at 18 | # www.ibiblio.org/apollo. If for some reason you find that the images are 19 | # illegible, contact me at info@sandroid.org about getting access to the 20 | # (much) higher-quality images which Paul actually created. 21 | # 22 | # Notations on the hardcopy document read, in part: 23 | # 24 | # Assemble revision 055 of AGC program Comanche by NASA 25 | # 2021113-051. 10:28 APR. 1, 1969 26 | # 27 | # This AGC program shall also be referred to as 28 | # Colossus 2A 29 | 30 | # Page 1207 31 | BLOCK 02 32 | # SINGLE PRECISION SINE AND COSINE 33 | 34 | COUNT 02/INTER 35 | SPCOS AD HALF # ARGUMENTS SCALED AT PI 36 | SPSIN TS TEMK 37 | TCF SPT 38 | CS TEMK 39 | SPT DOUBLE 40 | TS TEMK 41 | TCF POLLEY 42 | XCH TEMK 43 | INDEX TEMK 44 | AD LIMITS 45 | COM 46 | AD TEMK 47 | TS TEMK 48 | TCF POLLEY 49 | TCF ARG90 50 | POLLEY EXTEND 51 | MP TEMK 52 | TS SQ 53 | EXTEND 54 | MP C5/2 55 | AD C3/2 56 | EXTEND 57 | MP SQ 58 | AD C1/2 59 | EXTEND 60 | MP TEMK 61 | DDOUBL 62 | TS TEMK 63 | TC Q 64 | ARG90 INDEX A 65 | CS LIMITS 66 | TC Q # RESULT SCALED AT 1 67 | # SPROOT WAS DELETED IN REV 51 OF MASTER. ASS. CONT. HAS CARDS. 68 | -------------------------------------------------------------------------------- /Comanche055/STAR_TABLES.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: STAR_TABLES.agc 3 | # Purpose: Part of the source code for Colossus 2A, AKA Comanche 055. 4 | # It is part of the source code for the Command Module's (CM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 1389-1393 10 | # Mod history: 2009-05-10 SN (Sergio Navarro). Started adapting 11 | # from the Colossus249/ file of the same 12 | # name, using Comanche055 page images. 13 | # 14 | # This source code has been transcribed or otherwise adapted from digitized 15 | # images of a hardcopy from the MIT Museum. The digitization was performed 16 | # by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many 17 | # thanks to both. The images (with suitable reduction in storage size and 18 | # consequent reduction in image quality as well) are available online at 19 | # www.ibiblio.org/apollo. If for some reason you find that the images are 20 | # illegible, contact me at info@sandroid.org about getting access to the 21 | # (much) higher-quality images which Paul actually created. 22 | # 23 | # Notations on the hardcopy document read, in part: 24 | # 25 | # Assemble revision 055 of AGC program Comanche by NASA 26 | # 2021113-051. 10:28 APR. 1, 1969 27 | # 28 | # This AGC program shall also be referred to as 29 | # Colossus 2A 30 | 31 | # Page 1389 32 | BANK 32 33 | SETLOC STARTAB 34 | BANK 35 | 36 | COUNT 14/STARS 37 | 38 | 2DEC +.8342971408 B-1 # STAR 37 X 39 | 2DEC -.2392481515 B-1 # STAR 37 Y 40 | 2DEC -.4966976975 B-1 # STAR 37 Z 41 | 42 | 2DEC +.8139832631 B-1 # STAR 36 X 43 | 2DEC -.5557243189 B-1 # STAR 36 Y 44 | 2DEC +.1691204557 B-1 # STAR 36 Z 45 | 46 | 2DEC +.4541086270 B-1 # STAR 35 X 47 | 2DEC -.5392368197 B-1 # STAR 35 Y 48 | 2DEC +.7092312789 B-1 # STAR 35 Z 49 | 50 | 2DEC +.3201817378 B-1 # STAR 34 X 51 | 2DEC -.4436021946 B-1 # STAR 34 Y 52 | 2DEC -.8370786986 B-1 # STAR 34 Z 53 | 54 | 2DEC +.5520184464 B-1 # STAR 33 X 55 | 2DEC -.7933187400 B-1 # STAR 33 Y 56 | 2DEC -.2567508745 B-1 # STAR 33 Z 57 | 58 | 2DEC +.4537196908 B-1 # STAR 32 X 59 | 2DEC -.8779508801 B-1 # STAR 32 Y 60 | 2DEC +.1527766153 B-1 # STAR 32 Z 61 | 62 | 2DEC +.2069525789 B-1 # STAR 31 X 63 | 2DEC -.8719885748 B-1 # STAR 31 Y 64 | 2DEC -.4436288486 B-1 # STAR 31 Z 65 | 66 | 2DEC +.1217293692 B-1 # STAR 30 X 67 | # Page 1390 68 | 2DEC -.7702732847 B-1 # STAR 30 Y 69 | 2DEC +.6259880410 B-1 # STAR 30 Z 70 | 71 | 2DEC -.1124304773 B-1 # STAR 29 X 72 | 2DEC -.9694934200 B-1 # STAR 29 Y 73 | 2DEC +.2178116072 B-1 # STAR 29 Z 74 | 75 | 2DEC -.1146237858 B-1 # STAR 28 X 76 | 2DEC -.3399692557 B-1 # STAR 28 Y 77 | 2DEC -.9334250333 B-1 # STAR 28 Z 78 | 79 | 2DEC -.3516499609 B-1 # STAR 27 X 80 | 2DEC -.8240752703 B-1 # STAR 27 Y 81 | 2DEC -.4441196390 B-1 # STAR 27 Z 82 | 83 | 2DEC -.5326876930 B-1 # STAR 26 X 84 | 2DEC -.7160644554 B-1 # STAR 26 Y 85 | 2DEC +.4511047742 B-1 # STAR 26 Z 86 | 87 | 2DEC -.7861763936 B-1 # STAR 25 X 88 | 2DEC -.5217996305 B-1 # STAR 25 Y 89 | 2DEC +.3311371675 B-1 # STAR 25 Z 90 | 91 | 2DEC -.6898393233 B-1 # STAR 24 X 92 | 2DEC -.4182330640 B-1 # STAR 24 Y 93 | 2DEC -.5909338474 B-1 # STAR 24 Z 94 | 95 | 2DEC -.5812035376 B-1 # STAR 23 X 96 | 2DEC -.2909171294 B-1 # STAR 23 Y 97 | 2DEC +.7599800468 B-1 # STAR 23 Z 98 | 99 | 2DEC -.9170097662 B-1 # STAR 22 X 100 | 2DEC -.3502146628 B-1 # STAR 22 Y 101 | # Page 1391 102 | 2DEC -.1908999176 B-1 # STAR 22 Z 103 | 104 | 2DEC -.4523440203 B-1 # STAR 21 X 105 | 2DEC -.0493710140 B-1 # STAR 21 Y 106 | 2DEC -.8904759346 B-1 # STAR 21 Z 107 | 108 | 2DEC -.9525211695 B-1 # STAR 20 X 109 | 2DEC -.0593434796 B-1 # STAR 20 Y 110 | 2DEC -.2986331746 B-1 # STAR 20 Z 111 | 112 | 2DEC -.9656605484 B-1 # STAR 19 X 113 | 2DEC +.0525933156 B-1 # STAR 19 Y 114 | 2DEC +.2544280809 B-1 # STAR 19 Z 115 | 116 | 2DEC -.8608205219 B-1 # STAR 18 X 117 | 2DEC +.4636213989 B-1 # STAR 18 Y 118 | 2DEC +.2098647835 B-1 # STAR 18 Z 119 | 120 | 2DEC -.7742591356 B-1 # STAR 17 X 121 | 2DEC +.6152504197 B-1 # STAR 17 Y 122 | 2DEC -.1482892839 B-1 # STAR 17 Z 123 | 124 | 2DEC -.4657947941 B-1 # STAR 16 X 125 | 2DEC +.4774785033 B-1 # STAR 16 Y 126 | 2DEC +.7450164351 B-1 # STAR 16 Z 127 | 128 | 2DEC -.3612508532 B-1 # STAR 15 X 129 | 2DEC +.5747270840 B-1 # STAR 15 Y 130 | 2DEC -.7342932655 B-1 # STAR 15 Z 131 | 132 | 2DEC -.4118589524 B-1 # STAR 14 X 133 | 2DEC +.9065485360 B-1 # STAR 14 Y 134 | 2DEC +.0924226975 B-1 # STAR 14 Z 135 | 136 | # Page 1392 137 | 2DEC -.1820751783 B-1 # STAR 13 X 138 | 2DEC +.9404899869 B-1 # STAR 13 Y 139 | 2DEC -.2869271926 B-1 # STAR 13 Z 140 | 141 | 2DEC -.0614937230 B-1 # STAR 12 X 142 | 2DEC +.6031563286 B-1 # STAR 12 Y 143 | 2DEC -.7952489957 B-1 # STAR 12 Z 144 | 145 | 2DEC +.1371725575 B-1 # STAR 11 X 146 | 2DEC +.6813721061 B-1 # STAR 11 Y 147 | 2DEC +.7189685267 B-1 # STAR 11 Z 148 | 149 | 2DEC +.2011399589 B-1 # STAR 10 X 150 | 2DEC +.9690337941 B-1 # STAR 10 Y 151 | 2DEC -.1432348512 B-1 # STAR 10 Z 152 | 153 | 2DEC +.3507315038 B-1 # STAR 9 X 154 | 2DEC +.8926333307 B-1 # STAR 9 Y 155 | 2DEC +.2831839492 B-1 # STAR 9 Z 156 | 157 | 2DEC +.4105636020 B-1 # STAR 8 X 158 | 2DEC +.4988110001 B-1 # STAR 8 Y 159 | 2DEC +.7632988371 B-1 # STAR 8 Z 160 | 161 | 2DEC +.7032235469 B-1 # STAR 7 X 162 | 2DEC +.7075846047 B-1 # STAR 7 Y 163 | 2DEC +.0692868685 B-1 # STAR 7 Z 164 | 165 | 2DEC +.5450107404 B-1 # STAR 6 X 166 | 2DEC +.5314955466 B-1 # STAR 6 Y 167 | 2DEC -.6484410356 B-1 # STAR 6 Z 168 | 169 | 2DEC +.0130968840 B-1 # STAR 5 X 170 | # Page 1393 171 | 2DEC +.0078062795 B-1 # STAR 5 Y 172 | 2DEC +.9998837600 B-1 # STAR 5 Z 173 | 174 | 2DEC +.4917678276 B-1 # STAR 4 X 175 | 2DEC +.2204887125 B-1 # STAR 4 Y 176 | 2DEC -.8423473935 B-1 # STAR 4 Z 177 | 178 | 2DEC +.4775639450 B-1 # STAR 3 X 179 | 2DEC +.1166004340 B-1 # STAR 3 Y 180 | 2DEC +.8708254803 B-1 # STAR 3 Z 181 | 182 | 2DEC +.9342640400 B-1 # STAR 2 X 183 | 2DEC +.1735073142 B-1 # STAR 2 Y 184 | 2DEC -.3115219339 B-1 # STAR 2 Z 185 | 186 | 2DEC +.8748658918 B-1 # STAR 1 X 187 | 2DEC +.0260879174 B-1 # STAR 1 Y 188 | 2DEC +.4836621670 B-1 # STAR 1 Z 189 | 190 | CATLOG DEC 6970 191 | 192 | 193 | 194 | -------------------------------------------------------------------------------- /Comanche055/SYSTEM_TEST_STANDARD_LEAD_INS.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: SYSTEM_TEST_STANDARD_LEAD_INS.agc 3 | # Purpose: Part of the source code for Comanche, build 055. 4 | # It is part of the source code for the Command Module's (CM) 5 | # Apollo Guidance Computer (AGC), Apollo 11. 6 | # Assembler: yaYUL 7 | # Reference: pp. 420-422 8 | # Contact: Onno Hommes . 9 | # Website: www.ibiblio.org/apollo. 10 | # Mod history: 05/07/09 OH Transcription Batch 1 Assignment 11 | # 12 | # The contents of the "Comanche055" files, in general, are transcribed 13 | # from scanned documents. 14 | # 15 | # Assemble revision 055 of AGC program Comanche by NASA 16 | # 2021113-051. April 1, 1969. 17 | # 18 | # This AGC program shall also be referred to as Colossus 2A 19 | # 20 | # Prepared by 21 | # Massachusetts Institute of Technology 22 | # 75 Cambridge Parkway 23 | # Cambridge, Massachusetts 24 | # 25 | # under NASA contract NAS 9-4065. 26 | # 27 | # Refer directly to the online document mentioned above for further information. 28 | # Please report any errors to info@sandroid.org. 29 | 30 | 31 | # Page 420 32 | EBANK= XSM 33 | 34 | BANK 33 35 | SETLOC E/PROG1 36 | BANK 37 | 38 | COUNT* $$/P07 39 | 40 | # SPECIAL PROGRAMS TO EASE THE PANGS OF ERASABLE MEMORY PROGRAMS. 41 | # 42 | # E/BKCALL FOR DOING BANKCALLS FROM AND RETURNING TO ERASABLE. 43 | # 44 | # THIS ROUTINE IS CALLABLE FROM ERASABLE OR FIXED. LIKE BANKCALL, HOWEVER, SWITCHING BETWEEN S3 AND S4 45 | # IS NOT POSSIBLE. 46 | # 47 | # THE CALLING SEQUENCE IS: 48 | # 49 | # TC BANKCALL 50 | # CADR E/BKCALL 51 | # CADR ROUTINE # WHERE TO WANT TO GO IN FIXED. 52 | # RETURN HERE FROM DISPLAY TERMINATE, BAD STALL OR TC Q. 53 | # RETURN HERE FROM DISPLAY PROCEED OR GOOD RETURN FROM STALL. 54 | # RETURN HERE FROM DISPLAY ENTER OR RECYCLE. 55 | # 56 | # THIS ROUTINE REQUIRES TWO ERASABLES (EBUF2, +1) IN UNSWITCHED WHICH ARE UNSHARED BY INTERRUPTS AND 57 | # OTHER EMEMORY PROGRAMS. 58 | # 59 | # A + L ARE PRESERVED THROUGH BANKCALL AND E/BKCALL. 60 | 61 | E/BKCALL DXCH BUF2 # SAVE A,L AND GET DP RETURN. 62 | DXCH EBUF2 # SAVE DP RETURN. 63 | INCR EBUF2 # RETURN +1 BECAUSE DOUBLE CADR. 64 | CA BBANK 65 | MASK LOW10 # GET CURRENT EBANK. (SBANK SOMEDAY) 66 | ADS EBUF2 +1 # FORM BBCON. (WAS FBANK) 67 | NDX EBUF2 68 | CA 0 -1 # GET CADR OF ROUTINE. 69 | TC SWCALL # GO TO ROUTINE, SETTING Q TO SWRETURN 70 | # AND RESTORING A + L. 71 | TC +4 # TX Q, V34, OR BADD STALL RETURN. 72 | TC +2 # PROCEED OR GOOD STALL RETURN. 73 | INCR EBUF2 # ENTER OR RECYCLE RETURN. 74 | INCR EBUF2 75 | E/SWITCH DXCH EBUF2 76 | DTCB 77 | 78 | # Page 421 79 | # E/CALL FOR CALLING A FIXED MEMORY INTERPRETIVE SUBROUTINE FROM ERASABLE AND RETURNING TO ERASABLE. 80 | # 81 | # THE CALLING SEQUENCE IS... 82 | # 83 | # RTB 84 | # E/CALL 85 | # CADR ROUTINE # THE INTERPRETIVE SUBROUTINE YOU WANT 86 | # # RETURNS HERE IN INTERPRETIVE. 87 | 88 | E/CALL LXCH LOC # ADRES -1 OF CADR. 89 | INDEX L 90 | CA L # CADR IN A. 91 | INCR L 92 | INCR L # RETURN ADRES IN L. 93 | DXCH EBUF2 # STORE CADR AND RETURN. 94 | TC INTPRET 95 | CALL 96 | EBUF2 # INDIRECTLY EXECUTE ROUTING. IT MUST 97 | EXIT # LEAVE VIA RVQ OR EQUIVALENT. 98 | LXCH EBUF2 +1 # PICK UP RETURN. 99 | TCF INTPRET +2 # SET LOC AND RETURN TO CALLER. 100 | 101 | # Page 422 102 | # E/JOBWAK FOR WAKING UP ERASABLE MEMORY JOBS. 103 | # 104 | # THIS ROUTINE MUST BE CALLED IN INTERRUPT OR WITH INTERRUPTS INHIBITED. 105 | # 106 | # THE CALLING SEQUENCE IS 107 | # 108 | # INHINT 109 | # ... 110 | # CA WAKEADR # ADDRESS OF SLEEPING JOB 111 | # TC IBNKCALL 112 | # CADR E/JOBWAK 113 | # ... # RETURNS HERE 114 | # RELINT # IF YOU DID AND INHINT 115 | 116 | BANK 33 117 | SETLOC E/PROG 118 | BANK 119 | 120 | COUNT* $$/P07 121 | 122 | E/JOBWAK TC JOBWAKE # ARRIVE IWTH ADRES IN A. 123 | CS BIT11 124 | NDX LOCCTR 125 | ADS LOC # KNOCK FIXED MEMORY BIT OUT OF ADRES. 126 | TC RUPTREG3 # RETURN 127 | 128 | 129 | # THESE PROGRAMS ARE PROVIDED TO ALLOW OVERLAY OF BANKS 30 THRU 33 OF THE 205 VERSIONS OF SYSTEM TESTS AND 130 | # PRELAUNCH ALIGN. THE INTENT IS TO ALLOW THE STG AND HYBRID LABS TO RUN ALL THE TESTS WITH COLOSSUS. 131 | 132 | 133 | BANK 33 134 | SETLOC TESTLEAD 135 | BANK 136 | 137 | COUNT 33/COMST 138 | 139 | EBANK= QPLACE 140 | 141 | COMPVER TC GCOMPVER # MUST BE 33,2000. 142 | 143 | GTSCPSS1 TC GTSCPSS # MUST BE AT 33,2001 144 | 145 | REDO TC NEWMODEX # DISPLAY MM 07. 146 | MM 07 # FALL INTO IMUTEST 147 | 148 | -------------------------------------------------------------------------------- /Luminary099/ALARM_AND_ABORT.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: ALARM_AND_ABORT.agc 3 | # Purpose: Part of the source code for Luminary 1A build 099. 4 | # It is part of the source code for the Lunar Module's (LM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 1381-1385 10 | # Mod history: 2009-05-10 SN (Sergio Navarro). Started adapting 11 | # from the Luminary131/ file of the same 12 | # name, using Luminary099 page images. 13 | # 2009-06-05 RSB Fixed a type. 14 | # 2011-01-06 JL Fixed pseudo-label indentation. 15 | # 16 | # This source code has been transcribed or otherwise adapted from 17 | # digitized images of a hardcopy from the MIT Museum. The digitization 18 | # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 19 | # the Museum. Many thanks to both. The images (with suitable reduction 20 | # in storage size and consequent reduction in image quality as well) are 21 | # available online at www.ibiblio.org/apollo. If for some reason you 22 | # find that the images are illegible, contact me at info@sandroid.org 23 | # about getting access to the (much) higher-quality images which Paul 24 | # actually created. 25 | # 26 | # Notations on the hardcopy document read, in part: 27 | # 28 | # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 29 | # 16:27 JULY 14, 1969 30 | 31 | # Page 1381 32 | # THE FOLLOWING SUBROUTINE MAY BE CALLED TO DISPLAY A NON-ABORTIVE ALARM CONDITION. IT MAY BE CALLED 33 | # EITHER IN INTERRUPT OR UNDER EXECUTIVE CONTROL. 34 | # 35 | # CALLING SEQUENCE IS AS FOLLOWS: 36 | # TC ALARM 37 | # OCT AAANN # ALARM NO. NN IN GENERAL AREA AAA. 38 | # # (RETURNS HERE) 39 | 40 | BLOCK 02 41 | SETLOC FFTAG7 42 | BANK 43 | 44 | EBANK= FAILREG 45 | 46 | COUNT* $$/ALARM 47 | 48 | # ALARM TURNS ON THE PROGRAM ALARM LIGHT, BUT DOES NOT DISPLAY. 49 | 50 | ALARM INHINT 51 | 52 | CA Q 53 | ALARM2 TS ALMCADR 54 | INDEX Q 55 | CA 0 56 | BORTENT TS L 57 | 58 | PRIOENT CA BBANK 59 | +1 EXTEND 60 | ROR SUPERBNK # ADD SUPER BITS. 61 | TS ALMCADR +1 62 | 63 | LARMENT CA Q # STORE RETURN FOR ALARM 64 | TS ITEMP1 65 | 66 | CHKFAIL1 CCS FAILREG # IS ANYTHING IN FAILREG 67 | TCF CHKFAIL2 # YES TRY NEXT REG 68 | LXCH FAILREG 69 | TCF PROGLARM # TURN ALARM LIGHT ON FOR FIRST ALARM 70 | 71 | CHKFAIL2 CCS FAILREG +1 72 | TCF FAIL3 73 | LXCH FAILREG +1 74 | TCF MULTEXIT 75 | 76 | FAIL3 CA FAILREG +2 77 | MASK POSMAX 78 | CCS A 79 | TCF MULTFAIL 80 | LXCH FAILREG +2 81 | TCF MULTEXIT 82 | 83 | # Page 1382 84 | 85 | PROGLARM CS DSPTAB +11D 86 | MASK OCT40400 87 | ADS DSPTAB +11D 88 | 89 | 90 | MULTEXIT XCH ITEMP1 # OBTAIN RETURN ADDRESS IN A 91 | RELINT 92 | INDEX A 93 | TC 1 94 | 95 | MULTFAIL CA L 96 | AD BIT15 97 | TS FAILREG +2 98 | 99 | TCF MULTEXIT 100 | 101 | # PRIOLARM DISPLAYS V05N09 VIA PRIODSPR WITH 3 RETURNS TO THE USER FROM THE ASTRONAUT AT CALL LOC +1,+2,+3 AND 102 | # AN IMMEDIATE RETURN TO THE USER AT CALL LOC +4. EXAMPLE FOLLOWS, 103 | # CAF OCTXX # ALARM CODE 104 | # TC BANKCALL 105 | # CADR PRIOLARM 106 | # ... ... 107 | # ... ... 108 | # ... ... # ASTRONAUT RETURN 109 | # TC PHASCHNG # IMMEDIATE RETURN TO USER. RESTART 110 | # OCT X.1 # PHASE CHANGE FOR PRIO DISPLAY 111 | 112 | BANK 10 113 | SETLOC DISPLAYS 114 | BANK 115 | 116 | COUNT* $$/DSPLA 117 | PRIOLARM INHINT # * * * KEEP IN DISPLAY ROUTINES BANK 118 | TS L # SAVE ALARM CODE 119 | 120 | CA BUF2 # 2 CADR OF PRIOLARM USER 121 | TS ALMCADR 122 | CA BUF2 +1 123 | TC PRIOENT +1 # * LEAVE L ALONE 124 | -2SEC DEC -200 # *** DONT MOVE 125 | CAF V05N09 126 | TCF PRIODSPR 127 | 128 | BLOCK 02 129 | SETLOC FFTAG7 130 | BANK 131 | 132 | COUNT* $$/ALARM 133 | BAILOUT INHINT 134 | CA Q 135 | # Page 1383 136 | TS ALMCADR 137 | 138 | INDEX Q 139 | CAF 0 140 | TC BORTENT 141 | OCT40400 OCT 40400 142 | 143 | INHINT 144 | WHIMPER CA TWO 145 | AD Z 146 | TS BRUPT 147 | RESUME 148 | TC POSTJUMP # RESUME SENDS CONTROL HERE 149 | CADR ENEMA 150 | P00DOO INHINT 151 | CA Q 152 | ABORT2 TS ALMCADR 153 | INDEX Q 154 | CAF 0 155 | TC BORTENT 156 | OCT77770 OCT 77770 # DON'T MOVE 157 | 158 | CAF OCT35 # 4.35SPOT FOR GOP00DOO 159 | TS L 160 | COM 161 | DXCH -PHASE4 162 | GOP00DOO INHINT 163 | TC BANKCALL # RESET STATEFLG, REINTFLG, AND NODOFLAG. 164 | CADR FLAGS 165 | CA FLAGWRD7 # IS SERVICER CURRENTLY IN OPERATION? 166 | MASK V37FLBIT 167 | CCS A 168 | TCF STRTIDLE 169 | TC BANKCALL # TERMINATE GRPS 1, 3, 5, AND 6 170 | CADR V37KLEAN 171 | TC BANKCALL # TERMINATE GRPS 2, 4, 1, 3, 5, AND 6 172 | CADR MR.KLEAN # (I.E., GRP 4 LAST) 173 | TCF WHIMPER 174 | STRTIDLE CAF BBSERVDL 175 | TC SUPERSW 176 | TC BANKCALL # PUT SERVICER INTO ITS "GROUND" STATE 177 | CADR SERVIDLE # AND PROCED TO GOTOP00H. 178 | CCSHOLE INHINT 179 | CA Q 180 | TC ABORT2 181 | OCT21103 OCT 1103 182 | CURTAINS INHINT 183 | CA Q 184 | TC ALARM2 185 | OCT217 OCT 00217 186 | # Page 1384 187 | TC ALMCADR # RETURN TO USER 188 | 189 | BAILOUT1 INHINT 190 | DXCH ALMCADR 191 | CAF ADR40400 192 | BOTHABRT TS ITEMP1 193 | INDEX Q 194 | CAF 0 195 | TS L 196 | TCF CHKFAIL1 197 | P00DOO1 INHINT 198 | DXCH ALMCADR 199 | CAF ADR77770 200 | TCF BOTHABRT 201 | 202 | ALARM1 INHINT 203 | DXCH ALMCADR 204 | ALMNCADR INHINT 205 | INDEX Q 206 | CA 0 207 | TS L 208 | TCF LARMENT 209 | 210 | ADR77770 TCF OCT77770 211 | ADR40400 TCF OCT40400 212 | DOALARM EQUALS ENDOFJOB 213 | EBANK= DVCNTR 214 | BBSERVDL BBCON SERVIDLE 215 | 216 | # CALLING SEQUENCE FOR VARALARM 217 | # CAF (ALARM) 218 | # TC VARALARM 219 | # 220 | # VARALARM TURNS ON PROGRAM ALARM LIGHT BUT DOES NOT DISPLAY 221 | 222 | VARALARM INHINT 223 | 224 | TS L # SAVE USER'S ALARM CODE 225 | 226 | CA Q # SAVE USERS Q 227 | TS ALMCADR 228 | 229 | TC PRIOENT 230 | OCT14 OCT 14 # DONT MOVE 231 | 232 | TC ALMCADR # RETURN TO USER 233 | 234 | ABORT EQUALS WHIMPER 235 | BANK 13 236 | SETLOC ABTFLGS 237 | BANK 238 | # Page 1385 239 | COUNT* $$/ALARM 240 | 241 | FLAGS CS STATEBIT 242 | MASK FLAGWRD3 243 | TS FLAGWRD3 244 | CS REINTBIT 245 | MASK FLGWRD10 246 | TS FLGWRD10 247 | CS NODOBIT 248 | MASK FLAGWRD2 249 | TS FLAGWRD2 250 | TC Q 251 | 252 | -------------------------------------------------------------------------------- /Luminary099/DAP_INTERFACE_SUBROUTINES.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: DAP_INTERFACE_SUBROUTINES.agc 3 | # Purpose: Part of the source code for Luminary 1A build 099. 4 | # It is part of the source code for the Lunar Module's (LM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 1406-1409 10 | # Mod history: 2009-05-10 SN (Sergio Navarro). Started adapting 11 | # from the Luminary131/ file of the same 12 | # name, using Luminary099 page images. 13 | # 14 | # This source code has been transcribed or otherwise adapted from 15 | # digitized images of a hardcopy from the MIT Museum. The digitization 16 | # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 17 | # the Museum. Many thanks to both. The images (with suitable reduction 18 | # in storage size and consequent reduction in image quality as well) are 19 | # available online at www.ibiblio.org/apollo. If for some reason you 20 | # find that the images are illegible, contact me at info@sandroid.org 21 | # about getting access to the (much) higher-quality images which Paul 22 | # actually created. 23 | # 24 | # Notations on the hardcopy document read, in part: 25 | # 26 | # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 27 | # 16:27 JULY 14, 1969 28 | 29 | # Page 1406 30 | BANK 20 31 | SETLOC DAPS3 32 | BANK 33 | 34 | EBANK= CDUXD 35 | COUNT* $$/DAPIF 36 | 37 | # MOD 0 DATE 11/15/66 BY GEORGE W. CHERRY 38 | # MOD 1 1/23/67 MODIFICATION BY PETER ADLER 39 | # 40 | # FUNCTIONAL DESCRIPTION 41 | # HEREIN IS A COLLECTION OF SUBROUTINES WHICH ALLOW MISSION CONTROL PROGRAMS TO CONTROL THE MODE 42 | # AND INTERFACE WITH THE DAP. 43 | # 44 | # CALLING SEQUENCES 45 | # IN INTERRUPT OR WITH INTERRUPT INHIBITED 46 | # TC IBNKCALL 47 | # FCADR ROUTINE 48 | # IN A JOB WITHOUT INTERRUPT INHIBITED 49 | # INHINT 50 | # TC IBNKCALL 51 | # FCADR ROUTINE 52 | # RELINT 53 | # 54 | # OUTPUT 55 | # SEE INDIVIDUAL ROUTINES BELOW 56 | # 57 | # DEBRIS 58 | # A, L, AND SOMETIMES MDUETEMP ODE NOT IN PULSES MODE 59 | 60 | # Page 1407 61 | # SUBROUTINE NAMES: 62 | # SETMAXDB, SETMINDB, RESTORDB, PFLITEDB 63 | # MODIFIED: 30 JANUARY 1968 BY P. S. WEISSMAN TO CREATE RESTORDB. 64 | # MODIFIED: 1 MARCH 1968 BY P. S. WEISSMAN TO SAVE EBANK AND CREATE PFLITEDB 65 | # 66 | # FUNCTIONAL DESCRIPTION: 67 | # SETMAXDB -- SET DEADBAND TO 5.0 DEGREES 68 | # SETMINDB -- SET DEADBAND TO 0.3 DEGREE 69 | # RESTORDB -- SET DEADBAND TO MAX OR MIN ACCORDING TO SETTINGS OF DBSELECT BIT OF DAPBOOLS 70 | # PFLITEDB -- SET DEADBAND TO 1.0 DEGREE AND ZERO THE COMMANDED ATTITUDE CHANGE AND COMMANDED RATE 71 | # 72 | # ALL ENTRIES SET UP A NOVAC JOB TO DO 1/ACCS SO THAT THE TJETLAW SWITCH CURVES ARE POSITIONED TO 73 | # REFLECT THE NEW DEADBAND. IT SHOULD BE NOTED THAT THE DEADBAND REFERS TO THE ATTITUDE IN THE P-, U-, AND V-AXES. 74 | # 75 | # SUBROUTINE CALLED: NOVAC 76 | # 77 | # CALLING SEQUENCE: SAME AS ABOVE 78 | # OR TC RESTORDB +1 FROM ALLCOAST 79 | # 80 | # DEBRIS: A, L, Q, RUPTREG1, (ITEMPS IN NOVAC) 81 | 82 | RESTORDB CAE DAPBOOLS # DETERMINE CREW-SELECTED DEADBAND. 83 | MASK DBSELECT 84 | EXTEND 85 | BZF SETMINDB 86 | 87 | SETMAXDB CAF WIDEDB # SET 5 DEGREE DEADBAND. 88 | +1 TS DB 89 | 90 | EXTEND # SET UP JOB TO RE-POSITION SWITCH CURVES. 91 | QXCH RUPTREG1 92 | CALLACCS CAF PRIO27 93 | TC NOVAC 94 | EBANK= AOSQ 95 | 2CADR 1/ACCJOB 96 | 97 | TC RUPTREG1 # RETURN TO CALLER. 98 | 99 | SETMINDB CAF NARROWDB # SET 0.3 DEGREE DEADBAND. 100 | TCF SETMAXDB +1 101 | 102 | PFLITEDB EXTEND # THE RETURN FROM CALLACCS IS TO RUPTREG1. 103 | QXCH RUPTREG1 104 | TC ZATTEROR # ZERO THE ERRORS AND COMMANDED RATES. 105 | CAF POWERDB # SET DB TO 1.0 DEG. 106 | TS DB 107 | TCF CALLACCS # SET UP 1/ACCS AND RETURN TO CALLER. 108 | NARROWDB OCTAL 00155 # 0.3 DEGREE SCALED AT 45. 109 | # Page 1408 110 | WIDEDB OCTAL 03434 # 5.0 DEGREES SCALED AT 45. 111 | POWERDB DEC .02222 # 1.0 DEGREE SCALED AT 45. 112 | 113 | ZATTEROR CAF EBANK6 114 | XCH EBANK 115 | TS L # SAVE CALLERS EBANK IN L. 116 | CAE CDUX 117 | TS CDUXD 118 | CAE CDUY 119 | TS CDUYD 120 | CAE CDUZ 121 | TS CDUZD 122 | TCF STOPRATE +3 123 | 124 | STOPRATE CAF EBANK6 125 | XCH EBANK 126 | TS L # SAVE CALLERS EBANK IN L. 127 | +3 CAF ZERO 128 | TS OMEGAPD 129 | TS OMEGAQD 130 | TS OMEGARD 131 | TS DELCDUX 132 | TS DELCDUY 133 | TS DELCDUZ 134 | TS DELPEROR 135 | TS DELQEROR 136 | TS DELREROR 137 | LXCH EBANK # RESTORE CALLERS EBANK. 138 | TC Q 139 | 140 | # SUBROUTINE NAME: ALLCOAST 141 | # WILL BE CALLED BY FRESH STARTS AND ENGINE OFF ROUTINES. 142 | # 143 | # CALLING SEQUENCE: (SAME AS ABOVE) 144 | # 145 | # EXIT: RETURN TO Q. 146 | # 147 | # SUBROUTINES CALLED: STOPRATE, RESTORDB, NOVAC 148 | # 149 | # ZERO: (FOR ALL AXES) AOS, ALPHA, AOSTERM, OMEGAD, DELCDU, DELEROR 150 | # 151 | # OUTPUT: DRIFTBIT/DAPBOOLS, OE, JOB TO DO 1/ACCS 152 | # 153 | # DEBRIS: A, L, Q, RUPTREG1, RUPTREG2, (ITEMPS IN NOVAC) 154 | 155 | ALLCOAST EXTEND # SAVE Q FOR RETURN 156 | QXCH RUPTREG2 157 | # Page 1409 158 | TC STOPRATE # CLEAR RATE INTERFACE. RETURN WITH A=0 159 | LXCH EBANK # AND L=EBANK6. SAVE CALLER'S EBANK. 160 | TS AOSQ 161 | TS AOSQ +1 162 | TS AOSR 163 | TS AOSR +1 164 | TS ALPHAQ # FOR DOWNLIST. 165 | TS ALPHAR 166 | TS AOSQTERM 167 | TS AOSRTERM 168 | LXCH EBANK # RESTORE EBANK (EBANK6 NO LONGER NEEDED) 169 | 170 | CS DAPBOOLS # SET UP DRIFTBIT 171 | MASK DRIFTBIT 172 | ADS DAPBOOLS 173 | TC RESTORDB +1 # RESTORE DEADBANK TO CREW-SELECTED VALUE. 174 | 175 | TC RUPTREG2 # RETURN. 176 | 177 | -------------------------------------------------------------------------------- /Luminary099/GIMBAL_LOCK_AVOIDANCE.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: GIMBAL_LOCK_AVOIDANCE.agc 3 | # Purpose: Part of the source code for Luminary 1A build 099. 4 | # It is part of the source code for the Lunar Module's (LM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 364 10 | # Mod history: 2009-05-17 RSB Adapted from the corresponding 11 | # Luminary131 file, using page 12 | # images from Luminary 1A. 13 | # 2010-12-31 JL Fixed page number comment. 14 | # 15 | # This source code has been transcribed or otherwise adapted from 16 | # digitized images of a hardcopy from the MIT Museum. The digitization 17 | # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 18 | # the Museum. Many thanks to both. The images (with suitable reduction 19 | # in storage size and consequent reduction in image quality as well) are 20 | # available online at www.ibiblio.org/apollo. If for some reason you 21 | # find that the images are illegible, contact me at info@sandroid.org 22 | # about getting access to the (much) higher-quality images which Paul 23 | # actually created. 24 | # 25 | # Notations on the hardcopy document read, in part: 26 | # 27 | # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 28 | # 16:27 JULY 14, 1969 29 | 30 | # Page 364 31 | BANK 15 32 | 33 | SETLOC KALCMON1 34 | BANK 35 | 36 | # DETECTING GIMBAL LOCK 37 | LOCSKIRT EQUALS NOGIMLOC 38 | 39 | NOGIMLOC SET 40 | CALCMAN3 41 | WCALC LXC,1 DLOAD* 42 | RATEINDX # CHOOSE THE DESIRED MANEUVER RATE 43 | ARATE,1 # FROM A LIST OF FOUR 44 | SR4 CALL # COMPUTE THE INCREMENTAL ROTATION MATRIX 45 | DELCOMP # DEL CORRESPONDING TO A 1 SEC ROTATION 46 | # ABOUT COF 47 | DLOAD* VXSC 48 | ARATE,1 49 | COF 50 | STODL BRATE # COMPONENT MANEUVER RATES 45 DEG/SEC 51 | AM 52 | DMP DDV* 53 | ANGLTIME 54 | ARATE,1 55 | SR 56 | 5 57 | STORE TM # MANEUVER EXECUTION TIME SCALED AS T2 58 | SETGO 59 | CALCMAN2 # D(OFF) = CONTINUE MANEUVER 60 | NEWANGL +1 # 1(ON) = START MANEUVER 61 | 62 | # THE FOUR SELECTABLE FREE FALL MANEUVER RATES SELECTED BY 63 | # LOADING RATEINDX WITH 0, 2, 4, 6, RESPECTIVELY 64 | 65 | ARATE 2DEC .0088888888 # = 0.2 DEG/SEC $ 22.5 DEG/SEC 66 | 67 | 2DEC .0222222222 # = 0.5 DEG/SEC $ 22.5 DEG/SEC 68 | 69 | 2DEC .0888888888 # = 2.0 DEG/SEC $ 22.5 DEG/SEC 70 | 71 | 2DEC .4444444444 # = 10.0 DEG/SEC $ 22.5 DEG/SEC 72 | 73 | ANGLTIME 2DEC .0001907349 # = 100B-19 FUDGE FACTOR TO CONVERT 74 | # MANEUVER ANGLE TO MANEUVER TIME 75 | 76 | 77 | -------------------------------------------------------------------------------- /Luminary099/GROUND_TRACKING_DETERMINATION_PROGRAM.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: GROUND_TRACKING_DETERMINATION_PROGRAM.agc 3 | # Purpose: Part of the source code for Luminary 1A build 099. 4 | # It is part of the source code for the Lunar Module's (LM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 654-657 10 | # Mod history: 2009-05-18 RSB Adapted from the corresponding 11 | # Luminary131 file, using page 12 | # images from Luminary 1A. 13 | # 14 | # This source code has been transcribed or otherwise adapted from 15 | # digitized images of a hardcopy from the MIT Museum. The digitization 16 | # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 17 | # the Museum. Many thanks to both. The images (with suitable reduction 18 | # in storage size and consequent reduction in image quality as well) are 19 | # available online at www.ibiblio.org/apollo. If for some reason you 20 | # find that the images are illegible, contact me at info@sandroid.org 21 | # about getting access to the (much) higher-quality images which Paul 22 | # actually created. 23 | # 24 | # Notations on the hardcopy document read, in part: 25 | # 26 | # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 27 | # 16:27 JULY 14, 1969 28 | 29 | # Page 654 30 | # GROUND TRACKING DETERMINATION PROGRAM -- P21 31 | # PROGRAM DESCRIPTION 32 | # MOD NO -- 1 33 | # MOD BY -- N. M. NEVILLE 34 | # 35 | # FUNCTIONAL DESCRIPTION -- 36 | # TO PROVIDE THE ASTRONAUT DETAILS OF THE LM OR CSM GROUND TRACK WITHOUT 37 | # THE NEED FOR GROUND COMMUNICATION (REQUESTED BY DSKY). 38 | # 39 | # CALLING SEQUENCE -- 40 | # ASTRONAUT REQUEST THROUGH DSKY V37E21E 41 | # 42 | # SUBROUTINES CALLED -- 43 | # GOPERF4 44 | # GOFLASH 45 | # THISPREC 46 | # OTHPREC 47 | # LAT-LONG 48 | # 49 | # NORMAL EXIT MODES -- 50 | # ASTRONAUT REQUEST THROUGH DSKY TO TERMINATE PROGRAM V34E 51 | # 52 | # ALARM OR ABORT EXIT MODES -- 53 | # NONE 54 | # 55 | # OUTPUT -- 56 | # OCTAL DISPLAY OF OPTION CODE AND VEHICLE WHOSE GROUND TRACK IS TO BE 57 | # COMPUTED 58 | # OPTION CODE 00002 59 | # THIS 00001 60 | # OTHER 00002 61 | # DECIMAL DISPLAY OF TIME TO BE INTEGRATED TO HOURS, MINUTES, SECONDS 62 | # DECIMAL DISPLAY OF LAT,LONG,ALT 63 | # 64 | # ERASABLE INITIALIZATION REQUIRED 65 | # AX0 2DEC 4.652459653 E-5 RADIANS $68-69 CONSTANTS* 66 | # -AY0 2DEC 2.137535898 E-5 RADIANS 67 | # AZ0 2DEC .7753206164 REVOLUTIONS 68 | # FOR LUNAR ORBITS 504LM VECTOR IS NEEDED: 69 | # 504LM 2DEC -2.700340600 E-5 RADIANS 70 | # 504LM _2 2DEC -7.514128400 E-4 RADIANS 71 | # 504LM _4 2DEC _2.553198641 E-4 RADIANS 72 | # 73 | # NONE 74 | # 75 | # DEBRIS 76 | # Page 655 77 | # CENTRALS -- A,Q,L 78 | # OTHER -- THOSE USED BY THE ABOVE LISTED SUBROUTINES 79 | # SEE LEMPREC, LAT-LONG 80 | 81 | SBANK= LOWSUPER # FOR LOW 2CADR'S. 82 | 83 | BANK 33 84 | SETLOC P20S 85 | BANK 86 | 87 | EBANK= P21TIME 88 | COUNT* $$/P21 89 | PROG21 CAF ONE 90 | TS OPTION2 # ASSUMED VEHICLE IS LM, R2 = 00001 91 | CAF BIT2 # OPTION 2 92 | TC BANKCALL 93 | CADR GOPERF4 94 | TC GOTOP00H # TERMINATE 95 | TC +2 # PROCEED VALUE OF ASSUMED VEHICLE OK 96 | TC -5 # R2 LOADED THROUGH DSKY 97 | P21PROG1 CAF V6N34 # LOAD DESIRED TIME OF LAT-LONG. 98 | TC BANKCALL 99 | CADR GOFLASH 100 | TC GOTOP00H # TERM 101 | TC +2 # PROCEED VALUES OK 102 | TC -5 # TIME LOADED THROUGH DSKY 103 | TC INTPRET 104 | DLOAD 105 | DSPTEM1 106 | STCALL TDEC1 # INTEG TO TIME SPECIFIED IN TDEC 107 | INTSTALL 108 | BON CLEAR 109 | P21FLAG 110 | P21CONT # ON -- RECYCLE USING BASE VECTOR 111 | VINTFLAG # OFF -- 1ST PASS CALL BASE VECTOR 112 | SLOAD SR1 113 | OPTION2 114 | BHIZ SET 115 | +2 # ZERO -- THIS VEHICLE (LM) 116 | VINTFLAG # ONE -- OTHER VEHICLE (CM) 117 | CLEAR CLEAR 118 | DIM0FLAG 119 | INTYPFLG # PRECISION 120 | CALL 121 | INTEGRV # CALCULATE 122 | GOTO # AND 123 | P21VSAVE # SAVE BASE VECTOR 124 | P21CONT VLOAD 125 | P21BASER # RECYCLE -- INTEG FROM BASE VECTOR 126 | STOVL RCV # --POS 127 | # Page 656 128 | P21BASEV 129 | STODL VCV # --VEL 130 | P21TIME 131 | STORE TET # --TIME 132 | CLEAR CLEAR 133 | DIM0FLAG 134 | MOONFLAG 135 | SLOAD BZE 136 | P21ORIG 137 | +3 # ZERO = EARTH 138 | SET # ---2 = MOON 139 | MOONFLAG 140 | +3 CALL 141 | INTEGRVS 142 | P21VSAVE DLOAD # SAVE CURRENT BASE VECTOR 143 | TAT 144 | STOVL P21TIME # --TIME 145 | RATT1 146 | STOVL P21BASER # --POS B-29 OR B-27 147 | VATT1 148 | STORE P21BASEV # --VEL B-07 OR B-05 149 | ABVAL SL* 150 | 0,2 151 | STOVL P21VEL # VEL/ FOR N91 DISP 152 | RATT 153 | UNIT DOT 154 | VATT # U(R).V 155 | DDV ASIN # U(R).U(V) 156 | P21VEL 157 | STORE P21GAM # SIN-1 U(R).U(V) , -90 TO +90 158 | SXA,2 SLOAD 159 | P21ORIG # 0 = EARTH 160 | OPTION2 161 | SR1 BHIZ 162 | +3 163 | GOTO 164 | +4 165 | +3 BON 166 | SURFFLAG 167 | P21DSP 168 | +4 SET 169 | P21FLAG 170 | P21DSP CLEAR SLOAD # GENERATE DISPLAY DATA 171 | LUNAFLAG 172 | X2 173 | BZE SET 174 | +2 # 0 = EARTH 175 | LUNAFLAG 176 | VLOAD 177 | RATT 178 | # Page 657 179 | STODL ALPHAV 180 | TAT 181 | CLEAR CALL 182 | ERADFLAG 183 | LAT-LONG 184 | DMP # MPAC = ALT, METERS B-29 185 | K.01 186 | STORE P21ALT # ALT/100 FOR N91 DISP 187 | EXIT 188 | CAF V06N43 # DISPLAY LAT, LONG, ALT 189 | TC BANKCALL # LAT, LONG = 1/2 REVS B0 190 | CADR GOFLASH # ALT = KM B14 191 | TC GOTOP00H # TERM 192 | TC GOTOP00H 193 | TC INTPRET # V32E RECYCLE 194 | DLOAD DAD 195 | P21TIME 196 | 600SEC # 600 SECONDS OR 10 MIN 197 | STORE DSPTEM1 198 | RTB 199 | P21PROG1 200 | 600SEC 2DEC 60000 # 10 MIN 201 | 202 | V06N43 VN 00643 203 | V6N34 VN 00634 204 | K.01 2DEC .01 205 | 206 | -------------------------------------------------------------------------------- /Luminary099/HeaderTemplate.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: XXXXXXXX.agc 3 | # Purpose: Part of the source code for Luminary 1A build 099. 4 | # It is part of the source code for the Lunar Module's (LM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: XXXX-XXXX 10 | # Mod history: 2009-05-XX XXX Adapted from the corresponding 11 | # Luminary131 file, using page 12 | # images from Luminary 1A. 13 | # 14 | # This source code has been transcribed or otherwise adapted from 15 | # digitized images of a hardcopy from the MIT Museum. The digitization 16 | # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 17 | # the Museum. Many thanks to both. The images (with suitable reduction 18 | # in storage size and consequent reduction in image quality as well) are 19 | # available online at www.ibiblio.org/apollo. If for some reason you 20 | # find that the images are illegible, contact me at info@sandroid.org 21 | # about getting access to the (much) higher-quality images which Paul 22 | # actually created. 23 | # 24 | # Notations on the hardcopy document read, in part: 25 | # 26 | # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 27 | # 16:27 JULY 14, 1969 28 | 29 | -------------------------------------------------------------------------------- /Luminary099/INTER-BANK_COMMUNICATION.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: INTER-BANK_COMMUNICATION.agc 3 | # Purpose: Part of the source code for Luminary 1A build 099. 4 | # It is part of the source code for the Lunar Module's (LM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 998-1001 10 | # Mod history: 2009-05-24 RSB Adapted from the corresponding 11 | # Luminary131 file, using page 12 | # images from Luminary 1A. 13 | # 2011-05-08 JL Removed workaround. 14 | 15 | # This source code has been transcribed or otherwise adapted from 16 | # digitized images of a hardcopy from the MIT Museum. The digitization 17 | # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 18 | # the Museum. Many thanks to both. The images (with suitable reduction 19 | # in storage size and consequent reduction in image quality as well) are 20 | # available online at www.ibiblio.org/apollo. If for some reason you 21 | # find that the images are illegible, contact me at info@sandroid.org 22 | # about getting access to the (much) higher-quality images which Paul 23 | # actually created. 24 | # 25 | # Notations on the hardcopy document read, in part: 26 | # 27 | # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 28 | # 16:27 JULY 14, 1969 29 | 30 | # Page 998 31 | # THE FOLLOWING ROUTINE CAN BE USED TO CALL A SUBROUTINE IN ANOTHER BANK. IN THE BANKCALL VERSION, THE 32 | # CADR OF THE SUBROUTINE IMMEDIATELY FOLLOWS THE TC BANKCALL INSTRUCTION, WITH C(A) AND C(L) PRESERVED. 33 | 34 | BLOCK 02 35 | COUNT* $$/BANK 36 | BANKCALL DXCH BUF2 # SAVE INCOMING A,L. 37 | INDEX Q # PICK UP CADR. 38 | CA 0 39 | INCR Q # SO WE RETURN TO THE LOC. AFTER THE CADR. 40 | 41 | # SWCALL IS IDENTICAL TO BANKCALL, EXCEPT THAT THE CADR ARRIVES IN A. 42 | 43 | SWCALL TS L 44 | LXCH FBANK # SWITCH BANKS, SAVING RETURN. 45 | MASK LOW10 # GET SUB-ADDRESS OF CADR. 46 | XCH Q # A,L NOW CONTAINS DP RETURN. 47 | DXCH BUF2 # RESTORING INPUTS IF THIS IS A BANKCALL. 48 | INDEX Q 49 | TC 10000 # SETTING Q TO SWRETURN. 50 | 51 | SWRETURN XCH BUF2 +1 # COMES HERE TO RETURN TO CALLER. C(A,L) 52 | XCH FBANK # ARE PRESERVED FOR RETURN. 53 | XCH BUF2 +1 54 | TC BUF2 55 | 56 | # THE FOLLOWING ROUTINE CAN BE USED AS A UNILATERAL JUMP WITH C(A,L) PRESERVED AND THE CADR IMMEDIATELY 57 | # FOLLOWING THE TC POSTJUMP INSTRUCTION. 58 | 59 | POSTJUMP XCH Q # SAVE INCOMING C(A). 60 | INDEX A # GET CADR. 61 | CA 0 62 | 63 | # BANKJUMP IS THE SAME AS POSTJUMP, EXCEPT THAT THE CADR ARRIVES IN A. 64 | 65 | BANKJUMP TS FBANK 66 | MASK LOW10 67 | XCH Q # RESTORING INPUT C(A) IF THIS WAS A 68 | Q+10000 INDEX Q # POSTJUMP. 69 | PRIO12 TCF 10000 # PRIO12 = TCF 10000 = 12000 70 | 71 | # Page 999 72 | # THE FOLLOWING ROUTINE GETS THE RETURN CADR SAVED BY SWCALL OR BANKCALL AND LEAVES IT IN A. 73 | 74 | MAKECADR CAF LOW10 75 | MASK BUF2 76 | AD BUF2 +1 77 | TC Q 78 | 79 | SUPDACAL TS MPTEMP 80 | XCH FBANK # SET FBANK FOR DATA. 81 | EXTEND 82 | ROR SUPERBNK # SAVE FBANK IN BITS 15-11, AND 83 | XCH MPTEMP # SUPERBANK IN BITS 7-5. 84 | MASK LOW10 85 | XCH L # SAVE REL. ADR. IN BANK, FETCH SUPERBITS 86 | INHINT # BECAUSE RUPT DOES NOT SAVE SUPERBANK. 87 | EXTEND 88 | WRITE SUPERBNK # SET SUPERBANK FOR DATA. 89 | INDEX L 90 | CA 10000 # PINBALL (FIX MEM DISP) PREVENTS DCA HERE 91 | XCH MPTEMP # SAVE 1ST WD, FETCH OLD FBANK AND SBANK. 92 | EXTEND 93 | WRITE SUPERBNK # RESTORE SUPERBANK. 94 | RELINT 95 | TS FBANK # RESTORE FBANK. 96 | CA MPTEMP # RECOVER FIRST WORD OF DATA. 97 | RETURN # 24 WDS. DATACALL 516 MU, SUPDACAL 432 MU 98 | 99 | # Page 1000 100 | # THE FOLLOWING ROUTINES ARE IDENTICAL TO BANKCALL AND SWCALL EXCEPT THAT THEY ARE USED IN INTERRUPT. 101 | 102 | IBNKCALL DXCH RUPTREG3 # USES RUPTREG3,4 FOR DP RETURN ADDRESS. 103 | INDEX Q 104 | CAF 0 105 | INCR Q 106 | 107 | ISWCALLL TS L 108 | LXCH FBANK 109 | MASK LOW10 110 | XCH Q 111 | DXCH RUPTREG3 112 | INDEX Q 113 | TC 10000 114 | 115 | ISWRETRN XCH RUPTREG4 116 | XCH FBANK 117 | XCH RUPTREG4 118 | TC RUPTREG3 119 | 120 | # 2. USPRCADR ACCESSES INTERPRETIVE CODING IN OTHER THAN THE USER'S FBANK. THE CALLING SEQUENCE IS AS FOLLOWS: 121 | # L TC USPRCADR 122 | # L+1 CADR INTPRETX # INTPRETX IS THE INTERPRETIVE CODING 123 | # # RETURN IS TO L+2 124 | 125 | USPRCADR TS LOC # SAVE A 126 | CA BIT8 127 | TS EDOP # EXIT INSTRUCTION TO EDOP 128 | CA BBANK 129 | TS BANKSET # USER'S BBANK TO BANKSET 130 | INDEX Q 131 | CA 0 132 | TS FBANK # INTERPRETIVE BANK TO FBANK 133 | MASK LOW10 # YIELDS INTERPRETIVE RELATIVE ADDRESS 134 | XCH Q # INTERPRETIVE ADDRESS TO Q, FETCHING L+1 135 | XCH LOC # L+1 TO LOC, RETRIEVING ORIGINAL A 136 | TCF Q+10000 137 | 138 | # Page 1001 139 | # THERE ARE FOUR POSSIBLE SETTINGS FOR CHANNEL 07. (CHANNEL 07 CONTAINS SUPERBANK SETTING.) 140 | # 141 | # PSEUDO-FIXED OCTAL PSEUDO 142 | # SUPERBANK SETTING S-REG. VALUE BANK NUMBERS ADDRESSES 143 | # --------- ------- ------------ ------------ --------- 144 | # SUPERBANK 3 OXX 2000 - 3777 30 - 37 70000 - 107777 (WHERE XX CAN BE ANYTHING AND 145 | # WILL USUALLY BE SEEN AS 11) 146 | # SUPERBANK 4 100 2000 - 3777 40 - 47 110000 - 127777 (AS FAR AS IT CAN BE SEEN, 147 | # ONLY BANKS 40-43 WILL EVER BE 148 | # AND ARE PRESENTLY AVAILABLE) 149 | # SUPERBANK 5 101 2000 - 3777 50 - 57 130000 - 147777 (PRESENTLY NOT AVAILABLE TO 150 | # THE USER) 151 | # SUPERBANK 6 110 2000 - 3777 60 - 67 150000 - 167777 (PRESENTLY NOT AVAILABLE TO 152 | # THE USER) 153 | # *** THIS ROUTINE MAY BE CALLED BY ANY PROGRAM LOCATED IN BANKS 00 - 27. I.E., NO PROGRAM LIVING IN ANY 154 | # SUPERBANK SHOULD USE SUPERSW. *** 155 | # 156 | # SUPERSW MAY BE CALLED IN THIS FASHION: 157 | # CAF ABBCON WHERE -- ABBCON BBCON SOMETHING -- 158 | # TCR SUPERSW (THE SUPERBNK BITS ARE IN THE BBCON) 159 | # ... ... 160 | # . . 161 | # . . 162 | # OR IN THIS FASHION: 163 | # CAF SUPERSET WHERE SUPERSET IS ONE OF THE FOUR AVAILABLE 164 | # TCR SUPERSW SUPERBANK BIT CONSTANTS: 165 | # ... ... SUPER011 OCTAL 60 166 | # . . SUPER100 OCTAL 100 167 | # . . SUPER101 OCTAL 120 168 | # SUPER110 OCTAL 140 169 | 170 | SUPERSW EXTEND 171 | WRITE SUPERBNK # WRITE BITS 7-6-5 OF THE ACCUMULATOR INTO 172 | # CHANNEL 07 173 | TC Q # TC TO INSTRUCTION FOLLOWING 174 | # TC SUPERSW 175 | 176 | -------------------------------------------------------------------------------- /Luminary099/INTERPRETIVE_CONSTANT.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: INTERPRETIVE_CONSTANT.agc 3 | # Purpose: Part of the source code for Luminary 1A build 099. 4 | # It is part of the source code for the Lunar Module's (LM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 1100-1101 10 | # Mod history: 2009-05-25 RSB Adapted from the corresponding 11 | # Luminary131 file, using page 12 | # images from Luminary 1A. 13 | # 14 | # This source code has been transcribed or otherwise adapted from 15 | # digitized images of a hardcopy from the MIT Museum. The digitization 16 | # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 17 | # the Museum. Many thanks to both. The images (with suitable reduction 18 | # in storage size and consequent reduction in image quality as well) are 19 | # available online at www.ibiblio.org/apollo. If for some reason you 20 | # find that the images are illegible, contact me at info@sandroid.org 21 | # about getting access to the (much) higher-quality images which Paul 22 | # actually created. 23 | # 24 | # Notations on the hardcopy document read, in part: 25 | # 26 | # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 27 | # 16:27 JULY 14, 1969 28 | 29 | # Page 1100 30 | SETLOC INTPRET1 31 | BANK 32 | 33 | COUNT* $$/ICONS 34 | DP1/4TH 2DEC .25 35 | 36 | UNITZ 2DEC 0 37 | 38 | UNITY 2DEC 0 39 | 40 | UNITX 2DEC .5 41 | 42 | ZEROVECS 2DEC 0 43 | 44 | 2DEC 0 45 | 46 | 2DEC 0 47 | 48 | DPHALF = UNITX 49 | DPPOSMAX OCT 37777 50 | OCT 37777 51 | 52 | # Page 1101 53 | # INTERPRETIVE CONSTANTS IN THE OTHER HALF-MEMORY 54 | 55 | SETLOC INTPRET2 56 | BANK 57 | 58 | COUNT* $$/ICONS 59 | ZUNIT 2DEC 0 60 | 61 | YUNIT 2DEC 0 62 | 63 | XUNIT 2DEC .5 64 | 65 | ZEROVEC 2DEC 0 66 | 67 | 2DEC 0 68 | 69 | 2DEC 0 70 | 71 | OCT 77777 # -0, -6, -12 MUST REMAIN IN THIS ORDER 72 | DFC-6 DEC -6 73 | DFC-12 DEC -12 74 | LODPMAX 2OCT 3777737777 # THESE TWO CONSTANTS MUST REMAIN 75 | 76 | LODPMAX1 2OCT 3777737777 # ADJACENT AND THE SAME FOR INTEGRATION 77 | 78 | ZERODP = ZEROVEC 79 | HALFDP = XUNIT 80 | 81 | 82 | -------------------------------------------------------------------------------- /Luminary099/INTERRUPT_LEAD_INS.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: INTERRUT_LEAD_INS.agc 3 | # Purpose: Part of the source code for Luminary 1A build 099. 4 | # It is part of the source code for the Lunar Module's (LM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Onno Hommes . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 0153-0154 10 | # Mod history: 2009-05-14 OH Transcribed from page images. 11 | # 12 | # This source code has been transcribed or otherwise adapted from 13 | # digitized images of a hardcopy from the MIT Museum. The digitization 14 | # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 15 | # the Museum. Many thanks to both. The images (with suitable reduction 16 | # in storage size and consequent reduction in image quality as well) are 17 | # available online at www.ibiblio.org/apollo. If for some reason you 18 | # find that the images are illegible, contact me at info@sandroid.org 19 | # about getting access to the (much) higher-quality images which Paul 20 | # actually created. 21 | # 22 | # Notations on the hardcopy document read, in part: 23 | # 24 | # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 25 | # 16:27 JULY 14, 1969 26 | 27 | 28 | # Page 153 29 | SETLOC 4000 30 | 31 | COUNT* $$/RUPTS # FIX-FIX LEAD INS 32 | INHINT # GO 33 | CAF GOBB 34 | XCH BBANK 35 | TCF GOPROG 36 | 37 | DXCH ARUPT # T6RUPT 38 | EXTEND 39 | DCA T6ADR 40 | DTCB 41 | 42 | DXCH ARUPT # T5RUPT -- AUTOPILOT 43 | EXTEND 44 | DCA T5ADR 45 | DTCB 46 | 47 | DXCH ARUPT # T3RUPT 48 | CAF T3RPTBB 49 | XCH BBANK 50 | TCF T3RUPT 51 | 52 | DXCH ARUPT # T4RUPT 53 | CAF T4RPTBB 54 | XCH BBANK 55 | TCF T4RUPT 56 | 57 | DXCH ARUPT # KEYRUPT1 58 | CAF KEYRPTBB 59 | XCH BBANK 60 | TCF KEYRUPT1 61 | 62 | DXCH ARUPT # KEYRUPT2 63 | CAF MKRUPTBB 64 | XCH BBANK 65 | TCF MARKRUPT 66 | 67 | DXCH ARUPT # UPRUPT 68 | CAF UPRPTBB 69 | XCH BBANK 70 | TCF UPRUPT 71 | 72 | DXCH ARUPT # DOWNRUPT 73 | CAF DWNRPTBB 74 | XCH BBANK 75 | TCF DODOWNTM 76 | 77 | DXCH ARUPT # RADAR RUPT 78 | CAF RDRPTBB 79 | # Page 154 80 | XCH BBANK 81 | TCF RADAREAD 82 | 83 | DXCH ARUPT # RUPT10 IS USED ONLY BY LANDING GUIDANCE 84 | CA RUPT10BB 85 | XCH BBANK 86 | TCF PITFALL 87 | 88 | 89 | EBANK= LST1 # RESTART USES E0, E3 90 | GOBB BBCON GOPROG 91 | 92 | EBANK= PERROR 93 | T6ADR 2CADR DOT6RUPT 94 | 95 | EBANK= LST1 96 | T3RPTBB BBCON T3RUPT 97 | 98 | EBANK= KEYTEMP1 99 | KEYRPTBB BBCON KEYRUPT1 100 | 101 | EBANK= AOTAZ 102 | MKRUPTBB BBCON MARKRUPT 103 | 104 | UPRPTBB = KEYRPTBB 105 | 106 | EBANK= DNTMBUFF 107 | DWNRPTBB BBCON DODOWNTM 108 | 109 | EBANK= RADMODES 110 | RDRPTBB BBCON RADAREAD 111 | 112 | EBANK= M11 113 | T4RPTBB BBCON T4RUPT 114 | 115 | EBANK= ELVIRA 116 | RUPT10BB BBCON PITFALL 117 | 118 | -------------------------------------------------------------------------------- /Luminary099/KALCMANU_STEERING.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: KALCMANU_STEERING.agc 3 | # Purpose: Part of the source code for Luminary 1A build 099. 4 | # It is part of the source code for the Lunar Module's (LM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 365-369 10 | # Mod history: 2009-05-17 RSB Adapted from the corresponding 11 | # Luminary131 file, using page 12 | # images from Luminary 1A. 13 | # 2011-01-06 JL Added missing comment characters. 14 | # 15 | # This source code has been transcribed or otherwise adapted from 16 | # digitized images of a hardcopy from the MIT Museum. The digitization 17 | # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 18 | # the Museum. Many thanks to both. The images (with suitable reduction 19 | # in storage size and consequent reduction in image quality as well) are 20 | # available online at www.ibiblio.org/apollo. If for some reason you 21 | # find that the images are illegible, contact me at info@sandroid.org 22 | # about getting access to the (much) higher-quality images which Paul 23 | # actually created. 24 | # 25 | # Notations on the hardcopy document read, in part: 26 | # 27 | # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 28 | # 16:27 JULY 14, 1969 29 | 30 | # Page 365 31 | # GENERATION OF STEERING COMMANDS FOR DIGITAL AUTOPILOT FREE FALL MANEUVERS 32 | # 33 | # NEW COMMANDS WILL BE GENERATED EVERY ONE SECOND DURING THE MANEUVER 34 | 35 | EBANK= TTEMP 36 | 37 | NEWDELHI TC BANKCALL # CHECK FOR AUTO STABILIZATION 38 | CADR ISITAUTO # ONLY 39 | CCS A 40 | TCF NOGO -2 41 | NEWANGL TC INTPRET 42 | AXC,1 AXC,2 43 | MIS # COMPUTE THE NEW MATRIX FROM S/C TO 44 | KEL # STABLE MEMBER AXES 45 | CALL 46 | MXM3 47 | VLOAD STADR 48 | STOVL MIS +12D # CALCULATE NEW DESIRED CDU ANGLES 49 | STADR 50 | STOVL MIS +6D 51 | STADR 52 | STORE MIS 53 | AXC,1 CALL 54 | MIS 55 | DCMTOCDU # PICK UP THE NEW CDU ANGLES FROM MATRIX 56 | RTB 57 | V1STO2S 58 | STORE NCDU # NEW CDU ANGLES 59 | BONCLR EXIT 60 | CALCMAN2 61 | MANUSTAT # TO START MANEUVER 62 | CAF TWO # +0 OTHERWISE 63 | INCRDCDU TS SPNDX 64 | INDEX SPNDX 65 | CA BCDU # INITIAL CDU ANGLES 66 | EXTEND # OR PREVIOUS DESIRED CDU ANGLES 67 | INDEX SPNDX 68 | MSU NCDU 69 | EXTEND 70 | 71 | # The following 2 lines seem to have no purpose at all. 72 | # I am removing them because they only serve to confuse 73 | # the assembler by getting in between EXTEND and MP. 74 | # --- RSB 2009. 75 | #SETLOC KALCMON1 76 | #BANK 77 | 78 | MP DT/TAU 79 | CCS A # CONVERT TO 2'S COMPLEMENT 80 | AD ONE 81 | TCF +2 82 | COM 83 | INDEX SPNDX 84 | TS DELDCDU # ANGLE INCREMENTS TO BE ADDED TO 85 | INDEX SPNDX # CDUXD, CDUYD, CDUZD EVERY TENTH SECOND 86 | # Page 366 87 | CA NCDU # BY LEM DAP 88 | INDEX SPNDX 89 | XCH BCDU 90 | INDEX SPNDX 91 | TS CDUXD 92 | CCS SPNDX 93 | TCF INCRDCDU # LOOP FOR THREE AXES 94 | 95 | RELINT 96 | 97 | # COMPARE PRESENT TIME WTIH TIME TO TERMINATE MANEUVER 98 | 99 | TMANUCHK TC TIMECHK 100 | TCF CONTMANU 101 | CAF ONE 102 | MANUSTAL INHINT # END MAJOR PART OF MANEUVER WITHIN 1 SEC 103 | TC WAITLIST # UNDER WAITLIST CALL TO MANUSTOP 104 | EBANK= TTEMP 105 | 2CADR MANUSTOP 106 | 107 | RELINT 108 | TCF ENDOFJOB 109 | 110 | TIMECHK EXTEND 111 | DCS TIME2 112 | DXCH TTEMP 113 | EXTEND 114 | DCA TM 115 | DAS TTEMP 116 | CCS TTEMP 117 | TC Q 118 | TCF +2 119 | TCF 2NDRETRN 120 | CCS TTEMP +1 121 | TC Q 122 | TCF MANUOFF 123 | COM 124 | MANUOFF AD ONESEK +1 125 | EXTEND 126 | BZMF 2NDRETRN 127 | INCR Q 128 | 2NDRETRN INCR Q 129 | TC Q 130 | 131 | DT/TAU DEC .1 132 | 133 | MANUSTAT EXIT # INITIALIZATION ROUTINE 134 | EXTEND # FOR AUTOMATIC MANEUVERS 135 | DCA TIME2 136 | # Page 367 137 | DAS TM # TM+TO MANEUVER COMPLETION TIME 138 | EXTEND 139 | DCS ONESEK 140 | DAS TM # (TM+TO)-1 141 | INHINT 142 | CAF TWO 143 | RATEBIAS TS KSPNDX 144 | DOUBLE 145 | TS KDPNDX 146 | INDEX A 147 | CA BRATE 148 | INDEX KSPNDX # STORE MANEUVER RATE IN 149 | TS OMEGAPD # OMEGAPD, OMEGAQD, OMEGARD 150 | EXTEND 151 | BZMF +2 # COMPUTE ATTITUDE ERROR 152 | COM # OFFSET = (WX)ABS(WX)/2AJX 153 | EXTEND # WHERE AJX= 2-JET ACCELERATION 154 | MP BIASCALE # = -1/16 155 | EXTEND 156 | INDEX KDPNDX 157 | MP BRATE 158 | EXTEND 159 | INDEX KSPNDX 160 | DV 1JACC # = AJX $ 90 DEG/SEC-SEC 161 | INDEX KSPNDX 162 | TS DELPEROR # $ 180 DEG 163 | CCS KSPNDX 164 | TCF RATEBIAS 165 | 166 | CA TIME1 167 | AD ONESEK +1 168 | XCH NEXTIME 169 | TCF INCRDCDU -1 170 | 171 | ONESEK DEC 0 172 | DEC 100 173 | 174 | BIASCALE OCT 75777 # = -1/16 175 | 176 | CONTMANU CS TIME1 # RESET FOR NEXT DCDU UPDATE 177 | AD NEXTIME 178 | CCS A 179 | AD ONE 180 | TCF MANUCALL 181 | AD NEGMAX 182 | COM 183 | MANUCALL INHINT # CALL FOR NEXT UPDATE VIA WAITLIST 184 | TC WAITLIST 185 | EBANK= TTEMP 186 | 2CADR UPDTCALL 187 | # Page 368 188 | CAF ONESEK +1 # INCREMENT TIME FOR NEXT UPDATE 189 | ADS NEXTIME 190 | TCF ENDOFJOB 191 | 192 | UPDTCALL CAF PRIO26 # SATELLITE PROGRAM TO CALL FOR UPDATE 193 | TC FINDVAC # OF STEERING COMMANDS 194 | EBANK= TTEMP 195 | 2CADR NEWDELHI 196 | 197 | TC TASKOVER 198 | 199 | # Page 369 200 | # ROUTINE FOR TERMINATING AUTOMATIC MANEUVERS 201 | 202 | MANUSTOP CAF ZERO # ZERO MANEUVER RATES 203 | TS DELDCDU2 204 | TS OMEGARD 205 | TS DELREROR 206 | TS DELDCDU1 207 | TS OMEGAQD 208 | TS DELQEROR 209 | CA CPSI # SET DESIRED GIMBAL ANGLES TO 210 | TS CDUZD # DESIRED FINAL GIMBAL ANGLES 211 | CA CTHETA 212 | TS CDUYD 213 | ENDROLL CA CPHI # NO FINAL YAW 214 | TS CDUXD 215 | CAF ZERO 216 | TS OMEGAPD # I.E., MANEUVER DID NOT GO THRU 217 | TS DELDCDU # GIMBAL LOCK ORIGINALLY 218 | TS DELPEROR 219 | GOODMANU CA ATTPRIO # RESTORE USERS PRIO 220 | TS NEWPRIO 221 | 222 | CA ZERO # ZERO ATTCADR 223 | DXCH ATTCADR 224 | 225 | TC SPVAC # RETURN TO USER 226 | 227 | TC TASKOVER 228 | 229 | 230 | -------------------------------------------------------------------------------- /Luminary099/KALMAN_FILTER.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: KALMAN_FILTER.agc 3 | # Purpose: Part of the source code for Luminary 1A build 099. 4 | # It is part of the source code for the Lunar Module's (LM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 1470-1471 10 | # Mod history: 2009-05-27 RSB Adapted from the corresponding 11 | # Luminary131 file, using page 12 | # images from Luminary 1A. 13 | # 14 | # This source code has been transcribed or otherwise adapted from 15 | # digitized images of a hardcopy from the MIT Museum. The digitization 16 | # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 17 | # the Museum. Many thanks to both. The images (with suitable reduction 18 | # in storage size and consequent reduction in image quality as well) are 19 | # available online at www.ibiblio.org/apollo. If for some reason you 20 | # find that the images are illegible, contact me at info@sandroid.org 21 | # about getting access to the (much) higher-quality images which Paul 22 | # actually created. 23 | # 24 | # Notations on the hardcopy document read, in part: 25 | # 26 | # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 27 | # 16:27 JULY 14, 1969 28 | 29 | # Page 1470 30 | EBANK= NO.UJETS 31 | BANK 16 32 | SETLOC DAPS1 33 | BANK 34 | 35 | COUNT* $$/DAP 36 | 37 | RATELOOP CA TWO 38 | TS DAPTEMP6 39 | DOUBLE 40 | TS Q 41 | INDEX DAPTEMP6 42 | CCS TJP 43 | TCF +2 44 | TCF LOOPRATE 45 | AD -100MST6 46 | EXTEND 47 | BZMF SMALLTJU 48 | INDEX DAPTEMP6 49 | CCS TJP 50 | CA -100MST6 51 | TCF +2 52 | CS -100MST6 53 | INDEX DAPTEMP6 54 | ADS TJP 55 | INDEX DAPTEMP6 56 | CCS TJP 57 | CS -100MS # 0.1 AT 1 58 | TCF +2 59 | CA -100MS 60 | LOOPRATE EXTEND 61 | INDEX DAPTEMP6 62 | MP NO.PJETS 63 | CA L 64 | INDEX DAPTEMP6 65 | TS DAPTEMP1 # SIGNED TORQUE AT 1 JET-SEC FOR FILTER 66 | EXTEND 67 | MP BIT10 # RESCALE TO 32; ONE BIT ABOUT 2 JET-MSEC 68 | EXTEND 69 | BZMF NEGTORK 70 | STORTORK INDEX Q # INCREMENT DOWNLIST REGISTER. 71 | ADS DOWNTORK # NOTE: NOT INITIALIZED; OVERFLOWS. 72 | 73 | CCS DAPTEMP6 74 | TCF RATELOOP +1 75 | TCF ROTORQUE 76 | SMALLTJU CA ZERO 77 | INDEX DAPTEMP6 78 | XCH TJP 79 | EXTEND 80 | # Page 1471 81 | MP ELEVEN # 10.24 PLUS 82 | CA L 83 | TCF LOOPRATE 84 | ROTORQUE CA DAPTEMP2 85 | AD DAPTEMP3 86 | EXTEND 87 | MP 1JACCR 88 | TS JETRATER 89 | CS DAPTEMP3 90 | AD DAPTEMP2 91 | EXTEND 92 | MP 1JACCQ 93 | TS JETRATEQ 94 | TCF BACKP 95 | -100MST6 DEC -160 96 | 97 | NEGTORK COM 98 | INCR Q 99 | TCF STORTORK 100 | 101 | 102 | -------------------------------------------------------------------------------- /Luminary099/KEYRUPT_UPRUPT.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: KEYRUPT_UPRUPT.agc 3 | # Purpose: Part of the source code for Luminary 1A build 099. 4 | # It is part of the source code for the Lunar Module's (LM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 1338-1340 10 | # Mod history: 2009-05-27 RSB Adapted from the corresponding 11 | # Luminary131 file, using page 12 | # images from Luminary 1A. 13 | # 14 | # This source code has been transcribed or otherwise adapted from 15 | # digitized images of a hardcopy from the MIT Museum. The digitization 16 | # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 17 | # the Museum. Many thanks to both. The images (with suitable reduction 18 | # in storage size and consequent reduction in image quality as well) are 19 | # available online at www.ibiblio.org/apollo. If for some reason you 20 | # find that the images are illegible, contact me at info@sandroid.org 21 | # about getting access to the (much) higher-quality images which Paul 22 | # actually created. 23 | # 24 | # Notations on the hardcopy document read, in part: 25 | # 26 | # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 27 | # 16:27 JULY 14, 1969 28 | 29 | # Page 1338 30 | BANK 14 31 | SETLOC KEYRUPT 32 | BANK 33 | COUNT* $$/KEYUP 34 | 35 | KEYRUPT1 TS BANKRUPT 36 | XCH Q 37 | TS QRUPT 38 | TC LODSAMPT # TIME IS SNATCHED IN RUPT FOR NOUN 65. 39 | CAF LOW5 40 | EXTEND 41 | RAND MNKEYIN # CHECK IF KEYS 5M-1M ON 42 | KEYCOM TS RUPTREG4 43 | CS FLAGWRD5 44 | MASK DSKYFBIT 45 | ADS FLAGWRD5 46 | 47 | ACCEPTUP CAF CHRPRIO # (NOTE: RUPTREG4 = KEYTEMP1) 48 | TC NOVAC 49 | EBANK= DSPCOUNT 50 | 2CADR CHARIN 51 | 52 | CA RUPTREG4 53 | INDEX LOCCTR 54 | TS MPAC # LEAVE 5 BIT KEY CODE IN MPAC FOR CHARIN 55 | TC RESUME 56 | 57 | # Page 1339 58 | # UPRUPT PROGRAM 59 | 60 | UPRUPT TS BANKRUPT 61 | XCH Q 62 | TS QRUPT 63 | TC LODSAMPT # TIME IS SNATCHED IN RUPT FOR NOUN 65. 64 | CAF ZERO 65 | XCH INLINK 66 | TS KEYTEMP1 67 | CAF BIT3 # TURN ON UPACT LIGHT 68 | EXTEND # (BIT 3 OF CHANNEL 11) 69 | WOR DSALMOUT 70 | UPRPT1 CAF LOW5 # TEST FOR TRIPLE CHAR REDUNDANCY 71 | MASK KEYTEMP1 # LOW5 OF WORD 72 | XCH KEYTEMP1 # LOW5 INTO KEYTEMP1 73 | EXTEND 74 | MP BIT10 # SHIFT RIGHT 5 75 | TS KEYTEMP2 76 | MASK LOW5 # MID 5 77 | AD HI10 78 | TC UPTEST 79 | CAF BIT10 80 | EXTEND 81 | MP KEYTEMP2 # SHIFT RIGHT 5 82 | MASK LOW5 # HIGH 5 83 | COM 84 | TC UPTEST 85 | 86 | UPCK CS ELRCODE # CODE IS GOOD. IF CODE = `ERROR RESET', 87 | AD KEYTEMP1 # CLEAR UPLOCKFL (SET BIT4 OF FLAGWRD7 = 0) 88 | EXTEND # IF CODE DOES NOT = `ERROR RESET', ACCEPT 89 | BZF CLUPLOCK # CODE ONLY IF UPLOCKFL IS CLEAR (=0). 90 | 91 | CAF UPLOCBIT # TEST UPLOCKFL FOR 0 OR 1 92 | MASK FLAGWRD7 93 | CCS A 94 | TC RESUME # UPLOCKFL = 1 95 | TC ACCEPTUP # UPLOCKFL = 0 96 | 97 | CLUPLOCK CS UPLOCBIT # CLEAR UPLOCKFL (I.E., SET BIT 4 OF 98 | MASK FLAGWRD7 # FLAGWRD7 = 0) 99 | TS FLAGWRD7 100 | TC ACCEPTUP 101 | 102 | # CODE IS BAD 103 | TMFAIL2 CS FLAGWRD7 # LOCK OUT FURTHER UPLINK ACTIVITY 104 | MASK UPLOCBIT # (BY SETTING UPLOCKFL = 1) UNTIL 105 | ADS FLAGWRD7 # `ERROR RESET' IS SENT VIA UPLINK. 106 | TC RESUME 107 | UPTEST AD KEYTEMP1 108 | # Page 1340 109 | CCS A 110 | TC TMFAIL2 111 | HI10 OCT 77740 112 | TC TMFAIL2 113 | TC Q 114 | 115 | ELRCODE OCT 22 116 | 117 | # `UPLINK ACTIVITY LIGHT' IS TURNED OFF BY ..... 118 | # 1. VBRELDSP 119 | # 2. ERROR RESET 120 | # 3. UPDATE PROGRAM (P27) ENTERED BY V70,V71,V72, AND V73. 121 | # _ 122 | # THE RECEPTION OF A BAD CODE (I.E., CCC FAILURE) LOCKS OUT FURTHER UPLINK ACTIVITY BY SETTING BIT4 OF FLAGWRD7 = 1. 123 | # THIS INDICATION WILL BE TRANSFERRED TO THE GROUND BY THE DOWNLINK WHICH DOWNLINKS ALL FLAGWORDS. 124 | # WHEN UPLINK ACTIVITY IS LOCKED OUT, IT CAN BE ALLOWED WHEN THE GROUND UPLINKS AND `ERROR RESET' CODE. 125 | # (IT IS RECOMMENDED THAT THE `ERROR LIGHT RESET' CODE IS PRECEEDED BY 16 BITS THE FIRST OF WHICH IS 1 FOLLOWED 126 | # BY 15 ZEROS. THIS WILL ELIMINATE EXTRANEOUS BITS FROM INLINK WHICH MAY HAVE BEEN LEFT OVER FROM THE ORIGINAL 127 | # FAILURE). 128 | # 129 | # UPLINK ACTIVITY IS ALSO ALLOWED (UNLOCKED) DURING FRESH START WHEN FRESH START SETS BIT4 OF FLAGWRD7 = 0. 130 | 131 | CS XDSPBIT 132 | 133 | -------------------------------------------------------------------------------- /Luminary099/LAMBERT_AIMPOINT_GUIDANCE.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: LAMBERT_AIMPOINT_GUIDANCE.agc 3 | # Purpose: Part of the source code for Luminary 1A build 099. 4 | # It is part of the source code for the Lunar Module's (LM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 651-653 10 | # Mod history: 2009-05-18 RSB Transcribed from Luminary 099 11 | # page images. 12 | # 2009-06-05 RSB Corrected 4 typos. 13 | # 2009-06-07 RSB Fixed a typo. 14 | # 15 | # This source code has been transcribed or otherwise adapted from 16 | # digitized images of a hardcopy from the MIT Museum. The digitization 17 | # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 18 | # the Museum. Many thanks to both. The images (with suitable reduction 19 | # in storage size and consequent reduction in image quality as well) are 20 | # available online at www.ibiblio.org/apollo. If for some reason you 21 | # find that the images are illegible, contact me at info@sandroid.org 22 | # about getting access to the (much) higher-quality images which Paul 23 | # actually created. 24 | # 25 | # Notations on the hardcopy document read, in part: 26 | # 27 | # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 28 | # 16:27 JULY 14, 1969 29 | 30 | # Page 651 31 | 32 | # GENERAL LAMBERT AIMPOINT GUIDANCE ** 33 | # WRITTEN BY RAMA M AIYAWAR 34 | 35 | # PROGRAM P-31 DESCRIPTION ** 36 | # 37 | # 1. TO ACCEPT TARGETING PARAMETERS OBTAINED FROM A SOURCE EXTERNAL 38 | # TO THE LEM AND COMPUTE THERE FROM THE REQUIRED-VELOCITY AND 39 | # OTHER INITIAL CONDITIONS REQUIRED BY LM FOR DESIRED MANEUVER. 40 | # THE TARGETING PARAMETERS ARE TIG (TIME OF IGNITION), TARGET 41 | # VECTOR (RTARG), AND THE TIME FROM TIG UNTIL THE TARGET IS 42 | # REACHED (DELLT4), DESIRED TIME OF FLIGHT FROM RINIT TO RTARG. 43 | 44 | # ASSUMPTIONS ** 45 | # 46 | # 1. THE TARGET PARAMETERS MAY HAVE BEEN LOADED PRIOR TO THE 47 | # EXECUTION OF THIS PROGRAM. 48 | # 2. THIS PROGRAM IS APPLICABLE IN EITHER EARTH OR LUNAR ORBIT. 49 | # 3. THIS PROGRAM IS DESIGNED FOR ONE-MAN OPERATION, AND SHOULD 50 | # BE SELECTED BY THE ASTRONAUT BY DSKY ENTRY V37 E31. 51 | 52 | # SUBROUTINES USED ** 53 | # 54 | # MANUPARM, TTG/N35, R02BOTH, MIDGIM, DISPMGA, FLAGDOWN, BANKCALL, 55 | # GOTOPOOH, ENDOFJOB, PHASCHNG, GOFLASHR, GOFLASH. 56 | # 57 | # MANUPARM CALCULATES APOGEE, PERIGEE ALTITUDES AND DELTAV DESIRED 58 | # FOR THE MANEUVER. 59 | # 60 | # TTG/N35 CLOCKTASK - UPDATES CLOCK. 61 | # 62 | # MIDGIM CALCULATES MIDDLE GIMBAL ANGLE FOR DISPLAY. 63 | # 64 | # R02BOTH IMU - STATUS CHECK ROUTINE. 65 | 66 | # DISPLAYS USED IN P-31LM ** 67 | # 68 | # V06N33 DISPLAY SOTRED TIG (IN HRS. MINS. SECS.) 69 | # V06N42 DISPLAY APOGEE, PERIGEE, DELTAV. 70 | # V16N35 DISPLAY TIME FROM TIG. 71 | # V06N45 TIME FROM IGNITION AND MIDDLE GIMBAL ANGLE. 72 | 73 | # ERASABLE INITIALIZATION REQUIRED ** 74 | # 75 | # TIG TIME OF IGNITION DP (B+28) CS. 76 | # 77 | # DELLT4 DESIRED TIME OF FLIGHT DP (B+28) CS 78 | # FROM RINIT TO RTARG. 79 | # 80 | # RTARG RADIUS VECTOR OF TARGET POSITION VECTOR 81 | # RADIUS VECTOR SCALED TO (B+29)METERS IF EARTH ORBIT 82 | # Page 652 83 | # RADIUS VECTOR SCALED TO (B+27)METERS IF MOON ORBIT 84 | 85 | # OUTPUT ** 86 | # 87 | # HAPO APOGEE ALTITUDE 88 | # HPER PERIGEE ALTITUDE 89 | # VGDISP MAG. OF DELTAV FOR DISPLAY, SCALING B+7 M/CS EARTH 90 | # MAG. OF DELTAV FOR DISPLAY, SCALING B+5 M/CS MOON 91 | # MIDGIM MIDDLE GIMBAL ANGLE 92 | # XDELVFLG RESETS XDELVFLG FOR LAMBERT VG COMPUTATIONS 93 | 94 | # ALARMS OR ABORTS NONE ** 95 | 96 | # RESTARTS ARE VIA GROUP 4 ** 97 | 98 | SETLOC GLM 99 | BANK 100 | 101 | EBANK= SUBEXIT 102 | 103 | COUNT* $$/P31 104 | P31 TC P20FLGON 105 | CAF V06N33 # T16 106 | TC VNP00H 107 | TC INTPRET 108 | CLEAR DLOAD 109 | UPDATFLG 110 | TIG 111 | STCALL TDEC1 # INTEGRATE STATE VECTORS TO TIG 112 | LEMPREC 113 | VLOAD SETPD 114 | RATT 115 | 0D 116 | STORE RTIG 117 | STOVL RINIT 118 | VATT 119 | STORE VTIG 120 | STODL VINIT 121 | P30ZERO 122 | PUSH PDDL # E4 AND NUMIT = 0 123 | DELLT4 124 | DAD SXA,1 125 | TIG 126 | RTX1 127 | STORE TPASS4 128 | SXA,2 CALL 129 | RTX2 130 | INITVEL 131 | VLOAD PUSH 132 | # Page 653 133 | DELVEET3 134 | STORE DELVSIN 135 | ABVAL CLEAR 136 | XDELVFLG 137 | STCALL VGDISP 138 | GET.LVC 139 | VLOAD PDVL 140 | RTIG 141 | VIPRIME 142 | CALL 143 | PERIAPO1 144 | CALL 145 | SHIFTR1 146 | CALL # LIMIT DISPLAY TO 9999.9 N. MI. 147 | MAXCHK 148 | STODL HPER 149 | 4D 150 | CALL 151 | SHIFTR1 152 | CALL # LIMIT DISPLAY TO 9999.9 N. MI. 153 | MAXCHK 154 | STORE HAPO 155 | EXIT 156 | CAF V06N81 # DELVLVC 157 | TC VNP00H 158 | CAF V06N42 # HAPO, HPER, VGDISP 159 | TC VNP00H 160 | TC INTPRET 161 | REVN1645 SET CALL # TRKMKCNT, TTOGO, +MGA 162 | FINALFLG 163 | VN1645 164 | GOTO 165 | REVN1645 166 | 167 | 168 | # *** END OF LEMP30S .103 *** 169 | 170 | -------------------------------------------------------------------------------- /Luminary099/LEM_GEOMETRY.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: LEM_GEOMETRY.agc 3 | # Purpose: Part of the source code for Luminary 1A build 099. 4 | # It is part of the source code for the Lunar Module's (LM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 320-325 10 | # Mod history: 2009-05-16 RSB Adapted from the corresponding 11 | # Luminary131 file, using page 12 | # images from Luminary 1A. 13 | # 14 | # This source code has been transcribed or otherwise adapted from 15 | # digitized images of a hardcopy from the MIT Museum. The digitization 16 | # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 17 | # the Museum. Many thanks to both. The images (with suitable reduction 18 | # in storage size and consequent reduction in image quality as well) are 19 | # available online at www.ibiblio.org/apollo. If for some reason you 20 | # find that the images are illegible, contact me at info@sandroid.org 21 | # about getting access to the (much) higher-quality images which Paul 22 | # actually created. 23 | # 24 | # Notations on the hardcopy document read, in part: 25 | # 26 | # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 27 | # 16:27 JULY 14, 1969 28 | 29 | # Page 320 30 | BANK 23 31 | SETLOC LEMGEOM 32 | BANK 33 | 34 | SBANK= LOWSUPER 35 | EBANK= XSM 36 | 37 | # THESE TWO ROUTINES COMPUTE THE ACTUAL STATE VECTOR FOR LM,CSM BY ADDING 38 | # THE CONIC R,V AND THE DEVIATIONS R,V. THE STATE VECTORS ARE CONVERTED TO 39 | # METERS B-29 AND METERS/CSEC B-7 AND STORED APPROPRIATELY IN RN,VN OR 40 | # R-OTHER,V-OTHER FOR DOWNLINK. THE ROUTINES NAMES ARE SWITCHED IN THE 41 | # OTHER VEHICLES COMPUTER. 42 | # 43 | # INPUT 44 | # STATE VECTOR IN TEMPORARY STORAGE AREA 45 | # IF STATE VECTOR IS SCALED POS B27 AND VEL B5 46 | # SET X2 TO +2 47 | # IF STATE VECTOR IS SCALED POS B29 AND VEL B7 48 | # SET X2 TO 0 49 | # 50 | # OUTPUT 51 | # R(T) IN RN, V(T) IN VN, T IN PIPTIME 52 | # OR 53 | # R(T) IN R-OTHER, V(T) IN V-OTHER (T IS DEFINED BY T-OTHER) 54 | 55 | COUNT* $$/GEOM 56 | SVDWN2 BOF RVQ # SW=1=AVETOMID DOING W-MATRIX INTEG. 57 | AVEMIDSW 58 | +1 59 | VLOAD VSL* 60 | TDELTAV 61 | 0 -7,2 62 | VAD VSL* 63 | RCV 64 | 0,2 65 | STOVL RN 66 | TNUV 67 | VSL* VAD 68 | 0 -4,2 69 | VCV 70 | VSL* 71 | 0,2 72 | STODL VN 73 | TET 74 | STORE PIPTIME 75 | RVQ 76 | # Page 321 77 | SVDWN1 VLOAD VSL* 78 | TDELTAV 79 | 0 -7,2 80 | VAD VSL* 81 | RCV 82 | 0,2 83 | STOVL R-OTHER 84 | TNUV 85 | VSL* VAD 86 | 0 -4,2 87 | VCV 88 | VSL* 89 | 0,2 90 | STORE V-OTHER 91 | RVQ 92 | 93 | # Page 322 94 | # THE FOLLOWING ROUTINE TAKES A HALF UNIT TARGET VECTOR REFERRED TO NAV BASE COORDINATES AND FINDS BOTH 95 | # GIMBAL ORIENTATIONS AT WHICH THE RR MIGHT SIGHT THE TARGET. THE GIMBAL ANGLES CORRESPONDING TO THE PRESENT MODE 96 | # ARE LEFT IN MODEA AND THOSE WHICH WOULD BE USED AFTER A REMODE IN MODEB. THIS ROUTINE ASSUMES MODE 1 IS TRUNNION 97 | # ANGLE LESS THAN 90 DEGS IN ABS VALUE WITH ARBITRARY SHAFT, WITH A CORRESPONDING DEFINITION FOR MODE 2. MODE 98 | # SELECTION AND LIMIT CHECKING ARE DONE ELSEWHERE. 99 | # 100 | # THE MODE 1 CONFIGURATION IS CALCULATED FROM THE VECTOR AND THEN MODE 2 IS FOUND USING THE RELATIONS 101 | # 102 | # S(2) = 180 + S(1) 103 | # T(2) = 180 - T(1) 104 | # 105 | # THE VECTOR ARRIVES IN MPAC WHERE TRG*SMNG OR *SMNB* WILL HAVE LEFT IT. 106 | 107 | RRANGLES STORE 32D 108 | DLOAD DCOMP # SINCE WE WILL FIND THE MODE 1 SHAFT 109 | 34D # ANGLE LATER, WE CAN FIND THE MODE 1 110 | SETPD ASIN # TRUNNION BY SIMPLY TAKING THE ARCSIN OF 111 | 0 # THE Y COMPONENT, THE ASIN GIVIN AN 112 | PUSH BDSU # ANSWER WHOSE ABS VAL IS LESS THAN 90 DEG. 113 | LODPHALF 114 | STODL 4 # MODE 2 TRUNNION TO 4. 115 | 116 | LO6ZEROS 117 | STOVL 34D # UNIT THE PROJECTION OF THE VECTOR 118 | 32D # IN THE X-Z PLANE 119 | UNIT BOVB # IF OVERFLOW, TARGET VECTOR IS ALONG Y 120 | LUNDESCH # CALL FOR MANEUVER UNLESS ON LUNAR SURF 121 | STODL 32D # PROJECTION VECTOR. 122 | 32D 123 | SR1 STQ 124 | S2 125 | STODL SINTH # USE ARCTRIG SINCE SHAFT COULD BE ARB. 126 | 36D 127 | SR1 128 | STCALL COSTH 129 | ARCTRIG 130 | # Page 323 131 | PUSH DAD # MODE 1 SHAFT TO 2. 132 | LODPHALF 133 | STOVL 6 134 | 4 135 | RTB # FIND MODE 2 CDU ANGLES. 136 | 2V1STO2S 137 | STOVL MODEB 138 | 0 139 | RTB # MODE 1 ANGLES TO MODE A. 140 | 2V1STO2S 141 | STORE MODEA 142 | EXIT 143 | 144 | CS RADMODES # SWAP MODEA AND MODEB IF RR IN MODE 2. 145 | MASK ANTENBIT 146 | CCS A 147 | TCF +4 148 | 149 | DXCH MODEA 150 | DXCH MODEB 151 | DXCH MODEA 152 | 153 | TC INTPRET 154 | GOTO 155 | S2 156 | # Page 324 157 | # GIVEN RR TRUNNION AND SHAFT (T,S) IN TANGNB,+1, FIND THE ASSOCIATED 158 | # LINE OF SIGHT IN NAV BASE AXES. THE HALF UNIT VECTOR, .5(SIN(S)COS(T), 159 | # -SIN(T),COS(S)COS(T)) IS LEFT IN MPAC AND 32D. 160 | 161 | SETLOC INFLIGHT 162 | BANK 163 | 164 | COUNT* $$/GEOM 165 | 166 | RRNB SLOAD RTB 167 | TANGNB 168 | CDULOGIC 169 | SETPD PUSH # TRUNNION ANGLE TO 0 170 | 0 171 | SIN DCOMP 172 | STODL 34D # Y COMPONENT 173 | 174 | COS PUSH # .5 COS(T) TO 0 175 | SLOAD RTB 176 | TANGNB +1 177 | CDULOGIC 178 | RRNB1 PUSH COS # SHAFT ANGLE TO 2 179 | DMP SL1 180 | 0 181 | STODL 36D # Z COMPONENT 182 | 183 | SIN DMP 184 | SL1 185 | STOVL 32D 186 | 32D 187 | RVQ 188 | 189 | # THIS ENTRY TO RRNB REQUIRES THE TRUNNION AND SHAFT ANGLES IN MPAC AND MPAC +1 RESPECTIVELY 190 | 191 | RRNBMPAC STODL 20D # SAVE SHAFT CDU IN 21. 192 | MPAC # SET MODE TO DP. (THE PRECEEDING STORE 193 | # MAY BE DP, TP OR VECTOR.) 194 | RTB SETPD 195 | CDULOGIC 196 | 0 197 | PUSH SIN # TRUNNION ANGLE TO 0 198 | DCOMP 199 | STODL 34D # Y COMPONENT 200 | COS PUSH # .5COS(T) TO 0 201 | SLOAD RTB # PICK UP CDU'S. 202 | 21D 203 | CDULOGIC 204 | GOTO 205 | RRNB1 206 | # Page 325 207 | # (This page has nothing on it.) 208 | 209 | 210 | -------------------------------------------------------------------------------- /Luminary099/P12.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: P12.agc 3 | # Purpose: Part of the source code for Luminary 1A build 099. 4 | # It is part of the source code for the Lunar Module's (LM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Hartmuth Gutsche . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 838-842 10 | # Mod history: 2009-05-23 HG Transcribed from page images. 11 | # 12 | # This source code has been transcribed or otherwise adapted from 13 | # digitized images of a hardcopy from the MIT Museum. The digitization 14 | # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 15 | # the Museum. Many thanks to both. The images (with suitable reduction 16 | # in storage size and consequent reduction in image quality as well) are 17 | # available online at www.ibiblio.org/apollo. If for some reason you 18 | # find that the images are illegible, contact me at info@sandroid.org 19 | # about getting access to the (much) higher-quality images which Paul 20 | # actually created. 21 | # 22 | # Notations on the hardcopy document read, in part: 23 | # 24 | # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 25 | # 16:27 JULY 14, 1969 26 | 27 | # Page 838 28 | BANK 24 29 | SETLOC P12 30 | BANK 31 | 32 | EBANK= DVCNTR 33 | COUNT* $$/P12 34 | 35 | P12LM TC PHASCHNG 36 | OCT 04024 37 | 38 | TC BANKCALL 39 | CADR R02BOTH # CHECK THE STATUS OF THE IMU. 40 | 41 | TC UPFLAG 42 | ADRES MUNFLAG 43 | 44 | TC UPFLAG # INSURE 4-JET TRANSLATION CAPABILITY. 45 | ADRES ACC4-2FL 46 | 47 | TC UPFLAG # PREVENT R10 FROM ISSUING CROSS-POINTER 48 | ADRES R10FLAG # OUTPUTS. 49 | 50 | TC CLRADMOD # INITIALIZE RADMODES FOR R29. 51 | 52 | TC DOWNFLAG # CLEAR RENDEZVOUS FLAG FOR P22 53 | ADRES RNDVZFLG 54 | 55 | CAF THRESH2 # INITIALIZE DVMON 56 | TS DVTHRUSH 57 | CAF FOUR 58 | TS DVCNTR 59 | 60 | CA ZERO 61 | TS TRKMKCNT # SHOW THAT R29 DOWNLINK DATA IS NOT READY. 62 | CAF V06N33A 63 | TC BANKCALL # FLASH TIG 64 | CADR GOFLASH 65 | TCF GOTOP00H 66 | TCF +2 # PROCEED 67 | TCF -5 # ENTER 68 | 69 | TC PHASCHNG 70 | OCT 04024 71 | 72 | TC INTPRET 73 | CALL # INITIALZE WM AND /LAND/ 74 | GUIDINIT 75 | SET CALL 76 | FLPI 77 | P12INIT 78 | # Page 839 79 | P12LMB DLOAD 80 | (TGO)A # SET TGO TO AN INITIAL NOMINAL VALUE. 81 | STODL TGO 82 | TIG 83 | STCALL TDEC1 84 | LEMPREC # ROTATE THE STATE VECTORS TO THE 85 | VLOAD MXV # IGNITION TIME. 86 | VATT 87 | REFSMMAT 88 | VSL1 89 | STOVL V1S # COMPUTE V1S = VEL(TIG)*2(-7) M/CS. 90 | RATT 91 | MXV VSL6 92 | REFSMMAT 93 | STCALL R # COMPUTE R = POS(TIG)*2(-24) M. 94 | MUNGRAV # COMPUTE GDT1/2(TIG)*2(-T)M/CS. 95 | VLOAD UNIT 96 | R 97 | STCALL UNIT/R/ # COMPUTE UNIT/R/ FOR YCOMP. 98 | YCOMP 99 | SR DCOMP 100 | 5D 101 | STODL XRANGE # INITIALIZE XRANGE FOR NOUN 76 102 | VINJNOM 103 | STODL ZDOTD 104 | RDOTDNOM 105 | STORE RDOTD 106 | EXIT 107 | 108 | TC PHASCHNG 109 | OCT 04024 110 | 111 | NEWLOAD CAF V06N76 # FLASH CROSS-RANGE, AND APOLUNE VALUES. 112 | TC BANKCALL 113 | CADR GOFLASH 114 | TCF GOTOP00H 115 | TCF +2 # PROCEED 116 | TCF NEWLOAD # ENTER NEW DATA. 117 | 118 | CAF P12ADRES 119 | TS WHICH 120 | 121 | TC PHASCHNG 122 | OCT 04024 123 | 124 | TC INTPRET 125 | DLOAD SL 126 | XRANGE 127 | 5D 128 | DAD 129 | # Page 840 130 | Y 131 | STOVL YCO 132 | UNIT/R/ 133 | VXSC VAD 134 | 49FPS 135 | V1S 136 | STORE V # V(TIPOVER) = V(IGN) + 57FPS (UNIT/R/) 137 | DOT SL1 138 | UNIT/R/ 139 | STOVL RDOT # RDOT = 2(-7) 140 | UNIT/R/ 141 | VXV UNIT 142 | QAXIS 143 | STORE ZAXIS1 144 | SETGO 145 | FLVR 146 | ASCENT 147 | P12RET DLOAD 148 | ATP # ATP(2)*2(18) 149 | DSQ PDDL 150 | ATY # ATY(2)*2(18) 151 | DSQ DAD 152 | BZE SQRT 153 | YAWDUN 154 | SL1 BDDV 155 | ATY 156 | ARCSIN 157 | YAWDUN STOVL YAW 158 | UNFC/2 159 | UNIT DOT 160 | UNIT/R/ 161 | SL1 ARCCOS 162 | DCOMP 163 | STORE PITCH 164 | EXIT 165 | TC PHASCHNG 166 | OCT 04024 167 | 168 | TC DOWNFLAG 169 | ADRES FLPI 170 | 171 | INHINT 172 | TC IBNKCALL 173 | CADR PFLITEDB 174 | RELINT 175 | 176 | TC POSTJUMP 177 | CADR BURNBABY 178 | 179 | P12INIT DLOAD # INITIALIZE ENGINE DATA. USED FOR P12 AND 180 | # Page 841 181 | (1/DV)A # P71. 182 | STORE 1/DV3 183 | STORE 1/DV2 184 | STODL 1/DV1 185 | (AT)A 186 | STODL AT 187 | (TBUP)A 188 | STODL TBUP 189 | ATDECAY 190 | DCOMP SL 191 | 11D 192 | STORE TTO 193 | SLOAD DCOMP 194 | APSVEX 195 | SR2 196 | STORE VE 197 | BOFF RVQ 198 | FLAP 199 | COMMINIT 200 | COMMINIT DLOAD DAD # INITIALIZE TARGET DATA. USED BY P12, P70 201 | HINJECT # AND P71 IF IT DOES NOT FOLLOW P70. 202 | /LAND/ 203 | STODL RCO 204 | HI6ZEROS 205 | STORE TXO 206 | STORE YCO 207 | STORE RDOTD 208 | STOVL YDOTD 209 | VRECTCSM 210 | VXV MXV 211 | RRECTCSM 212 | REFSMMAT 213 | UNIT 214 | STORE QAXIS 215 | RVQ 216 | P12ADRES REMADR P12TABLE 217 | 218 | SETLOC P12A 219 | BANK 220 | COUNT* $$/P12 221 | 222 | GUIDINIT STQ SETPD 223 | TEMPR60 224 | 0D 225 | VLOAD PUSH 226 | UNITZ 227 | RTB PUSH 228 | LOADTIME 229 | CALL 230 | RP-TO-R 231 | # Page 842 232 | MXV VXSC 233 | REFSMMAT 234 | MOONRATE 235 | STOVL WM 236 | RLS 237 | ABVAL SL3 238 | STCALL /LAND/ 239 | TEMPR60 240 | 241 | 49FPS 2DEC .149352 B-6 # EXPECTED RDOT AT TIPOVER 242 | VINJNOM 2DEC 16.7924 B-7 # 5509.5 FPS(APO=30NM WITH RDOT=19.5FPS) 243 | RDOTDNOM 2DEC .059436 B-7 # 19.5 FPS 244 | 245 | 246 | -------------------------------------------------------------------------------- /Luminary099/P30_P37.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: P30_P37.agc 3 | # Purpose: Part of the source code for Luminary 1A build 099. 4 | # It is part of the source code for the Lunar Module's (LM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 614-617 10 | # Mod history: 2009-05-17 RSB Adapted from the corresponding 11 | # Luminary131 file, using page 12 | # images from Luminary 1A. 13 | # 2009-06-05 RSB Removed 4 lines of code that shouldn't 14 | # have survived from Luminary 131. 15 | # 16 | # This source code has been transcribed or otherwise adapted from 17 | # digitized images of a hardcopy from the MIT Museum. The digitization 18 | # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 19 | # the Museum. Many thanks to both. The images (with suitable reduction 20 | # in storage size and consequent reduction in image quality as well) are 21 | # available online at www.ibiblio.org/apollo. If for some reason you 22 | # find that the images are illegible, contact me at info@sandroid.org 23 | # about getting access to the (much) higher-quality images which Paul 24 | # actually created. 25 | # 26 | # Notations on the hardcopy document read, in part: 27 | # 28 | # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 29 | # 16:27 JULY 14, 1969 30 | 31 | # Page 614 32 | # PROGRAM DESCRIPTION P30 DATE 3-6-67 33 | # 34 | # MOD.1 BY RAMA AIYAWAR 35 | # 36 | # FUNCTIONAL DESCRIPTIONS 37 | # ACCEPT ASTRONAUT INPUTS OF TIG,DELV(LV) 38 | # CALL IMU STATUS CHECK ROUTINE (R02) 39 | # DISPLAY TIME TO GO, APOGEE, PERIGEE, DELV(MAG), MGA AT IGN 40 | # REQUEST BURN PROGRAM 41 | # 42 | # CALLING SEQUENCE VIA JOB FROM V37 43 | # 44 | # EXIT VIA V37 CALL OR TO GOTOP00H (V34E) 45 | # 46 | # SUBROUTINE CALLS -- FLAGUP, PHASCHNG, BANKCALL, ENDOFJOB, GOFLASH, GOFLASHR 47 | # GOPERF3R, INTPRET, BLANKET, GOTOP00H, R02BOTH, S30.1, 48 | # TIG/N35, MIDGIM, DISPMGA 49 | # 50 | # ERASABLE INITIALIZATION -- STATE VECTOR 51 | # 52 | # OUTPUT -- RINIT, VINIT, +MGA, VTIG, RTIG, DELVSIN, DELVSAB, DELVSLV, HAPO, 53 | # HPER, TTOGO 54 | # 55 | # DEBRIS -- A, L, MPAC, PUSHLIST 56 | 57 | BANK 32 58 | SETLOC P30S 59 | BANK 60 | EBANK= +MGA 61 | COUNT* $$/P30 62 | P30 TC UPFLAG # SET UPDATE FLAG 63 | ADRES UPDATFLG 64 | TC UPFLAG # SET TRACK FLAG 65 | ADRES TRACKFLG 66 | 67 | P30N33 CAF V06N33 # T OF IGN 68 | TC VNP00H # RETURN ON PROCEED, P00H ON TERMINATE 69 | 70 | CAF V06N81 # DISPLAY DELTA V (LV) 71 | TC VNP00H # REDISPLAY ON RECYCLE 72 | 73 | TC DOWNFLAG # RESET UPDATE FLAG 74 | ADRES UPDATFLG 75 | TC INTPRET 76 | CALL 77 | S30.1 78 | SET EXIT 79 | UPDATFLG 80 | PARAM30 CAF V06N42 # DISPLAY APOGEE,PERIGEE,DELTA V 81 | TC VNP00H 82 | # Page 615 83 | 84 | TC INTPRET 85 | SETGO 86 | XDELVFLG # FOR P40'S: EXTERNAL DELTA-V GUIDANCE. 87 | REVN1645 # TRKMKCNT, T60, +MGA DISPLAY 88 | 89 | V06N33 VN 0633 90 | V06N42 VN 0642 91 | 92 | # Page 616 93 | # PROGRAM DESCRIPTION S30.1 DATE 9NOV66 94 | # MOD NO 1 LOG SECTION P30,P37 95 | # MOD BY RAMA AIYAWAR ** 96 | # 97 | # FUNCTIONAL DESCRIPTION 98 | # BASED ON STORED TARGET PARAMETERS (R OF IGNITION (RTIG), V OF 99 | # IGNITION (VTIG), TIME OF IGNITION (TIG)), COMPUTE PERIGEE ALTITUDE 100 | # APOGEE ALTITUDE AND DELTAV REQUIRED (DELVSIN). 101 | # 102 | # CALLING SEQUENCE 103 | # L CALL 104 | # L+1 s30.1 105 | # 106 | # NORMAL EXIT MODE 107 | # AT L+2 OR CALLING SEQUENCE (GOTO L+2) 108 | # 109 | # SUBROUTINES CALLED 110 | # LEMPREC 111 | # PERIAPO 112 | # 113 | # ALARM OR ABORT EXIT MODES 114 | # NONE 115 | # 116 | # ERASABLE INITIALIZATION REQUIRED 117 | # TIG TIME OF IGNITION DP B28CS 118 | # DELVSLV SPECIFIED DELTA-V IN LOCAL VERT. 119 | # COORDS. OF ACTIVE VEHICLE AT 120 | # TIME OF IGNITION VECTOR B+7 METERS/CS 121 | # 122 | # OUTPUT 123 | # RTIG POSITION AT TIG VECTOR B+29 METERS 124 | # VTIG VELOCITY AT TIG VECTOR B+29 METERS/CS 125 | # PDL 4D APOGEE ALTITUDE DP B+29 M, B+27 METERS. 126 | # HAPO APOGEE ALTITUDE DP B+29 METERS 127 | # PDL 8D PERIGEE ALTITUDE DP B+29 M, B+27 METERS. 128 | # HPER PERIGEE ALTITUDE DP B+29 METERS 129 | # DELVSIN SPECIFIED DELTA-V IN INTERTIAL 130 | # COORD. OF ACTIVE VEHICLE AT 131 | # TIME OF IGNITION VECTOR B+7 METERS/CS 132 | # DELVSAB MAG. OF DELVSIN VECTOR B+7 METERS/CS 133 | # 134 | # DEBRIS QTEMP TEMP.ERASABLE 135 | # QPRET, MPAC 136 | # PUSHLIST 137 | 138 | SETLOC P30S1 139 | BANK 140 | 141 | COUNT* $$/S30S 142 | 143 | S30.1 STQ DLOAD 144 | QTEMP 145 | TIG # TIME IGNITION SCALED AT 2(+28)CS 146 | STCALL TDEC1 147 | LEMPREC # ENCKE ROUTINE FOR LEM 148 | 149 | VLOAD SXA,2 150 | # Page 617 151 | RATT 152 | RTX2 153 | STORE RTIG # RADIUS VECTOR AT IGNITION TIME 154 | UNIT VCOMP 155 | STOVL DELVSIN # ZRF/LV IN DELVSIN SCALED AT 2 156 | VATT # VELOCITY VECTOR AT TIG, SCALED 2(7) M/CS 157 | STORE VTIG 158 | VXV UNIT 159 | RTIG 160 | SETPD SXA,1 161 | 0 162 | RTX1 163 | PUSH VXV # YRF/LV PDL 0 SCALED AT 2 164 | DELVSIN 165 | VSL1 PDVL 166 | PDVL PDVL # YRF/LV PDL 6 SCALED AT 2 167 | DELVSIN # ZRF/LV PDL 12D SCALED AT 2 168 | DELVSLV 169 | VXM VSL1 170 | 0 171 | STORE DELVSIN # DELTAV IN INERT. COOR. SCALED TO B+7M/CS 172 | ABVAL 173 | STOVL DELVSAB # DELTA V MAG. 174 | RTIG # (FOR PERIAPO) 175 | PDVL VAD # VREQUIRED = VTIG + DELVSIN (FOR PERIAPO) 176 | VTIG 177 | DELVSIN 178 | CALL 179 | PERIAPO1 180 | CALL 181 | SHIFTR1 # RESCALE IF NEEDED 182 | CALL # LIMIT DISPLAY TO 9999.9 N. MI. 183 | MAXCHK 184 | STODL HPER # PERIGEE ALT 2(29) METERS FOR DISPLAY 185 | 4D 186 | CALL 187 | SHIFTR1 # RESCALE IF NEEDED 188 | CALL # LIMIT DISPLAY TO 9999.9 N. MI. 189 | MAXCHK 190 | STCALL HAPO # APOGEE ALT 2(29) METERS FOR DISPLAY 191 | QTEMP 192 | 193 | 194 | -------------------------------------------------------------------------------- /Luminary099/P76.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: P76.agc 3 | # Purpose: Part of the source code for Luminary 1A build 099. 4 | # It is part of the source code for the Lunar Module's (LM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 709-711 10 | # Mod history: 2009-05-19 RSB Adapted from the corresponding 11 | # Luminary131 file, using page 12 | # images from Luminary 1A. 13 | # 14 | # This source code has been transcribed or otherwise adapted from 15 | # digitized images of a hardcopy from the MIT Museum. The digitization 16 | # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 17 | # the Museum. Many thanks to both. The images (with suitable reduction 18 | # in storage size and consequent reduction in image quality as well) are 19 | # available online at www.ibiblio.org/apollo. If for some reason you 20 | # find that the images are illegible, contact me at info@sandroid.org 21 | # about getting access to the (much) higher-quality images which Paul 22 | # actually created. 23 | # 24 | # Notations on the hardcopy document read, in part: 25 | # 26 | # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 27 | # 16:27 JULY 14, 1969 28 | 29 | # Page 709 30 | # 1) PROGRAM NAME -- TARGET DELTA V PROGRAM (P76). 31 | # 2) FUNCTIONAL DESCRIPTION -- UPON ENTRY BY ASTRONAUT ACTION, P76 FLASHES DSKY REQUESTS TO THE ASTRONAUT 32 | # TO PROVIDE VIA DSKY (1) THE DELTA V TO BE APPLIED TO THE OTHER VEHICLE STATE VECTOR AND (2) THE 33 | # TIME (TIG) AT WHICH THE OTHER VEHICLE VELOCITY WAS CHANGED BY EXECUTION OF A THRUSTING MANEUVER. THE 34 | # OTHER VEHICLE STATE VECTOR IS INTEGRATED TO TIG AND UPDATED BY THE ADDITION OF DELTA V (DELTA V HAVING 35 | # BEEN TRANSFORMED FROM LV TO REF COSYS). USING INTEGRVS, THE PROGRAM THEN INTEGRATES THE OTHER 36 | # VEHICLE STATE VECTOR TO THE STATE VECTOR OF THIS VEHICLE, THUS INSURING THAT THE W-MATRIX AND BOTH VEHICLE 37 | # STATES CORRESPOND TO THE SAME TIME. 38 | # 3) ERASABLE INIITIALIZATION REQUIRED -- NONE. 39 | # 4) CALLING SEQUENCES AND EXIT MODES -- CALLED BY ASTRONAUT REQUEST THRU DSKY V 37 E 76E. 40 | # EXITS BY TCF ENDOFJOB. 41 | # 5) OUTPUT -- OTHER VEHICLE STATE VECTOR INTEGRATED TO TIG AND INCREMENTED BY DELTA V IN REF COSYS. 42 | # THE PUSHLIST CONTAINS THE MATRIX BY WHICH THE INPUT DELTA V MUST BE POST-MULTIPLIED TO CONVERT FROM LV 43 | # TO REF COSYS. 44 | # 6) DEBRIS -- OTHER VEHICLE STATE VECTOR. 45 | # 7) SUBROUTINES CALLED -- BANKCALL, GOXDSPF, CSMPREC (OR LEMPREC), ATOPCSM (OR ATOPLEM), INTSTALL, INTWAKE, PHASCHNG 46 | # INTPRET, INTEGRVS, AND MINIRECT. 47 | # 8) FLAG USE -- MOONFLAG, CMOONFLG, INTYPFLG, RASFLAG, AND MARKCTR. 48 | 49 | BANK 30 50 | SETLOC P76LOC 51 | BANK 52 | 53 | COUNT* $$/P76 54 | 55 | EBANK= TIG 56 | 57 | P76 TC UPFLAG 58 | ADRES TRACKFLG 59 | 60 | TC INTPRET 61 | VLOAD 62 | DELVLVC 63 | STORE DELVOV 64 | EXIT 65 | 66 | CAF V06N84 # FLASH LAST DELTA V, 67 | TC BANKCALL # AND WAIT FOR KEYBOARD ACTION. 68 | CADR GOFLASH 69 | TCF ENDP76 70 | TC +2 # PROCEED 71 | TC -5 # STORE DATA AND REPEAT FLASHING 72 | CAF V06N84 +1 # FLASH VERB 06 NOUN 33, DISPLAY LAST TIG, 73 | TC BANKCALL # AND WAIT FOR KEYBOARD ACTION. 74 | CADR GOFLASH 75 | TCF ENDP76 76 | TC +2 77 | TC -5 78 | TC INTPRET # RETURN TO INTERPRETIVE CODE 79 | # Page 710 80 | DLOAD # SET D(MPAC)=TIG IN CSEC B28 81 | TIG 82 | STCALL TDEC1 # SET TDEC1=TIG FOR ORBITAL INTEGRATION 83 | OTHPREC 84 | COMPMAT VLOAD UNIT 85 | RATT 86 | VCOMP # U(-R) 87 | STORE 24D # U(-R) TO 24D 88 | VXV UNIT # U(-R) X V = U(V X R) 89 | VATT 90 | STORE 18D 91 | VXV UNIT # U(V X R) X U(-R) = U((R X V) X R) 92 | 24D 93 | STOVL 12D 94 | DELVOV 95 | VXM VSL1 # V(MPAC)=DELTA V IN REFCOSYS 96 | 12D 97 | VAD 98 | VATT 99 | STORE 6 # V(PD6)=VATT + DELTA V 100 | CALL # PRESENT WOULD-BE USER OF ORBITAL 101 | INTSTALL # INTEG FROM INTERFERING WITH UPDATING 102 | CALL 103 | P76SUB1 104 | VLOAD VSR* 105 | 6 106 | 0,2 107 | STOVL VCV 108 | RATT 109 | VSR* 110 | 0,2 111 | STODL RCV 112 | TIG 113 | STORE TET 114 | CLEAR DLOAD 115 | INTYPFLG 116 | TETTHIS 117 | INTOTHIS STCALL TDEC1 118 | INTEGRVS 119 | CALL 120 | INTSTALL 121 | VLOAD 122 | RATT1 123 | STORE RRECT 124 | STODL RCV 125 | TAT 126 | STOVL TET 127 | VATT1 128 | CALL 129 | MINIRECT 130 | # Page 711 131 | EXIT 132 | TC PHASCHNG 133 | OCT 04024 134 | 135 | TC UPFLAG 136 | ADRES REINTFLG 137 | 138 | TC INTPRET 139 | CALL 140 | ATOPOTH 141 | SSP EXIT 142 | QPRET 143 | OUT 144 | TC BANKCALL # PERMIT USE OF ORBITAL INTEGRATION 145 | CADR INTWAKE1 146 | OUT EXIT 147 | ENDP76 CAF ZERO 148 | TS MARKCTR # CLEAR RR TRACKING MARK COUNTER 149 | TCF GOTOP00H 150 | 151 | V06N84 NV 0684 152 | NV 0633 153 | P76SUB1 AXT,2 SET 154 | 2 155 | MOONFLAG # SET MEANS MOON IS SPHERE OF INFLUENCE. 156 | BON AXT,2 157 | CMOONFLG # SET MEANS PERM CM STATE IN LUNAR SPHERE. 158 | QPRET 159 | 0 160 | CLEAR RVQ 161 | MOONFLAG 162 | 163 | 164 | 165 | -------------------------------------------------------------------------------- /Luminary099/R31.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: R31.agc 3 | # Purpose: Part of the source code for Luminary 1A build 099. 4 | # It is part of the source code for the Lunar Module's (LM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 703-708 10 | # Mod history: 2009-05-19 RSB Adapted from the corresponding 11 | # Luminary131 file, using page 12 | # images from Luminary 1A. 13 | # 14 | # This source code has been transcribed or otherwise adapted from 15 | # digitized images of a hardcopy from the MIT Museum. The digitization 16 | # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 17 | # the Museum. Many thanks to both. The images (with suitable reduction 18 | # in storage size and consequent reduction in image quality as well) are 19 | # available online at www.ibiblio.org/apollo. If for some reason you 20 | # find that the images are illegible, contact me at info@sandroid.org 21 | # about getting access to the (much) higher-quality images which Paul 22 | # actually created. 23 | # 24 | # Notations on the hardcopy document read, in part: 25 | # 26 | # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 27 | # 16:27 JULY 14, 1969 28 | 29 | # Page 703 30 | BANK 40 31 | SETLOC R31LOC 32 | BANK 33 | 34 | COUNT* $$/R31 35 | 36 | R31CALL CAF PRIO3 37 | TC FINDVAC 38 | EBANK= SUBEXIT 39 | 2CADR V83CALL 40 | 41 | DSPDELAY TC FIXDELAY 42 | DEC 100 43 | CA EXTVBACT 44 | MASK BIT12 45 | EXTEND 46 | BZF DSPDELAY 47 | 48 | CAF PRIO5 49 | TC NOVAC 50 | EBANK= TSTRT 51 | 2CADR DISPN5X 52 | 53 | TCF TASKOVER 54 | 55 | BANK 37 56 | SETLOC R31 57 | BANK 58 | COUNT* $$/R31 59 | 60 | DISPN5X CAF V16N54 61 | TC BANKCALL 62 | CADR GOMARKF 63 | TC B5OFF 64 | TC B5OFF 65 | TCF DISPN5X 66 | 67 | V83CALL CS FLAGWRD7 # TEST AVERAGE G FLAG 68 | MASK AVEGFBIT 69 | EXTEND 70 | BZF MUNG? # ON. TEST MUNFLAG 71 | 72 | CS FLAGWRD8 73 | MASK SURFFBIT 74 | EXTEND 75 | BZF ONEBASE # ON SURFACE -- BYPASS LEMPREC 76 | 77 | TC INTPRET # EXTRAPOLATE BOTH STATE VECTORS 78 | RTB 79 | # Page 704 80 | LOADTIME 81 | STCALL TDEC1 82 | LEMPREC # PRECISION BASE VECTOR FOR LM 83 | VLOAD 84 | RATT1 85 | STOVL BASETHP 86 | VATT1 87 | STODL BASETHV 88 | TAT 89 | DOCMBASE STORE BASETIME # PRECISION BASE VECTOR FOR CM 90 | STCALL TDEC1 91 | CSMPREC 92 | VLOAD 93 | RATT1 94 | STOVL BASEOTP 95 | VATT1 96 | STORE BASEOTV 97 | EXIT 98 | 99 | REV83 CS FLAGWRD7 100 | MASK AVEGFBIT 101 | EXTEND 102 | BZF GETRVN # IF AVEGFLAG SET, USE RN,VN 103 | 104 | CS FLAGWRD8 105 | MASK SURFFBIT 106 | EXTEND 107 | BZF R31SURF # IF ON SURFACE, USE LEMAREC 108 | 109 | TC INTPRET # DO CONIC EXTRAPOLATION FOR BOTH VEHICLES 110 | RTB 111 | LOADTIME 112 | STCALL TDEC1 113 | INTSTALL 114 | VLOAD CLEAR 115 | BASETHP 116 | MOONFLAG 117 | STOVL RCV 118 | BASETHV 119 | STODL VCV 120 | BASETIME 121 | BOF SET # GET APPROPRIATE MOONFLAG SETTING 122 | MOONTHIS 123 | +2 124 | MOONFLAG 125 | SET 126 | INTYPFLG # CONIC EXTRAP. 127 | STCALL TET 128 | INTEGRVS # INTEGRATION --- AT LAST --- 129 | OTHCONIC VLOAD 130 | # Page 705 131 | RATT 132 | STOVL RONE 133 | VATT 134 | STCALL VONE # GET SET FOR CONIC EXTRAP., OTHER. 135 | INTSTALL 136 | SET DLOAD 137 | INTYPFLG 138 | TAT 139 | OTHINT STORE TDEC1 140 | VLOAD CLEAR 141 | BASEOTP 142 | MOONFLAG 143 | STOVL RCV 144 | BASEOTV 145 | STODL VCV 146 | BASETIME 147 | BOF SET 148 | MOONTHIS 149 | +2 150 | MOONFLAG 151 | STCALL TET 152 | INTEGRVS 153 | COMPDISP VLOAD VSU 154 | RATT 155 | RONE 156 | RTB PDDL 157 | NORMUNX1 # UNIT(RANGE) TO PD 0-5 158 | 36D 159 | SL* # RESCALE AFTER NORMUNIT 160 | 0,1 161 | STOVL RANGE # SCALED 2(29)M 162 | VATT 163 | VSU DOT # (VCM-VLM).UNIT(LOS), PD=0 164 | VONE 165 | SL1 # SCALED 2(7)M/CS 166 | STOVL RRATE 167 | RONE 168 | UNIT PDVL # UNIT(R) TO PD 0-5 169 | UNITZ 170 | CALL 171 | CDU*NBSM 172 | VXM PUSH # UNIT(Z)/4 TO PD 6-11 173 | REFSMMAT 174 | VPROJ VSL2 # UNIT(P)=UNIT(UZ-(UZ)PROJ(UR)) 175 | 0D 176 | BVSU UNIT 177 | 6D 178 | PDVL VXV # UNIT(P) TO PD 12-17 179 | 0D # UNIT(RL) 180 | VONE 181 | # Page 706 182 | VXV DOT # (UR * VL) * UR . U(P) 183 | 0D 184 | 12D 185 | PDVL # SIGN TO 12-13, LOAD U(P) 186 | DOT SIGN 187 | 6D 188 | 12D 189 | SL2 ACOS # ARCCOS(UP.UZ(SIGN)) 190 | STOVL RTHETA 191 | 0D 192 | DOT BPL # IF UR.UZ NEG, 193 | 6D # RTHETA = 1 - RTHETA 194 | +5 195 | DLOAD DSU 196 | DPPOSMAX 197 | RTHETA 198 | STORE RTHETA 199 | EXIT 200 | 201 | CA BIT5 202 | MASK EXTVBACT 203 | EXTEND # IF ANSWERED, 204 | BZF ENDEXT # TERMINATE 205 | 206 | CS EXTVBACT 207 | MASK BIT12 208 | ADS EXTVBACT # SET BIT 12 209 | TCF REV83 # AND START AGAIN. 210 | 211 | GETRVN CA PRIO22 # INHIBIT SERVICER 212 | TC PRIOCHNG 213 | TC INTPRET 214 | VLOAD SETPD 215 | RN # LM STATE VECTOR IN RN,VN. 216 | 0 217 | STOVL RONE 218 | VN 219 | STOVL VONE # LOAD R(CSM),V(CSM) IN CASE MUNFLAG SET 220 | V(CSM) # (TO INSURE TIME COMPATIBILITY) 221 | PDVL PDDL 222 | R(CSM) 223 | PIPTIME 224 | EXIT 225 | CA PRIO3 226 | TC PRIOCHNG 227 | TC INTPRET 228 | BOFF VLOAD 229 | MUNFLAG 230 | GETRVN2 # IF MUNFLAG RESET, DO CM DELTA PRECISION 231 | # Page 707 232 | VXM VSR4 # CHANGE TO REFERENCE SYSTEM AND RESCALE 233 | REFSMMAT 234 | PDVL # R TO PD 0-5 235 | VXM VSL1 236 | REFSMMAT 237 | PUSH SETPD # V TO PD 5-11 238 | 0 239 | GOTO 240 | COMPDISP 241 | 242 | GETRVN2 CALL 243 | INTSTALL 244 | CLEAR GOTO 245 | INTYPFLG # PREC EXTRAP FOR OTHER 246 | OTHINT 247 | R31SURF TC INTPRET 248 | RTB # LM IS ON SURFACE, SO PRECISION 249 | LOADTIME # INTEGRATION USED PLANETARY INERTIAL 250 | STCALL TDEC1 # ORIENTATION SUBROUTINE 251 | LEMPREC 252 | GOTO # DO CSM CONIC 253 | OTHCONIC 254 | MUNG? CS FLAGWRD6 255 | MASK MUNFLBIT 256 | EXTEND 257 | BZF GETRVN # IF MUNFLAG SET, CSM BASE NOT NEEDED 258 | 259 | ONEBASE TC INTPRET # GET CSM BASE VECTOR 260 | RTB GOTO 261 | LOADTIME 262 | DOCMBASE 263 | 264 | V16N54 VN 1654 265 | 266 | # Page 708 (empty page) 267 | 268 | -------------------------------------------------------------------------------- /Luminary099/R63.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: R63.agc 3 | # Purpose: Part of the source code for Luminary 1A build 099. 4 | # It is part of the source code for the Lunar Module's (LM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 338-341 10 | # Mod history: 2009-05-16 RSB Adapted from the corresponding 11 | # Luminary131 file, using page 12 | # images from Luminary 1A. 13 | # 14 | # This source code has been transcribed or otherwise adapted from 15 | # digitized images of a hardcopy from the MIT Museum. The digitization 16 | # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 17 | # the Museum. Many thanks to both. The images (with suitable reduction 18 | # in storage size and consequent reduction in image quality as well) are 19 | # available online at www.ibiblio.org/apollo. If for some reason you 20 | # find that the images are illegible, contact me at info@sandroid.org 21 | # about getting access to the (much) higher-quality images which Paul 22 | # actually created. 23 | # 24 | # Notations on the hardcopy document read, in part: 25 | # 26 | # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 27 | # 16:27 JULY 14, 1969 28 | 29 | # Page 338 30 | # SUBROUTINE NAME: V89CALL 31 | # MOD NO: 0 DATE: 9 JAN 1968 32 | # MOD BY: DIGITAL DEVEL GROUP LOG SECTION: R63 33 | # 34 | # FUNCTIONAL DESCRIPTION: 35 | # 36 | # CALLED BY VERB 89 ENTER DURING P00. PRIO 10 USED. CALCULATES AND 37 | # DISPLAYS FINAL FDAI BALL ANGLES TO POINT LM +X OR +Z AXIS AT CSM. 38 | # 39 | # 1. KEY IN V 89 E ONLY IF IN PROG 00. IF NOT IN P00, OPERATOR ERROR AND 40 | # EXIT R63, OTHERWISE CONTINUE. 41 | # 42 | # 2. IF IN P00, DO IMU STATUS CHECK ROUTINE (R02BOTH). IF IMU ON AND ITS 43 | # ORIENTATION KNOWN TO LGC, CONTINUE. 44 | # 45 | # 3. FLASH DISPLAY V 04 N 06. R2 INDICATES WHICH SPACECRAFT AXIS IS TO 46 | # BE POINTED AT CSM. INITIAL CHOICE IS PREFERRED (+Z) AXIS (R2=1). 47 | # ASTRONAUT CAN CHANGE TO (+X) AXIS (R2 NOT =1) BY V 22 E 2 E. CONTINUE 48 | # AFTER KEYING IN PROCEED. 49 | # 50 | # 4. BOTH VEHICLE STATE VECTORS UPDATED BY CONIC EQS. 51 | # 52 | # 5. HALF MAGNITUDE UNIT LOS VECTOR (IN STABLE MEMBER COORDINATES) AND 53 | # HALF MAGNITUDE UNIT SPACECRAFT AXIS VECTOR (IN BODY COORDINATES) 54 | # PREPARED FOR VECPOINT. 55 | # 56 | # 6. GIMBAL ANGLES FROM VECPOINT TRANSFORMED INTO FDAI BALL ANGLES BY 57 | # BALLANGS. FLASH DISPLAY V 06 N 18 AND AWAIT RESPONSE. 58 | # 59 | # 7 RECYCLE -- RETURN TO STEP 4. 60 | # TERMINATE -- EXIT R63 61 | # PROCEED -- RESET 3AXISFLAG AND CALL R60LEM FOR ATTITUDE MANEUVER. 62 | # 63 | # CALLING SEQUENCE: V 89 E. 64 | # 65 | # SUBROUTINES CALLED: CHECKP00H, R02BOTH, GOXDSPF, CSMCONIC, LEMCONIC, 66 | # VECPOINT, BALLANGS, R60LEM. 67 | # 68 | # NORMAL EXIT MODES: TC ENDEXT 69 | # 70 | # ALARMS: 1. OPERATOR ERROR IF NOT IN P00. 71 | # 2. PROGRAM ALARM IF IMU IS OFF. 72 | # 3. PROGRAM ALARM IF IMU ORIENTATION IS UNKNOWN. 73 | # 74 | # OUTPUT: NONE 75 | # 76 | # ERASABLE INITIALIZATION REQUIRED: NONE 77 | # 78 | # DEBRIS: OPTION1, +1, TDEC1, PCINTVSM, SCAXIS, CPHI, CTHETA, CPSI, 79 | # Page 339 80 | # 3AXISFLAG. 81 | 82 | EBANK= RONE 83 | BANK 32 84 | SETLOC BAWLANGS 85 | BANK 86 | 87 | COUNT* $$/R63 88 | V89CALL TC BANKCALL # IMU STATUS CHECK. RETURNS IF ORIENTATION 89 | CADR R02BOTH # KNOWN. ALARMS IF NOT. 90 | CAF THREE # ALLOW ASTRONAUT TO SELECT DESIRED 91 | TS OPTIONX # TRACKING ATTITUDE AXIS. 92 | CAF ONE 93 | TS OPTIONX +1 94 | CAF VB04N12 # V 04 N 12. 95 | TC BANKCALL 96 | CADR GOFLASH 97 | TC ENDEXT # TERMINATE 98 | TC +2 # PROCEED 99 | TC -5 # DATA IN. OPTION1+1 = 1 FOR Z AXIS 100 | V89RECL TC INTPRET # 2 FOR X AXIS 101 | RTB DAD 102 | LOADTIME # READ PRESENT TIME 103 | DP1MIN 104 | STORE TSTART82 # SAVE TIME FOR LEMCONIC CALL 105 | STCALL TDEC1 # STORE TIME FOR CSMCONIC CALL 106 | CSMCONIC # CSM STATE VECTOR UPDATE 107 | VLOAD # CSMCONIC LEFT R VECTOR IN RATT 108 | RATT 109 | STODL RONE # SAVE FOR LINE OF SIGHT (LOS) COMPUTATION 110 | TSTART82 111 | STCALL TDEC1 # STORE TIME FOR LEMCONIC CALL 112 | LEMCONIC # LEM STATE VECTOR UPDATE 113 | VLOAD VSU # CSM POSITION -- LEM POSITION -- LOS 114 | RONE # LOS VECTOR LEFT IN MPAC 115 | RATT 116 | MXV RTB # (REFSMAT X LOS). TRANSFORMS LOS FROM 117 | REFSMMAT # REFERENCE COORD TO STAB MEMB COORD. 118 | NORMUNIT 119 | STORE POINTVSM # STORE LOS FOR VECPOINT CALCULATION 120 | EXIT 121 | CS OPTIONX +1 # 1 FOR Z AXIS. 2 FOR X AXIS. 122 | AD ONE 123 | EXTEND 124 | BZF ALINEZ 125 | ALINEX TC INTPRET # X AXIS ALIGNMENT 126 | VLOAD 127 | UNITX # READ (.5, 0, 0) 128 | # Page 340 129 | V89CALL1 STCALL SCAXIS # STORE SELECTED ALIGNMENT AXIS 130 | VECPOINT # PUTS DESIRED GIM ANG (OG,IG,MG) IN TMPAC 131 | STORE CPHI # STOR GIMBAL ANGLES FOR BALLANGS CALL 132 | EXIT 133 | TC BANKCALL 134 | CADR BALLANGS # PUTS DESIRED BALL ANGLE IN FDAIX,Y,Z 135 | CAF VB06N18 # V 06 N 18 136 | TC BANKCALL # NOUN 18 REFERS TO FDAIX,Y,Z 137 | CADR GOFLASH 138 | TC ENDEXT # TERMINATE 139 | TC +2 # PROCEED 140 | TC V89RECL # RECYCLE 141 | TC DOWNFLAG # RESET 3 AXIS FLAG 142 | ADRES 3AXISFLG # RESET BIT6 FLAG WORD 5 143 | TC BANKCALL # PERFORMS LEM MANEUVER TO ALIGN SELECTED 144 | CADR R60LEM # SPACECRAFT AXIS TO CSM. 145 | TCF ENDEXT # TERMINATE R63 146 | 147 | ALINEZ TC INTPRET # Z AXIS ALIGNMENT 148 | VLOAD GOTO 149 | UNITZ # READ (0, 0, .5) 150 | V89CALL1 151 | 152 | VB04N12 VN 412 153 | VB06N18 VN 0618 154 | # Page 341 155 | DP1MIN 2DEC 6000 156 | 157 | -------------------------------------------------------------------------------- /Luminary099/RADAR_LEADIN_ROUTINES.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: RADAR_LEADIN_ROUTINES.agc 3 | # Purpose: Part of the source code for Luminary 1A build 099. 4 | # It is part of the source code for the Lunar Module's (LM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 490-491 10 | # Mod history: 2009-05-17 RSB Adapted from the corresponding 11 | # Luminary131 file, using page 12 | # images from Luminary 1A. 13 | # 14 | # This source code has been transcribed or otherwise adapted from 15 | # digitized images of a hardcopy from the MIT Museum. The digitization 16 | # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 17 | # the Museum. Many thanks to both. The images (with suitable reduction 18 | # in storage size and consequent reduction in image quality as well) are 19 | # available online at www.ibiblio.org/apollo. If for some reason you 20 | # find that the images are illegible, contact me at info@sandroid.org 21 | # about getting access to the (much) higher-quality images which Paul 22 | # actually created. 23 | # 24 | # Notations on the hardcopy document read, in part: 25 | # 26 | # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 27 | # 16:27 JULY 14, 1969 28 | 29 | # Page 490 30 | BANK 25 31 | SETLOC RRLEADIN 32 | BANK 33 | 34 | EBANK= RSTACK 35 | 36 | # RADAR SAMPLING LOOP. 37 | 38 | COUNT* $$/RLEAD 39 | RADSAMP CCS RSAMPDT # TIMES NORMAL ONCE-PER-SECOND SAMPLING. 40 | TCF +2 41 | TCF TASKOVER # +0 INSERTED MANUALLY TERMINATES TEST. 42 | 43 | TC WAITLIST 44 | EBANK= RSTACK 45 | 2CADR RADSAMP 46 | 47 | CAF PRIO25 48 | TC NOVAC 49 | EBANK= RSTACK 50 | 2CADR DORSAMP 51 | 52 | CAF BIT14 # FOR CYCLIC SAMPLING, RTSTDEX = 53 | EXTEND # RTSTLOC/2 + RTSTBASE 54 | MP RTSTLOC 55 | AD RTSTBASE # 0 FOR RR, 2 FOR LR. 56 | TS RTSTDEX 57 | TCF TASKOVER 58 | 59 | # DO THE ACTUAL RADAR SAMPLE. 60 | 61 | DORSAMP TC VARADAR # SELECTS VARIABLE RADAR CHANNEL. 62 | TC BANKCALL 63 | CADR RADSTALL 64 | 65 | INCR RFAILCNT # ADVANCE FAIL COUNTER BUT ACCEPT BAD DATA 66 | 67 | DORSAMP2 INHINT 68 | CA FLAGWRD5 # DON'T UPDATE RSTACK IF IN R77. 69 | MASK R77FLBIT 70 | CCS A 71 | TCF +4 72 | 73 | DXCH SAMPLSUM 74 | INDEX RTSTLOC 75 | DXCH RSTACK 76 | 77 | CS RTSTLOC # CYCLE RTSTLOC. 78 | AD RTSTMAX 79 | EXTEND 80 | 81 | # Page 491 82 | BZF +3 83 | CA RTSTLOC 84 | AD TWO # STORAGE IS DP 85 | TS RTSTLOC 86 | TCF ENDOFJOB # CONTINUOUS SAMPLING AND 2N TRIES -- GONE. 87 | 88 | # VARIABLE RADAR DATA CALLER FOR ONE MEASUREMENT ONLY. 89 | 90 | VARADAR CAF ONE # WILL BE SENT TO RADAR ROUTINE IN A BY 91 | TS BUF2 # SWCALL 92 | INDEX RTSTDEX 93 | CAF RDRLOCS 94 | TCF SWCALL # NOT TOUCHING Q. 95 | 96 | RDRLOCS CADR RRRANGE # =0 97 | CADR RRRDOT # =1 98 | CADR LRVELX # =2 99 | CADR LRVELY # =3 100 | CADR LRVELZ # =4 101 | CADR LRALT # =5 102 | 103 | 104 | -------------------------------------------------------------------------------- /Luminary099/RCS_FAILURE_MONITOR.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: RCS_FAILURE_MONITOR.agc 3 | # Purpose: Part of the source code for Luminary 1A build 099. 4 | # It is part of the source code for the Lunar Module's (LM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Hartmuth Gutsche . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 190-192 10 | # Mod history: 2009-05-19 HG Transcribed from page images. 11 | # 12 | # This source code has been transcribed or otherwise adapted from 13 | # digitized images of a hardcopy from the MIT Museum. The digitization 14 | # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 15 | # the Museum. Many thanks to both. The images (with suitable reduction 16 | # in storage size and consequent reduction in image quality as well) are 17 | # available online at www.ibiblio.org/apollo. If for some reason you 18 | # find that the images are illegible, contact me at info@sandroid.org 19 | # about getting access to the (much) higher-quality images which Paul 20 | # actually created. 21 | # 22 | # Notations on the hardcopy document read, in part: 23 | # 24 | # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 25 | # 16:27 JULY 14, 1969 26 | 27 | # Page 190 28 | # PROGRAM DESCRIPTION: 29 | # 30 | # AUTHOR: J. S. MILLER 31 | # 32 | # MODIFIED 6 MARCH 1968 BY P. S. WEISSMAN TO SET UP JOB FOR 1/ACCS WHEN THE MASKS ARE CHANGED. 33 | # 34 | # THIS ROUTINE IS ATTACHED TO T4RUPT, AND IS ENTERED EVERY 480 MS. ITS FUNCTION IS TO EXAMINE THE LOW 8 BITS 35 | # OF CHANNEL 32 TO SEE IF ANY ISOLATION-VALVE CLOSURE BITS HAVE APPEARED OR DISAPPEARED (THE CREW IS WARNED OF JET 36 | # FAILURES BY LAMPS LIT BY THE GRUMMAN FAILURE-DETECTION CIRCUITRY; THEY MAY RESPOND BY OPERATING SWITCHES WHICH 37 | # ISOLATE PAIRS OF JETS FROM THE PROPELLANT TANKS AND SET BITS IN CHANNEL 32). IN THE EVENT THAT CHANNEL 32 BITS 38 | # DIFFER FROM `PVALVEST', THE RECORD OF ACTIONS TAKEN BY THIS ROUTINE, THE APPROPRIATE BITS IN `CH5MASK' & 39 | # `CH6MASK', USED BY THE DAP JET-SELECTION LOGIC, ARE UPDATED, AS IS `PVALVEST'. TO SPEED UP & SHORTEN THE 40 | # ROUTINE, NO MORE THAN ONE CHANGE IS ACCEPTED PER ENTRY. THE HIGHEST-NUMBERED BIT IN CHANNEL 32 WHICH REQUIRES 41 | # ACTION IS THE ONE PROCESSED. 42 | # 43 | # THE CODING IN THE FAILURE MONITOR HAS BEEN WRITTEN SO AS TO HAVE ALMOST COMPLETE RESTART PROTECTION. FOR 44 | # EXAMPLE, NO ASSUMPTION IS MADE WHEN SETTING A `CH5MASK' BIT TO 1 THAT THE PREVIOUS STATE IS 0, ALTHOUGH IT OF 45 | # COURSE SHOULD BE. ONE CASE WHICH MAY BE SEEN TO EVADE PROTECTION IS THE OCCURRENCE OF A RESTART AFTER UPDATING 46 | # ONE OR BOTH DAP MASK-WORDS BUT BEFORE UPDATING `PVALVEST', COUPLED WITH A CHANGE IN THE VALVE-BIT BACK TO ITS 47 | # FORMER STATE. THE CONSEQUENCE OF THIS IS THAT THE NEXT ENTRY WOULD NOT SEE THE CHANGE INCOMPLETELY INCORP- 48 | # ORATED BY THE LAST PASS (BECAUSE IT WENT AWAY AT JUST THE RIGHT TIME), BUT THE DAP MASK-WORDS WILL BE INCORRECT. 49 | # THIS COMBINATION OF EVENTS SEEMS QUITE REMOTE, BUT NOT IMPOSSIBLE UNLESS THE CREW OPERATES THE SWITCHES AT HALF- 50 | # SECOND INTERVALS OR LONGER. IN ANY EVENT, A DISAGREEMENT BETWEEN REALITY AND THE DAP MASKS WILL BE CURED IF 51 | # THE MISINTERPRETED SWITCH IS REVERSED AND THEN RESTORED TO ITS CORRECT POSITION (SLOWLY). 52 | # 53 | # CALLING SEQUENCE: 54 | # 55 | # TCF RCSMONIT # (IN INTERRUPT MODE, EVERY 480 MS.) 56 | # 57 | # EXIT: TCF RCSMONEX (ALL PATHS EXIT VIA SUCH AN INSTRUCTION) 58 | 59 | RCSMONEX EQUALS RESUME 60 | 61 | # ERASABLE INITIALIZATION REQUIRED: 62 | # 63 | # VIA FRESH START: PVALVEST = +0 (ALL JETS ENABLED) 64 | # CH5MASK,CH6MASK = +0 (ALL JETS OK) 65 | # 66 | # OUTPUT: CH5MASK & CH6MASK UPDATED (1'S WHERE JETS NOT TO BE USED, IN CHANNEL 5 & 6 FORMAT) 67 | # PVALTEST UPDATED (1'S WHEN VALVE CLOSURES HAVE BEEN TRANSLATED INTO CH5MASK & CH6MASK; CHAN 32 FORMAT) 68 | # JOB TO DO 1/ACCS. 69 | # 70 | # DEBRIS: A, L, AND Q AND DEBRIS OF NOVAC. 71 | # 72 | # SUBROUTINE CALLED: NOVAC. 73 | 74 | EBANK= CH5MASK 75 | 76 | BANK 23 77 | SETLOC RCSMONT 78 | BANK 79 | # Page 191 80 | COUNT* $$/T4RCS 81 | 82 | RCSMONIT EQUALS RCSMON 83 | 84 | RCSMON CS ZERO 85 | EXTEND 86 | RXOR CHAN32 # PICK UP + INVERT INVERTED CHANNEL 32. 87 | MASK LOW8 # KEEP JET-FAIL BITS ONLY. 88 | TS Q 89 | 90 | CS PVALVEST # _ _ 91 | MASK Q # FORM PC + PC. 92 | TS L # (P = PREVIOUS ISOLATION VALVE STATE, 93 | CS Q # C = CURRENT VALVE STATE (CH32)). 94 | MASK PVALVEST 95 | ADS L # RESULT NZ INDICATES ACTION REQUIRED. 96 | 97 | EXTEND 98 | BZF RCSMONEX # QUIT IF NO ACTION REQUIRED. 99 | 100 | EXTEND 101 | MP BIT7 # MOVE BITS 8-1 OF A TO 14-7 OF L. 102 | XCH L # ZERO TO L IN THE PROCESS. 103 | 104 | -3 INCR L 105 | DOUBLE # BOUND TO GET OVERFLOW IN THIS LOOP, 106 | OVSK # SINCE WE ASSURED INITIAL NZ IN A. 107 | TCF -3 108 | 109 | INDEX L 110 | CA BIT8 -1 # SAVE THE RELEVANT BIT (8-1). 111 | TS Q 112 | MASK PVALVEST # LOOK AT PREVIOUS VALVE STATE BIT. 113 | CCS A 114 | TCF VOPENED # THE VALVE HAS JUST BEEN OPENED. 115 | 116 | CS CH5MASK # THE VALVE HAS JUST BEEN CLOSED. 117 | INDEX L 118 | MASK 5FAILTAB 119 | ADS CH5MASK # SET INHIBIT BIT FOR CHANNEL 5 JET. 120 | 121 | CS CH6MASK 122 | INDEX L 123 | MASK 6FAILTAB 124 | ADS CH6MASK # SET INGIBIT BIT FOR CHANNEL 6 JET 125 | 126 | CA Q 127 | ADS PVALVEST # RECORD ACTION TAKEN. 128 | 129 | TCF 1/ACCFIX # SET UP 1/ACCJOB AND EXIT. 130 | 131 | # Page 192 132 | VOPENED INDEX L # A VALVE HAS JUST BEEN OPENED. 133 | CS 5FAILTAB 134 | MASK CH5MASK 135 | TS CH5MASK # REMOVE INHIBIT BIT FOR CHANNEL 5 JET. 136 | 137 | INDEX L 138 | CS 6FAILTAB 139 | MASK CH6MASK 140 | TS CH6MASK # REMOVE INHIBIT BIT FOR CHANNEL 6 JET. 141 | 142 | CS Q 143 | MASK PVALVEST 144 | TS PVALVEST # RECORD ACTION TAKEN. 145 | 146 | 1/ACCFIX CAF PRIO27 # SET UP 1/ACCS SO THAT THE SWITCH CURVES 147 | TC NOVAC # FOR TJETLAW CAN BE MODIFIED IF CH5MASK 148 | EBANK= AOSQ # HAS BEEN ALTERED. 149 | 2CADR 1/ACCJOB 150 | 151 | TCF RCSMONEX # EXIT. 152 | 153 | 5FAILTAB EQUALS -1 # CH 5 JET BIT CORRESPONDING TO CH 32 BIT: 154 | OCT 00040 # 8 155 | OCT 00020 # 7 156 | OCT 00100 # 6 157 | OCT 00200 # 5 158 | OCT 00010 # 4 159 | OCT 00001 # 3 160 | OCT 00004 # 2 161 | OCT 00002 # 1 162 | 163 | 6FAILTAB EQUALS -1 # CH 6 JET BIT CORRESPONDING TO CH 32 BIT: 164 | OCT 00010 # 8 165 | OCT 00020 # 7 166 | OCT 00004 # 6 167 | OCT 00200 # 5 168 | OCT 00001 # 4 169 | OCT 00002 # 3 170 | OCT 00040 # 2 171 | OCT 00100 # 1 172 | 173 | 174 | -------------------------------------------------------------------------------- /Luminary099/RTB_OP_CODES.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: RTB_OP_CODES.agc 3 | # Purpose: Part of the source code for Luminary 1A build 099. 4 | # It is part of the source code for the Lunar Module's (LM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 1397-1401 10 | # Mod history: 2009-05-10 SN (Sergio Navarro). Started adapting 11 | # from the Luminary131/ file of the same 12 | # name, using Luminary099 page images. 13 | # 14 | # This source code has been transcribed or otherwise adapted from 15 | # digitized images of a hardcopy from the MIT Museum. The digitization 16 | # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 17 | # the Museum. Many thanks to both. The images (with suitable reduction 18 | # in storage size and consequent reduction in image quality as well) are 19 | # available online at www.ibiblio.org/apollo. If for some reason you 20 | # find that the images are illegible, contact me at info@sandroid.org 21 | # about getting access to the (much) higher-quality images which Paul 22 | # actually created. 23 | # 24 | # Notations on the hardcopy document read, in part: 25 | # 26 | # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 27 | # 16:27 JULY 14, 1969 28 | 29 | # Page 1397 30 | BANK 22 31 | SETLOC RTBCODES 32 | BANK 33 | 34 | EBANK= XNB 35 | COUNT* $$/RTB 36 | 37 | # LOAD TIME2, TIME1 INTO MPAC: 38 | 39 | LOADTIME EXTEND 40 | DCA TIME2 41 | TCF SLOAD2 42 | 43 | # CONVERT THE SINGLE PRECISION 2'S COMPLEMENT NUMBER ARRIVING IN MPAC (SCALED IN HALF-REVOLUTIONS) TO A 44 | # DP 1'S COMPLEMENT NUMBER SCALED IN REVOLUTIONS. 45 | 46 | CDULOGIC CCS MPAC 47 | CAF ZERO 48 | TCF +3 49 | NOOP 50 | CS HALF 51 | 52 | TS MPAC +1 53 | CAF ZERO 54 | XCH MPAC 55 | EXTEND 56 | MP HALF 57 | DAS MPAC 58 | TCF DANZIG # MODE IS ALREADY AT DOUBLE-PRECISION 59 | 60 | # FORCE TP SIGN AGREEMENT IN MPAC: 61 | 62 | SGNAGREE TC TPAGREE 63 | TCF DANZIG 64 | 65 | # CONVERT THE DP 1'S COMPLEMENT ANGLE SCALED IN REVOLUTIONS TO A SINGLE PRECISION 2'S COMPLEMENT ANGLE 66 | # SCALED IN HALF-REVOLUTIONS. 67 | 68 | 1STO2S TC 1TO2SUB 69 | CAF ZERO 70 | TS MPAC +1 71 | TCF NEWMODE 72 | 73 | # DO 1STO2S ON A VECTOR OF ANGLES: 74 | 75 | V1STO2S TC 1TO2SUB # ANSWER ARRIVES IN A AND MPAC. 76 | 77 | DXCH MPAC +5 78 | DXCH MPAC 79 | TC 1TO2SUB 80 | # Page 1398 81 | TS MPAC +2 82 | 83 | DXCH MPAC +3 84 | DXCH MPAC 85 | TC 1TO2SUB 86 | TS MPAC +1 87 | 88 | CA MPAC +5 89 | TS MPAC 90 | 91 | TPMODE CAF ONE # MODE IS TP. 92 | TCF NEWMODE 93 | 94 | # V1STO2S FOR 2 COMPONENT VECTOR. USED BY RR. 95 | 96 | 2V1STO2S TC 1TO2SUB 97 | DXCH MPAC +3 98 | DXCH MPAC 99 | TC 1TO2SUB 100 | TS L 101 | CA MPAC +3 102 | TCF SLOAD2 103 | 104 | # SUBROUTINE TO DO DOUBLING AND 1'S TO 2'S CONVERSION: 105 | 106 | 1TO2SUB DXCH MPAC # FINAL MPAC +1 UNSPECIFIED. 107 | DDOUBL 108 | CCS A 109 | AD ONE 110 | TCF +2 111 | COM # THIS WAS REVERSE OF MSU. 112 | 113 | TS MPAC # AND SKIP ON OVERFLOW. 114 | TC Q 115 | 116 | INDEX A # OVERFLOW UNCORRECT AND IN MSU. 117 | CAF LIMITS 118 | ADS MPAC 119 | TC Q 120 | 121 | # THE FOLLOWING ROUTINE INCREMENTS IN 2S COMPLEMENT THE REGISTER WHOSE ADDRESS IS IN BUF BY THE 1S COMPL. 122 | # QUANTITY FOUND IN TEM2. THIS MAY BE USED TO INCREMENT DESIRED IMU AND OPTICS CDU ANGLES OR ANY OTHER 2S COMPL. 123 | # (+0 UNEQUAL TO -0) QUANTITY. MAY BE CALLED BY BANKCALL/SWCALL. 124 | 125 | CDUINC TS TEM2 # 1S COMPL.QUANT. ARRIVES IN ACC. STORE IT 126 | INDEX BUF 127 | CCS 0 # CHANGE 2S COMPL. ANGLE(IN BUF)INTO 1S 128 | AD ONE 129 | TCF +4 130 | AD ONE 131 | # Page 1399 132 | AD ONE # OVERFLOW HERE IF 2S COMPL. IS 180 DEG. 133 | COM 134 | 135 | AD TEM2 # SULT MOVES FROM 2ND TO 3D QUAD. (OR BACK) 136 | CCS A # BACK TO 2S COMPL. 137 | AD ONE 138 | TCF +2 139 | COM 140 | TS TEM2 # STORE 14BIT QUANTITY WITH PRESENT SIGN 141 | TCF +4 142 | INDEX A # SIGN. 143 | CAF LIMITS # FIX IT, BY ADDING IN 37777 OR 40000 144 | AD TEM2 145 | 146 | INDEX BUF 147 | TS 0 # STORE NEW ANGLE IN 2S COMPLEMENT. 148 | TC Q 149 | 150 | # Page 1400 151 | # RTB TO TORQUE GYROS, EXCEPT FOR THE CALL TO IMUSTALL. ECADR OF COMMANDS ARRIVES IN X1. 152 | 153 | PULSEIMU INDEX FIXLOC # ADDRESS OF GYRO COMMANDS SHOULD BE IN X1 154 | CA X1 155 | TC BANKCALL 156 | CADR IMUPULSE 157 | TCF DANZIG 158 | 159 | # Page 1401 160 | # THE SUBROUTINE SIGNMPAC SETS C(MPAC, MPAC +1) TO SIGN(MPAC). 161 | # FOR THIS, ONLY THE CONTENTS OF MPAC ARE EXAMINED. ALSO +0 YIELDS POSMAX AND -0 YIELDS NEGMAX. 162 | # 163 | # ENTRY MAY BE BY EITHER OF THE FOLLOWING: 164 | # 1. LIMIT THE SIZE OF MPAC ON INTERPRETIVE OVERFLOW: 165 | # ENTRY: BOVB 166 | # SIGNMPAC 167 | # 2. GENERATE IN MPAC THE SIGNUM FUNCTION OF MPAC: 168 | # ENTRY: RTB 169 | # SIGNMPAC 170 | # IN EITHER CASE, RETURN IS TO THE NEXT INTERPRETIVE INSTRUCTION IN THE CALLING SEQUENCE. 171 | 172 | SIGNMPAC EXTEND 173 | DCA DPOSMAX 174 | DXCH MPAC 175 | CCS A 176 | DPMODE CAF ZERO # SETS MPAC +2 TO ZERO IN THE PROCESS 177 | TCF SLOAD2 +2 178 | TCF +1 179 | EXTEND 180 | DCS DPOSMAX 181 | TCF SLOAD2 182 | 183 | # RTB OP CODE NORMUNIT IS LIKE INTERPRETIVE INSTRUCTION UNIT, EXCEPT THAT IT CAN BE DEPENDED ON NOT TO BLOW 184 | # UP WHEN THE VECTOR BEING UNITIZED IS VERY SMALL -- IT WILL BLOW UP WHEN ALL COMPONENT ARE ZERO. IF NORMUNIT 185 | # IS USED AND THE UPPER ORDER HALVES OF ALL COMPONENTS ARE ZERO, THE MAGNITUDE RETURNED IN 36D WILL BE TOO LARGE 186 | # BY A FACTOR OF 2(13) AND THE SQUARED MAGNITUDE RETURNED ATE 34D WILL BE TOO BIG BY A FACTOR OF 2(26). 187 | 188 | NORMUNX1 CAF ONE 189 | TCF NORMUNIT +1 190 | NORMUNIT CAF ZERO 191 | AD FIXLOC 192 | TS MPAC +2 193 | TC BANKCALL # GET SIGN AGREEMENT IN ALL COMPONENTS 194 | CADR VECAGREE 195 | CCS MPAC 196 | TCF NOSHIFT 197 | TCF +2 198 | TCF NOSHIFT 199 | CCS MPAC +3 200 | TCF NOSHIFT 201 | TCF +2 202 | TCF NOSHIFT 203 | CCS MPAC +5 204 | TCF NOSHIFT 205 | TCF +2 206 | TCF NOSHIFT 207 | # Page 1402 208 | CA MPAC +1 # SHIFT ALL COMPONENTS LEFT 13 209 | EXTEND 210 | MP BIT14 211 | DAS MPAC # DAS GAINS A LITTLE ACCURACY 212 | CA MPAC +4 213 | EXTEND 214 | MP BIT14 215 | DAS MPAC +3 216 | CA MPAC +6 217 | EXTEND 218 | MP BIT14 219 | DAS MPAC +5 220 | CAF THIRTEEN 221 | INDEX MPAC +2 222 | TS 37D 223 | OFFTUNIT TC POSTJUMP 224 | CADR UNIT +1 # SKIP THE "TC VECAGREE" DONE AT UNIT 225 | 226 | NOSHIFT CAF ZERO 227 | TCF OFFTUNIT -2 228 | 229 | # RTB VECSGNAG ... FORCES SIGN AGREEMENT OF VECTOR IN MPAC. 230 | 231 | VECSGNAG TC BANKCALL 232 | CADR VECAGREE 233 | TC DANZIG 234 | 235 | # *** END OF SKIPPER .087 *** 236 | 237 | -------------------------------------------------------------------------------- /Luminary099/S-BAND_ANTENNA_FOR_LM.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: S-BAND_ANTENNA_FOR_LM.agc 3 | # Purpose: Part of the source code for Luminary 1A build 099. 4 | # It is part of the source code for the Lunar Module's (LM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 486-489 10 | # Mod history: 2009-05-17 RSB Adapted from the corresponding 11 | # Luminary131 file, using page 12 | # images from Luminary 1A. 13 | # 2009-06-07 RSB Corrected a misprint. 14 | # 15 | # This source code has been transcribed or otherwise adapted from 16 | # digitized images of a hardcopy from the MIT Museum. The digitization 17 | # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 18 | # the Museum. Many thanks to both. The images (with suitable reduction 19 | # in storage size and consequent reduction in image quality as well) are 20 | # available online at www.ibiblio.org/apollo. If for some reason you 21 | # find that the images are illegible, contact me at info@sandroid.org 22 | # about getting access to the (much) higher-quality images which Paul 23 | # actually created. 24 | # 25 | # Notations on the hardcopy document read, in part: 26 | # 27 | # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 28 | # 16:27 JULY 14, 1969 29 | 30 | # Page 486 31 | # SUBROUTINE NAME: R05 -- S-BAND ANTENNA FOR LM 32 | # 33 | # MOD0 BY T. JAMES 34 | # MOD1 BY P. SHAKIR 35 | # 36 | # FUNCTIONAL DESCRIPTION 37 | # 38 | # THE S-BAND ANTENNA ROUTINE, R05, COMPUTES AND DISPLAYS THE PITCH AND 39 | # YAW ANTENNA GIMBAL ANGLES REQUIRED TO POINT THE LM STEERABLE ANTENNA 40 | # TOWARD THE CENTER OF THE EARTH. THIS ROUTINE IS SELECTED BY THE ASTRO- 41 | # NAUT VIA DSKY ENTRY DURING COASTING FLIGHT OR WHEN THE LM IS ON THE MOON 42 | # SURFACE. THE EARTH OR MOON REFERENCE COORDINATE SYSTEM IS USED DEPENDING 43 | # ON WHETHER THE LM IS ABOUT TO ENTER OR HAS ALREADY ENTERED THE MOON 44 | # SPHERE OF INFLUENCE, RESPECTIVELY. 45 | # 46 | # TO CALL SUBROUTINE, ASTRONAUT KEYS IN V 64 E 47 | # 48 | # SUBROUTINES CALLED --- 49 | # R02BOTH 50 | # INTPRET 51 | # LOADTIME 52 | # LEMCONIC 53 | # LUNPOS 54 | # CDUTRIG 55 | # *SMNB* 56 | # BANKCALL 57 | # B50OFF 58 | # ENDOFJOB 59 | # BLANKRET 60 | # 61 | # RETURNS WITH 62 | # PITCH ANGLE IN PITCHANG REV. B0 63 | # YAW ANGLE IN YAWANG REV. B0 64 | # 65 | # ERASABLES USED 66 | # PITCHANG 67 | # YAWANG 68 | # RLM 69 | # VAC AREA 70 | 71 | BANK 41 72 | SETLOC SBAND 73 | BANK 74 | 75 | EBANK= WHOCARES 76 | COUNT* $$/R05 77 | SBANDANT TC BANKCALL 78 | # Page 487 79 | CADR R02BOTH # CHECK IF IMU IS ON AND ALIGNED 80 | TC INTPRET 81 | SETPD RTB 82 | 0D 83 | LOADTIME # PICK UP CURRENT TIME 84 | STCALL TDEC1 # ADVANCE INTEGRATION TO TIME IN TDEC1 85 | LEMCONIC # USING CONIC INTEGRATION 86 | SLOAD BHIZ 87 | X2 # X2 =0 EARTH SPHERE, X2 =2 MOON SPHERE 88 | CONV4 89 | VLOAD 90 | RATT 91 | STODL RLM 92 | TAT 93 | CONV3 CALL 94 | LUNPOS # UNIT POSITION VECTOR FROM EARTH TO MOON 95 | VLOAD VXSC 96 | VMOON 97 | REMDIST # MEAN DISTANCE FROM EARTH TO MOON 98 | VSL1 VAD 99 | RLM 100 | GOTO 101 | CONV5 102 | CONV4 VLOAD 103 | RATT # UE = -UNIT(RATT) EARTH SPHERE 104 | CONV5 SETPD UNIT # UE = -UNIT((REM)(UEM) + RL) MOON SPHERE 105 | 0D # SET PL POINTER TO 0 106 | VCOMP CALL 107 | CDUTRIG # COMPUTE SINES AND COSINES OF CDU ANGLES 108 | MXV VSL1 # TRANSFORM REF. COORDINATE SYSTEM TO 109 | REFSMMAT # STABLE MEMBER B-1 X B-1 X B+1 = B-1 110 | PUSH DLOAD # 8D 111 | HI6ZEROS 112 | STORE PITCHANG 113 | STOVL YAWANG # ZERO OUT ANGLES 114 | CALL 115 | *SMNB* 116 | STODL RLM # PRE-MULTIPLY RLM BY (NBSA) MATRIX(B0) 117 | RLM +2 118 | PUSH DSU 119 | RLM 120 | DMP 121 | 1OVSQRT2 122 | STODL RLM +2 123 | DAD DMP 124 | RLM 125 | 1OVSQRT2 126 | STOVL RLM # R B-1 127 | RLM 128 | UNIT PDVL 129 | # Page 488 130 | RLM 131 | VPROJ VSL2 # PROJECTION OF R ONTO LM XZ PLANE. 132 | HIUNITY 133 | BVSU BOV # CLEAR OVERFLOW INDICATOR IF ON 134 | RLM 135 | COVCNV 136 | COVCNV UNIT BOV # EXIT ON OVERFLOW 137 | SBANDEX 138 | PUSH VXV # URP VECTOR B-1 139 | HIUNITZ 140 | VSL1 VCOMP # UZ X URP = -(URP X UZ) 141 | STORE RLM # X VEC B-1 142 | DOT PDVL # SGN(X.UY) UNSCALED 143 | HIUNITY 144 | RLM 145 | ABVAL SIGN 146 | ASIN # ASIN((SGN(X.UY))ABV(X)) REV B0 147 | STOVL PITCHANG 148 | URP 149 | DOT BPL 150 | HIUNITZ 151 | NOADJUST # YES, -90 TO +90 152 | DLOAD DSU 153 | HIDPHALF 154 | PITCHANG 155 | STORE PITCHANG 156 | NOADJUST VLOAD VXV 157 | UR # Z = (UR X URP) 158 | URP 159 | VSL1 160 | STODL RLM # Z VEC B-1 161 | PITCHANG 162 | SIN VXSC 163 | HIUNITZ 164 | PDDL COS 165 | PITCHANG 166 | VXSC VSU 167 | HIUNITX # (UX COS ALPHA) - (UZ SIN ALPHA) 168 | DOT PDVL # YAW.Z 169 | RLM 170 | RLM 171 | ABVAL SIGN 172 | ASIN 173 | STORE YAWANG 174 | SBANDEX EXIT 175 | CA EXTVBACT 176 | MASK BIT5 # IS BIT5 STILL ON 177 | EXTEND 178 | BZF ENDEXT # NO 179 | CAF PRIO5 180 | # Page 489 181 | TC PRIOCHNG 182 | CAF V06N51 # DISPLAY ANGLES 183 | TC BANKCALL 184 | CADR GOMARKFR 185 | TC B5OFF # TERMINATE 186 | TC B5OFF # PROCEED 187 | TC ENDOFJOB # RECYCLE 188 | CAF BIT3 # IMMEDIATE RETURN 189 | TC BLANKET # BLANK R3 190 | CAF PRIO4 191 | TC PRIOCHNG 192 | TC SBANDANT +2 # YES, CONTINUE DISPLAYING ANGLES. 193 | V06N51 VN 0651 194 | 1OVSQRT2 2DEC .7071067815 # 1/SQRT(2) 195 | 196 | UR EQUALS 0D 197 | URP EQUALS 6D 198 | SBANK= LOWSUPER 199 | 200 | # END OF LNYAIDE .001 *** 201 | 202 | -------------------------------------------------------------------------------- /Luminary099/SERVICE_ROUTINES.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: SERVICE_ROUTINES.agc 3 | # Purpose: Part of the source code for Luminary 1A build 099. 4 | # It is part of the source code for the Lunar Module's (LM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 1374-1380 10 | # Mod history: 2009-05-10 SN (Sergio Navarro). Started adapting 11 | # from the Luminary131/ file of the same 12 | # name, using Luminary099 page images. 13 | # 14 | # This source code has been transcribed or otherwise adapted from 15 | # digitized images of a hardcopy from the MIT Museum. The digitization 16 | # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 17 | # the Museum. Many thanks to both. The images (with suitable reduction 18 | # in storage size and consequent reduction in image quality as well) are 19 | # available online at www.ibiblio.org/apollo. If for some reason you 20 | # find that the images are illegible, contact me at info@sandroid.org 21 | # about getting access to the (much) higher-quality images which Paul 22 | # actually created. 23 | # 24 | # Notations on the hardcopy document read, in part: 25 | # 26 | # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 27 | # 16:27 JULY 14, 1969 28 | 29 | # Page 1374 30 | BANK 10 31 | SETLOC DISPLAYS 32 | BANK 33 | COUNT* $$/DSPLA 34 | 35 | UPENT2 INHINT 36 | MASK OCT77770 37 | TS L 38 | CS FLAGWRD4 39 | MASK L 40 | ADS FLAGWRD4 41 | JOIN RELINT 42 | TCF Q+1 43 | 44 | DOWNENT2 INHINT 45 | MASK OCT77770 46 | COM 47 | MASK FLAGWRD4 48 | TS FLAGWRD4 49 | TCF JOIN 50 | 51 | OCT7 EQUALS SEVEN 52 | 53 | # Page 1375 54 | # UPFLAG AND DOWNFLAG ARE ENTIRELY GENERAL FLAG SETTING AND CLEARING SUBROUTINES. USING THEM, WHETHER OR 55 | # NOT IN INTERRUPT, ONE MAY SET OR CLEAR ANY SINGLE, NAMED BIT IN ANY ERASABLE REGISTER, SUBJECT OF COURSE TO 56 | # EBANK SETTING. A "NAMED" BIT, AS THE WORD IS USED HERE, IS ANY BIT WITH A NAME FORMALLY ASSIGNED BY THE YUL 57 | # ASSEMBLER. 58 | # 59 | # AT PRESENT THE ONLY NAMED BITS ARE THOSE IN THE FLAGWORDS. ASSEMBLER CHANGES WILL MAKE IT POSSIBLE TO 60 | # NAME ANY BIT IN ERASABLE MEMORY. 61 | # 62 | # CALLING SEQUENCES ARE AS FOLLOWS :- 63 | # TC UPFLAG TC DOWNFLAG 64 | # ADRES NAME OF FLAG ADRES NAME OF FLAG 65 | # 66 | # RETURN IS TO THE LOCATION FOLLOWING THE "ADRES" ABOUT .58 MS AFTER THE "TC". 67 | # UPON RETURN A CONTAINS THE CURRENT FLAGWRD SETTING. 68 | 69 | BLOCK 02 70 | SETLOC FFTAG1 71 | BANK 72 | COUNT* $$/FLAG 73 | 74 | UPFLAG CA Q 75 | TC DEBIT 76 | COM # +(15 - BIT) 77 | EXTEND 78 | ROR LCHAN # SET BIT 79 | COMFLAG INDEX ITEMP1 80 | TS FLAGWRD0 81 | LXCH ITEMP3 82 | RELINT 83 | TC L 84 | 85 | DOWNFLAG CA Q 86 | TC DEBIT 87 | MASK L # RESET BIT 88 | TCF COMFLAG 89 | 90 | DEBIT AD ONE # CET DE BITS 91 | INHINT 92 | TS ITEMP3 93 | CA LOW4 # DEC15 94 | TS ITEMP1 95 | INDEX ITEMP3 96 | CA 0 -1 # ADRES 97 | TS L 98 | CA ZERO 99 | # Page 1376 100 | EXTEND 101 | DV ITEMP1 # A = FLAGWRD, L = (15 - BIT) 102 | DXCH ITEMP1 103 | INDEX ITEMP1 104 | CA FLAGWRD0 105 | TS L # CURRENT STATE 106 | INDEX ITEMP2 107 | CS BIT15 # -(15 - BIT) 108 | TC Q 109 | 110 | # Page 1377 111 | # DELAYJOB -- A GENERAL ROUTINE TO DELAY A JOB A SPECIFIC AMOUNT OF TIME BEFORE PICKING UP AGAIN. 112 | # 113 | # ENTRANCE REQUIREMENTS ... 114 | # CAF DT # DELAY JOB FOR DT CENTISECS 115 | # TC BANKCALL 116 | # CADR DELAYJOB 117 | 118 | BANK 06 119 | SETLOC DLAYJOB 120 | BANK 121 | 122 | # THIS MUST REMAIN IN BANK 0 **************************************** 123 | 124 | COUNT* $$/DELAY 125 | DELAYJOB INHINT 126 | TS Q # STORE DELAY DT IN Q FOR DLY -1 IN 127 | CAF DELAYNUM # WAITLIST 128 | DELLOOP TS RUPTREG1 129 | INDEX A 130 | CA DELAYLOC # IS THIS DELAYLOC AVAILABLE 131 | EXTEND 132 | BZF OK2DELAY # YES 133 | 134 | CCS RUPTREG1 # NO, TRY NEXT DELAYLOC 135 | TCF DELLOOP 136 | 137 | DXCH BUF2 138 | TC BAILOUT1 # NO AVAILABLE LOCS. 139 | OCT 1104 140 | 141 | OK2DELAY CA TCSLEEP # SET WAITLIST IMMEDIATE RETURN 142 | TS WAITEXIT 143 | 144 | CA FBANK 145 | AD RUPTREG1 # STORE BBANK FOR TASK CALL 146 | TS L 147 | 148 | CAF WAKECAD # STORE CADR FOR TASK CALL 149 | TCF DLY2 -1 # DLY IS IN WAITLIST ROUTINE 150 | 151 | TCGETCAD TC MAKECADR # GET CALLERS FCADR 152 | 153 | INDEX RUPTREG1 154 | TS DELAYLOC # SAVE DELAY CADRS 155 | 156 | TC JOBSLEEP 157 | 158 | WAKER CAF ZERO 159 | INDEX BBANK 160 | XCH DELAYLOC # MAKE DELAYLOC AVAILABLE 161 | # Page 1378 162 | TC JOBWAKE 163 | 164 | TC TASKOVER 165 | 166 | TCSLEEP GENADR TCGETCAD -2 167 | WAKECAD GENADR WAKER 168 | 169 | # Page 1379 170 | # GENTRAN, A BLOCK TRANSFER ROUTINE 171 | # WRITTEN BY D. EYLES 172 | # MOD 1 BY KERNAN UTILITYM REV 17 11/18/67 173 | # MOD 2 BY SCHULENBERG (REMOVE RELINT) SKIPPER REV 4 2/28/68 174 | # 175 | # THIS ROUTINE IS USEFUL FOR TRANSFERING N CONSECUTIVE ERASABLE OR FIXED QUANTITIES TO SOME OTHER N 176 | # CONSECUTIVE ERASABLE LOCATIONS. IF BOTH BLOCKS OF DATA ARE IN SWITCHABLE EBANKS, THEY MUST BE IN THE SAME ONE. 177 | # 178 | # GENTRAN IS CALLABLE IN A JOB AS WELL AS A RUPT. THE CALLING SEQUENCE IS: 179 | # I CA N-1 # # OF QUANTITIES MINUS ONE. 180 | # I +1 TC GENTRAN # IN FIXED-FIXED. 181 | # I +2 ADRES L # STARTING ADRES OF DATA TO BE MOVED. 182 | # I +3 ADRES M # STARTING ADRES OF DUPLICATION BLOCK. 183 | # I +4 # RETURNS HERE. 184 | # 185 | # GENTRAN TAKES 25 MCT'S (300 MICROSECONDS) PER ITEM + 5 MCT'S (60 MICS) FOR ENTERING AND EXITING. 186 | # A, L, AND ITEMP1 ARE NOT PRESERVED. 187 | 188 | BLOCK 02 189 | SETLOC FFTAG4 190 | BANK 191 | 192 | EBANK= ITEMP1 193 | 194 | COUNT* $$/TRAN 195 | 196 | GENTRAN INHINT 197 | TS ITEMP1 # SAVE N-1 198 | INDEX Q # C(Q) = ADRES L. 199 | AD 0 # ADRES (L + N - 1). 200 | INDEX A 201 | CA 0 # C(ABOVE). 202 | TS L # SAVE DATA. 203 | CA ITEMP1 204 | INDEX Q 205 | AD 1 # ADRES (M + N - 1). 206 | INDEX A 207 | LXCH 0 # STUFF IT. 208 | CCS ITEMP1 # LOOP UNTIL N-1 = 0. 209 | TCF GENTRAN +1 210 | TCF Q+2 # RETURN TO CALLER. 211 | 212 | # Page 1380 213 | # B5OFF ZERO BIT 5 OF EXTVBACK, WHICH IS SET BY TESTXACT. 214 | # MAY BE USED AS NEEDED BY ANY EXTENDED VERB WHICH HAS DONE TESTXACT 215 | 216 | COUNT* $$/EXTVB 217 | 218 | B5OFF CS BIT5 219 | MASK EXTVBACT 220 | TS EXTVBACT 221 | TC ENDOFJOB 222 | 223 | 224 | 225 | -------------------------------------------------------------------------------- /Luminary099/SINGLE_PRECISION_SUBROUTINES.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: SINGLE_PRECISION_SUBROUTINES.agc 3 | # Purpose: Part of the source code for Luminary 1A build 099. 4 | # It is part of the source code for the Lunar Module's (LM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 1102 10 | # Mod history: 2009-05-25 RSB Adapted from the corresponding 11 | # Luminary131 file, using page 12 | # images from Luminary 1A. 13 | # 2010-12-31 JL Fixed page number comment. 14 | # 15 | # This source code has been transcribed or otherwise adapted from 16 | # digitized images of a hardcopy from the MIT Museum. The digitization 17 | # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 18 | # the Museum. Many thanks to both. The images (with suitable reduction 19 | # in storage size and consequent reduction in image quality as well) are 20 | # available online at www.ibiblio.org/apollo. If for some reason you 21 | # find that the images are illegible, contact me at info@sandroid.org 22 | # about getting access to the (much) higher-quality images which Paul 23 | # actually created. 24 | # 25 | # Notations on the hardcopy document read, in part: 26 | # 27 | # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 28 | # 16:27 JULY 14, 1969 29 | 30 | # Page 1102 31 | BLOCK 02 32 | 33 | # SINGLE PRECISION SINE AND COSINE 34 | 35 | COUNT* $$/INTER 36 | SPCOS AD HALF # ARGUMENTS SCALED AT PI 37 | SPSIN TS TEMK 38 | TCF SPT 39 | CS TEMK 40 | SPT DOUBLE 41 | TS TEMK 42 | TCF POLLEY 43 | XCH TEMK 44 | INDEX TEMK 45 | AD LIMITS 46 | COM 47 | AD TEMK 48 | TS TEMK 49 | TCF POLLEY 50 | TCF ARG90 51 | POLLEY EXTEND 52 | MP TEMK 53 | TS SQ 54 | EXTEND 55 | MP C5/2 56 | AD C3/2 57 | EXTEND 58 | MP SQ 59 | AD C1/2 60 | EXTEND 61 | MP TEMK 62 | DDOUBL 63 | TS TEMK 64 | TC Q 65 | ARG90 INDEX A 66 | CS LIMITS 67 | TC Q # RESULT SCALED AT 1. 68 | 69 | 70 | -------------------------------------------------------------------------------- /Luminary099/SPS_BACK-UP_RCS_CONTROL.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: SPS_BACK-UP_RCS_CONTROL.agc 3 | # Purpose: Part of the source code for Luminary 1A build 099. 4 | # It is part of the source code for the Lunar Module's (LM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 1507-1510 10 | # Mod history: 2009-05-27 RSB Adapted from the corresponding 11 | # Luminary131 file, using page 12 | # images from Luminary 1A. 13 | # 14 | # This source code has been transcribed or otherwise adapted from 15 | # digitized images of a hardcopy from the MIT Museum. The digitization 16 | # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 17 | # the Museum. Many thanks to both. The images (with suitable reduction 18 | # in storage size and consequent reduction in image quality as well) are 19 | # available online at www.ibiblio.org/apollo. If for some reason you 20 | # find that the images are illegible, contact me at info@sandroid.org 21 | # about getting access to the (much) higher-quality images which Paul 22 | # actually created. 23 | # 24 | # Notations on the hardcopy document read, in part: 25 | # 26 | # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 27 | # 16:27 JULY 14, 1969 28 | 29 | # Page 1507 30 | # PROGRAM NAME: SPSRCS 31 | # AUTHOR: EDGAR M. OSHIKA (AC ELECTRONICS) 32 | # MODIFIED: TO RETURN TO ALL AXES VIA Q BY P. S. WEISSMAN, OCT 7, 1968 33 | # MODIFIED TO IMPROVE BENDING STABILITY BY G. KALAN, FEB. 14, 1969 34 | # 35 | # FUNCTIONAL DESCRIPTION: 36 | # THE PROGRAM CONTROLS THE FIRING OF ALL RCS JETS IN THE DOCKED CONFIGURATION ACCORDING TO THE FOLLOWING PHASE 37 | # PLANE LOGIC. 38 | # 39 | # 1. JET SENSE TEST (SPSRCS) 40 | # IF JETS ARE FIRING NEGATIVELY, SET OLDSENSE NEGATIVE AND CONTINUE 41 | # IF JETS ARE FIRING POSITIVELY, SET OLDSENSE POSITIVE AND CONTINUE 42 | # IF JETS ARE NOT FIRING, SET OLDSENSE TO ZERO AND GO TO OUTER RATE LIMIT TEST 43 | # 44 | # 2. RATE DEAD BAND TEST 45 | # IF JETS ARE FIRING NEGATIVELY AND RATE IS GREATER THAN TARGET RATE, LEAVE 46 | # JETS ON AND GO TO INHIBITION LOGIC. OTHERWISE, CONTINUE. 47 | # IF JETS ARE FIRING POSITIVELY AND RATE IS LESS THAN TARGET RATE, LEAVE 48 | # JETS ON AND GO TO INHIBITION LOGIC. OTHERWISE, CONTINUE. 49 | # 50 | # 3. OUTER RATE LIMIT TEST (SPSSTART) 51 | # IF MAGNITUDE OF EDOT IS GREATER THAN 1.73 DEG/SEC SET JET FIRING TIME 52 | # TO REDUCE RATE AND GO TO INHIBITION LOGIC. OTHERWISE, CONTINUE. 53 | # 54 | # 4. COAST ZONE TEST 55 | # IF STATE (E,EDOT) IS BELOW LINE E + 4 X EDOT > -1.4 DEG AND EDOT IS LESS THAN 1.30 DEG/SEC SET JET TIME 56 | # POSITIVE AND CONTINUE. OTHERWISE, SET JET FIRING TIME TO ZERO AND CONTINUE. 57 | # IF STATE IS ABOVE LINE E + 4 X EDOT > +1.4 DEG AND EDOT IS GREATER THAN -1.30 DEG/SEC, SET JET TIME NEGATIVE 58 | # AND CONTINUE. OTHERWISE, SET JET FIRING TIME TO ZERO AND CONTINUE. 59 | # 60 | # 5. INHIBITION LOGIC 61 | # IF OLDSENSE IS NON-ZERO: 62 | # A) RETURN IF JET TIME AS THE SAME SIGN AS OLDSENSE 63 | # B) SET INHIBITION COUNTER* AND RETURN IF JET TIME IS ZERO 64 | # C) SET INHIBITION COUNTER,* SET JET TIME TO ZERO AND RETURN IF SIGN 65 | # OF JET TIME IS OPPOSITE TO THAT OF OLDSENSE 66 | # IF OLDSENSE IS ZERO: 67 | # A) RETURN IF INHIBITION COUNTER IS NOT POSITIVE 68 | # B) SET JET TIME TO ZERO AND RETURN IF INHIBITION COUNTER IS POSITIVE 69 | # *NOTE: INHIBITION COUNTERS CAN BE SET TO 4 OR 10 FOR THE P AND UV AXES, 70 | # RESPECTIVELY, IN SPSRCS. THEY ARE DECREMENTED BY ONE AT THE BEGINNING OF 71 | # Page 1508 72 | # EACH DAP PASS. 73 | # 74 | # THE MINIMUM PULSE WIDTH OF THIS CONTROLLER IS DETERMINED BY THE REPETITION RATE AT WHICH THIS ROUTINE IS CALLED 75 | # AND IS NOMINALLY 100 MS FOR ALL AXES IN DRIFTING FLIGHT. DURING POWERED FLIGHT THE MINIMUM IS 100 MS FOR THE 76 | # P AXIS AND 200 MS FOR THE CONTROL OF THE U AND V AXES. 77 | # 78 | # CALLING SEQUENCE: 79 | # INHINT 80 | # TC IBNKCALL 81 | # CADR SPSRCE 82 | # 83 | # EXIT: 84 | # TC Q 85 | # 86 | # ALARM/ABORT MODE: NONE 87 | # 88 | # SUBROUTINES CALLED: NONE 89 | # 90 | # INPUT: E, EDOT 91 | # TJP, TJV, TJU TJ MUST NOT BE NEGATIVE ZERO 92 | # 93 | # OUTPUT: TJP, TJV, TJU 94 | 95 | BANK 21 96 | SETLOC DAPS4 97 | BANK 98 | 99 | COUNT* $$/DAPBU 100 | 101 | EBANK= TJU 102 | RATELIM2 OCT 00632 # 1.125 DEG/SEC 103 | POSTHRST CA HALF 104 | 105 | NDX AXISCTR 106 | TS TJU 107 | CCS OLDSENSE 108 | TCF POSCHECK # JETS FIRING POSITIVELY 109 | TCF CTRCHECK # JETS OFF. CHECK INHIBITION CTR 110 | NEGCHECK INDEX AXISCTR # JETS FIRING NEGATIVELY 111 | CS TJU 112 | CCS A 113 | TC Q # RETURN 114 | TCF +2 115 | TCF +1 # JETS COMMANDED OFF. SET CTR AND RETURN 116 | SETCTR INDEX AXISCTR # JET FIRING REVERSAL COMMANDED. SET CTR, 117 | CA UTIME # SET JET TIME TO ZERO, AND RETURN 118 | # Page 1509 119 | INDEX AXISCTR 120 | TS UJETCTR 121 | ZAPTJ CA ZERO 122 | INDEX AXISCTR 123 | TS TJU 124 | TC Q 125 | POSCHECK INDEX AXISCTR 126 | CA TJU 127 | TCF NEGCHECK +2 128 | CTRCHECK INDEX AXISCTR # CHECK JET INHIBITION COUNTER 129 | CCS UJETCTR 130 | TCF +2 131 | TC Q # CTR IS NOT POSITIVE. RETURN 132 | TCF ZAPTJ # CTR IS POSITIVE. INHIBIT FIRINGS 133 | TC Q # CTR IS NOT POSITIVE. RETURN 134 | OCT 00004 135 | UTIME OCT 00012 136 | OCT 00012 137 | OLDSENSE EQUALS DAPTREG1 138 | NEGFIRE CS ONE # JETS FIRING NEGATIVELY 139 | TS OLDSENSE 140 | CA EDOT 141 | TCF +4 142 | PLUSFIRE CA ONE 143 | TS OLDSENSE 144 | CS EDOT # RATE DEAD BAND TEST 145 | LXCH A 146 | CS DAPBOOLS # IF DRIFTBIT = 1, USE ZERO TARGET RATE 147 | MASK DRIFTBIT # IF DRIFTBIT = 0, USE 0.10 RATE TARGET 148 | CCS A 149 | CA RATEDB1 150 | AD L 151 | EXTEND 152 | BZMF SPSSTART 153 | TCF POSTHRST +3 154 | 155 | SPSRCS INDEX AXISCTR # JET SENSE TEST 156 | CCS TJU 157 | TCF PLUSFIRE # JETS FIRING POSITIVELY 158 | TCF +2 159 | TCF NEGFIRE # JETS FIRING NEGATIVELY 160 | TS OLDSENSE # JETS OFF 161 | SPSSTART CA EDOT # OUTER RATE LIMIT TEST 162 | EXTEND 163 | MP RATELIM1 164 | CCS A 165 | TCF NEGTHRST # OUTER RATE LIMIT EXCEEDED 166 | TCF +2 167 | TCF POSTHRST # OUTER RATE LIMIT EXCEEDED 168 | CA EDOT # COAST ZONE TEST 169 | # Page 1510 170 | AD E 171 | EXTEND 172 | MP DKDB # PAD LOADED DEADBAND. FRESHSTART: 1.4 DEG 173 | EXTEND 174 | BZF TJZERO 175 | 176 | EXTEND 177 | BZMF +7 178 | CA EDOT 179 | AD RATELIM2 180 | EXTEND 181 | BZMF TJZERO 182 | NEGTHRST CS HALF 183 | TCF POSTHRST +1 184 | +7 CS RATELIM2 185 | AD EDOT 186 | EXTEND 187 | BZMF POSTHRST 188 | TJZERO CA ZERO 189 | TCF POSTHRST +1 190 | 191 | RATELIM1 = CALLCODE # = 00032, CORRESPONDING TO 1.73 DEG/SEC 192 | RATEDB1 = TBUILDFX # = 00045, CORRESPONDS TO 0.101 DEG/SEC 193 | 194 | # *** END OF LMDAP .015 *** 195 | 196 | 197 | -------------------------------------------------------------------------------- /Luminary099/SYSTEM_TEST_STANDARD_LEAD_INS.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: SYSTEM_TEST_STANDARD_LEAD_INS.agc 3 | # Purpose: Part of the source code for Luminary 1A build 099. 4 | # It is part of the source code for the Lunar Module's (LM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 370-372 10 | # Mod history: 2009-05-17 RSB Adapted from the corresponding 11 | # Luminary131 file, using page 12 | # images from Luminary 1A. 13 | # 14 | # This source code has been transcribed or otherwise adapted from 15 | # digitized images of a hardcopy from the MIT Museum. The digitization 16 | # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 17 | # the Museum. Many thanks to both. The images (with suitable reduction 18 | # in storage size and consequent reduction in image quality as well) are 19 | # available online at www.ibiblio.org/apollo. If for some reason you 20 | # find that the images are illegible, contact me at info@sandroid.org 21 | # about getting access to the (much) higher-quality images which Paul 22 | # actually created. 23 | # 24 | # Notations on the hardcopy document read, in part: 25 | # 26 | # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 27 | # 16:27 JULY 14, 1969 28 | 29 | # Page 370 30 | EBANK= XSM 31 | 32 | BANK 33 33 | SETLOC E/PROG 34 | BANK 35 | 36 | COUNT* $$/P07 37 | 38 | # SPECIAL PROGRAMS TO EASE THE PANGS OF ERASABLE MEMORY PROGRAMS. 39 | # 40 | # E/BKCALL FOR DOING BANKCALLS FROM AND RETURNING TO ERASABLE. 41 | # 42 | # THIS ROUTINE IS CALLABLE FROM ERASABLE OR FIXED. LIKE BANKCALL, HOWEVER, SWITCHING BETWEEN S3 AND S4 43 | # IS NOT POSSIBLE. 44 | # 45 | # THE CALLING SEQUENCE IS 46 | # 47 | # TC BANKCALL 48 | # CADR E/BKCALL 49 | # CADR ROUTINE # WHERE TO WANT TO GO IN FIXED. 50 | # RETURN HERE FROM DISPLAY TERMINATE, BAD STALL OR TC Q. 51 | # RETURN HERE FROM DISPLAY PROCEED OR GOOD RETURN FROM STALL. 52 | # RETURN HERE FROM DISPLAY ENTER OR RECYCLE. 53 | # 54 | # THIS ROUTINE REQUIRES TWO ERASABLES (EBUF2, +1) IN UNSWITCHED WHICH ARE UNSHARED BY INTERRUPTS AND 55 | # OTHER EMEMORY PROGRAMS. 56 | # 57 | # A + L ARE PRESERVED THROUGH BANKCALL AND E/BKCALL. 58 | 59 | E/BKCALL DXCH BUF2 # SAVE A,L AND GET DP RETURN 60 | DXCH EBUF2 # SAVE DP RETURN. 61 | INCR EBUF2 # RETURN +1 BECAUSE DOUBLE CADR. 62 | CA BBANK 63 | MASK LOW10 # GET CURRENT EBANK. (SBANK SOMEDAY) 64 | ADS EBUF2 +1 # FORM BBCON. (WAS FBANK) 65 | NDX EBUF2 66 | CA 0 -1 # GET CADR OF ROUTINE. 67 | TC SWCALL # GO TO ROUTINE, SETTING Q TO SWRETURN 68 | # AND RESTORING A + L. 69 | TC +4 # TX Q, V34, OR BAD STALL RETURN. 70 | TC +2 # PROCEED OR GOOD STALL RETURN. 71 | INCR EBUF2 # ENTER OR RECYCLE RETURN 72 | INCR EBUF2 73 | E/SWITCH DXCH EBUF2 74 | DTCB 75 | 76 | # Page 371 77 | # E/CALL FOR CALLING A FIXED MEMORY INTERPRETIVE SUBROUTINE FROM ERASABLE AND RETURNING TO ERASABLE. 78 | # 79 | # THE CALLING SEQUENCE IS... 80 | # 81 | # RTB 82 | # E/CALL 83 | # CADR ROUTINE # THE INTERPRETIVE SUBROUTINE YOU WANT 84 | # # RETURNS HERE IN INTERPRETIVE. 85 | 86 | E/CALL LXCH LOC # ADRES -1 OF CADR. 87 | INDEX L 88 | CA L # CADR IN A. 89 | INCR L 90 | INCR L # RETURN ADRES IN L. 91 | DXCH EBUF2 # STORE CADR AND RETURN 92 | TC INTPRET 93 | CALL 94 | EBUF2 # INDIRECTLY EXECUTE ROUTING. IT MUST 95 | EXIT # LEAVE VIA RVQ OR EQUIVALENT. 96 | LXCH EBUF2 +1 # PICK UP RETURN. 97 | TCF INTPRET +2 # SET LOC AND RETURN TO CALLER. 98 | 99 | # Page 372 100 | # E/JOBWAK FOR WAKING UP ERASABLE MEMORY JOBS. 101 | # 102 | # THIS ROUTINE MUST BE CALLED IN INTERRUPT OR WITH INTERRUPTS INHIBITED. 103 | # 104 | # THE CALLING SEQUENCE IS 105 | # 106 | # INHINT 107 | # ... 108 | # CA WAKEADR # ADDRESS OF SLEEPING JOB 109 | # TC IBNKCALL 110 | # CADR E/JOBWAK 111 | # ... # RETURNS HERE 112 | # RELINT # IF YOU DID AND INHINT 113 | 114 | BANK 33 115 | SETLOC E/PROG 116 | BANK 117 | 118 | COUNT* $$/P07 119 | 120 | E/JOBWAK TC JOBWAKE # ARRIVE WITH ADRES IN A. 121 | CS BIT11 122 | NDX LOCCTR 123 | ADS LOC # KNOCK FIXED MEMORY BIT OUT OF ADRES. 124 | TC RUPTREG3 # RETURN 125 | 126 | -------------------------------------------------------------------------------- /Luminary099/T6-RUPT_PROGRAMS.agc: -------------------------------------------------------------------------------- 1 | # Copyright: Public domain. 2 | # Filename: T6-RUPT_PROGRAMS.agc 3 | # Purpose: Part of the source code for Luminary 1A build 099. 4 | # It is part of the source code for the Lunar Module's (LM) 5 | # Apollo Guidance Computer (AGC), for Apollo 11. 6 | # Assembler: yaYUL 7 | # Contact: Ron Burkey . 8 | # Website: www.ibiblio.org/apollo. 9 | # Pages: 1403-1405 10 | # Mod history: 2009-05-10 SN (Sergio Navarro). Started adapting 11 | # from the Luminary131/ file of the same 12 | # name, using Luminary099 page images. 13 | # 14 | # This source code has been transcribed or otherwise adapted from 15 | # digitized images of a hardcopy from the MIT Museum. The digitization 16 | # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 17 | # the Museum. Many thanks to both. The images (with suitable reduction 18 | # in storage size and consequent reduction in image quality as well) are 19 | # available online at www.ibiblio.org/apollo. If for some reason you 20 | # find that the images are illegible, contact me at info@sandroid.org 21 | # about getting access to the (much) higher-quality images which Paul 22 | # actually created. 23 | # 24 | # Notations on the hardcopy document read, in part: 25 | # 26 | # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 27 | # 16:27 JULY 14, 1969 28 | 29 | # Page 1403 30 | # PROGRAM NAMES: (1) T6JOBCHK MOD. NO. 5 OCTOBER 2, 1967 31 | # (2) DOT6RUPT 32 | # MODIFICATION BY: LOWELL G. HULL (A.C.ELECTRONICS) 33 | # 34 | # THESE PROGRAMS ENABLE THE LM DAP TO CONTROL THE THRUST TIMES OF THE REACTION CONTROL SYSTEM JETS BY USING TIME6. 35 | # SINCE THE LM DAP MAINTAINS EXCLUSIVE CONTROL OVER TIME6 AND ITS INTERRUPTS, THE FOLLOWING CONVENTIONS HAVE BEEN 36 | # ESTABLISHED AND MUST NOT BE TAMPERED WITH: 37 | # 1. NO NUMBER IS EVER PLACED INTO TIME6 EXCEPT BY LM DAP. 38 | # 2. NO PROGRAM OTHER THAN LM DAP ENABLES THE TIME6 COUNTER. 39 | # 3. TO USE TIME6, THE FOLLOWING SEQUENCE IS ALWAYS EMPLOYED: 40 | # A. A POSITIVE (NON-ZERO) NUMBER IS STORED IN TIME6. 41 | # B. THE TIME6 CLOCK IS ENABLED. 42 | # C. TIME6 IS INTERROGATED AND IS: 43 | # I. NEVER FOUND NEGATIVE (NON-ZERO) OR +0. 44 | # II. SOMETIMES FOUND POSITIVE (BETWEEN 1 AND 240D) INDICATING THAT IT IS ACTIVE. 45 | # III. SOMETIMES FOUND POSMAX INDICATING THAT IT IS INACTIVE AND NOT ENABLED. 46 | # IV. SOMETIMES FOUND NEGATIVE ZERO INDICATING THAT: 47 | # A. A T6RUPT IS ABOUT TO OCCUR AT THE NEXT DINC, OR 48 | # B. A T6RUPT IS WAITING IN THE PRIORITY CHAIN, OR 49 | # C. A T6RUPT IS IN PROCESS NOW. 50 | # 4. ALL PROGRAMS WHICH OPERATE IN EITHER INTERRUPT MODE OR WITH INTERRUPT INHIBITED MUST CALL T6JOBCHK 51 | # EVERY 5 MILLISECONDS TO PROCESS A POSSIBLE WAITING T6RUPT BEFORE IT CAN BE HONORED BY THE HARDWARE. 52 | # (5. PROGRAM JTLST, IN Q,R-AXES, HANDLES THE INPUT LIST.) 53 | # 54 | # T6JOBCHK CALLING SEQUENCE: 55 | # L TC T6JOBCHK 56 | # L+1 (RETURN) 57 | # 58 | # DOT6RUPT CALLING SEQUENCE: 59 | # DXCH ARUPT # T6RUPT LEAD IN AT LOCATION 4004. 60 | # EXTEND 61 | # DCA T6ADR 62 | # DTCB 63 | # 64 | # SUBROUTINES CALLED: DOT6RUPT CALLS T6JOBCHK. 65 | # 66 | # NORMAL EXIT MODES: T6JOBCHK RETURNS TO L +1. 67 | # DOT6RUPT TRANSFERS CONTROL TO RESUME. 68 | # 69 | # ALARM/ABORT MODES: NONE. 70 | # 71 | # INPUT: TIME6 NXT6ADR OUTPUT: TIME6 NXT6ADR CHANNEL 5 72 | # T6NEXT T6NEXT +1 T6NEXT T6NEXT +1 CHANNEL 6 73 | # T6FURTHA T6FURTHA +1 T6FURTHA T6FURTHA +1 BIT15/CH13 74 | # 75 | # DEBRIS: T6JOBCHK CLOBBERS A. DOT6RUPT CLOBBERS NOTHING. 76 | 77 | BLOCK 02 78 | # Page 1404 79 | BANK 17 80 | SETLOC DAPS2 81 | BANK 82 | EBANK= T6NEXT 83 | COUNT* $$/DAPT6 84 | 85 | T6JOBCHK CCS TIME6 # CHECK TIME6 FOR WAITING T6RUPT: 86 | TC Q # NONE: CLOCK COUNTING DOWN. 87 | TC CCSHOLE 88 | TC T6JOBCHK +3 89 | 90 | # CONTROL PASSES TO T6JOB ONLY WHEN C(TIME6) = -0 (I.E., WHEN A T6RUPT MUST BE PROCESSED). 91 | 92 | T6JOB CAF POSMAX # DISABLE CLOCK: NEEDED SINCE RUPT OCCURS 93 | EXTEND # 1 DINC AFTER T6 = 77777. FOR 625 MUSECS 94 | WAND CHAN13 # MUST NOT HAVE T6 = +0 WITH ENABLE SET 95 | 96 | CA POSMAX 97 | ZL 98 | DXCH T6FURTHA 99 | DXCH T6NEXT 100 | LXCH NXT6ADR 101 | TS TIME6 102 | 103 | AD PRIO37 104 | TS A 105 | TCF ENABLET6 106 | CA POSMAX 107 | TS TIME6 108 | TCF GOCH56 109 | ENABLET6 CA BIT15 110 | EXTEND 111 | WOR CHAN13 112 | CA T6NEXT 113 | AD PRIO37 114 | TS A 115 | TCF GOCH56 116 | CA POSMAX 117 | TS T6NEXT 118 | GOCH56 INDEX L 119 | TCF WRITEP -1 120 | 121 | BLOCK 02 122 | SETLOC FFTAG9 123 | BANK 124 | EBANK= CDUXD 125 | COUNT* $$/DAPT6 126 | 127 | CA NEXTP 128 | WRITEP EXTEND 129 | WRITE CHAN6 130 | # Page 1405 131 | TC Q 132 | 133 | CA NEXTU 134 | WRITEU TS L 135 | CS 00314OCT 136 | EXTEND 137 | RAND CHAN5 138 | AD L 139 | EXTEND 140 | WRITE CHAN5 141 | TC Q 142 | 143 | CA NEXTV 144 | WRITEV TS L 145 | CA 00314OCT 146 | TCF -9D 147 | 00314OCT OCT 00314 148 | 149 | BANK 17 150 | SETLOC DAPS2 151 | BANK 152 | 153 | EBANK= T6NEXT 154 | COUNT* $$/DAPT6 155 | 156 | DOT6RUPT LXCH BANKRUPT # (INTERRUPT LEAD INS CONTINUED) 157 | EXTEND 158 | QXCH QRUPT 159 | 160 | TC T6JOBCHK # CALL T6JOBCHK. 161 | 162 | TCF RESUME # END TIME6 INTERRUPT PROCESSOR. 163 | 164 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Apollo-11 2 | [![NASA][6]]() 3 | 4 | *Available in: [English][EN], [简体中文][ZH_CN], [正體中文][ZH_TW].* 5 | 6 | Original Apollo 11 guidance computer (AGC) source code for Command 7 | Module (Comanche055) and Lunar Module (Luminary099). Digitized by 8 | the folks at [Virtual AGC][0] and [MIT Museum][1]. The goal is to be 9 | a repo for the original Apollo 11 source code. As such, PRs are 10 | welcome for any issues identified between the transcriptions in this 11 | repository and the original source scans for [Luminary 099][2] and 12 | [Comanche 055][3], as well as any files I may have missed. 13 | 14 | ## Contributing 15 | Please read [CONTRIBUTING.md][4] before opening a pull request. 16 | 17 | ## Compiling 18 | If you are interested in compiling the original source code, check 19 | out [Virtual AGC][5]. 20 | 21 | ## Attribution 22 | ```plain 23 | Copyright: Public domain. 24 | Filename: CONTRACT_AND_APPROVALS.agc 25 | Purpose: Part of the source code for Colossus 2A, AKA Comanche 055. 26 | It is part of the source code for the Command Module's (CM) 27 | Apollo Guidance Computer (AGC), for Apollo 11. 28 | Assembler: yaYUL 29 | Contact: Ron Burkey . 30 | Website: www.ibiblio.org/apollo. 31 | Mod history: 2009-05-06 RSB Transcribed from page images. 32 | 33 | This source code has been transcribed or otherwise adapted from digitized 34 | images of a hardcopy from the MIT Museum. The digitization was performed 35 | by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many 36 | thanks to both. The images (with suitable reduction in storage size and 37 | consequent reduction in image quality as well) are available online at 38 | www.ibiblio.org/apollo. If for some reason you find that the images are 39 | illegible, contact me at info@sandroid.org about getting access to the 40 | (much) higher-quality images which Paul actually created. 41 | 42 | Notations on the hardcopy document read, in part: 43 | 44 | Assemble revision 055 of AGC program Comanche by NASA 45 | 2021113-051. 10:28 APR. 1, 1969 46 | 47 | Page 1 48 | 49 | #************************************************************************ 50 | # * 51 | # THIS AGC PROGRAM SHALL ALSO BE REFERRED TO AS: * 52 | # * 53 | # * 54 | # COLOSSUS 2A * 55 | # * 56 | # * 57 | # THIS PROGRAM IS INTENDED FOR USE IN THE CM AS SPECIFIED * 58 | # IN REPORT R-577. THIS PROGRAM WAS PREPARED UNDER DSR * 59 | # PROJECT 55-23870, SPONSORED BY THE MANNED SPACECRAFT * 60 | # CENTER OF THE NATIONAL AERONAUTICS AND SPACE * 61 | # ADMINISTRATION THROUGH CONTRACT NAS 9-4065 WITH THE * 62 | # INSTRUMENTATION LABORATORY, MASSACHUSETTS INSTITUTE OF * 63 | # TECHNOLOGY, CAMBRIDGE, MASS. * 64 | # * 65 | #************************************************************************ 66 | 67 | 68 | SUBMITTED: MARGARET H. HAMILTON DATE: 28 MAR 69 69 | M.H.HAMILTON, COLOSSUS PROGRAMMING LEADER 70 | APOLLO GUIDANCE AND NAVIGATION 71 | 72 | APPROVED: DANIEL J. LICKLY DATE: 28 MAR 69 73 | D.J.LICKLY, DIRECTOR, MISSION PROGRAM DEVELOPMENT 74 | APOLLO GUIDANCE AND NAVIGATION PROGRAM 75 | 76 | APPROVED: FRED H. MARTIN DATE: 28 MAR 69 77 | FRED H. MARTIN, COLOSSUS PROJECT MANAGER 78 | APOLLO GUIDANCE AND NAVIGATION PROGRAM 79 | 80 | APPROVED: NORMAN E. SEARS DATE: 28 MAR 69 81 | N.E. SEARS, DIRECTOR, MISSION DEVELOPMENT 82 | APOLLO GUIDANCE AND NAVIGATION PROGRAM 83 | 84 | APPROVED: RICHARD H. BATTIN DATE: 28 MAR 69 85 | R.H. BATTIN, DIRECTOR, MISSION DEVELOPMENT 86 | APOLLO GUIDANCE AND NAVIGATION PROGRAM 87 | 88 | APPROVED: DAVID G. HOAG DATE: 28 MAR 69 89 | D.G. HOAG, DIRECTOR 90 | APOLLO GUIDANCE AND NAVIGATION PROGRAM 91 | 92 | APPROVED: RALPH R. RAGAN DATE: 28 MAR 69 93 | R.R. RAGAN, DEPUTY DIRECTOR 94 | INSTRUMENTATION LABORATORY 95 | ``` 96 | 97 | [EN]:README.md 98 | [ZH_CN]:README.zh_cn.md 99 | [ZH_TW]:README.zh_tw.md 100 | [0]:http://www.ibiblio.org/apollo/ 101 | [1]:http://web.mit.edu/museum/ 102 | [2]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/ 103 | [3]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/ 104 | [4]:https://github.com/chrislgarry/Apollo-11/blob/master/CONTRIBUTING.md 105 | [5]:https://github.com/rburkey2005/virtualagc 106 | [6]:https://rawgit.com/aleen42/badges/master/src/nasa.svg 107 | -------------------------------------------------------------------------------- /README.zh_cn.md: -------------------------------------------------------------------------------- 1 | # 阿波罗11号 2 | [![NASA][6]]() 3 | 4 | *Available in: [English](README.md), [简体中文](README.zh_cn.md), [正體中文](README.zh_tw.md).* 5 | 6 | 阿波罗11号制导计算机(AGC)中指令模块(Comanche055)和登月模块(Luminary099)原始代码。由[虚拟 AGC](http://www.ibiblio.org/apollo/) 和 [MIT 科学博物馆](http://web.mit.edu/museum/) 的伙计们完成电子化。本仓库的目的是存储阿波罗11号原始代码。当然,倘若在本仓库或原始代码扫描件[Luminary 099](http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/) 及 [Comancheion 055](http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/) 发现问题,或者任何我可能漏掉的文件,欢迎提交PRs。 7 | 8 | ## 编译 9 | 10 | 如果对编译原始代码有兴趣的话,请查阅 [虚拟 AGC](https://github.com/rburkey2005/virtualagc) 的文档。 11 | 12 | ## 贡献 13 | ```plain 14 | 版权: 公共领域。 15 | 文件名: CONTRACT_AND_APPROVALS。 16 | 用途: Colossus 2A、 AKA Comanche 055 中的部分源代码。 17 | 上述源代码是阿波罗11号制导计算机中指令模块(CM)的一部分。 18 | 汇编程序:yaYUL 19 | 联系人: Ron Burkey 20 | 网站: www.ibiblio.org/apollo 21 | Mod 历史:2009-05-06 RSB 抄写电子化图片 22 | 23 | 该源代码从MIT 科学博物馆的印刷本电子化图片抄录、改编而来。 24 | 电子化工作由 Paul Fjeld 完成,并由该馆的 Deborah Douglas 进一步整理。 25 | 由衷地感激两位。这些图片(适当地减少了存储大小,图像质量略有损失) 26 | 可以在 www.ibiblio.org/apollo 在线查看。如果你发现图片太过模糊,请 27 | 通过邮箱 info@sandroid.org 联系我,了解如何获取 Paul 原版的(更)高质量图片。 28 | 29 | 此印刷本中一段注释的部分内容: 30 | 31 | NASA AGC program Comanche 汇编修订版 055 32 | 2021113-051. 1969年4月1日 10时28分 33 | 34 | 第一页 35 | 36 | #************************************************************************ 37 | # * 38 | # 本 AGC 程序亦可称为: * 39 | # * 40 | # * 41 | # COLOSSUS 2A * 42 | # * 43 | # * 44 | # 根据 R-577 报告规定,本程序将用于指令模块。 * 45 | # 本程序为 DSR 项目 55-23870 铺路,(美国) * 46 | # 国家航空航天局的载人航天中心联合 THE INSTRUMENTATION LABORATORY、 * 47 | # 麻省理工学院、剑桥及MASS签属 NAS 9-4065 合同,共同资助本项目。 * 48 | # * 49 | #************************************************************************ 50 | 51 | 52 | 提交者: MARGARET H. HAMILTON 日期: 1969年3月28日 53 | M.H.HAMILTON, COLOSSUS 程序设计负责人 54 | 阿波罗制导 55 | 56 | 核准人: DANIEL J. LICKLY 日期: 1969年3月28日 57 | D.J.LICKLY, 负责人、任务程序开发 58 | 阿波罗制导程序 59 | 60 | 核准人: FRED H. MARTIN 日期: 1969年3月28日 61 | FRED H. MARTIN, COLOSSUS 项目经理 62 | 阿波罗制导程序 63 | 64 | 核准人: NORMAN E. SEARS 日期: 1969年3月28日 65 | N.E. SEARS, 负责人、任务程序开发 66 | 阿波罗制导程序 67 | 68 | 核准人: RICHARD H. BATTIN 日期: 1969年3月28日 69 | R.H. BATTIN, 负责人、任务开发 70 | 阿波罗制导程序 71 | 72 | 核准人: DAVID G. HOAG 日期: 1969年3月28日 73 | D.G. HOAG, 负责人 74 | 阿波罗制导程序 75 | 76 | 核准人: RALPH R. RAGAN 日期: 1969年3月28日 77 | R.R. RAGAN, 副负责人 78 | INSTRUMENTATION LABORATORY 79 | ``` 80 | 81 | [6]:https://rawgit.com/aleen42/badges/master/src/nasa.svg 82 | -------------------------------------------------------------------------------- /README.zh_tw.md: -------------------------------------------------------------------------------- 1 | # 阿波羅11號 2 | [![NASA][6]]() 3 | 4 | *Available in: [English](README.md), [简体中文](README.zh_cn.md), [正體中文](README.zh_tw.md).* 5 | 6 | 原版的阿波羅11號電腦(Apollo 11 Guidance computer, AGC)用於駕駛艙(Comanche055)和登月艙(Luminary099)的原始碼,由 [Virtual AGC](http://www.ibiblio.org/apollo/) 及 [MIT Museum](http://web.mit.edu/museum/) 的工作人員數位化,目的在於建立一個存放阿波羅11號原始碼的程式庫。正因如此,若你在文件抄錄上或在查看 [Luminary 099](http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/) 和 [Comanche 055](http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/) 這兩部分原始碼過程中遇到問題的話,我們歡迎你能提起一個 PR。當然,也包括那些我可能遺忘的文件。 7 | 8 | ## 編譯 9 | 10 | 如果對編譯原始碼有興趣的話,參考 [Virtual AGC](https://github.com/rburkey2005/virtualagc) 。 11 | 12 | ## 權限 13 | ```plain 14 | 版權: 公眾所有 15 | 文件名稱: CONTRACT_AND_APPROVALS.agc 16 | 目的: 部份為 Colossus 2A 的原始碼,也稱為 Comanche 055 17 | 阿波羅11號導引電腦(Apollo 11 Guidance computer, AGC)駕駛艙原始碼的一部份 18 | 組譯器: yaYUL 19 | 連絡人: Ron Burkey . 20 | 網站: www.ibiblio.org/apollo. 21 | 修改紀錄: 2009-05-06 RSB 從文件圖片抄錄出來 22 | 23 | 這份原始碼是經過轉錄,或是從 MIT Museum 的數位化影像複印本整理出來的。 24 | 數位化是由 Paul Fjeld 完成,並經過 MIT Museum 的 Deborah Douglas 整理,在此衷心感激兩位。 25 | 這些影像(適當地減少了影像大小,以及降低了影像解析度)已經可以在網站 www.ibiblio.org/apollo 上觀看。 26 | 若你發現有字跡模糊的情形,請通過電子郵件 info@sandroid.org 聯繫我,以獲得高清影像。 27 | 事實上,這些影像是 Paul 建立的。 28 | 29 | 在這份複印本中,我們可以看到當中有這樣的一段注釋: 30 | 31 | 由 NASA 的 Comanche 所編寫的 AGC 彙編修訂版 055 32 | 2021113-051. 1969年4月1日 10:28 33 | 34 | 第一頁 35 | 36 | #************************************************************************ 37 | # * 38 | # 該 AGC 程序也可能被稱作 * 39 | # * 40 | # * 41 | # COLOSSUS 2A * 42 | # * 43 | # * 44 | # 如 R-577 報告所指出的一樣,該程序主要用於阿波羅駕駛艙 CM。 * 45 | # 此外,該程序是由 DSR 計劃 55-23870 所籌劃,並由美國 * 46 | # 國家航空航天局的太空總署通過合約 NAS 9-4065 所資助。 * 47 | # 該合約是由美國實驗儀器公司、麻省理工學院、劍橋大學以及 * 48 | # 馬斯共同簽定。 * 49 | # * 50 | #************************************************************************ 51 | 52 | 53 | 提交者: MARGARET H. HAMILTON 日期: 1969年3月28日 54 | M.H.HAMILTON, COLOSSUS 編程負責人 55 | 阿波羅導引及導航功能 56 | 57 | 核准人: DANIEL J. LICKLY 日期: 1969年3月28日 58 | D.J.LICKLY, 負責人, 任務程序開發 59 | 阿波羅導引及導航功能程序 60 | 61 | 核准人: FRED H. MARTIN 日期: 1969年3月28日 62 | FRED H. MARTIN, COLOSSUS 產品經理 63 | 阿波羅導引及導航功能程序 64 | 65 | 核准人: NORMAN E. SEARS 日期: 1969年3月28日 66 | N.E. SEARS, 負責人, 任務開發 67 | 阿波羅導引及導航功能程序 68 | 69 | 核准人: RICHARD H. BATTIN 日期: 1969年3月28日 70 | R.H. BATTIN, 負責人, 任務開發 71 | 阿波羅導引及導航功能程序 72 | 73 | 核准人: DAVID G. HOAG 日期: 1969年3月28日 74 | D.G. HOAG, 負責人 75 | 阿波羅導引及導航功能程序 76 | 77 | 核准人: RALPH R. RAGAN 日期: 1969年3月28日 78 | R.R. RAGAN, 副負責人 79 | 美國實驗儀器公司 80 | ``` 81 | 82 | [6]:https://rawgit.com/aleen42/badges/master/src/nasa.svg 83 | --------------------------------------------------------------------------------