Source Code

   YAYUL: ASSEMBLE REVISION 5 OF PROGRAM BOREALIS       BY MSTEWART MAR. 27,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.

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

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