Browse Source

Trim whitespace

master
James Harris 5 years ago
parent
commit
4f3a1d4374
  1. 64
      Comanche055/AUTOMATIC_MANEUVERS.agc
  2. 76
      Comanche055/CM_BODY_ATTITUDE.agc
  3. 308
      Comanche055/CM_ENTRY_DIGITAL_AUTOPILOT.agc
  4. 118
      Comanche055/CONIC_SUBROUTINES.agc
  5. 4
      Comanche055/CONTRACT_AND_APPROVALS.agc
  6. 58
      Comanche055/CSM_GEOMETRY.agc
  7. 22
      Comanche055/DISPLAY_INTERFACE_ROUTINES.agc
  8. 14
      Comanche055/DOWN-TELEMETRY_PROGRAM.agc
  9. 20
      Comanche055/ENTRY_LEXICON.agc
  10. 326
      Comanche055/ERASABLE_ASSIGNMENTS.agc
  11. 8
      Comanche055/EXECUTIVE.agc
  12. 340
      Comanche055/EXTENDED_VERBS.agc
  13. 16
      Comanche055/FIXED_FIXED_CONSTANT_POOL.agc
  14. 268
      Comanche055/FRESH_START_AND_RESTART.agc
  15. 44
      Comanche055/GIMBAL_LOCK_AVOIDANCE.agc
  16. 22
      Comanche055/GROUND_TRACKING_DETERMINATION_PROGRAM.agc
  17. 186
      Comanche055/IMU_CALIBRATION_AND_ALIGNMENT.agc
  18. 112
      Comanche055/IMU_COMPENSATION_PACKAGE.agc
  19. 16
      Comanche055/IMU_MODE_SWITCHING_ROUTINES.agc
  20. 6
      Comanche055/INFLIGHT_ALIGNMENT_ROUTINES.agc
  21. 26
      Comanche055/INTEGRATION_INITIALIZATION.agc
  22. 12
      Comanche055/INTER-BANK_COMMUNICATION.agc
  23. 188
      Comanche055/INTERPRETER.agc
  24. 12
      Comanche055/INTERPRETIVE_CONSTANTS.agc
  25. 38
      Comanche055/INTERRUPT_LEAD_INS.agc
  26. 144
      Comanche055/JET_SELECTION_LOGIC.agc
  27. 58
      Comanche055/KALCMANU_STEERING.agc
  28. 12
      Comanche055/KEYRUPT_UPRUPT.agc
  29. 6
      Comanche055/LATITUDE_LONGITUDE_SUBROUTINES.agc
  30. 14
      Comanche055/LUNAR_AND_SOLAR_EPHEMERIDES_SUBROUTINES.agc
  31. 2
      Comanche055/LUNAR_LANDMARK_SELECTION_FOR_CM.agc
  32. 30
      Comanche055/MAIN.agc
  33. 10
      Comanche055/MEASUREMENT_INCORPORATION.agc
  34. 14
      Comanche055/MYSUBS.agc
  35. 56
      Comanche055/ORBITAL_INTEGRATION.agc
  36. 142
      Comanche055/P11.agc
  37. 198
      Comanche055/P20-P25.agc
  38. 92
      Comanche055/P30-P37.agc
  39. 72
      Comanche055/P32-P33_P72-P73.agc
  40. 44
      Comanche055/P34-35_P74-75.agc
  41. 70
      Comanche055/P37_P70.agc
  42. 508
      Comanche055/P40-P47.agc
  43. 140
      Comanche055/P51-P53.agc
  44. 248
      Comanche055/P61-P67.agc
  45. 22
      Comanche055/P76.agc
  46. 14
      Comanche055/PHASE_TABLE_MAINTENANCE.agc
  47. 414
      Comanche055/PINBALL_GAME_BUTTONS_AND_LIGHTS.agc
  48. 38
      Comanche055/PINBALL_NOUN_TABLES.agc
  49. 4
      Comanche055/PLANETARY_INERTIAL_ORIENTATION.agc
  50. 20
      Comanche055/POWERED_FLIGHT_SUBROUTINES.agc
  51. 22
      Comanche055/R30.agc
  52. 16
      Comanche055/R31.agc
  53. 96
      Comanche055/R60_62.agc
  54. 10
      Comanche055/RCS-CSM_DAP_EXECUTIVE_PROGRAMS.agc
  55. 148
      Comanche055/RCS-CSM_DIGITAL_AUTOPILOT.agc
  56. 334
      Comanche055/REENTRY_CONTROL.agc
  57. 20
      Comanche055/RESTARTS_ROUTINE.agc
  58. 36
      Comanche055/RT8_OP_CODES.agc
  59. 6
      Comanche055/S-BAND_ANTENNA_FOR_CM.agc
  60. 170
      Comanche055/SERVICER207.agc
  61. 36
      Comanche055/SERVICE_ROUTINES.agc
  62. 8
      Comanche055/SINGLE_PRECISION_SUBROUTINES.agc
  63. 24
      Comanche055/STABLE_ORBIT.agc
  64. 90
      Comanche055/STAR_TABLES.agc
  65. 110
      Comanche055/SXTMARK.agc
  66. 36
      Comanche055/SYSTEM_TEST_STANDARD_LEAD_INS.agc
  67. 78
      Comanche055/TAGS_FOR_RELATIVE_SETLOC.agc
  68. 2
      Comanche055/TIME_OF_FREE_FALL.agc
  69. 32
      Comanche055/TPI_SEARCH.agc
  70. 220
      Comanche055/TVCDAPS.agc
  71. 72
      Comanche055/TVCEXECUTIVE.agc
  72. 60
      Comanche055/TVCINITIALIZE.agc
  73. 36
      Comanche055/TVCMASSPROP.agc
  74. 52
      Comanche055/TVCRESTARTS.agc
  75. 78
      Comanche055/TVCROLLDAP.agc
  76. 48
      Comanche055/TVCSTROKETEST.agc
  77. 28
      Comanche055/UPDATE_PROGRAM.agc
  78. 26
      Comanche055/WAITLIST.agc
  79. 2
      Luminary099/AGC_BLOCK_TWO_SELF_CHECK.agc
  80. 2
      Luminary099/AGS_INITIALIZATION.agc
  81. 4
      Luminary099/ALARM_AND_ABORT.agc
  82. 30
      Luminary099/AOSTASK_AND_AOSJOB.agc
  83. 146
      Luminary099/AOTMARK.agc
  84. 8
      Luminary099/ASCENT_GUIDANCE.agc
  85. 10
      Luminary099/ASSEMBLY_AND_OPERATION_INFORMATION.agc
  86. 78
      Luminary099/ATTITUDE_MANEUVER_ROUTINE.agc
  87. 24
      Luminary099/BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.agc
  88. 8
      Luminary099/CONIC_SUBROUTINES.agc
  89. 144
      Luminary099/CONTROLLED_CONSTANTS.agc
  90. 2
      Luminary099/DAPIDLER_PROGRAM.agc
  91. 2
      Luminary099/DAP_INTERFACE_SUBROUTINES.agc
  92. 6
      Luminary099/DISPLAY_INTERFACE_ROUTINES.agc
  93. 18
      Luminary099/DOWN_TELEMETRY_PROGRAM.agc
  94. 28
      Luminary099/ERASABLE_ASSIGNMENTS.agc
  95. 6
      Luminary099/EXECUTIVE.agc
  96. 372
      Luminary099/EXTENDED_VERBS.agc
  97. 2
      Luminary099/FINDCDUW--GUIDAP_INTERFACE.agc
  98. 18
      Luminary099/FIXED_FIXED_CONSTANT_POOL.agc
  99. 180
      Luminary099/FLAGWORD_ASSIGNMENTS.agc
  100. 232
      Luminary099/FRESH_START_AND_RESTART.agc

64
Comanche055/AUTOMATIC_MANEUVERS.agc

