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. |
016642,000002: ## Copyright: Public domain.
016643,000003: ## Filename: SYSTEM_TEST_STANDARD_LEAD_INS.agc
016644,000004: ## Purpose: A log section of Zerlina 56, the final revision of
016645,000005: ## Don Eyles's offline development program for the variable
016646,000006: ## guidance period servicer. It also includes a new P66 with LPD
016647,000007: ## (Landing Point Designator) capability, based on an idea of John
016648,000008: ## Young's. Neither of these advanced features were actually flown,
016649,000009: ## but Zerlina was also the birthplace of other big improvements to
016650,000010: ## Luminary including the terrain model and new (Luminary 1E)
016651,000011: ## analog display programs. Zerlina was branched off of Luminary 145,
016652,000012: ## and revision 56 includes all changes up to and including Luminary
016653,000013: ## 183. It is therefore quite close to the Apollo 14 program,
016654,000014: ## Luminary 178, where not modified with new features.
016655,000015: ## Reference: pp. 375-377
016656,000016: ## Assembler: yaYUL
016657,000017: ## Contact: Ron Burkey <info@sandroid.org>.
016658,000018: ## Website: www.ibiblio.org/apollo/index.html
016659,000019: ## Mod history: 2017-07-28 MAS Created from Luminary 210.
016660,000020: ## 2017-08-22 RSB Transcribed.
016661,000021:
![]() |
Page 375 |
016663,000023: 22,3242 E5,1642 EBANK= XSM
016664,000024:
016665,000025: 33,2031 BANK 33
016666,000026: 04,2000 SETLOC E/PROG
016667,000027: 04,2000 BANK
016668,000028:
016669,000029: 04,2570 COUNT* $$/P07
016670,000030:
016671,000031: # SPECIAL PROGRAMS TO EASE THE PANGS OF ERASABLE MEMORY PROGRAMS.
016672,000032:
016673,000033: # E/BKCALL FOR DOING BANKCALLS FROM AND RETURNING TO ERASABLE.
016674,000034:
016675,000035: # THIS ROUTINE IS CALLABLE FROM ERASABLE OR FIXED. LIKE BANKCALL, HOWEVER, SWITCHING BETWEEN S3 AND S4
016676,000036: # IS NOT POSSIBLE.
016677,000037:
016678,000038: # THE CALLING SEQUENCE IS:
016679,000039:
016680,000040: # TC BANKCALL
016681,000041: # CADR E/BKCALL
016682,000042: # CADR ROUTINE WHERE YOU WANT TO GO IN FIXED.
016683,000043: # RETURN HERE FROM DISPLAY TERMINATE, BAD STALL OR TC Q.
016684,000044: # RETURN HERE FROM DISPLAY PROCEED OR GOOD RETURN FROM STALL.
016685,000045: # RETURN HERE FROM DISPLAY ENTER OR RECYCLE.
016686,000046:
016687,000047: # THIS ROUTINE REQUIRES TWO ERASABLES (EBUF2, +1) IN UNSWITCHED WHICH ARE UNSHARED BY INTERRUPTS AND
016688,000048: # OTHER EMEMORY PROGRAMS.
016689,000049:
016690,000050: # A + L ARE PRESERVED THROUGH BANKCALL AND E/BKCALL.
016691,000051:
016692,000052: 04,2570 52134 E/BKCALL DXCH BUF2 # SAVE A,L AND GET DP RETURN.
016693,000053: 04,2571 53167 DXCH EBUF2 # SAVE DP RETURN.
016694,000054: 04,2572 25166 INCR EBUF2 # RETURN +1 BECAUSE DOUBLE CADR.
016695,000055: 04,2573 30006 CA BBANK
016696,000056: 04,2574 75012 MASK LOW10 # GET CURRENT EBANK. (SBANK SOMEDAY)
016697,000057: 04,2575 27167 ADS EBUF2 +1 # FORM BBCON. (WAS FBANK)
016698,000058: 04,2576 51166 NDX EBUF2
016699,000059: 04,2577 27777 CA 0 -1 # GET CADR OF ROUTINE.
016700,000060: 04,2600 04622 TC SWCALL # GO TO ROUTINE, SETTING Q TO SWRETURN
016701,000061: # AND RESTORING A + L.
016702,000062: 04,2601 02605 TC +4 # TX Q, V34, OR BAD STALL RETURN.
016703,000063: 04,2602 02604 TC +2 # PROCEED OR GOOD STALL RETURN.
016704,000064: 04,2603 25166 INCR EBUF2 # ENTER OR RECYCLE RETURN.
016705,000065: 04,2604 25166 INCR EBUF2
016706,000066: 04,2605 53167 E/SWITCH DXCH EBUF2
016707,000067: 04,2606 52006 DTCB
016708,000068:
![]() |
Page 376 |
016710,000070: # E/CALL FOR CALLING A FIXED MEMORY INTERPRETIVE SUBROUTINE FROM ERASABLE AND RETURNING TO ERASABLE.
016711,000071:
016712,000072: # THE CALLING SEQUENCE IS...
016713,000073:
016714,000074: # RTB
016715,000075: # E/CALL
016716,000076: # CADR ROUTINE THE INTERPRETIVE SUBROUTINE YOU WANT.
016717,000077: # RETURNS HERE IN INTERPRETIVE.
016718,000078:
016719,000079: 04,2607 22164 E/CALL LXCH LOC # ADRES -1 OF CADR.
016720,000080: 04,2610 50001 INDEX L
016721,000081: 04,2611 30001 CA L # CADR IN A.
016722,000082: 04,2612 24001 INCR L
016723,000083: 04,2613 24001 INCR L # RETURN ADRES IN L.
016724,000084: 04,2614 53167 DXCH EBUF2 # STORE CADR AND RETURN.
016725,000085: 04,2615 06051 TC INTPRET
016726,000086: 04,2616 77624 CALL
016727,000087: 04,2617 01166 EBUF2 # INDIRECTLY EXECUTE ROUTINE. IT MUST
016728,000088: 04,2620 77776 EXIT # LEAVE VIA RVQ OR EQUIVALENT.
016729,000089: 04,2621 23167 LXCH EBUF2 +1 # PICK UP RETURN.
016730,000090: 04,2622 16053 TCF INTPRET +2 # SET LOC AND RETURN TO CALLER.
016731,000091:
![]() |
Page 377 |
016733,000093: # E/JOBWAK FOR WAKING UP ERASABLE MEMORY JOBS.
016734,000094:
016735,000095: # THIS ROUTINE MUST BE CALLED IN INTERRUPT OR WITH INTERRUPTS INHIBITED.
016736,000096:
016737,000097: # THE CALLING SEQUENCE IS:
016738,000098:
016739,000099: # INHINT
016740,000100: # .
016741,000101: # .
016742,000102: # CA WAKEADR ADDRESS OF SLEEPING JOB
016743,000103: # TC IBNKCALL
016744,000104: # CADR E/JOBWAK
016745,000105: # . RETURNS HERE
016746,000106: # .
016747,000107: # .
016748,000108: # RELINT IF YOU DID AN INHINT.
016749,000109:
016750,000110: 33,2031 BANK 33
016751,000111: 04,2000 SETLOC E/PROG
016752,000112: 04,2000 BANK
016753,000113:
016754,000114: 04,2623 COUNT* $$/P07
016755,000115:
016756,000116: 04,2623 05137 E/JOBWAK TC JOBWAKE # ARRIVE IWTH ADRES IN A.
016757,000117: 04,2624 44741 CS BIT11
016758,000118: 04,2625 50064 NDX LOCCTR
016759,000119: 04,2626 26164 ADS LOC # KNOCK FIXED MEMORY BIT OUT OF ADRES.
016760,000120: 04,2627 00072 TC RUPTREG3 # RETURN
016761,000121:
End of include-file SYSTEM_TEST_STANDARD_LEAD_INS.agc. Parent file is MAIN.agc