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.

001298,000002:                                                                                                  ## Copyright:    Public domain.
001299,000003:                                                                                                  ## Filename:     INTER-BANK_COMMUNICATION.agc
001300,000004:                                                                                                  ## Purpose:      Part of the source code for Aurora (revision 12).
001301,000005:                                                                                                  ## Assembler:    yaYUL
001302,000006:                                                                                                  ## Contact:      Ron Burkey <info@sandroid.org>.
001303,000007:                                                                                                  ## Website:      https://www.ibiblio.org/apollo.
001304,000008:                                                                                                  ## Pages:        29-33
001305,000009:                                                                                                  ## Mod history:  2016-09-20 JL   Created.
001306,000010:                                                                                                  ##               2016-09-21 MAS  Filled out.
001307,000011:                                                                                                  ##               2016-10-15 HG   Fix label ISWCALLL -> ISWCALL
001308,000012:                                                                                                  ##               2016-12-07 RSB  Proofed the comments, mostly with 
001309,000013:                                                                                                  ##                               octopus/ProoferComments, but some pages
001310,000014:                                                                                                  ##                               needed to be done manually.  Only some
001311,000015:                                                                                                  ##                               column alignments were changed.
001312,000016: 
001313,000017:                                                                                                  ## This source code has been transcribed or otherwise adapted from
001314,000018:                                                                                                  ## digitized images of a hardcopy from the private collection of 
001315,000019:                                                                                                  ## Don Eyles.  The digitization was performed by archive.org.
001316,000020: 
001317,000021:                                                                                                  ## Notations on the hardcopy document read, in part:
001318,000022: 
001319,000023:                                                                                                  ##       473423A YUL SYSTEM FOR BLK2: REVISION 12 of PROGRAM AURORA BY DAP GROUP
001320,000024:                                                                                                  ##       NOV 10, 1966
001321,000025: 
001322,000026:                                                                                                  ##       [Note that this is the date the hardcopy was made, not the
001323,000027:                                                                                                  ##       date of the program revision or the assembly.]
001324,000028: 
001325,000029:                                                                                                  ## The scan images (with suitable reduction in storage size and consequent 
001326,000030:                                                                                                  ## reduction in image quality) are available online at 
001327,000031:                                                                                                  ##       https://www.ibiblio.org/apollo.  
001328,000032:                                                                                                  ## The original high-quality digital images are available at archive.org:
001329,000033:                                                                                                  ##       https://archive.org/details/aurora00dapg
001330,000034: 

Page 29