@ -16,13 +16,13 @@
# thanks to both. The images (with suitable reduction in storage size and
# consequent reduction in image quality as well) are available online at
# www.ibiblio.org/apollo. If for some reason you find that the images are
# illegible, contact me at info@sandroid.org about getting access to the
# illegible, contact me at info@sandroid.org about getting access to the
# (much) higher-quality images which Paul actually created.
#
# Notations on the hardcopy document read, in part:
#
# Assemble revision 055 of AGC program Comanche by NASA
# 2021113-051. 10:28 APR. 1, 1969
# 2021113-051. 10:28 APR. 1, 1969
#
# This AGC program shall also be referred to as
# Colossus 2A
@ -31,9 +31,9 @@
BANK 21
SETLOC DAPS3
BANK
COUNT 21/DAPAM
EBANK= KMPAC
AHFNOROT EXTEND
READ CHAN31
@ -50,12 +50,12 @@ AHFNOROT EXTEND
MASK BIT13
EXTEND
BZMF HOLDFUNC
AUTOCONT CA HOLDFLAG # IF HOLDFLAG IS +, GO TO GRABANG.
EXTEND # OTHERWISE, GO TO ATTHOLD.
BZMF ATTHOLD
TCF GRABANG
# MINIMUM IMPULSE CONTROL
FREECONT CAF ONE
@ -80,12 +80,12 @@ FREECONT CAF ONE
# Page 1026
TS TAU2
TCF T6PROGM
MINTAU DEC 0
DEC 23 # = 14MS
DEC -23 # = -14MS
DEC 0
# Page 1027
# CALCULATION OF ATTITUDE ERRORS:
# _ * _ _ _
@ -143,7 +143,7 @@ ATTHOLD CA CDUX
CA BIAS2
ADS ERRORZ
TCF JETS
HOLDFUNC CCS HOLDFLAG
TCF +3
TCF ATTHOLD
@ -158,7 +158,7 @@ GRABANG CAF ZERO # ZERO WBODYS AND BIASES
TS BIAS
TS BIAS1
TS BIAS2
CA RCSFLAGS
MASK OCT16000
EXTEND # IS RATE DAMPING COMPLETED
@ -168,7 +168,7 @@ GRABANG CAF ZERO # ZERO WBODYS AND BIASES
TS ERRORY
TS ERRORZ
TCF JETS
ENDDAMP TS HOLDFLAG # SET HOLDFLAG +0
EXTEND
DCA CDUX # PICK UP CDU ANGLES FOR ATTITUDE HOLD
@ -250,7 +250,7 @@ JLOOP TS SPNDX
INHOLD INDEX SPNDX
CA ERRORX
TS AERR # AERR = BIAS + AK
CCS EDOT
TCF POSVEL
TCF SIGNCK1
@ -275,14 +275,14 @@ NEGVEL EXTEND
TS ADBVEL # -(ADB+AF)
CS AERR
TS AERRVEL
J6. EXTEND
# Page 1031
SU ADB
AD WLH/SLOP
EXTEND
BZMF J8
CS T5TEMP # (ADB+AF)
AD AERRVEL
EXTEND
@ -298,7 +298,7 @@ J6. EXTEND
EXTEND
BZMF J18
TCF J23
J7 CS WL-H/SLP
EXTEND
SU T5TEMP # (ADB+AF)
@ -306,7 +306,7 @@ J7 CS WL-H/SLP
EXTEND
BZMF J20
TCF J21
J8 EXTEND
DCS WLH
DXCH WTEMP
@ -321,7 +321,7 @@ SIGNCK2 CCS WTEMP +1
TCF J22
TCF J22
TCF NJ22
NJ22 EXTEND
DCA EDOTVEL
EXTEND
@ -334,7 +334,7 @@ NJ22 EXTEND
TCF J23
TCF +2
TCF J23
EXTEND
DCS WLMH # WL - H
DXCH WTEMP
@ -349,7 +349,7 @@ SIGNCK3 CCS WTEMP +1
TCF J23
TCF J23
TCF NJ23
NJ23 CA AERRVEL
AD T5TEMP # (ADB+AF)
AD WL-H/SLP
@ -358,12 +358,12 @@ NJ23 CA AERRVEL
TCF J24
TCF J22
TCF J22
J18 EXTEND
DCS EDOT
DXCH KMPAC
TCF JTIME
J20 CS AERR
AD ADBVEL
EXTEND
@ -373,7 +373,7 @@ J20 CS AERR
DCS EDOT
DAS KMPAC
TCF JTIME
J21 CCS EDOT
TCF JP
TCF SIGNCK4
@ -390,7 +390,7 @@ JN EXTEND
DCA WL
DAS KMPAC
TCF JTIME
JP EXTEND
DCS EDOT
DXCH KMPAC
@ -398,7 +398,7 @@ JP EXTEND
DCS WL
DAS KMPAC
TCF JTIME
J22 CCS EDOT
TCF JN
TCF SIGNCK5
@ -408,21 +408,21 @@ SIGNCK5 CCS EDOT +1
TCF JN
TCF JP
TCF JP
J23 INDEX SPNDX
CS BIT13 # RESET RATE DAMPING FLAG
MASK RCSFLAGS # BIT13 FOR ROLL (SPNDX = 0)
TS RCSFLAGS # BIT12 FOR PITCH (SPNDX = 1)
# BIT11 FOR YAW (SPNDX = 2)
INDEX SPNDX
CAF OCT01400 # IS THERE TO BE A FORCED FIRING ON THIS
MASK RCSFLAGS # AXIS
EXTEND
BZF DOJET +2 # NO, GO TO DOJET +2 AND DO NOTHING
TCF J18 # YES, GO TO J18 AND FORCE A FIRING
J24 CS AERR
EXTEND
SU ADBVEL
@ -433,7 +433,7 @@ J24 CS AERR
# Page 1034
DCS EDOT
DAS KMPAC
# Page 1035
# COMPUTE THE JET ON TIME NECESSARY TO ACCOMPLISH THE DESIRED CHANGE IN RATE, I.E.,
#
@ -476,14 +476,14 @@ JTIME INDEX SPNDX # PICK UP S/C INERTIA/TORQUE RATIO
TCF DOJET
CA NEGMAX
TCF DOJET
TAUNORM CA KMPAC +1
DOJET INDEX SPNDX
TS TAU
CCS SPNDX
TCF JLOOP
TCF T6PROG
# Page 1036
ZEROCMDS CAF ZERO
TS TAU
@ -493,7 +493,7 @@ T6PROG EXTEND # WHEN THE ROTATION COMMANDS (TAUS)
DCA JETADDR # HAVE BEEN DETERMINED
DXCH T5LOC # RESET T5LOC FOR PHASE3
TCF RESUME
EBANK= KMPAC
JETADDR 2CADR JETSLECT

76
Comanche055/CM_BODY_ATTITUDE.agc

