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