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.

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

Page 139

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

Page 140

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

Page 141

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

Page 142

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

Page 143

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

Page 144

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

Page 145

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

Page 146

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

Page 147

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

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