Source Code

   YAYUL: ASSEMBLE REVISION 6 OF PROGRAM BOREALIS       BY MSTEWART JUN. 28,2017
This is a modern AGC system self-test program, though based on the Apollo-era AURORA 12 program, and was not written by the original AGC developers, but rather by Mike Stewart. All of the original AURORA 12 DAP code added by the DAP Group has been removed, and extensive new system test code has been added in its place. This allows more in-depth testing of CPU behavior, both in AGC software simulations and hardware simulations.

001107,000002:                                                                                                  ## Copyright:   Public domain.
001108,000003:                                                                                                  ## Filename:    INTERRUPT_LEAD_INS.agc
001109,000004:                                                                                                  ## Purpose:     This program is designed to extensively test the Apollo Guidance Computer
001110,000005:                                                                                                  ##              (specifically the LM instantiation of it). It is built on top of a heavily
001111,000006:                                                                                                  ##              stripped-down Aurora 12, with all code ostensibly added by the DAP Group
001112,000007:                                                                                                  ##              removed. Instead Borealis expands upon the tests provided by Aurora,
001113,000008:                                                                                                  ##              including corrected tests from Retread 44 and tests from Ron Burkey's
001114,000009:                                                                                                  ##              Validation.
001115,000010:                                                                                                  ## Assembler:   yaYUL
001116,000011:                                                                                                  ## Contact:     Mike Stewart <mastewar1@gmail.com>.
001117,000012:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
001118,000013:                                                                                                  ## Mod history: 2016-12-20 MAS  Created from Aurora 12 (with much DAP stuff removed).
001119,000014:                                                                                                  ##              2017-01-15 MAS  Added TIME5 and TIME6 interrupts, and tweaked TIME4's
001120,000015:                                                                                                  ##                              leadin a bit.
001121,000016: 
001122,000017:    4000                                           SETLOC   4000                                  
001123,000018: 
001124,000019:    4000           00004                           INHINT                                         #  GO
001125,000020:    4001           34054                           CAF      GOBB                                  
001126,000021:    4002           56006                           XCH      BBANK                                 
001127,000022:    4003           12067                           TCF      GOPROG                                
001128,000023: 
001129,000024:    4004           52011                           DXCH     ARUPT                                 #  T6RUPT
001130,000025:    4005           34056                           CAF      T6RPTBB                               
001131,000026:    4006           56006                           XCH      BBANK                                 
001132,000027:    4007           17764                           TCF      T6RUPT                                
001133,000028: 
001134,000029:    4010           52011                           DXCH     ARUPT                                 #  T5RUPT
001135,000030:    4011           34055                           CAF      T5RPTBB                               
001136,000031:    4012           56006                           XCH      BBANK                                 
001137,000032:    4013           17760                           TCF      T5RUPT                                
001138,000033: 
001139,000034:    4014           52011                           DXCH     ARUPT                                 #  T3RUPT
001140,000035:    4015           34057                           CAF      T3RPTBB                               
001141,000036:    4016           56006                           XCH      BBANK                                 
001142,000037:    4017           12751                           TCF      T3RUPT                                
001143,000038: 
001144,000039:    4020           52011                           DXCH     ARUPT                                 #  T4RUPT
001145,000040:    4021           37667                           CAF      FOUR                                  
001146,000041:    4022           14674                           TCF      T4RUPT                                
001147,000042:    4023           24007        T4RPTBB            BBCON    T4RUPTA                               
001148,000043: 
001149,000044:    4024           52011                           DXCH     ARUPT                                 #  KEYRUPT1
001150,000045:    4025           34060                           CAF      KEYRPTBB                              
001151,000046:    4026           56006                           XCH      BBANK                                 
001152,000047:    4027           12362                           TCF      KEYRUPT1                              
001153,000048: 
001154,000049:    4030           52011                           DXCH     ARUPT                                 #  KEYRUPT2
001155,000050:    4031           34061                           CAF      MKRUPTBB                              
001156,000051:    4032           56006                           XCH      BBANK                                 
001157,000052:    4033           13161                           TCF      MARKRUPT                              
001158,000053: 
001159,000054:    4034           52011                           DXCH     ARUPT                                 #  UPRUPT
001160,000055:    4035           34060                           CAF      UPRPTBB                               
001161,000056:    4036           56006                           XCH      BBANK                                 
001162,000057:    4037           12402                           TCF      UPRUPT                                
001163,000058: 
001164,000059:    4040           52011                           DXCH     ARUPT                                 #  DOWNRUPT
001165,000060:    4041           34062                           CAF      DWNRPTBB                              
001166,000061:    4042           56006                           XCH      BBANK                                 
001167,000062:    4043           12047                           TCF      DODOWNTM                              
001168,000063: 
001169,000064:    4044           52011                           DXCH     ARUPT                                 #  RADAR RUPT
001170,000065:    4045           34063                           CAF      RDRPTBB                               
001171,000066:    4046           56006                           XCH      BBANK                                 
001172,000067:    4047           12707                           TCF      RADAREAD                              
001173,000068: 
001174,000069:                                                                                                  #  TRAPS 31B AND 32 SHOULD NEVER BE SET. THEREFORE-
001175,000070:                                                                                                  #  RUPT 10 WILL ALWAYS REFER TO THE HAND CONTROLLER LPD OR MINIMUM IMPULSE
001176,000071:                                                                                                  #  USE. SEE GEORGE CHERRY FOR RATIONALE REGARDING THE AFORESAID.
001177,000072: 
001178,000073:    4050           52011                           DXCH     ARUPT                                 #  RUPT10
001179,000074:    4051           34064                           CAF      RPT10BB                               
001180,000075:    4052           56006                           XCH      BBANK                                 
001181,000076:    4053           14572                           TCF      RESUME     +3                         #  ***FIX LATER***
001182,000077: 
001183,000078:    4054  E3,1400                                  EBANK=   LST1                                  #  RESTART USES E0, E3
001184,000079:    4054           24003        GOBB               BBCON    GOPROG                                
001185,000080: 
001186,000081:    4055     0025                                  EBANK=   TIME1                                 
001187,000082:    4055           06000        T5RPTBB            BBCON    T5RUPT                                
001188,000083: 
001189,000084:    4056     0025                                  EBANK=   TIME1                                 
001190,000085:    4056           06000        T6RPTBB            BBCON    T6RUPT                                
001191,000086: 
001192,000087:    4057  E3,1400                                  EBANK=   LST1                                  
001193,000088:    4057           02003        T3RPTBB            BBCON    T3RUPT                                
001194,000089: 
001195,000090:    4060     0077                                  EBANK=   KEYTEMP1                              
001196,000091:    4060           16000        KEYRPTBB           BBCON    KEYRUPT1                              
001197,000092: 
001198,000093:    4061  E3,1463                                  EBANK=   AOTAZ                                 
001199,000094:    4061           26003        MKRUPTBB           BBCON    MARKRUPT                              
001200,000095: 
001201,000096:    4062     4060               UPRPTBB            =        KEYRPTBB                              
001202,000097: 
001203,000098:    4062  E7,1403                                  EBANK=   DNTMBUFF                              
001204,000099:    4062           32007        DWNRPTBB           BBCON    DODOWNTM                              
001205,000100: 
001206,000101:    4063     0413                                  EBANK=   RADMODES                              
001207,000102:    4063           20001        RDRPTBB            BBCON    RADAREAD                              
001208,000103: 
001209,000104:    4064  E3,1400                                  EBANK=   LST1                                  
001210,000105:    4064           04003        RPT10BB            BBCON    RESUME                                
001211,000106: 
001212,000107:    4065                        ENDINTFF           EQUALS                                         

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