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, 1966
Note that the date is the date of the printout, not the date of the program revision.

005241,000002:                                                                                                  ## Copyright:   Public domain.
005242,000003:                                                                                                  ## Filename:    WAITLIST.agc
005243,000004:                                                                                                  ## Purpose:     Part of the source code for Aurora (revision 12).
005244,000005:                                                                                                  ## Assembler:   yaYUL
005245,000006:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
005246,000007:                                                                                                  ## Website:     https://www.ibiblio.org/apollo.
005247,000008:                                                                                                  ## Pages:       139-147
005248,000009:                                                                                                  ## Mod history: 2016-09-20 JL   Created.
005249,000010:                                                                                                  ##              2016-12-08 RSB  Proofed comments with octopus/ProoferComments
005250,000011:                                                                                                  ##                              and fixed the errors found.
005251,000012:                                                                                                  ##              2017-02-09 RSB  Comment-text fixes identified in proofing Artemis 72
005252,000013: 
005253,000014:                                                                                                  ## This source code has been transcribed or otherwise adapted from
005254,000015:                                                                                                  ## digitized images of a hardcopy from the private collection of 
005255,000016:                                                                                                  ## Don Eyles.  The digitization was performed by archive.org.
005256,000017: 
005257,000018:                                                                                                  ## Notations on the hardcopy document read, in part:
005258,000019: 
005259,000020:                                                                                                  ##       473423A YUL SYSTEM FOR BLK2: REVISION 12 of PROGRAM AURORA BY DAP GROUP
005260,000021:                                                                                                  ##       NOV 10, 1966
005261,000022: 
005262,000023:                                                                                                  ##       [Note that this is the date the hardcopy was made, not the
005263,000024:                                                                                                  ##       date of the program revision or the assembly.]
005264,000025: 
005265,000026:                                                                                                  ## The scan images (with suitable reduction in storage size and consequent 
005266,000027:                                                                                                  ## reduction in image quality) are available online at 
005267,000028:                                                                                                  ##       https://www.ibiblio.org/apollo.  
005268,000029:                                                                                                  ## The original high-quality digital images are available at archive.org:
005269,000030:                                                                                                  ##       https://archive.org/details/aurora00dapg
005270,000031: 

Page 139

005272,000033: 
005273,000034:                                                                                                  #  GROUNDRULE....DELTA T SHOULD NOT EXCEED 12000 (= 2 MINUTES)
005274,000035: 
005275,000036:    4536                                           SETLOC   ENDEXECF                              
005276,000037: 
005277,000038:    4536  E3,1400                                  EBANK=   LST1                                  #  TASK LISTS IN SWITCHED E BANK.
005278,000039: 
005279,000040:    4536           56002        WAITLIST           XCH      Q                                     #  SAVE DELTA T IN Q AND RETURN IN
005280,000041:    4537           54065                           TS       WAITEXIT                              #  WAITEXIT.
005281,000042:    4540           00006                           EXTEND                                         
005282,000043:    4541           50000                           INDEX    A                                     
005283,000044:    4542           30001                           DCA      0                                     #  PICK UP 2CADR OF TASK.
005284,000045:    4543           54070                           TS       WAITADR                               #  BBCON WILL REMAIN IN L.
005285,000046:    4544           34553        DLY2               CAF      WAITBB                                #  ENTRY FROM FIXDELAY AND VARDELAY.
005286,000047:    4545           56006                           XCH      BBANK                                 
005287,000048:    4546           12566                           TCF      WAIT2                                 
005288,000049: 
005289,000050:                                                                                                  #  RETURN TO CALLER AFTER TASK INSERTION:
005290,000051: 
005291,000052:    4547           30066        LVWTLIST           CA       WAITBANK                              
005292,000053:    4550           54006                           TS       BBANK                                 
005293,000054:    4551           50065                           INDEX    WAITEXIT                              
005294,000055:    4552           00002                           TC       2                                     
005295,000056: 
005296,000057:    4553           02003        WAITBB             BBCON    WAIT2                                 
005297,000058: 
005298,000059:                                                                                                  #  RETURN TO CALLER +2 AFTER WAITING DT SPECIFIED AT CALLER +1.
005299,000060: 
005300,000061:    4554           50002        FIXDELAY           INDEX    Q                                     #  BOTH ROUTINES MUST BE CALLED UNDER
005301,000062:    4555           30000                           CAF      0                                     #  WAITLIST CONTROL AND TERMINATE THE TASK
005302,000063:    4556           24002                           INCR     Q                                     #  IN WHICH THEY WERE CALLED.
005303,000064: 
005304,000065:                                                                                                  #  RETURN TO CALLER +1 AFTER WAITING THE DT AS ARRIVING IN A.
005305,000066: 
005306,000067:    4557           56002        VARDELAY           XCH      Q                                     #  DT TO Q.  TASK ADRES TO WAITADR.
005307,000068:    4560           54070                           TS       WAITADR                               
005308,000069:    4561           30006                           CA       BBANK                                 #  BBANK IS SAVED DURING DELAY.
005309,000070:    4562           54001                           TS       L                                     
005310,000071:    4563           34566                           CAF      DELAYEX                               
005311,000072:    4564           54065                           TS       WAITEXIT                              #  GO TO TASKOVER AFTER TASK ENTRY.
005312,000073:    4565           14544                           TCF      DLY2                                  
005313,000074: 
005314,000075:    4566           14600        DELAYEX            TCF      TASKOVER   -2                         #  RETURNS TO TASKOVER
005315,000076: 

