Source Code
![]() |
These source code files have been transcribed or otherwise adapted from
digitized images of a hardcopy from the private collection of
Don Eyles. The digitization was performed by archive.org, and
transcription was performed by a team of volunteers.
Note that the page images
presented online are of reduced quality, and that the original
high-quality images are available at archive.org.
Report any conversion errors or legibility problems in page images to info@sandroid.org.
Notations on the program listing read, in part:473423A YUL SYSTEM FOR BLK2: REVISION 12 of PROGRAM AURORA BY DAP GROUP NOV 10, 1966Note that the date is the date of the printout, not the date of the program revision. |
027079,000002: ## Copyright: Public domain.
027080,000003: ## Filename: AOSTASK.agc
027081,000004: ## Purpose: Part of the source code for Aurora (revision 12).
027082,000005: ## Assembler: yaYUL
027083,000006: ## Contact: Ron Burkey <info@sandroid.org>.
027084,000007: ## Website: https://www.ibiblio.org/apollo.
027085,000008: ## Pages: 0630-0634
027086,000009: ## Mod history: 2016-09-20 JL Created.
027087,000010: ## 2016-09-22 OH Initial Transcription
027088,000011: ## 2016-10-05 HG Add missing TS ITEMP1
027089,000012: ## Add missing page 634.
027090,000013: ## use new formatting
027091,000014: ## 2016-12-08 RSB Proofed comments with octopus/ProoferComments
027092,000015: ## and fixed the errors found.
027093,000016:
027094,000017: ## This source code has been transcribed or otherwise adapted from
027095,000018: ## digitized images of a hardcopy from the private collection of
027096,000019: ## Don Eyles. The digitization was performed by archive.org.
027097,000020:
027098,000021: ## Notations on the hardcopy document read, in part:
027099,000022:
027100,000023: ## 473423A YUL SYSTEM FOR BLK2: REVISION 12 of PROGRAM AURORA BY DAP GROUP
027101,000024: ## NOV 10, 1966
027102,000025:
027103,000026: ## [Note that this is the date the hardcopy was made, not the
027104,000027: ## date of the program revision or the assembly.]
027105,000028:
027106,000029: ## The scan images (with suitable reduction in storage size and consequent
027107,000030: ## reduction in image quality) are available online at
027108,000031: ## https://www.ibiblio.org/apollo.
027109,000032: ## The original high-quality digital images are available at archive.org:
027110,000033: ## https://archive.org/details/aurora00dapg
027111,000034:
![]() |
Page 0630 |
027113,000036: 25,3064 BANK 25
027114,000037: 25,3064 E6,1634 EBANK= AOSQ
027115,000038:
027116,000039: 25,3064 37650 AOSTASK CAF BIT8 # TEST POWERED ASCENT FLAG (BIT8/DAPBOOLS)
027117,000040: 25,3065 70765 MASK DAPBOOLS # 0- NOT POWERED ASCENT
027118,000041: 25,3066 00006 EXTEND # 1- POWERED ASCENT
027119,000042: 25,3067 13325 BZF COASTASC # END CYCLE OF TASKS DURING ASCENT COAST
027120,000043:
027121,000044: 25,3070 31671 CAE KCOEFCTR # TEST KCOEFCTR FOR INITIAL PASS
027122,000045: 25,3071 00006 EXTEND
027123,000046: 25,3072 13275 BZF ZEROCOEF # DISCONTINUITY SECTION FOR COEFFA
027124,000047:
027125,000048: 25,3073 63367 AD DEC-399 # TEST KCOEFCTR FOR CONSTANT RANGE
027126,000049: 25,3074 00006 EXTEND # ON BOTH K AND COEFFA
027127,000050: 25,3075 63077 BZMF +2
027128,000051: 25,3076 13301 TCF KONENOW
027129,000052:
027130,000053: 25,3077 33410 CAF 0.00125 # COEFFA = 0.00125(T) + 0.25
027131,000054: 25,3100 00006 EXTEND
027132,000055: 25,3101 71671 MP KCOEFCTR
027133,000056: 25,3102 37643 CAF BIT13
027134,000057: 25,3103 60001 AD L
027135,000058: 25,3104 54066 COEFFA TS ITEMP2
027136,000059:
027137,000060: 25,3105 33411 CAF 0.0014 # K = 0.0014(T) + 0.44
027138,000061: 25,3106 00006 EXTEND
027139,000062: 25,3107 71671 MP KCOEFCTR
027140,000063: 25,3110 33412 CAF 0.44
027141,000064: 25,3111 60001 AD L
027142,000065: 25,3112 54065 TS ITEMP1
027143,000066: 25,3113 40000 COM # (1-K),QR SCALED AT 1
027144,000067: 25,3114 67637 AD POSMAX # (1 BIT ERROR DOES NOT COMPOUND)
027145,000068: 25,3115 55657 TS (1-K)QR
027146,000069:
027147,000070: 25,3116 00006 EXTEND # (1-K)/8 IS (1-K) SCALED AT 8
027148,000071: 25,3117 77644 MP BIT12
027149,000072: 25,3120 55660 TS (1-K)/8
027150,000073:
027151,000074: 25,3121 30065 CAE ITEMP1 # WFORQR = K/DT SCALED AT 16
027152,000075: 25,3122 00006 EXTEND
027153,000076: 25,3123 73403 MP 10AT16WL # DT = .1 SECS
027154,000077: 25,3124 55656 TS WFORQR
027155,000078:
027156,000079: 25,3125 40065 CS ITEMP1 # FORM (.1-.05K) FROM K SCALED AT 1
027157,000080: 25,3126 00006 EXTEND # WHICH IS USED AS IS BUT SINCE THESUM
027158,000081: 25,3127 73375 MP .05AT.5 # IS TO BE SCALED AT 1/2, THE TWO
027159,000082: 25,3130 63376 AD .1AT.5 # CONSTANTS REFLECT THAT SCALE FACTOR
027160,000083: 25,3131 54065 TS ITEMP1
027161,000084:
027162,000085: 25,3132 30066 COEFFA1 CAE ITEMP2 # FORM COEFFA(AOSQ)
027163,000086: 25,3133 00006 EXTEND
027164,000087:
![]() |
Page 0631 |
027166,000089:
027167,000090: 25,3134 71634 MP AOSQ
027168,000091: 25,3135 55634 TS AOSQ # FIRST TERM OF NEW AOSQ, SCALED AT PI/2
027169,000092:
027170,000093: 25,3136 30066 CAE ITEMP2 # FORM COEFFA(AOSR)
027171,000094: 25,3137 00006 EXTEND
027172,000095: 25,3140 71635 MP AOSR
027173,000096: 25,3141 55635 TS AOSR # FIRST TERM OF NEW AOSR, SCALED AT PI/2
027174,000097:
![]() |
Next 5 lines were marked with a pencil as if they are highlighted |
027176,000099: 25,3142 40066 CS ITEMP2 # FORM .5(1-COEFFA) SCALED AT 2
027177,000100: 25,3143 00006 EXTEND # FROM COEFFA SCALED AT 1 WHICH IS THE
027178,000101: 25,3144 77643 MP BIT13 # SAME AS 2(COEFFA) SCALED AT 2
027179,000102: 25,3145 67643 AD BIT13 # SO MULTIPLY BY 1/4 TO GET .5(COEFFA)
027180,000103: 25,3146 54066 TS ITEMP2 # AND 1/4 IS 1/2 WHEN SCALED AT 2
![]() |
End marked lines |
027182,000105:
027183,000106: 25,3147 41417 CS OMEGAQ # SAVE PRESENT OMEGAQ FOR NEXT PASS
027184,000107: 25,3150 57644 XCH OLDWFORQ # GET -(LAST OMEGAQ)
027185,000108: 25,3151 00006 EXTEND
027186,000109: 25,3152 61640 SU SUMRATEQ # FORM- W - W(OLD) - SUMRATE = SUM
027187,000110: 25,3153 61417 AD OMEGAQ # SCALED AT PI/4 RADIANS/SECOND
027188,000111: 25,3154 00006 EXTEND
027189,000112: 25,3155 70066 MP ITEMP2 # AOSQ = COEFFA(AOSQ)+.5(1-COEFFA)(SUM)
027190,000113: 25,3156 27634 ADS AOSQ # SCALED AT PI/2 RADIANS/SECOND(2)
027191,000114:
027192,000115: 25,3157 41421 CS OMEGAR # SAVE PRESENT OMEGAQ FOR NEXT PASS
027193,000116: 25,3160 57645 XCH OLDWFORR # GET -(LAST OMEGAR)
027194,000117: 25,3161 00006 EXTEND
027195,000118: 25,3162 61641 SU SUMRATER # FORM- W - W(OLD) - SUMRATE = SUM
027196,000119: 25,3163 61421 AD OMEGAR # SCALED AT PI/4 RADIANS/SECOND
027197,000120: 25,3164 00006 EXTEND
027198,000121: 25,3165 70066 MP ITEMP2 # AOSR = COEFFA(AOSR)+.5(1-COEFFA)(SUM)
027199,000122: 25,3166 27635 ADS AOSR # SCALED AT PI/2 RADIANS/SECOND(2)
027200,000123:
027201,000124: 25,3167 30065 CAE ITEMP1
027202,000125: 25,3170 00006 EXTEND # FORM TERM FOR RATE DERIVATION
027203,000126: 25,3171 71634 MP AOSQ # (.1-.05K)AOSQ
027204,000127: 25,3172 55642 TS AOSQTERM # SCALED AT PI/4 RADIANS/SECOND
027205,000128:
027206,000129: 25,3173 30065 CAE ITEMP1
027207,000130: 25,3174 00006 EXTEND # FORM TERM FOR RATE DERIVATION
027208,000131: 25,3175 71635 MP AOSR # (.1-.05K)AOSR
027209,000132: 25,3176 55643 TS AOSRTERM # SCALED AT PI/4 RADIANS/SECOND
027210,000133:
027211,000134: 25,3177 31634 CAE AOSQ # FORM AOS FOR U-AXIS
027212,000135: 25,3200 61635 AD AOSR
027213,000136: 25,3201 00006 EXTEND
027214,000137: 25,3202 73377 MP .707WL
027215,000138: 25,3203 55636 TS AOSU # SCALED AT PI/2 RADIANS/SECOND(2)
027216,000139:
027217,000140: 25,3204 41634 CS AOSQ # FORM AOS FOR V-AXIS
027218,000141: 25,3205 61635 AD AOSR
027219,000142:
![]() |
Page 0632 |
027221,000144: 25,3206 00006 EXTEND
027222,000145: 25,3207 73377 MP .707WL
027223,000146: 25,3210 55637 TS AOSV # SCALED AT PI/2 RADIANS/SECOND(2)
027224,000147:
027225,000148: 25,3211 36165 CAF THREE # SET UP LOOP FOR Q,R,U,V-AXES
027226,000149: 25,3212 54065 TS AXISCNTR
027227,000150:
027228,000151: 25,3213 50065 ALLAXES INDEX AXISCNTR
027229,000152: 25,3214 11634 CCS AOSQ # FORM ABSOLUTE VALUE OF AOS
027230,000153: 25,3215 67657 AD ONE
027231,000154: 25,3216 13220 TCF +2
027232,000155: 25,3217 67657 AD ONE
027233,000156: 25,3220 50065 INDEX AXISCNTR # SAVE IN ITEMP REGISTER (3-6)
027234,000157: 25,3221 54070 TS ABVLAOSQ # SCALED AT PI/2 RADIANS/SECOND(2)
027235,000158: 25,3222 63400 AD -.02R/S2 # -.02 RADIANS/SECOND(2) SCALED AT PI/2
027236,000159: 25,3223 00006 EXTEND
027237,000160: 25,3224 63263 BZMF CONSTMIN # USE 1/(.02) SEC(2)/RAD AS 1/AMIN
027238,000161: 25,3225 63413 AD +.02R/S2
027239,000162: 25,3226 54066 TS ITEMP2
027240,000163: 25,3227 37651 CAF BIT7
027241,000164: 25,3230 22007 ZL # SCALE FACTOR FOR .5ACCMIN.
027242,000165: 25,3231 00006 EXTEND
027243,000166: 25,3232 10066 DV ITEMP2
027244,000167: 25,3233 50065 ACCMINVL INDEX AXISCNTR
027245,000168: 25,3234 55651 TS .5ACCMNQ # SCALED AT 2(+8)/PI
027246,000169:
027247,000170: 25,3235 33400 CAF -.02R/S2 # CALCULATE ONE OF THE FOLLOWING (4) SUMS:
027248,000171: 25,3236 00006 EXTEND # 2JETAC(Q,R)-ABAOS(Q,R)-.02RAD/SEC(2) OR
027249,000172: 25,3237 50065 INDEX AXISCNTR # 1JETAC(U,V)-ABAOS(1,V)-.02RAD/SEC(2)
027250,000173: 25,3240 60070 SU ABVLAOSQ # EACH SUM HAS EACH TERM SCALED AT PI/2
027251,000174: 25,3241 50065 INDEX AXISCNTR # THE "OUTER LOOP" IS DEFINED TO CALCULATE
027252,000175: 25,3242 61630 AD 1JACCQ # THE VALUES 1JACCQ, 1JACCR SCALED AT PI/4
027253,000176: 25,3243 00006 EXTEND # AND 1JACCU, 1JACCV SCALED AT PI/2 WHERE
027254,000177: 25,3244 63265 BZMF DEMANDAC # 1JACCU = 2(.707)(1JACCQ+1JACCR) AND
027255,000178: 25,3245 37665 CAF ZERO # 1JACCV = 2(.707)(1JACCQ+1JACCR)
027256,000179: 25,3246 50065 INDEX AXISCNTR # WHERE THE CALCULATIONS USE THE FACT THAT
027257,000180: 25,3247 55665 TS QMANDACC # 1JACC(Q,R) AT PI/4 = 2JACC(Q,R) AT PI/2
027258,000181: 25,3250 50065 INDEX AXISCNTR # MANDACC(Q,R)=1 MEANS USE 4 JETS, 0 FOR 2
027259,000182: 25,3251 31445 CAE 1/2JTSQ # MANDACC(U,V)=1 MEANS USE 2 JETS, 0 FOR 1
027260,000183: 25,3252 00006 EXTEND
027261,000184: 25,3253 77642 MP BIT14
027262,000185: 25,3254 50065 AXISLOOP INDEX AXISCNTR # SET UP 1/NJTSX TO 1/2JTSX FOR URGENCY
027263,000186: 25,3255 55661 TS 1/NJTSQ # (DOES NOT COUNT FOR U,V-AXES)
027264,000187:
027265,000188: 25,3256 10065 CCS AXISCNTR # DECREMENT LOOP COUNTER AND TEST FOR END
027266,000189: 25,3257 13261 TCF +2
027267,000190: 25,3260 13313 TCF NEXTCALL # FINISHED LOOP
027268,000191:
027269,000192: 25,3261 54065 TS AXISCNTR
027270,000193: 25,3262 13213 TCF ALLAXES # CONTINUE LOOP
027271,000194:
![]() |
Page 0633 |
027273,000196: 25,3263 33402 CONSTMIN CAF AMINCNST # 1/AMIN = 1/(.02) SEC(2)/RAD AT 2(8)/PI
027274,000197: 25,3264 13233 TCF ACCMINVL
027275,000198:
027276,000199: 25,3265 37637 DEMANDAC CAF POSMAX # SET MANDATORY HIGH ACCELERATION FLAG TO
027277,000200: 25,3266 50065 INDEX AXISCNTR # OVER-RIDE 2 JET DECISION FOR Q,R-AXES OR
027278,000201: 25,3267 55665 TS QMANDACC # 2 JET OPTIONAL DECISION FOR U,V-AXES
027279,000202: 25,3270 50065 INDEX AXISCNTR # FORM 1/4JTSX VALUE FOR USE IN URGENCY
027280,000203: 25,3271 31445 CAE 1/2JTSQ # FROM 1/2JTSX
027281,000204: 25,3272 00006 EXTEND # (DOES NOT COUNT FOR U,V-AXES)
027282,000205: 25,3273 77643 MP BIT13
027283,000206: 25,3274 13254 TCF AXISLOOP
027284,000207:
027285,000208: 25,3275 37656 ZEROCOEF CAF TWO # INITIALIZE TIME SETTING
027286,000209: 25,3276 55671 TS KCOEFCTR
027287,000210: 25,3277 37665 CAF ZERO
027288,000211: 25,3300 13104 TCF COEFFA
027289,000212:
027290,000213: 25,3301 37665 KONENOW CAF ZERO # K=1, SO 1-K AT EITHER SCALING IS ZERO
027291,000214: 25,3302 22007 ZL # EXTEND, DCA DPZERO IS FASTER BUT WASTES
027292,000215: 25,3303 53660 DXCH (1-K)QR # STORAGE IN SWITCHED FIXED UNLESS IN FF
027293,000216: 25,3304 33403 CAF 10AT16WL # WFORQR = K/DT = 10K = 10
027294,000217: 25,3305 55656 TS WFORQR # SCALED AT 16
027295,000218: 25,3306 33375 CAF .05AT.5 # SAVE (.1-.05K) SCALED AT 1/2
027296,000219: 25,3307 54065 TS ITEMP1 # FOR AOSTERMS
027297,000220: 25,3310 33404 CAF .75 # SET COEFFA = .75
027298,000221: 25,3311 54066 TS ITEMP2
027299,000222: 25,3312 13132 TCF COEFFA1
027300,000223: 25,3313 33405 NEXTCALL CAF 2SECSAOS # SET UP WAITLIST CALL FOR TWO SECS
027301,000224: 25,3314 04536 TC WAITLIST
027302,000225: 25,3315 03064 52006 2CADR AOSTASK
027303,000226:
027304,000227: 25,3317 37656 CAF TWO # INCREMENT TIME COUNTER
027305,000228: 25,3320 27671 ADS KCOEFCTR
027306,000229: 25,3321 37665 CAF ZERO # ZERO SUMMED RATES
027307,000230: 25,3322 55640 TS SUMRATEQ
027308,000231: 25,3323 55641 TS SUMRATER
027309,000232: 25,3324 14602 TCF TASKOVER
027310,000233:
027311,000234: 25,3325 33406 COASTASC CAF 0.3125WL
![]() |
Next line has red markup pointing to: WFORQR <--- WFORP |
027313,000236: 25,3326 55656 TS WFORQR
027314,000237: 25,3327 00006 EXTEND
027315,000238: 25,3330 33415 DCA (1-K)S
027316,000239: 25,3331 53660 DXCH (1-K)QR
![]() |
Next 4 lines circled in red also some faint markup pointing to ?? as if something is wrong or not clear what the code is doing |
027319,000242: 25,3332 37655 CAF BIT3
027320,000243: 25,3333 70765 MASK DAPBOOLS
027321,000244: 25,3334 67655 AD BIT3
027322,000245: 25,3335 54765 TS DAPBOOLS
027323,000246: 25,3336 33402 CAF 0.30680
027324,000247: 25,3337 55650 TS .5ACCMNE
027325,000248: 25,3340 55651 TS .5ACCMNQ
027326,000249:
![]() |
Page 634 |
027328,000251: 25,3341 55652 TS .5ACCMNR
027329,000252: 25,3342 55653 TS .5ACCMNU
027330,000253: 25,3343 55654 TS .5ACCMNV
027331,000254: 25,3344 00006 EXTEND
027332,000255: 25,3345 31446 DCA 1/2JTSQ
027333,000256: 25,3346 53662 DXCH 1/NJTSQ
027334,000257: 25,3347 00006 EXTEND
027335,000258: 25,3350 31450 DCA 1/2JETSU
027336,000259: 25,3351 53664 DXCH 1/NJTSU
![]() |
Note: the next three instructions are bracketed with a black pencil mark to the left of the instruction parameter |
027338,000261: 25,3352 33407 CAF 0.00167A
027339,000262: 25,3353 55647 TS MINIMPDB
027340,000263: 25,3354 55646 TS DBMINIMP
027341,000264: 25,3355 37665 CAF ZERO
027342,000265: 25,3356 55634 TS AOSQ
027343,000266: 25,3357 55635 TS AOSR
027344,000267: 25,3360 55642 TS AOSQTERM
027345,000268: 25,3361 55643 TS AOSRTERM
027346,000269: 25,3362 55665 TS QMANDACC
027347,000270: 25,3363 55666 TS RMANDACC
027348,000271: 25,3364 55667 TS UMANDACC
027349,000272: 25,3365 55670 TS VMANDACC
027350,000273: 25,3366 14602 TCF TASKOVER
027351,000274:
027352,000275: 25,3367 0065 AXISCNTR EQUALS ITEMP1
027353,000276: 25,3367 77160 DEC-399 DEC -399 B-14 # BOUND FOR CONSTANT RANGE: T.GE.400 SECS.
027354,000277: 25,3370 00024 0.0012 DEC 0.0012
027355,000278: 25,3371 20510 0.52 DEC 0.52
027356,000279: 25,3372 77537 DEC-160 DEC -160 B-14
027357,000280: 25,3373 00047 0.0024 DEC 0.0024
027358,000281: 25,3374 13555 0.366 DEC 0.366
027359,000282: 25,3375 03146 .05AT.5 DEC 0.1
027360,000283: 25,3376 06315 .1AT.5 DEC 0.2
027361,000284: 25,3377 26501 .707WL DEC 0.70711 ## Note: the following appears handrwiten
027362,000285: 25,3400 77456 -.02R/S2 DEC -.01273 ## in red ink in the comments column
027363,000286: 25,3401 00641 .04R/S2 DEC 0.02546 ## WCHANGER CAF 0.3/25WL
027364,000287: 25,3402 11643 0.30680 DEC 0.30680 ## TS WFORP
027365,000288: 25,3403 24000 10AT16WL DEC 0.625 ## TS WFORQR
027366,000289: 25,3404 30000 .75 DEC 0.75 ## EXTEND
027367,000290: 25,3405 25,3402 AMINCNST EQUALS 0.30680 ## DCA (1-K)S
027368,000291: 25,3405 00310 2SECSAOS DEC 200 B-14 ## DXCH (1-K)QR
027369,000292: 25,3406 12000 0.3125WL DEC 0.3125
027370,000293: 25,3407 00033 0.00167A DEC 0.00167
027371,000294: 25,3410 00024 0.00125 DEC 0.00125
027372,000295: 25,3411 00027 0.0014 DEC 0.0014
027373,000296: 25,3412 16051 0.44 DEC 0.44
027374,000297: 25,3413 00321 +.02R/S2 DEC 0.01273
027375,000298: 25,3414 20000 (1-K)S DEC 0.5
027376,000299: 25,3415 02000 DEC 0.0625
027377,000300:
027378,000301:
027379,000302:
027380,000303:
End of include-file AOSTASK.agc. Parent file is MAIN.agc