@ -10,11 +10,11 @@
# Mod history: 2009-05-12 RSB Adapted from Colossus249 file of the same
# name and Comanche 055 page images.
#
# The contents of the "Comanche055" files, in general, are transcribed
# from scanned documents.
# The contents of the "Comanche055" files, in general, are transcribed
# from scanned documents.
#
# Assemble revision 055 of AGC program Comanche by NASA
# 2021113-051. April 1, 1969.
# 2021113-051. April 1, 1969.
#
# This AGC program shall also be referred to as Colossus 2A
#
@ -30,18 +30,18 @@
# Page 883
BANK 35
SETLOC BODYATT
BANK
COUNT 37/CMBAT
# PDL 12D - 15D SAFE.
# VALUE OF GIMBAL AND BODY ANGLES VALID AT PIP TIME ARE SAVED DURING READACCS.
EBANK= RTINIT # LET INTERPRETER SET EB
CM/POSE TC INTPRET # COME HERE VIA AVEGEXIT.
SETPD VLOAD
@ -55,11 +55,11 @@ CM/POSE TC INTPRET # COME HERE VIA AVEGEXIT.
KWE
VAD STADR
STORE -VREL # SAVE FOR ENTRY GUIDANCE. REF COORDS
UNIT LXA,1
36D # ABVAL( -VREL) TO X1
STORE UXA/2 # -UVREL REF COORDS
VXV VCOMP
UNITR # .5 UNIT REF COORDS
UNIT SSP # THE FOLLOWING IS TO PROVIDE A STABLE
@ -71,7 +71,7 @@ SPVQUIT DEC .019405 # 1000/ 2 VS
CM/POSE2 STORE UYA/2 # REF COORDS
STORE OLDUYA # RESTORE, OR SAVE AS CASE MAY BE.
VXV VCOMP
UXA/2 # FINISH OBTAINING TRAJECTORY TRIAD.
VSL1
@ -81,7 +81,7 @@ CM/POSE2 STORE UYA/2 # REF COORDS
AOG/PIP # TO PIPUP TIME IN 2'S C AND SAVE.
CM/TRIO STODL 24D
25D # AIG/PIP
RTB PUSH # TO PDL0
CDULOGIC
COS
@ -91,7 +91,7 @@ CM/TRIO STODL 24D
STODL UBX/2 +4 # -SI /2
26D # AMG/PIP
RTB PUSH # TO PDL 0
CDULOGIC
CDULOGIC
SIN PDDL # XCH PDL 0. SAVE SM /2
COS PDDL # CM /2 TO PDL 2
0 # SM /2
@ -119,9 +119,9 @@ CM/TRIO STODL 24D
UBX/2 # CI /2
UBY/2 +4
STOVL UBY/2 +4 # YB/4 PLATFORM COORDS
# YB = (-COSMCI + SOSI , COCM , COSMSI + SOCI )
UBY/2
VXM VSL2
REFSMMAT # .5 UNIT
@ -134,20 +134,20 @@ CM/TRIO STODL 24D
STADR # SM /2 FROM PDL 0
STOVL UBX/2 +2 # SM /2 REPLACES NOISE
UBX/2 # XB/2 PLATFORM COORDS
# XB = ( CMCI , SM , -CMSI )
VXM VSL1
REFSMMAT # .5 UNIT
STORE UBX/2 # XB/2 DONE REF COORDS
VXV VSL1
UBY/2
STOVL UBZ/2 # ZB/2 DONE REF COORDS
# EQUIVALENT TO
# ZB = ( SOSMCI + COSI , -SOCM , -SOSMSI + COCI )
UXA/2 # -UVREL/2 = -UVA/2
VXV UNIT # GET UNIT(-UVREL*UBY)/2 = UL/2
UBY/2 # YB/2
@ -155,7 +155,7 @@ CM/TRIO STODL 24D
UZA/2 # UNA/2
STOVL COSTH # COS(ROLL)/4
0 # UL/2
DOT
UYA/2
STCALL SINTH # -SIN(ROLL)/4
@ -181,7 +181,7 @@ CM/TRIO STODL 24D
UZA/2 # MORE ACCURATE AT LARGE ARG.
ARCCOS
STORE 10D # (-GAMA/180)/2
TLOAD EXIT # ANGLES IN MPAC IN THE ORDER
# -( (ROLL, BETA, ALFA) /180)/2
6D # THESE VALUES CORRECT AT PIPUP TIME.
@ -190,19 +190,19 @@ CM/TRIO STODL 24D
# BASIC SUBROUTINE TO UPDATE ATTITUDE ANGLES
EBANK= AOG
CM/ATUP CA EBAOG
TS EBANK
CMTR1 INDEX FIXLOC
CS 10D # (GAMA/180)/2
XCH GAMA
TS L
INHINT
# MUST REMAIN INHINTED UNTIL UPDATE OF BODY
# ANGLES, SO THAT GAMDIFSW IS VALID FIRST PASS
# INDICATOR.
CS CM/FLAGS
MASK BIT11 # GAMDIFSW=94D BIT11 INITLY=0
EXTEND # DON'T CALC GAMA DOT UNTIL HAVE FORMD
@ -210,20 +210,20 @@ CMTR1 INDEX FIXLOC
BZF DOGAMDOT # IS OK, GO ON.
ADS CM/FLAGS # KNOW BIT IS 0
TC NOGAMDOT # SET GAMDOT = 0
DOGAMDOT CS L
AD GAMA # DEL GAMA/360= T GAMDOT/360
EXTEND
MP TCDU # TCDU = .1 SEC, T = 2 SEC.
TS GAMDOT # GAMA DOT TCDU / 180
EXTEND # IGNORE GAMDOT IF LEQ .5 DEG/SEC
BZMF +2
COM
AD FIVE
EXTEND
BZMF +3 # SET GAMDOT=+0 AS TAG IF TOO SMALL.
NOGAMDOT CA ZERO # COME HERE INHINTED
TS GAMDOT
# FOR NOW LEAVE IN 2'S C
@ -239,7 +239,7 @@ NOGAMDOT CA ZERO # COME HERE INHINTED
TC CORANGOV # CORRECT FOR OVFL IF ANY
# Page 888
TS TEMPROLL
CS MPAC +2 # GET (ALFA EUL/180) /2
DOUBLE # SAME AS FOR ROLL. NEEDED FOR EXT ATM DAP
TC CORANGOV # CORRECT FOR OVFL IF ANY
@ -248,43 +248,43 @@ NOGAMDOT CA ZERO # COME HERE INHINTED
AD ALFA/180
TC CORANGOV # CORRECT FOR OVFL IF ANY
TS TEMPALFA
CS MPAC +1 # GET (BETA EUL/180) /2
CMTR2 DOUBLE
EXTEND
SU BETA/PIP
AD BETA/180
XCH TEMPBETA # OVFL NOT EXPECTED.
CA EBANK3
TS EBANK
EBANK= PHSNAME5
EXTEND
DCA REPOSADR # THIS ASSUMES THAT THE TC PHASCHNG
DXCH PHSNAME5 # IS NOT CHANGED IN OCT 10035
# SERVICER.
CA EBAOG
TS EBANK
EBANK= AOG
REDOPOSE EXTEND # RE-STARTS COME HERE
DCA TEMPROLL
DXCH ROLL/180
CA TEMPBETA
TS BETA/180
RELINT
TC INTPRET # CAN'T TC DANZIG AFTER PHASCHNG.
CM/POSE3 VLOAD ABVAL # RETURN FROM CM/ATUP. (RESTART)
VN # 2(-7) M/CS
STORE VMAGI # FOR DISPLAY ON CALL.
GOTO
POSEXIT # ENDEXIT, STARTENT, OR SCALEPOP.
CORANGOV TS L
TC Q
INDEX A
@ -292,7 +292,7 @@ CORANGOV TS L
CA LIMITS
ADS L
TC Q # COSTS 2 MCT TO USE. SEE ANGOVCOR.
-KVSCALE 2DEC -.81491944 # -12800/(2 VS .3048)
TCDU DEC .1 # TCDU = .1 SEC.

308
Comanche055/CM_ENTRY_DIGITAL_AUTOPILOT.agc

