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. |
057989,000002: ## Copyright: Public domain.
057990,000003: ## Filename: KEYRUPT,_UPRUPT.agc
057991,000004: ## Purpose: A log section of Zerlina 56, the final revision of
057992,000005: ## Don Eyles's offline development program for the variable
057993,000006: ## guidance period servicer. It also includes a new P66 with LPD
057994,000007: ## (Landing Point Designator) capability, based on an idea of John
057995,000008: ## Young's. Neither of these advanced features were actually flown,
057996,000009: ## but Zerlina was also the birthplace of other big improvements to
057997,000010: ## Luminary including the terrain model and new (Luminary 1E)
057998,000011: ## analog display programs. Zerlina was branched off of Luminary 145,
057999,000012: ## and revision 56 includes all changes up to and including Luminary
058000,000013: ## 183. It is therefore quite close to the Apollo 14 program,
058001,000014: ## Luminary 178, where not modified with new features.
058002,000015: ## Reference: pp. 1327-1329
058003,000016: ## Assembler: yaYUL
058004,000017: ## Contact: Ron Burkey <info@sandroid.org>.
058005,000018: ## Website: www.ibiblio.org/apollo/index.html
058006,000019: ## Mod history: 2017-07-28 MAS Created from Luminary 210.
058007,000020: ## 2017-08-29 MAS Updated for Zerlina 56.
058008,000021:
![]() |
Page 1327 |
058010,000023: 14,3775 BANK 14
058011,000024: 04,2000 SETLOC KEYRUPT
058012,000025: 04,2000 BANK
058013,000026: 04,3261 COUNT* $$/KEYUP
058014,000027:
058015,000028: 04,3261 54016 KEYRUPT1 TS BANKRUPT
058016,000029: 04,3262 56002 XCH Q
058017,000030: 04,3263 54012 TS QRUPT
058018,000031: 04,3264 04400 TC LODSAMPT # TIME IS SNATCHED IN RUPT FOR NOUN 65.
058019,000032: 04,3265 34346 CAF LOW5
058020,000033: 04,3266 00006 EXTEND
058021,000034: 04,3267 02015 RAND MNKEYIN # CHECK IF KEYS 5M-1M ON
058022,000035: 04,3270 54073 KEYCOM TS RUPTREG4
058023,000036: 04,3271 40101 CS FLAGWRD5
058024,000037: 04,3272 74735 MASK DSKYFBIT
058025,000038: 04,3273 26101 ADS FLAGWRD5
058026,000039:
058027,000040: 04,3274 34355 ACCEPTUP CAF CHRPRIO # (NOTE: RUPTREG4 = KEYTEMP1)
058028,000041: 04,3275 05072 TC NOVAC
058029,000042: 04,3276 0776 EBANK= DSPCOUNT
058030,000043: 04,3276 02057 60101 2CADR CHARIN
058031,000044:
058032,000045: 04,3300 30073 CA RUPTREG4
058033,000046: 04,3301 50064 INDEX LOCCTR
058034,000047: 04,3302 54154 TS MPAC # LEAVE 5 BIT KEY CDE IN MPAC FOR CHARIN
058035,000048: 04,3303 05301 TC RESUME
058036,000049:
![]() |
Page 1328 |
058038,000051: # UPRUPT PROGRAM
058039,000052:
058040,000053: 04,3304 54016 UPRUPT TS BANKRUPT
058041,000054: 04,3305 56002 XCH Q
058042,000055: 04,3306 54012 TS QRUPT
058043,000056: 04,3307 04400 TC LODSAMPT # TIME IS SNATCHED IN RUPT FOR NOUN 65.
058044,000057: 04,3310 34755 CAF ZERO
058045,000058: 04,3311 56045 XCH INLINK
058046,000059: 04,3312 54073 TS KEYTEMP1
058047,000060: 04,3313 30077 CA FLAGWRD3 # AFTER EARTH LAUNCH?
058048,000061: 04,3314 74741 MASK NOP07BIT
058049,000062: 04,3315 10000 CCS A
058050,000063: 04,3316 13322 TCF UPRPT1 # YES
058051,000064: 04,3317 30073 CA KEYTEMP1 # NO: SUM UPLINK DATA
058052,000065: 04,3320 27247 ADS UPSUM
058053,000066: 04,3321 25250 INCR UPSUM +1
058054,000067: 04,3322 34751 UPRPT1 CAF BIT3 # TURN ON UPACT LIGHT
058055,000068: 04,3323 00006 EXTEND # (BIT 3 OF CHANNEL 11)
058056,000069: 04,3324 05011 WOR DSALMOUT
058057,000070: 04,3325 34346 CAF LOW5 # TEST FOR TRIPLE CHAR REDUNDANCY
058058,000071: 04,3326 70073 MASK KEYTEMP1 # LOW5 OF WORD
058059,000072: 04,3327 56073 XCH KEYTEMP1 # LOW5 INTO KEYTEMP1
058060,000073: 04,3330 00006 EXTEND
058061,000074: 04,3331 74742 MP BIT10 # SHIFT RIGHT 5
058062,000075: 04,3332 54332 TS KEYTEMP2
058063,000076: 04,3333 74346 MASK LOW5 # MID 5
058064,000077: 04,3334 63370 AD HI10
058065,000078: 04,3335 03365 TC UPTEST
058066,000079: 04,3336 34742 CAF BIT10
058067,000080: 04,3337 00006 EXTEND
058068,000081: 04,3340 70332 MP KEYTEMP2 # SHIFT RIGHT 5
058069,000082: 04,3341 74346 MASK LOW5 # HIGH 5
058070,000083: 04,3342 40000 COM
058071,000084: 04,3343 03365 TC UPTEST
058072,000085:
058073,000086: 04,3344 43373 UPOK CS ELRCODE # CODE IS GOOD. IF CODE = 'ERROR RESET',
058074,000087: 04,3345 60073 AD KEYTEMP1 # CLEAR UPLOCKFL(SET BIT4 OF FLAGWRD7 = 0)
058075,000088: 04,3346 00006 EXTEND # IF CODE DOES NOT = 'ERROR RESET', ACCEPT
058076,000089: 04,3347 13355 BZF CLUPLOCK # CODE ONLY IF UPLOCKFL IS CLEAR (=0).
058077,000090:
058078,000091: 04,3350 34750 CAF UPLOCBIT # TEST UPLOCKFL FOR 0 OR 1
058079,000092: 04,3351 70103 MASK FLAGWRD7
058080,000093: 04,3352 10000 CCS A
058081,000094: 04,3353 05301 TC RESUME # UPLOCKFL = 1
058082,000095: 04,3354 03274 TC ACCEPTUP # UPLOCKFL = 0
058083,000096:
058084,000097: 04,3355 44750 CLUPLOCK CS UPLOCBIT # CLEAR UPLOCKFL (I.E.,SET BIT 4 OF )
058085,000098: 04,3356 70103 MASK FLAGWRD7 # FLAGWRD7 = 0)
058086,000099: 04,3357 54103 TS FLAGWRD7
058087,000100: 04,3360 03274 TC ACCEPTUP
![]() |
Page 1329 |
058089,000102: # CODE IS BAD
058090,000103: 04,3361 40103 TMFAIL2 CS FLAGWRD7 # LOCK OUT FURTHER UPLINK ACTIVITY
058091,000104: 04,3362 74750 MASK UPLOCBIT # (BY SETTING UPLOCKFL = 1) UNTIL
058092,000105: 04,3363 26103 ADS FLAGWRD7 # 'ERROR RESET' IS SENT VIA UPLINK.
058093,000106: 04,3364 05301 TC RESUME
058094,000107: 04,3365 60073 UPTEST AD KEYTEMP1
058095,000108: 04,3366 10000 CCS A
058096,000109: 04,3367 03361 TC TMFAIL2
058097,000110: 04,3370 77740 HI10 OCT 77740
058098,000111: 04,3371 03361 TC TMFAIL2
058099,000112: 04,3372 00002 TC Q
058100,000113:
058101,000114: 04,3373 00022 ELRCODE OCT 22
058102,000115:
058103,000116: # 'UPLINK ACTIVITY LIGHT' IS TURNED OFF BY .....
058104,000117: # 1. VBRELDSP
058105,000118: # 2. ERROR RESET
058106,000119: # 3. UPDATE PROGRAM(P27) ENTERED BY V70,V71,V72,AND V73.
058107,000120:
058108,000121:
058109,000122: # -
058110,000123: # THE RECEPTION OF A BAD CODE(I.E CCC FAILURE) LOCKS OUT FURTHER UPLINK ACTIVITY BY SETTING BIT4 OF FLAGWRD7 = 1.
058111,000124: # THIS INDICATION WILL BE TRANSFERRED TO THE GROUND BY THE DOWNLINK WHICH DOWNLINKS ALL FLAGWORDS.
058112,000125: # WHEN UPLINK ACTIVITY IS LOCKED OUT ,IT CAN BE ALLOWED WHEN THE GROUND UPLINKS AND 'ERROR RESET' CODE.
058113,000126: # (IT IS RECOMMENDED THAT THE 'ERROR LIGHT RESET' CODE IS PRECEEDED BY 16 BITS THE FIRST OF WHICH IS 1 FOLLOWED
058114,000127: # BY 15 ZEROES. THIS WILL ELIMINATE EXTRANEOUS BITS FROM INLINK WHICH MAY HAVE BEEN LEFT OVER FROM THE ORIGINAL
058115,000128: # FAILURE)
058116,000129: # UPLINK ACTIVITY IS ALSO ALLOWED(UNLOCKED) DURING FRESH START WHEN FRESH START SETS BIT4 OF FLAGWRD7 = 0.
End of include-file KEYRUPT,_UPRUPT.agc. Parent file is MAIN.agc