001332,000036:                                                                                                  #           THE FOLLOWING ROUTINE CAN BE USED TO CALL A SUBROUTINE IN ANOTHER BANK. IN THE BANKCALL VERSION, THE
001333,000037:                                                                                                  #  CADR OF THE SUBROUTINE IMMEDIATELY FOLLOWS THE  TC BANKCALL  INSTRUCTION, WITH C(A) AND C(L) PRESERVED.
001334,000038: 
001335,000039:    4063                                           SETLOC   ENDINTFF                              
001336,000040:    4063           52120        BANKCALL           DXCH     BUF2                                  #  SAVE INCOMING A,L.
001337,000041:    4064           50002                           INDEX    Q                                     #  PICK UP CADR.
001338,000042:    4065           30000                           CA       0                                     
001339,000043:    4066           24002                           INCR     Q                                     #  SO WE RETURN TO THE LOC. AFTER THE CADR.
001340,000044: 
001341,000045:                                                                                                  #           SWCALL IS IDENTICAL TO BANKCALL, EXCEPT THAT THE CADR ARRIVES IN A.
001342,000046: 
001343,000047:    4067           54001        SWCALL             TS       L                                     
001344,000048:    4070           22004                           LXCH     FBANK                                 #  SWITCH BANKS, SAVING RETURN.
001345,000049:    4071           76426                           MASK     LOW10                                 #  GET SUB-ADDRESS OF CADR.
001346,000050:    4072           56002                           XCH      Q                                     #  A,L NOW CONTAINS DP RETURN.
001347,000051:    4073           52120                           DXCH     BUF2                                  #  RESTORING INPUTS IF THIS IS A BANKCALL.
001348,000052:    4074           50002                           INDEX    Q                                     
001349,000053:    4075           02000                           TC       10000                                 #  SETTING Q TO SWRETURN.
001350,000054: 
001351,000055:    4076           56120        SWRETURN           XCH      BUF2       +1                         #  COMES HERE TO RETURN TO CALLER. C(A,L)
001352,000056:    4077           56004                           XCH      FBANK                                 #  ARE PRESERVED FOR RETURN.
001353,000057:    4100           56120                           XCH      BUF2       +1                         
001354,000058:    4101           00117                           TC       BUF2                                  
001355,000059: 
001356,000060:                                                                                                  #           THE FOLLOWING ROUTINE CAN BE USED AS A UNILATERAL JUMP WITH C(A,L) PRESERVED AND THE CADR IMMEDIATELY
001357,000061:                                                                                                  #  FOLLOWING THE TC POSTJUMP INSTRUCTION.
001358,000062: 
001359,000063:    4102           56002        POSTJUMP           XCH      Q                                     #  SAVE INCOMING C(A).
001360,000064:    4103           50000                           INDEX    A                                     #  GET CADR.
001361,000065:    4104           30000                           CA       0                                     
001362,000066: 
001363,000067:                                                                                                  #           BANKJUMP IS THE SAME AS POSTJUMP, EXCEPT THAT THE CADR ARRIVES IN A.
001364,000068: 
001365,000069:    4105           54004        BANKJUMP           TS       FBANK                                 
001366,000070:    4106           76426                           MASK     LOW10                                 
001367,000071:    4107           56002                           XCH      Q                                     #  RESTORING INPUT C(A) IF THIS WAS A
001368,000072:    4110           50002                           INDEX    Q                                     #  POSTJUMP.
001369,000073:    4111           12000                           TCF      10000                                 
001370,000074: 

Page 30

001372,000076:                                                                                                  #  THE FOLLOWING ROUTINE GETS THE RETURN CADR SAVED BY SWCALL OR BANKCALL AND LEAVES IT IN A.
001373,000077: 
001374,000078:    4112           36426        MAKECADR           CAF      LOW10                                 
001375,000079:    4113           70117                           MASK     BUF2                                  
001376,000080:    4114           60120                           AD       BUF2       +1                         
001377,000081:    4115           00002                           TC       Q                                     
001378,000082: 
001379,000083:                                                                                                  #  THE FOLLOWING ROUTINE OBTAINS THE TWO WORDS BEGINNING AT THE ADDRESS ARRIVING IN A, AND LEAVES THEM IN
001380,000084:                                                                                                  #  A,L.
001381,000085: 
001382,000086:    4116           54001        DATACALL           TS       L                                     
001383,000087:    4117           22004                           LXCH     FBANK                                 
001384,000088:    4120           22121                           LXCH     MPTEMP                                #  SAVE FORMER BANK.
001385,000089:    4121           76426                           MASK     LOW10                                 
001386,000090:    4122           00006                           EXTEND                                         
001387,000091:    4123           50000                           INDEX    A                                     
001388,000092:    4124           32001                           DCA      10000                                 
001389,000093: 
001390,000094:    4125           56121                           XCH      MPTEMP                                
001391,000095:    4126           54004                           TS       FBANK                                 #  RESTORE FBANK.
001392,000096:    4127           30121                           CA       MPTEMP                                
001393,000097:    4130           00002                           TC       Q                                     
001394,000098: 

Page 31