Page 140

005317,000078: 
005318,000079:                                                                                                  #  ENDTASK MUST BE ENTERED IN FIXED-FIXED SO IT IS DISTINGUISHABLE BY ITS ADRES ALONE.
005319,000080: 
005320,000081:    4567           73206 73774  ENDTASK            -2CADR   SVCT3                                 
005321,000082: 
005322,000083:    4571           10063        SVCT3              CCS      STATE      +2                         #  DRIFT FLAG
005323,000084:    4572           14602                           TCF      TASKOVER                              
005324,000085:    4573           14602                           TCF      TASKOVER                              
005325,000086:    4574           14575                           TCF      +1                                    
005326,000087: 
005327,000088:    4575           34533                           CAF      PRIO35                                #  COMPENSATE FOR NBD COEFFICIENTS ONLY
005328,000089:    4576           04363                           TC       NOVAC                                 #      ENABLE EVERY 81.93 SECONDS
005329,000090:    4577           02257 16003                     2CADR    NBDONLY                               #  EBANK IS SET TO 3
005330,000091: 
005331,000092:    4601           14602                           TCF      TASKOVER                              
005332,000093: 

Page 141

005334,000095: 
005335,000096:                                                                                                  #  BEGIN TASK INSERTION.
005336,000097: 
005337,000098: 01,2566                                           SETLOC   ENDEXECS                              
005338,000099: 
005339,000100: 01,2566           54066        WAIT2              TS       WAITBANK                              #  BBANK OF CALLING PROGRAM.
005340,000101: 01,2567           40026                           CS       TIME3                                 
005341,000102: 01,2570           62571                           AD       +1                                    #  CCS  A  = + 1/4
005342,000103: 01,2571           10000                           CCS      A                                     #  TEST  1/4 - C(TIME3).  IF POSITIVE,
005343,000104:                                                                                                  #  IT MEANS THAT TIME3 OVERFLOW HAS OCCURRED PRIOR TO CS  TIME3 AND THAT
005344,000105:                                                                                                  #  C(TIME3) = T - T1, INSTEAD OF 1.0 - (T1 - T).  THE FOLLOWING FOUR
005345,000106:                                                                                                  #  ORDERS SET C(A) = TD - T1 + 1 IN EITHER CASE.
005346,000107: 
005347,000108: 01,2572           66042                           AD       OCT40001                              #  OVERFLOW HAS OCCURRED.  SET C(A) =
005348,000109: 01,2573           40000                           CS       A                                     #  T - T1 + 3/4 - 1
005349,000110: 
005350,000111:                                                                                                  #  NORMAL CASE (C(A) MINUS) YIELDS SAME C(A)  -(-(1.0-(T1 - T))+1/4)-1
005351,000112: 
005352,000113: 01,2574           62722                           AD       OCT50001                              
005353,000114: 01,2575           60002                           AD       Q                                     #  RESULT = TD - T1 + 1.
005354,000115: 
005355,000116: 01,2576           10000                           CCS      A                                     #  TEST TD - T1 + 1
005356,000117: 
005357,000118: 01,2577           61400                           AD       LST1                                  #  IF TD - T1 POS, GO TO WTLST5 WITH
005358,000119: 01,2600           12642                           TCF      WTLST5                                #  C(A) = (TD - T1) + C(LST1) = TD-T2+1
005359,000120: 
005360,000121: 01,2601           12602                           NOOP                                           
005361,000122: 01,2602           40002                           CS       Q                                     
005362,000123: 
005363,000124:                                                                                                  #  NOTE THAT THIS PROGRAM SECTION IS NEVER ENTERED WHEN T-T1 G/E -1,
005364,000125:                                                                                                  #  SINCE TD-T1+1 = (TD-T) + (T-T1+1), AND DELTA T = TD-T G/E +1 .  (G/E
005365,000126:                                                                                                  #  SYMBOL MEANS GREATER THAN OR EQUAL TO).  THUS THERE NEED BE NO CON-
005366,000127:                                                                                                  #  CERN OVER A PREVIOUS OR IMMINENT OVERFLOW OF TIME3 HERE.
005367,000128: 
005368,000129: 01,2603           67642                           AD       POS1/2                                #  WHEN TD IS NEXT, FORM QUANTITY
005369,000130: 01,2604           67642                           AD       POS1/2                                #    1.0 - DELTA T = 1.0 - (TD - T)
005370,000131: 01,2605           56026                           XCH      TIME3                                 
005371,000132: 01,2606           67641                           AD       NEGMAX                                
005372,000133: 01,2607           60002                           AD       Q                                     #  1.0 - DELTAT T NOW COMPLETE.
005373,000134: 01,2610           00006                           EXTEND                                         #  ZERO INDEX Q.
005374,000135: 01,2611           22007                           QXCH     7                                     #  (ZQ)
005375,000136: 