@ -9,8 +9,8 @@
# Pages: 1063-1092
# Mod history: 2009-05-13 RSB Adapted from the Colossus249/ file of the
# same name, using Comanche055 page images.
# 2009-05-20 RSB Corrections: Removed an extraneous label
# EXDAPIN, added a missing instruction in
# 2009-05-20 RSB Corrections: Removed an extraneous label
# EXDAPIN, added a missing instruction in
# COMPAT.
#
# This source code has been transcribed or otherwise adapted from digitized
@ -19,13 +19,13 @@
# thanks to both. The images (with suitable reduction in storage size and
# consequent reduction in image quality as well) are available online at
# www.ibiblio.org/apollo. If for some reason you find that the images are
# illegible, contact me at info@sandroid.org about getting access to the
# illegible, contact me at info@sandroid.org about getting access to the
# (much) higher-quality images which Paul actually created.
#
# Notations on the hardcopy document read, in part:
#
# Assemble revision 055 of AGC program Comanche by NASA
# 2021113-051. 10:28 APR. 1, 1969
# 2021113-051. 10:28 APR. 1, 1969
#
# This AGC program shall also be referred to as
# Colossus 2A
@ -38,43 +38,43 @@
# CM/DSTBY = 0 TO TERMINATE DAP OPERATION
BANK 15
SETLOC ETRYDAP
BANK
COUNT 15/DAPEN
EBANK= AOG
READGYMB CA TEN # KEEP RESTART DT GOING RELATIVE TO
ADS CM/GYMDT # PIPTIME. (GROUP 6)
# IF A RESTART OCCURS, SKIP PRESENT CYCLE. THE
# PHASCHNG PROTECTION IS IN CM/DAPIC.
CA BIT6 # CHECK FOR FINE ALIGN MODE OF CDU.
MASK IMODES33 # (PROTECT AOG/PIP ETC AS WELL AS
EXTEND # GIMBAL DIFFERENCES)
BZF READGYM1 # OK
CS BIT1 # NOT IN FINE ALIGN, SO IDLE
MASK CM/FLAGS # SET GYMDIFSW = 0
TS CM/FLAGS
TC FLUSHJET # QUENCH JETS, SINCE MAY BE A WHILE.
TC CM/GYMIC +2
READGYM1 CA CDUX
XCH AOG
EXTEND
MSU AOG # -DELAOG=AOG(N-1) - AOG(N)
TS -DELAOG
CA CDUY
XCH AIG
EXTEND
MSU AIG
TS -DELAIG
CA CDUZ
XCH AMG
EXTEND
@ -90,12 +90,12 @@ DOBRATE? CS CM/FLAGS # CM/DSTBY=103D BIT2 GYMDIFSW=104D BIT1
TC CM/GYMIC # DON'T CALC BODYRATE ON FIRST PASS.
NOOP
TC FLUSHJET # TURN OFF ALL JETS
TC PHASCHNG
OCT 00006 # DEACTIVATE DAP GROUP 6.
TC TASKOVER
DOBRATE CA ONE # DO BODYRATE
DOBRATE1 TS JETEM # SKIP BODYRATE
@ -103,13 +103,13 @@ DOBRATE1 TS JETEM # SKIP BODYRATE
TC WAITLIST
EBANK= AOG
2CADR READGYMB
# DOES NOT PROTECT TEMK, SQ IN SPSIN/COS
CCS JETEM
TC BODYRATE
TC TASKOVER # SKIP CALC ON INITIAL PASS. (PASSES)
CM/GYMIC ADS CM/FLAGS # GYMDIFSW: C(A)=1, KNOW BIT IS 0
CAF ZERO
TS JETAG
@ -118,7 +118,7 @@ CM/GYMIC ADS CM/FLAGS # GYMDIFSW: C(A)=1, KNOW BIT IS 0
TS OLDELR
TS GAMDOT # NO GYM DIF, PROB NO GAM DIF.
TC DOBRATE1
# Page 1065
# COME HERE TO CORRECT FOR OVERFLOW IN ANGULAR CALCULATIONS
@ -128,45 +128,45 @@ ANGOVCOR TS L # THIS COSTS 2 MCT TO USE.
CAF LIMITS
ADS L
TC Q
BLOCK 3
COUNT 03/DAPEN
FLUSHJET CA 7 # COME HERE TO TURN OFF ALL JETS.
EXTEND
WRITE ROLLJETS # ZERO CHANNEL 6
EXTEND
WRITE PYJETS # ZERO CHANNEL 5
TC Q
BANK 15
COUNT 15/DAPEN
SETLOC ETRYDAP
BANK
RATEAVG COM # SUBROUTINE TO ESTIMATE RATES IN PRESENCE
AD JETEM # OF CONSTANT ACCELERATION.
EXTEND
MP HALF # DELV (EST) = DELV +(DELV-OLDELV)/2
AD JETEM
TC Q
# Page 1066
# THESE ARE CALLED FOR THE VARIOUS INITIALIZATIONS NEEDED.
BANK 20
SETLOC DAPS1
BANK
COUNT 20/DAPEN
EBANK= AOG
CM/DAPON CA EBAOG
TS EBANK
TC DOWNFLAG # RESET DAPBIT1. T5 RESTART IDENTIFIER.
ADRES DAPBIT1 # BIT 15 FLAG 6 CMFLAGS.
TC DOWNFLAG # RESET DAPBIT2
@ -177,14 +177,14 @@ CM/DAPON CA EBAOG
EXTEND
DCA T5IDLER1 # DISABLE RCS JET CALLS
DXCH T6LOC
TC FLUSHJET # JETS DEPARTED ON SM. ZERO JET BITS.
CS 13,14,15
MASK DAPDATR1 # SET CONFIG BITS=0 FOR ENTRY
TS DAPDATR1
TC +4
NOTYET CA .5SEC
TC BANKCALL
CADR DELAYJOB # (DELAYJOB DOES INHINT)
@ -192,15 +192,15 @@ NOTYET CA .5SEC
MASK CM/FLAGS # IF ZERO, WAIT UNTIL CM/POSE UPDATE.
EXTEND
BZF NOTYET
CS ONE # ACTIVATE CM/DAP
TS RCSFLAGS # USE BIT3 TO INITIALIZE NEEDLER ON
# NEXT PASS.
TS P63FLAG # SO WAKEP62 WILL NOT BE INITIATED UNTIL
# HEADSUP IS SET IN P62.
# FLAG TO PREVENT MULTIPLE CALLS TO WAKEP62
CA 7
TS JETAG
TS PAXERR1 # KEEP NEEDLES ZERO UNTIL DAP UPDATE
@ -215,20 +215,20 @@ NOTYET CA .5SEC
EXTEND
MP HALF
TS ROLLC # NOT INTERESTED IN LO WORD.
CS CM/FLAGS
MASK BIT12 # CMDAPARM =93D BIT12 INITLY=0
ADS CM/FLAGS # SET BIT TO 1.
CS FLAGWRD2 # SET NODOFLAG TO PREVENT FURTHER
MASK BIT1 # V 37 ENTRIES.
ADS FLAGWRD2
RELINT
TC POSTJUMP
CADR P62.1
# Page 1068
# INITIALIZE CM/DAP. WAITLIST CALL FOR READGYMB. SET SWITCH CM/DSTBY =1
# SO READACCS WILL ENTER A WTLST CALL FOR SETJTAG .
@ -237,17 +237,17 @@ NOTYET CA .5SEC
CM/DAPIC CA EBAOG
TS EBANK
INHINT
CM/DAP2C CS PIPTIME +1
# PRIO OF P62 L PRIO AVG.:PIPTM=PIPTM1.
TS JETEM
CA POS1/2
AD POS1/2
AD TIME1 # OVFL GUARANTEED
ADS JETEM # C(A) = DELTA TIME SINCE PIPUP
CS FIVE
AD JETEM
CCS A
@ -259,28 +259,28 @@ CM/DAP2C CS PIPTIME +1
TC WAITLIST
EBANK= AOG
2CADR READGYMB
CS CM/SWIC1 # GAMDIFSW, GYMDIFSW, CM/DSTBY
MASK CM/FLAGS # DAPARM, .05GSW, LATSW, ENTRYDSP
AD CM/SWIC2 # SET CM/DSTBY, LATSW
# DISABLE ENTRY DISPLAY, SINCE DES. GIMB.
# CALC. (P62.3) GOES TO ENDEXIT
TS CM/FLAGS
CA 7
TS BETA/180 # NECESSARY: NO OVFL CORRECTIO
CA ONE # INITIALIZE THE TM OF BODY RATES VIA
TS SW/NDX # UPBUFF.
TC 2PHSCHNG # DOES INHINT/RELINT
OCT 40116 # SAVE TBASE6
OCT 05024
OCT 13000
TC POSTJUMP
# Page 1069
CADR P62.2
CM/SWIC1 OCT 16017
CM/SWIC2 = TEN # 00012: CM/DSTBY, LATSW
-CDUT+1 OCT 77766
@ -301,29 +301,29 @@ T5IDLER1 2CADR T5IDLOC
BANK 15
SETLOC ETRYDAP
BANK
COUNT 15/DAPEN
BODYRATE CA AMG # THESE ARE 2'S COMPL NOS, BUT USE ANYWAY.
TC SPCOS
TS COSM
CA AOG # C(AOG) = AOG/180
TC SPSIN # SINO
TS SINO # SINO = SIN(AOG)
EXTEND
MP COSM
TS SINOCOSM # SO CM
CA AOG
TC SPCOS # COSO
TS COSO
EXTEND
MP COSM
TS COSOCOSM # CO CM
# PITCHDOT: Q TCDU/180 = IDOT TCDU/180 COSO COSM + MDOT TCDU/180 SINO
CS -DELAMG
@ -338,7 +338,7 @@ BODYRATE CA AMG # THESE ARE 2'S COMPL NOS, BUT USE ANYWAY.
XCH OLDELQ
TC RATEAVG
TS QREL # PITCHDOT = Q TCDU/180
# Page 1071
# YAWDOT: R TCDU/180 = -IDOT TCDU/180 COSM SINO + MDOT TCDU/180 COSO
@ -354,13 +354,13 @@ BODYRATE CA AMG # THESE ARE 2'S COMPL NOS, BUT USE ANYWAY.
XCH OLDELR
TC RATEAVG
TS RREL # YAWDOT = R TCDU/180
# ROLLDOT: P TCDU/180 = ODOT TCDU/180 + IDOT TCDU/180 SINM
CA AMG
TC SPSIN
TS SINM
EXTEND
MP -DELAIG
TS JETEM
@ -373,9 +373,9 @@ BODYRATE CA AMG # THESE ARE 2'S COMPL NOS, BUT USE ANYWAY.
XCH OLDELP
TC RATEAVG
TS PREL # ROLLDOT = P TCDU/180
# IF GAMDOT < 0.5 DEG/SEC, THEN GAMDOT =0
CCS GAMDOT
TC +2
TC NOGAMDUT
@ -387,7 +387,7 @@ BODYRATE CA AMG # THESE ARE 2'S COMPL NOS, BUT USE ANYWAY.
EXTEND
MP SINTRIM # SIN(-20) (FOR NOMINAL L/D = .3)
ADS PREL # PREL TCDU/180=(P-SALF SR GAMDOT)TCDU/180
CA ROLL/180
TC SPCOS
# Page 1072
@ -395,12 +395,12 @@ BODYRATE CA AMG # THESE ARE 2'S COMPL NOS, BUT USE ANYWAY.
EXTEND
MP GAMDOT
ADS QREL # QREL TCDU/180=(Q-CR GAMDOT) TCDU/180
CS JETEM +1 # B( ) = -SR GAMDOT
EXTEND
MP COSTRIM # COS(-20) (FOR NOMINAL L/D = .3)
ADS RREL # RREL TCDU/180=(R+CALF SR GAMDOT)TCDU/180
NOGAMDUT CA BIT12 # CMDAPARM = 93D BIT 12
MASK CM/FLAGS
EXTEND
@ -408,14 +408,14 @@ STBYDUMP BZF TASKOVER # DAP NOT ARMED.
CA POSMAX # PICK UP AT ATTRATES IN 10 MS OR SO.
TS TIME5
EXTEND
DCA ATDOTCAD
DXCH T5LOC
# DOES NOT PROTECT TEMK, SQ IN SPSIN/COS
TC TASKOVER
EBANK= AOG
ATDOTCAD 2CADR ATTRATES
@ -433,7 +433,7 @@ ATTRATES LXCH BANKRUPT # CONTINUE HERE VIA T5
DOUBLE
TS CM/SAVE
# DOES NOT PROTECT TEMK, SQ IN SPSIN/COS
CA QREL
AD ALFA/180
TC ANGOVCOR
@ -441,28 +441,28 @@ ATTRATES LXCH BANKRUPT # CONTINUE HERE VIA T5
TC SPCOS
TS CALFA # CALFA
TS PHIDOT
EXTEND
MP PREL
XCH PHIDOT # CA PREL
EXTEND
MP RREL # CA RREL
TS BETADOT
CA ALFA/180
TC SPSIN
TS SALFA # SIN(ALFA)
EXTEND
MP RREL # SA RREL
ADS PHIDOT # CB PHIDOT, SAVED.
CS SALFA
EXTEND
MP PREL
ADS BETADOT # SAVE BETADOT TCDU/180
ADS BETA/180 # BETA DONE.
TC SPSIN
EXTEND
MP PHIDOT # NEGLECT CB IN CB PHIDOT
@ -475,13 +475,13 @@ ATTRATES LXCH BANKRUPT # CONTINUE HERE VIA T5
TC ANGOVCOR # JUST IN CASE ...
TS AK1
TS QAXERR # FOR PITCH FDAI AND EDIT.
CA PHIDOT # PHIDOT TCDU/180, NEGLECTING CB
AD ROLL/180
TC ANGOVCOR
TS ROLLTM # ROLL/180 FOR TM.
TS ROLL/180 # ROLL DONE.
# START YAW AUTOPILOT HERE. RATE DAMPING WITH ENFORCED COORDINATED ROLL MANEUVER.
CS BETA/180 # IF IN ATM, SAVE 'RAXERR' FOR TM DNLST.
@ -490,17 +490,17 @@ ATTRATES LXCH BANKRUPT # CONTINUE HERE VIA T5
# AS A TEMPORARY. (DAP OPERATION IS IN INTERRUPT, SO
# IS OK.) FINAL C(RAXERR) AT END OF DAP CYCLE WILL
# BE R-AXIS ERROR.
CA BIT3 # .05GSW = 102D BIT3 SW=0, LESS .05G
MASK CM/FLAGS # SWITCH =1, GREATER THAN .05 G
EXTEND
BZF EXDAP # IF G LESS THAN .05
CS ONE # IF G GEQ THAN .05
TS CMDAPMOD # SAVE -1 FOR USE IN CM/RCS
TS AK1 # TO ZERO PITCH AND YAW FDAI NEEDLES
TS AK2 # IN ATM. (MODE =-1)
CS PREL # YAW ERROR = RREL - PREL TAN(ALFA)
EXTEND
MP SINTRIM # LET SIN(-20) BE APPROX FOR TAN(-20)
@ -508,9 +508,9 @@ ATTRATES LXCH BANKRUPT # CONTINUE HERE VIA T5
TC 2D/SDZ # GO TEST DZ. GET TAG: +0 IF IN DZ
INDEX A # +/- 1 IF NOT
CAF YJETCODE
TS JETEM
# START PITCH AUTOPILOT HERE. RATE DAMPING ONLY.
CA QREL
@ -518,11 +518,11 @@ ATTRATES LXCH BANKRUPT # CONTINUE HERE VIA T5
EXDAPIN INDEX A # COME HERE FROM EX ATM DAP
CAF P/RJCODE
ADS JETEM # COMBINE ALL NEW BITS.
EXTEND # DOES NOT REQUIRE SAVING OLD CODES.
# Page 1075
# Page 1075
WRITE PYJETS # SET PYCHAN TO DESIRED BIT CONFIG.
CCS JETAG
TC CM/RCS
TC CM/FDAI
@ -536,7 +536,7 @@ EXDAPIN INDEX A # COME HERE FROM EX ATM DAP
TCF DZCOM
AD YAWLIM
TCF DZNOCOM
# BIASED DZ FOR EXT ATM DAP.
BIASEDZ TS JETEM2 # SAVE RATE/180. ERROR/180 IS IN L.
CCS A # START ERROR DZ.
@ -555,7 +555,7 @@ BIASEDZ TS JETEM2 # SAVE RATE/180. ERROR/180 IS IN L.
TCF +2 # RATE OK. CONTINUE
ZL # RATE GEQ 4 D/S. OVER RIDE ERROR BIT
XCH JETEM2 # AND CONTINUE TO GET SIGN.
2D/SDZ CCS A # COME HERE TO TEST IF A WITHIN 2DEG/S DZ
AD YDOTLIM # 1.0 - YDOT DZ (OR PDOT)
TCF +3
@ -564,7 +564,7 @@ DZCOM COM
DZNOCOM TS JETEM +1 # GENERATE TAG, SET C(A)= -+1 OUTSIDE DZ
CA ZERO # SET C(A) = +0 INSIDE
TC Q
# Page 1077
# EXTRA ATMOSPHERIC DIGITAL AUTOPILOT
#
@ -598,7 +598,7 @@ EXDAP TS CMDAPMOD # +0 FOR NOW
AD C45LIM
TS A
TCF EXDAP2 # HERE IF ABS(CALFA) L COS(45)
CCS CALFA # |CALFA| > 0.707
TCF +1 # CONTINUE IF POS; GO TO EXDAP4 IF NEG.
@ -614,10 +614,10 @@ EXDAP TS CMDAPMOD # +0 FOR NOW
TC WAITLIST
EBANK= AOG
2CADR WAKEP62 # CALL TO TERMINATE P62 IN N SEC.
# Page 1078
# Page 1078
# 65 DEG/ 3DEG/SEC = 21 SEC NOMINAL
# TRANSIT TIME FROM ALFA=45 TO ALFA TRIM.
EXDAP4 CCS JETAG # ROLLJET INTERFACE TEST BETWEEN .1 SEC
TCF EXDAP3 # DAP AND THE 2 SEC CM/RCS DAP
TCF EXDAP3
@ -625,7 +625,7 @@ EXDAP4 CCS JETAG # ROLLJET INTERFACE TEST BETWEEN .1 SEC
EXTEND # TURN OFF ROLL JETS IF ON AND WAIT
WRITE ROLLJETS # UNTIL START OF 2 SEC CM/RCS CYCLE
TS JETAG # RESTORE PROPER VALUE +0
# ROLL FDAI WILL BE IN ERROR UNTIL NEXT CM/RCS CALL.
EXDAP3 CCS CALFA # HERE IF ABS(CALFA) GEQ COS(45)
CA RAXERR # C()= BETACOM - BETA/180
@ -648,7 +648,7 @@ EXDAP1 TS RAXERR # FOR YAW FDAI
INDEX A
CAF YJETCODE
TS JETEM
CA QAXERR # ALFA ERROR.
TS L
CA QREL # FOR ALPHADOT USE QREL
@ -656,18 +656,18 @@ EXDAP1 TS RAXERR # FOR YAW FDAI
EXTEND
ROR LCHAN
TCF EXDAPIN # CONTINUE ON IN DAP
EXDAP2 INCR CMDAPMOD # SET CMDAPMOD TO +1
CS ONE # INDICATE CHANGE FROM .1 SEC UPDATE TO
TS JETAG # TO 2 SEC FOR ROLL JETS. (IF CMDAPMOD
# =0 AND JETAG =-1, QUENCHES JETS IF ON)
CCS P63FLAG # IF FLAG WAS +1, SET =0.
TS P63FLAG
# Page 1079
# Page 1079
NOOP
CCS SALFA # BETA CONTROL WITH P JETS
CS RAXERR # B()= BETACOM - BETA/180
TCF +2
@ -688,7 +688,7 @@ EXDAP2 INCR CMDAPMOD # SET CMDAPMOD TO +1
CAF P/RJCODE # GET ROLL CODE
EXTEND # ROLL CONTROL WITH YAW JETS.
WRITE ROLLJETS # WE'LL SKIP REGULAR ROLL SYST
CA ROLLHOLD # ROLL/180 AT CM/DAPON TIME.
EXTEND
MSU ROLL/180 # 1'S COMPL, BUT SO WHAT'S A BIT?
@ -698,13 +698,13 @@ EXDAP2 INCR CMDAPMOD # SET CMDAPMOD TO +1
TC EXDAP1
CS L
TC EXDAP1
NSEC DEC 2100 # 65 DEG/ 3 DEG/SEC
# IF NSEC IS CHANGED, REMEMBER TO CHANGE 4.33SPOT.
4D/SLIM DEC 16348 # 1.0 -4/180 D/S = 4/1800 EXP 14
YDOTLIM DEC 16366 # =1.0 - YDOT DZ= 16384 -18
# YDOT DZ = YDOT TCDU/180 = 2/1800 EXP 14
CM/BIAS DEC 55 # =.6/180 B14 = 55
YAWLIM DEC 16055 # YAWLIM=1.0-3.6/180=16384-329=16055
C45LIM DEC .29289 # =1.0-COS(45)
@ -723,9 +723,9 @@ COSTRIM DEC .93969 # COS(-20) (FOR NOMINAL L/D = .3)
YJETCODE OCTAL 00000 # RCS JET BITS
OCTAL 00240 # NEG Y
OCTAL 00005 # POS R JET BITS ALSO POS P JET BITS
P/RJCODE OCTAL 00000
P/RJCODE OCTAL 00000
OCTAL 00012 # NEG R ALSO NEG P
# Page 1081
# RCS THIS SECTION IS ENTERED EACH 2 SEC BY WAITLIST CALL FOLLOWING A DELAY OF 1.2 SEC AFTER PIPUP.
# THE TASK SETJTAG SETS A FLAG IN JETAG TO SIGNIFY THAT ROLL UPDATE IS DUE. IN ROUGHLY 5 CS BPDYRATE WILL BE
@ -740,9 +740,9 @@ SETJTAG CS TIME1 # SAVE NOMINAL UPDATE TIME FOR SYNCH
TS JETAG # SET JETAG=1 TO CAUSE CM/RCS TO BE
TC PHASCHNG
OCT 00001
TC TASKOVER # EXECUTED AFTER NEXT BODYRATE UPDATE
# PREDICTIVE ROLL SYSTEM ENTRY STEERING PROVIDES ROLL COMMAND IN LOC ROLLC. THE FOLLOWING CALCULATES THE
# TRAJECTORY TO THE ORIGIN IN PHASE PLANE (X,V). PROGRAM ENTERS JET ON AND OFF CALLS INTO WTLST TO PRODUCE
# THE DESIRED TRAJECTORY. ONLY THOSE CALLS WHICH CAN BE EXECUTED WITHIN THE INTERVAL T (2 SEC) ARE ENTERED IN
@ -754,19 +754,19 @@ HALFPR EQUALS NEG1/2 +1
# ROLL DAP CALLED. IN EVENT OF RESTART, BODYRATE
# MAY MISS A CYCLE. CM/RCS WILL MISS A CYCLE ONLY
# IF A RESTART OCCURS AFTER TIMETST COMMENCES.
CM/RCS CS ONE
TS JNDX # SET NDX FOR POS ROLL, AND CHANGE LATER
CS 2T/TCDU # ROLLDOT = DELAOG + DELAIG SINM =DELR
EXTEND
MP PREL # DELR/180 = RDOT TCDU/180 = RDOT/1800
AD L # -2 RDOT T/180 IN L
TS -VT/180 # SAVE -2VT/180 HERE
CS ROLL/180
TS SR # SAVE (-R/180) /2
CS CM/FLAGS
MASK BIT4 # LATSW = 101D BIT4
EXTEND # ROLL OVER TOP $
@ -776,19 +776,19 @@ CM/RCS CS ONE
AD SR # -(R/180) /2
XCH LCX/360 # DIFFERENT X REQD HERE. DISCONT AT 180.
TCF COMPAT # POSSIBLE OVFL ABOVE.
# Page 1082
GETLCX CA POS1/2 # FORM RCOM/360
DOUBLE
AD ROLLC
XCH LCX/360 # IGNORE POSSIBLE OVFL.
CA SR # FORM -R/360
AD NEG1/2
AD NEG1/2 # IGNORE OVFL
XCH LCX/360 # -R/360
ADS LCX/360 # LCX/360 = RCOM/360 - R/360 RANGE (-1,1)
# DOES SGN(-VT) (VT/180) (VT/180) (180/(4 A1 TT COSALFA)) + X/360 + SGN(X) / 2 OVFL ?
CCS -VT/180 # TAKE SHORTEST ANGULAR PATH
@ -814,12 +814,12 @@ TRTAGXPI INDEX A # NO, SHIFT X BY - SGN(X) 2 PI
CS HALFPR # +A YIELDS -1/2
DOUBLE
ADS LCX/360
COMPAT CA LCX/360 # CORRECT FOR ASSUMED COORD TURN.
EXTEND
MP CALFA # COS ALFA
TS LCX/360 # SCALED LCX OK HERE.
CCS CMDAPMOD # FOUR POSSIBILITIES HERE
TC DZCALL1 # EXIT, SETTING JETAG=0. (C(A)=0)
# ALL 3 AXES ALREADY DONE.
@ -839,7 +839,7 @@ COMPAT CA LCX/360 # CORRECT FOR ASSUMED COORD TURN.
EXTEND
MP 180/8ATT
TS VSQ/4API
# IS SGN(VT) ( (180/4A1 TT) VT/180 VT/180 - .5 BUFLIM/360 ) -X/360 -.5 BUFLIM/360 POS?
WHICHALF DOUBLE # FOR SECOND BURN, A1
@ -854,7 +854,7 @@ WHICHALF DOUBLE # FOR SECOND BURN, A1
AD BUFLIM
EXTEND
BZMF REFLECT # POINT (X,V) IN LHP.
# IS SGN(VT) ( (180/4A1 TT) VT/180 VT/180 - .5 BUFLIM/360 ) -X/360 + .5 BUFLIM/360 NEG?
COM
@ -862,20 +862,20 @@ WHICHALF DOUBLE # FOR SECOND BURN, A1
AD BUFLIM
EXTEND
BZMF DZ1 # POINT (X,V) IN RHP
# IS POINT WITHIN VELOCITY DZ?
CS VSQMIN # IS VSQ/4API - (VSQ/4API) MIN NEG?
AD VSQ/4API
EXTEND
BZMF DZCALL # YES.
# POINT IS IN BUFFER ZONE. THRUST TO X AXIS.
CS JNDX
TS JNDX1
TC OVRLINE1
REFLECT CS -VT/180 # RELFECT LHP INTO RHP REL TO TERM CONTR
TS -VT/180
TS SR # -VT/360 SAVED FOR DZ.
@ -884,7 +884,7 @@ REFLECT CS -VT/180 # RELFECT LHP INTO RHP REL TO TERM CONTR
TS LCX/360
CS JNDX
TS JNDX
# IS VSQ/4API - (VSQ/4API) MIN NEG?
DZ1 CS VSQMIN # IS VSQ/4API - (VSQ/4API) MIN NEG $
@ -892,7 +892,7 @@ DZ1 CS VSQMIN # IS VSQ/4API - (VSQ/4API) MIN NEG $
EXTEND
BZMF DZ2 # YES, GO TEST FURTHER.
TCF MAXVTEST # NO
# IS X/360 - XMIN/360 -VT/360 NEG?
DZ2 CS XMIN/360 # XMIN/360 = 4/360
@ -900,7 +900,7 @@ DZ2 CS XMIN/360 # XMIN/360 = 4/360
AD SR # C(SR) = -VT/360
EXTEND # IS X/360 - XMIN/360 -VT/360 NEG $
BZMF DZCALL # YES, IN DZ. EXIT SETTING JETAG=0.
# IS XD/360 - VM/360K - XS/360 POS?
MAXVTEST CS JNDX
@ -918,7 +918,7 @@ MAXVTEST CS JNDX
EXTEND
MP KTRCS
DDOUBL # GO SAVE PREDICTED DRIFTING VELOCITY.
TC GETON1 # INSURE THAT Q IS POS AS TAG.
MAXVTIM1 EXTEND
ZQ # SET +Q AS TAG
@ -933,14 +933,14 @@ GETON1 TS VDT/180 # VDT/180 OR VMT/180
EXTEND
BZMF OVRLINE
TC GETON2 # RESET Q POS IF CAME FROM MAXVTIM1
OVRLINE CCS Q
TCF OVRLINE1
MAXVTIM2 CA JNDX1 # ABOVE VM, SO THRUST DOWN
TS JNDX
CS TON1
TCF OVRLINE2 +1
OVRLINE1 CS -VT/180 # DRIFT AT V
TS VDT/180
OVRLINE2 CA ZERO
@ -951,14 +951,14 @@ GETON2 CA VDT/180 # VDT/180, OR VMT/180 OR VT/180
MP 180/8ATT
DOUBLE # FOR SECOND BURN, A1
TS TON2 # = TON2 / 4T
COM
EXTEND
BZMF GETOFF
TS TON2
CA JNDX
TS JNDX1
GETOFF CS TON2 # TON2 / 4T
EXTEND
MP VDT/180 # VDT/180, OR VT/180, OR VMT/180.
@ -977,7 +977,7 @@ GETOFF CS TON2 # TON2 / 4T
DV VDT/180
EXTEND
BZF GETOFF2 # DIVIDE OK
TOFFOVFL CA 2JETT # OVFL, USE 2T FOR CONVENIENCE.
TCF TIMSCAL
@ -993,19 +993,19 @@ TIMSCAL TS TOFF # IN CS
EXTEND
MP TON1 # C(TON1) = TON1 / 4T
TS TON1 # IN CS
CAF 4JETT
EXTEND
MP TON2 # C(TON2) = TON2 / 4T
TS TON2 # IN CS
CA ZERO # CANNOT REDO AFTER TIMETST. TUSED GONE
TS JETAG # SET +0 TO SHOW ROLL DAP CALLED.
# CAUSE THE TM OF BODY RATES VIA UPBUFF TO BE
# INITIALIZED. ALSO CAUSE NEEDLES TO BE DONE ON EXIT
# AND ON ALTERNATE PASSES THROUGH CM/DUMPR.
CA ONE
TS SW/NDX
@ -1024,11 +1024,11 @@ TIMETST CA TIME1 # CORRECT FOR POSSIBLE TIME1 OVFL.
AD POS1/2
AD POS1/2 # OVFL GUARANTEED.
ADS TUSED # B(TUSED) =-TUSED =-OLTIME1
CA -T-3 # =-T +2 -5 (SEE SETJTAG)
# THE +2 REQUIRED FOR PROPER BRANCH.
ADS TUSED # TUSED = TIME(K)-TIME(K-1)-T+2
CS TWO # USE 2 SINCE TIME3 UNCERTAIN TO 1
AD TON1
EXTEND
@ -1036,7 +1036,7 @@ TIMETST CA TIME1 # CORRECT FOR POSSIBLE TIME1 OVFL.
INDEX JNDX
CAF P/RJCODE
TS T1BITS
CA TON1
ADS TUSED
EXTEND
@ -1076,11 +1076,11 @@ TIMETST3 TS TON1
TIMETST4 TS TOFF
TIMETST5 CS ONE
TS TON2
# SECTION JETCALL EXAMINES CONTENTS OF JET TIMES IN LIST, ESTABLISHES WTLST ENTRIES, AND EXECUTES CORRESPONDING
# JET CODES. A POSITIVE NZ NUMBER IN A TIME REGISTER INDICATES THAT A WTLST CALL IS TO BE MADE, AND ITS JET BITS
# EXECUTED. A +0 INDICATES THAT THE TIME INTERVAL DOES NOT APPLY, BUT THE CORRESPONDING JET BITS ARE TO BE
# EXECUTED. A NEG NUMBER INDICATES THAT THE TIME INTERVAL HAS BEEN PROCESSED. IN EVENT OF +0 OR -1, THE
# EXECUTED. A NEG NUMBER INDICATES THAT THE TIME INTERVAL HAS BEEN PROCESSED. IN EVENT OF +0 OR -1, THE
# SUBSEQUENT TIME REGISTER IS EXAMINED FOR POSSIBLE ACTION. THUS JET BITS TO BE EXECUTED MAY COME FROM MORE
# THAN ONE REGISTER.
@ -1110,18 +1110,18 @@ JETCALL2 XCH L # SAVE JET BITS FOR AFTER WTLST CALL
TC WAITLIST
EBANK= AOG
2CADR JETCALL
JETACTN CA NUJET # COME HERE WHEN DESIRED JET CODE IS KNOWN
# Page 1089
EXTEND # NO NEED TO SAVE OLD CODES
WRITE ROLLJETS # SET RCHAN TO NEW BIT CONFIG.
CCS OUTTAG
TC TASKOVER
ROLLDUMP TC CM/FDAIR
# EDIT DUMP AT ABOVE LOCATION.
# WAITLIST ENTRIES COME HERE.
JETCALL CAF BIT2 # CM/DSTBY =103D BIT2
@ -1131,7 +1131,7 @@ JETCALL CAF BIT2 # CM/DSTBY =103D BIT2
BZF JETACTN +1 # YES, QUENCH ROLL JETS, IF ON AND EXIT.
ZL # NO, CONTINUE.
TCF JETCALL3 # C(A) POS, C(L) = +0
# DEAD ZONE ENTRIES COME HERE.
DZCALL CS CMDAPMOD # POSSIBLE VALUES OF CMDAPMOD: -1, +0, -0.
@ -1145,7 +1145,7 @@ DZCALL CS CMDAPMOD # POSSIBLE VALUES OF CMDAPMOD: -1, +0, -0.
TC ANGOVCOR # C(A)=ROLL/180 OR 2 ROLLC.
TS ROLLHOLD # IF CMDAPMOD =-0, SAVE ROLL ANGLE.
# OTHERWISE, SAVE ROLL COMMAND.
CA ZERO # COME HERE IF IN DZ, AND CANCEL JETS.
EXTEND # INHINT NOT NEEDED HERE.
WRITE ROLLJETS # TURN OFF ALL ROLL JETS.
@ -1173,33 +1173,33 @@ CM/FDAI CS PHIDOT # INTEGRATE ROLL ERROR 'TWEEN 2SEC UPDATES
EXTEND
MP HALF
ADS PAXERR1 # ROLL ERROR/360. OVFL OK.
# EDIT DUMP AT ABOVE LOCATION.
CM/FDAIR CA HALF
EXTEND
MP PAXERR1 # FULL SCALE FOR FDAI (ROLL) IS 67.5 D
TS PAXERR # .25 (ROLL ERROR/180) FOR FDAI NEEDLE.
# PROGRAM TO FILE BODY RATES FOR TM ON ONE PASS AND
# TO UPDATE THE NEEDLE DISPLAY ON THE NEXT.
# SYNCHRONIZATION WITH CM/RCS IS USED SO THAT THE TM
# IS DONE WITH THE ROLL SYSTEM AND NEEDLES START ON
# THE SUBSEQUENT PASS.
CM/DUMPR CS SW/NDX # COMBINED ALTERNATION SWITCH AND FILE
TS SW/NDX
EXTEND # INDEX
BZMF CMTMFILE # FILE STARTS WITH SW/NDX +1 AND GOES TO
# ENDBUF.
# ENDBUF.
# INDEX IS POS FOR NEEDLES.
TC IBNKCALL
CADR NEEDLER
TC CM/END
# INDEX IS NEG FOR TM FILE
CMTMFILE AD THREE
EXTEND
BZMF SAVENDX
@ -1216,16 +1216,16 @@ SAVENDX TS SW/NDX # A NEGATIVE NUMBER.
CA RREL
INDEX SW/NDX
TS ENDBUF +1
CM/END CA CM/SAVE
TS SR
# DOES NOT PROTECT TEMK, SQ IN SPSIN/COS
EXTEND
DCA T5IDLER2
DXCH T5LOC
TC RESUME
EBANK= T5LOC
T5IDLER2 2CADR T5IDLOC
@ -1241,7 +1241,7 @@ T5IDLER2 2CADR T5IDLOC
# Q PITCH RATE
# R YAW RATE
# ETC.
#CMTMTIME = UPBUFF
#SW/NDX = UPBUFF +1
#ENDBUF = UPBUFF +16D
@ -1249,7 +1249,7 @@ T5IDLER2 2CADR T5IDLOC
# Page 1092
# SPACER
#
# CONSTANTS USED IN THE ROLL CONTROL SYSTEM:
# CONSTANTS USED IN THE ROLL CONTROL SYSTEM:
# CONSTANTS ARE THE FOLLOWING: A = 9.1 DEG/SECSQ, VM = 20 DEG/SEC, T = 2 SEC, TCDU = .1 SEC,
# XMIN = 4 DEG, VMIN = 2 DEG/SEC, K = .25, A1 = 4.55 DEG/SECSQ, VI = 1 DEG/SEC, INTERCEPT WITH DZ SIDE
# XBUF = 4DEG