001396,000100:                                                                                                  #  THE FOLLOWING SUBROUTINES PROVIDE TO THE BASIC PROGRAMMER ENTRY INTO AND RETURN FROM ANY INTERPRETIVE
001397,000101:                                                                                                  #  CODING WHICH DOES NOT USE THE ENTERING CONTENTS OF Q AND WHICH RETURNS VIA DANZIG. C(A) AND C(L) ARE SAVED.
001398,000102: 
001399,000103:                                                                                                  #  USER'S RESPONSIBILITY TO FILL IN ADVANCE THE APPROPRIATE OPERAND AND ADDRESS REGISTERS USED BY THE
001400,000104:                                                                                                  #  INTERPRETIVE CODING SUCH AS MPAC, BUF, ADDRWD, ETC.; AND TO CONFIRM THAT THE INTERPRETIVE CODING MEETS THE
001401,000105:                                                                                                  #  ABOVE RESTRICTIONS WITH RESPECT TO Q AND DANZIG.
001402,000106: 
001403,000107:                                                                                                  #  USEPRET AND USPRCADR MUST NOT BE USED IN INTERRUPT.
001404,000108: 
001405,000109:                                                                                                  #  1. USEPRET ACCESSES INTERPRETIVE CODING WHICH CAN BE ENTERED WITHOUT CHANGING FBANK.
001406,000110:                                                                                                  #     THE CALLING SEQUENCE IS AS FOLLOWS:
001407,000111: 
001408,000112:                                                                                                  #  L             TC              USEPRET
001409,000113:                                                                                                  #  L+1           TC,TCF          INTPRETX                        TC,TCF MEANS TC OR TCF
001410,000114:                                                                                                  #                                                                INTPRETX IS THE INTERPRETIVE CODING
001411,000115:                                                                                                  #                                                                RETURN IS TO L+2
001412,000116: 
001413,000117:                                                                                                  #  2. USPRCADR ACCESSES INTERPRETIVE CODING IN OTHER THAN THE USER'S FBANK. THE CALLING SEQUENCE IS AS FOLLOWS:
001414,000118: 
001415,000119:                                                                                                  #  L             TC              USPRCADR
001416,000120:                                                                                                  #  L+1           CADR            INTPRETX                        INTPRETX IS THE INTERPRETIVE CODING
001417,000121:                                                                                                  #                                                                RETURN IS TO L+2
001418,000122: 
001419,000123:    4131           56002        USEPRET            XCH      Q                                     #  FETCH Q, SAVING A
001420,000124:    4132           54150                           TS       LOC                                   #  L+1 TO LOC
001421,000125:    4133           30004                           CA       FBANK                                 
001422,000126:    4134           54151                           TS       BANKSET                               #  USERS BANK TO BANKSET
001423,000127:    4135           37650                           CA       BIT8                                  
001424,000128:    4136           54023                           TS       EDOP                                  #  EXIT INSTRUCTION TO EDOP
001425,000129:    4137           30002                           CA       Q                                     #  RETRIEVE ORIGINAL A
001426,000130:    4140           00150                           TC       LOC                                   
001427,000131: 
001428,000132:    4141           54150        USPRCADR           TS       LOC                                   #  SAVE A
001429,000133:    4142           37650                           CA       BIT8                                  
001430,000134:    4143           54023                           TS       EDOP                                  #  EXIT INSTRUCTION TO EDOP
001431,000135:    4144           30004                           CA       FBANK                                 
001432,000136:    4145           54151                           TS       BANKSET                               #  USERS BANK TO BANKSET
001433,000137:    4146           50002                           INDEX    Q                                     
001434,000138:    4147           30000                           CA       0                                     
001435,000139:    4150           54004                           TS       FBANK                                 #  INTERPRETIVE BANK TO FBANK
001436,000140:    4151           76426                           MASK     LOW10                                 #  YIELDS INTERPRETIVE RELATIVE ADDRESS
001437,000141:    4152           56002                           XCH      Q                                     #  INTERPRETIVE ADDRESS TO Q, FETCHING L+1
001438,000142:    4153           56150                           XCH      LOC                                   #  L+1 TO LOC, RETRIEVING ORIGINAL A
001439,000143:    4154           50002                           INDEX    Q                                     
001440,000144:    4155           12000                           TCF      10000                                 
001441,000145: 

Page 32

