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.

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

Page 29

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

Page 30

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

Page 31

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

Page 32

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

Page 33

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

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