Source Code
These source-code files were transcribed from a printout in Don Eyles's personal
collection, scanned by archive.org, and financially sponsored by Peter McDermott.
A team of volunteers performed the transcription and proof-reading. The scanned
page images are available at
the Virtual AGC Project website, as well as higher-quality (but much larger)
images at
the Virtual AGC Project's collection in the Internet Archive. Report any problems by creating
"issues" at
the Virtual AGC Project's GitHub Repository. Notations on the program listing read, in part: YUL SYSTEM FOR AGC: NEW PROGRAM SHEPATIN BY EYLES DEC 13, 1966 THIS PROGRAM WAS ASSEMBLED AS A VERSION OF REVISION 37 OF PROGRAM SUNBURST BY LEM GROUPNote that the date is the date of the printout, not the date of the program revision. |
028038,000002: ## Copyright: Public domain.
028039,000003: ## Filename: KALCMANU_STEERING.agc
028040,000004: ## Purpose: A section of Sunburst revision 37, or Shepatin revision 0.
028041,000005: ## It is part of an early development version of the software
028042,000006: ## for Apollo Guidance Computer (AGC) on the unmanned Lunar
028043,000007: ## Module (LM) flight Apollo 5. Sunburst 37 was the program
028044,000008: ## upon which Don Eyles's offline development program Shepatin
028045,000009: ## was based; the listing herein transcribed was actually for
028046,000010: ## the equivalent revision 0 of Shepatin.
028047,000011: ## This file is intended to be a faithful transcription, except
028048,000012: ## that the code format has been changed to conform to the
028049,000013: ## requirements of the yaYUL assembler rather than the
028050,000014: ## original YUL assembler.
028051,000015: ## Reference: pp. 627-631
028052,000016: ## Assembler: yaYUL
028053,000017: ## Contact: Ron Burkey <info@sandroid.org>.
028054,000018: ## Website: www.ibiblio.org/apollo/index.html
028055,000019: ## Mod history: 2017-05-24 MAS Created from Sunburst 120.
028056,000020: ## 2017-06-13 RSB Transcribed
028057,000021: ## 2017-06-22 RSB Proofed comment text with
028058,000022: ## octopus/ProoferComments.
028059,000023:
Page 627 |
028061,000025: # GENERATION OF STEERING COMMANDS FOR DIGITAL AUTOPILOT FREE FALL MANEUVERS
028062,000026:
028063,000027: # NEW COMMANDS WILL BE GENERATED EVERY ONE SECOND DURING THE MANEUVER
028064,000028:
028065,000029: 34,3514 E3,1605 EBANK= TTEMP
028066,000030:
028067,000031: 34,3514 06103 NEWDELHI TC INTPRET
028068,000032: 34,3515 75160 AXC,1 AXC,2
028069,000033: 34,3516 01535 MIS # COMPUTE THE NEW MATRIX FROM S/C TO
028070,000034: 34,3517 01557 KEL # STABLE MEMBER AXES
028071,000035: 34,3520 77624 CALL
028072,000036: 34,3521 73442 MXM3
028073,000037: 34,3522 45575 VLOAD STADR
028074,000038: 34,3523 52225 STOVL MIS +12D # CALCULATE NEW DESIRED CDU ANGLES
028075,000039: 34,3524 77626 STADR
028076,000040: 34,3525 52233 STOVL MIS +6D
028077,000041: 34,3526 77626 STADR
028078,000042: 34,3527 76241 STORE MIS
028079,000043: 34,3530 45160 AXC,1 CALL
028080,000044:
028081,000045: 34,3531 01535 MIS
028082,000046: 34,3532 70727 DCMTOCDU # PICK UP THE NEW CDU ANGLES FROM MATRIX
028083,000047: 34,3533 77634 RTB
028084,000048: 34,3534 33573 V1STO2S
028085,000049: 34,3535 01602 STORE NCDU # NEW CDU ANGLES
028086,000050: 34,3536 77414 BONCLR EXIT
028087,000051: 34,3537 01202 32D
028088,000052: 34,3540 71620 MANUSTAT # TO START MANEUVER
028089,000053: 34,3541 37754 CAF TWO # +0 OTHERWISE
028090,000054: 34,3542 55653 INCRDCDU TS SPNDX
028091,000055: 34,3543 51653 INDEX SPNDX
028092,000056: 34,3544 31532 CA BCDU # INITIAL CDU ANGLES
028093,000057: 34,3545 00006 EXTEND # OR PREVIOUS DESIRED CDU ANGLES
028094,000058: 34,3546 51653 INDEX SPNDX
028095,000059: 34,3547 21601 MSU NCDU
028096,000060: 34,3550 00006 EXTEND
028097,000061: 34,3551 73617 MP DT/TAU
028098,000062: 34,3552 10000 CCS A # CONVERT TO 2S COMPLEMENT
028099,000063: 34,3553 67755 AD ONE
028100,000064: 34,3554 13556 TCF +2
028101,000065: 34,3555 40000 COM
028102,000066: 34,3556 51653 INDEX SPNDX
028103,000067: 34,3557 54771 TS DELDCDU # ANGLE INCREMENTS TO BE ADDED TO
028104,000068:
028105,000069: 34,3560 51653 INDEX SPNDX # CDUXD, CDUYD, CDUZD EVERY TENTH SECOND
028106,000070: 34,3561 31601 CA NCDU # BY LEM DAP
028107,000071: 34,3562 51653 INDEX SPNDX
028108,000072: 34,3563 57532 XCH BCDU
028109,000073: 34,3564 51653 INDEX SPNDX
028110,000074: 34,3565 54766 TS CDUXD
028111,000075: 34,3566 11653 CCS SPNDX
028112,000076: 34,3567 13542 TCF INCRDCDU # LOOP FOR THREE AXES
028113,000077:
Page 628 |
028115,000079: # COMPARE PRESENT TIME WITH TIME TO TERMINATE MANEUVER
028116,000080:
028117,000081: 34,3570 00006 TMANUCHK EXTEND
028118,000082: 34,3571 40025 DCS TIME2
028119,000083: 34,3572 53606 DXCH TTEMP
028120,000084: 34,3573 00006 EXTEND
028121,000085: 34,3574 31645 DCA TM
028122,000086: 34,3575 21606 DAS TTEMP # TM+T0-1-T
028123,000087: 34,3576 11605 CCS TTEMP
028124,000088: 34,3577 13647 TCF CONTMANU # (TM+T0)-T G 164 SEC
028125,000089: 34,3600 13602 TCF +2
028126,000090: 34,3601 13645 TCF OVERMANU # (TM+T0)-T L -164 SEC
028127,000091: 34,3602 11606 CCS TTEMP +1
028128,000092: 34,3603 13647 TCF CONTMANU # (TM+T0)-T G 1 SEC
028129,000093: 34,3604 13606 TCF MANUOFF # (TM+T0)-T E 1 SEC
028130,000094: 34,3605 40000 COM # (TM+T0)-T L 1 SEC
028131,000095: 34,3606 63644 MANUOFF AD ONESEK +1 # (TM+T0)-T E 1 SEC
028132,000096: 34,3607 00006 EXTEND
028133,000097: 34,3610 63645 BZMF OVERMANU # THIS IS A SAFETY PLAY
028134,000098: 34,3611 00004 MANUSTAL INHINT # PREPARE TO STOP THE MANEUVER
028135,000099: 34,3612 05701 TC WAITLIST
028136,000100: 34,3613 E3,1605 EBANK= TTEMP
028137,000101: 34,3613 03673 70063 2CADR MANUSTOP
028138,000102:
028139,000103: 34,3615 00003 RELINT
028140,000104: 34,3616 15605 TCF ENDOFJOB
028141,000105:
028142,000106: 34,3617 03146 DT/TAU DEC .1
028143,000107:
028144,000108: 34,3620 77776 MANUSTAT EXIT # INITIALIZATION ROUTINE
028145,000109: 34,3621 00006 EXTEND # FOR AUTOMATIC MANEUVERS
028146,000110: 34,3622 30025 DCA TIME2
028147,000111: 34,3623 21645 DAS TM # TM+T0 MANEUVER COMPLETION TIME
028148,000112: 34,3624 00006 EXTEND
028149,000113: 34,3625 43644 DCS ONESEK
028150,000114: 34,3626 21645 DAS TM # (TM+T0)-1
028151,000115: 34,3627 31634 CA BRATE # X-AXIS MANEUVER RATE
028152,000116: 34,3630 54774 TS OMEGAPD
028153,000117: 34,3631 31636 CA BRATE +2 # Y-AXIS MANEUVER RATE
028154,000118: 34,3632 54775 TS OMEGAQD
028155,000119: 34,3633 31640 CA BRATE +4 # Z-AXIS MANEUVER RATE
028156,000120: 34,3634 54776 TS OMEGARD
028157,000121: 34,3635 30025 CA TIME1
028158,000122: 34,3636 63644 AD ONESEK +1
028159,000123: 34,3637 57604 XCH NEXTIME
028160,000124: 34,3640 06027 TC FLAG2UP # SET BIT 11 OF FLAGWRD2
028161,000125: 34,3641 02000 OCT 2000 # TO SIGNAL KALCMANU IN PROCESS
028162,000126: 34,3642 13541 TCF INCRDCDU -1
028163,000127:
028164,000128: 34,3643 00000 ONESEK DEC 0 B-14
Page 629 |
028166,000130: 34,3644 00144 DEC 100 B-14
028167,000131:
028168,000132: 34,3645 37755 OVERMANU CAF ONE # SAFETY PLAY
028169,000133: 34,3646 13611 TCF MANUSTAL
028170,000134:
028171,000135: 34,3647 40025 CONTMANU CS TIME1 # RESET FOR NEXT DCDU UPDATE
028172,000136: 34,3650 61604 AD NEXTIME
028173,000137: 34,3651 10000 CCS A
028174,000138:
028175,000139: 34,3652 67755 AD ONE
028176,000140: 34,3653 13656 TCF MANUCALL
028177,000141: 34,3654 67737 AD NEGMAX
028178,000142: 34,3655 40000 COM
028179,000143: 34,3656 00004 MANUCALL INHINT # CALL FOR NEXT UPDATE VIA WAITLIST
028180,000144: 34,3657 05701 TC WAITLIST
028181,000145: 34,3660 E3,1605 EBANK= TTEMP
028182,000146: 34,3660 03666 70063 2CADR UPDTCALL
028183,000147:
028184,000148: 34,3662 00003 RELINT
028185,000149: 34,3663 33644 CAF ONESEK +1 # INCREMENT TIME FOR NEXT UPDATE
028186,000150: 34,3664 27604 ADS NEXTIME
028187,000151: 34,3665 15605 TCF ENDOFJOB
028188,000152:
028189,000153:
028190,000154:
028191,000155: 34,3666 35673 UPDTCALL CAF PRIO34 # SATELLITE PROGRAM TO CALL FOR UPDATE
028192,000156: 34,3667 05534 TC FINDVAC # OF STEERING COMMANDS
028193,000157: 34,3670 E3,1605 EBANK= TTEMP
028194,000158: 34,3670 03514 70063 2CADR NEWDELHI
028195,000159:
028196,000160: 34,3672 05745 TC TASKOVER
028197,000161:
Page 630 |
028199,000163: # ROUTINE FOR TERMINATING AUTOMATIC MANEUVERS
028200,000164:
028201,000165: 34,3673 37761 MANUSTOP CAF ZERO # ZERO MANEUVER RATES
028202,000166: 34,3674 54773 TS DELDCDU2
028203,000167: 34,3675 54776 TS OMEGARD
028204,000168: 34,3676 54772 TS DELDCDU1
028205,000169: 34,3677 54775 TS OMEGAQD
028206,000170: 34,3700 31633 CA CPSI # SET DESIRED GIMBAL ANGLES TO
028207,000171: 34,3701 54770 TS CDUZD # DESIRED FINAL GIMBAL ANGLES
028208,000172: 34,3702 31632 CA CTHETA
028209,000173: 34,3703 54767 TS CDUYD
028210,000174: 34,3704 30076 CA STATE +2 # CHECK TO SEE IF A FINAL YAW NECESSARY
028211,000175: 34,3705 77740 MASK BIT14
028212,000176: 34,3706 00006 EXTEND
028213,000177:
028214,000178: 34,3707 13722 BZF KALCROLL
028215,000179: 34,3710 31631 ENDROLL CA CPHI # NO FINAL YAW
028216,000180: 34,3711 54766 TS CDUXD
028217,000181: 34,3712 37761 CAF ZERO
028218,000182: 34,3713 54774 TS OMEGAPD # I.E. MANEUVER DID NOT GO THRU
028219,000183: 34,3714 54771 TS DELDCDU # GIMBAL LOCK ORIGINALLY
028220,000184: 34,3715 06045 GOODMANU TC FLAG2DWN # RESET BIT 11 OF FLAGWRD2 TO SIGNAL END
028221,000185: 34,3716 02000 OCT 2000 # OF KALCMANU
028222,000186: 34,3717 36301 CAF THREE
028223,000187: 34,3720 05243 TC POSTJUMP # RETURN UNDER WAITLIST VIA GOODEND
028224,000188: 34,3721 26731 CADR GOODEND # AND WAKE UP USER
028225,000189:
028226,000190: 34,3722 30076 KALCROLL CA STATE +2 # STATE SWITCH NO. 33
028227,000191: 34,3723 77742 MASK BIT12 # 0(OFF) = PERFORM A FINAL YAW
028228,000192: 34,3724 00006 EXTEND # IF NECESSARY
028229,000193: 34,3725 13727 BZF DOROLL # 1(ON) = IGNORE ANY FINAL YAW
028230,000194: 34,3726 13712 TCF ENDROLL +2
028231,000195: 34,3727 31631 DOROLL CA CPHI
028232,000196: 34,3730 00006 EXTEND # PERFORM A FINAL ROLL TO
028233,000197: 34,3731 20766 MSU CDUXD # COMPLETE AUTOMATIC MANEUVER
028234,000198: 34,3732 00006 EXTEND
028235,000199: 34,3733 63743 BZMF FROLLNEG
028236,000200: 34,3734 54001 FROLLPOS TS L
028237,000201:
028238,000202: 34,3735 33762 CA ROLLRATE
028239,000203: 34,3736 54774 TS OMEGAPD
028240,000204: 34,3737 43763 CS DELFROLL
028241,000205: 34,3740 67755 AD ONE
028242,000206: 34,3741 54771 TS DELDCDU
028243,000207: 34,3742 13751 TCF ROLLSTAL
028244,000208: 34,3743 40000 FROLLNEG COM
028245,000209: 34,3744 54001 TS L
028246,000210: 34,3745 43762 CS ROLLRATE
028247,000211: 34,3746 54774 TS OMEGAPD
028248,000212: 34,3747 33763 CA DELFROLL
028249,000213: 34,3750 54771 TS DELDCDU
028250,000214: 34,3751 30001 ROLLSTAL CA L # ABS(CPHI-CDUXD)
Page 631 |
028252,000216: 34,3752 00006 EXTEND
028253,000217: 34,3753 73764 MP INVRATE
028254,000218: 34,3754 00006 EXTEND
028255,000219: 34,3755 63710 BZMF ENDROLL
028256,000220: 34,3756 05701 TC WAITLIST
028257,000221: 34,3757 E3,1605 EBANK= TTEMP
028258,000222: 34,3757 03710 70063 2CADR ENDROLL
028259,000223:
028260,000224: 34,3761 05745 TC TASKOVER
028261,000225:
028262,000226: 34,3762 01320 ROLLRATE DEC 720 B-14 # = 1.98 DEGREES/SEC
028263,000227: 34,3763 00022 DELFROLL DEC 18 B-14 # MUST BE A WHOLE NUMBER
028264,000228: 34,3764 21616 INVRATE DEC .555555
End of include-file KALCMANU_STEERING.agc. Parent file is MAIN.agc