Page 142

005377,000138: 
005378,000139: 01,2612           57400        WTLST4             XCH      LST1                                  
005379,000140: 01,2613           57401                           XCH      LST1       +1                         
005380,000141: 01,2614           57402                           XCH      LST1       +2                         
005381,000142: 01,2615           57403                           XCH      LST1       +3                         
005382,000143: 01,2616           57404                           XCH      LST1       +4                         
005383,000144: 01,2617           57405                           XCH      LST1       +5                         
005384,000145: 01,2620           57406                           XCH      LST1       +6                         
005385,000146: 01,2621           57407                           XCH      LST1       +7                         
005386,000147: 
005387,000148: 01,2622           30070                           CA       WAITADR                               #  (MINOR PART OF TASK CADR HAS BEEN IN L.)
005388,000149: 01,2623           50002                           INDEX    Q                                     
005389,000150: 01,2624           12625                           TCF      +1                                    
005390,000151: 
005391,000152: 01,2625           53411                           DXCH     LST2                                  
005392,000153: 01,2626           53413                           DXCH     LST2       +2                         
005393,000154: 01,2627           53415                           DXCH     LST2       +4                         
005394,000155: 01,2630           53417                           DXCH     LST2       +6                         
005395,000156: 01,2631           53421                           DXCH     LST2       +8D                        
005396,000157: 01,2632           53423                           DXCH     LST2       +10D                       #  AT END, CHECK THAT C(LST2 +10) IS STD
005397,000158: 01,2633           53425                           DXCH     LST2       +12D                       
005398,000159: 01,2634           53427                           DXCH     LST2       +14D                       
005399,000160: 01,2635           53431                           DXCH     LST2       +16D                       
005400,000161: 01,2636           64567                           AD       ENDTASK                               #    END ITEM, AS CHECK FOR EXCEEDING
005401,000162:                                                                                                  #    THE LENGTH OF THE LIST.
005402,000163: 01,2637           00006                           EXTEND                                         #  DUMMY TASK ADRES SHOULD BE IN FIXED-
005403,000164: 01,2640           14547                           BZF      LVWTLIST                              #  FIXED SO ITS ADRES ALONE DISTINGUISHES
005404,000165: 01,2641           12715                           TCF      WTABORT                               #  IT.
005405,000166: 

