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