118
Comanche055/CONIC_SUBROUTINES.agc

@ -9,7 +9,7 @@
# Pages: 1262-1308
# Mod history: 2009-05-08 RSB Adapted from the Colossus249/ file of the
# same name, using Comanche055 page images.
# 2009-05-20 RSB Corrected: Fixed four interpreter
# 2009-05-20 RSB Corrected: Fixed four interpreter
# instructions.
#
# This source code has been transcribed or otherwise adapted from digitized
@ -18,13 +18,13 @@
# thanks to both. The images (with suitable reduction in storage size and
# consequent reduction in image quality as well) are available online at
# www.ibiblio.org/apollo. If for some reason you find that the images are
# illegible, contact me at info@sandroid.org about getting access to the
# illegible, contact me at info@sandroid.org about getting access to the
# (much) higher-quality images which Paul actually created.
#
# Notations on the hardcopy document read, in part:
#
# Assemble revision 055 of AGC program Comanche by NASA
# 2021113-051. 10:28 APR. 1, 1969
# 2021113-051. 10:28 APR. 1, 1969
#
# This AGC program shall also be referred to as
# Colossus 2A
@ -77,7 +77,7 @@
# IF A NEGATIVE TIME-OF-FLIGHT IS INPUT, THE PROGRAM WILL SOLVE FOR THE STATE WHICH WOULD BE PRODUCED BY
# EXTRAPOLATING THE POSITION BACKWARD IN TIME.
#
# IF THE ABSOLUTE VALUE DESIRED TRANSFER TIME EXCEEDS THE ORBITAL PERIOD, THE SUBROUTINE, THROUGH A
# IF THE ABSOLUTE VALUE DESIRED TRANSFER TIME EXCEEDS THE ORBITAL PERIOD, THE SUBROUTINE, THROUGH A
# MODULAR TECHNIQUE, WILL COMPUTE THE STATE CORRESPONDING TO THE DESIRED TIME AS USUAL.
#
# THE RESTRICTIONS ARE --
@ -581,7 +581,7 @@
BANK
COUNT 12/CONIC
EBANK= UR1
KEPLERN SETPD BOV
0
@ -602,7 +602,7 @@ KEPLERN SETPD BOV
DMP SL1R
1/ROOTMU # 1/ROOTMU (-17 OR -14)
STOVL KEPC1 # C1=R.V/ROOTMU (+17 OR +16)
VRECT
VSQ DMPR