Page 143

005407,000168: 
005408,000169: 01,2642           10000        WTLST5             CCS      A                                     #  TEST TD - T2 + 1
005409,000170: 01,2643           61401                           AD       LST1       +1                         
005410,000171: 01,2644           12650                           TCF      +4                                    
005411,000172: 01,2645           67657                           AD       ONE                                   
005412,000173: 01,2646           02723                           TC       WTLST2                                
005413,000174: 01,2647           00001                           OCT      1                                     
005414,000175: 
005415,000176: 01,2650           10000                 +4        CCS      A                                     #  TEST TD - T3 + 1
005416,000177: 01,2651           61402                           AD       LST1       +2                         
005417,000178: 01,2652           12656                           TCF      +4                                    
005418,000179: 01,2653           67657                           AD       ONE                                   
005419,000180: 01,2654           02723                           TC       WTLST2                                
005420,000181: 01,2655           00002                           OCT      2                                     
005421,000182: 
005422,000183: 01,2656           10000                 +4        CCS      A                                     #  TEST TD - T4 + 1
005423,000184: 01,2657           61403                           AD       LST1       +3                         
005424,000185: 01,2660           12664                           TCF      +4                                    
005425,000186: 01,2661           67657                           AD       ONE                                   
005426,000187: 01,2662           02723                           TC       WTLST2                                
005427,000188: 01,2663           00003                           OCT      3                                     
005428,000189: 
005429,000190: 01,2664           10000                 +4        CCS      A                                     #  TEST TD - T5 + 1
005430,000191: 01,2665           61404                           AD       LST1       +4                         
005431,000192: 01,2666           12672                           TCF      +4                                    
005432,000193: 01,2667           67657                           AD       ONE                                   
005433,000194: 01,2670           02723                           TC       WTLST2                                
005434,000195: 01,2671           00004                           OCT      4                                     
005435,000196: 
005436,000197: 01,2672           10000                 +4        CCS      A                                     #  TEST TD - T6 + 1
005437,000198: 01,2673           61405                           AD       LST1       +5                         
005438,000199: 01,2674           12700                           TCF      +4                                    
005439,000200: 01,2675           67657                           AD       ONE                                   
005440,000201: 01,2676           02723                           TC       WTLST2                                
005441,000202: 01,2677           00005                           OCT      5                                     
005442,000203: 
005443,000204: 01,2700           10000                 +4        CCS      A                                     #  TEST TD - T7 + 1
005444,000205: 01,2701           61406                           AD       LST1       +6                         
005445,000206: 01,2702           12706                           TCF      +4                                    
005446,000207: 01,2703           67657                           AD       ONE                                   
005447,000208: 01,2704           02723                           TC       WTLST2                                
005448,000209: 01,2705           00006                           OCT      6                                     
005449,000210: 

Page 144

005451,000212: 
005452,000213: 01,2706           10000                 +4        CCS      A                                     
005453,000214: 01,2707           61407                           AD       LST1       +7                         
005454,000215: 01,2710           12714                           TCF      +4                                    
005455,000216: 01,2711           67657                           AD       ONE                                   
005456,000217: 01,2712           02723                           TC       WTLST2                                
005457,000218: 01,2713           00007                           OCT      7                                     
005458,000219: 
005459,000220: 01,2714           10000                 +4        CCS      A                                     
005460,000221: 01,2715           05446        WTABORT            TC       ABORT                                 #  NO ROOM IN THE INN.
005461,000222: 01,2716           01203                           OCT      1203                                  
005462,000223: 
005463,000224: 01,2717           67657                           AD       ONE                                   
005464,000225: 01,2720           02723                           TC       WTLST2                                
005465,000226: 01,2721           00010                           OCT      10                                    
005466,000227: 
005467,000228: 01,2722           50001        OCT50001           OCT      50001                                 
005468,000229: 

