### FILE="Main.annotation" ## Copyright: Public domain. ## Filename: KALCMANU_STEERING.agc ## Purpose: A section of Comanche revision 044. ## It is part of the reconstructed source code for the ## original release of the flight software for the Command ## Module's (CM) Apollo Guidance Computer (AGC) for Apollo 10. ## The code has been recreated from a copy of Comanche 055. It ## has been adapted such that the resulting bugger words ## exactly match those specified for Comanche 44 in NASA drawing ## 2021153D, which gives relatively high confidence that the ## reconstruction is correct. ## Assembler: yaYUL ## Contact: Ron Burkey . ## Website: www.ibiblio.org/apollo/index.html ## Mod history: 2020-12-03 MAS Created from Comanche 51. ## 2021-05-30 ABS ZEROERROR -> ZEROEROR ## Page 414 # GENERATION OF STEERING COMMANDS FOR DIGITAL AUTOPILOT FREE FALL MANEUVERS # # NEW COMMANDS WILL BE GENERATED EVERY ONE SECOND DURING THE MANEUVER BANK 15 SETLOC KALCMON1 BANK EBANK= BCDU COUNT 22/KALC NEWDELHI CS HOLDFLAG # SEE IF MANEUVER HAS BEEN INTERRUPTED EXTEND # BY ASTRONAUT BZMF NOGO -2 # IF SO, TERMINATE KALCMANU NEWANGL TC INTPRET AXC,1 AXC,2 MIS # COMPUTE THE NEW MATRIX FROM S/C TO DEL # STABLE MEMBER AXES CALL MXM3 VLOAD STADR STOVL MIS +12D # CALCULATE NEW DESIRED CDU ANGLES STADR STOVL MIS +6D STADR STORE MIS AXC,1 CALL MIS DCMTOCDU # PICK UP THE NEW CDU ANGLES FROM MATRIX RTB V1STO2S STORE NCDU # NEW CDU ANGLES BONCLR EXIT CALCMAN2 MANUSTAT # TO START MANEUVER CAF TWO # +0 OTHERWISE INCRDCDU TS KSPNDX DOUBLE TS KDPNDX INDEX KSPNDX CA NCDU # NEW DESIRED CDU ANGLES EXTEND INDEX KSPNDX MSU BCDU # INITIAL S/C ANGLE OR PREVIOUS DESIRED EXTEND # CDU ANGLES MP QUADROT INDEX KDPNDX DXCH DELCDUX # ANGLE INCREMENTS TO BE ADDED TO ## Page 415 INDEX KSPNDX # DCDU EVERY TENTH SEC CA NCDU # BY LEM DAP INDEX KSPNDX XCH BCDU INDEX KDPNDX TS CDUXD CCS KSPNDX TCF INCRDCDU # LOOP FOR THREE AXES RELINT # COMPARE PRESENT TIME WITH TIME TO TERMINATE MANEUVER TMANUCHK TC TIMECHK TC POSTJUMP CADR CONTMANU CAF ONE MANUSTAL TC WAITLIST EBANK= BCDU 2CADR MANUSTOP RELINT TCF ENDOFJOB TIMECHK EXTEND DCS TIME2 DXCH TTEMP EXTEND DCA TM DAS TTEMP CCS TTEMP TC Q TCF +2 TCF 2NDRETRN CCS TTEMP +1 TC Q TCF MANUOFF COM MANUOFF AD 1SEC EXTEND BZMF 2NDRETRN INCR Q 2NDRETRN INCR Q INCR Q TC Q SETLOC MANUSTUF BANK ## Page 416 MANUSTAT EXIT # INITIALIZATION ROUTINE EXTEND # FOR AUTOMATIC MANEUVERS DCA TIME2 DAS TM # TM+T0 MANEUVER COMPLETION TIME CS 1SEC TS L CS ZERO DAS TM # (TM+T0)-1 INHINT CS ONE # ENABLE AUTOPILOT TO PERFORM TS HOLDFLAG # AUTOMATIC MANEUVERS CS RATEINDX # SEE IF MANEUVERING AT HIGH RATE AD SIX EXTEND BZMF HIGHGAIN TCF +4 HIGHGAIN CS RCSFLAGS # IF SO, SET HIGH RATE FLAG (BIT 15 OF MASK BIT15 # RCSFLAGS) ADS RCSFLAGS DXCH BRATE # X-AXIS MANEUVER RATE DXCH WBODY DXCH BRATE +2 # Y-AXIS MANEUVER RATE DXCH WBODY1 DXCH BRATE +4 # Z-AXIS MANEUVER RATE DXCH WBODY2 CA BIASTEMP +1 # INSERT ATTITUDE ERROR BIASES TS BIAS # INTO AUTOPILOT CA BIASTEMP +3 TS BIAS1 CA BIASTEMP +5 TS BIAS2 CA TIME1 AD 1SEC XCH NEXTIME TC POSTJUMP CADR INCRDCDU -1 CONTMANU INHINT # CONTINUE WITH UPDATE PROCESS CS TIME1 AD NEXTIME CCS A AD ONE TCF MANUCALL AD NEGMAX COM MANUCALL TC WAITLIST EBANK= BCDU 2CADR UPDTCALL RELINT ## Page 417 CAF 1SEC # INCREMENT TIME FOR NEXT UPDATE ADS NEXTIME TCF ENDOFJOB UPDTCALL CAF PRIO26 # CALL FOR UPDATE TC FINDVAC # OF STEERING COMMANDS EBANK= BCDU 2CADR NEWDELHI TC TASKOVER ## Page 418 # ROUTINE FOR TERMINATING AUTOMATIC MANEUVERS SETLOC KALCMON3 BANK MANUSTOP TC STOPYZ TC IBNKCALL CADR LOADYZ ENDROLL CA CPHI TS CDUXD # SET CDUXD TO THE COMMANDED OUTER GIMBAL TC STOPRATE ENDMANU CA ATTPRIO # RESTORE USERS PRIORITY TS NEWPRIO CA ZERO # ZERO ATTCADR DXCH ATTCADR TC SPVAC # RETURN TO USER OF GOMANUR TC TASKOVER SETLOC STOPRAT BANK STOPRATE CAF ZERO TS DELCDUX TS DELCDUX +1 # ZERO ROLL INCREMENTAL ANGLES TS WBODY # RATE TS WBODY +1 TS BIAS # BIAS CS BIT15 # MAKE SURE HIGH RATE FLAG (BIT 15 OF MASK RCSFLAGS # RCSFLAGS) IS RESET. TS RCSFLAGS STOPYZ CAF ZERO TS DELCDUY # ZERO PITCH, YAW TS DELCDUY +1 # INCREMENTAL ANGLES TS DELCDUZ TS DELCDUZ +1 TS WBODY1 # RATES TS WBODY1 +1 TS WBODY2 TS WBODY2 +1 TS BIAS1 # BIASES TS BIAS2 TC Q SETLOC MANUSTUF BANK ## Page 419 ZEROEROR CA CDUX # PICK UP CDU ANGLES AND STORE IN TS CDUXD # CDU DESIRED CA CDUY TS CDUYD CA CDUZ TS CDUZD TC Q SETLOC KALCMON1 BANK LOADCDUD CA CPHI # STORE TERMINAL ANGLES INTO TS CDUXD # COMMAND ANGLES LOADYZ CA CTHETA TS CDUYD CA CPSI TS CDUZD TC Q