Source Code
![]() |
YAYUL: ASSEMBLE REVISION 6 OF PROGRAM BOREALIS BY MSTEWART JUN. 28,2017This 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