Page 145

005470,000231: 
005471,000232:                                                                                                  #  THE ENTRY TO WTLST2 JUST PRECEDING OCT  N  IS FOR T  LE TD LE T   -1.
005472,000233:                                                                                                  #                                                     N           N+1
005473,000234: 
005474,000235:                                                                                                  #  (LE MEANS LESS THAN OR EQUAL TO).  AT ENTRY, C(A) = -(TD - T   + 1)
005475,000236:                                                                                                  #                                                              N+1
005476,000237: 
005477,000238:                                                                                                  #  THE LST1 ENTRY -(T   - T +1) IS TO BE REPLACED BY -(TD - T  + 1), AND
005478,000239:                                                                                                  #                    N+1   N                                 N
005479,000240: 
005480,000241:                                                                                                  #  THE ENTRY -(T   - TD + 1) IS TO BE INSERTED IMMEDIATELY FOLLOWING.
005481,000242:                                                                                                  #               N+1
005482,000243: 
005483,000244: 01,2723           54071        WTLST2             TS       WAITTEMP                              #      C(A) = -(TD - T   + 1)
005484,000245: 01,2724           50002                           INDEX    Q                                     
005485,000246: 01,2725           30000                           CAF      0                                     
005486,000247: 01,2726           54002                           TS       Q                                     #  INDEX VALUE INTO Q.
005487,000248: 
005488,000249: 01,2727           37657                           CAF      ONE                                   
005489,000250: 01,2730           60071                           AD       WAITTEMP                              
005490,000251: 01,2731           50002                           INDEX    Q                                     #  C(A) = -(TD - T ) + 1.
005491,000252: 01,2732           27377                           ADS      LST1       -1                         #                 N
005492,000253: 
005493,000254: 01,2733           40071                           CS       WAITTEMP                              
005494,000255: 01,2734           50002                           INDEX    Q                                     
005495,000256: 01,2735           12612                           TCF      WTLST4                                
005496,000257: 
005497,000258:                                                                                                  #  C(TIME3)  = 1.0 - (T1 - T)
005498,000259: 
005499,000260:                                                                                                  #  C(LST1  ) = - (T2 - T1) + 1
005500,000261:                                                                                                  #  C(LST1+1) = - (T3 - T2) + 1
005501,000262:                                                                                                  #  C(LST1+2) = - (T4 - T3) + 1
005502,000263:                                                                                                  #  C(LST1+3) = - (T5 - T4) + 1
005503,000264:                                                                                                  #  C(LST1+4) = - (T6 - T5) + 1
005504,000265: 
005505,000266:                                                                                                  #  C(LST2   ) = 2CADR  TASK1
005506,000267:                                                                                                  #  C(LST2+2 ) = 2CADR  TASK2
005507,000268:                                                                                                  #  C(LST2+4 ) = 2CADR  TASK3
005508,000269:                                                                                                  #  C(LST2+6 ) = 2CADR  TASK4
005509,000270:                                                                                                  #  C(LST2+8 ) = 2CADR  TASK5
005510,000271:                                                                                                  #  C(LST2+10) = 2CADR  TASK6
005511,000272: 

Page 146

