Source Code
![]() |
These source code files have been transcribed or otherwise adapted from
digitized images of a hardcopy from the private collection of
Don Eyles. The digitization was performed by archive.org, and
transcription was performed by a team of volunteers.
Note that the page images
presented online are of reduced quality, and that the original
high-quality images are available at archive.org.
Report any conversion errors or legibility problems in page images to info@sandroid.org.
Notations on the program listing read, in part:473423A YUL SYSTEM FOR BLK2: REVISION 12 of PROGRAM AURORA BY DAP GROUP NOV 10, 1966Note that the date is the date of the printout, not the date of the program revision. |
005569,000002: ## Copyright: Public domain.
005570,000003: ## Filename: PHASE_TABLE_MAINTENANCE.agc
005571,000004: ## Purpose: Part of the source code for Aurora (revision 12).
005572,000005: ## Assembler: yaYUL
005573,000006: ## Contact: Ron Burkey <info@sandroid.org>.
005574,000007: ## Website: https://www.ibiblio.org/apollo.
005575,000008: ## Pages: 148-150
005576,000009: ## Mod history: 2016-09-20 JL Created.
005577,000010: ## 2016-10-03 JL Transcribed pages 148-150.
005578,000011: ## 2016-10-08 HG change TS LXCH -> TS L
005579,000012: ## 2016-12-08 RSB Proofed comments with octopus/ProoferComments
005580,000013: ## and fixed the errors found.
005581,000014:
005582,000015: ## This source code has been transcribed or otherwise adapted from
005583,000016: ## digitized images of a hardcopy from the private collection of
005584,000017: ## Don Eyles. The digitization was performed by archive.org.
005585,000018:
005586,000019: ## Notations on the hardcopy document read, in part:
005587,000020:
005588,000021: ## 473423A YUL SYSTEM FOR BLK2: REVISION 12 of PROGRAM AURORA BY DAP GROUP
005589,000022: ## NOV 10, 1966
005590,000023:
005591,000024: ## [Note that this is the date the hardcopy was made, not the
005592,000025: ## date of the program revision or the assembly.]
005593,000026:
005594,000027: ## The scan images (with suitable reduction in storage size and consequent
005595,000028: ## reduction in image quality) are available online at
005596,000029: ## https://www.ibiblio.org/apollo.
005597,000030: ## The original high-quality digital images are available at archive.org:
005598,000031: ## https://archive.org/details/aurora00dapg
005599,000032:
![]() |
Page 148 |
005601,000034: # THE FOLLOWING ROUTINES ARE PROVIDED TO MAINTAIN THE PHASE TABLE. TWO ROUTINES ARE AVAILABLE:
005602,000035:
005603,000036: # TC PHASCHNG SLOWER BUT LESS STORAGE.
005604,000037: # OCT PPPGG CHANGE RESTART GROUP GG TO PHASE PPP
005605,000038: # (PPP IS A SIGNED 8 BIT NUMBER).
005606,000039:
005607,000040: # CA PPPPP NEW PHASE ARRIVES IN A.
005608,000041: # TC NEWPHASE
005609,000042: # OCT 000GG UPDATES GG.
005610,000043:
005611,000044: # IN ALL CASES THE OLD PHASE RETURNS IN A. IF THE OLD PHASE WAS NEGATIVE, CALL A ROUTINE USING THE
005612,000045: # CORRESPONDING TERMCADR.
005613,000046:
005614,000047: 4614 SETLOC ENDWAITF
005615,000048:
005616,000049: 4614 00004 PHASCHNG INHINT
005617,000050: 4615 50002 INDEX Q
005618,000051: 4616 30000 CAF 0 # GET PARAMETER WORD.
005619,000052: 4617 54077 TS RUPTREG4
005620,000053: 4620 75224 MASK LOW5 # GROUP NUMBER 0 - 37.
005621,000054: 4621 60000 DOUBLE
005622,000055: 4622 56077 XCH RUPTREG4
005623,000056: 4623 00006 EXTEND
005624,000057: 4624 77647 MP BIT9 # SIGNED NEW PHASE.
005625,000058: 4625 14634 TCF PHASCH2
005626,000059:
005627,000060: 4626 00004 NEWPHASE INHINT # NEW PHASE ARRIVES IN A.
005628,000061: 4627 54077 TS RUPTREG4
005629,000062: 4630 50002 INDEX Q
005630,000063: 4631 30000 CAF 0 # GROUP NUMBER.
005631,000064: 4632 60000 DOUBLE
005632,000065: 4633 56077 XCH RUPTREG4
005633,000066:
005634,000067: 4634 54001 PHASCH2 TS L # DIRECT VERSION.
005635,000068: 4635 40000 COM # COMPLEMENTED VERSION IMMEDIATELY PRE-
005636,000069: 4636 50077 INDEX RUPTREG4 # CEDES THE DIRECT ONE.
005637,000070: 4637 53072 DXCH -PHASE0 # COPIES DISAGREE FOR MINIMUM TIME.
005638,000071: 4640 00006 EXTEND
005639,000072: 4641 64655 BZMF PHASEXIT # IF NO DERAIL.
005640,000073:
![]() |
Page 149 |
005642,000075: 4642 54074 TS RUPTREG1 # IF NEGATIVE, SAVE ABSOLUTE VALUE OF
005643,000076: 4643 00006 EXTEND # OLD PHASE AND RETURN Q.
005644,000077: 4644 22075 QXCH RUPTREG2
005645,000078: 4645 30077 CA RUPTREG4 # GET BACK GROUP NUMBER.
005646,000079: 4646 00006 EXTEND
005647,000080: 4647 77642 MP HALF
005648,000081: 4650 50000 INDEX A # SELECT TERMCADR.
005649,000082: 4651 34661 CAF TERMCADR
005650,000083: 4652 04162 TC ISWCALL
005651,000084:
005652,000085: 4653 52075 DXCH RUPTREG1 # -OLD PHASE BITS TO A - RETURN -1 TO L.
005653,000086: 4654 22002 LXCH Q
005654,000087:
005655,000088: 4655 40000 PHASEXIT COM # RETURN OLD PHASE IN A.
005656,000089: 4656 00003 RELINT
005657,000090: 4657 50002 INDEX Q
005658,000091: 4660 00001 TC 1
005659,000092:
005660,000093: 4661 00000 TERMCADR CADR 10000 # FILLED IN AS NEEDED.
005661,000094: 4662 00000 CADR 10000
005662,000095: 4663 00000 CADR 10000
005663,000096: 4664 00000 CADR 10000
005664,000097: 4665 00000 CADR 10000
005665,000098: 4666 00000 CADR 10000
005666,000099:
![]() |
Page 150 |
005668,000101: # SUBROUTINE TO UPDATE THE PROGRAM NUMBER DISPLAY ON THE DSKY.
005669,000102:
005670,000103: 4667 50002 NEWMODEX INDEX Q # UPDATE MODREG.
005671,000104: 4670 30000 CAF 0
005672,000105: 4671 24002 INCR Q
005673,000106: 4672 56276 XCH MODREG
005674,000107: 4673 40000 COM # IF NO CHANGE IN MODE, RETURN IMMEDIATELY
005675,000108: 4674 60276 AD MODREG
005676,000109: 4675 00006 EXTEND
005677,000110: 4676 14712 BZF TCQ
005678,000111:
005679,000112: 4677 34701 CAF +2 # CALL PINBALL SUBROUTINE.
005680,000113: 4700 14067 TCF SWCALL # WITH Q SET TO CALLERS RETURN.
005681,000114:
005682,000115: 4701 12001 CADR DSPMM
005683,000116:
005684,000117: # RETURN TO CALLER +3 IF MODE = THAT AT CALLER +1. OTHERWISE RETURN TO CALLER +2.
005685,000118:
005686,000119: 4702 50002 CHECKMM INDEX Q
005687,000120: 4703 40000 CS 0
005688,000121: 4704 60276 AD MODREG
005689,000122: 4705 00006 EXTEND
005690,000123: 4706 14711 BZF +3
005691,000124:
005692,000125: 4707 50002 INDEX Q
005693,000126: 4710 00001 TC 1 # NO MATCH.
005694,000127:
005695,000128: 4711 50002 INDEX Q
005696,000129: 4712 00002 TCQ TC 2 # (ALWAYS AVAILABLE TO BZF & BZMF)
005697,000130:
005698,000131: 4713 ENDPHMNF EQUALS
End of include-file PHASE_TABLE_MAINTENANCE.agc. Parent file is MAIN.agc