001443,000147:                                                                                                  #  THE FOLLOWING ROUTINES ARE IDENTICAL TO BANKCALL AND SWCALL EXCEPT THAT THEY ARE USED IN INTERRUPT.
001444,000148: 
001445,000149:    4156           52077        IBNKCALL           DXCH     RUPTREG3                              #  USES RUPTREG3,4 FOR DP RETURN ADDRESS.
001446,000150:    4157           50002                           INDEX    Q                                     
001447,000151:    4160           30000                           CAF      0                                     
001448,000152:    4161           24002                           INCR     Q                                     
001449,000153: 
001450,000154:    4162           54001        ISWCALL            TS       L                                     
001451,000155:    4163           22004                           LXCH     FBANK                                 
001452,000156:    4164           76426                           MASK     LOW10                                 
001453,000157:    4165           56002                           XCH      Q                                     
001454,000158:    4166           52077                           DXCH     RUPTREG3                              
001455,000159:    4167           50002                           INDEX    Q                                     
001456,000160:    4170           02000                           TC       10000                                 
001457,000161: 
001458,000162:    4171           56077        ISWRETRN           XCH      RUPTREG4                              
001459,000163:    4172           56004                           XCH      FBANK                                 
001460,000164:    4173           56077                           XCH      RUPTREG4                              
001461,000165:    4174           00076                           TC       RUPTREG3                              
001462,000166: 

Page 33

001464,000168:                                                                                                  #  T6-RUPT PROGRAMS.
001465,000169: 
001466,000170:                                                                                                  #  ENTER HERE AFTER A T6-RUPT.DETERMINE IF IT IS A GENUINE RUPT.
001467,000171: 
001468,000172:    4175           04177        DOT6RUPT           TC       T6JOBCHK                              
001469,000173:    4176           14606                           TCF      RESUME                                
001470,000174: 
001471,000175:                                                                                                  #  T6JOBCHK DETERMINES IF T6 = -0 ( A T6RUPT HAS OCCURRED ) OR IF T6
001472,000176:                                                                                                  #  EQUALS +0 ( T6 NOT COUNTING DOWN ) OR =SOME POS.OR NEG. NUMBER ( T6
001473,000177:                                                                                                  #  BEING DECREMENTED AND NO RUPT IS NEEDED ).
001474,000178: 
001475,000179:    4177           10031        T6JOBCHK           CCS      TIME6                                 
001476,000180:    4200           00002                           TC       Q                                     
001477,000181:    4201           00002                           TC       Q                                     
001478,000182:    4202           00002                           TC       Q                                     
001479,000183:                                                                                                  #  T6JOB EXECUTES A JET STATE CHANGE AND SETS UP ANY ADDITIONAL T6 RUPTS
001480,000184:                                                                                                  #  WHICH MIGHT BE NECESSARY.
001481,000185: 
001482,000186:    4203           37665        T6JOB              CA       ZERO                                  
001483,000187:    4204           56767                           XCH      T6NEXT     +1                         
001484,000188:    4205           56766                           XCH      T6NEXT                                
001485,000189:    4206           54031                           TS       TIME6                                 
001486,000190:    4207           00006                           EXTEND                                         
001487,000191:    4210           14230                           BZF      T6ZERO                                
001488,000192:    4211           37641                           CA       BIT15                                 
001489,000193:    4212           00006                           EXTEND                                         
001490,000194:    4213           05013                           WOR      13                                    
001491,000195:    4214           37665                           CA       ZERO                                  
001492,000196:    4215           56772                           XCH      T6NEXTJT   +2                         
001493,000197:    4216           56771                           XCH      T6NEXTJT   +1                         
001494,000198:    4217           56770                           XCH      T6NEXTJT                              
001495,000199:    4220           00006        WRITEJTS           EXTEND                                         
001496,000200:    4221           64225                           BZMF     WRITEQR                               
001497,000201:    4222           00006                           EXTEND                                         
001498,000202:    4223           01006                           WRITE    6                                     
001499,000203:    4224           00002                           TC       Q                                     
001500,000204:    4225           00006        WRITEQR            EXTEND                                         
001501,000205:    4226           01005                           WRITE    5                                     
001502,000206:    4227           00002                           TC       Q                                     
001503,000207:    4230           30770        T6ZERO             CA       T6NEXTJT                              
001504,000208:    4231           14220                           TCF      WRITEJTS                              
001505,000209:    4232                        ENDIBNKF           EQUALS                                         

End of include-file INTER-BANK_COMMUNICATION.agc.  Parent file is MAIN.agc