005513,000274: 
005514,000275:                                                                                                  #  ENTERS HERE ON T3 RUPT TO DISPATCH WAITLISTED TASK.
005515,000276: 
005516,000277: 01,2736           54016        T3RUPT             TS       BANKRUPT                              
005517,000278: 01,2737           00006                           EXTEND                                         
005518,000279: 01,2740           22012                           QXCH     QRUPT                                 
005519,000280: 
005520,000281: 01,2741           37640        T3RUPT2            CAF      NEG1/2                                #  DISPATCH WAITLIST TASK.
005521,000282: 01,2742           57407                           XCH      LST1       +7                         
005522,000283: 01,2743           57406                           XCH      LST1       +6                         
005523,000284: 01,2744           57405                           XCH      LST1       +5                         
005524,000285: 01,2745           57404                           XCH      LST1       +4                         #  1.  MOVE UP LST1 CONTENTS, ENTERING
005525,000286: 01,2746           57403                           XCH      LST1       +3                         #      A VALUE OF 1/2 +1 AT THE BOTTOM
005526,000287: 01,2747           57402                           XCH      LST1       +2                         #      FOR T6-T5, CORRESPONDING TO THE
005527,000288: 01,2750           57401                           XCH      LST1       +1                         #      INTERVAL 81.91 SEC FOR ENDTASK.
005528,000289: 01,2751           57400                           XCH      LST1                                  
005529,000290: 01,2752           67637                           AD       POSMAX                                #  2. SET T3 = 1.0 - T2 -T USING LIST 1.
005530,000291: 01,2753           26026                           ADS      TIME3                                 #  SO T3 WONT TICK DURING UPDATE.
005531,000292: 01,2754           55070                           TS       RUPTAGN                               
005532,000293: 01,2755           47665                           CS       ZERO                                  
005533,000294: 01,2756           55070                           TS       RUPTAGN                               #  SETS RUPTAGN TO +1 ON OVERFLOW.
005534,000295: 
005535,000296: 01,2757           00006                           EXTEND                                         #  DISPATCH TASK.
005536,000297: 01,2760           44570                           DCS      ENDTASK                               
005537,000298: 01,2761           53431                           DXCH     LST2       +16D                       
005538,000299: 01,2762           53427                           DXCH     LST2       +14D                       
005539,000300: 01,2763           53425                           DXCH     LST2       +12D                       
005540,000301: 01,2764           53423                           DXCH     LST2       +10D                       
005541,000302: 01,2765           53421                           DXCH     LST2       +8D                        
005542,000303: 01,2766           53417                           DXCH     LST2       +6                         
005543,000304: 01,2767           53415                           DXCH     LST2       +4                         
005544,000305: 01,2770           53413                           DXCH     LST2       +2                         
005545,000306: 01,2771           53411                           DXCH     LST2                                  
005546,000307: 
005547,000308: 01,2772           52006                           DTCB                                           
005548,000309: 
005549,000310: 01,2773                        ENDWAITS           EQUALS                                         
005550,000311: 

Page 147

005552,000313: 
005553,000314:                                                                                                  #  RETURN, AFTER EXECUTION OF T3 OVERFLOW TASK:
005554,000315: 
005555,000316:    4602                                           BLOCK    02                                    
005556,000317: 
005557,000318:    4602           11070        TASKOVER           CCS      RUPTAGN                               #  IF +1 RETURN TO T3RUPT, IF -0 RESUME.
005558,000319:    4603           34553                           CAF      WAITBB                                
005559,000320:    4604           54006                           TS       BBANK                                 
005560,000321:    4605           12741                           TCF      T3RUPT2                               #  DISPATCH NEXT TASK IF IT WAS DUE.
005561,000322: 
005562,000323:    4606           00006        RESUME             EXTEND                                         
005563,000324:    4607           22012                           QXCH     QRUPT                                 
005564,000325:    4610           30016        NOQRSM             CA       BANKRUPT                              
005565,000326:    4611           54006                           TS       BBANK                                 
005566,000327:    4612           52011        NOQBRSM            DXCH     ARUPT                                 
005567,000328:    4613           50017                           RESUME                                         
005568,000329: 
005569,000330:    4614                        ENDWAITF           EQUALS                                         #  LAST FIXED-FIXED LOCATION OF T3RUPT.

End of include-file WAITLIST.agc.  Parent file is MAIN.agc