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 Linden Sims.
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: GAP: ASSEMBLE REVISION 56 OF AGC PROGRAM ZERLINA BY ZOROASTER 9:12 OCT. 21,1970Note that the date is the date of the printout, not the date of the program revision. |
060896,000002: ## Copyright: Public domain.
060897,000003: ## Filename: T6-RUPT_PROGRAMS.agc
060898,000004: ## Purpose: A log section of Zerlina 56, the final revision of
060899,000005: ## Don Eyles's offline development program for the variable
060900,000006: ## guidance period servicer. It also includes a new P66 with LPD
060901,000007: ## (Landing Point Designator) capability, based on an idea of John
060902,000008: ## Young's. Neither of these advanced features were actually flown,
060903,000009: ## but Zerlina was also the birthplace of other big improvements to
060904,000010: ## Luminary including the terrain model and new (Luminary 1E)
060905,000011: ## analog display programs. Zerlina was branched off of Luminary 145,
060906,000012: ## and revision 56 includes all changes up to and including Luminary
060907,000013: ## 183. It is therefore quite close to the Apollo 14 program,
060908,000014: ## Luminary 178, where not modified with new features.
060909,000015: ## Reference: pp. 1391-1393
060910,000016: ## Assembler: yaYUL
060911,000017: ## Contact: Ron Burkey <info@sandroid.org>.
060912,000018: ## Website: www.ibiblio.org/apollo/index.html
060913,000019: ## Mod history: 2017-07-28 MAS Created from Luminary 210.
060914,000020: ## 2017-08-29 MAS Updated for Zerlina 56.
060915,000021:
![]() |
Page 1391 |
060917,000023: # PROGRAM NAMES: (1) T6JOBCHK MOD. NO. 5 OCTOBER 2, 1967
060918,000024: # (2) DOT6RUPT
060919,000025:
060920,000026: # MODIFICATION BY: LOWELL G HULL (A.C.ELECTRONICS)
060921,000027: # THESE PROGRAMS ENABLE THE LM DAP TO CONTROL THE THRUST TIMES OF THE REACTION CONTROL SYSTEM JETS BY USING TIME6.
060922,000028: # SINCE THE LM DAP MAINTAINS EXCLUSIVE CONTROL OVER TIME6 AND ITS INTERRUPTS, THE FOLLOWING CONVENTIONS HAVE BEEN
060923,000029: # ESTABLISHED AND MUST NOT BE TAMPERED WITH:
060924,000030: # 1. NO NUMBER IS EVER PLACED INTO TIME6 EXCEPT BY LM DAP.
060925,000031: # 2. NO PROGRAM OTHER THAN LM DAP ENABLES THE TIME6 COUNTER.
060926,000032: # 3. TO USE TIME6, THE FOLLOWING SEQUENCE IS ALWAYS EMPLOYED:
060927,000033: # A. A POSITIVE (NON-ZERO) NUMBER IS STORED IN TIME6.
060928,000034: # B. THE TIME6 CLOCK IS ENABLED.
060929,000035: # C. TIME6 IS INTERROGATED AND IS:
060930,000036: # I. NEVER FOUND NEGATIVE(NON-ZERO) OR +0.
060931,000037: # II. SOMETIMES FOUND POSITIVE(BETWEEN 1 AND 240D) INDICATING THAT IT IS ACTIVE.
060932,000038: # III. SOMETIMES FOUND POSMAX INDICATING THAT IT IS INACTIVE AND NOT ENABLED.
060933,000039: # IV. SOMETIMES FOUND NEGATIVE ZERO INDICATING THAT:
060934,000040: # A. A T6RUPT IS ABOUT TO OCCUR AT THE NEXT DINC, OR
060935,000041: # B. A T6RUPT IS WAITING IN THE PRIORITY CHAIN, OR
060936,000042: # C. A T6RUPT IS IN PROCESS NOW.
060937,000043: # 4) ALL PROGRAMS WHICH OPERATE IN EITHER INTERRUPT MODE OR WITH INTERRUPT INHIBITED MUST CALL T6JOBCHK
060938,000044: # EVERY 5 MILLISECONDS TO PROCESS A POSSIBLE WAITING T6RUPT BEFORE IT CAN BE HONORED BY THE HARDWARE.
060939,000045:
060940,000046: # (5. PROGRAM JTLST, IN Q,R-AXES, HANDLES THE INPUT LIST.)
060941,000047: # T6JOBCHK CALLING SEQUENCE:
060942,000048:
060943,000049: # L TC T6JOBCHK
060944,000050: # L +1 (RETURN)
060945,000051:
060946,000052: # DOT6RUPT CALLING SEQUENCE:
060947,000053:
060948,000054: # DXCH ARUPT T6RUPT LEAD IN AT LOCATION 4004.
060949,000055: # EXTEND
060950,000056: # DCA T6ADR
060951,000057: # DTCB
060952,000058:
060953,000059: # SUBROUTINES CALLED: DOT6RUPT CALLS T6JOBCHK.
060954,000060:
060955,000061: # NORMAL EXIT MODES: T6JOBCHK RETURNS TO L +1.
060956,000062: # DOT6RUPT TRANSFERS CONTROL TO RESUME.
060957,000063:
060958,000064: # ALARM/ABORT MODES: NONE.
060959,000065:
060960,000066: # INPUT: TIME6 NXT6ADR OUTPUT: TIME6 NXT6ADR CHANNEL 5
060961,000067: # T6NEXT T6NEXT +1 T6NEXT T6NEXT +1 CHANNEL 6
060962,000068: # T6FURTHA T6FURTHA +1 T6FURTHA T6FURTHA +1 BIT15/CH13
060963,000069: # DEBRIS: T6JOBCHK CLOBBERS A. DOT6RUPT CLOBBERS NOTHING.
060964,000070:
060965,000071:
060966,000072: 5754 BLOCK 02
![]() |
Page 1392 |
060968,000074: 17,2055 BANK 17
060969,000075: 17,2000 SETLOC DAPS2
060970,000076: 17,2000 BANK
060971,000077: 17,2055 E6,1466 EBANK= T6NEXT
060972,000078: 17,2055 COUNT* $$/DAPT6
060973,000079:
060974,000080: 17,2055 10031 T6JOBCHK CCS TIME6 # CHECK TIME6 FOR WAITING T6RUPT:
060975,000081: 17,2056 00002 TC Q # NONE: CLOCK COUTING DOWN.
060976,000082: 17,2057 05706 TC CCSHOLE
060977,000083: 17,2060 05706 TC CCSHOLE
060978,000084: # CONTROL PASSES TO T6JOB ONLY WHEN C(TIME6) = -0 (I.E. WHEN A T6RUPT MUST BE PROCESSED).
060979,000085:
060980,000086: 17,2061 34733 T6JOB CA POSMAX
060981,000087: 17,2062 22007 ZL
060982,000088: 17,2063 53471 DXCH T6FURTHA
060983,000089: 17,2064 53467 DXCH T6NEXT
060984,000090: 17,2065 23465 LXCH NXT6ADR
060985,000091: 17,2066 54031 TS TIME6
060986,000092:
060987,000093: 17,2067 67737 AD PRIO37
060988,000094: 17,2070 54000 TS A
060989,000095: 17,2071 12075 TCF ENABLET6
060990,000096: 17,2072 34733 CA POSMAX
060991,000097: 17,2073 54031 TS TIME6
060992,000098: 17,2074 12115 TCF GOCH56
060993,000099: 17,2075 00006 ENABLET6 EXTEND
060994,000100: 17,2076 23265 QXCH C13QSAV
060995,000101: 17,2077 22070 LXCH RUPTREG1
060996,000102: 17,2100 06022 TC C13STALL
060997,000103: 17,2101 00006 EXTEND
060998,000104: 17,2102 23265 QXCH C13QSAV
060999,000105: 17,2103 22070 LXCH RUPTREG1
061000,000106: 17,2104 34735 CAF BIT15
061001,000107: 17,2105 00006 EXTEND
061002,000108: 17,2106 05013 WOR CHAN13
061003,000109: 17,2107 31466 CA T6NEXT
061004,000110: 17,2110 67737 AD PRIO37
061005,000111: 17,2111 54000 TS A
061006,000112: 17,2112 12115 TCF GOCH56
061007,000113: 17,2113 34733 CA POSMAX
061008,000114: 17,2114 55466 TS T6NEXT
061009,000115: 17,2115 50001 GOCH56 INDEX L
061010,000116: 17,2116 15754 TCF WRITEP -1
061011,000117:
061012,000118: 5754 BLOCK 02
061013,000119: 4000 SETLOC FFTAG9
061014,000120: 4000 BANK
061015,000121: 5754 E6,1634 EBANK= CDUXD
061016,000122: 5754 COUNT* $$/DAPT6
![]() |
Page 1393 |
061018,000124: 5754 31472 CA NEXTP
061019,000125: 5755 00006 WRITEP EXTEND
061020,000126: 5756 01006 WRITE CHAN6
061021,000127: 5757 00002 TC Q
061022,000128:
061023,000129: 5760 31473 CA NEXTU
061024,000130: 5761 54001 WRITEU TS L
061025,000131: 5762 45775 CS 00314OCT
061026,000132: 5763 00006 EXTEND
061027,000133: 5764 02005 RAND CHAN5
061028,000134: 5765 60001 AD L
061029,000135: 5766 00006 EXTEND
061030,000136: 5767 01005 WRITE CHAN5
061031,000137: 5770 00002 TC Q
061032,000138:
061033,000139: 5771 31474 CA NEXTV
061034,000140: 5772 54001 WRITEV TS L
061035,000141: 5773 35775 CA 00314OCT
061036,000142: 5774 15763 TCF -9D
061037,000143: 5775 00314 00314OCT OCT 00314
061038,000144:
061039,000145: 17,2117 BANK 17
061040,000146: 17,2000 SETLOC DAPS2
061041,000147: 17,2000 BANK
061042,000148:
061043,000149: 17,2117 E6,1466 EBANK= T6NEXT
061044,000150: 17,2117 COUNT* $$/DAPT6
061045,000151:
061046,000152: 17,2117 22016 DOT6RUPT LXCH BANKRUPT # (INTERRUPT LEAD INS CONTINUED)
061047,000153: 17,2120 00006 EXTEND
061048,000154: 17,2121 22012 QXCH QRUPT
061049,000155:
061050,000156: 17,2122 02055 TC T6JOBCHK # CALL T6JOBCHK.
061051,000157:
061052,000158: 17,2123 15301 TCF RESUME # END TIME6 INTERRUPT PROCESSOR.
End of include-file T6-RUPT_PROGRAMS.agc. Parent file is MAIN.agc