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